{
  "programs": [
    "Program {\n    span: 63..773,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 429..438,\n        expr: _,\n    },\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "ModuleDecl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 85..122,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 85..122,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 123..186,\n        ident: Ident {\n            span: 133..138,\n            sym: \"Point\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 149..169,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 149..150,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 168..184,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 168..169,\n                            sym: \"y\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 63..195,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 70..71,\n                sym: \"A\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 204..238,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 204..227,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 189..259,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 196..197,\n                sym: \"B\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 301..378,\n        ident: Ident {\n            span: 311..316,\n            sym: \"Point\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 330..354,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 330..331,\n                            sym: \"x\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 353..372,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 353..354,\n                            sym: \"y\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 275..390,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 282..283,\n                sym: \"Y\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 253..430,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 260..261,\n                sym: \"X\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 468..481,\n        kind: Var,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 468..479,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 432..493,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 439..440,\n                sym: \"Z\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 507..525,\n        ident: Ident {\n            span: 512..513,\n            sym: \"A\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 487..533,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 494..495,\n                sym: \"a\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 572..585,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 579..580,\n                sym: \"A\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 527..593,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 534..535,\n                sym: \"b\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 587..631,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 594..595,\n                sym: \"c\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 645..660,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 645..658,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 625..668,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 632..633,\n                sym: \"q\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "TsTypeAlias(\n    TsTypeAliasDecl {\n        span: 707..725,\n        ident: Ident {\n            span: 712..713,\n            sym: \"Q\",\n        },\n        declare: false,\n        type_params: [],\n        ty: _,\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 662..733,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 669..670,\n                sym: \"r\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                ],\n            ),\n        ),\n    },\n)",
    "Var(\n    VarDecl {\n        span: 758..772,\n        kind: Const,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 758..770,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "TsModule(\n    TsModuleDecl {\n        span: 727..773,\n        declare: false,\n        global: false,\n        namespace: false,\n        id: Ident(\n            Ident {\n                span: 734..735,\n                sym: \"s\",\n            },\n        ),\n        body: Some(\n            ModuleBlock(\n                [\n                    _,\n                    _,\n                ],\n            ),\n        ),\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 89..94,\n        sym: \"Point\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 95..122,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 208..209,\n        sym: \"A\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 210..227,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 472..473,\n        sym: \"Y\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 474..479,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 651..652,\n        sym: \"Q\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 653..658,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 764..765,\n        sym: \"Q\",\n    },\n)",
    "Assign(\n    AssignPat {\n        span: 766..770,\n        left: _,\n        right: _,\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Num(\n        NumberLit {\n            span: 102..103,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 108..109,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 97..122,\n        props: [\n            KeyValueProp {\n                span: 99..104,\n                key: Ident(\n                    Ident {\n                        span: 99..100,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 105..111,\n                key: Ident(\n                    Ident {\n                        span: 105..106,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 217..218,\n            value: 0.0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 223..224,\n            value: 0.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 212..227,\n        props: [\n            KeyValueProp {\n                span: 214..219,\n                key: Ident(\n                    Ident {\n                        span: 214..215,\n                        sym: \"x\",\n                    },\n                ),\n                value: _,\n            },\n            KeyValueProp {\n                span: 220..226,\n                key: Ident(\n                    Ident {\n                        span: 220..221,\n                        sym: \"y\",\n                    },\n                ),\n                value: _,\n            },\n        ],\n    },\n)",
    "Lit(\n    Null(\n        NullLit {\n            span: 0..0,\n        },\n    ),\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 476..478,\n            value: 12.0,\n        },\n    ),\n)",
    "Object(\n    ObjectExpr {\n        span: 655..658,\n        props: [],\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 768..769,\n            value: 0.0,\n        },\n    ),\n)"
  ],
  "module_decls": [
    "ExportDecl(\n    ExportDecl {\n        span: 78..122,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 116..186,\n        decl: _,\n    },\n)",
    "Import(\n    ImportDecl {\n        span: 232..251,\n        specifiers: [\n            Default(\n                ImportDefaultSpecifier {\n                    local: Ident {\n                        span: 239..244,\n                        sym: \"Point\",\n                    },\n                },\n            ),\n        ],\n        type_only: false,\n        src: StrLit {\n            span: 0..0,\n            value: \"\",\n        },\n        with: [],\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 294..378,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 268..390,\n        decl: _,\n    },\n)",
    "Import(\n    ImportDecl {\n        span: 447..471,\n        specifiers: [\n            Default(\n                ImportDefaultSpecifier {\n                    local: Ident {\n                        span: 454..455,\n                        sym: \"Y\",\n                    },\n                },\n            ),\n        ],\n        type_only: false,\n        src: StrLit {\n            span: 0..0,\n            value: \"\",\n        },\n        with: [],\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 500..525,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 565..585,\n        decl: _,\n    },\n)",
    "Import(\n    ImportDecl {\n        span: 600..619,\n        specifiers: [],\n        type_only: false,\n        src: StrLit {\n            span: 0..0,\n            value: \"\",\n        },\n        with: [],\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 638..660,\n        decl: _,\n    },\n)",
    "ExportDecl(\n    ExportDecl {\n        span: 700..725,\n        decl: _,\n    },\n)",
    "Import(\n    ImportDecl {\n        span: 740..763,\n        specifiers: [\n            Default(\n                ImportDefaultSpecifier {\n                    local: Ident {\n                        span: 747..748,\n                        sym: \"Q\",\n                    },\n                },\n            ),\n        ],\n        type_only: false,\n        src: StrLit {\n            span: 0..0,\n            value: \"\",\n        },\n        with: [],\n    },\n)"
  ],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)"
  ]
}
