{
  "programs": [
    "Program {\n    span: 103..3345,\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}"
  ],
  "stmts": [
    "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)"
  ],
  "decls": [
    "TsInterface(\n    TsInterfaceDecl {\n        span: 103..337,\n        ident: Ident {\n            span: 113..117,\n            sym: \"Base\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [],\n        body: [\n            TsTypeMember {\n                span: 125..165,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 125..126,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 163..212,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 163..165,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 210..271,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 210..212,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n            TsTypeMember {\n                span: 269..326,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 269..271,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 328..427,\n        ident: Ident {\n            span: 338..340,\n            sym: \"I1\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 349..355,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 360..416,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 360..361,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 418..535,\n        ident: Ident {\n            span: 428..431,\n            sym: \"I1B\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 440..446,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 451..524,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 451..452,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 526..629,\n        ident: Ident {\n            span: 536..539,\n            sym: \"I1C\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 548..554,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 559..618,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 559..560,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 620..729,\n        ident: Ident {\n            span: 630..632,\n            sym: \"I2\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 641..647,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 652..718,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 652..653,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 720..854,\n        ident: Ident {\n            span: 730..733,\n            sym: \"I2B\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 742..748,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 753..843,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 753..754,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 845..947,\n        ident: Ident {\n            span: 855..857,\n            sym: \"I3\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 866..872,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 877..936,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 877..878,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 938..1040,\n        ident: Ident {\n            span: 948..951,\n            sym: \"I3B\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 960..966,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 971..1027,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 971..972,\n                            sym: \"a\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1031..1122,\n        ident: Ident {\n            span: 1041..1043,\n            sym: \"I4\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1052..1058,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1063..1111,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1063..1065,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1113..1222,\n        ident: Ident {\n            span: 1123..1126,\n            sym: \"I4B\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1135..1141,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1146..1211,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1146..1148,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1213..1314,\n        ident: Ident {\n            span: 1223..1225,\n            sym: \"I5\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1234..1240,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1245..1303,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1245..1247,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1305..1414,\n        ident: Ident {\n            span: 1315..1317,\n            sym: \"I6\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1326..1332,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1337..1403,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1337..1339,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1405..1534,\n        ident: Ident {\n            span: 1415..1418,\n            sym: \"I6B\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1427..1433,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1438..1523,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1438..1440,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1525..1625,\n        ident: Ident {\n            span: 1535..1538,\n            sym: \"I6C\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1547..1553,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1558..1614,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1558..1560,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1616..1731,\n        ident: Ident {\n            span: 1626..1629,\n            sym: \"I6D\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1638..1644,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1649..1720,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1649..1651,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1722..1846,\n        ident: Ident {\n            span: 1732..1735,\n            sym: \"I6E\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1744..1750,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1755..1833,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1755..1757,\n                            sym: \"a2\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1837..1928,\n        ident: Ident {\n            span: 1847..1849,\n            sym: \"I7\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1858..1864,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1869..1917,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1869..1871,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 1919..2020,\n        ident: Ident {\n            span: 1929..1931,\n            sym: \"I8\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 1940..1946,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 1951..2009,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 1951..1953,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2011..2120,\n        ident: Ident {\n            span: 2021..2023,\n            sym: \"I9\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2032..2038,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2043..2109,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2043..2045,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2111..2227,\n        ident: Ident {\n            span: 2121..2124,\n            sym: \"I10\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2133..2139,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2144..2216,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2144..2146,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2218..2325,\n        ident: Ident {\n            span: 2228..2232,\n            sym: \"I10B\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2241..2247,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2252..2314,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2252..2254,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2316..2415,\n        ident: Ident {\n            span: 2326..2330,\n            sym: \"I10C\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2339..2345,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2350..2404,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2350..2352,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2406..2533,\n        ident: Ident {\n            span: 2416..2420,\n            sym: \"I10D\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2429..2435,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2440..2522,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2440..2442,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2524..2623,\n        ident: Ident {\n            span: 2534..2538,\n            sym: \"I10E\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2547..2553,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2558..2612,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2558..2560,\n                            sym: \"a3\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2614..2706,\n        ident: Ident {\n            span: 2624..2627,\n            sym: \"I11\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2636..2642,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2647..2695,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2647..2649,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2697..2806,\n        ident: Ident {\n            span: 2707..2710,\n            sym: \"I12\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2719..2725,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2730..2795,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2730..2732,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2797..2901,\n        ident: Ident {\n            span: 2807..2810,\n            sym: \"I13\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2819..2825,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2830..2890,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2830..2832,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 2892..3018,\n        ident: Ident {\n            span: 2902..2905,\n            sym: \"I14\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 2914..2920,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 2925..3007,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 2925..2927,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3009..3153,\n        ident: Ident {\n            span: 3019..3022,\n            sym: \"I15\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 3031..3037,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3042..3142,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3042..3044,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3144..3275,\n        ident: Ident {\n            span: 3154..3157,\n            sym: \"I16\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 3166..3172,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3177..3264,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3177..3179,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)",
    "TsInterface(\n    TsInterfaceDecl {\n        span: 3266..3345,\n        ident: Ident {\n            span: 3276..3279,\n            sym: \"I17\",\n        },\n        declare: false,\n        type_params: [],\n        extends: [\n            Ident {\n                span: 3288..3294,\n                sym: \"Base\",\n            },\n        ],\n        body: [\n            TsTypeMember {\n                span: 3299..3344,\n                kind: Property,\n                name: Some(\n                    Ident(\n                        Ident {\n                            span: 3299..3301,\n                            sym: \"a4\",\n                        },\n                    ),\n                ),\n                optional: false,\n                readonly: false,\n                params: [],\n                ty: Some(\n                    _,\n                ),\n            },\n        ],\n    },\n)"
  ],
  "pats": [],
  "exprs": [],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": [
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 138..147,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 128..158,\n        params: [\n            TsFnParam {\n                span: 129..147,\n                name: Some(\n                    Ident {\n                        span: 132..136,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 185..194,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 167..205,\n        params: [\n            TsFnParam {\n                span: 168..178,\n                name: Some(\n                    Ident {\n                        span: 168..169,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 179..194,\n                name: Some(\n                    Ident {\n                        span: 182..183,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 244..253,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 214..264,\n        params: [\n            TsFnParam {\n                span: 215..225,\n                name: Some(\n                    Ident {\n                        span: 215..216,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 226..237,\n                name: Some(\n                    Ident {\n                        span: 226..227,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 238..253,\n                name: Some(\n                    Ident {\n                        span: 241..242,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 304..313,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 273..324,\n        params: [\n            TsFnParam {\n                span: 274..285,\n                name: Some(\n                    Ident {\n                        span: 274..275,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 286..297,\n                name: Some(\n                    Ident {\n                        span: 286..287,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 298..313,\n                name: Some(\n                    Ident {\n                        span: 301..302,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 363..376,\n        params: [],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 464..473,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 454..484,\n        params: [\n            TsFnParam {\n                span: 455..473,\n                name: Some(\n                    Ident {\n                        span: 458..462,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 572..581,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 562..592,\n        params: [\n            TsFnParam {\n                span: 563..581,\n                name: Some(\n                    Ident {\n                        span: 566..570,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 655..678,\n        params: [\n            TsFnParam {\n                span: 656..667,\n                name: Some(\n                    Ident {\n                        span: 656..657,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 756..803,\n        params: [\n            TsFnParam {\n                span: 757..768,\n                name: Some(\n                    Ident {\n                        span: 757..758,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 769..780,\n                name: Some(\n                    Ident {\n                        span: 769..770,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 781..792,\n                name: Some(\n                    Ident {\n                        span: 781..782,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 880..902,\n        params: [\n            TsFnParam {\n                span: 881..891,\n                name: Some(\n                    Ident {\n                        span: 881..882,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 974..997,\n        params: [\n            TsFnParam {\n                span: 975..986,\n                name: Some(\n                    Ident {\n                        span: 975..976,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1067..1080,\n        params: [],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 1160..1169,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1150..1180,\n        params: [\n            TsFnParam {\n                span: 1151..1169,\n                name: Some(\n                    Ident {\n                        span: 1154..1158,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1249..1272,\n        params: [\n            TsFnParam {\n                span: 1250..1261,\n                name: Some(\n                    Ident {\n                        span: 1250..1251,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1341..1363,\n        params: [\n            TsFnParam {\n                span: 1342..1352,\n                name: Some(\n                    Ident {\n                        span: 1342..1343,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 1463..1472,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1442..1483,\n        params: [\n            TsFnParam {\n                span: 1443..1453,\n                name: Some(\n                    Ident {\n                        span: 1443..1444,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1454..1472,\n                name: Some(\n                    Ident {\n                        span: 1457..1461,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 1583..1592,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1562..1603,\n        params: [\n            TsFnParam {\n                span: 1563..1573,\n                name: Some(\n                    Ident {\n                        span: 1563..1564,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1574..1592,\n                name: Some(\n                    Ident {\n                        span: 1577..1581,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1653..1686,\n        params: [\n            TsFnParam {\n                span: 1654..1664,\n                name: Some(\n                    Ident {\n                        span: 1654..1655,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1665..1675,\n                name: Some(\n                    Ident {\n                        span: 1665..1666,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1759..1793,\n        params: [\n            TsFnParam {\n                span: 1760..1770,\n                name: Some(\n                    Ident {\n                        span: 1760..1761,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 1771..1782,\n                name: Some(\n                    Ident {\n                        span: 1771..1772,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1873..1886,\n        params: [],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 1955..1978,\n        params: [\n            TsFnParam {\n                span: 1956..1967,\n                name: Some(\n                    Ident {\n                        span: 1956..1957,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2047..2069,\n        params: [\n            TsFnParam {\n                span: 2048..2058,\n                name: Some(\n                    Ident {\n                        span: 2048..2049,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2148..2181,\n        params: [\n            TsFnParam {\n                span: 2149..2159,\n                name: Some(\n                    Ident {\n                        span: 2149..2150,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 2160..2170,\n                name: Some(\n                    Ident {\n                        span: 2160..2161,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2256..2302,\n        params: [\n            TsFnParam {\n                span: 2257..2267,\n                name: Some(\n                    Ident {\n                        span: 2257..2258,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 2268..2279,\n                name: Some(\n                    Ident {\n                        span: 2268..2269,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 2280..2291,\n                name: Some(\n                    Ident {\n                        span: 2280..2281,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 2372..2381,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2354..2392,\n        params: [\n            TsFnParam {\n                span: 2355..2365,\n                name: Some(\n                    Ident {\n                        span: 2355..2356,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 2366..2381,\n                name: Some(\n                    Ident {\n                        span: 2369..2370,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2444..2490,\n        params: [\n            TsFnParam {\n                span: 2445..2455,\n                name: Some(\n                    Ident {\n                        span: 2445..2446,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 2456..2467,\n                name: Some(\n                    Ident {\n                        span: 2456..2457,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 2468..2479,\n                name: Some(\n                    Ident {\n                        span: 2468..2469,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 2580..2589,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2562..2600,\n        params: [\n            TsFnParam {\n                span: 2563..2573,\n                name: Some(\n                    Ident {\n                        span: 2563..2564,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 2574..2589,\n                name: Some(\n                    Ident {\n                        span: 2577..2578,\n                        sym: \"z\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2651..2664,\n        params: [],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2734..2769,\n        params: [\n            TsFnParam {\n                span: 2735..2746,\n                name: Some(\n                    Ident {\n                        span: 2735..2736,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 2747..2758,\n                name: Some(\n                    Ident {\n                        span: 2747..2748,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2834..2856,\n        params: [\n            TsFnParam {\n                span: 2835..2845,\n                name: Some(\n                    Ident {\n                        span: 2835..2836,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 2929..2963,\n        params: [\n            TsFnParam {\n                span: 2930..2940,\n                name: Some(\n                    Ident {\n                        span: 2930..2931,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 2941..2952,\n                name: Some(\n                    Ident {\n                        span: 2941..2942,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 3046..3081,\n        params: [\n            TsFnParam {\n                span: 3047..3058,\n                name: Some(\n                    Ident {\n                        span: 3047..3048,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n            TsFnParam {\n                span: 3059..3070,\n                name: Some(\n                    Ident {\n                        span: 3059..3060,\n                        sym: \"y\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: true,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Keyword(\n    String,\n)",
    "Array(\n    TsArrayType {\n        span: 3202..3211,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 3181..3222,\n        params: [\n            TsFnParam {\n                span: 3182..3192,\n                name: Some(\n                    Ident {\n                        span: 3182..3183,\n                        sym: \"x\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: false,\n                optional: false,\n            },\n            TsFnParam {\n                span: 3193..3211,\n                name: Some(\n                    Ident {\n                        span: 3196..3200,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Array(\n    TsArrayType {\n        span: 3313..3322,\n        elem_type: _,\n    },\n)",
    "Keyword(\n    Number,\n)",
    "Fn(\n    TsFnType {\n        span: 3303..3333,\n        params: [\n            TsFnParam {\n                span: 3304..3322,\n                name: Some(\n                    Ident {\n                        span: 3307..3311,\n                        sym: \"args\",\n                    },\n                ),\n                ty: Some(\n                    _,\n                ),\n                is_rest: true,\n                optional: false,\n            },\n        ],\n        return_type: _,\n    },\n)"
  ]
}
