{
  "programs": [
    "Program {\n    span: 1..4019,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Expr(\n    ExprStmt {\n        span: 44..62,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 37..62,\n        label: Ident {\n            span: 37..42,\n            sym: \"width\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 64..83,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 56..83,\n        label: Ident {\n            span: 56..62,\n            sym: \"height\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 85..95,\n        expr: _,\n    },\n)",
    "Labeled(\n    LabeledStmt {\n        span: 76..95,\n        label: Ident {\n            span: 76..83,\n            sym: \"visible\",\n        },\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 94..101,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Return(\n    ReturnStmt {\n        span: 1460..1478,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1558..1577,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1771..1827,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1816..1873,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1862..1921,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2052..2064,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2063..2075,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2074..2096,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2095..2118,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2117..2129,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2128..2140,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2139..2151,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2150..2164,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2162..2177,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2175..2200,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2198..2224,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2222..2237,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2235..2260,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2258..2284,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2282..2297,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2295..2310,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2308..2324,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2322..2337,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2335..2350,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2348..2358,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 2568..2606,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2605..2647,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2646..2696,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2694..2743,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 2558..2750,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "For(\n    ForStmt {\n        span: 2539..2750,\n        head: In(\n            ForInHead {\n                left: Decl(\n                    _,\n                ),\n                right: _,\n            },\n        ),\n        body: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2748..2763,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2761..2786,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2784..2799,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2797..2822,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2820..2835,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2833..2858,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2856..2871,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 2869..2888,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3023..3046,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3045..3074,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3177..3185,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3424..3450,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3449..3480,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3479..3507,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 3911..3922,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 3916..3924,\n        expr: _,\n    },\n)",
    "Return(\n    ReturnStmt {\n        span: 3989..4016,\n        arg: Some(\n            _,\n        ),\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4015..4018,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 4017..4019,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 97..143,\n        ident: Ident {\n            span: 102..112,\n            sym: \"Dictionary\",\n        },\n        declare: false,\n        type_params: [\n            Ident {\n                span: 113..114,\n                sym: \"T\",\n            },\n        ],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 139..175,\n        ident: Ident {\n            span: 144..147,\n            sym: \"T00\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 171..200,\n        ident: Ident {\n            span: 176..179,\n            sym: \"T01\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 196..231,\n        ident: Ident {\n            span: 201..204,\n            sym: \"T02\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 227..268,\n        ident: Ident {\n            span: 232..235,\n            sym: \"T03\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 264..311,\n        ident: Ident {\n            span: 269..272,\n            sym: \"T04\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 307..360,\n        ident: Ident {\n            span: 312..315,\n            sym: \"T05\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 356..416,\n        ident: Ident {\n            span: 361..364,\n            sym: \"T06\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 412..442,\n        ident: Ident {\n            span: 417..420,\n            sym: \"T10\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 438..477,\n        ident: Ident {\n            span: 443..446,\n            sym: \"T11\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 473..521,\n        ident: Ident {\n            span: 478..481,\n            sym: \"T12\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 517..554,\n        ident: Ident {\n            span: 522..525,\n            sym: \"T13\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 550..590,\n        ident: Ident {\n            span: 555..558,\n            sym: \"T14\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 586..626,\n        ident: Ident {\n            span: 591..594,\n            sym: \"T15\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 622..663,\n        ident: Ident {\n            span: 627..630,\n            sym: \"T16\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 659..697,\n        ident: Ident {\n            span: 664..667,\n            sym: \"T17\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 693..736,\n        ident: Ident {\n            span: 698..701,\n            sym: \"T18\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 732..779,\n        ident: Ident {\n            span: 737..740,\n            sym: \"T19\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 775..824,\n        ident: Ident {\n            span: 780..783,\n            sym: \"T20\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 820..859,\n        ident: Ident {\n            span: 825..828,\n            sym: \"T21\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 855..906,\n        ident: Ident {\n            span: 860..863,\n            sym: \"T22\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 902..937,\n        ident: Ident {\n            span: 907..910,\n            sym: \"T30\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 933..966,\n        ident: Ident {\n            span: 938..941,\n            sym: \"T31\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 962..1005,\n        ident: Ident {\n            span: 967..970,\n            sym: \"T32\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1001..1046,\n        ident: Ident {\n            span: 1006..1009,\n            sym: \"T33\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1042..1082,\n        ident: Ident {\n            span: 1047..1050,\n            sym: \"T40\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1078..1121,\n        ident: Ident {\n            span: 1083..1086,\n            sym: \"T41\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1117..1160,\n        ident: Ident {\n            span: 1122..1125,\n            sym: \"T42\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1156..1211,\n        ident: Ident {\n            span: 1161..1164,\n            sym: \"T43\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1207..1232,\n        ident: Ident {\n            span: 1212..1215,\n            sym: \"T50\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1228..1256,\n        ident: Ident {\n            span: 1233..1236,\n            sym: \"T51\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1252..1280,\n        ident: Ident {\n            span: 1257..1260,\n            sym: \"T52\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1276..1316,\n        ident: Ident {\n            span: 1281..1284,\n            sym: \"T53\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1312..1343,\n        ident: Ident {\n            span: 1317..1320,\n            sym: \"T60\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 1339..1374,\n        ident: Ident {\n            span: 1344..1347,\n            sym: \"T61\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1375..1403,\n        kind: Let,\n        declare: true,\n        declarators: [\n            VarDeclarator {\n                span: 1375..1393,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1395..1488,\n        ident: Ident {\n            span: 1404..1415,\n            sym: \"getProperty\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1480..1587,\n        ident: Ident {\n            span: 1489..1500,\n            sym: \"setProperty\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1612..1656,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1612..1648,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1653..1707,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1653..1689,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1704..1782,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1704..1756,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1579..1931,\n        ident: Ident {\n            span: 1588..1591,\n            sym: \"f10\",\n        },\n        declare: false,\n        params: [\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1923..2389,\n        ident: Ident {\n            span: 1932..1935,\n            sym: \"f20\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 2544..2554,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 2544..2554,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 2381..2942,\n        ident: Ident {\n            span: 2390..2392,\n            sym: \"f3\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3181..3235,\n        ident: Ident {\n            span: 3186..3192,\n            sym: \"MyType\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 3231..3275,\n        ident: Ident {\n            span: 3236..3243,\n            sym: \"Result1\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3270..3315,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3270..3299,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3310..3349,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3310..3339,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3341..3539,\n        ident: Ident {\n            span: 3350..3355,\n            sym: \"test1\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3574..3629,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3574..3627,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3531..3639,\n        ident: Ident {\n            span: 3540..3543,\n            sym: \"f30\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 3674..3783,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 3674..3781,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 3631..3812,\n        ident: Ident {\n            span: 3640..3643,\n            sym: \"f31\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 1379..1383,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1438..1441,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1446..1449,\n        sym: \"key\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1523..1526,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1531..1534,\n        sym: \"key\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1539..1544,\n        sym: \"value\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 1592..1597,\n        sym: \"shape\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1616..1618,\n        sym: \"x1\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1619..1648,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1657..1659,\n        sym: \"x2\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1660..1689,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1708..1710,\n        sym: \"x3\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 1711..1756,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1942..1943,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1952..1953,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1962..1964,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1981..1983,\n        sym: \"k2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2004..2006,\n        sym: \"k3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2023..2025,\n        sym: \"k4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2162..2164,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2175..2177,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2198..2200,\n        sym: \"k1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2222..2224,\n        sym: \"k2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2235..2237,\n        sym: \"k2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2258..2260,\n        sym: \"k2\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2282..2284,\n        sym: \"k3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2295..2297,\n        sym: \"k3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2308..2310,\n        sym: \"k3\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2322..2324,\n        sym: \"k4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2335..2337,\n        sym: \"k4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2348..2350,\n        sym: \"k4\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2463..2464,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2469..2470,\n        sym: \"k\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2475..2477,\n        sym: \"tk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2485..2486,\n        sym: \"u\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2491..2492,\n        sym: \"j\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2497..2499,\n        sym: \"uk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2507..2509,\n        sym: \"tj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2517..2519,\n        sym: \"uj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2548..2551,\n        sym: \"key\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2568..2571,\n        sym: \"key\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2605..2606,\n        sym: \"k\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 2694..2696,\n        sym: \"tk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2748..2750,\n        sym: \"tk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2761..2763,\n        sym: \"uk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2784..2786,\n        sym: \"tj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2797..2799,\n        sym: \"uj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2820..2822,\n        sym: \"tk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2833..2835,\n        sym: \"tj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2856..2858,\n        sym: \"tk\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2869..2871,\n        sym: \"uj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3023..3024,\n        sym: \"k\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3276..3278,\n        sym: \"a1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3316..3318,\n        sym: \"b1\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3406..3407,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3412..3413,\n        sym: \"k\",\n    },\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Expr(\n    _,\n)",
    "Ident(\n    Ident {\n        span: 3578..3579,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3678..3679,\n        sym: \"x\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 44..50,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 64..70,\n        sym: \"number\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 85..92,\n        sym: \"boolean\",\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1467..1470,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1471..1474,\n        sym: \"key\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1470..1476,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1558..1561,\n        sym: \"obj\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1562..1565,\n        sym: \"key\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 1561..1568,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 1569..1574,\n        sym: \"value\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 1567..1575,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1621..1632,\n        sym: \"getProperty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1633..1638,\n        sym: \"shape\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1640..1646,\n            value: \"name\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1632..1648,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1662..1673,\n        sym: \"getProperty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1674..1679,\n        sym: \"shape\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1681..1687,\n            value: \"size\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1673..1689,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1713..1724,\n        sym: \"getProperty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1725..1730,\n        sym: \"shape\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1732..1736,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1739..1745,\n            value: \"name\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1748..1754,\n            value: \"size\",\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 1737..1755,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Call(\n    CallExpr {\n        span: 1724..1756,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1771..1782,\n        sym: \"setProperty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1783..1788,\n        sym: \"shape\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1790..1796,\n            value: \"name\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1798..1809,\n            value: \"rectangle\",\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1782..1811,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1816..1827,\n        sym: \"setProperty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1828..1833,\n        sym: \"shape\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1835..1841,\n            value: \"size\",\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1843..1845,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1827..1847,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 1862..1873,\n        sym: \"setProperty\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1874..1879,\n        sym: \"shape\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1881..1885,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1888..1894,\n            value: \"name\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1897..1903,\n            value: \"size\",\n        },\n    ),\n)",
    "Cond(\n    CondExpr {\n        span: 1886..1904,\n        test: _,\n        cons: _,\n        alt: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1905..1907,\n            value: 10.0,\n        },\n    ),\n)",
    "Call(\n    CallExpr {\n        span: 1873..1909,\n        callee: _,\n        args: [\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n            ExprOrSpread {\n                spread: false,\n                expr: _,\n            },\n        ],\n    },\n)",
    "Ident(\n    Ident {\n        span: 2052..2053,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2054..2056,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2053..2058,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2063..2064,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2065..2067,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2064..2069,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2074..2075,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2076..2078,\n        sym: \"k3\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2075..2080,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2095..2096,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2097..2099,\n        sym: \"k4\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2096..2101,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2117..2118,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2119..2121,\n        sym: \"k1\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2118..2123,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2128..2129,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2130..2132,\n        sym: \"k2\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2129..2134,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2139..2140,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2141..2143,\n        sym: \"k3\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2140..2145,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2150..2151,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2152..2154,\n        sym: \"k4\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2151..2156,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2167..2169,\n        sym: \"k2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2165..2170,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2180..2182,\n        sym: \"k3\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2178..2183,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2203..2205,\n        sym: \"k4\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2201..2206,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2227..2229,\n        sym: \"k1\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2225..2230,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2240..2242,\n        sym: \"k3\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2238..2243,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2263..2265,\n        sym: \"k4\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2261..2266,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2287..2289,\n        sym: \"k1\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2285..2290,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2300..2302,\n        sym: \"k2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2298..2303,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2313..2315,\n        sym: \"k4\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2311..2316,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2327..2329,\n        sym: \"k1\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2325..2330,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2340..2342,\n        sym: \"k2\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2338..2343,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2353..2355,\n        sym: \"k3\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2351..2356,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2555..2556,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2574..2575,\n        sym: \"k\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2572..2606,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2609..2612,\n        sym: \"key\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2607..2647,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2646..2647,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2648..2651,\n        sym: \"key\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2647..2654,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 2655..2657,\n        sym: \"tk\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2653..2658,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2699..2700,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 2701..2704,\n        sym: \"key\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 2700..2706,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2697..2706,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2753..2755,\n        sym: \"uk\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2751..2756,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2766..2768,\n        sym: \"tk\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2764..2769,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2789..2791,\n        sym: \"uj\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2787..2792,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2802..2804,\n        sym: \"tj\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2800..2805,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2825..2827,\n        sym: \"tj\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2823..2828,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2838..2840,\n        sym: \"tk\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2836..2841,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2861..2863,\n        sym: \"uj\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2859..2864,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 2874..2876,\n        sym: \"tk\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 2872..2877,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3027..3034,\n            value: \"hello\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 3025..3035,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3295..3298,\n            value: \"a\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3335..3338,\n            value: \"b\",\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3424..3425,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3426..3427,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3425..3430,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3431..3433,\n            value: 42.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 3429..3434,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3449..3450,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3451..3452,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3450..3455,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3456..3463,\n            value: \"hello\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 3454..3464,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 3479..3480,\n        sym: \"t\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3481..3482,\n        sym: \"k\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 3480..3485,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3487..3489,\n            value: 10.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 3491..3493,\n            value: 20.0,\n        },\n    ),\n)",
    "Array(\n    ArrayExpr {\n        span: 3486..3495,\n        elems: [\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n            Some(\n                ExprOrSpread {\n                    spread: false,\n                    expr: _,\n                },\n            ),\n        ],\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 3484..3495,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3619..3626,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 3773..3780,\n            value: \"hello\",\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 3916..3922,\n        sym: \"public\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 3996..4000,\n        sym: \"this\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4000..4007,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 4001..4006,\n                sym: \"testy\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 4007..4010,\n        sym: \"key\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 4006..4012,\n        obj: _,\n        prop: Computed(\n            _,\n        ),\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 133..136,\n        name: Ident {\n            span: 133..136,\n            sym: \"T\",\n        },\n        type_args: [],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 118..137,\n        members: [\n            TsTypeMember {\n                span: 120..136,\n                kind: Index,\n                name: None,\n                optional: false,\n                readonly: false,\n                params: [\n                    TsFnParam {\n                        span: 121..122,\n                        name: Some(\n                            Ident {\n                                span: 121..122,\n                                sym: \"x\",\n                            },\n                        ),\n                        ty: Some(\n                            _,\n                        ),\n                        is_rest: false,\n                        optional: false,\n                    },\n                ],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 156..159,\n        name: Ident {\n            span: 156..159,\n            sym: \"K0\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 150..159,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 188..195,\n        name: Ident {\n            span: 188..195,\n            sym: \"Object\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 182..195,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 219..226,\n        name: Ident {\n            span: 219..226,\n            sym: \"Object\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 213..226,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 207..226,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 256..263,\n        name: Ident {\n            span: 256..263,\n            sym: \"Object\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 250..263,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 244..263,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 238..263,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 299..306,\n        name: Ident {\n            span: 299..306,\n            sym: \"Object\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 293..306,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 287..306,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 281..306,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 275..306,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 348..355,\n        name: Ident {\n            span: 348..355,\n            sym: \"Object\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 342..355,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 336..355,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 330..355,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 324..355,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 318..355,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 403..410,\n        name: Ident {\n            span: 403..410,\n            sym: \"Object\",\n        },\n        type_args: [],\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 397..410,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 391..410,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 385..410,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 379..410,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 373..410,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeOperator(\n    TsTypeOperatorType {\n        span: 367..410,\n        op: KeyOf,\n        ty: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 423..429,\n        name: Ident {\n            span: 423..429,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 429..435,\n            value: \"name\",\n        },\n    ),\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 423..437,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 449..455,\n        name: Ident {\n            span: 449..455,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 455..460,\n            value: \"foo\",\n        },\n    ),\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 449..462,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 484..490,\n        name: Ident {\n            span: 484..490,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 490..496,\n            value: \"name\",\n        },\n    ),\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 499..504,\n            value: \"foo\",\n        },\n    ),\n)",
    "Union(\n    TsUnionType {\n        span: 490..505,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 484..506,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 528..534,\n        name: Ident {\n            span: 528..534,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Any,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 528..539,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 561..567,\n        name: Ident {\n            span: 561..567,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 561..575,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 597..603,\n        name: Ident {\n            span: 597..603,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 597..611,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 633..639,\n        name: Ident {\n            span: 633..639,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Boolean,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 633..648,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 670..676,\n        name: Ident {\n            span: 670..676,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Void,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 670..682,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 704..710,\n        name: Ident {\n            span: 704..710,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    Undefined,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 704..721,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 743..749,\n        name: Ident {\n            span: 743..749,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 749..763,\n        members: [\n            TsTypeMember {\n                span: 751..762,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 751..752,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 743..764,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 786..792,\n        name: Ident {\n            span: 786..792,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Union(\n    TsUnionType {\n        span: 792..808,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 786..809,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 831..837,\n        name: Ident {\n            span: 831..837,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Intersection(\n    TsIntersectionType {\n        span: 837..853,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 831..854,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 866..872,\n        name: Ident {\n            span: 866..872,\n            sym: \"Shape\",\n        },\n        type_args: [],\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Boolean,\n)",
    "Union(\n    TsUnionType {\n        span: 872..889,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 866..890,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 913..922,\n        elem_type: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 922..930,\n            value: \"length\",\n        },\n    ),\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 913..932,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 944..953,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 944..961,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 973..982,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 973..990,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 1012..1021,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Boolean,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1012..1030,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1053..1072,\n        name: Ident {\n            span: 1053..1064,\n            sym: \"Dictionary\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Any,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1053..1077,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1089..1108,\n        name: Ident {\n            span: 1089..1100,\n            sym: \"Dictionary\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Number,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1089..1116,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1128..1147,\n        name: Ident {\n            span: 1128..1139,\n            sym: \"Dictionary\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Keyword(\n    String,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1128..1155,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 1167..1186,\n        name: Ident {\n            span: 1167..1178,\n            sym: \"Dictionary\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)",
    "Keyword(\n    Boolean,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1167..1195,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    Any,\n)",
    "Keyword(\n    Any,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1218..1227,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    Any,\n)",
    "Keyword(\n    Number,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1239..1251,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    Any,\n)",
    "Keyword(\n    String,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1263..1275,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    Any,\n)",
    "Keyword(\n    Boolean,\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1287..1300,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 1323..1326,\n        members: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1326..1336,\n            value: \"toString\",\n        },\n    ),\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1323..1338,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Tuple(\n    TsTupleType {\n        span: 1350..1353,\n        elem_types: [],\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1353..1363,\n            value: \"toString\",\n        },\n    ),\n)",
    "IndexedAccess(\n    TsIndexedAccessType {\n        span: 1350..1365,\n        obj_type: _,\n        index_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Undefined,\n)",
    "Union(\n    TsUnionType {\n        span: 3210..3229,\n        types: [\n            _,\n            _,\n        ],\n    },\n)",
    "TypeLit(\n    TsTypeLit {\n        span: 3195..3235,\n        members: [\n            TsTypeMember {\n                span: 3196..3208,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3196..3197,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 3207..3229,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3207..3208,\n                            sym: \"b\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3260..3267,\n        name: Ident {\n            span: 3260..3267,\n            sym: \"MyType\",\n        },\n        type_args: [],\n    },\n)",
    "TypeRef(\n    TsTypeRef {\n        span: 3246..3268,\n        name: Ident {\n            span: 3246..3260,\n            sym: \"UndefinedKeys\",\n        },\n        type_args: [\n            _,\n        ],\n    },\n)"
  ]
}
