diff --git a/package.json b/package.json index 4e5ed2fc8..fed051370 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "js-slang", - "version": "0.3.2", + "version": "0.3.3", "description": "Javascript-based interpreter for slang, written in Typescript", "author": { "name": "Source Academy", diff --git a/src/__tests__/__snapshots__/substituter.ts.snap b/src/__tests__/__snapshots__/substituter.ts.snap index 4d132bf89..9d0f6045b 100644 --- a/src/__tests__/__snapshots__/substituter.ts.snap +++ b/src/__tests__/__snapshots__/substituter.ts.snap @@ -40777,7 +40777,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -41148,7 +41186,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -41499,7 +41575,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -41785,7 +41899,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -42108,7 +42260,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -42498,7 +42688,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -42868,7 +43096,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -43173,18 +43439,56 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 5, - }, - "start": Position { - "column": 12, - "line": 5, + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", }, - }, - "type": "CallExpression", + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 5, + }, + "start": Position { + "column": 12, + "line": 5, + }, + }, + "type": "CallExpression", }, "type": "BinaryExpression", }, @@ -43515,7 +43819,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -43924,7 +44266,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -44313,7 +44693,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -44637,7 +45055,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -44998,7 +45454,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -45426,7 +45920,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -45834,7 +46366,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -46177,20 +46747,58 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 5, - }, - "start": Position { - "column": 12, - "line": 5, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 5, + }, + "start": Position { + "column": 12, + "line": 5, + }, + }, + "type": "CallExpression", + }, + "type": "BinaryExpression", }, "consequent": Node { "end": 55, @@ -46557,7 +47165,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -47004,7 +47650,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -47431,7 +48115,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -47793,7 +48515,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -48192,7 +48952,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -48658,7 +49456,45 @@ Array [ "type": "BinaryExpression", }, ], - "callee": [Circular], + "callee": Object { + "body": [Circular], + "id": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 11, + "line": 2, + }, + }, + "name": "factorial", + "start": 12, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 23, + "loc": SourceLocation { + "end": Position { + "column": 22, + "line": 2, + }, + "start": Position { + "column": 21, + "line": 2, + }, + }, + "name": "n", + "start": 22, + "type": "Identifier", + }, + ], + "type": "FunctionExpression", + }, "loc": SourceLocation { "end": Position { "column": 26, @@ -54081,7 +54917,44 @@ Array [ ] `; -exports[`even odd mutual 1`] = ` +exports[`const declarations in blocks subst into call expressions 1`] = ` +"const z = 1; +function f(g) { + const z = 3; + return (y => z + z)(z); +} +f(undefined); + +function f(g) { + const z = 3; + return (y => z + z)(z); +} +f(undefined); + +f(undefined); + +{ + const z = 3; + return (y => z + z)(z); +}; + +{ + return (y => 3 + 3)(3); +}; + +{ + return 3 + 3; +}; + +{ + return 6; +}; + +6; +" +`; + +exports[`constant declarations in blocks are protected 1`] = ` Array [ Object { "body": Array [ @@ -54096,429 +54969,532 @@ Array [ "line": 2, }, "start": Position { - "column": 8, + "column": 10, "line": 2, }, }, - "name": "odd", - "start": 9, + "name": "z", + "start": 11, "type": "Identifier", }, - "init": Object { - "body": Object { - "alternate": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 44, - "loc": SourceLocation { - "end": Position { - "column": 43, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, - }, - "name": "n", - "start": 43, - "type": "Identifier", + "init": Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "raw": "1", + "start": 15, + "type": "Literal", + "value": 1, + }, + "loc": undefined, + "type": "VariableDeclarator", + }, + ], + "kind": "const", + "loc": undefined, + "type": "VariableDeclaration", + }, + Object { + "body": Object { + "body": Array [ + Object { + "declarations": Array [ + Object { + "id": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 11, + "line": 5, }, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, + "start": Position { + "column": 10, + "line": 5, }, - "operator": "-", - "right": Node { - "end": 46, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 44, - "line": 2, - }, - }, - "raw": "1", - "start": 45, - "type": "Literal", - "value": 1, + }, + "name": "z", + "start": 45, + "type": "Identifier", + }, + "init": Node { + "end": 50, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 5, + }, + "start": Position { + "column": 14, + "line": 5, }, - "type": "BinaryExpression", }, - ], - "callee": Node { - "end": 42, + "raw": "3", + "start": 49, + "type": "Literal", + "value": 3, + }, + "loc": undefined, + "type": "VariableDeclarator", + }, + ], + "kind": "const", + "loc": undefined, + "type": "VariableDeclaration", + }, + Object { + "argument": Object { + "arguments": Array [ + Node { + "end": 66, "loc": SourceLocation { "end": Position { - "column": 41, - "line": 2, + "column": 14, + "line": 6, }, "start": Position { - "column": 37, - "line": 2, + "column": 13, + "line": 6, }, }, - "name": "even", - "start": 38, + "name": "z", + "start": 65, "type": "Identifier", }, + ], + "callee": Node { + "end": 64, "loc": SourceLocation { "end": Position { - "column": 46, - "line": 2, + "column": 12, + "line": 6, }, "start": Position { - "column": 37, - "line": 2, + "column": 11, + "line": 6, }, }, - "type": "CallExpression", + "name": "g", + "start": 63, + "type": "Identifier", }, - "consequent": Node { - "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 6, + }, + "start": Position { + "column": 11, + "line": 6, + }, + }, + "type": "CallExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 16, + "line": 6, + }, + "start": Position { + "column": 4, + "line": 6, + }, + }, + "type": "ReturnStatement", + }, + ], + "type": "BlockStatement", + }, + "id": Node { + "end": 29, + "loc": SourceLocation { + "end": Position { + "column": 10, + "line": 4, + }, + "start": Position { + "column": 9, + "line": 4, + }, + }, + "name": "f", + "start": 28, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 31, + "loc": SourceLocation { + "end": Position { + "column": 12, + "line": 4, + }, + "start": Position { + "column": 11, + "line": 4, + }, + }, + "name": "g", + "start": 30, + "type": "Identifier", + }, + ], + "type": "FunctionDeclaration", + }, + Object { + "expression": Object { + "arguments": Array [ + Object { + "body": Object { + "left": Node { + "end": 80, "loc": SourceLocation { "end": Position { - "column": 34, - "line": 2, + "column": 8, + "line": 9, }, "start": Position { - "column": 29, - "line": 2, + "column": 7, + "line": 9, }, }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, + "name": "y", + "start": 79, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 46, - "line": 2, + "column": 12, + "line": 9, }, "start": Position { - "column": 19, - "line": 2, + "column": 7, + "line": 9, }, }, - "test": Object { - "left": Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, + "operator": "+", + "right": Node { + "end": 84, "loc": SourceLocation { "end": Position { - "column": 26, - "line": 2, + "column": 12, + "line": 9, }, "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, + "column": 11, + "line": 9, }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, }, - "type": "BinaryExpression", + "name": "z", + "start": 83, + "type": "Identifier", }, - "type": "ConditionalExpression", + "type": "BinaryExpression", }, "expression": true, "generator": false, "loc": undefined, "params": Array [ Node { - "end": 16, + "end": 75, "loc": SourceLocation { "end": Position { - "column": 15, - "line": 2, + "column": 3, + "line": 9, }, "start": Position { - "column": 14, - "line": 2, + "column": 2, + "line": 9, }, }, - "name": "n", - "start": 15, + "name": "y", + "start": 74, "type": "Identifier", }, ], "type": "ArrowFunctionExpression", }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 61, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 8, - "line": 3, - }, + ], + "callee": Node { + "end": 73, + "loc": SourceLocation { + "end": Position { + "column": 1, + "line": 9, + }, + "start": Position { + "column": 0, + "line": 9, }, - "name": "even", - "start": 57, - "type": "Identifier", }, - "init": Object { - "body": Object { - "left": Object { - "left": Node { - "end": 70, + "name": "f", + "start": 72, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 13, + "line": 9, + }, + "start": Position { + "column": 0, + "line": 9, + }, + }, + "type": "CallExpression", + }, + "type": "ExpressionStatement", + }, + ], + "sourceType": "module", + "type": "Program", + }, + Object { + "body": Array [ + Object { + "body": Object { + "body": Array [ + Object { + "declarations": Array [ + Object { + "id": Node { + "end": 46, "loc": SourceLocation { "end": Position { - "column": 21, - "line": 3, + "column": 11, + "line": 5, }, "start": Position { - "column": 20, - "line": 3, + "column": 10, + "line": 5, }, }, - "name": "n", - "start": 69, + "name": "z", + "start": 45, "type": "Identifier", }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 76, + "init": Node { + "end": 50, "loc": SourceLocation { "end": Position { - "column": 27, - "line": 3, + "column": 15, + "line": 5, }, "start": Position { - "column": 26, - "line": 3, + "column": 14, + "line": 5, }, }, - "raw": "0", - "start": 75, + "raw": "3", + "start": 49, "type": "Literal", - "value": 0, + "value": 3, }, - "type": "BinaryExpression", + "loc": undefined, + "type": "VariableDeclarator", }, - "loc": undefined, - "operator": "||", - "right": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 85, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, - }, - }, - "name": "n", - "start": 84, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, - }, - }, - "operator": "-", - "right": Node { - "end": 87, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 37, - "line": 3, - }, - }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - ], - "callee": Node { - "end": 83, + ], + "kind": "const", + "loc": undefined, + "type": "VariableDeclaration", + }, + Object { + "argument": Object { + "arguments": Array [ + Node { + "end": 66, "loc": SourceLocation { "end": Position { - "column": 34, - "line": 3, + "column": 14, + "line": 6, }, "start": Position { - "column": 31, - "line": 3, + "column": 13, + "line": 6, }, }, - "name": "odd", - "start": 80, + "name": "z", + "start": 65, "type": "Identifier", }, + ], + "callee": Node { + "end": 64, "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 12, + "line": 6, }, "start": Position { - "column": 31, - "line": 3, + "column": 11, + "line": 6, }, }, - "type": "CallExpression", + "name": "g", + "start": 63, + "type": "Identifier", }, - "type": "LogicalExpression", - }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 6, + }, + "start": Position { + "column": 11, + "line": 6, }, - "name": "n", - "start": 64, - "type": "Identifier", }, - ], - "type": "ArrowFunctionExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "expression": Object { - "arguments": Array [ - Node { - "end": 98, + "type": "CallExpression", + }, "loc": SourceLocation { "end": Position { - "column": 8, - "line": 4, + "column": 16, + "line": 6, }, "start": Position { - "column": 7, - "line": 4, + "column": 4, + "line": 6, }, }, - "raw": "1", - "start": 97, - "type": "Literal", - "value": 1, + "type": "ReturnStatement", }, ], - "callee": Node { - "end": 96, - "loc": SourceLocation { - "end": Position { - "column": 6, - "line": 4, - }, - "start": Position { - "column": 2, - "line": 4, - }, - }, - "name": "even", - "start": 92, - "type": "Identifier", - }, + "type": "BlockStatement", + }, + "id": Node { + "end": 29, "loc": SourceLocation { "end": Position { - "column": 9, + "column": 10, "line": 4, }, "start": Position { - "column": 2, + "column": 9, "line": 4, }, }, + "name": "f", + "start": 28, + "type": "Identifier", + }, + "loc": undefined, + "params": Array [ + Node { + "end": 31, + "loc": SourceLocation { + "end": Position { + "column": 12, + "line": 4, + }, + "start": Position { + "column": 11, + "line": 4, + }, + }, + "name": "g", + "start": 30, + "type": "Identifier", + }, + ], + "type": "FunctionDeclaration", + }, + Object { + "expression": Object { + "arguments": Array [ + Object { + "body": Object { + "left": Node { + "end": 80, + "loc": SourceLocation { + "end": Position { + "column": 8, + "line": 9, + }, + "start": Position { + "column": 7, + "line": 9, + }, + }, + "name": "y", + "start": 79, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 12, + "line": 9, + }, + "start": Position { + "column": 7, + "line": 9, + }, + }, + "operator": "+", + "right": Object { + "loc": undefined, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 75, + "loc": SourceLocation { + "end": Position { + "column": 3, + "line": 9, + }, + "start": Position { + "column": 2, + "line": 9, + }, + }, + "name": "y", + "start": 74, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", + }, + ], + "callee": Node { + "end": 73, + "loc": SourceLocation { + "end": Position { + "column": 1, + "line": 9, + }, + "start": Position { + "column": 0, + "line": 9, + }, + }, + "name": "f", + "start": 72, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 13, + "line": 9, + }, + "start": Position { + "column": 0, + "line": 9, + }, + }, "type": "CallExpression", }, "type": "ExpressionStatement", @@ -54530,394 +55506,223 @@ Array [ Object { "body": Array [ Object { - "declarations": Array [ - Object { - "id": Node { - "end": 61, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 8, - "line": 3, - }, - }, - "name": "even", - "start": 57, - "type": "Identifier", - }, - "init": Object { + "expression": Object { + "arguments": Array [ + Object { "body": Object { - "left": Object { - "left": Node { - "end": 70, - "loc": SourceLocation { - "end": Position { - "column": 21, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "name": "n", - "start": 69, - "type": "Identifier", - }, + "left": Node { + "end": 80, "loc": SourceLocation { "end": Position { - "column": 27, - "line": 3, + "column": 8, + "line": 9, }, "start": Position { - "column": 20, - "line": 3, + "column": 7, + "line": 9, }, }, - "operator": "===", - "right": Node { - "end": 76, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 26, - "line": 3, - }, - }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, + "name": "y", + "start": 79, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 12, + "line": 9, + }, + "start": Position { + "column": 7, + "line": 9, }, - "type": "BinaryExpression", }, - "loc": undefined, - "operator": "||", + "operator": "+", "right": Object { - "arguments": Array [ + "loc": undefined, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 75, + "loc": SourceLocation { + "end": Position { + "column": 3, + "line": 9, + }, + "start": Position { + "column": 2, + "line": 9, + }, + }, + "name": "y", + "start": 74, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", + }, + ], + "callee": Object { + "body": Object { + "body": Array [ + Object { + "declarations": Array [ Object { - "left": Node { - "end": 85, + "id": Node { + "end": 46, "loc": SourceLocation { "end": Position { - "column": 36, - "line": 3, + "column": 11, + "line": 5, }, "start": Position { - "column": 35, - "line": 3, + "column": 10, + "line": 5, }, }, - "name": "n", - "start": 84, + "name": "z", + "start": 45, "type": "Identifier", }, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, - }, - }, - "operator": "-", - "right": Node { - "end": 87, + "init": Node { + "end": 50, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 15, + "line": 5, }, "start": Position { - "column": 37, - "line": 3, + "column": 14, + "line": 5, }, }, - "raw": "1", - "start": 86, + "raw": "3", + "start": 49, "type": "Literal", - "value": 1, + "value": 3, }, - "type": "BinaryExpression", + "loc": undefined, + "type": "VariableDeclarator", }, ], - "callee": Object { - "body": Object { - "alternate": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 44, - "loc": SourceLocation { - "end": Position { - "column": 43, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, - }, - "name": "n", - "start": 43, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, - }, - "operator": "-", - "right": Node { - "end": 46, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 44, - "line": 2, - }, - }, - "raw": "1", - "start": 45, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - ], - "callee": Node { - "end": 42, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "name": "even", - "start": 38, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, + "kind": "const", + "loc": undefined, + "type": "VariableDeclaration", + }, + Object { + "argument": Object { + "arguments": Array [ + Node { + "end": 66, "loc": SourceLocation { "end": Position { - "column": 34, - "line": 2, + "column": 14, + "line": 6, }, "start": Position { - "column": 29, - "line": 2, + "column": 13, + "line": 6, }, }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, + "name": "z", + "start": 65, + "type": "Identifier", }, + ], + "callee": Node { + "end": 64, "loc": SourceLocation { "end": Position { - "column": 46, - "line": 2, + "column": 12, + "line": 6, }, "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Object { - "left": Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, - }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, + "column": 11, + "line": 6, }, - "type": "BinaryExpression", }, - "type": "ConditionalExpression", + "name": "g", + "start": 63, + "type": "Identifier", }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 16, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 2, - }, - "start": Position { - "column": 14, - "line": 2, - }, - }, - "name": "n", - "start": 15, - "type": "Identifier", + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 6, + }, + "start": Position { + "column": 11, + "line": 6, }, - ], - "type": "ArrowFunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 3, - }, - "start": Position { - "column": 31, - "line": 3, }, + "type": "CallExpression", }, - "type": "CallExpression", - }, - "type": "LogicalExpression", - }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, "loc": SourceLocation { "end": Position { "column": 16, - "line": 3, + "line": 6, }, "start": Position { - "column": 15, - "line": 3, + "column": 4, + "line": 6, }, }, - "name": "n", - "start": 64, - "type": "Identifier", + "type": "ReturnStatement", }, ], - "type": "ArrowFunctionExpression", + "type": "BlockStatement", }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "expression": Object { - "arguments": Array [ - Node { - "end": 98, + "id": Node { + "end": 29, "loc": SourceLocation { "end": Position { - "column": 8, + "column": 10, "line": 4, }, "start": Position { - "column": 7, + "column": 9, "line": 4, }, }, - "raw": "1", - "start": 97, - "type": "Literal", - "value": 1, + "name": "f", + "start": 28, + "type": "Identifier", }, - ], - "callee": Node { - "end": 96, - "loc": SourceLocation { - "end": Position { - "column": 6, - "line": 4, - }, - "start": Position { - "column": 2, - "line": 4, + "loc": undefined, + "params": Array [ + Node { + "end": 31, + "loc": SourceLocation { + "end": Position { + "column": 12, + "line": 4, + }, + "start": Position { + "column": 11, + "line": 4, + }, + }, + "name": "g", + "start": 30, + "type": "Identifier", }, - }, - "name": "even", - "start": 92, - "type": "Identifier", + ], + "type": "FunctionExpression", }, "loc": SourceLocation { "end": Position { - "column": 9, - "line": 4, + "column": 13, + "line": 9, }, "start": Position { - "column": 2, - "line": 4, + "column": 0, + "line": 9, }, }, "type": "CallExpression", @@ -54932,285 +55737,232 @@ Array [ "body": Array [ Object { "expression": Object { - "arguments": Array [ - Node { - "end": 98, - "loc": SourceLocation { - "end": Position { - "column": 8, - "line": 4, - }, - "start": Position { - "column": 7, - "line": 4, - }, - }, - "raw": "1", - "start": 97, - "type": "Literal", - "value": 1, - }, - ], - "callee": Object { - "body": Object { - "left": Object { - "left": Node { - "end": 70, - "loc": SourceLocation { - "end": Position { - "column": 21, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, + "body": Array [ + Object { + "declarations": Array [ + Object { + "id": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 11, + "line": 5, + }, + "start": Position { + "column": 10, + "line": 5, + }, }, + "name": "z", + "start": 45, + "type": "Identifier", }, - "name": "n", - "start": 69, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 76, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 26, - "line": 3, + "init": Node { + "end": 50, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 5, + }, + "start": Position { + "column": 14, + "line": 5, + }, }, + "raw": "3", + "start": 49, + "type": "Literal", + "value": 3, }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, + "loc": undefined, + "type": "VariableDeclarator", }, - "type": "BinaryExpression", - }, + ], + "kind": "const", "loc": undefined, - "operator": "||", - "right": Object { + "type": "VariableDeclaration", + }, + Object { + "argument": Object { "arguments": Array [ - Object { + Node { + "end": 66, + "loc": SourceLocation { + "end": Position { + "column": 14, + "line": 6, + }, + "start": Position { + "column": 13, + "line": 6, + }, + }, + "name": "z", + "start": 65, + "type": "Identifier", + }, + ], + "callee": Object { + "body": Object { "left": Node { - "end": 85, + "end": 80, "loc": SourceLocation { "end": Position { - "column": 36, - "line": 3, + "column": 8, + "line": 9, }, "start": Position { - "column": 35, - "line": 3, + "column": 7, + "line": 9, }, }, - "name": "n", - "start": 84, + "name": "y", + "start": 79, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 12, + "line": 9, }, "start": Position { - "column": 35, - "line": 3, + "column": 7, + "line": 9, }, }, - "operator": "-", - "right": Node { - "end": 87, + "operator": "+", + "right": Object { + "loc": undefined, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 75, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 3, + "line": 9, }, "start": Position { - "column": 37, - "line": 3, + "column": 2, + "line": 9, }, }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, + "name": "y", + "start": 74, + "type": "Identifier", }, - "type": "BinaryExpression", + ], + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 6, + }, + "start": Position { + "column": 11, + "line": 6, + }, + }, + "type": "CallExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 16, + "line": 6, + }, + "start": Position { + "column": 4, + "line": 6, + }, + }, + "type": "ReturnStatement", + }, + ], + "loc": undefined, + "type": "BlockExpression", + }, + "type": "ExpressionStatement", + }, + ], + "sourceType": "module", + "type": "Program", + }, + Object { + "body": Array [ + Object { + "expression": Object { + "body": Array [ + Object { + "argument": Object { + "arguments": Array [ + Object { + "loc": undefined, + "type": "Literal", + "value": 3, }, ], "callee": Object { "body": Object { - "alternate": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 44, - "loc": SourceLocation { - "end": Position { - "column": 43, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, - }, - "name": "n", - "start": 43, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, - }, - "operator": "-", - "right": Node { - "end": 46, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 44, - "line": 2, - }, - }, - "raw": "1", - "start": 45, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - ], - "callee": [Circular], + "left": Node { + "end": 80, "loc": SourceLocation { "end": Position { - "column": 46, - "line": 2, + "column": 8, + "line": 9, }, "start": Position { - "column": 37, - "line": 2, + "column": 7, + "line": 9, }, }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, + "name": "y", + "start": 79, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 46, - "line": 2, + "column": 12, + "line": 9, }, "start": Position { - "column": 19, - "line": 2, + "column": 7, + "line": 9, }, }, - "test": Object { - "left": Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, - }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", + "operator": "+", + "right": Object { + "loc": undefined, + "type": "Literal", + "value": 1, }, - "type": "ConditionalExpression", + "type": "BinaryExpression", }, "expression": true, "generator": false, "loc": undefined, "params": Array [ Node { - "end": 16, + "end": 75, "loc": SourceLocation { "end": Position { - "column": 15, - "line": 2, + "column": 3, + "line": 9, }, "start": Position { - "column": 14, - "line": 2, + "column": 2, + "line": 9, }, }, - "name": "n", - "start": 15, + "name": "y", + "start": 74, "type": "Identifier", }, ], @@ -55218,52 +55970,31 @@ Array [ }, "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 15, + "line": 6, }, "start": Position { - "column": 31, - "line": 3, + "column": 11, + "line": 6, }, }, "type": "CallExpression", }, - "type": "LogicalExpression", - }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, + "loc": SourceLocation { + "end": Position { + "column": 16, + "line": 6, + }, + "start": Position { + "column": 4, + "line": 6, }, - "name": "n", - "start": 64, - "type": "Identifier", }, - ], - "type": "ArrowFunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 4, - }, - "start": Position { - "column": 2, - "line": 4, + "type": "ReturnStatement", }, - }, - "type": "CallExpression", + ], + "loc": undefined, + "type": "BlockExpression", }, "type": "ExpressionStatement", }, @@ -55275,89 +56006,157 @@ Array [ "body": Array [ Object { "expression": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, + "body": Array [ + Object { + "argument": Object { + "left": Object { + "loc": undefined, + "type": "Literal", + "value": 3, + }, + "loc": SourceLocation { + "end": Position { + "column": 12, + "line": 9, + }, + "start": Position { + "column": 7, + "line": 9, + }, + }, + "operator": "+", + "right": Object { + "loc": undefined, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", }, - }, - "operator": "===", - "right": Node { - "end": 76, "loc": SourceLocation { "end": Position { - "column": 27, - "line": 3, + "column": 16, + "line": 6, }, "start": Position { - "column": 26, - "line": 3, + "column": 4, + "line": 6, }, }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, + "type": "ReturnStatement", }, - "type": "BinaryExpression", - }, + ], "loc": undefined, - "operator": "||", - "right": Object { - "arguments": Array [ - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, + "type": "BlockExpression", + }, + "type": "ExpressionStatement", + }, + ], + "sourceType": "module", + "type": "Program", + }, + Object { + "body": Array [ + Object { + "expression": Object { + "body": Array [ + Object { + "argument": Node { + "end": 1, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 1, + "line": 1, }, "start": Position { - "column": 35, - "line": 3, - }, - }, - "operator": "-", - "right": Node { - "end": 87, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 37, - "line": 3, - }, + "column": 0, + "line": 1, }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, }, - "type": "BinaryExpression", + "raw": "4", + "start": 0, + "type": "Literal", + "value": 4, }, - ], - "callee": Object { - "body": Object { - "alternate": Object { - "arguments": Array [ - Object { - "left": Node { + "loc": SourceLocation { + "end": Position { + "column": 16, + "line": 6, + }, + "start": Position { + "column": 4, + "line": 6, + }, + }, + "type": "ReturnStatement", + }, + ], + "loc": undefined, + "type": "BlockExpression", + }, + "type": "ExpressionStatement", + }, + ], + "sourceType": "module", + "type": "Program", + }, + Object { + "body": Array [ + Object { + "expression": Node { + "end": 1, + "loc": SourceLocation { + "end": Position { + "column": 1, + "line": 1, + }, + "start": Position { + "column": 0, + "line": 1, + }, + }, + "raw": "4", + "start": 0, + "type": "Literal", + "value": 4, + }, + "type": "ExpressionStatement", + }, + ], + "sourceType": "module", + "type": "Program", + }, +] +`; + +exports[`even odd mutual 1`] = ` +Array [ + Object { + "body": Array [ + Object { + "declarations": Array [ + Object { + "id": Node { + "end": 12, + "loc": SourceLocation { + "end": Position { + "column": 11, + "line": 2, + }, + "start": Position { + "column": 8, + "line": 2, + }, + }, + "name": "odd", + "start": 9, + "type": "Identifier", + }, + "init": Object { + "body": Object { + "alternate": Object { + "arguments": Array [ + Object { + "left": Node { "end": 44, "loc": SourceLocation { "end": Position { @@ -55404,144 +56203,21 @@ Array [ "type": "BinaryExpression", }, ], - "callee": Object { - "body": Object { - "left": Object { - "left": Node { - "end": 70, - "loc": SourceLocation { - "end": Position { - "column": 21, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "name": "n", - "start": 69, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 76, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 26, - "line": 3, - }, - }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", + "callee": Node { + "end": 42, + "loc": SourceLocation { + "end": Position { + "column": 41, + "line": 2, }, - "loc": undefined, - "operator": "||", - "right": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 85, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, - }, - }, - "name": "n", - "start": 84, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, - }, - }, - "operator": "-", - "right": Node { - "end": 87, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 37, - "line": 3, - }, - }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 3, - }, - "start": Position { - "column": 31, - "line": 3, - }, - }, - "type": "CallExpression", + "start": Position { + "column": 37, + "line": 2, }, - "type": "LogicalExpression", }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "name": "n", - "start": 64, - "type": "Identifier", - }, - ], - "type": "ArrowFunctionExpression", + "name": "even", + "start": 38, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { @@ -55654,403 +56330,243 @@ Array [ ], "type": "ArrowFunctionExpression", }, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 3, - }, - "start": Position { - "column": 31, - "line": 3, - }, - }, - "type": "CallExpression", + "loc": undefined, + "type": "VariableDeclarator", }, - "type": "LogicalExpression", - }, - "type": "ExpressionStatement", + ], + "kind": "const", + "loc": undefined, + "type": "VariableDeclaration", }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ Object { - "expression": Object { - "left": Node { - "end": 5, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, + "declarations": Array [ + Object { + "id": Node { + "end": 61, + "loc": SourceLocation { + "end": Position { + "column": 12, + "line": 3, + }, + "start": Position { + "column": 8, + "line": 3, + }, }, + "name": "even", + "start": 57, + "type": "Identifier", }, - "raw": "false", - "start": 0, - "type": "Literal", - "value": false, - }, - "loc": undefined, - "operator": "||", - "right": Object { - "arguments": Array [ - Object { + "init": Object { + "body": Object { "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, + "left": Node { + "end": 70, + "loc": SourceLocation { + "end": Position { + "column": 21, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "name": "n", + "start": 69, + "type": "Identifier", }, - }, - "operator": "-", - "right": Node { - "end": 87, "loc": SourceLocation { "end": Position { - "column": 38, + "column": 27, "line": 3, }, "start": Position { - "column": 37, + "column": 20, "line": 3, }, }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", }, - "type": "BinaryExpression", - }, - ], - "callee": Object { - "body": Object { - "alternate": Object { + "loc": undefined, + "operator": "||", + "right": Object { "arguments": Array [ Object { "left": Node { - "end": 44, + "end": 85, "loc": SourceLocation { "end": Position { - "column": 43, - "line": 2, + "column": 36, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "name": "n", - "start": 43, + "start": 84, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "operator": "-", "right": Node { - "end": 46, + "end": 87, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 44, - "line": 2, + "column": 37, + "line": 3, }, }, "raw": "1", - "start": 45, + "start": 86, "type": "Literal", "value": 1, }, "type": "BinaryExpression", }, ], - "callee": Object { - "body": Object { - "left": Object { - "left": Node { - "end": 70, - "loc": SourceLocation { - "end": Position { - "column": 21, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "name": "n", - "start": 69, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 76, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 26, - "line": 3, - }, - }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", + "callee": Node { + "end": 83, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 3, }, - "loc": undefined, - "operator": "||", - "right": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 85, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, - }, - }, - "name": "n", - "start": 84, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 35, - "line": 3, - }, - }, - "operator": "-", - "right": Node { - "end": 87, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 37, - "line": 3, - }, - }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 3, - }, - "start": Position { - "column": 31, - "line": 3, - }, - }, - "type": "CallExpression", - }, - "type": "LogicalExpression", - }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "name": "n", - "start": 64, - "type": "Identifier", - }, - ], - "type": "ArrowFunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Object { - "left": Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, + "start": Position { + "column": 31, + "line": 3, }, }, - "name": "n", - "start": 20, + "name": "odd", + "start": 80, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 26, - "line": 2, + "column": 39, + "line": 3, }, "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, + "column": 31, + "line": 3, }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, }, - "type": "BinaryExpression", + "type": "CallExpression", }, - "type": "ConditionalExpression", + "type": "LogicalExpression", }, "expression": true, "generator": false, "loc": undefined, "params": Array [ Node { - "end": 16, + "end": 65, "loc": SourceLocation { "end": Position { - "column": 15, - "line": 2, + "column": 16, + "line": 3, }, "start": Position { - "column": 14, - "line": 2, + "column": 15, + "line": 3, }, }, "name": "n", - "start": 15, + "start": 64, "type": "Identifier", }, ], "type": "ArrowFunctionExpression", }, + "loc": undefined, + "type": "VariableDeclarator", + }, + ], + "kind": "const", + "loc": undefined, + "type": "VariableDeclaration", + }, + Object { + "expression": Object { + "arguments": Array [ + Node { + "end": 98, + "loc": SourceLocation { + "end": Position { + "column": 8, + "line": 4, + }, + "start": Position { + "column": 7, + "line": 4, + }, + }, + "raw": "1", + "start": 97, + "type": "Literal", + "value": 1, + }, + ], + "callee": Node { + "end": 96, "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 6, + "line": 4, }, "start": Position { - "column": 31, - "line": 3, + "column": 2, + "line": 4, }, }, - "type": "CallExpression", + "name": "even", + "start": 92, + "type": "Identifier", }, - "type": "LogicalExpression", + "loc": SourceLocation { + "end": Position { + "column": 9, + "line": 4, + }, + "start": Position { + "column": 2, + "line": 4, + }, + }, + "type": "CallExpression", }, "type": "ExpressionStatement", }, @@ -56061,355 +56577,394 @@ Array [ Object { "body": Array [ Object { - "expression": Object { - "arguments": Array [ - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, + "declarations": Array [ + Object { + "id": Node { + "end": 61, "loc": SourceLocation { "end": Position { - "column": 38, + "column": 12, "line": 3, }, "start": Position { - "column": 35, + "column": 8, "line": 3, }, }, - "operator": "-", - "right": Node { - "end": 87, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 37, - "line": 3, - }, - }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", + "name": "even", + "start": 57, + "type": "Identifier", }, - ], - "callee": Object { - "body": Object { - "alternate": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 44, - "loc": SourceLocation { - "end": Position { - "column": 43, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, - }, - "name": "n", - "start": 43, - "type": "Identifier", - }, + "init": Object { + "body": Object { + "left": Object { + "left": Node { + "end": 70, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 21, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 20, + "line": 3, }, }, - "operator": "-", - "right": Node { - "end": 46, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 44, - "line": 2, - }, + "name": "n", + "start": 69, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, }, - "raw": "1", - "start": 45, - "type": "Literal", - "value": 1, }, - "type": "BinaryExpression", + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, }, - ], - "callee": Object { - "body": Object { - "left": Object { + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { + "arguments": Array [ + Object { "left": Node { - "end": 70, + "end": 85, "loc": SourceLocation { "end": Position { - "column": 21, + "column": 36, "line": 3, }, "start": Position { - "column": 20, + "column": 35, "line": 3, }, }, "name": "n", - "start": 69, + "start": 84, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 27, + "column": 38, "line": 3, }, "start": Position { - "column": 20, + "column": 35, "line": 3, }, }, - "operator": "===", + "operator": "-", "right": Node { - "end": 76, + "end": 87, "loc": SourceLocation { "end": Position { - "column": 27, + "column": 38, "line": 3, }, "start": Position { - "column": 26, + "column": 37, "line": 3, }, }, - "raw": "0", - "start": 75, + "raw": "1", + "start": 86, "type": "Literal", - "value": 0, + "value": 1, }, "type": "BinaryExpression", }, - "loc": undefined, - "operator": "||", - "right": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 85, + ], + "callee": Object { + "body": Object { + "alternate": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 44, + "loc": SourceLocation { + "end": Position { + "column": 43, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "name": "n", + "start": 43, + "type": "Identifier", + }, "loc": SourceLocation { "end": Position { - "column": 36, - "line": 3, + "column": 45, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, + "column": 42, + "line": 2, }, }, - "name": "n", - "start": 84, - "type": "Identifier", + "operator": "-", + "right": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 44, + "line": 2, + }, + }, + "raw": "1", + "start": 45, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", }, + ], + "callee": Node { + "end": 42, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 41, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, - }, - }, - "operator": "-", - "right": Node { - "end": 87, - "loc": SourceLocation { - "end": Position { - "column": 38, - "line": 3, - }, - "start": Position { - "column": 37, - "line": 3, - }, + "column": 37, + "line": 2, }, - "raw": "1", - "start": 86, - "type": "Literal", - "value": 1, }, - "type": "BinaryExpression", + "name": "even", + "start": 38, + "type": "Identifier", }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 3, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 37, + "line": 2, + }, }, - "start": Position { - "column": 31, - "line": 3, + "type": "CallExpression", + }, + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, }, + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, }, - "type": "CallExpression", - }, - "type": "LogicalExpression", - }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, "loc": SourceLocation { "end": Position { - "column": 16, - "line": 3, + "column": 46, + "line": 2, }, "start": Position { - "column": 15, - "line": 3, + "column": 19, + "line": 2, }, }, - "name": "n", - "start": 64, - "type": "Identifier", - }, - ], - "type": "ArrowFunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Object { - "left": Node { - "end": 21, + "test": Object { + "left": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "name": "n", + "start": 20, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "type": "ConditionalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "name": "n", + "start": 15, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", + }, "loc": SourceLocation { "end": Position { - "column": 20, - "line": 2, + "column": 39, + "line": 3, }, "start": Position { - "column": 19, - "line": 2, + "column": 31, + "line": 3, }, }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, + "type": "CallExpression", }, - "operator": "===", - "right": Node { - "end": 27, + "type": "LogicalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 65, "loc": SourceLocation { "end": Position { - "column": 26, - "line": 2, + "column": 16, + "line": 3, }, "start": Position { - "column": 25, - "line": 2, + "column": 15, + "line": 3, }, }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, + "name": "n", + "start": 64, + "type": "Identifier", }, - "type": "BinaryExpression", - }, - "type": "ConditionalExpression", + ], + "type": "ArrowFunctionExpression", }, - "expression": true, - "generator": false, "loc": undefined, - "params": Array [ - Node { - "end": 16, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 2, - }, - "start": Position { - "column": 14, - "line": 2, - }, + "type": "VariableDeclarator", + }, + ], + "kind": "const", + "loc": undefined, + "type": "VariableDeclaration", + }, + Object { + "expression": Object { + "arguments": Array [ + Node { + "end": 98, + "loc": SourceLocation { + "end": Position { + "column": 8, + "line": 4, + }, + "start": Position { + "column": 7, + "line": 4, }, - "name": "n", - "start": 15, - "type": "Identifier", }, - ], - "type": "ArrowFunctionExpression", + "raw": "1", + "start": 97, + "type": "Literal", + "value": 1, + }, + ], + "callee": Node { + "end": 96, + "loc": SourceLocation { + "end": Position { + "column": 6, + "line": 4, + }, + "start": Position { + "column": 2, + "line": 4, + }, + }, + "name": "even", + "start": 92, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 9, + "line": 4, }, "start": Position { - "column": 31, - "line": 3, + "column": 2, + "line": 4, }, }, "type": "CallExpression", @@ -56426,69 +56981,118 @@ Array [ "expression": Object { "arguments": Array [ Node { - "end": 1, + "end": 98, "loc": SourceLocation { "end": Position { - "column": 1, - "line": 1, + "column": 8, + "line": 4, }, "start": Position { - "column": 0, - "line": 1, + "column": 7, + "line": 4, }, }, - "raw": "0", - "start": 0, + "raw": "1", + "start": 97, "type": "Literal", - "value": 0, + "value": 1, }, ], "callee": Object { "body": Object { - "alternate": Object { - "arguments": Array [ - Object { - "left": Node { - "end": 44, - "loc": SourceLocation { - "end": Position { - "column": 43, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, - }, - }, - "name": "n", - "start": 43, - "type": "Identifier", + "left": Object { + "left": Node { + "end": 70, + "loc": SourceLocation { + "end": Position { + "column": 21, + "line": 3, }, - "loc": SourceLocation { - "end": Position { - "column": 45, - "line": 2, - }, - "start": Position { - "column": 42, - "line": 2, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "name": "n", + "start": 69, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 85, + "loc": SourceLocation { + "end": Position { + "column": 36, + "line": 3, + }, + "start": Position { + "column": 35, + "line": 3, + }, + }, + "name": "n", + "start": 84, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 38, + "line": 3, + }, + "start": Position { + "column": 35, + "line": 3, }, }, "operator": "-", "right": Node { - "end": 46, + "end": 87, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 44, - "line": 2, + "column": 37, + "line": 3, }, }, "raw": "1", - "start": 45, + "start": 86, "type": "Literal", "value": 1, }, @@ -56497,99 +57101,50 @@ Array [ ], "callee": Object { "body": Object { - "left": Object { - "left": Node { - "end": 70, - "loc": SourceLocation { - "end": Position { - "column": 21, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "name": "n", - "start": 69, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 76, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 26, - "line": 3, - }, - }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": undefined, - "operator": "||", - "right": Object { + "alternate": Object { "arguments": Array [ Object { "left": Node { - "end": 85, + "end": 44, "loc": SourceLocation { "end": Position { - "column": 36, - "line": 3, + "column": 43, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, + "column": 42, + "line": 2, }, }, "name": "n", - "start": 84, + "start": 43, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 45, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, + "column": 42, + "line": 2, }, }, "operator": "-", "right": Node { - "end": 87, + "end": 46, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 45, + "line": 2, }, "start": Position { - "column": 37, - "line": 3, + "column": 44, + "line": 2, }, }, "raw": "1", - "start": 86, + "start": 45, "type": "Literal", "value": 1, }, @@ -56599,36 +57154,110 @@ Array [ "callee": [Circular], "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 46, + "line": 2, }, "start": Position { - "column": 31, - "line": 3, + "column": 37, + "line": 2, }, }, "type": "CallExpression", }, - "type": "LogicalExpression", + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, + }, + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, + }, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Object { + "left": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "name": "n", + "start": 20, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "type": "ConditionalExpression", }, "expression": true, "generator": false, "loc": undefined, "params": Array [ Node { - "end": 65, + "end": 16, "loc": SourceLocation { "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { "column": 15, - "line": 3, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, }, }, "name": "n", - "start": 64, + "start": 15, "type": "Identifier", }, ], @@ -56636,110 +57265,36 @@ Array [ }, "loc": SourceLocation { "end": Position { - "column": 46, - "line": 2, + "column": 39, + "line": 3, }, "start": Position { - "column": 37, - "line": 2, + "column": 31, + "line": 3, }, }, "type": "CallExpression", }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Object { - "left": Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, - }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "ConditionalExpression", + "type": "LogicalExpression", }, "expression": true, "generator": false, "loc": undefined, "params": Array [ Node { - "end": 16, + "end": 65, "loc": SourceLocation { "end": Position { - "column": 15, - "line": 2, + "column": 16, + "line": 3, }, "start": Position { - "column": 14, - "line": 2, + "column": 15, + "line": 3, }, }, "name": "n", - "start": 15, + "start": 64, "type": "Identifier", }, ], @@ -56747,12 +57302,12 @@ Array [ }, "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 9, + "line": 4, }, "start": Position { - "column": 31, - "line": 3, + "column": 2, + "line": 4, }, }, "type": "CallExpression", @@ -56767,39 +57322,77 @@ Array [ "body": Array [ Object { "expression": Object { - "alternate": Object { + "left": Object { + "left": Object { + "loc": undefined, + "type": "Literal", + "value": 1, + }, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { "arguments": Array [ Object { "left": Object { "loc": undefined, "type": "Literal", - "value": 0, + "value": 1, }, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "operator": "-", "right": Node { - "end": 46, + "end": 87, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 44, - "line": 2, + "column": 37, + "line": 3, }, }, "raw": "1", - "start": 45, + "start": 86, "type": "Literal", "value": 1, }, @@ -56808,99 +57401,50 @@ Array [ ], "callee": Object { "body": Object { - "left": Object { - "left": Node { - "end": 70, - "loc": SourceLocation { - "end": Position { - "column": 21, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "name": "n", - "start": 69, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 76, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 26, - "line": 3, - }, - }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": undefined, - "operator": "||", - "right": Object { + "alternate": Object { "arguments": Array [ Object { "left": Node { - "end": 85, + "end": 44, "loc": SourceLocation { "end": Position { - "column": 36, - "line": 3, + "column": 43, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, + "column": 42, + "line": 2, }, }, "name": "n", - "start": 84, + "start": 43, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 45, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, + "column": 42, + "line": 2, }, }, "operator": "-", "right": Node { - "end": 87, + "end": 46, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 45, + "line": 2, }, "start": Position { - "column": 37, - "line": 3, + "column": 44, + "line": 2, }, }, "raw": "1", - "start": 86, + "start": 45, "type": "Literal", "value": 1, }, @@ -56909,163 +57453,162 @@ Array [ ], "callee": Object { "body": Object { - "alternate": Object { + "left": Object { + "left": Node { + "end": 70, + "loc": SourceLocation { + "end": Position { + "column": 21, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "name": "n", + "start": 69, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { "arguments": Array [ Object { "left": Node { - "end": 44, + "end": 85, "loc": SourceLocation { "end": Position { - "column": 43, - "line": 2, + "column": 36, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "name": "n", - "start": 43, + "start": 84, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "operator": "-", "right": Node { - "end": 46, + "end": 87, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 44, - "line": 2, + "column": 37, + "line": 3, }, }, "raw": "1", - "start": 45, + "start": 86, "type": "Literal", "value": 1, }, "type": "BinaryExpression", }, ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Object { - "left": Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, + "callee": Object { + "body": [Circular], + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "name": "n", + "start": 15, + "type": "Identifier", }, - }, - "name": "n", - "start": 20, - "type": "Identifier", + ], + "type": "ArrowFunctionExpression", }, "loc": SourceLocation { "end": Position { - "column": 26, - "line": 2, + "column": 39, + "line": 3, }, "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, + "column": 31, + "line": 3, }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, }, - "type": "BinaryExpression", + "type": "CallExpression", }, - "type": "ConditionalExpression", + "type": "LogicalExpression", }, "expression": true, "generator": false, "loc": undefined, "params": Array [ Node { - "end": 16, + "end": 65, "loc": SourceLocation { "end": Position { - "column": 15, - "line": 2, + "column": 16, + "line": 3, }, "start": Position { - "column": 14, - "line": 2, + "column": 15, + "line": 3, }, }, "name": "n", - "start": 15, + "start": 64, "type": "Identifier", }, ], @@ -57073,117 +57616,128 @@ Array [ }, "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 46, + "line": 2, }, "start": Position { - "column": 31, - "line": 3, + "column": 37, + "line": 2, }, }, "type": "CallExpression", }, - "type": "LogicalExpression", - }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, + "consequent": Node { + "end": 35, "loc": SourceLocation { "end": Position { - "column": 16, - "line": 3, + "column": 34, + "line": 2, }, "start": Position { - "column": 15, - "line": 3, + "column": 29, + "line": 2, }, }, - "name": "n", - "start": 64, - "type": "Identifier", + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, }, - ], - "type": "ArrowFunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Object { - "left": Object { + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Object { + "left": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "name": "n", + "start": 20, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "type": "ConditionalExpression", + }, + "expression": true, + "generator": false, "loc": undefined, - "type": "Literal", - "value": 0, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "name": "n", + "start": 15, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", }, "loc": SourceLocation { "end": Position { - "column": 26, - "line": 2, + "column": 39, + "line": 3, }, "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, + "column": 31, + "line": 3, }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, }, - "type": "BinaryExpression", + "type": "CallExpression", }, - "type": "ConditionalExpression", + "type": "LogicalExpression", }, "type": "ExpressionStatement", }, @@ -57195,39 +57749,58 @@ Array [ "body": Array [ Object { "expression": Object { - "alternate": Object { + "left": Node { + "end": 5, + "loc": SourceLocation { + "end": Position { + "column": 5, + "line": 1, + }, + "start": Position { + "column": 0, + "line": 1, + }, + }, + "raw": "false", + "start": 0, + "type": "Literal", + "value": false, + }, + "loc": undefined, + "operator": "||", + "right": Object { "arguments": Array [ Object { "left": Object { "loc": undefined, "type": "Literal", - "value": 0, + "value": 1, }, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "operator": "-", "right": Node { - "end": 46, + "end": 87, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 44, - "line": 2, + "column": 37, + "line": 3, }, }, "raw": "1", - "start": 45, + "start": 86, "type": "Literal", "value": 1, }, @@ -57236,99 +57809,50 @@ Array [ ], "callee": Object { "body": Object { - "left": Object { - "left": Node { - "end": 70, - "loc": SourceLocation { - "end": Position { - "column": 21, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "name": "n", - "start": 69, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 20, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 76, - "loc": SourceLocation { - "end": Position { - "column": 27, - "line": 3, - }, - "start": Position { - "column": 26, - "line": 3, - }, - }, - "raw": "0", - "start": 75, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": undefined, - "operator": "||", - "right": Object { + "alternate": Object { "arguments": Array [ Object { "left": Node { - "end": 85, + "end": 44, "loc": SourceLocation { "end": Position { - "column": 36, - "line": 3, + "column": 43, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, + "column": 42, + "line": 2, }, }, "name": "n", - "start": 84, + "start": 43, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 45, + "line": 2, }, "start": Position { - "column": 35, - "line": 3, + "column": 42, + "line": 2, }, }, "operator": "-", "right": Node { - "end": 87, + "end": 46, "loc": SourceLocation { "end": Position { - "column": 38, - "line": 3, + "column": 45, + "line": 2, }, "start": Position { - "column": 37, - "line": 3, + "column": 44, + "line": 2, }, }, "raw": "1", - "start": 86, + "start": 45, "type": "Literal", "value": 1, }, @@ -57337,163 +57861,162 @@ Array [ ], "callee": Object { "body": Object { - "alternate": Object { - "arguments": Array [ - Object { + "left": Object { + "left": Node { + "end": 70, + "loc": SourceLocation { + "end": Position { + "column": 21, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "name": "n", + "start": 69, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { + "arguments": Array [ + Object { "left": Node { - "end": 44, + "end": 85, "loc": SourceLocation { "end": Position { - "column": 43, - "line": 2, + "column": 36, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "name": "n", - "start": 43, + "start": 84, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 42, - "line": 2, + "column": 35, + "line": 3, }, }, "operator": "-", "right": Node { - "end": 46, + "end": 87, "loc": SourceLocation { "end": Position { - "column": 45, - "line": 2, + "column": 38, + "line": 3, }, "start": Position { - "column": 44, - "line": 2, + "column": 37, + "line": 3, }, }, "raw": "1", - "start": 45, + "start": 86, "type": "Literal", "value": 1, }, "type": "BinaryExpression", }, ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Object { - "left": Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, + "callee": Object { + "body": [Circular], + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "name": "n", + "start": 15, + "type": "Identifier", }, - }, - "name": "n", - "start": 20, - "type": "Identifier", + ], + "type": "ArrowFunctionExpression", }, "loc": SourceLocation { "end": Position { - "column": 26, - "line": 2, + "column": 39, + "line": 3, }, "start": Position { - "column": 19, - "line": 2, - }, - }, - "operator": "===", - "right": Node { - "end": 27, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 2, - }, - "start": Position { - "column": 25, - "line": 2, - }, + "column": 31, + "line": 3, }, - "raw": "0", - "start": 26, - "type": "Literal", - "value": 0, }, - "type": "BinaryExpression", + "type": "CallExpression", }, - "type": "ConditionalExpression", + "type": "LogicalExpression", }, "expression": true, "generator": false, "loc": undefined, "params": Array [ Node { - "end": 16, + "end": 65, "loc": SourceLocation { "end": Position { - "column": 15, - "line": 2, + "column": 16, + "line": 3, }, "start": Position { - "column": 14, - "line": 2, + "column": 15, + "line": 3, }, }, "name": "n", - "start": 15, + "start": 64, "type": "Identifier", }, ], @@ -57501,50757 +58024,514 @@ Array [ }, "loc": SourceLocation { "end": Position { - "column": 39, - "line": 3, + "column": 46, + "line": 2, }, "start": Position { - "column": 31, - "line": 3, + "column": 37, + "line": 2, }, }, "type": "CallExpression", }, - "type": "LogicalExpression", - }, - "expression": true, - "generator": false, - "loc": undefined, - "params": Array [ - Node { - "end": 65, + "consequent": Node { + "end": 35, "loc": SourceLocation { "end": Position { - "column": 16, - "line": 3, + "column": 34, + "line": 2, }, "start": Position { - "column": 15, - "line": 3, + "column": 29, + "line": 2, }, }, - "name": "n", - "start": 64, - "type": "Identifier", + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, }, - ], - "type": "ArrowFunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 37, - "line": 2, - }, - }, - "type": "CallExpression", - }, - "consequent": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "test": Node { - "end": 4, - "loc": SourceLocation { - "end": Position { - "column": 4, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "true", - "start": 0, - "type": "Literal", - "value": true, - }, - "type": "ConditionalExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Node { - "end": 35, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 2, - }, - "start": Position { - "column": 29, - "line": 2, - }, - }, - "raw": "false", - "start": 30, - "type": "Literal", - "value": false, - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, -] -`; - -exports[`expmod 1`] = ` -Array [ - Object { - "body": Array [ - Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Object { "left": Node { - "end": 37, + "end": 21, "loc": SourceLocation { "end": Position { - "column": 12, - "line": 3, + "column": 20, + "line": 2, }, "start": Position { - "column": 11, - "line": 3, + "column": 19, + "line": 2, }, }, "name": "n", - "start": 36, + "start": 20, "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 16, - "line": 3, + "column": 26, + "line": 2, }, "start": Position { - "column": 11, - "line": 3, + "column": 19, + "line": 2, }, }, - "operator": "%", + "operator": "===", "right": Node { - "end": 41, + "end": 27, "loc": SourceLocation { "end": Position { - "column": 16, - "line": 3, + "column": 26, + "line": 2, }, "start": Position { - "column": 15, - "line": 3, + "column": 25, + "line": 2, }, }, - "raw": "2", - "start": 40, + "raw": "0", + "start": 26, "type": "Literal", - "value": 2, + "value": 0, }, "type": "BinaryExpression", }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, + "type": "ConditionalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, "loc": SourceLocation { "end": Position { - "column": 22, - "line": 3, + "column": 15, + "line": 2, }, "start": Position { - "column": 21, - "line": 3, + "column": 14, + "line": 2, }, }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, + "name": "n", + "start": 15, + "type": "Identifier", }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, + ], + "type": "ArrowFunctionExpression", }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, "loc": SourceLocation { "end": Position { - "column": 20, - "line": 2, + "column": 39, + "line": 3, }, "start": Position { - "column": 19, - "line": 2, + "column": 31, + "line": 3, }, }, - "name": "n", - "start": 20, - "type": "Identifier", + "type": "CallExpression", }, - ], - "type": "FunctionDeclaration", + "type": "LogicalExpression", + }, + "type": "ExpressionStatement", }, + ], + "sourceType": "module", + "type": "Program", + }, + Object { + "body": Array [ Object { - "body": Object { - "body": Array [ + "expression": Object { + "arguments": Array [ Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": Node { - "end": 309, - "loc": SourceLocation { - "end": Position { - "column": 32, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "name": "expmod", - "start": 303, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": Node { - "end": 198, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "name": "expmod", - "start": 192, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Node { - "end": 155, - "loc": SourceLocation { - "end": Position { - "column": 19, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "name": "is_even", - "start": 148, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionDeclaration", - }, - Object { - "expression": Object { - "arguments": Array [ - Node { - "end": 360, - "loc": SourceLocation { - "end": Position { - "column": 8, - "line": 19, - }, - "start": Position { - "column": 7, - "line": 19, - }, - }, - "raw": "4", - "start": 359, - "type": "Literal", - "value": 4, - }, - Node { - "end": 363, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 19, - }, - "start": Position { - "column": 10, - "line": 19, - }, - }, - "raw": "3", - "start": 362, - "type": "Literal", - "value": 3, - }, - Node { - "end": 366, - "loc": SourceLocation { - "end": Position { - "column": 14, - "line": 19, - }, - "start": Position { - "column": 13, - "line": 19, - }, - }, - "raw": "5", - "start": 365, - "type": "Literal", - "value": 5, - }, - ], - "callee": Node { - "end": 358, - "loc": SourceLocation { - "end": Position { - "column": 6, - "line": 19, - }, - "start": Position { - "column": 0, - "line": 19, - }, - }, - "name": "expmod", - "start": 352, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 19, - }, - "start": Position { - "column": 0, - "line": 19, - }, - }, - "type": "CallExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": Node { - "end": 309, - "loc": SourceLocation { - "end": Position { - "column": 32, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "name": "expmod", - "start": 303, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": Node { - "end": 198, - "loc": SourceLocation { - "end": Position { - "column": 34, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "name": "expmod", - "start": 192, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionDeclaration", - }, - Object { - "expression": Object { - "arguments": Array [ - Node { - "end": 360, - "loc": SourceLocation { - "end": Position { - "column": 8, - "line": 19, - }, - "start": Position { - "column": 7, - "line": 19, - }, - }, - "raw": "4", - "start": 359, - "type": "Literal", - "value": 4, - }, - Node { - "end": 363, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 19, - }, - "start": Position { - "column": 10, - "line": 19, - }, - }, - "raw": "3", - "start": 362, - "type": "Literal", - "value": 3, - }, - Node { - "end": 366, - "loc": SourceLocation { - "end": Position { - "column": 14, - "line": 19, - }, - "start": Position { - "column": 13, - "line": 19, - }, - }, - "raw": "5", - "start": 365, - "type": "Literal", - "value": 5, - }, - ], - "callee": Node { - "end": 358, - "loc": SourceLocation { - "end": Position { - "column": 6, - "line": 19, - }, - "start": Position { - "column": 0, - "line": 19, - }, - }, - "name": "expmod", - "start": 352, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 19, - }, - "start": Position { - "column": 0, - "line": 19, - }, - }, - "type": "CallExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "arguments": Array [ - Node { - "end": 360, - "loc": SourceLocation { - "end": Position { - "column": 8, - "line": 19, - }, - "start": Position { - "column": 7, - "line": 19, - }, - }, - "raw": "4", - "start": 359, - "type": "Literal", - "value": 4, - }, - Node { - "end": 363, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 19, - }, - "start": Position { - "column": 10, - "line": 19, - }, - }, - "raw": "3", - "start": 362, - "type": "Literal", - "value": 3, - }, - Node { - "end": 366, - "loc": SourceLocation { - "end": Position { - "column": 14, - "line": 19, - }, - "start": Position { - "column": 13, - "line": 19, - }, - }, - "raw": "5", - "start": 365, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 19, - }, - "start": Position { - "column": 0, - "line": 19, - }, - }, - "type": "CallExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Node { - "end": 5, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "false", - "start": 0, - "type": "Literal", - "value": false, - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "left": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "1", - "start": 0, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Node { - "end": 5, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "false", - "start": 0, - "type": "Literal", - "value": false, - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 3, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "2", - "start": 0, - "type": "Literal", - "value": 2, - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Node { - "end": 5, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "false", - "start": 0, - "type": "Literal", - "value": false, - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "left": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "0", - "start": 0, - "type": "Literal", - "value": 0, - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Node { - "end": 4, - "loc": SourceLocation { - "end": Position { - "column": 4, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "true", - "start": 0, - "type": "Literal", - "value": true, - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 2, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "1", - "start": 0, - "type": "Literal", - "value": 1, - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Node { - "end": 5, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "false", - "start": 0, - "type": "Literal", - "value": false, - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "left": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "1", - "start": 0, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Node { - "end": 5, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "false", - "start": 0, - "type": "Literal", - "value": false, - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "0", - "start": 0, - "type": "Literal", - "value": 0, - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 0, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 0, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 0, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 0, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 0, - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 0, - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "alternate": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 300, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "name": "base", - "start": 296, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "arguments": Array [ - Node { - "end": 314, - "loc": SourceLocation { - "end": Position { - "column": 37, - "line": 14, - }, - "start": Position { - "column": 33, - "line": 14, - }, - }, - "name": "base", - "start": 310, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 319, - "loc": SourceLocation { - "end": Position { - "column": 42, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "name": "exp", - "start": 316, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 39, - "line": 14, - }, - }, - "operator": "-", - "right": Node { - "end": 323, - "loc": SourceLocation { - "end": Position { - "column": 46, - "line": 14, - }, - "start": Position { - "column": 45, - "line": 14, - }, - }, - "raw": "1", - "start": 322, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - Node { - "end": 326, - "loc": SourceLocation { - "end": Position { - "column": 49, - "line": 14, - }, - "start": Position { - "column": 48, - "line": 14, - }, - }, - "name": "m", - "start": 325, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 26, - "line": 14, - }, - }, - "type": "CallExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Node { - "end": 331, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 53, - "line": 14, - }, - }, - "name": "m", - "start": 330, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Node { - "end": 189, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 11, - }, - "start": Position { - "column": 18, - "line": 11, - }, - }, - "name": "to_half", - "start": 182, - "type": "Identifier", - }, - "init": Object { - "arguments": Array [ - Node { - "end": 203, - "loc": SourceLocation { - "end": Position { - "column": 39, - "line": 11, - }, - "start": Position { - "column": 35, - "line": 11, - }, - }, - "name": "base", - "start": 199, - "type": "Identifier", - }, - Object { - "left": Node { - "end": 208, - "loc": SourceLocation { - "end": Position { - "column": 44, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "name": "exp", - "start": 205, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 41, - "line": 11, - }, - }, - "operator": "/", - "right": Node { - "end": 212, - "loc": SourceLocation { - "end": Position { - "column": 48, - "line": 11, - }, - "start": Position { - "column": 47, - "line": 11, - }, - }, - "raw": "2", - "start": 211, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - Node { - "end": 215, - "loc": SourceLocation { - "end": Position { - "column": 51, - "line": 11, - }, - "start": Position { - "column": 50, - "line": 11, - }, - }, - "name": "m", - "start": 214, - "type": "Identifier", - }, - ], - "callee": [Circular], - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Node { - "end": 258, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 39, - "line": 12, - }, - }, - "name": "m", - "start": 257, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Node { - "end": 159, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 10, - }, - "start": Position { - "column": 20, - "line": 10, - }, - }, - "name": "exp", - "start": 156, - "type": "Identifier", - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Object { - "left": Node { - "end": 95, - "loc": SourceLocation { - "end": Position { - "column": 11, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "name": "exp", - "start": 92, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 8, - "line": 7, - }, - }, - "operator": "===", - "right": Node { - "end": 101, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 7, - }, - "start": Position { - "column": 16, - "line": 7, - }, - }, - "raw": "0", - "start": 100, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 67, - "loc": SourceLocation { - "end": Position { - "column": 15, - "line": 6, - }, - "start": Position { - "column": 9, - "line": 6, - }, - }, - "name": "expmod", - "start": 61, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 72, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 6, - }, - "start": Position { - "column": 16, - "line": 6, - }, - }, - "name": "base", - "start": 68, - "type": "Identifier", - }, - Node { - "end": 77, - "loc": SourceLocation { - "end": Position { - "column": 25, - "line": 6, - }, - "start": Position { - "column": 22, - "line": 6, - }, - }, - "name": "exp", - "start": 74, - "type": "Identifier", - }, - Node { - "end": 80, - "loc": SourceLocation { - "end": Position { - "column": 28, - "line": 6, - }, - "start": Position { - "column": 27, - "line": 6, - }, - }, - "name": "m", - "start": 79, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 52, - "line": 11, - }, - "start": Position { - "column": 28, - "line": 11, - }, - }, - "type": "CallExpression", - }, - "loc": undefined, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 9, - "line": 15, - }, - "start": Position { - "column": 8, - "line": 10, - }, - }, - "test": Object { - "arguments": Array [ - Object { - "loc": undefined, - "type": "Literal", - "value": 0, - }, - ], - "callee": Object { - "body": Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 37, - "loc": SourceLocation { - "end": Position { - "column": 12, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "name": "n", - "start": 36, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "%", - "right": Node { - "end": 41, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 3, - }, - "start": Position { - "column": 15, - "line": 3, - }, - }, - "raw": "2", - "start": 40, - "type": "Literal", - "value": 2, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 11, - "line": 3, - }, - }, - "operator": "===", - "right": Node { - "end": 47, - "loc": SourceLocation { - "end": Position { - "column": 22, - "line": 3, - }, - "start": Position { - "column": 21, - "line": 3, - }, - }, - "raw": "0", - "start": 46, - "type": "Literal", - "value": 0, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 23, - "line": 3, - }, - "start": Position { - "column": 4, - "line": 3, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "id": Node { - "end": 19, - "loc": SourceLocation { - "end": Position { - "column": 18, - "line": 2, - }, - "start": Position { - "column": 11, - "line": 2, - }, - }, - "name": "is_even", - "start": 12, - "type": "Identifier", - }, - "loc": undefined, - "params": Array [ - Node { - "end": 21, - "loc": SourceLocation { - "end": Position { - "column": 20, - "line": 2, - }, - "start": Position { - "column": 19, - "line": 2, - }, - }, - "name": "n", - "start": 20, - "type": "Identifier", - }, - ], - "type": "FunctionExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 24, - "line": 10, - }, - "start": Position { - "column": 12, - "line": 10, - }, - }, - "type": "CallExpression", - }, - "type": "IfStatement", - }, - ], - "type": "BlockStatement", - }, - "consequent": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - "loc": SourceLocation { - "end": Position { - "column": 5, - "line": 16, - }, - "start": Position { - "column": 4, - "line": 7, - }, - }, - "test": Node { - "end": 4, - "loc": SourceLocation { - "end": Position { - "column": 4, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "true", - "start": 0, - "type": "Literal", - "value": true, - }, - "type": "IfStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "argument": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 17, - "line": 8, - }, - "start": Position { - "column": 8, - "line": 8, - }, - }, - "type": "ReturnStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Node { - "end": 121, - "loc": SourceLocation { - "end": Position { - "column": 16, - "line": 8, - }, - "start": Position { - "column": 15, - "line": 8, - }, - }, - "raw": "1", - "start": 120, - "type": "Literal", - "value": 1, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, + "left": Object { + "loc": undefined, + "type": "Literal", + "value": 1, + }, + "loc": SourceLocation { + "end": Position { + "column": 38, + "line": 3, + }, + "start": Position { + "column": 35, + "line": 3, + }, + }, + "operator": "-", + "right": Node { + "end": 87, + "loc": SourceLocation { + "end": Position { + "column": 38, + "line": 3, + }, + "start": Position { + "column": 37, + "line": 3, + }, + }, + "raw": "1", + "start": 86, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", + }, + ], + "callee": Object { + "body": Object { + "alternate": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 44, + "loc": SourceLocation { + "end": Position { + "column": 43, + "line": 2, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, + "start": Position { + "column": 42, + "line": 2, }, - "type": "BinaryExpression", }, + "name": "n", + "start": 43, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "operator": "-", + "right": Node { + "end": 46, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 45, + "line": 2, }, "start": Position { - "column": 12, - "line": 14, + "column": 44, + "line": 2, }, }, - "type": "ReturnStatement", + "raw": "1", + "start": 45, + "type": "Literal", + "value": 1, }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, + "type": "BinaryExpression", + }, + ], + "callee": Object { + "body": Object { + "left": Object { + "left": Node { + "end": 70, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 21, + "line": 3, }, "start": Position { - "column": 19, - "line": 14, + "column": 20, + "line": 3, }, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", + "name": "n", + "start": 69, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 27, + "line": 3, }, "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 85, + "loc": SourceLocation { + "end": Position { + "column": 36, + "line": 3, + }, + "start": Position { + "column": 35, + "line": 3, + }, + }, + "name": "n", + "start": 84, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 50, - "line": 14, + "column": 38, + "line": 3, }, "start": Position { - "column": 19, - "line": 14, + "column": 35, + "line": 3, }, }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", + "operator": "-", + "right": Node { + "end": 87, + "loc": SourceLocation { + "end": Position { + "column": 38, + "line": 3, }, - ], - "loc": undefined, - "type": "BlockExpression", + "start": Position { + "column": 37, + "line": 3, + }, + }, + "raw": "1", + "start": 86, + "type": "Literal", + "value": 1, }, "type": "BinaryExpression", }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, + ], + "callee": Object { + "body": [Circular], + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "name": "n", + "start": 15, + "type": "Identifier", }, + ], + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 39, + "line": 3, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, + "start": Position { + "column": 31, + "line": 3, }, - "type": "BinaryExpression", }, + "type": "CallExpression", + }, + "type": "LogicalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 65, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 16, + "line": 3, }, "start": Position { - "column": 12, - "line": 14, + "column": 15, + "line": 3, }, }, - "type": "ReturnStatement", + "name": "n", + "start": 64, + "type": "Identifier", }, ], - "type": "BlockStatement", + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 37, + "line": 2, + }, + }, + "type": "CallExpression", + }, + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, + }, + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, + }, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Object { + "left": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "name": "n", + "start": 20, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "type": "ConditionalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, }, - ], - "type": "BlockStatement", + "name": "n", + "start": 15, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 39, + "line": 3, }, - ], - "loc": undefined, - "type": "BlockExpression", + "start": Position { + "column": 31, + "line": 3, + }, + }, + "type": "CallExpression", }, "type": "ExpressionStatement", }, @@ -108263,416 +58543,362 @@ Array [ "body": Array [ Object { "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", + "arguments": Array [ + Node { + "end": 1, + "loc": SourceLocation { + "end": Position { + "column": 1, + "line": 1, + }, + "start": Position { + "column": 0, + "line": 1, + }, + }, + "raw": "0", + "start": 0, + "type": "Literal", + "value": 0, + }, + ], + "callee": Object { + "body": Object { + "alternate": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 44, + "loc": SourceLocation { + "end": Position { + "column": 43, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "name": "n", + "start": 43, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "operator": "-", + "right": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 44, + "line": 2, }, + }, + "raw": "1", + "start": 45, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", + }, + ], + "callee": Object { + "body": Object { + "left": Object { + "left": Node { + "end": 70, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 21, + "line": 3, }, "start": Position { - "column": 19, - "line": 14, + "column": 20, + "line": 3, }, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", + "name": "n", + "start": 69, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 27, + "line": 3, }, "start": Position { - "column": 12, - "line": 14, + "column": 20, + "line": 3, }, }, - "type": "ReturnStatement", + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, + "loc": undefined, + "operator": "||", + "right": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 85, + "loc": SourceLocation { + "end": Position { + "column": 36, + "line": 3, + }, + "start": Position { + "column": 35, + "line": 3, + }, + }, + "name": "n", + "start": 84, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 50, - "line": 14, + "column": 38, + "line": 3, }, "start": Position { - "column": 19, - "line": 14, + "column": 35, + "line": 3, }, }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "declarations": Array [ - Object { - "id": Object { - "name": "to_half", - "type": "Identifier", - }, - "init": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, - }, - "type": "VariableDeclarator", - }, - ], - "kind": "const", - "loc": undefined, - "type": "VariableDeclaration", - }, - Object { - "argument": Object { - "left": Object { - "left": Node { - "end": 244, - "loc": SourceLocation { - "end": Position { - "column": 26, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "name": "to_half", - "start": 237, - "type": "Identifier", - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Node { - "end": 254, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 29, - "line": 12, - }, - }, - "name": "to_half", - "start": 247, - "type": "Identifier", - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", + "operator": "-", + "right": Node { + "end": 87, + "loc": SourceLocation { + "end": Position { + "column": 38, + "line": 3, }, - ], - "loc": undefined, - "type": "BlockExpression", + "start": Position { + "column": 37, + "line": 3, + }, + }, + "raw": "1", + "start": 86, + "type": "Literal", + "value": 1, }, "type": "BinaryExpression", }, - "loc": SourceLocation { - "end": Position { - "column": 54, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, + ], + "callee": Object { + "body": [Circular], + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "name": "n", + "start": 15, + "type": "Identifier", }, + ], + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 39, + "line": 3, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, + "start": Position { + "column": 31, + "line": 3, }, - "type": "BinaryExpression", }, + "type": "CallExpression", + }, + "type": "LogicalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 65, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 16, + "line": 3, }, "start": Position { - "column": 12, - "line": 14, + "column": 15, + "line": 3, }, }, - "type": "ReturnStatement", + "name": "n", + "start": 64, + "type": "Identifier", }, ], - "type": "BlockStatement", + "type": "ArrowFunctionExpression", }, - ], - "type": "BlockStatement", + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 37, + "line": 2, + }, + }, + "type": "CallExpression", + }, + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, + }, + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, + }, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Object { + "left": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "name": "n", + "start": 20, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "type": "ConditionalExpression", }, - ], - "loc": undefined, - "type": "BlockExpression", + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, + }, + "name": "n", + "start": 15, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 39, + "line": 3, + }, + "start": Position { + "column": 31, + "line": 3, + }, + }, + "type": "CallExpression", }, "type": "ExpressionStatement", }, @@ -108684,523 +58910,447 @@ Array [ "body": Array [ Object { "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ + "alternate": Object { + "arguments": Array [ + Object { + "left": Object { + "loc": undefined, + "type": "Literal", + "value": 0, + }, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "operator": "-", + "right": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 44, + "line": 2, + }, + }, + "raw": "1", + "start": 45, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", + }, + ], + "callee": Object { + "body": Object { + "left": Object { + "left": Node { + "end": 70, + "loc": SourceLocation { + "end": Position { + "column": 21, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "name": "n", + "start": 69, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { + "arguments": Array [ Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 36, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "*", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, + "left": Node { + "end": 85, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 36, + "line": 3, }, "start": Position { - "column": 19, - "line": 14, + "column": 35, + "line": 3, }, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", + "name": "n", + "start": 84, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 38, + "line": 3, }, "start": Position { - "column": 12, - "line": 14, + "column": 35, + "line": 3, }, }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Node { - "end": 2, - "loc": SourceLocation { - "end": Position { - "column": 2, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "16", - "start": 0, - "type": "Literal", - "value": 16, - }, - "loc": SourceLocation { - "end": Position { - "column": 40, - "line": 12, - }, - "start": Position { - "column": 19, - "line": 12, - }, - }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, + "operator": "-", + "right": Node { + "end": 87, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 38, + "line": 3, }, "start": Position { - "column": 19, - "line": 14, + "column": 37, + "line": 3, }, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, + "raw": "1", + "start": 86, + "type": "Literal", + "value": 1, }, - "type": "ReturnStatement", + "type": "BinaryExpression", }, ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, + "callee": Object { + "body": Object { + "alternate": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 44, + "loc": SourceLocation { + "end": Position { + "column": 43, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "name": "n", + "start": 43, + "type": "Identifier", }, - "start": Position { - "column": 19, - "line": 14, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "1", - "start": 0, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", + "operator": "-", + "right": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 44, + "line": 2, + }, }, - ], - "loc": undefined, - "type": "BlockExpression", + "raw": "1", + "start": 45, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", }, - "type": "BinaryExpression", + ], + "callee": Object { + "body": [Circular], + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 65, + "loc": SourceLocation { + "end": Position { + "column": 16, + "line": 3, + }, + "start": Position { + "column": 15, + "line": 3, + }, + }, + "name": "n", + "start": 64, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", }, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 46, + "line": 2, }, "start": Position { - "column": 19, - "line": 14, + "column": 37, + "line": 2, }, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, + "type": "CallExpression", + }, + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, }, - "type": "BinaryExpression", + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, }, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 46, + "line": 2, }, "start": Position { - "column": 12, - "line": 14, + "column": 19, + "line": 2, }, }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "1", - "start": 0, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", + "test": Object { + "left": Node { + "end": 21, + "loc": SourceLocation { + "end": Position { + "column": 20, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, }, - "type": "BinaryExpression", + "name": "n", + "start": 20, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 26, + "line": 2, }, "start": Position { "column": 19, - "line": 14, + "line": 2, }, }, - "operator": "%", - "right": Object { - "loc": undefined, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, "type": "Literal", - "value": 5, + "value": 0, }, "type": "BinaryExpression", }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, + "type": "ConditionalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, + "loc": SourceLocation { + "end": Position { + "column": 15, + "line": 2, + }, + "start": Position { + "column": 14, + "line": 2, + }, }, + "name": "n", + "start": 15, + "type": "Identifier", }, - "type": "ReturnStatement", + ], + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 39, + "line": 3, }, - ], - "type": "BlockStatement", + "start": Position { + "column": 31, + "line": 3, + }, + }, + "type": "CallExpression", + }, + "type": "LogicalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 65, + "loc": SourceLocation { + "end": Position { + "column": 16, + "line": 3, + }, + "start": Position { + "column": 15, + "line": 3, + }, + }, + "name": "n", + "start": 64, + "type": "Identifier", }, ], - "type": "BlockStatement", + "type": "ArrowFunctionExpression", }, - ], - "loc": undefined, - "type": "BlockExpression", + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 37, + "line": 2, + }, + }, + "type": "CallExpression", + }, + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, + }, + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, + }, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Object { + "left": Object { + "loc": undefined, + "type": "Literal", + "value": 0, + }, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "type": "ConditionalExpression", }, "type": "ExpressionStatement", }, @@ -109212,424 +59362,428 @@ Array [ "body": Array [ Object { "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ + "alternate": Object { + "arguments": Array [ + Object { + "left": Object { + "loc": undefined, + "type": "Literal", + "value": 0, + }, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "operator": "-", + "right": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 44, + "line": 2, + }, + }, + "raw": "1", + "start": 45, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", + }, + ], + "callee": Object { + "body": Object { + "left": Object { + "left": Node { + "end": 70, + "loc": SourceLocation { + "end": Position { + "column": 21, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "name": "n", + "start": 69, + "type": "Identifier", + }, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 20, + "line": 3, + }, + }, + "operator": "===", + "right": Node { + "end": 76, + "loc": SourceLocation { + "end": Position { + "column": 27, + "line": 3, + }, + "start": Position { + "column": 26, + "line": 3, + }, + }, + "raw": "0", + "start": 75, + "type": "Literal", + "value": 0, + }, + "type": "BinaryExpression", + }, + "loc": undefined, + "operator": "||", + "right": Object { + "arguments": Array [ Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, - }, - }, - "operator": "*", - "right": Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "1", - "start": 0, - "type": "Literal", - "value": 1, - }, - "loc": SourceLocation { - "end": Position { - "column": 41, - "line": 12, - }, - "start": Position { - "column": 12, - "line": 12, - }, - }, - "type": "ReturnStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "BinaryExpression", - }, + "left": Node { + "end": 85, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 36, + "line": 3, }, "start": Position { - "column": 19, - "line": 14, + "column": 35, + "line": 3, }, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", + "name": "n", + "start": 84, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 38, + "line": 3, }, "start": Position { - "column": 12, - "line": 14, + "column": 35, + "line": 3, }, }, - "type": "ReturnStatement", + "operator": "-", + "right": Node { + "end": 87, + "loc": SourceLocation { + "end": Position { + "column": 38, + "line": 3, + }, + "start": Position { + "column": 37, + "line": 3, + }, + }, + "raw": "1", + "start": 86, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", }, ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { - "left": Object { - "left": Object { - "loc": undefined, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 50, - "line": 14, - }, - "start": Position { - "column": 19, - "line": 14, + "callee": Object { + "body": Object { + "alternate": Object { + "arguments": Array [ + Object { + "left": Node { + "end": 44, + "loc": SourceLocation { + "end": Position { + "column": 43, + "line": 2, + }, + "start": Position { + "column": 42, + "line": 2, + }, + }, + "name": "n", + "start": 43, + "type": "Identifier", }, - }, - "operator": "*", - "right": Node { - "end": 1, "loc": SourceLocation { "end": Position { - "column": 1, - "line": 1, + "column": 45, + "line": 2, }, "start": Position { - "column": 0, - "line": 1, + "column": 42, + "line": 2, }, }, - "raw": "1", - "start": 0, - "type": "Literal", - "value": 1, + "operator": "-", + "right": Node { + "end": 46, + "loc": SourceLocation { + "end": Position { + "column": 45, + "line": 2, + }, + "start": Position { + "column": 44, + "line": 2, + }, + }, + "raw": "1", + "start": 45, + "type": "Literal", + "value": 1, + }, + "type": "BinaryExpression", }, - "type": "BinaryExpression", + ], + "callee": Object { + "body": [Circular], + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 65, + "loc": SourceLocation { + "end": Position { + "column": 16, + "line": 3, + }, + "start": Position { + "column": 15, + "line": 3, + }, + }, + "name": "n", + "start": 64, + "type": "Identifier", + }, + ], + "type": "ArrowFunctionExpression", }, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 46, + "line": 2, }, "start": Position { - "column": 19, - "line": 14, + "column": 37, + "line": 2, }, }, - "operator": "%", - "right": Object { - "loc": undefined, - "type": "Literal", - "value": 5, - }, - "type": "BinaryExpression", - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, + "type": "CallExpression", }, - "type": "ReturnStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Object { + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, + }, + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, + }, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Object { "left": Node { - "end": 1, + "end": 21, "loc": SourceLocation { "end": Position { - "column": 1, - "line": 1, + "column": 20, + "line": 2, }, "start": Position { - "column": 0, - "line": 1, + "column": 19, + "line": 2, }, }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, + "name": "n", + "start": 20, + "type": "Identifier", }, "loc": SourceLocation { "end": Position { - "column": 54, - "line": 14, + "column": 26, + "line": 2, }, "start": Position { "column": 19, - "line": 14, + "line": 2, }, }, - "operator": "%", - "right": Object { - "loc": undefined, + "operator": "===", + "right": Node { + "end": 27, + "loc": SourceLocation { + "end": Position { + "column": 26, + "line": 2, + }, + "start": Position { + "column": 25, + "line": 2, + }, + }, + "raw": "0", + "start": 26, "type": "Literal", - "value": 5, + "value": 0, }, "type": "BinaryExpression", }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, - }, - "type": "ReturnStatement", + "type": "ConditionalExpression", }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 16, "loc": SourceLocation { "end": Position { - "column": 1, - "line": 1, + "column": 15, + "line": 2, }, "start": Position { - "column": 0, - "line": 1, + "column": 14, + "line": 2, }, }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, - }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, + "name": "n", + "start": 15, + "type": "Identifier", }, - "type": "ReturnStatement", + ], + "type": "ArrowFunctionExpression", + }, + "loc": SourceLocation { + "end": Position { + "column": 39, + "line": 3, }, - ], - "type": "BlockStatement", - }, - ], - "type": "BlockStatement", - }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, + "start": Position { + "column": 31, + "line": 3, }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, }, + "type": "CallExpression", + }, + "type": "LogicalExpression", + }, + "expression": true, + "generator": false, + "loc": undefined, + "params": Array [ + Node { + "end": 65, "loc": SourceLocation { "end": Position { - "column": 55, - "line": 14, + "column": 16, + "line": 3, }, "start": Position { - "column": 12, - "line": 14, + "column": 15, + "line": 3, }, }, - "type": "ReturnStatement", + "name": "n", + "start": 64, + "type": "Identifier", }, ], - "type": "BlockStatement", + "type": "ArrowFunctionExpression", }, - ], - "loc": undefined, - "type": "BlockExpression", - }, - "type": "ExpressionStatement", - }, - ], - "sourceType": "module", - "type": "Program", - }, - Object { - "body": Array [ - Object { - "expression": Object { - "body": Array [ - Object { - "argument": Node { - "end": 1, - "loc": SourceLocation { - "end": Position { - "column": 1, - "line": 1, - }, - "start": Position { - "column": 0, - "line": 1, - }, - }, - "raw": "4", - "start": 0, - "type": "Literal", - "value": 4, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 37, + "line": 2, + }, + }, + "type": "CallExpression", + }, + "consequent": Node { + "end": 35, + "loc": SourceLocation { + "end": Position { + "column": 34, + "line": 2, + }, + "start": Position { + "column": 29, + "line": 2, + }, + }, + "raw": "false", + "start": 30, + "type": "Literal", + "value": false, + }, + "loc": SourceLocation { + "end": Position { + "column": 46, + "line": 2, + }, + "start": Position { + "column": 19, + "line": 2, + }, + }, + "test": Node { + "end": 4, + "loc": SourceLocation { + "end": Position { + "column": 4, + "line": 1, }, - "loc": SourceLocation { - "end": Position { - "column": 55, - "line": 14, - }, - "start": Position { - "column": 12, - "line": 14, - }, + "start": Position { + "column": 0, + "line": 1, }, - "type": "ReturnStatement", }, - ], - "loc": undefined, - "type": "BlockExpression", + "raw": "true", + "start": 0, + "type": "Literal", + "value": true, + }, + "type": "ConditionalExpression", }, "type": "ExpressionStatement", }, @@ -109641,21 +59795,21 @@ Array [ "body": Array [ Object { "expression": Node { - "end": 1, + "end": 35, "loc": SourceLocation { "end": Position { - "column": 1, - "line": 1, + "column": 34, + "line": 2, }, "start": Position { - "column": 0, - "line": 1, + "column": 29, + "line": 2, }, }, - "raw": "4", - "start": 0, + "raw": "false", + "start": 30, "type": "Literal", - "value": 4, + "value": false, }, "type": "ExpressionStatement", }, @@ -109666,7 +59820,7 @@ Array [ ] `; -exports[`expmod 2`] = ` +exports[`expmod 1`] = ` "function is_even(n) { return n % 2 === 0; } @@ -110440,6 +60594,462 @@ expmod(4, 3, 5); " `; +exports[`function declarations in blocks are protected 1`] = ` +"function repeat_pattern(n, p, r) { + function twice_p(r) { + return p(p(r)); + } + return n === 0 ? r : n % 2 !== 0 ? repeat_pattern(n - 1, p, p(r)) : repeat_pattern(n / 2, twice_p, r); +} +function plus_one(x) { + return x + 1; +} +repeat_pattern(5, plus_one, 0); + +function plus_one(x) { + return x + 1; +} +repeat_pattern(5, plus_one, 0); + +repeat_pattern(5, plus_one, 0); + +{ + function twice_p(r) { + return plus_one(plus_one(r)); + } + return 5 === 0 ? 0 : 5 % 2 !== 0 ? repeat_pattern(5 - 1, plus_one, plus_one(0)) : repeat_pattern(5 / 2, twice_p, 0); +}; + +{ + return 5 === 0 ? 0 : 5 % 2 !== 0 ? repeat_pattern(5 - 1, plus_one, plus_one(0)) : repeat_pattern(5 / 2, twice_p, 0); +}; + +{ + return false ? 0 : 5 % 2 !== 0 ? repeat_pattern(5 - 1, plus_one, plus_one(0)) : repeat_pattern(5 / 2, twice_p, 0); +}; + +{ + return 5 % 2 !== 0 ? repeat_pattern(5 - 1, plus_one, plus_one(0)) : repeat_pattern(5 / 2, twice_p, 0); +}; + +{ + return 1 !== 0 ? repeat_pattern(5 - 1, plus_one, plus_one(0)) : repeat_pattern(5 / 2, twice_p, 0); +}; + +{ + return true ? repeat_pattern(5 - 1, plus_one, plus_one(0)) : repeat_pattern(5 / 2, twice_p, 0); +}; + +{ + return repeat_pattern(5 - 1, plus_one, plus_one(0)); +}; + +{ + return repeat_pattern(4, plus_one, plus_one(0)); +}; + +{ + return repeat_pattern(4, plus_one, 0 + 1); +}; + +{ + return repeat_pattern(4, plus_one, 1); +}; + +{ + return { + function twice_p(r) { + return plus_one(plus_one(r)); + } + return 4 === 0 ? 1 : 4 % 2 !== 0 ? repeat_pattern(4 - 1, plus_one, plus_one(1)) : repeat_pattern(4 / 2, twice_p, 1); + }; +}; + +{ + return { + return 4 === 0 ? 1 : 4 % 2 !== 0 ? repeat_pattern(4 - 1, plus_one, plus_one(1)) : repeat_pattern(4 / 2, twice_p, 1); + }; +}; + +{ + return { + return false ? 1 : 4 % 2 !== 0 ? repeat_pattern(4 - 1, plus_one, plus_one(1)) : repeat_pattern(4 / 2, twice_p, 1); + }; +}; + +{ + return { + return 4 % 2 !== 0 ? repeat_pattern(4 - 1, plus_one, plus_one(1)) : repeat_pattern(4 / 2, twice_p, 1); + }; +}; + +{ + return { + return 0 !== 0 ? repeat_pattern(4 - 1, plus_one, plus_one(1)) : repeat_pattern(4 / 2, twice_p, 1); + }; +}; + +{ + return { + return false ? repeat_pattern(4 - 1, plus_one, plus_one(1)) : repeat_pattern(4 / 2, twice_p, 1); + }; +}; + +{ + return { + return repeat_pattern(4 / 2, twice_p, 1); + }; +}; + +{ + return { + return repeat_pattern(2, twice_p, 1); + }; +}; + +{ + return { + return { + function twice_p(r) { + return twice_p(twice_p(r)); + } + return 2 === 0 ? 1 : 2 % 2 !== 0 ? repeat_pattern(2 - 1, twice_p, twice_p(1)) : repeat_pattern(2 / 2, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return 2 === 0 ? 1 : 2 % 2 !== 0 ? repeat_pattern(2 - 1, twice_p, twice_p(1)) : repeat_pattern(2 / 2, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return false ? 1 : 2 % 2 !== 0 ? repeat_pattern(2 - 1, twice_p, twice_p(1)) : repeat_pattern(2 / 2, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return 2 % 2 !== 0 ? repeat_pattern(2 - 1, twice_p, twice_p(1)) : repeat_pattern(2 / 2, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return 0 !== 0 ? repeat_pattern(2 - 1, twice_p, twice_p(1)) : repeat_pattern(2 / 2, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return false ? repeat_pattern(2 - 1, twice_p, twice_p(1)) : repeat_pattern(2 / 2, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return repeat_pattern(2 / 2, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return repeat_pattern(1, twice_p, 1); + }; + }; +}; + +{ + return { + return { + return { + function twice_p(r) { + return twice_p(twice_p(r)); + } + return 1 === 0 ? 1 : 1 % 2 !== 0 ? repeat_pattern(1 - 1, twice_p, twice_p(1)) : repeat_pattern(1 / 2, twice_p, 1); + }; + }; + }; +}; + +{ + return { + return { + return { + return 1 === 0 ? 1 : 1 % 2 !== 0 ? repeat_pattern(1 - 1, twice_p, twice_p(1)) : repeat_pattern(1 / 2, twice_p, 1); + }; + }; + }; +}; + +{ + return { + return { + return { + return false ? 1 : 1 % 2 !== 0 ? repeat_pattern(1 - 1, twice_p, twice_p(1)) : repeat_pattern(1 / 2, twice_p, 1); + }; + }; + }; +}; + +{ + return { + return { + return { + return 1 % 2 !== 0 ? repeat_pattern(1 - 1, twice_p, twice_p(1)) : repeat_pattern(1 / 2, twice_p, 1); + }; + }; + }; +}; + +{ + return { + return { + return { + return 1 !== 0 ? repeat_pattern(1 - 1, twice_p, twice_p(1)) : repeat_pattern(1 / 2, twice_p, 1); + }; + }; + }; +}; + +{ + return { + return { + return { + return true ? repeat_pattern(1 - 1, twice_p, twice_p(1)) : repeat_pattern(1 / 2, twice_p, 1); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(1 - 1, twice_p, twice_p(1)); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, twice_p(1)); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, twice_p(twice_p(1))); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, twice_p(plus_one(plus_one(1)))); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, twice_p(plus_one(1 + 1))); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, twice_p(plus_one(2))); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, twice_p(2 + 1)); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, twice_p(3)); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, plus_one(plus_one(3))); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, plus_one(3 + 1)); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, plus_one(4)); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, 4 + 1); + }; + }; + }; +}; + +{ + return { + return { + return { + return repeat_pattern(0, twice_p, 5); + }; + }; + }; +}; + +{ + return { + return { + return { + return { + function twice_p(r) { + return twice_p(twice_p(r)); + } + return 0 === 0 ? 5 : 0 % 2 !== 0 ? repeat_pattern(0 - 1, twice_p, twice_p(5)) : repeat_pattern(0 / 2, twice_p, 5); + }; + }; + }; + }; +}; + +{ + return { + return { + return { + return { + return 0 === 0 ? 5 : 0 % 2 !== 0 ? repeat_pattern(0 - 1, twice_p, twice_p(5)) : repeat_pattern(0 / 2, twice_p, 5); + }; + }; + }; + }; +}; + +{ + return { + return { + return { + return { + return true ? 5 : 0 % 2 !== 0 ? repeat_pattern(0 - 1, twice_p, twice_p(5)) : repeat_pattern(0 / 2, twice_p, 5); + }; + }; + }; + }; +}; + +{ + return { + return { + return { + return { + return 5; + }; + }; + }; + }; +}; + +{ + return { + return { + return { + return 5; + }; + }; + }; +}; + +{ + return { + return { + return 5; + }; + }; +}; + +{ + return { + return 5; + }; +}; + +{ + return 5; +}; + +5; +" +`; + exports[`is_function checks for builtin 1`] = ` Array [ Object { @@ -110912,7 +61522,7 @@ exports[`subsets 1`] = ` return list(null); } else { const rest = subsets(tail(s)); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head(s), x), rest)); } } subsets(list(1, 2, 3)); @@ -110926,7 +61536,7 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail([1, [2, [3, null]]])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -110935,21 +61545,21 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail([1, [2, [3, null]]])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; { { const rest = subsets(tail([1, [2, [3, null]]])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; { { const rest = subsets([2, [3, null]]); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -110960,10 +61570,10 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail([2, [3, null]])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -110974,10 +61584,10 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail([2, [3, null]])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -110986,10 +61596,10 @@ subsets([1, [2, [3, null]]]); const rest = { { const rest = subsets(tail([2, [3, null]])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -110998,10 +61608,10 @@ subsets([1, [2, [3, null]]]); const rest = { { const rest = subsets([3, null]); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111014,13 +61624,13 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail([3, null])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111033,13 +61643,13 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail([3, null])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111050,13 +61660,13 @@ subsets([1, [2, [3, null]]]); const rest = { { const rest = subsets(tail([3, null])); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111067,13 +61677,13 @@ subsets([1, [2, [3, null]]]); const rest = { { const rest = subsets(null); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111088,16 +61698,16 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail(null)); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head(null), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111112,16 +61722,16 @@ subsets([1, [2, [3, null]]]); return list(null); } else { const rest = subsets(tail(null)); - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head(null), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111136,13 +61746,13 @@ subsets([1, [2, [3, null]]]); return list(null); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111157,13 +61767,13 @@ subsets([1, [2, [3, null]]]); return [null, null]; } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111176,13 +61786,13 @@ subsets([1, [2, [3, null]]]); const rest = { return [null, null]; }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111193,13 +61803,13 @@ subsets([1, [2, [3, null]]]); const rest = { { const rest = [null, null]; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([3, null]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111209,13 +61819,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], map(=>, [null, null])); + return append([null, null], map(x => pair(head([3, null]), x), [null, null])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111225,13 +61835,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], is_null([null, null]) ? null : pair(=>(head([null, null])), map(=>, tail([null, null])))); + return append([null, null], is_null([null, null]) ? null : pair((x => pair(head([3, null]), x))(head([null, null])), map(x => pair(head([3, null]), x), tail([null, null])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111241,13 +61851,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], false ? null : pair(=>(head([null, null])), map(=>, tail([null, null])))); + return append([null, null], false ? null : pair((x => pair(head([3, null]), x))(head([null, null])), map(x => pair(head([3, null]), x), tail([null, null])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111257,13 +61867,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair(=>(head([null, null])), map(=>, tail([null, null])))); + return append([null, null], pair((x => pair(head([3, null]), x))(head([null, null])), map(x => pair(head([3, null]), x), tail([null, null])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111273,13 +61883,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair(=>(null), map(=>, tail([null, null])))); + return append([null, null], pair((x => pair(head([3, null]), x))(null), map(x => pair(head([3, null]), x), tail([null, null])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111289,13 +61899,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair(pair(head([3, null]), null), map(=>, tail([null, null])))); + return append([null, null], pair(pair(head([3, null]), null), map(x => pair(head([3, null]), x), tail([null, null])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111305,13 +61915,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair(pair(3, null), map(=>, tail([null, null])))); + return append([null, null], pair(pair(3, null), map(x => pair(head([3, null]), x), tail([null, null])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111321,13 +61931,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair([3, null], map(=>, tail([null, null])))); + return append([null, null], pair([3, null], map(x => pair(head([3, null]), x), tail([null, null])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111337,13 +61947,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair([3, null], map(=>, null))); + return append([null, null], pair([3, null], map(x => pair(head([3, null]), x), null))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111353,13 +61963,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair([3, null], is_null(null) ? null : pair(=>(head(null)), map(=>, tail(null))))); + return append([null, null], pair([3, null], is_null(null) ? null : pair((x => pair(head([3, null]), x))(head(null)), map(x => pair(head([3, null]), x), tail(null))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111369,13 +61979,13 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, null], pair([3, null], true ? null : pair(=>(head(null)), map(=>, tail(null))))); + return append([null, null], pair([3, null], true ? null : pair((x => pair(head([3, null]), x))(head(null)), map(x => pair(head([3, null]), x), tail(null))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111388,10 +61998,10 @@ subsets([1, [2, [3, null]]]); return append([null, null], pair([3, null], null)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111404,10 +62014,10 @@ subsets([1, [2, [3, null]]]); return append([null, null], [[3, null], null]); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111420,10 +62030,10 @@ subsets([1, [2, [3, null]]]); return is_null([null, null]) ? [[3, null], null] : pair(head([null, null]), append(tail([null, null]), [[3, null], null])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111436,10 +62046,10 @@ subsets([1, [2, [3, null]]]); return false ? [[3, null], null] : pair(head([null, null]), append(tail([null, null]), [[3, null], null])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111452,10 +62062,10 @@ subsets([1, [2, [3, null]]]); return pair(head([null, null]), append(tail([null, null]), [[3, null], null])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111468,10 +62078,10 @@ subsets([1, [2, [3, null]]]); return pair(null, append(tail([null, null]), [[3, null], null])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111484,10 +62094,10 @@ subsets([1, [2, [3, null]]]); return pair(null, append(null, [[3, null], null])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111500,10 +62110,10 @@ subsets([1, [2, [3, null]]]); return pair(null, is_null(null) ? [[3, null], null] : pair(head(null), append(tail(null), [[3, null], null]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111516,10 +62126,10 @@ subsets([1, [2, [3, null]]]); return pair(null, true ? [[3, null], null] : pair(head(null), append(tail(null), [[3, null], null]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111532,10 +62142,10 @@ subsets([1, [2, [3, null]]]); return pair(null, [[3, null], null]); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111548,10 +62158,10 @@ subsets([1, [2, [3, null]]]); return [null, [[3, null], null]]; } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111562,10 +62172,10 @@ subsets([1, [2, [3, null]]]); const rest = { return [null, [[3, null], null]]; }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111574,10 +62184,10 @@ subsets([1, [2, [3, null]]]); const rest = { { const rest = [null, [[3, null], null]]; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111585,10 +62195,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], map(=>, [null, [[3, null], null]])); + return append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111596,10 +62206,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], is_null([null, [[3, null], null]]) ? null : pair(=>(head([null, [[3, null], null]])), map(=>, tail([null, [[3, null], null]])))); + return append([null, [[3, null], null]], is_null([null, [[3, null], null]]) ? null : pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111607,10 +62217,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], false ? null : pair(=>(head([null, [[3, null], null]])), map(=>, tail([null, [[3, null], null]])))); + return append([null, [[3, null], null]], false ? null : pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111618,10 +62228,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair(=>(head([null, [[3, null], null]])), map(=>, tail([null, [[3, null], null]])))); + return append([null, [[3, null], null]], pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111629,10 +62239,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair(=>(null), map(=>, tail([null, [[3, null], null]])))); + return append([null, [[3, null], null]], pair((x => pair(head([2, [3, null]]), x))(null), map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111640,10 +62250,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair(pair(head([2, [3, null]]), null), map(=>, tail([null, [[3, null], null]])))); + return append([null, [[3, null], null]], pair(pair(head([2, [3, null]]), null), map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111651,10 +62261,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair(pair(2, null), map(=>, tail([null, [[3, null], null]])))); + return append([null, [[3, null], null]], pair(pair(2, null), map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111662,10 +62272,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], map(=>, tail([null, [[3, null], null]])))); + return append([null, [[3, null], null]], pair([2, null], map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111673,10 +62283,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], map(=>, [[3, null], null]))); + return append([null, [[3, null], null]], pair([2, null], map(x => pair(head([2, [3, null]]), x), [[3, null], null]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111684,10 +62294,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], is_null([[3, null], null]) ? null : pair(=>(head([[3, null], null])), map(=>, tail([[3, null], null]))))); + return append([null, [[3, null], null]], pair([2, null], is_null([[3, null], null]) ? null : pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111695,10 +62305,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], false ? null : pair(=>(head([[3, null], null])), map(=>, tail([[3, null], null]))))); + return append([null, [[3, null], null]], pair([2, null], false ? null : pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111706,10 +62316,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair(=>(head([[3, null], null])), map(=>, tail([[3, null], null]))))); + return append([null, [[3, null], null]], pair([2, null], pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111717,10 +62327,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair(=>([3, null]), map(=>, tail([[3, null], null]))))); + return append([null, [[3, null], null]], pair([2, null], pair((x => pair(head([2, [3, null]]), x))([3, null]), map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111728,10 +62338,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair(pair(head([2, [3, null]]), [3, null]), map(=>, tail([[3, null], null]))))); + return append([null, [[3, null], null]], pair([2, null], pair(pair(head([2, [3, null]]), [3, null]), map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111739,10 +62349,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair(pair(2, [3, null]), map(=>, tail([[3, null], null]))))); + return append([null, [[3, null], null]], pair([2, null], pair(pair(2, [3, null]), map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111750,10 +62360,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], map(=>, tail([[3, null], null]))))); + return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111761,10 +62371,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], map(=>, null)))); + return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], map(x => pair(head([2, [3, null]]), x), null)))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111772,10 +62382,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], is_null(null) ? null : pair(=>(head(null)), map(=>, tail(null)))))); + return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], is_null(null) ? null : pair((x => pair(head([2, [3, null]]), x))(head(null)), map(x => pair(head([2, [3, null]]), x), tail(null)))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111783,10 +62393,10 @@ subsets([1, [2, [3, null]]]); { const rest = { { - return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], true ? null : pair(=>(head(null)), map(=>, tail(null)))))); + return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], true ? null : pair((x => pair(head([2, [3, null]]), x))(head(null)), map(x => pair(head([2, [3, null]]), x), tail(null)))))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111797,7 +62407,7 @@ subsets([1, [2, [3, null]]]); return append([null, [[3, null], null]], pair([2, null], pair([2, [3, null]], null))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111808,7 +62418,7 @@ subsets([1, [2, [3, null]]]); return append([null, [[3, null], null]], pair([2, null], [[2, [3, null]], null])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111819,7 +62429,7 @@ subsets([1, [2, [3, null]]]); return append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]]); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111830,7 +62440,7 @@ subsets([1, [2, [3, null]]]); return is_null([null, [[3, null], null]]) ? [[2, null], [[2, [3, null]], null]] : pair(head([null, [[3, null], null]]), append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111841,7 +62451,7 @@ subsets([1, [2, [3, null]]]); return false ? [[2, null], [[2, [3, null]], null]] : pair(head([null, [[3, null], null]]), append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111852,7 +62462,7 @@ subsets([1, [2, [3, null]]]); return pair(head([null, [[3, null], null]]), append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111863,7 +62473,7 @@ subsets([1, [2, [3, null]]]); return pair(null, append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111874,7 +62484,7 @@ subsets([1, [2, [3, null]]]); return pair(null, append([[3, null], null], [[2, null], [[2, [3, null]], null]])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111885,7 +62495,7 @@ subsets([1, [2, [3, null]]]); return pair(null, is_null([[3, null], null]) ? [[2, null], [[2, [3, null]], null]] : pair(head([[3, null], null]), append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111896,7 +62506,7 @@ subsets([1, [2, [3, null]]]); return pair(null, false ? [[2, null], [[2, [3, null]], null]] : pair(head([[3, null], null]), append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111907,7 +62517,7 @@ subsets([1, [2, [3, null]]]); return pair(null, pair(head([[3, null], null]), append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111918,7 +62528,7 @@ subsets([1, [2, [3, null]]]); return pair(null, pair([3, null], append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111929,7 +62539,7 @@ subsets([1, [2, [3, null]]]); return pair(null, pair([3, null], append(null, [[2, null], [[2, [3, null]], null]]))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111940,7 +62550,7 @@ subsets([1, [2, [3, null]]]); return pair(null, pair([3, null], is_null(null) ? [[2, null], [[2, [3, null]], null]] : pair(head(null), append(tail(null), [[2, null], [[2, [3, null]], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111951,7 +62561,7 @@ subsets([1, [2, [3, null]]]); return pair(null, pair([3, null], true ? [[2, null], [[2, [3, null]], null]] : pair(head(null), append(tail(null), [[2, null], [[2, [3, null]], null]])))); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111962,7 +62572,7 @@ subsets([1, [2, [3, null]]]); return pair(null, pair([3, null], [[2, null], [[2, [3, null]], null]])); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111973,7 +62583,7 @@ subsets([1, [2, [3, null]]]); return pair(null, [[3, null], [[2, null], [[2, [3, null]], null]]]); } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111984,7 +62594,7 @@ subsets([1, [2, [3, null]]]); return [null, [[3, null], [[2, null], [[2, [3, null]], null]]]]; } }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; @@ -111993,224 +62603,224 @@ subsets([1, [2, [3, null]]]); const rest = { return [null, [[3, null], [[2, null], [[2, [3, null]], null]]]]; }; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; { { const rest = [null, [[3, null], [[2, null], [[2, [3, null]], null]]]]; - return append(rest, map(=>, rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], map(=>, [null, [[3, null], [[2, null], [[2, [3, null]], null]]]])); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], map(x => pair(head([1, [2, [3, null]]]), x), [null, [[3, null], [[2, null], [[2, [3, null]], null]]]])); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], is_null([null, [[3, null], [[2, null], [[2, [3, null]], null]]]]) ? null : pair(=>(head([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])), map(=>, tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], is_null([null, [[3, null], [[2, null], [[2, [3, null]], null]]]]) ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], false ? null : pair(=>(head([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])), map(=>, tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], false ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair(=>(head([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])), map(=>, tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair((x => pair(head([1, [2, [3, null]]]), x))(head([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair(=>(null), map(=>, tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair((x => pair(head([1, [2, [3, null]]]), x))(null), map(x => pair(head([1, [2, [3, null]]]), x), tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair(pair(head([1, [2, [3, null]]]), null), map(=>, tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair(pair(head([1, [2, [3, null]]]), null), map(x => pair(head([1, [2, [3, null]]]), x), tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair(pair(1, null), map(=>, tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair(pair(1, null), map(x => pair(head([1, [2, [3, null]]]), x), tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], map(=>, tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], map(x => pair(head([1, [2, [3, null]]]), x), tail([null, [[3, null], [[2, null], [[2, [3, null]], null]]]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], map(=>, [[3, null], [[2, null], [[2, [3, null]], null]]]))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], map(x => pair(head([1, [2, [3, null]]]), x), [[3, null], [[2, null], [[2, [3, null]], null]]]))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], is_null([[3, null], [[2, null], [[2, [3, null]], null]]]) ? null : pair(=>(head([[3, null], [[2, null], [[2, [3, null]], null]]])), map(=>, tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], is_null([[3, null], [[2, null], [[2, [3, null]], null]]]) ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([[3, null], [[2, null], [[2, [3, null]], null]]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], false ? null : pair(=>(head([[3, null], [[2, null], [[2, [3, null]], null]]])), map(=>, tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], false ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([[3, null], [[2, null], [[2, [3, null]], null]]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair(=>(head([[3, null], [[2, null], [[2, [3, null]], null]]])), map(=>, tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair((x => pair(head([1, [2, [3, null]]]), x))(head([[3, null], [[2, null], [[2, [3, null]], null]]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair(=>([3, null]), map(=>, tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair((x => pair(head([1, [2, [3, null]]]), x))([3, null]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair(pair(head([1, [2, [3, null]]]), [3, null]), map(=>, tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair(pair(head([1, [2, [3, null]]]), [3, null]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair(pair(1, [3, null]), map(=>, tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair(pair(1, [3, null]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], map(=>, tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], map(x => pair(head([1, [2, [3, null]]]), x), tail([[3, null], [[2, null], [[2, [3, null]], null]]]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], map(=>, [[2, null], [[2, [3, null]], null]])))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], map(x => pair(head([1, [2, [3, null]]]), x), [[2, null], [[2, [3, null]], null]])))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], is_null([[2, null], [[2, [3, null]], null]]) ? null : pair(=>(head([[2, null], [[2, [3, null]], null]])), map(=>, tail([[2, null], [[2, [3, null]], null]])))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], is_null([[2, null], [[2, [3, null]], null]]) ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([[2, null], [[2, [3, null]], null]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, null], [[2, [3, null]], null]])))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], false ? null : pair(=>(head([[2, null], [[2, [3, null]], null]])), map(=>, tail([[2, null], [[2, [3, null]], null]])))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], false ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([[2, null], [[2, [3, null]], null]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, null], [[2, [3, null]], null]])))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair(=>(head([[2, null], [[2, [3, null]], null]])), map(=>, tail([[2, null], [[2, [3, null]], null]])))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair((x => pair(head([1, [2, [3, null]]]), x))(head([[2, null], [[2, [3, null]], null]])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, null], [[2, [3, null]], null]])))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair(=>([2, null]), map(=>, tail([[2, null], [[2, [3, null]], null]])))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair((x => pair(head([1, [2, [3, null]]]), x))([2, null]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, null], [[2, [3, null]], null]])))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair(pair(head([1, [2, [3, null]]]), [2, null]), map(=>, tail([[2, null], [[2, [3, null]], null]])))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair(pair(head([1, [2, [3, null]]]), [2, null]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, null], [[2, [3, null]], null]])))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair(pair(1, [2, null]), map(=>, tail([[2, null], [[2, [3, null]], null]])))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair(pair(1, [2, null]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, null], [[2, [3, null]], null]])))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], map(=>, tail([[2, null], [[2, [3, null]], null]])))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, null], [[2, [3, null]], null]])))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], map(=>, [[2, [3, null]], null]))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], map(x => pair(head([1, [2, [3, null]]]), x), [[2, [3, null]], null]))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], is_null([[2, [3, null]], null]) ? null : pair(=>(head([[2, [3, null]], null])), map(=>, tail([[2, [3, null]], null]))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], is_null([[2, [3, null]], null]) ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([[2, [3, null]], null])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, [3, null]], null]))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], false ? null : pair(=>(head([[2, [3, null]], null])), map(=>, tail([[2, [3, null]], null]))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], false ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head([[2, [3, null]], null])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, [3, null]], null]))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair(=>(head([[2, [3, null]], null])), map(=>, tail([[2, [3, null]], null]))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair((x => pair(head([1, [2, [3, null]]]), x))(head([[2, [3, null]], null])), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, [3, null]], null]))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair(=>([2, [3, null]]), map(=>, tail([[2, [3, null]], null]))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair((x => pair(head([1, [2, [3, null]]]), x))([2, [3, null]]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, [3, null]], null]))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair(pair(head([1, [2, [3, null]]]), [2, [3, null]]), map(=>, tail([[2, [3, null]], null]))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair(pair(head([1, [2, [3, null]]]), [2, [3, null]]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, [3, null]], null]))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair(pair(1, [2, [3, null]]), map(=>, tail([[2, [3, null]], null]))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair(pair(1, [2, [3, null]]), map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, [3, null]], null]))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], map(=>, tail([[2, [3, null]], null]))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], map(x => pair(head([1, [2, [3, null]]]), x), tail([[2, [3, null]], null]))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], map(=>, null)))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], map(x => pair(head([1, [2, [3, null]]]), x), null)))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], is_null(null) ? null : pair(=>(head(null)), map(=>, tail(null)))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], is_null(null) ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head(null)), map(x => pair(head([1, [2, [3, null]]]), x), tail(null)))))))); } }; { { - return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], true ? null : pair(=>(head(null)), map(=>, tail(null)))))))); + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], pair([1, null], pair([1, [3, null]], pair([1, [2, null]], pair([1, [2, [3, null]]], true ? null : pair((x => pair(head([1, [2, [3, null]]]), x))(head(null)), map(x => pair(head([1, [2, [3, null]]]), x), tail(null)))))))); } }; diff --git a/src/__tests__/substituter.ts b/src/__tests__/substituter.ts index bdac364a7..7821a7567 100644 --- a/src/__tests__/substituter.ts +++ b/src/__tests__/substituter.ts @@ -1,6 +1,11 @@ import { mockContext } from '../mocks/context' import { parse } from '../parser' import { codify, getEvaluationSteps } from '../substituter' +import { substituterNodes } from '../types' + +function getLastStepAsString(steps: substituterNodes[]): string { + return codify(steps[steps.length - 1]).trim() +} // source 0 test('Test basic substitution', () => { @@ -337,7 +342,6 @@ expmod(4, 3, 5); ` const program = parse(code, mockContext())! const steps = getEvaluationSteps(program, mockContext()) - expect(steps).toMatchSnapshot() expect(steps.map(codify).join('\n')).toMatchSnapshot() }) @@ -383,27 +387,28 @@ test('even odd mutual', () => { const program = parse(code, mockContext())! const steps = getEvaluationSteps(program, mockContext()) expect(steps).toMatchSnapshot() + expect(getLastStepAsString(steps)).toEqual('false;') expect(steps.map(codify).join('\n')).toMatchInlineSnapshot(` -"const odd = =>; -const even = =>; +"const odd = n => n === 0 ? false : even(n - 1); +const even = n => n === 0 || odd(n - 1); even(1); -const even = =>; +const even = n => n === 0 || (n => ...)(n - 1); even(1); -=>(1); +(n => n === 0 || (n => ...)(n - 1))(1); -1 === 0 || =>(1 - 1); +1 === 0 || (n => n === 0 ? false : (n => ...)(n - 1))(1 - 1); -false || =>(1 - 1); +false || (n => n === 0 ? false : (n => ...)(n - 1))(1 - 1); -=>(1 - 1); +(n => n === 0 ? false : (n => ...)(n - 1))(1 - 1); -=>(0); +(n => n === 0 ? false : (n => ...)(n - 1))(0); -0 === 0 ? false : =>(0 - 1); +0 === 0 ? false : (n => n === 0 || (n => ...)(n - 1))(0 - 1); -true ? false : =>(0 - 1); +true ? false : (n => n === 0 || (n => ...)(n - 1))(0 - 1); false; " @@ -419,6 +424,7 @@ test('assign undefined', () => { const program = parse(code, mockContext())! const steps = getEvaluationSteps(program, mockContext()) expect(steps).toMatchSnapshot() + expect(getLastStepAsString(steps)).toEqual('undefined;') expect(steps.map(codify).join('\n')).toMatchInlineSnapshot(` "const a = undefined; a; @@ -435,6 +441,7 @@ test('builtins return identifiers', () => { const program = parse(code, mockContext())! const steps = getEvaluationSteps(program, mockContext()) expect(steps).toMatchSnapshot() + expect(getLastStepAsString(steps)).toEqual('NaN;') expect(steps.map(codify).join('\n')).toMatchInlineSnapshot(` "math_sin(); @@ -521,3 +528,97 @@ false; " `) }) + +test('constant declarations in blocks are protected', () => { + const code = ` + const z = 1; + +function f(g) { + const z = 3; + return g(z); +} + +f(y => y + z); + ` + const program = parse(code, mockContext())! + const steps = getEvaluationSteps(program, mockContext()) + expect(steps).toMatchSnapshot() + expect(steps.map(codify).join('\n')).toMatchInlineSnapshot(` +"const z = 1; +function f(g) { + const z = 3; + return g(z); +} +f(y => y + z); + +function f(g) { + const z = 3; + return g(z); +} +f(y => y + 1); + +f(y => y + 1); + +{ + const z = 3; + return (y => y + 1)(z); +}; + +{ + return (y => y + 1)(3); +}; + +{ + return 3 + 1; +}; + +{ + return 4; +}; + +4; +" +`) + expect(getLastStepAsString(steps)).toEqual('4;') +}) + +test('function declarations in blocks are protected', () => { + const code = ` + function repeat_pattern(n, p, r) { + function twice_p(r) { + return p(p(r)); + } + return n === 0 + ? r + : n % 2 !== 0 + ? repeat_pattern(n - 1, p, p(r)) + : repeat_pattern(n / 2, twice_p, r); +} + +function plus_one(x) { + return x + 1; +} + +repeat_pattern(5, plus_one, 0); + + ` + const program = parse(code, mockContext())! + const steps = getEvaluationSteps(program, mockContext()) + expect(steps.map(codify).join('\n')).toMatchSnapshot() + expect(getLastStepAsString(steps)).toEqual('5;') +}) + +test('const declarations in blocks subst into call expressions', () => { + const code = ` + const z = 1; + function f(g) { + const z = 3; + return (y => z + z)(z); + } + f(undefined); + ` + const program = parse(code, mockContext())! + const steps = getEvaluationSteps(program, mockContext()) + expect(steps.map(codify).join('\n')).toMatchSnapshot() + expect(getLastStepAsString(steps)).toEqual('6;') +}) diff --git a/src/substituter.ts b/src/substituter.ts index 37f247d45..23db3aa10 100644 --- a/src/substituter.ts +++ b/src/substituter.ts @@ -15,7 +15,12 @@ import { } from './utils/dummyAstCreator' import { evaluateBinaryExpression, evaluateUnaryExpression } from './utils/operators' import * as rttc from './utils/rttc' -import { isAllowedLiterals, isBuiltinFunction, isNegNumber } from './utils/substituter' +import { + getDeclaredNames, + isAllowedLiterals, + isBuiltinFunction, + isNegNumber +} from './utils/substituter' import * as builtin from './utils/substStdLib' const irreducibleTypes = new Set([ @@ -135,14 +140,7 @@ function substituteMain( substedCallExpression.arguments = target.arguments.map( expn => substitute(expn) as es.Expression ) - // do not subst callee for 1. const declarations and 2. Formal argument - // substitution of parameters - // TODO - if (replacement.type === 'Literal') { - substedCallExpression.callee = target.callee as es.Expression - } else { - substedCallExpression.callee = substitute(target.callee) as es.Expression - } + substedCallExpression.callee = substitute(target.callee) as es.Expression return substedCallExpression }, @@ -191,6 +189,11 @@ function substituteMain( const substedBody = target.body.map(() => dummyStatement()) const substedBlockStatement = ast.blockStatement(substedBody) seenBefore.set(target, substedBlockStatement) + const declaredNames: Set = getDeclaredNames(target) + if (declaredNames.has(name.name)) { + substedBlockStatement.body = target.body + return substedBlockStatement + } substedBlockStatement.body = target.body.map(stmt => substitute(stmt) as es.Statement) return substedBlockStatement }, @@ -199,6 +202,11 @@ function substituteMain( const substedBody = target.body.map(() => dummyStatement()) const substedBlockExpression = ast.blockExpression(substedBody) seenBefore.set(target, substedBlockExpression) + const declaredNames: Set = getDeclaredNames(target) + if (declaredNames.has(name.name)) { + substedBlockExpression.body = target.body + return substedBlockExpression + } substedBlockExpression.body = target.body.map(stmt => substitute(stmt) as es.Statement) return substedBlockExpression }, @@ -849,116 +857,150 @@ function reduce(node: substituterNodes, context: Context): [substituterNodes, Co } } -// recurse down the program like substitute -// if see a function at expression position, -// has an identifier: replace with the name -// else: replace with an identifer "=>" -const treeifiers = { - // Identifier: return - ExpressionStatement: (target: es.ExpressionStatement): es.ExpressionStatement => { - return ast.expressionStatement(treeify(target.expression) as es.Expression) - }, +// Main creates a scope for us to control the verbosity +function treeifyMain(target: substituterNodes): substituterNodes { + // recurse down the program like substitute + // if see a function at expression position, + // has an identifier: replace with the name + // else: replace with an identifer "=>" + let verbose = true + const treeifiers = { + // Identifier: return + ExpressionStatement: (target: es.ExpressionStatement): es.ExpressionStatement => { + return ast.expressionStatement(treeify(target.expression) as es.Expression) + }, - BinaryExpression: (target: es.BinaryExpression) => { - return ast.binaryExpression( - target.operator, - treeify(target.left) as es.Expression, - treeify(target.right) as es.Expression - ) - }, + BinaryExpression: (target: es.BinaryExpression) => { + return ast.binaryExpression( + target.operator, + treeify(target.left) as es.Expression, + treeify(target.right) as es.Expression + ) + }, - LogicalExpression: (target: es.LogicalExpression) => { - return ast.logicalExpression( - target.operator, - treeify(target.left) as es.Expression, - treeify(target.right) as es.Expression - ) - }, + LogicalExpression: (target: es.LogicalExpression) => { + return ast.logicalExpression( + target.operator, + treeify(target.left) as es.Expression, + treeify(target.right) as es.Expression + ) + }, - UnaryExpression: (target: es.UnaryExpression): es.UnaryExpression => { - return ast.unaryExpression(target.operator, treeify(target.argument) as es.Expression) - }, + UnaryExpression: (target: es.UnaryExpression): es.UnaryExpression => { + return ast.unaryExpression(target.operator, treeify(target.argument) as es.Expression) + }, - ConditionalExpression: (target: es.ConditionalExpression): es.ConditionalExpression => { - return ast.conditionalExpression( - treeify(target.test) as es.Expression, - treeify(target.consequent) as es.Expression, - treeify(target.alternate) as es.Expression - ) - }, + ConditionalExpression: (target: es.ConditionalExpression): es.ConditionalExpression => { + return ast.conditionalExpression( + treeify(target.test) as es.Expression, + treeify(target.consequent) as es.Expression, + treeify(target.alternate) as es.Expression + ) + }, - CallExpression: (target: es.CallExpression): es.CallExpression => { - return ast.callExpression( - treeify(target.callee) as es.Expression, - target.arguments.map(arg => treeify(arg) as es.Expression) - ) - }, + CallExpression: (target: es.CallExpression): es.CallExpression => { + return ast.callExpression( + treeify(target.callee) as es.Expression, + target.arguments.map(arg => treeify(arg) as es.Expression) + ) + }, - FunctionDeclaration: (target: es.FunctionDeclaration): es.FunctionDeclaration => { - return ast.functionDeclaration(target.id, target.params, treeify( - target.body - ) as es.BlockStatement) - }, + FunctionDeclaration: (target: es.FunctionDeclaration): es.FunctionDeclaration => { + return ast.functionDeclaration(target.id, target.params, treeify( + target.body + ) as es.BlockStatement) + }, - // CORE - FunctionExpression: (target: es.FunctionExpression): es.Identifier => { - return ast.identifier(target.id ? target.id.name : '=>') - }, + // CORE + FunctionExpression: ( + target: es.FunctionExpression + ): es.Identifier | es.ArrowFunctionExpression => { + if (target.id) { + return target.id + } else if (verbose) { + // here onwards is guarding against arrow turned function expressions + verbose = false + const redacted = ast.arrowFunctionExpression(target.params, treeify( + target.body + ) as es.BlockStatement) + verbose = true + return redacted + } else { + // simplify the body with ellipses + return ast.arrowFunctionExpression(target.params, ast.identifier('...')) + } + }, - Program: (target: es.Program): es.Program => { - return ast.program(target.body.map(stmt => treeify(stmt) as es.Statement)) - }, + Program: (target: es.Program): es.Program => { + return ast.program(target.body.map(stmt => treeify(stmt) as es.Statement)) + }, - BlockStatement: (target: es.BlockStatement): es.BlockStatement => { - return ast.blockStatement(target.body.map(stmt => treeify(stmt) as es.Statement)) - }, + BlockStatement: (target: es.BlockStatement): es.BlockStatement => { + return ast.blockStatement(target.body.map(stmt => treeify(stmt) as es.Statement)) + }, - ReturnStatement: (target: es.ReturnStatement): es.ReturnStatement => { - return ast.returnStatement(treeify(target.argument!) as es.Expression) - }, + ReturnStatement: (target: es.ReturnStatement): es.ReturnStatement => { + return ast.returnStatement(treeify(target.argument!) as es.Expression) + }, - BlockExpression: (target: BlockExpression): es.BlockStatement => { - return ast.blockStatement(target.body.map(treeify) as es.Statement[]) - }, + BlockExpression: (target: BlockExpression): es.BlockStatement => { + return ast.blockStatement(target.body.map(treeify) as es.Statement[]) + }, - // source 1 - VariableDeclaration: (target: es.VariableDeclaration): es.VariableDeclaration => { - return ast.variableDeclaration(target.declarations.map(treeify) as es.VariableDeclarator[]) - }, + // source 1 + VariableDeclaration: (target: es.VariableDeclaration): es.VariableDeclaration => { + return ast.variableDeclaration(target.declarations.map(treeify) as es.VariableDeclarator[]) + }, - VariableDeclarator: (target: es.VariableDeclarator): es.VariableDeclarator => { - return ast.variableDeclarator(target.id, treeify(target.init!) as es.Expression) - }, + VariableDeclarator: (target: es.VariableDeclarator): es.VariableDeclarator => { + return ast.variableDeclarator(target.id, treeify(target.init!) as es.Expression) + }, - IfStatement: (target: es.IfStatement): es.IfStatement => { - return ast.ifStatement( - treeify(target.test) as es.Expression, - treeify(target.consequent) as es.BlockStatement, - treeify(target.alternate!) as es.BlockStatement | es.IfStatement - ) - }, + IfStatement: (target: es.IfStatement): es.IfStatement => { + return ast.ifStatement( + treeify(target.test) as es.Expression, + treeify(target.consequent) as es.BlockStatement, + treeify(target.alternate!) as es.BlockStatement | es.IfStatement + ) + }, - // CORE - ArrowFunctionExpression: (target: es.ArrowFunctionExpression): es.Identifier => { - return ast.identifier('=>') - }, + // CORE + ArrowFunctionExpression: ( + target: es.ArrowFunctionExpression + ): es.Identifier | es.ArrowFunctionExpression => { + if (verbose) { + // here onwards is guarding against arrow turned function expressions + verbose = false + const redacted = ast.arrowFunctionExpression(target.params, treeify( + target.body + ) as es.BlockStatement) + verbose = true + return redacted + } else { + // simplify the body with ellipses + return ast.arrowFunctionExpression(target.params, ast.identifier('...')) + } + }, - // source 2 - ArrayExpression: (target: es.ArrayExpression): es.ArrayExpression => { - return ast.arrayExpression(target.elements.map(treeify) as es.Expression[]) + // source 2 + ArrayExpression: (target: es.ArrayExpression): es.ArrayExpression => { + return ast.arrayExpression(target.elements.map(treeify) as es.Expression[]) + } } -} -function treeify(target: substituterNodes): substituterNodes { - const treeifier = treeifiers[target.type] - if (treeifier === undefined) { - return target - } else { - return treeifier(target) + function treeify(target: substituterNodes): substituterNodes { + const treeifier = treeifiers[target.type] + if (treeifier === undefined) { + return target + } else { + return treeifier(target) + } } + + return treeify(target) } -export const codify = (node: substituterNodes): string => generate(treeify(node)) +export const codify = (node: substituterNodes): string => generate(treeifyMain(node)) // strategy: we remember how many statements are there originally in program. // since listPrelude are just functions, they will be disposed of one by one diff --git a/src/utils/substituter.ts b/src/utils/substituter.ts index 5759a51aa..cc7612f2b 100644 --- a/src/utils/substituter.ts +++ b/src/utils/substituter.ts @@ -1,4 +1,5 @@ -import { substituterNodes } from '../types' +import * as es from 'estree' +import { BlockExpression, substituterNodes } from '../types' import * as builtin from './substStdLib' export function isBuiltinFunction(node: substituterNodes): boolean { @@ -37,3 +38,21 @@ export function isNumber(node: substituterNodes): boolean { export function isAllowedLiterals(node: substituterNodes): boolean { return node.type === 'Identifier' && ['NaN', 'Infinity', 'undefined'].includes(node.name) } + +export function getDeclaredNames(node: es.BlockStatement | BlockExpression): Set { + const declaredNames = new Set() + for (const stmt of node.body) { + // if stmt is assignment or functionDeclaration + // add stmt into a set of identifiers + // return that set + if (stmt.type === 'VariableDeclaration') { + stmt.declarations + .map(decn => (decn as es.VariableDeclarator).id as es.Identifier) + .map(id => id.name) + .forEach(name => declaredNames.add(name)) + } else if (stmt.type === 'FunctionDeclaration' && stmt.id) { + declaredNames.add(stmt.id.name) + } + } + return declaredNames +}