{
  "type": "File",
  "start":0,"end":1127,"loc":{"start":{"line":1,"column":0},"end":{"line":39,"column":34}},
  "program": {
    "type": "Program",
    "start":0,"end":1127,"loc":{"start":{"line":1,"column":0},"end":{"line":39,"column":34}},
    "sourceType": "module",
    "interpreter": null,
    "body": [
      {
        "type": "VariableDeclaration",
        "start":143,"end":167,"loc":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":147,"end":166,"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":23}},
            "id": {
              "type": "Identifier",
              "start":147,"end":149,"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":6},"identifierName":"v1"},
              "name": "v1"
            },
            "init": {
              "type": "TSAsExpression",
              "start":152,"end":166,"loc":{"start":{"line":3,"column":9},"end":{"line":3,"column":23}},
              "expression": {
                "type": "StringLiteral",
                "start":152,"end":157,"loc":{"start":{"line":3,"column":9},"end":{"line":3,"column":14}},
                "extra": {
                  "rawValue": "abc",
                  "raw": "'abc'"
                },
                "value": "abc"
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":161,"end":166,"loc":{"start":{"line":3,"column":18},"end":{"line":3,"column":23}},
                "typeName": {
                  "type": "Identifier",
                  "start":161,"end":166,"loc":{"start":{"line":3,"column":18},"end":{"line":3,"column":23},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let",
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Copied over from TypeScript's test case",
            "start":0,"end":42,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":42}}
          },
          {
            "type": "CommentLine",
            "value": " https://github.com/Microsoft/TypeScript/blob/master/tests/baselines/reference/constAssertions.js",
            "start":43,"end":142,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":99}}
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start":168,"end":192,"loc":{"start":{"line":4,"column":0},"end":{"line":4,"column":24}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":172,"end":191,"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":23}},
            "id": {
              "type": "Identifier",
              "start":172,"end":174,"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":6},"identifierName":"v2"},
              "name": "v2"
            },
            "init": {
              "type": "TSAsExpression",
              "start":177,"end":191,"loc":{"start":{"line":4,"column":9},"end":{"line":4,"column":23}},
              "expression": {
                "type": "TemplateLiteral",
                "start":177,"end":182,"loc":{"start":{"line":4,"column":9},"end":{"line":4,"column":14}},
                "expressions": [],
                "quasis": [
                  {
                    "type": "TemplateElement",
                    "start":178,"end":181,"loc":{"start":{"line":4,"column":10},"end":{"line":4,"column":13}},
                    "value": {
                      "raw": "abc",
                      "cooked": "abc"
                    },
                    "tail": true
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":186,"end":191,"loc":{"start":{"line":4,"column":18},"end":{"line":4,"column":23}},
                "typeName": {
                  "type": "Identifier",
                  "start":186,"end":191,"loc":{"start":{"line":4,"column":18},"end":{"line":4,"column":23},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":193,"end":214,"loc":{"start":{"line":5,"column":0},"end":{"line":5,"column":21}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":197,"end":213,"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":20}},
            "id": {
              "type": "Identifier",
              "start":197,"end":199,"loc":{"start":{"line":5,"column":4},"end":{"line":5,"column":6},"identifierName":"v3"},
              "name": "v3"
            },
            "init": {
              "type": "TSAsExpression",
              "start":202,"end":213,"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":20}},
              "expression": {
                "type": "NumericLiteral",
                "start":202,"end":204,"loc":{"start":{"line":5,"column":9},"end":{"line":5,"column":11}},
                "extra": {
                  "rawValue": 10,
                  "raw": "10"
                },
                "value": 10
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":208,"end":213,"loc":{"start":{"line":5,"column":15},"end":{"line":5,"column":20}},
                "typeName": {
                  "type": "Identifier",
                  "start":208,"end":213,"loc":{"start":{"line":5,"column":15},"end":{"line":5,"column":20},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":215,"end":237,"loc":{"start":{"line":6,"column":0},"end":{"line":6,"column":22}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":219,"end":236,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":21}},
            "id": {
              "type": "Identifier",
              "start":219,"end":221,"loc":{"start":{"line":6,"column":4},"end":{"line":6,"column":6},"identifierName":"v4"},
              "name": "v4"
            },
            "init": {
              "type": "TSAsExpression",
              "start":224,"end":236,"loc":{"start":{"line":6,"column":9},"end":{"line":6,"column":21}},
              "expression": {
                "type": "UnaryExpression",
                "start":224,"end":227,"loc":{"start":{"line":6,"column":9},"end":{"line":6,"column":12}},
                "operator": "-",
                "prefix": true,
                "argument": {
                  "type": "NumericLiteral",
                  "start":225,"end":227,"loc":{"start":{"line":6,"column":10},"end":{"line":6,"column":12}},
                  "extra": {
                    "rawValue": 10,
                    "raw": "10"
                  },
                  "value": 10
                }
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":231,"end":236,"loc":{"start":{"line":6,"column":16},"end":{"line":6,"column":21}},
                "typeName": {
                  "type": "Identifier",
                  "start":231,"end":236,"loc":{"start":{"line":6,"column":16},"end":{"line":6,"column":21},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":238,"end":260,"loc":{"start":{"line":7,"column":0},"end":{"line":7,"column":22}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":242,"end":259,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":21}},
            "id": {
              "type": "Identifier",
              "start":242,"end":244,"loc":{"start":{"line":7,"column":4},"end":{"line":7,"column":6},"identifierName":"v5"},
              "name": "v5"
            },
            "init": {
              "type": "TSAsExpression",
              "start":247,"end":259,"loc":{"start":{"line":7,"column":9},"end":{"line":7,"column":21}},
              "expression": {
                "type": "UnaryExpression",
                "start":247,"end":250,"loc":{"start":{"line":7,"column":9},"end":{"line":7,"column":12}},
                "operator": "+",
                "prefix": true,
                "argument": {
                  "type": "NumericLiteral",
                  "start":248,"end":250,"loc":{"start":{"line":7,"column":10},"end":{"line":7,"column":12}},
                  "extra": {
                    "rawValue": 10,
                    "raw": "10"
                  },
                  "value": 10
                }
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":254,"end":259,"loc":{"start":{"line":7,"column":16},"end":{"line":7,"column":21}},
                "typeName": {
                  "type": "Identifier",
                  "start":254,"end":259,"loc":{"start":{"line":7,"column":16},"end":{"line":7,"column":21},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":261,"end":282,"loc":{"start":{"line":8,"column":0},"end":{"line":8,"column":21}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":265,"end":281,"loc":{"start":{"line":8,"column":4},"end":{"line":8,"column":20}},
            "id": {
              "type": "Identifier",
              "start":265,"end":267,"loc":{"start":{"line":8,"column":4},"end":{"line":8,"column":6},"identifierName":"v6"},
              "name": "v6"
            },
            "init": {
              "type": "TSAsExpression",
              "start":270,"end":281,"loc":{"start":{"line":8,"column":9},"end":{"line":8,"column":20}},
              "expression": {
                "type": "NumericLiteral",
                "start":270,"end":272,"loc":{"start":{"line":8,"column":9},"end":{"line":8,"column":11}},
                "extra": {
                  "rawValue": 10,
                  "raw": "10"
                },
                "value": 10
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":276,"end":281,"loc":{"start":{"line":8,"column":15},"end":{"line":8,"column":20}},
                "typeName": {
                  "type": "Identifier",
                  "start":276,"end":281,"loc":{"start":{"line":8,"column":15},"end":{"line":8,"column":20},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":283,"end":305,"loc":{"start":{"line":9,"column":0},"end":{"line":9,"column":22}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":287,"end":304,"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":21}},
            "id": {
              "type": "Identifier",
              "start":287,"end":289,"loc":{"start":{"line":9,"column":4},"end":{"line":9,"column":6},"identifierName":"v7"},
              "name": "v7"
            },
            "init": {
              "type": "TSAsExpression",
              "start":292,"end":304,"loc":{"start":{"line":9,"column":9},"end":{"line":9,"column":21}},
              "expression": {
                "type": "UnaryExpression",
                "start":292,"end":295,"loc":{"start":{"line":9,"column":9},"end":{"line":9,"column":12}},
                "operator": "-",
                "prefix": true,
                "argument": {
                  "type": "NumericLiteral",
                  "start":293,"end":295,"loc":{"start":{"line":9,"column":10},"end":{"line":9,"column":12}},
                  "extra": {
                    "rawValue": 10,
                    "raw": "10"
                  },
                  "value": 10
                }
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":299,"end":304,"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":21}},
                "typeName": {
                  "type": "Identifier",
                  "start":299,"end":304,"loc":{"start":{"line":9,"column":16},"end":{"line":9,"column":21},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":306,"end":329,"loc":{"start":{"line":10,"column":0},"end":{"line":10,"column":23}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":310,"end":328,"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":22}},
            "id": {
              "type": "Identifier",
              "start":310,"end":312,"loc":{"start":{"line":10,"column":4},"end":{"line":10,"column":6},"identifierName":"v8"},
              "name": "v8"
            },
            "init": {
              "type": "TSAsExpression",
              "start":315,"end":328,"loc":{"start":{"line":10,"column":9},"end":{"line":10,"column":22}},
              "expression": {
                "type": "BooleanLiteral",
                "start":315,"end":319,"loc":{"start":{"line":10,"column":9},"end":{"line":10,"column":13}},
                "value": true
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":323,"end":328,"loc":{"start":{"line":10,"column":17},"end":{"line":10,"column":22}},
                "typeName": {
                  "type": "Identifier",
                  "start":323,"end":328,"loc":{"start":{"line":10,"column":17},"end":{"line":10,"column":22},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":330,"end":354,"loc":{"start":{"line":11,"column":0},"end":{"line":11,"column":24}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":334,"end":353,"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":23}},
            "id": {
              "type": "Identifier",
              "start":334,"end":336,"loc":{"start":{"line":11,"column":4},"end":{"line":11,"column":6},"identifierName":"v9"},
              "name": "v9"
            },
            "init": {
              "type": "TSAsExpression",
              "start":339,"end":353,"loc":{"start":{"line":11,"column":9},"end":{"line":11,"column":23}},
              "expression": {
                "type": "BooleanLiteral",
                "start":339,"end":344,"loc":{"start":{"line":11,"column":9},"end":{"line":11,"column":14}},
                "value": false
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":348,"end":353,"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":23}},
                "typeName": {
                  "type": "Identifier",
                  "start":348,"end":353,"loc":{"start":{"line":11,"column":18},"end":{"line":11,"column":23},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":356,"end":377,"loc":{"start":{"line":13,"column":0},"end":{"line":13,"column":21}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":360,"end":376,"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":20}},
            "id": {
              "type": "Identifier",
              "start":360,"end":362,"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":6},"identifierName":"a1"},
              "name": "a1"
            },
            "init": {
              "type": "TSAsExpression",
              "start":365,"end":376,"loc":{"start":{"line":13,"column":9},"end":{"line":13,"column":20}},
              "expression": {
                "type": "ArrayExpression",
                "start":365,"end":367,"loc":{"start":{"line":13,"column":9},"end":{"line":13,"column":11}},
                "elements": []
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":371,"end":376,"loc":{"start":{"line":13,"column":15},"end":{"line":13,"column":20}},
                "typeName": {
                  "type": "Identifier",
                  "start":371,"end":376,"loc":{"start":{"line":13,"column":15},"end":{"line":13,"column":20},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":378,"end":406,"loc":{"start":{"line":14,"column":0},"end":{"line":14,"column":28}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":382,"end":405,"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":27}},
            "id": {
              "type": "Identifier",
              "start":382,"end":384,"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":6},"identifierName":"a2"},
              "name": "a2"
            },
            "init": {
              "type": "TSAsExpression",
              "start":387,"end":405,"loc":{"start":{"line":14,"column":9},"end":{"line":14,"column":27}},
              "expression": {
                "type": "ArrayExpression",
                "start":387,"end":396,"loc":{"start":{"line":14,"column":9},"end":{"line":14,"column":18}},
                "elements": [
                  {
                    "type": "NumericLiteral",
                    "start":388,"end":389,"loc":{"start":{"line":14,"column":10},"end":{"line":14,"column":11}},
                    "extra": {
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "value": 1
                  },
                  {
                    "type": "NumericLiteral",
                    "start":391,"end":392,"loc":{"start":{"line":14,"column":13},"end":{"line":14,"column":14}},
                    "extra": {
                      "rawValue": 2,
                      "raw": "2"
                    },
                    "value": 2
                  },
                  {
                    "type": "NumericLiteral",
                    "start":394,"end":395,"loc":{"start":{"line":14,"column":16},"end":{"line":14,"column":17}},
                    "extra": {
                      "rawValue": 3,
                      "raw": "3"
                    },
                    "value": 3
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":400,"end":405,"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":27}},
                "typeName": {
                  "type": "Identifier",
                  "start":400,"end":405,"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":27},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":407,"end":445,"loc":{"start":{"line":15,"column":0},"end":{"line":15,"column":38}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":411,"end":444,"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":37}},
            "id": {
              "type": "Identifier",
              "start":411,"end":413,"loc":{"start":{"line":15,"column":4},"end":{"line":15,"column":6},"identifierName":"a3"},
              "name": "a3"
            },
            "init": {
              "type": "TSAsExpression",
              "start":416,"end":444,"loc":{"start":{"line":15,"column":9},"end":{"line":15,"column":37}},
              "expression": {
                "type": "ArrayExpression",
                "start":416,"end":435,"loc":{"start":{"line":15,"column":9},"end":{"line":15,"column":28}},
                "elements": [
                  {
                    "type": "NumericLiteral",
                    "start":417,"end":419,"loc":{"start":{"line":15,"column":10},"end":{"line":15,"column":12}},
                    "extra": {
                      "rawValue": 10,
                      "raw": "10"
                    },
                    "value": 10
                  },
                  {
                    "type": "StringLiteral",
                    "start":421,"end":428,"loc":{"start":{"line":15,"column":14},"end":{"line":15,"column":21}},
                    "extra": {
                      "rawValue": "hello",
                      "raw": "'hello'"
                    },
                    "value": "hello"
                  },
                  {
                    "type": "BooleanLiteral",
                    "start":430,"end":434,"loc":{"start":{"line":15,"column":23},"end":{"line":15,"column":27}},
                    "value": true
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":439,"end":444,"loc":{"start":{"line":15,"column":32},"end":{"line":15,"column":37}},
                "typeName": {
                  "type": "Identifier",
                  "start":439,"end":444,"loc":{"start":{"line":15,"column":32},"end":{"line":15,"column":37},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":446,"end":479,"loc":{"start":{"line":16,"column":0},"end":{"line":16,"column":33}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":450,"end":478,"loc":{"start":{"line":16,"column":4},"end":{"line":16,"column":32}},
            "id": {
              "type": "Identifier",
              "start":450,"end":452,"loc":{"start":{"line":16,"column":4},"end":{"line":16,"column":6},"identifierName":"a4"},
              "name": "a4"
            },
            "init": {
              "type": "TSAsExpression",
              "start":455,"end":478,"loc":{"start":{"line":16,"column":9},"end":{"line":16,"column":32}},
              "expression": {
                "type": "ArrayExpression",
                "start":455,"end":469,"loc":{"start":{"line":16,"column":9},"end":{"line":16,"column":23}},
                "elements": [
                  {
                    "type": "SpreadElement",
                    "start":456,"end":468,"loc":{"start":{"line":16,"column":10},"end":{"line":16,"column":22}},
                    "argument": {
                      "type": "ArrayExpression",
                      "start":459,"end":468,"loc":{"start":{"line":16,"column":13},"end":{"line":16,"column":22}},
                      "elements": [
                        {
                          "type": "NumericLiteral",
                          "start":460,"end":461,"loc":{"start":{"line":16,"column":14},"end":{"line":16,"column":15}},
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        },
                        {
                          "type": "NumericLiteral",
                          "start":463,"end":464,"loc":{"start":{"line":16,"column":17},"end":{"line":16,"column":18}},
                          "extra": {
                            "rawValue": 2,
                            "raw": "2"
                          },
                          "value": 2
                        },
                        {
                          "type": "NumericLiteral",
                          "start":466,"end":467,"loc":{"start":{"line":16,"column":20},"end":{"line":16,"column":21}},
                          "extra": {
                            "rawValue": 3,
                            "raw": "3"
                          },
                          "value": 3
                        }
                      ]
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":473,"end":478,"loc":{"start":{"line":16,"column":27},"end":{"line":16,"column":32}},
                "typeName": {
                  "type": "Identifier",
                  "start":473,"end":478,"loc":{"start":{"line":16,"column":27},"end":{"line":16,"column":32},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":480,"end":499,"loc":{"start":{"line":17,"column":0},"end":{"line":17,"column":19}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":484,"end":498,"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":18}},
            "id": {
              "type": "Identifier",
              "start":484,"end":486,"loc":{"start":{"line":17,"column":4},"end":{"line":17,"column":6},"identifierName":"a5"},
              "name": "a5"
            },
            "init": {
              "type": "ArrayExpression",
              "start":489,"end":498,"loc":{"start":{"line":17,"column":9},"end":{"line":17,"column":18}},
              "elements": [
                {
                  "type": "NumericLiteral",
                  "start":490,"end":491,"loc":{"start":{"line":17,"column":10},"end":{"line":17,"column":11}},
                  "extra": {
                    "rawValue": 1,
                    "raw": "1"
                  },
                  "value": 1
                },
                {
                  "type": "NumericLiteral",
                  "start":493,"end":494,"loc":{"start":{"line":17,"column":13},"end":{"line":17,"column":14}},
                  "extra": {
                    "rawValue": 2,
                    "raw": "2"
                  },
                  "value": 2
                },
                {
                  "type": "NumericLiteral",
                  "start":496,"end":497,"loc":{"start":{"line":17,"column":16},"end":{"line":17,"column":17}},
                  "extra": {
                    "rawValue": 3,
                    "raw": "3"
                  },
                  "value": 3
                }
              ]
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":500,"end":526,"loc":{"start":{"line":18,"column":0},"end":{"line":18,"column":26}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":504,"end":525,"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":25}},
            "id": {
              "type": "Identifier",
              "start":504,"end":506,"loc":{"start":{"line":18,"column":4},"end":{"line":18,"column":6},"identifierName":"a6"},
              "name": "a6"
            },
            "init": {
              "type": "TSAsExpression",
              "start":509,"end":525,"loc":{"start":{"line":18,"column":9},"end":{"line":18,"column":25}},
              "expression": {
                "type": "ArrayExpression",
                "start":509,"end":516,"loc":{"start":{"line":18,"column":9},"end":{"line":18,"column":16}},
                "elements": [
                  {
                    "type": "SpreadElement",
                    "start":510,"end":515,"loc":{"start":{"line":18,"column":10},"end":{"line":18,"column":15}},
                    "argument": {
                      "type": "Identifier",
                      "start":513,"end":515,"loc":{"start":{"line":18,"column":13},"end":{"line":18,"column":15},"identifierName":"a5"},
                      "name": "a5"
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":520,"end":525,"loc":{"start":{"line":18,"column":20},"end":{"line":18,"column":25}},
                "typeName": {
                  "type": "Identifier",
                  "start":520,"end":525,"loc":{"start":{"line":18,"column":20},"end":{"line":18,"column":25},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":527,"end":560,"loc":{"start":{"line":19,"column":0},"end":{"line":19,"column":33}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":531,"end":559,"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":32}},
            "id": {
              "type": "Identifier",
              "start":531,"end":533,"loc":{"start":{"line":19,"column":4},"end":{"line":19,"column":6},"identifierName":"a8"},
              "name": "a8"
            },
            "init": {
              "type": "TSAsExpression",
              "start":536,"end":559,"loc":{"start":{"line":19,"column":9},"end":{"line":19,"column":32}},
              "expression": {
                "type": "ArrayExpression",
                "start":536,"end":550,"loc":{"start":{"line":19,"column":9},"end":{"line":19,"column":23}},
                "elements": [
                  {
                    "type": "StringLiteral",
                    "start":537,"end":542,"loc":{"start":{"line":19,"column":10},"end":{"line":19,"column":15}},
                    "extra": {
                      "rawValue": "abc",
                      "raw": "'abc'"
                    },
                    "value": "abc"
                  },
                  {
                    "type": "SpreadElement",
                    "start":544,"end":549,"loc":{"start":{"line":19,"column":17},"end":{"line":19,"column":22}},
                    "argument": {
                      "type": "Identifier",
                      "start":547,"end":549,"loc":{"start":{"line":19,"column":20},"end":{"line":19,"column":22},"identifierName":"a7"},
                      "name": "a7"
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":554,"end":559,"loc":{"start":{"line":19,"column":27},"end":{"line":19,"column":32}},
                "typeName": {
                  "type": "Identifier",
                  "start":554,"end":559,"loc":{"start":{"line":19,"column":27},"end":{"line":19,"column":32},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":562,"end":597,"loc":{"start":{"line":21,"column":0},"end":{"line":21,"column":35}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":566,"end":596,"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":34}},
            "id": {
              "type": "Identifier",
              "start":566,"end":568,"loc":{"start":{"line":21,"column":4},"end":{"line":21,"column":6},"identifierName":"o1"},
              "name": "o1"
            },
            "init": {
              "type": "TSAsExpression",
              "start":571,"end":596,"loc":{"start":{"line":21,"column":9},"end":{"line":21,"column":34}},
              "expression": {
                "type": "ObjectExpression",
                "start":571,"end":587,"loc":{"start":{"line":21,"column":9},"end":{"line":21,"column":25}},
                "properties": [
                  {
                    "type": "ObjectProperty",
                    "start":573,"end":578,"loc":{"start":{"line":21,"column":11},"end":{"line":21,"column":16}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":573,"end":574,"loc":{"start":{"line":21,"column":11},"end":{"line":21,"column":12},"identifierName":"x"},
                      "name": "x"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":576,"end":578,"loc":{"start":{"line":21,"column":14},"end":{"line":21,"column":16}},
                      "extra": {
                        "rawValue": 10,
                        "raw": "10"
                      },
                      "value": 10
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start":580,"end":585,"loc":{"start":{"line":21,"column":18},"end":{"line":21,"column":23}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":580,"end":581,"loc":{"start":{"line":21,"column":18},"end":{"line":21,"column":19},"identifierName":"y"},
                      "name": "y"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":583,"end":585,"loc":{"start":{"line":21,"column":21},"end":{"line":21,"column":23}},
                      "extra": {
                        "rawValue": 20,
                        "raw": "20"
                      },
                      "value": 20
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":591,"end":596,"loc":{"start":{"line":21,"column":29},"end":{"line":21,"column":34}},
                "typeName": {
                  "type": "Identifier",
                  "start":591,"end":596,"loc":{"start":{"line":21,"column":29},"end":{"line":21,"column":34},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":598,"end":666,"loc":{"start":{"line":22,"column":0},"end":{"line":22,"column":68}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":602,"end":665,"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":67}},
            "id": {
              "type": "Identifier",
              "start":602,"end":604,"loc":{"start":{"line":22,"column":4},"end":{"line":22,"column":6},"identifierName":"o2"},
              "name": "o2"
            },
            "init": {
              "type": "TSAsExpression",
              "start":607,"end":665,"loc":{"start":{"line":22,"column":9},"end":{"line":22,"column":67}},
              "expression": {
                "type": "ObjectExpression",
                "start":607,"end":656,"loc":{"start":{"line":22,"column":9},"end":{"line":22,"column":58}},
                "properties": [
                  {
                    "type": "ObjectProperty",
                    "start":609,"end":613,"loc":{"start":{"line":22,"column":11},"end":{"line":22,"column":15}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":609,"end":610,"loc":{"start":{"line":22,"column":11},"end":{"line":22,"column":12},"identifierName":"a"},
                      "name": "a"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":612,"end":613,"loc":{"start":{"line":22,"column":14},"end":{"line":22,"column":15}},
                      "extra": {
                        "rawValue": 1,
                        "raw": "1"
                      },
                      "value": 1
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start":615,"end":621,"loc":{"start":{"line":22,"column":17},"end":{"line":22,"column":23}},
                    "method": false,
                    "key": {
                      "type": "StringLiteral",
                      "start":615,"end":618,"loc":{"start":{"line":22,"column":17},"end":{"line":22,"column":20}},
                      "extra": {
                        "rawValue": "b",
                        "raw": "'b'"
                      },
                      "value": "b"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":620,"end":621,"loc":{"start":{"line":22,"column":22},"end":{"line":22,"column":23}},
                      "extra": {
                        "rawValue": 2,
                        "raw": "2"
                      },
                      "value": 2
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start":623,"end":631,"loc":{"start":{"line":22,"column":25},"end":{"line":22,"column":33}},
                    "method": false,
                    "computed": true,
                    "key": {
                      "type": "StringLiteral",
                      "start":624,"end":627,"loc":{"start":{"line":22,"column":26},"end":{"line":22,"column":29}},
                      "extra": {
                        "rawValue": "c",
                        "raw": "'c'"
                      },
                      "value": "c"
                    },
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":630,"end":631,"loc":{"start":{"line":22,"column":32},"end":{"line":22,"column":33}},
                      "extra": {
                        "rawValue": 3,
                        "raw": "3"
                      },
                      "value": 3
                    }
                  },
                  {
                    "type": "ObjectMethod",
                    "start":633,"end":639,"loc":{"start":{"line":22,"column":35},"end":{"line":22,"column":41}},
                    "method": true,
                    "key": {
                      "type": "Identifier",
                      "start":633,"end":634,"loc":{"start":{"line":22,"column":35},"end":{"line":22,"column":36},"identifierName":"d"},
                      "name": "d"
                    },
                    "computed": false,
                    "kind": "method",
                    "id": null,
                    "generator": false,
                    "async": false,
                    "params": [],
                    "body": {
                      "type": "BlockStatement",
                      "start":637,"end":639,"loc":{"start":{"line":22,"column":39},"end":{"line":22,"column":41}},
                      "body": [],
                      "directives": []
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start":641,"end":654,"loc":{"start":{"line":22,"column":43},"end":{"line":22,"column":56}},
                    "method": false,
                    "computed": true,
                    "key": {
                      "type": "BinaryExpression",
                      "start":642,"end":650,"loc":{"start":{"line":22,"column":44},"end":{"line":22,"column":52}},
                      "left": {
                        "type": "StringLiteral",
                        "start":642,"end":645,"loc":{"start":{"line":22,"column":44},"end":{"line":22,"column":47}},
                        "extra": {
                          "rawValue": "e",
                          "raw": "'e'"
                        },
                        "value": "e"
                      },
                      "operator": "+",
                      "right": {
                        "type": "StringLiteral",
                        "start":648,"end":650,"loc":{"start":{"line":22,"column":50},"end":{"line":22,"column":52}},
                        "extra": {
                          "rawValue": "",
                          "raw": "''"
                        },
                        "value": ""
                      }
                    },
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":653,"end":654,"loc":{"start":{"line":22,"column":55},"end":{"line":22,"column":56}},
                      "extra": {
                        "rawValue": 4,
                        "raw": "4"
                      },
                      "value": 4
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":660,"end":665,"loc":{"start":{"line":22,"column":62},"end":{"line":22,"column":67}},
                "typeName": {
                  "type": "Identifier",
                  "start":660,"end":665,"loc":{"start":{"line":22,"column":62},"end":{"line":22,"column":67},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":667,"end":702,"loc":{"start":{"line":23,"column":0},"end":{"line":23,"column":35}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":671,"end":701,"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":34}},
            "id": {
              "type": "Identifier",
              "start":671,"end":673,"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":6},"identifierName":"o3"},
              "name": "o3"
            },
            "init": {
              "type": "TSAsExpression",
              "start":676,"end":701,"loc":{"start":{"line":23,"column":9},"end":{"line":23,"column":34}},
              "expression": {
                "type": "ObjectExpression",
                "start":676,"end":692,"loc":{"start":{"line":23,"column":9},"end":{"line":23,"column":25}},
                "properties": [
                  {
                    "type": "SpreadElement",
                    "start":678,"end":683,"loc":{"start":{"line":23,"column":11},"end":{"line":23,"column":16}},
                    "argument": {
                      "type": "Identifier",
                      "start":681,"end":683,"loc":{"start":{"line":23,"column":14},"end":{"line":23,"column":16},"identifierName":"o1"},
                      "name": "o1"
                    }
                  },
                  {
                    "type": "SpreadElement",
                    "start":685,"end":690,"loc":{"start":{"line":23,"column":18},"end":{"line":23,"column":23}},
                    "argument": {
                      "type": "Identifier",
                      "start":688,"end":690,"loc":{"start":{"line":23,"column":21},"end":{"line":23,"column":23},"identifierName":"o2"},
                      "name": "o2"
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":696,"end":701,"loc":{"start":{"line":23,"column":29},"end":{"line":23,"column":34}},
                "typeName": {
                  "type": "Identifier",
                  "start":696,"end":701,"loc":{"start":{"line":23,"column":29},"end":{"line":23,"column":34},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":703,"end":731,"loc":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":707,"end":730,"loc":{"start":{"line":24,"column":4},"end":{"line":24,"column":27}},
            "id": {
              "type": "Identifier",
              "start":707,"end":709,"loc":{"start":{"line":24,"column":4},"end":{"line":24,"column":6},"identifierName":"o5"},
              "name": "o5"
            },
            "init": {
              "type": "TSAsExpression",
              "start":712,"end":730,"loc":{"start":{"line":24,"column":9},"end":{"line":24,"column":27}},
              "expression": {
                "type": "ObjectExpression",
                "start":712,"end":721,"loc":{"start":{"line":24,"column":9},"end":{"line":24,"column":18}},
                "properties": [
                  {
                    "type": "SpreadElement",
                    "start":714,"end":719,"loc":{"start":{"line":24,"column":11},"end":{"line":24,"column":16}},
                    "argument": {
                      "type": "Identifier",
                      "start":717,"end":719,"loc":{"start":{"line":24,"column":14},"end":{"line":24,"column":16},"identifierName":"o4"},
                      "name": "o4"
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":725,"end":730,"loc":{"start":{"line":24,"column":22},"end":{"line":24,"column":27}},
                "typeName": {
                  "type": "Identifier",
                  "start":725,"end":730,"loc":{"start":{"line":24,"column":22},"end":{"line":24,"column":27},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":732,"end":759,"loc":{"start":{"line":25,"column":0},"end":{"line":25,"column":27}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":736,"end":758,"loc":{"start":{"line":25,"column":4},"end":{"line":25,"column":26}},
            "id": {
              "type": "Identifier",
              "start":736,"end":738,"loc":{"start":{"line":25,"column":4},"end":{"line":25,"column":6},"identifierName":"o7"},
              "name": "o7"
            },
            "init": {
              "type": "TSAsExpression",
              "start":741,"end":758,"loc":{"start":{"line":25,"column":9},"end":{"line":25,"column":26}},
              "expression": {
                "type": "ObjectExpression",
                "start":741,"end":749,"loc":{"start":{"line":25,"column":9},"end":{"line":25,"column":17}},
                "properties": [
                  {
                    "type": "SpreadElement",
                    "start":743,"end":747,"loc":{"start":{"line":25,"column":11},"end":{"line":25,"column":15}},
                    "argument": {
                      "type": "Identifier",
                      "start":746,"end":747,"loc":{"start":{"line":25,"column":14},"end":{"line":25,"column":15},"identifierName":"d"},
                      "name": "d"
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":753,"end":758,"loc":{"start":{"line":25,"column":21},"end":{"line":25,"column":26}},
                "typeName": {
                  "type": "Identifier",
                  "start":753,"end":758,"loc":{"start":{"line":25,"column":21},"end":{"line":25,"column":26},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":760,"end":811,"loc":{"start":{"line":26,"column":0},"end":{"line":26,"column":51}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":764,"end":810,"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":50}},
            "id": {
              "type": "Identifier",
              "start":764,"end":766,"loc":{"start":{"line":26,"column":4},"end":{"line":26,"column":6},"identifierName":"o9"},
              "name": "o9"
            },
            "init": {
              "type": "TSAsExpression",
              "start":769,"end":810,"loc":{"start":{"line":26,"column":9},"end":{"line":26,"column":50}},
              "expression": {
                "type": "ObjectExpression",
                "start":769,"end":801,"loc":{"start":{"line":26,"column":9},"end":{"line":26,"column":41}},
                "properties": [
                  {
                    "type": "ObjectProperty",
                    "start":771,"end":776,"loc":{"start":{"line":26,"column":11},"end":{"line":26,"column":16}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":771,"end":772,"loc":{"start":{"line":26,"column":11},"end":{"line":26,"column":12},"identifierName":"x"},
                      "name": "x"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":774,"end":776,"loc":{"start":{"line":26,"column":14},"end":{"line":26,"column":16}},
                      "extra": {
                        "rawValue": 10,
                        "raw": "10"
                      },
                      "value": 10
                    }
                  },
                  {
                    "type": "ObjectMethod",
                    "start":778,"end":799,"loc":{"start":{"line":26,"column":18},"end":{"line":26,"column":39}},
                    "method": true,
                    "key": {
                      "type": "Identifier",
                      "start":778,"end":781,"loc":{"start":{"line":26,"column":18},"end":{"line":26,"column":21},"identifierName":"foo"},
                      "name": "foo"
                    },
                    "computed": false,
                    "kind": "method",
                    "id": null,
                    "generator": false,
                    "async": false,
                    "params": [],
                    "body": {
                      "type": "BlockStatement",
                      "start":784,"end":799,"loc":{"start":{"line":26,"column":24},"end":{"line":26,"column":39}},
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start":786,"end":797,"loc":{"start":{"line":26,"column":26},"end":{"line":26,"column":37}},
                          "expression": {
                            "type": "AssignmentExpression",
                            "start":786,"end":797,"loc":{"start":{"line":26,"column":26},"end":{"line":26,"column":37}},
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start":786,"end":792,"loc":{"start":{"line":26,"column":26},"end":{"line":26,"column":32}},
                              "object": {
                                "type": "ThisExpression",
                                "start":786,"end":790,"loc":{"start":{"line":26,"column":26},"end":{"line":26,"column":30}}
                              },
                              "property": {
                                "type": "Identifier",
                                "start":791,"end":792,"loc":{"start":{"line":26,"column":31},"end":{"line":26,"column":32},"identifierName":"x"},
                                "name": "x"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "NumericLiteral",
                              "start":795,"end":797,"loc":{"start":{"line":26,"column":35},"end":{"line":26,"column":37}},
                              "extra": {
                                "rawValue": 20,
                                "raw": "20"
                              },
                              "value": 20
                            }
                          }
                        }
                      ],
                      "directives": []
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":805,"end":810,"loc":{"start":{"line":26,"column":45},"end":{"line":26,"column":50}},
                "typeName": {
                  "type": "Identifier",
                  "start":805,"end":810,"loc":{"start":{"line":26,"column":45},"end":{"line":26,"column":50},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let",
        "trailingComments": [
          {
            "type": "CommentLine",
            "value": " Error",
            "start":813,"end":821,"loc":{"start":{"line":26,"column":53},"end":{"line":26,"column":61}}
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start":823,"end":846,"loc":{"start":{"line":28,"column":0},"end":{"line":28,"column":23}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":827,"end":845,"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":22}},
            "id": {
              "type": "Identifier",
              "start":827,"end":829,"loc":{"start":{"line":28,"column":4},"end":{"line":28,"column":6},"identifierName":"p1"},
              "name": "p1"
            },
            "init": {
              "type": "TSAsExpression",
              "start":832,"end":845,"loc":{"start":{"line":28,"column":9},"end":{"line":28,"column":22}},
              "expression": {
                "type": "NumericLiteral",
                "start":833,"end":835,"loc":{"start":{"line":28,"column":10},"end":{"line":28,"column":12}},
                "extra": {
                  "rawValue": 10,
                  "raw": "10",
                  "parenthesized": true,
                  "parenStart": 832
                },
                "value": 10
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":840,"end":845,"loc":{"start":{"line":28,"column":17},"end":{"line":28,"column":22}},
                "typeName": {
                  "type": "Identifier",
                  "start":840,"end":845,"loc":{"start":{"line":28,"column":17},"end":{"line":28,"column":22},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let",
        "leadingComments": [
          {
            "type": "CommentLine",
            "value": " Error",
            "start":813,"end":821,"loc":{"start":{"line":26,"column":53},"end":{"line":26,"column":61}}
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start":847,"end":873,"loc":{"start":{"line":29,"column":0},"end":{"line":29,"column":26}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":851,"end":872,"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":25}},
            "id": {
              "type": "Identifier",
              "start":851,"end":853,"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":6},"identifierName":"p2"},
              "name": "p2"
            },
            "init": {
              "type": "TSAsExpression",
              "start":856,"end":872,"loc":{"start":{"line":29,"column":9},"end":{"line":29,"column":25}},
              "expression": {
                "type": "UnaryExpression",
                "start":858,"end":861,"loc":{"start":{"line":29,"column":11},"end":{"line":29,"column":14}},
                "operator": "-",
                "prefix": true,
                "argument": {
                  "type": "NumericLiteral",
                  "start":859,"end":861,"loc":{"start":{"line":29,"column":12},"end":{"line":29,"column":14}},
                  "extra": {
                    "rawValue": 10,
                    "raw": "10"
                  },
                  "value": 10
                },
                "extra": {
                  "parenthesized": true,
                  "parenStart": 856
                }
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":867,"end":872,"loc":{"start":{"line":29,"column":20},"end":{"line":29,"column":25}},
                "typeName": {
                  "type": "Identifier",
                  "start":867,"end":872,"loc":{"start":{"line":29,"column":20},"end":{"line":29,"column":25},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":874,"end":901,"loc":{"start":{"line":30,"column":0},"end":{"line":30,"column":27}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":878,"end":900,"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":26}},
            "id": {
              "type": "Identifier",
              "start":878,"end":880,"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":6},"identifierName":"p3"},
              "name": "p3"
            },
            "init": {
              "type": "TSAsExpression",
              "start":883,"end":900,"loc":{"start":{"line":30,"column":9},"end":{"line":30,"column":26}},
              "expression": {
                "type": "ArrayExpression",
                "start":884,"end":890,"loc":{"start":{"line":30,"column":10},"end":{"line":30,"column":16}},
                "elements": [
                  {
                    "type": "NumericLiteral",
                    "start":886,"end":888,"loc":{"start":{"line":30,"column":12},"end":{"line":30,"column":14}},
                    "extra": {
                      "rawValue": 10,
                      "raw": "10",
                      "parenthesized": true,
                      "parenStart": 885
                    },
                    "value": 10
                  }
                ],
                "extra": {
                  "parenthesized": true,
                  "parenStart": 883
                }
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":895,"end":900,"loc":{"start":{"line":30,"column":21},"end":{"line":30,"column":26}},
                "typeName": {
                  "type": "Identifier",
                  "start":895,"end":900,"loc":{"start":{"line":30,"column":21},"end":{"line":30,"column":26},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":902,"end":931,"loc":{"start":{"line":31,"column":0},"end":{"line":31,"column":29}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":906,"end":930,"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":28}},
            "id": {
              "type": "Identifier",
              "start":906,"end":908,"loc":{"start":{"line":31,"column":4},"end":{"line":31,"column":6},"identifierName":"p4"},
              "name": "p4"
            },
            "init": {
              "type": "TSAsExpression",
              "start":911,"end":930,"loc":{"start":{"line":31,"column":9},"end":{"line":31,"column":28}},
              "expression": {
                "type": "ArrayExpression",
                "start":911,"end":921,"loc":{"start":{"line":31,"column":9},"end":{"line":31,"column":19}},
                "elements": [
                  {
                    "type": "ArrayExpression",
                    "start":912,"end":920,"loc":{"start":{"line":31,"column":10},"end":{"line":31,"column":18}},
                    "elements": [
                      {
                        "type": "ArrayExpression",
                        "start":913,"end":919,"loc":{"start":{"line":31,"column":11},"end":{"line":31,"column":17}},
                        "elements": [
                          {
                            "type": "ArrayExpression",
                            "start":914,"end":918,"loc":{"start":{"line":31,"column":12},"end":{"line":31,"column":16}},
                            "elements": [
                              {
                                "type": "NumericLiteral",
                                "start":915,"end":917,"loc":{"start":{"line":31,"column":13},"end":{"line":31,"column":15}},
                                "extra": {
                                  "rawValue": 10,
                                  "raw": "10"
                                },
                                "value": 10
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":925,"end":930,"loc":{"start":{"line":31,"column":23},"end":{"line":31,"column":28}},
                "typeName": {
                  "type": "Identifier",
                  "start":925,"end":930,"loc":{"start":{"line":31,"column":23},"end":{"line":31,"column":28},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":933,"end":995,"loc":{"start":{"line":33,"column":0},"end":{"line":33,"column":62}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":937,"end":994,"loc":{"start":{"line":33,"column":4},"end":{"line":33,"column":61}},
            "id": {
              "type": "Identifier",
              "start":937,"end":939,"loc":{"start":{"line":33,"column":4},"end":{"line":33,"column":6},"identifierName":"x1"},
              "name": "x1"
            },
            "init": {
              "type": "TSAsExpression",
              "start":942,"end":994,"loc":{"start":{"line":33,"column":9},"end":{"line":33,"column":61}},
              "expression": {
                "type": "ObjectExpression",
                "start":942,"end":985,"loc":{"start":{"line":33,"column":9},"end":{"line":33,"column":52}},
                "properties": [
                  {
                    "type": "ObjectProperty",
                    "start":944,"end":949,"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":16}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":944,"end":945,"loc":{"start":{"line":33,"column":11},"end":{"line":33,"column":12},"identifierName":"x"},
                      "name": "x"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":947,"end":949,"loc":{"start":{"line":33,"column":14},"end":{"line":33,"column":16}},
                      "extra": {
                        "rawValue": 10,
                        "raw": "10"
                      },
                      "value": 10
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start":951,"end":962,"loc":{"start":{"line":33,"column":18},"end":{"line":33,"column":29}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":951,"end":952,"loc":{"start":{"line":33,"column":18},"end":{"line":33,"column":19},"identifierName":"y"},
                      "name": "y"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "ArrayExpression",
                      "start":954,"end":962,"loc":{"start":{"line":33,"column":21},"end":{"line":33,"column":29}},
                      "elements": [
                        {
                          "type": "NumericLiteral",
                          "start":955,"end":957,"loc":{"start":{"line":33,"column":22},"end":{"line":33,"column":24}},
                          "extra": {
                            "rawValue": 20,
                            "raw": "20"
                          },
                          "value": 20
                        },
                        {
                          "type": "NumericLiteral",
                          "start":959,"end":961,"loc":{"start":{"line":33,"column":26},"end":{"line":33,"column":28}},
                          "extra": {
                            "rawValue": 30,
                            "raw": "30"
                          },
                          "value": 30
                        }
                      ]
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start":964,"end":983,"loc":{"start":{"line":33,"column":31},"end":{"line":33,"column":50}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":964,"end":965,"loc":{"start":{"line":33,"column":31},"end":{"line":33,"column":32},"identifierName":"z"},
                      "name": "z"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "ObjectExpression",
                      "start":967,"end":983,"loc":{"start":{"line":33,"column":34},"end":{"line":33,"column":50}},
                      "properties": [
                        {
                          "type": "ObjectProperty",
                          "start":969,"end":981,"loc":{"start":{"line":33,"column":36},"end":{"line":33,"column":48}},
                          "method": false,
                          "key": {
                            "type": "Identifier",
                            "start":969,"end":970,"loc":{"start":{"line":33,"column":36},"end":{"line":33,"column":37},"identifierName":"a"},
                            "name": "a"
                          },
                          "computed": false,
                          "shorthand": false,
                          "value": {
                            "type": "ObjectExpression",
                            "start":972,"end":981,"loc":{"start":{"line":33,"column":39},"end":{"line":33,"column":48}},
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start":974,"end":979,"loc":{"start":{"line":33,"column":41},"end":{"line":33,"column":46}},
                                "method": false,
                                "key": {
                                  "type": "Identifier",
                                  "start":974,"end":975,"loc":{"start":{"line":33,"column":41},"end":{"line":33,"column":42},"identifierName":"b"},
                                  "name": "b"
                                },
                                "computed": false,
                                "shorthand": false,
                                "value": {
                                  "type": "NumericLiteral",
                                  "start":977,"end":979,"loc":{"start":{"line":33,"column":44},"end":{"line":33,"column":46}},
                                  "extra": {
                                    "rawValue": 42,
                                    "raw": "42"
                                  },
                                  "value": 42
                                }
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":989,"end":994,"loc":{"start":{"line":33,"column":56},"end":{"line":33,"column":61}},
                "typeName": {
                  "type": "Identifier",
                  "start":989,"end":994,"loc":{"start":{"line":33,"column":56},"end":{"line":33,"column":61},"identifierName":"const"},
                  "name": "const"
                }
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":997,"end":1017,"loc":{"start":{"line":35,"column":0},"end":{"line":35,"column":20}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":1001,"end":1016,"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":19}},
            "id": {
              "type": "Identifier",
              "start":1001,"end":1003,"loc":{"start":{"line":35,"column":4},"end":{"line":35,"column":6},"identifierName":"q1"},
              "name": "q1"
            },
            "init": {
              "type": "TSTypeAssertion",
              "start":1006,"end":1016,"loc":{"start":{"line":35,"column":9},"end":{"line":35,"column":19}},
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":1007,"end":1012,"loc":{"start":{"line":35,"column":10},"end":{"line":35,"column":15}},
                "typeName": {
                  "type": "Identifier",
                  "start":1007,"end":1012,"loc":{"start":{"line":35,"column":10},"end":{"line":35,"column":15},"identifierName":"const"},
                  "name": "const"
                }
              },
              "expression": {
                "type": "NumericLiteral",
                "start":1014,"end":1016,"loc":{"start":{"line":35,"column":17},"end":{"line":35,"column":19}},
                "extra": {
                  "rawValue": 10,
                  "raw": "10"
                },
                "value": 10
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":1018,"end":1041,"loc":{"start":{"line":36,"column":0},"end":{"line":36,"column":23}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":1022,"end":1040,"loc":{"start":{"line":36,"column":4},"end":{"line":36,"column":22}},
            "id": {
              "type": "Identifier",
              "start":1022,"end":1024,"loc":{"start":{"line":36,"column":4},"end":{"line":36,"column":6},"identifierName":"q2"},
              "name": "q2"
            },
            "init": {
              "type": "TSTypeAssertion",
              "start":1027,"end":1040,"loc":{"start":{"line":36,"column":9},"end":{"line":36,"column":22}},
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":1028,"end":1033,"loc":{"start":{"line":36,"column":10},"end":{"line":36,"column":15}},
                "typeName": {
                  "type": "Identifier",
                  "start":1028,"end":1033,"loc":{"start":{"line":36,"column":10},"end":{"line":36,"column":15},"identifierName":"const"},
                  "name": "const"
                }
              },
              "expression": {
                "type": "StringLiteral",
                "start":1035,"end":1040,"loc":{"start":{"line":36,"column":17},"end":{"line":36,"column":22}},
                "extra": {
                  "rawValue": "abc",
                  "raw": "'abc'"
                },
                "value": "abc"
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":1042,"end":1064,"loc":{"start":{"line":37,"column":0},"end":{"line":37,"column":22}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":1046,"end":1063,"loc":{"start":{"line":37,"column":4},"end":{"line":37,"column":21}},
            "id": {
              "type": "Identifier",
              "start":1046,"end":1048,"loc":{"start":{"line":37,"column":4},"end":{"line":37,"column":6},"identifierName":"q3"},
              "name": "q3"
            },
            "init": {
              "type": "TSTypeAssertion",
              "start":1051,"end":1063,"loc":{"start":{"line":37,"column":9},"end":{"line":37,"column":21}},
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":1052,"end":1057,"loc":{"start":{"line":37,"column":10},"end":{"line":37,"column":15}},
                "typeName": {
                  "type": "Identifier",
                  "start":1052,"end":1057,"loc":{"start":{"line":37,"column":10},"end":{"line":37,"column":15},"identifierName":"const"},
                  "name": "const"
                }
              },
              "expression": {
                "type": "BooleanLiteral",
                "start":1059,"end":1063,"loc":{"start":{"line":37,"column":17},"end":{"line":37,"column":21}},
                "value": true
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":1065,"end":1092,"loc":{"start":{"line":38,"column":0},"end":{"line":38,"column":27}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":1069,"end":1091,"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":26}},
            "id": {
              "type": "Identifier",
              "start":1069,"end":1071,"loc":{"start":{"line":38,"column":4},"end":{"line":38,"column":6},"identifierName":"q4"},
              "name": "q4"
            },
            "init": {
              "type": "TSTypeAssertion",
              "start":1074,"end":1091,"loc":{"start":{"line":38,"column":9},"end":{"line":38,"column":26}},
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":1075,"end":1080,"loc":{"start":{"line":38,"column":10},"end":{"line":38,"column":15}},
                "typeName": {
                  "type": "Identifier",
                  "start":1075,"end":1080,"loc":{"start":{"line":38,"column":10},"end":{"line":38,"column":15},"identifierName":"const"},
                  "name": "const"
                }
              },
              "expression": {
                "type": "ArrayExpression",
                "start":1082,"end":1091,"loc":{"start":{"line":38,"column":17},"end":{"line":38,"column":26}},
                "elements": [
                  {
                    "type": "NumericLiteral",
                    "start":1083,"end":1084,"loc":{"start":{"line":38,"column":18},"end":{"line":38,"column":19}},
                    "extra": {
                      "rawValue": 1,
                      "raw": "1"
                    },
                    "value": 1
                  },
                  {
                    "type": "NumericLiteral",
                    "start":1086,"end":1087,"loc":{"start":{"line":38,"column":21},"end":{"line":38,"column":22}},
                    "extra": {
                      "rawValue": 2,
                      "raw": "2"
                    },
                    "value": 2
                  },
                  {
                    "type": "NumericLiteral",
                    "start":1089,"end":1090,"loc":{"start":{"line":38,"column":24},"end":{"line":38,"column":25}},
                    "extra": {
                      "rawValue": 3,
                      "raw": "3"
                    },
                    "value": 3
                  }
                ]
              }
            }
          }
        ],
        "kind": "let"
      },
      {
        "type": "VariableDeclaration",
        "start":1093,"end":1127,"loc":{"start":{"line":39,"column":0},"end":{"line":39,"column":34}},
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start":1097,"end":1126,"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":33}},
            "id": {
              "type": "Identifier",
              "start":1097,"end":1099,"loc":{"start":{"line":39,"column":4},"end":{"line":39,"column":6},"identifierName":"q5"},
              "name": "q5"
            },
            "init": {
              "type": "TSTypeAssertion",
              "start":1102,"end":1126,"loc":{"start":{"line":39,"column":9},"end":{"line":39,"column":33}},
              "typeAnnotation": {
                "type": "TSTypeReference",
                "start":1103,"end":1108,"loc":{"start":{"line":39,"column":10},"end":{"line":39,"column":15}},
                "typeName": {
                  "type": "Identifier",
                  "start":1103,"end":1108,"loc":{"start":{"line":39,"column":10},"end":{"line":39,"column":15},"identifierName":"const"},
                  "name": "const"
                }
              },
              "expression": {
                "type": "ObjectExpression",
                "start":1110,"end":1126,"loc":{"start":{"line":39,"column":17},"end":{"line":39,"column":33}},
                "properties": [
                  {
                    "type": "ObjectProperty",
                    "start":1112,"end":1117,"loc":{"start":{"line":39,"column":19},"end":{"line":39,"column":24}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":1112,"end":1113,"loc":{"start":{"line":39,"column":19},"end":{"line":39,"column":20},"identifierName":"x"},
                      "name": "x"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":1115,"end":1117,"loc":{"start":{"line":39,"column":22},"end":{"line":39,"column":24}},
                      "extra": {
                        "rawValue": 10,
                        "raw": "10"
                      },
                      "value": 10
                    }
                  },
                  {
                    "type": "ObjectProperty",
                    "start":1119,"end":1124,"loc":{"start":{"line":39,"column":26},"end":{"line":39,"column":31}},
                    "method": false,
                    "key": {
                      "type": "Identifier",
                      "start":1119,"end":1120,"loc":{"start":{"line":39,"column":26},"end":{"line":39,"column":27},"identifierName":"y"},
                      "name": "y"
                    },
                    "computed": false,
                    "shorthand": false,
                    "value": {
                      "type": "NumericLiteral",
                      "start":1122,"end":1124,"loc":{"start":{"line":39,"column":29},"end":{"line":39,"column":31}},
                      "extra": {
                        "rawValue": 20,
                        "raw": "20"
                      },
                      "value": 20
                    }
                  }
                ]
              }
            }
          }
        ],
        "kind": "let"
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " Copied over from TypeScript's test case",
      "start":0,"end":42,"loc":{"start":{"line":1,"column":0},"end":{"line":1,"column":42}}
    },
    {
      "type": "CommentLine",
      "value": " https://github.com/Microsoft/TypeScript/blob/master/tests/baselines/reference/constAssertions.js",
      "start":43,"end":142,"loc":{"start":{"line":2,"column":0},"end":{"line":2,"column":99}}
    },
    {
      "type": "CommentLine",
      "value": " Error",
      "start":813,"end":821,"loc":{"start":{"line":26,"column":53},"end":{"line":26,"column":61}}
    }
  ]
}