{
  "programs": [
    "Program {\n    span: 1..1322,\n    kind: Script,\n    body: [\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n        _,\n    ],\n}"
  ],
  "stmts": [
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 67..81,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 92..110,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 82..116,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 79..125,\n        body: _,\n        test: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 173..187,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 198..220,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 219..240,\n        expr: _,\n    },\n)",
    "Break(\n    BreakStmt {\n        span: 235..247,\n        label: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 188..253,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 185..262,\n        body: _,\n        test: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 310..324,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 335..357,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 356..381,\n        expr: _,\n    },\n)",
    "Continue(\n    ContinueStmt {\n        span: 406..429,\n        label: None,\n    },\n)",
    "If(\n    IfStmt {\n        span: 379..429,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Break(\n    BreakStmt {\n        span: 424..436,\n        label: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 325..442,\n        stmts: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 322..451,\n        body: _,\n        test: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 499..515,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 526..548,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 547..560,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 516..566,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 513..587,\n        body: _,\n        test: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 586..600,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 648..662,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 673..686,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 663..692,\n        stmts: [\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 660..705,\n        body: _,\n        test: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 704..718,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 796..810,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 845..870,\n        expr: _,\n    },\n)",
    "Break(\n    BreakStmt {\n        span: 865..881,\n        label: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 831..892,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 821..892,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 914..944,\n        expr: _,\n    },\n)",
    "Continue(\n    ContinueStmt {\n        span: 936..955,\n        label: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 900..965,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 890..965,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 964..978,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 811..984,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 808..997,\n        body: _,\n        test: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 996..1029,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)",
    "Decl(\n    _,\n)",
    "Expr(\n    ExprStmt {\n        span: 1107..1121,\n        expr: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1156..1181,\n        expr: _,\n    },\n)",
    "Break(\n    BreakStmt {\n        span: 1176..1192,\n        label: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1142..1203,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1132..1203,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1225..1255,\n        expr: _,\n    },\n)",
    "Continue(\n    ContinueStmt {\n        span: 1247..1266,\n        label: None,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1211..1276,\n        stmts: [\n            _,\n            _,\n        ],\n    },\n)",
    "If(\n    IfStmt {\n        span: 1201..1276,\n        test: _,\n        cons: _,\n        alt: None,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1275..1289,\n        expr: _,\n    },\n)",
    "Block(\n    BlockStmt {\n        span: 1122..1295,\n        stmts: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "DoWhile(\n    DoWhileStmt {\n        span: 1119..1308,\n        body: _,\n        test: _,\n    },\n)",
    "Expr(\n    ExprStmt {\n        span: 1307..1321,\n        expr: _,\n    },\n)",
    "Decl(\n    _,\n)"
  ],
  "decls": [
    "Var(\n    VarDecl {\n        span: 1..28,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1..19,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 39..68,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 39..62,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 20..134,\n        ident: Ident {\n            span: 29..30,\n            sym: \"a\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 145..174,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 145..168,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 126..271,\n        ident: Ident {\n            span: 135..136,\n            sym: \"b\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 282..311,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 282..305,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 263..460,\n        ident: Ident {\n            span: 272..273,\n            sym: \"c\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 471..500,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 471..494,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 452..609,\n        ident: Ident {\n            span: 461..462,\n            sym: \"d\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 620..649,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 620..643,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 601..727,\n        ident: Ident {\n            span: 610..611,\n            sym: \"e\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 738..797,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 738..791,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 719..1038,\n        ident: Ident {\n            span: 728..729,\n            sym: \"f\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)",
    "Var(\n    VarDecl {\n        span: 1049..1108,\n        kind: Let,\n        declare: false,\n        declarators: [\n            VarDeclarator {\n                span: 1049..1102,\n                name: _,\n                init: None,\n            },\n        ],\n    },\n)",
    "Fn(\n    FnDecl {\n        span: 1030..1322,\n        ident: Ident {\n            span: 1039..1040,\n            sym: \"g\",\n        },\n        declare: false,\n        params: [],\n        body: [\n            _,\n            _,\n            _,\n            _,\n        ],\n    },\n)"
  ],
  "pats": [
    "Ident(\n    Ident {\n        span: 5..9,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 43..44,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 67..68,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 149..150,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 173..174,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 219..220,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 286..287,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 310..311,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 356..357,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 475..476,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 499..500,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 547..548,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 568..569,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 624..625,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 648..649,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 673..674,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 742..743,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 796..797,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 845..846,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 914..915,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 964..965,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1053..1054,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1107..1108,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1156..1157,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1225..1226,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 1275..1276,\n        sym: \"x\",\n    },\n)"
  ],
  "exprs": [
    "Lit(\n    Str(\n        StrLit {\n            span: 71..73,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 69..74,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 92..93,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 118..122,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 177..179,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 175..180,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 198..199,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 223..225,\n            value: 42.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 221..226,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 255..259,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 314..316,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 312..317,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 335..336,\n        sym: \"x\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 360..369,\n        sym: \"undefined\",\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 358..370,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 390..391,\n        sym: \"x\",\n    },\n)",
    "Unary(\n    UnaryExpr {\n        span: 383..395,\n        op: TypeOf,\n        arg: _,\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 396..404,\n            value: \"string\",\n        },\n    ),\n)",
    "Binary(\n    BinaryExpr {\n        span: 392..405,\n        op: EqEqEq,\n        left: _,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 444..448,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 503..507,\n            value: 1000.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 501..508,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 526..527,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 551..553,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 549..554,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 572..573,\n        sym: \"x\",\n    },\n)",
    "Member(\n    MemberExpr {\n        span: 573..581,\n        obj: _,\n        prop: Ident(\n            Ident {\n                span: 574..580,\n                sym: \"length\",\n            },\n        ),\n    },\n)",
    "Assign(\n    AssignExpr {\n        span: 570..581,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 586..587,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 652..654,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 650..655,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 677..679,\n            value: 42.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 675..680,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 694..698,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 704..705,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 800..802,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 798..803,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 825..829,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 849..851,\n            value: 42.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 847..852,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 894..898,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 918..922,\n            value: true,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 916..923,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Regex(\n        RegexLit {\n            span: 968..971,\n            exp: \"a\",\n            flags: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 966..972,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 986..990,\n        sym: \"cond\",\n    },\n)",
    "Ident(\n    Ident {\n        span: 996..997,\n        sym: \"x\",\n    },\n)",
    "Lit(\n    Str(\n        StrLit {\n            span: 1111..1113,\n            value: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1109..1114,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1136..1140,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Num(\n        NumberLit {\n            span: 1160..1162,\n            value: 42.0,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1158..1163,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Ident(\n    Ident {\n        span: 1205..1209,\n        sym: \"cond\",\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1229..1233,\n            value: true,\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1227..1234,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Regex(\n        RegexLit {\n            span: 1279..1282,\n            exp: \"a\",\n            flags: \"\",\n        },\n    ),\n)",
    "Assign(\n    AssignExpr {\n        span: 1277..1283,\n        left: _,\n        op: Assign,\n        right: _,\n    },\n)",
    "Lit(\n    Bool(\n        BoolLit {\n            span: 1297..1301,\n            value: true,\n        },\n    ),\n)",
    "Ident(\n    Ident {\n        span: 1307..1308,\n        sym: \"x\",\n    },\n)"
  ],
  "module_decls": [],
  "functions": [],
  "classes": [],
  "class_members": [],
  "jsx_elements": [],
  "ts_types": []
}
