{
  "programs": [
    "Program {\n    span: 76..1001,\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}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 130..139,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 138..147,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 146..160,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 159..175,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 197..217,\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)",
    "Expr(\n    ExprStmt {\n        span: 650..664,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 662..677,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 913..929,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 928..944,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 943..961,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1000..1001,\n        expr: _,\n    },\n)"
  ],
  "decls": [
    "TsEnum(\n    TsEnumDecl {\n        span: 76..93,\n        ident: Ident {\n            span: 81..82,\n            sym: \"E\",\n        },\n        declare: false,\n        is_const: false,\n        members: [\n            TsEnumMember {\n                span: 85..88,\n                name: Ident(\n                    Ident {\n                        span: 85..86,\n                        sym: \"A\",\n                    },\n                ),\n                init: None,\n            },\n        ],\n    },\n)",
    "TsEnum(\n    TsEnumDecl {\n        span: 89..106,\n        ident: Ident {\n            span: 94..95,\n            sym: \"F\",\n        },\n        declare: false,\n        is_const: false,\n        members: [\n            TsEnumMember {\n                span: 98..101,\n                name: Ident(\n                    Ident {\n                        span: 98..99,\n                        sym: \"B\",\n                    },\n                ),\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 103..119,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 103..115,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 116..131,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 116..128,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 172..198,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 172..190,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 231..263,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 231..246,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 211..302,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 218..224,\n                sym: \"Others\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 299..323,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 299..309,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 314..362,\n        ident: Ident {\n            span: 324..325,\n            sym: \"I\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 336..354,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 336..339,\n                            sym: \"foo\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 359..378,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 359..369,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 375..407,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 375..393,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 404..430,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 404..422,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 427..454,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 427..446,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 451..476,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 451..468,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 473..502,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 473..488,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 499..523,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 499..515,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 520..546,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 520..538,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 543..565,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 543..557,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 562..590,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 562..582,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 587..615,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 587..607,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 612..652,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 612..645,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 674..702,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 674..694,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 699..734,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 699..726,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 731..740,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 731..740,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 762..788,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 762..780,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 785..817,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 785..803,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 958..983,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 958..971,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 980..999,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 980..993,\n                name: _,\n                init: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 809..1001,\n        ident: Ident {\n            span: 818..821,\n            sym: \"foo\",\n        },\n        declare: false,\n        params: [\n            _,\n            _,\n            _,\n        ],\n        body: [\n            _,\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 107..108,\n        sym: \"e\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 109..115,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 120..121,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 122..128,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 130..131,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 138..139,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 146..147,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 159..160,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 176..177,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 197..198,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 235..236,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 303..305,\n        sym: \"ac\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 363..365,\n        sym: \"ai\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 379..380,\n        sym: \"b\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 408..409,\n        sym: \"c\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 431..432,\n        sym: \"d\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 455..457,\n        sym: \"ee\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 477..478,\n        sym: \"f\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 503..504,\n        sym: \"g\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 524..525,\n        sym: \"h\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 547..548,\n        sym: \"i\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 566..567,\n        sym: \"j\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 591..592,\n        sym: \"k\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 616..617,\n        sym: \"l\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 650..652,\n        sym: \"ac\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 662..664,\n        sym: \"ai\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 678..679,\n        sym: \"m\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 703..704,\n        sym: \"n\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 735..736,\n        sym: \"o\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 766..767,\n        sym: \"p\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 789..790,\n        sym: \"q\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 885..886,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 891..892,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 897..898,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 913..914,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 928..929,\n        sym: \"y\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 943..944,\n        sym: \"z\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 962..963,\n        sym: \"a\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 984..985,\n        sym: \"b\",\n    },\n)"
  ],
  "exprs": [
    "Ident(\n    Ident {\n        span: 111..112,\n        sym: \"E\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 112..115,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 113..114,\n                sym: \"A\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 124..125,\n        sym: \"F\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 125..128,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 126..127,\n                sym: \"B\",\n            },\n        ),\n    },\n)",
    "Ident(\n    Ident {\n        span: 134..135,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 132..136,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 142..143,\n        sym: \"e\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 140..144,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 150..151,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 148..152,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 163..164,\n            value: 1.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 161..165,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 188..189,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 201..202,\n        sym: \"f\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 199..203,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 244..245,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 391..392,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 420..421,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 444..445,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 466..467,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 486..487,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 513..514,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 536..537,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 555..556,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 580..581,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 605..606,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 643..644,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 655..656,\n        sym: \"e\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 653..657,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 667..668,\n        sym: \"e\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 665..669,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 692..693,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 724..725,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 778..779,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 801..802,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 917..918,\n        sym: \"e\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 915..919,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 932..933,\n        sym: \"e\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 930..934,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 947..948,\n        sym: \"e\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 945..949,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 969..970,\n        sym: \"e\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 991..992,\n        sym: \"e\",\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)"
  ]
}
