1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "AccessFannkuch",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 16,
14              "column": 14
15            },
16            "end": {
17              "line": 16,
18              "column": 28
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "ClassProperty",
27            "key": {
28              "type": "Identifier",
29              "name": "n",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 17,
34                  "column": 12
35                },
36                "end": {
37                  "line": 17,
38                  "column": 13
39                }
40              }
41            },
42            "accessibility": "public",
43            "static": false,
44            "readonly": false,
45            "declare": false,
46            "optional": false,
47            "computed": false,
48            "typeAnnotation": {
49              "type": "ETSPrimitiveType",
50              "loc": {
51                "start": {
52                  "line": 17,
53                  "column": 15
54                },
55                "end": {
56                  "line": 17,
57                  "column": 18
58                }
59              }
60            },
61            "definite": false,
62            "decorators": [],
63            "loc": {
64              "start": {
65                "line": 17,
66                "column": 12
67              },
68              "end": {
69                "line": 17,
70                "column": 18
71              }
72            }
73          },
74          {
75            "type": "MethodDefinition",
76            "key": {
77              "type": "Identifier",
78              "name": "constructor",
79              "decorators": [],
80              "loc": {
81                "start": {
82                  "line": 1,
83                  "column": 1
84                },
85                "end": {
86                  "line": 1,
87                  "column": 1
88                }
89              }
90            },
91            "kind": "constructor",
92            "accessibility": "public",
93            "static": false,
94            "optional": false,
95            "computed": false,
96            "value": {
97              "type": "FunctionExpression",
98              "function": {
99                "type": "ScriptFunction",
100                "id": {
101                  "type": "Identifier",
102                  "name": "constructor",
103                  "decorators": [],
104                  "loc": {
105                    "start": {
106                      "line": 1,
107                      "column": 1
108                    },
109                    "end": {
110                      "line": 1,
111                      "column": 1
112                    }
113                  }
114                },
115                "generator": false,
116                "async": false,
117                "expression": false,
118                "params": [],
119                "body": {
120                  "type": "BlockStatement",
121                  "statements": [
122                    {
123                      "type": "ExpressionStatement",
124                      "expression": {
125                        "type": "AssignmentExpression",
126                        "operator": "=",
127                        "left": {
128                          "type": "MemberExpression",
129                          "object": {
130                            "type": "ThisExpression",
131                            "loc": {
132                              "start": {
133                                "line": 19,
134                                "column": 9
135                              },
136                              "end": {
137                                "line": 19,
138                                "column": 13
139                              }
140                            }
141                          },
142                          "property": {
143                            "type": "Identifier",
144                            "name": "n",
145                            "decorators": [],
146                            "loc": {
147                              "start": {
148                                "line": 19,
149                                "column": 14
150                              },
151                              "end": {
152                                "line": 19,
153                                "column": 15
154                              }
155                            }
156                          },
157                          "computed": false,
158                          "optional": false,
159                          "loc": {
160                            "start": {
161                              "line": 19,
162                              "column": 9
163                            },
164                            "end": {
165                              "line": 19,
166                              "column": 15
167                            }
168                          }
169                        },
170                        "right": {
171                          "type": "NumberLiteral",
172                          "value": 8,
173                          "loc": {
174                            "start": {
175                              "line": 19,
176                              "column": 18
177                            },
178                            "end": {
179                              "line": 19,
180                              "column": 19
181                            }
182                          }
183                        },
184                        "loc": {
185                          "start": {
186                            "line": 19,
187                            "column": 9
188                          },
189                          "end": {
190                            "line": 19,
191                            "column": 19
192                          }
193                        }
194                      },
195                      "loc": {
196                        "start": {
197                          "line": 19,
198                          "column": 9
199                        },
200                        "end": {
201                          "line": 19,
202                          "column": 20
203                        }
204                      }
205                    }
206                  ],
207                  "loc": {
208                    "start": {
209                      "line": 18,
210                      "column": 19
211                    },
212                    "end": {
213                      "line": 20,
214                      "column": 6
215                    }
216                  }
217                },
218                "loc": {
219                  "start": {
220                    "line": 18,
221                    "column": 16
222                  },
223                  "end": {
224                    "line": 20,
225                    "column": 6
226                  }
227                }
228              },
229              "loc": {
230                "start": {
231                  "line": 18,
232                  "column": 16
233                },
234                "end": {
235                  "line": 20,
236                  "column": 6
237                }
238              }
239            },
240            "overloads": [],
241            "decorators": [],
242            "loc": {
243              "start": {
244                "line": 18,
245                "column": 5
246              },
247              "end": {
248                "line": 20,
249                "column": 6
250              }
251            }
252          },
253          {
254            "type": "ClassProperty",
255            "key": {
256              "type": "Identifier",
257              "name": "expected",
258              "decorators": [],
259              "loc": {
260                "start": {
261                  "line": 22,
262                  "column": 12
263                },
264                "end": {
265                  "line": 22,
266                  "column": 20
267                }
268              }
269            },
270            "value": {
271              "type": "NumberLiteral",
272              "value": 22,
273              "loc": {
274                "start": {
275                  "line": 22,
276                  "column": 28
277                },
278                "end": {
279                  "line": 22,
280                  "column": 30
281                }
282              }
283            },
284            "accessibility": "public",
285            "static": true,
286            "readonly": false,
287            "declare": false,
288            "optional": false,
289            "computed": false,
290            "typeAnnotation": {
291              "type": "ETSPrimitiveType",
292              "loc": {
293                "start": {
294                  "line": 22,
295                  "column": 22
296                },
297                "end": {
298                  "line": 22,
299                  "column": 25
300                }
301              }
302            },
303            "definite": false,
304            "decorators": [],
305            "loc": {
306              "start": {
307                "line": 22,
308                "column": 12
309              },
310              "end": {
311                "line": 22,
312                "column": 30
313              }
314            }
315          },
316          {
317            "type": "MethodDefinition",
318            "key": {
319              "type": "Identifier",
320              "name": "fannkuch",
321              "decorators": [],
322              "loc": {
323                "start": {
324                  "line": 24,
325                  "column": 12
326                },
327                "end": {
328                  "line": 24,
329                  "column": 20
330                }
331              }
332            },
333            "kind": "method",
334            "accessibility": "public",
335            "static": false,
336            "optional": false,
337            "computed": false,
338            "value": {
339              "type": "FunctionExpression",
340              "function": {
341                "type": "ScriptFunction",
342                "id": {
343                  "type": "Identifier",
344                  "name": "fannkuch",
345                  "decorators": [],
346                  "loc": {
347                    "start": {
348                      "line": 24,
349                      "column": 12
350                    },
351                    "end": {
352                      "line": 24,
353                      "column": 20
354                    }
355                  }
356                },
357                "generator": false,
358                "async": false,
359                "expression": false,
360                "params": [
361                  {
362                    "type": "ETSParameterExpression",
363                    "name": {
364                      "type": "Identifier",
365                      "name": "n",
366                      "typeAnnotation": {
367                        "type": "ETSPrimitiveType",
368                        "loc": {
369                          "start": {
370                            "line": 24,
371                            "column": 24
372                          },
373                          "end": {
374                            "line": 24,
375                            "column": 27
376                          }
377                        }
378                      },
379                      "decorators": [],
380                      "loc": {
381                        "start": {
382                          "line": 24,
383                          "column": 21
384                        },
385                        "end": {
386                          "line": 24,
387                          "column": 27
388                        }
389                      }
390                    },
391                    "loc": {
392                      "start": {
393                        "line": 24,
394                        "column": 21
395                      },
396                      "end": {
397                        "line": 24,
398                        "column": 27
399                      }
400                    }
401                  }
402                ],
403                "returnType": {
404                  "type": "ETSPrimitiveType",
405                  "loc": {
406                    "start": {
407                      "line": 24,
408                      "column": 30
409                    },
410                    "end": {
411                      "line": 24,
412                      "column": 33
413                    }
414                  }
415                },
416                "body": {
417                  "type": "BlockStatement",
418                  "statements": [
419                    {
420                      "type": "VariableDeclaration",
421                      "declarations": [
422                        {
423                          "type": "VariableDeclarator",
424                          "id": {
425                            "type": "Identifier",
426                            "name": "perm",
427                            "typeAnnotation": {
428                              "type": "TSArrayType",
429                              "elementType": {
430                                "type": "ETSPrimitiveType",
431                                "loc": {
432                                  "start": {
433                                    "line": 26,
434                                    "column": 19
435                                  },
436                                  "end": {
437                                    "line": 26,
438                                    "column": 22
439                                  }
440                                }
441                              },
442                              "loc": {
443                                "start": {
444                                  "line": 26,
445                                  "column": 25
446                                },
447                                "end": {
448                                  "line": 26,
449                                  "column": 26
450                                }
451                              }
452                            },
453                            "decorators": [],
454                            "loc": {
455                              "start": {
456                                "line": 26,
457                                "column": 13
458                              },
459                              "end": {
460                                "line": 26,
461                                "column": 17
462                              }
463                            }
464                          },
465                          "init": {
466                            "type": "ETSNewArrayInstanceExpression",
467                            "typeReference": {
468                              "type": "ETSPrimitiveType",
469                              "loc": {
470                                "start": {
471                                  "line": 26,
472                                  "column": 31
473                                },
474                                "end": {
475                                  "line": 26,
476                                  "column": 34
477                                }
478                              }
479                            },
480                            "dimension": {
481                              "type": "MemberExpression",
482                              "object": {
483                                "type": "ThisExpression",
484                                "loc": {
485                                  "start": {
486                                    "line": 26,
487                                    "column": 35
488                                  },
489                                  "end": {
490                                    "line": 26,
491                                    "column": 39
492                                  }
493                                }
494                              },
495                              "property": {
496                                "type": "Identifier",
497                                "name": "n",
498                                "decorators": [],
499                                "loc": {
500                                  "start": {
501                                    "line": 26,
502                                    "column": 40
503                                  },
504                                  "end": {
505                                    "line": 26,
506                                    "column": 41
507                                  }
508                                }
509                              },
510                              "computed": false,
511                              "optional": false,
512                              "loc": {
513                                "start": {
514                                  "line": 26,
515                                  "column": 35
516                                },
517                                "end": {
518                                  "line": 26,
519                                  "column": 41
520                                }
521                              }
522                            },
523                            "loc": {
524                              "start": {
525                                "line": 26,
526                                "column": 27
527                              },
528                              "end": {
529                                "line": 26,
530                                "column": 42
531                              }
532                            }
533                          },
534                          "loc": {
535                            "start": {
536                              "line": 26,
537                              "column": 13
538                            },
539                            "end": {
540                              "line": 26,
541                              "column": 42
542                            }
543                          }
544                        }
545                      ],
546                      "kind": "let",
547                      "loc": {
548                        "start": {
549                          "line": 26,
550                          "column": 9
551                        },
552                        "end": {
553                          "line": 26,
554                          "column": 43
555                        }
556                      }
557                    },
558                    {
559                      "type": "VariableDeclaration",
560                      "declarations": [
561                        {
562                          "type": "VariableDeclarator",
563                          "id": {
564                            "type": "Identifier",
565                            "name": "perm1",
566                            "typeAnnotation": {
567                              "type": "TSArrayType",
568                              "elementType": {
569                                "type": "ETSPrimitiveType",
570                                "loc": {
571                                  "start": {
572                                    "line": 28,
573                                    "column": 20
574                                  },
575                                  "end": {
576                                    "line": 28,
577                                    "column": 23
578                                  }
579                                }
580                              },
581                              "loc": {
582                                "start": {
583                                  "line": 28,
584                                  "column": 26
585                                },
586                                "end": {
587                                  "line": 28,
588                                  "column": 27
589                                }
590                              }
591                            },
592                            "decorators": [],
593                            "loc": {
594                              "start": {
595                                "line": 28,
596                                "column": 13
597                              },
598                              "end": {
599                                "line": 28,
600                                "column": 18
601                              }
602                            }
603                          },
604                          "init": {
605                            "type": "ETSNewArrayInstanceExpression",
606                            "typeReference": {
607                              "type": "ETSPrimitiveType",
608                              "loc": {
609                                "start": {
610                                  "line": 28,
611                                  "column": 32
612                                },
613                                "end": {
614                                  "line": 28,
615                                  "column": 35
616                                }
617                              }
618                            },
619                            "dimension": {
620                              "type": "MemberExpression",
621                              "object": {
622                                "type": "ThisExpression",
623                                "loc": {
624                                  "start": {
625                                    "line": 28,
626                                    "column": 36
627                                  },
628                                  "end": {
629                                    "line": 28,
630                                    "column": 40
631                                  }
632                                }
633                              },
634                              "property": {
635                                "type": "Identifier",
636                                "name": "n",
637                                "decorators": [],
638                                "loc": {
639                                  "start": {
640                                    "line": 28,
641                                    "column": 41
642                                  },
643                                  "end": {
644                                    "line": 28,
645                                    "column": 42
646                                  }
647                                }
648                              },
649                              "computed": false,
650                              "optional": false,
651                              "loc": {
652                                "start": {
653                                  "line": 28,
654                                  "column": 36
655                                },
656                                "end": {
657                                  "line": 28,
658                                  "column": 42
659                                }
660                              }
661                            },
662                            "loc": {
663                              "start": {
664                                "line": 28,
665                                "column": 28
666                              },
667                              "end": {
668                                "line": 28,
669                                "column": 43
670                              }
671                            }
672                          },
673                          "loc": {
674                            "start": {
675                              "line": 28,
676                              "column": 13
677                            },
678                            "end": {
679                              "line": 28,
680                              "column": 43
681                            }
682                          }
683                        }
684                      ],
685                      "kind": "let",
686                      "loc": {
687                        "start": {
688                          "line": 28,
689                          "column": 9
690                        },
691                        "end": {
692                          "line": 28,
693                          "column": 44
694                        }
695                      }
696                    },
697                    {
698                      "type": "VariableDeclaration",
699                      "declarations": [
700                        {
701                          "type": "VariableDeclarator",
702                          "id": {
703                            "type": "Identifier",
704                            "name": "count",
705                            "typeAnnotation": {
706                              "type": "TSArrayType",
707                              "elementType": {
708                                "type": "ETSPrimitiveType",
709                                "loc": {
710                                  "start": {
711                                    "line": 30,
712                                    "column": 20
713                                  },
714                                  "end": {
715                                    "line": 30,
716                                    "column": 23
717                                  }
718                                }
719                              },
720                              "loc": {
721                                "start": {
722                                  "line": 30,
723                                  "column": 26
724                                },
725                                "end": {
726                                  "line": 30,
727                                  "column": 27
728                                }
729                              }
730                            },
731                            "decorators": [],
732                            "loc": {
733                              "start": {
734                                "line": 30,
735                                "column": 13
736                              },
737                              "end": {
738                                "line": 30,
739                                "column": 18
740                              }
741                            }
742                          },
743                          "init": {
744                            "type": "ETSNewArrayInstanceExpression",
745                            "typeReference": {
746                              "type": "ETSPrimitiveType",
747                              "loc": {
748                                "start": {
749                                  "line": 30,
750                                  "column": 32
751                                },
752                                "end": {
753                                  "line": 30,
754                                  "column": 35
755                                }
756                              }
757                            },
758                            "dimension": {
759                              "type": "MemberExpression",
760                              "object": {
761                                "type": "ThisExpression",
762                                "loc": {
763                                  "start": {
764                                    "line": 30,
765                                    "column": 36
766                                  },
767                                  "end": {
768                                    "line": 30,
769                                    "column": 40
770                                  }
771                                }
772                              },
773                              "property": {
774                                "type": "Identifier",
775                                "name": "n",
776                                "decorators": [],
777                                "loc": {
778                                  "start": {
779                                    "line": 30,
780                                    "column": 41
781                                  },
782                                  "end": {
783                                    "line": 30,
784                                    "column": 42
785                                  }
786                                }
787                              },
788                              "computed": false,
789                              "optional": false,
790                              "loc": {
791                                "start": {
792                                  "line": 30,
793                                  "column": 36
794                                },
795                                "end": {
796                                  "line": 30,
797                                  "column": 42
798                                }
799                              }
800                            },
801                            "loc": {
802                              "start": {
803                                "line": 30,
804                                "column": 28
805                              },
806                              "end": {
807                                "line": 30,
808                                "column": 43
809                              }
810                            }
811                          },
812                          "loc": {
813                            "start": {
814                              "line": 30,
815                              "column": 13
816                            },
817                            "end": {
818                              "line": 30,
819                              "column": 43
820                            }
821                          }
822                        }
823                      ],
824                      "kind": "let",
825                      "loc": {
826                        "start": {
827                          "line": 30,
828                          "column": 9
829                        },
830                        "end": {
831                          "line": 30,
832                          "column": 44
833                        }
834                      }
835                    },
836                    {
837                      "type": "VariableDeclaration",
838                      "declarations": [
839                        {
840                          "type": "VariableDeclarator",
841                          "id": {
842                            "type": "Identifier",
843                            "name": "maxPerm",
844                            "typeAnnotation": {
845                              "type": "TSArrayType",
846                              "elementType": {
847                                "type": "ETSPrimitiveType",
848                                "loc": {
849                                  "start": {
850                                    "line": 32,
851                                    "column": 22
852                                  },
853                                  "end": {
854                                    "line": 32,
855                                    "column": 25
856                                  }
857                                }
858                              },
859                              "loc": {
860                                "start": {
861                                  "line": 32,
862                                  "column": 28
863                                },
864                                "end": {
865                                  "line": 32,
866                                  "column": 29
867                                }
868                              }
869                            },
870                            "decorators": [],
871                            "loc": {
872                              "start": {
873                                "line": 32,
874                                "column": 13
875                              },
876                              "end": {
877                                "line": 32,
878                                "column": 20
879                              }
880                            }
881                          },
882                          "init": {
883                            "type": "ETSNewArrayInstanceExpression",
884                            "typeReference": {
885                              "type": "ETSPrimitiveType",
886                              "loc": {
887                                "start": {
888                                  "line": 32,
889                                  "column": 34
890                                },
891                                "end": {
892                                  "line": 32,
893                                  "column": 37
894                                }
895                              }
896                            },
897                            "dimension": {
898                              "type": "MemberExpression",
899                              "object": {
900                                "type": "ThisExpression",
901                                "loc": {
902                                  "start": {
903                                    "line": 32,
904                                    "column": 38
905                                  },
906                                  "end": {
907                                    "line": 32,
908                                    "column": 42
909                                  }
910                                }
911                              },
912                              "property": {
913                                "type": "Identifier",
914                                "name": "n",
915                                "decorators": [],
916                                "loc": {
917                                  "start": {
918                                    "line": 32,
919                                    "column": 43
920                                  },
921                                  "end": {
922                                    "line": 32,
923                                    "column": 44
924                                  }
925                                }
926                              },
927                              "computed": false,
928                              "optional": false,
929                              "loc": {
930                                "start": {
931                                  "line": 32,
932                                  "column": 38
933                                },
934                                "end": {
935                                  "line": 32,
936                                  "column": 44
937                                }
938                              }
939                            },
940                            "loc": {
941                              "start": {
942                                "line": 32,
943                                "column": 30
944                              },
945                              "end": {
946                                "line": 32,
947                                "column": 45
948                              }
949                            }
950                          },
951                          "loc": {
952                            "start": {
953                              "line": 32,
954                              "column": 13
955                            },
956                            "end": {
957                              "line": 32,
958                              "column": 45
959                            }
960                          }
961                        }
962                      ],
963                      "kind": "let",
964                      "loc": {
965                        "start": {
966                          "line": 32,
967                          "column": 9
968                        },
969                        "end": {
970                          "line": 32,
971                          "column": 46
972                        }
973                      }
974                    },
975                    {
976                      "type": "VariableDeclaration",
977                      "declarations": [
978                        {
979                          "type": "VariableDeclarator",
980                          "id": {
981                            "type": "Identifier",
982                            "name": "maxFlipsCount",
983                            "typeAnnotation": {
984                              "type": "ETSPrimitiveType",
985                              "loc": {
986                                "start": {
987                                  "line": 33,
988                                  "column": 28
989                                },
990                                "end": {
991                                  "line": 33,
992                                  "column": 31
993                                }
994                              }
995                            },
996                            "decorators": [],
997                            "loc": {
998                              "start": {
999                                "line": 33,
1000                                "column": 13
1001                              },
1002                              "end": {
1003                                "line": 33,
1004                                "column": 26
1005                              }
1006                            }
1007                          },
1008                          "init": {
1009                            "type": "NumberLiteral",
1010                            "value": 0,
1011                            "loc": {
1012                              "start": {
1013                                "line": 33,
1014                                "column": 34
1015                              },
1016                              "end": {
1017                                "line": 33,
1018                                "column": 35
1019                              }
1020                            }
1021                          },
1022                          "loc": {
1023                            "start": {
1024                              "line": 33,
1025                              "column": 13
1026                            },
1027                            "end": {
1028                              "line": 33,
1029                              "column": 35
1030                            }
1031                          }
1032                        }
1033                      ],
1034                      "kind": "let",
1035                      "loc": {
1036                        "start": {
1037                          "line": 33,
1038                          "column": 9
1039                        },
1040                        "end": {
1041                          "line": 33,
1042                          "column": 36
1043                        }
1044                      }
1045                    },
1046                    {
1047                      "type": "VariableDeclaration",
1048                      "declarations": [
1049                        {
1050                          "type": "VariableDeclarator",
1051                          "id": {
1052                            "type": "Identifier",
1053                            "name": "m",
1054                            "typeAnnotation": {
1055                              "type": "ETSPrimitiveType",
1056                              "loc": {
1057                                "start": {
1058                                  "line": 34,
1059                                  "column": 16
1060                                },
1061                                "end": {
1062                                  "line": 34,
1063                                  "column": 19
1064                                }
1065                              }
1066                            },
1067                            "decorators": [],
1068                            "loc": {
1069                              "start": {
1070                                "line": 34,
1071                                "column": 13
1072                              },
1073                              "end": {
1074                                "line": 34,
1075                                "column": 14
1076                              }
1077                            }
1078                          },
1079                          "init": {
1080                            "type": "BinaryExpression",
1081                            "operator": "-",
1082                            "left": {
1083                              "type": "MemberExpression",
1084                              "object": {
1085                                "type": "ThisExpression",
1086                                "loc": {
1087                                  "start": {
1088                                    "line": 34,
1089                                    "column": 22
1090                                  },
1091                                  "end": {
1092                                    "line": 34,
1093                                    "column": 26
1094                                  }
1095                                }
1096                              },
1097                              "property": {
1098                                "type": "Identifier",
1099                                "name": "n",
1100                                "decorators": [],
1101                                "loc": {
1102                                  "start": {
1103                                    "line": 34,
1104                                    "column": 27
1105                                  },
1106                                  "end": {
1107                                    "line": 34,
1108                                    "column": 28
1109                                  }
1110                                }
1111                              },
1112                              "computed": false,
1113                              "optional": false,
1114                              "loc": {
1115                                "start": {
1116                                  "line": 34,
1117                                  "column": 22
1118                                },
1119                                "end": {
1120                                  "line": 34,
1121                                  "column": 28
1122                                }
1123                              }
1124                            },
1125                            "right": {
1126                              "type": "NumberLiteral",
1127                              "value": 1,
1128                              "loc": {
1129                                "start": {
1130                                  "line": 34,
1131                                  "column": 31
1132                                },
1133                                "end": {
1134                                  "line": 34,
1135                                  "column": 32
1136                                }
1137                              }
1138                            },
1139                            "loc": {
1140                              "start": {
1141                                "line": 34,
1142                                "column": 22
1143                              },
1144                              "end": {
1145                                "line": 34,
1146                                "column": 32
1147                              }
1148                            }
1149                          },
1150                          "loc": {
1151                            "start": {
1152                              "line": 34,
1153                              "column": 13
1154                            },
1155                            "end": {
1156                              "line": 34,
1157                              "column": 32
1158                            }
1159                          }
1160                        }
1161                      ],
1162                      "kind": "let",
1163                      "loc": {
1164                        "start": {
1165                          "line": 34,
1166                          "column": 9
1167                        },
1168                        "end": {
1169                          "line": 34,
1170                          "column": 33
1171                        }
1172                      }
1173                    },
1174                    {
1175                      "type": "ForUpdateStatement",
1176                      "init": {
1177                        "type": "VariableDeclaration",
1178                        "declarations": [
1179                          {
1180                            "type": "VariableDeclarator",
1181                            "id": {
1182                              "type": "Identifier",
1183                              "name": "i",
1184                              "typeAnnotation": {
1185                                "type": "ETSPrimitiveType",
1186                                "loc": {
1187                                  "start": {
1188                                    "line": 36,
1189                                    "column": 21
1190                                  },
1191                                  "end": {
1192                                    "line": 36,
1193                                    "column": 24
1194                                  }
1195                                }
1196                              },
1197                              "decorators": [],
1198                              "loc": {
1199                                "start": {
1200                                  "line": 36,
1201                                  "column": 18
1202                                },
1203                                "end": {
1204                                  "line": 36,
1205                                  "column": 19
1206                                }
1207                              }
1208                            },
1209                            "init": {
1210                              "type": "NumberLiteral",
1211                              "value": 0,
1212                              "loc": {
1213                                "start": {
1214                                  "line": 36,
1215                                  "column": 27
1216                                },
1217                                "end": {
1218                                  "line": 36,
1219                                  "column": 28
1220                                }
1221                              }
1222                            },
1223                            "loc": {
1224                              "start": {
1225                                "line": 36,
1226                                "column": 18
1227                              },
1228                              "end": {
1229                                "line": 36,
1230                                "column": 28
1231                              }
1232                            }
1233                          }
1234                        ],
1235                        "kind": "let",
1236                        "loc": {
1237                          "start": {
1238                            "line": 36,
1239                            "column": 14
1240                          },
1241                          "end": {
1242                            "line": 36,
1243                            "column": 28
1244                          }
1245                        }
1246                      },
1247                      "test": {
1248                        "type": "BinaryExpression",
1249                        "operator": "<",
1250                        "left": {
1251                          "type": "Identifier",
1252                          "name": "i",
1253                          "decorators": [],
1254                          "loc": {
1255                            "start": {
1256                              "line": 36,
1257                              "column": 30
1258                            },
1259                            "end": {
1260                              "line": 36,
1261                              "column": 31
1262                            }
1263                          }
1264                        },
1265                        "right": {
1266                          "type": "MemberExpression",
1267                          "object": {
1268                            "type": "ThisExpression",
1269                            "loc": {
1270                              "start": {
1271                                "line": 36,
1272                                "column": 34
1273                              },
1274                              "end": {
1275                                "line": 36,
1276                                "column": 38
1277                              }
1278                            }
1279                          },
1280                          "property": {
1281                            "type": "Identifier",
1282                            "name": "n",
1283                            "decorators": [],
1284                            "loc": {
1285                              "start": {
1286                                "line": 36,
1287                                "column": 39
1288                              },
1289                              "end": {
1290                                "line": 36,
1291                                "column": 40
1292                              }
1293                            }
1294                          },
1295                          "computed": false,
1296                          "optional": false,
1297                          "loc": {
1298                            "start": {
1299                              "line": 36,
1300                              "column": 34
1301                            },
1302                            "end": {
1303                              "line": 36,
1304                              "column": 40
1305                            }
1306                          }
1307                        },
1308                        "loc": {
1309                          "start": {
1310                            "line": 36,
1311                            "column": 30
1312                          },
1313                          "end": {
1314                            "line": 36,
1315                            "column": 40
1316                          }
1317                        }
1318                      },
1319                      "update": {
1320                        "type": "UpdateExpression",
1321                        "operator": "++",
1322                        "prefix": false,
1323                        "argument": {
1324                          "type": "Identifier",
1325                          "name": "i",
1326                          "decorators": [],
1327                          "loc": {
1328                            "start": {
1329                              "line": 36,
1330                              "column": 42
1331                            },
1332                            "end": {
1333                              "line": 36,
1334                              "column": 43
1335                            }
1336                          }
1337                        },
1338                        "loc": {
1339                          "start": {
1340                            "line": 36,
1341                            "column": 42
1342                          },
1343                          "end": {
1344                            "line": 36,
1345                            "column": 45
1346                          }
1347                        }
1348                      },
1349                      "body": {
1350                        "type": "ExpressionStatement",
1351                        "expression": {
1352                          "type": "AssignmentExpression",
1353                          "operator": "=",
1354                          "left": {
1355                            "type": "MemberExpression",
1356                            "object": {
1357                              "type": "Identifier",
1358                              "name": "perm1",
1359                              "decorators": [],
1360                              "loc": {
1361                                "start": {
1362                                  "line": 36,
1363                                  "column": 47
1364                                },
1365                                "end": {
1366                                  "line": 36,
1367                                  "column": 52
1368                                }
1369                              }
1370                            },
1371                            "property": {
1372                              "type": "Identifier",
1373                              "name": "i",
1374                              "decorators": [],
1375                              "loc": {
1376                                "start": {
1377                                  "line": 36,
1378                                  "column": 53
1379                                },
1380                                "end": {
1381                                  "line": 36,
1382                                  "column": 54
1383                                }
1384                              }
1385                            },
1386                            "computed": true,
1387                            "optional": false,
1388                            "loc": {
1389                              "start": {
1390                                "line": 36,
1391                                "column": 47
1392                              },
1393                              "end": {
1394                                "line": 36,
1395                                "column": 55
1396                              }
1397                            }
1398                          },
1399                          "right": {
1400                            "type": "Identifier",
1401                            "name": "i",
1402                            "decorators": [],
1403                            "loc": {
1404                              "start": {
1405                                "line": 36,
1406                                "column": 58
1407                              },
1408                              "end": {
1409                                "line": 36,
1410                                "column": 59
1411                              }
1412                            }
1413                          },
1414                          "loc": {
1415                            "start": {
1416                              "line": 36,
1417                              "column": 47
1418                            },
1419                            "end": {
1420                              "line": 36,
1421                              "column": 59
1422                            }
1423                          }
1424                        },
1425                        "loc": {
1426                          "start": {
1427                            "line": 36,
1428                            "column": 47
1429                          },
1430                          "end": {
1431                            "line": 36,
1432                            "column": 60
1433                          }
1434                        }
1435                      },
1436                      "loc": {
1437                        "start": {
1438                          "line": 36,
1439                          "column": 9
1440                        },
1441                        "end": {
1442                          "line": 36,
1443                          "column": 60
1444                        }
1445                      }
1446                    },
1447                    {
1448                      "type": "VariableDeclaration",
1449                      "declarations": [
1450                        {
1451                          "type": "VariableDeclarator",
1452                          "id": {
1453                            "type": "Identifier",
1454                            "name": "r",
1455                            "typeAnnotation": {
1456                              "type": "ETSPrimitiveType",
1457                              "loc": {
1458                                "start": {
1459                                  "line": 37,
1460                                  "column": 16
1461                                },
1462                                "end": {
1463                                  "line": 37,
1464                                  "column": 19
1465                                }
1466                              }
1467                            },
1468                            "decorators": [],
1469                            "loc": {
1470                              "start": {
1471                                "line": 37,
1472                                "column": 13
1473                              },
1474                              "end": {
1475                                "line": 37,
1476                                "column": 14
1477                              }
1478                            }
1479                          },
1480                          "init": {
1481                            "type": "MemberExpression",
1482                            "object": {
1483                              "type": "ThisExpression",
1484                              "loc": {
1485                                "start": {
1486                                  "line": 37,
1487                                  "column": 22
1488                                },
1489                                "end": {
1490                                  "line": 37,
1491                                  "column": 26
1492                                }
1493                              }
1494                            },
1495                            "property": {
1496                              "type": "Identifier",
1497                              "name": "n",
1498                              "decorators": [],
1499                              "loc": {
1500                                "start": {
1501                                  "line": 37,
1502                                  "column": 27
1503                                },
1504                                "end": {
1505                                  "line": 37,
1506                                  "column": 28
1507                                }
1508                              }
1509                            },
1510                            "computed": false,
1511                            "optional": false,
1512                            "loc": {
1513                              "start": {
1514                                "line": 37,
1515                                "column": 22
1516                              },
1517                              "end": {
1518                                "line": 37,
1519                                "column": 28
1520                              }
1521                            }
1522                          },
1523                          "loc": {
1524                            "start": {
1525                              "line": 37,
1526                              "column": 13
1527                            },
1528                            "end": {
1529                              "line": 37,
1530                              "column": 28
1531                            }
1532                          }
1533                        }
1534                      ],
1535                      "kind": "let",
1536                      "loc": {
1537                        "start": {
1538                          "line": 37,
1539                          "column": 9
1540                        },
1541                        "end": {
1542                          "line": 37,
1543                          "column": 29
1544                        }
1545                      }
1546                    },
1547                    {
1548                      "type": "WhileStatement",
1549                      "test": {
1550                        "type": "BooleanLiteral",
1551                        "value": true,
1552                        "loc": {
1553                          "start": {
1554                            "line": 39,
1555                            "column": 16
1556                          },
1557                          "end": {
1558                            "line": 39,
1559                            "column": 20
1560                          }
1561                        }
1562                      },
1563                      "body": {
1564                        "type": "BlockStatement",
1565                        "statements": [
1566                          {
1567                            "type": "WhileStatement",
1568                            "test": {
1569                              "type": "BinaryExpression",
1570                              "operator": "!=",
1571                              "left": {
1572                                "type": "Identifier",
1573                                "name": "r",
1574                                "decorators": [],
1575                                "loc": {
1576                                  "start": {
1577                                    "line": 40,
1578                                    "column": 20
1579                                  },
1580                                  "end": {
1581                                    "line": 40,
1582                                    "column": 21
1583                                  }
1584                                }
1585                              },
1586                              "right": {
1587                                "type": "NumberLiteral",
1588                                "value": 1,
1589                                "loc": {
1590                                  "start": {
1591                                    "line": 40,
1592                                    "column": 25
1593                                  },
1594                                  "end": {
1595                                    "line": 40,
1596                                    "column": 26
1597                                  }
1598                                }
1599                              },
1600                              "loc": {
1601                                "start": {
1602                                  "line": 40,
1603                                  "column": 20
1604                                },
1605                                "end": {
1606                                  "line": 40,
1607                                  "column": 26
1608                                }
1609                              }
1610                            },
1611                            "body": {
1612                              "type": "BlockStatement",
1613                              "statements": [
1614                                {
1615                                  "type": "ExpressionStatement",
1616                                  "expression": {
1617                                    "type": "AssignmentExpression",
1618                                    "operator": "=",
1619                                    "left": {
1620                                      "type": "MemberExpression",
1621                                      "object": {
1622                                        "type": "Identifier",
1623                                        "name": "count",
1624                                        "decorators": [],
1625                                        "loc": {
1626                                          "start": {
1627                                            "line": 41,
1628                                            "column": 17
1629                                          },
1630                                          "end": {
1631                                            "line": 41,
1632                                            "column": 22
1633                                          }
1634                                        }
1635                                      },
1636                                      "property": {
1637                                        "type": "BinaryExpression",
1638                                        "operator": "-",
1639                                        "left": {
1640                                          "type": "Identifier",
1641                                          "name": "r",
1642                                          "decorators": [],
1643                                          "loc": {
1644                                            "start": {
1645                                              "line": 41,
1646                                              "column": 23
1647                                            },
1648                                            "end": {
1649                                              "line": 41,
1650                                              "column": 24
1651                                            }
1652                                          }
1653                                        },
1654                                        "right": {
1655                                          "type": "NumberLiteral",
1656                                          "value": 1,
1657                                          "loc": {
1658                                            "start": {
1659                                              "line": 41,
1660                                              "column": 27
1661                                            },
1662                                            "end": {
1663                                              "line": 41,
1664                                              "column": 28
1665                                            }
1666                                          }
1667                                        },
1668                                        "loc": {
1669                                          "start": {
1670                                            "line": 41,
1671                                            "column": 23
1672                                          },
1673                                          "end": {
1674                                            "line": 41,
1675                                            "column": 28
1676                                          }
1677                                        }
1678                                      },
1679                                      "computed": true,
1680                                      "optional": false,
1681                                      "loc": {
1682                                        "start": {
1683                                          "line": 41,
1684                                          "column": 17
1685                                        },
1686                                        "end": {
1687                                          "line": 41,
1688                                          "column": 29
1689                                        }
1690                                      }
1691                                    },
1692                                    "right": {
1693                                      "type": "Identifier",
1694                                      "name": "r",
1695                                      "decorators": [],
1696                                      "loc": {
1697                                        "start": {
1698                                          "line": 41,
1699                                          "column": 32
1700                                        },
1701                                        "end": {
1702                                          "line": 41,
1703                                          "column": 33
1704                                        }
1705                                      }
1706                                    },
1707                                    "loc": {
1708                                      "start": {
1709                                        "line": 41,
1710                                        "column": 17
1711                                      },
1712                                      "end": {
1713                                        "line": 41,
1714                                        "column": 33
1715                                      }
1716                                    }
1717                                  },
1718                                  "loc": {
1719                                    "start": {
1720                                      "line": 41,
1721                                      "column": 17
1722                                    },
1723                                    "end": {
1724                                      "line": 41,
1725                                      "column": 34
1726                                    }
1727                                  }
1728                                },
1729                                {
1730                                  "type": "ExpressionStatement",
1731                                  "expression": {
1732                                    "type": "UpdateExpression",
1733                                    "operator": "--",
1734                                    "prefix": false,
1735                                    "argument": {
1736                                      "type": "Identifier",
1737                                      "name": "r",
1738                                      "decorators": [],
1739                                      "loc": {
1740                                        "start": {
1741                                          "line": 42,
1742                                          "column": 17
1743                                        },
1744                                        "end": {
1745                                          "line": 42,
1746                                          "column": 18
1747                                        }
1748                                      }
1749                                    },
1750                                    "loc": {
1751                                      "start": {
1752                                        "line": 42,
1753                                        "column": 17
1754                                      },
1755                                      "end": {
1756                                        "line": 42,
1757                                        "column": 20
1758                                      }
1759                                    }
1760                                  },
1761                                  "loc": {
1762                                    "start": {
1763                                      "line": 42,
1764                                      "column": 17
1765                                    },
1766                                    "end": {
1767                                      "line": 42,
1768                                      "column": 21
1769                                    }
1770                                  }
1771                                }
1772                              ],
1773                              "loc": {
1774                                "start": {
1775                                  "line": 40,
1776                                  "column": 28
1777                                },
1778                                "end": {
1779                                  "line": 43,
1780                                  "column": 14
1781                                }
1782                              }
1783                            },
1784                            "loc": {
1785                              "start": {
1786                                "line": 40,
1787                                "column": 13
1788                              },
1789                              "end": {
1790                                "line": 43,
1791                                "column": 14
1792                              }
1793                            }
1794                          },
1795                          {
1796                            "type": "IfStatement",
1797                            "test": {
1798                              "type": "UnaryExpression",
1799                              "operator": "!",
1800                              "prefix": true,
1801                              "argument": {
1802                                "type": "LogicalExpression",
1803                                "operator": "||",
1804                                "left": {
1805                                  "type": "BinaryExpression",
1806                                  "operator": "==",
1807                                  "left": {
1808                                    "type": "MemberExpression",
1809                                    "object": {
1810                                      "type": "Identifier",
1811                                      "name": "perm1",
1812                                      "decorators": [],
1813                                      "loc": {
1814                                        "start": {
1815                                          "line": 44,
1816                                          "column": 19
1817                                        },
1818                                        "end": {
1819                                          "line": 44,
1820                                          "column": 24
1821                                        }
1822                                      }
1823                                    },
1824                                    "property": {
1825                                      "type": "NumberLiteral",
1826                                      "value": 0,
1827                                      "loc": {
1828                                        "start": {
1829                                          "line": 44,
1830                                          "column": 25
1831                                        },
1832                                        "end": {
1833                                          "line": 44,
1834                                          "column": 26
1835                                        }
1836                                      }
1837                                    },
1838                                    "computed": true,
1839                                    "optional": false,
1840                                    "loc": {
1841                                      "start": {
1842                                        "line": 44,
1843                                        "column": 19
1844                                      },
1845                                      "end": {
1846                                        "line": 44,
1847                                        "column": 27
1848                                      }
1849                                    }
1850                                  },
1851                                  "right": {
1852                                    "type": "NumberLiteral",
1853                                    "value": 0,
1854                                    "loc": {
1855                                      "start": {
1856                                        "line": 44,
1857                                        "column": 31
1858                                      },
1859                                      "end": {
1860                                        "line": 44,
1861                                        "column": 32
1862                                      }
1863                                    }
1864                                  },
1865                                  "loc": {
1866                                    "start": {
1867                                      "line": 44,
1868                                      "column": 19
1869                                    },
1870                                    "end": {
1871                                      "line": 44,
1872                                      "column": 32
1873                                    }
1874                                  }
1875                                },
1876                                "right": {
1877                                  "type": "BinaryExpression",
1878                                  "operator": "==",
1879                                  "left": {
1880                                    "type": "MemberExpression",
1881                                    "object": {
1882                                      "type": "Identifier",
1883                                      "name": "perm1",
1884                                      "decorators": [],
1885                                      "loc": {
1886                                        "start": {
1887                                          "line": 44,
1888                                          "column": 36
1889                                        },
1890                                        "end": {
1891                                          "line": 44,
1892                                          "column": 41
1893                                        }
1894                                      }
1895                                    },
1896                                    "property": {
1897                                      "type": "Identifier",
1898                                      "name": "m",
1899                                      "decorators": [],
1900                                      "loc": {
1901                                        "start": {
1902                                          "line": 44,
1903                                          "column": 42
1904                                        },
1905                                        "end": {
1906                                          "line": 44,
1907                                          "column": 43
1908                                        }
1909                                      }
1910                                    },
1911                                    "computed": true,
1912                                    "optional": false,
1913                                    "loc": {
1914                                      "start": {
1915                                        "line": 44,
1916                                        "column": 36
1917                                      },
1918                                      "end": {
1919                                        "line": 44,
1920                                        "column": 44
1921                                      }
1922                                    }
1923                                  },
1924                                  "right": {
1925                                    "type": "Identifier",
1926                                    "name": "m",
1927                                    "decorators": [],
1928                                    "loc": {
1929                                      "start": {
1930                                        "line": 44,
1931                                        "column": 48
1932                                      },
1933                                      "end": {
1934                                        "line": 44,
1935                                        "column": 49
1936                                      }
1937                                    }
1938                                  },
1939                                  "loc": {
1940                                    "start": {
1941                                      "line": 44,
1942                                      "column": 36
1943                                    },
1944                                    "end": {
1945                                      "line": 44,
1946                                      "column": 49
1947                                    }
1948                                  }
1949                                },
1950                                "loc": {
1951                                  "start": {
1952                                    "line": 44,
1953                                    "column": 18
1954                                  },
1955                                  "end": {
1956                                    "line": 44,
1957                                    "column": 50
1958                                  }
1959                                }
1960                              },
1961                              "loc": {
1962                                "start": {
1963                                  "line": 44,
1964                                  "column": 17
1965                                },
1966                                "end": {
1967                                  "line": 44,
1968                                  "column": 50
1969                                }
1970                              }
1971                            },
1972                            "consequent": {
1973                              "type": "BlockStatement",
1974                              "statements": [
1975                                {
1976                                  "type": "ForUpdateStatement",
1977                                  "init": {
1978                                    "type": "VariableDeclaration",
1979                                    "declarations": [
1980                                      {
1981                                        "type": "VariableDeclarator",
1982                                        "id": {
1983                                          "type": "Identifier",
1984                                          "name": "i",
1985                                          "typeAnnotation": {
1986                                            "type": "ETSPrimitiveType",
1987                                            "loc": {
1988                                              "start": {
1989                                                "line": 45,
1990                                                "column": 29
1991                                              },
1992                                              "end": {
1993                                                "line": 45,
1994                                                "column": 32
1995                                              }
1996                                            }
1997                                          },
1998                                          "decorators": [],
1999                                          "loc": {
2000                                            "start": {
2001                                              "line": 45,
2002                                              "column": 26
2003                                            },
2004                                            "end": {
2005                                              "line": 45,
2006                                              "column": 27
2007                                            }
2008                                          }
2009                                        },
2010                                        "init": {
2011                                          "type": "NumberLiteral",
2012                                          "value": 0,
2013                                          "loc": {
2014                                            "start": {
2015                                              "line": 45,
2016                                              "column": 35
2017                                            },
2018                                            "end": {
2019                                              "line": 45,
2020                                              "column": 36
2021                                            }
2022                                          }
2023                                        },
2024                                        "loc": {
2025                                          "start": {
2026                                            "line": 45,
2027                                            "column": 26
2028                                          },
2029                                          "end": {
2030                                            "line": 45,
2031                                            "column": 36
2032                                          }
2033                                        }
2034                                      }
2035                                    ],
2036                                    "kind": "let",
2037                                    "loc": {
2038                                      "start": {
2039                                        "line": 45,
2040                                        "column": 22
2041                                      },
2042                                      "end": {
2043                                        "line": 45,
2044                                        "column": 36
2045                                      }
2046                                    }
2047                                  },
2048                                  "test": {
2049                                    "type": "BinaryExpression",
2050                                    "operator": "<",
2051                                    "left": {
2052                                      "type": "Identifier",
2053                                      "name": "i",
2054                                      "decorators": [],
2055                                      "loc": {
2056                                        "start": {
2057                                          "line": 45,
2058                                          "column": 38
2059                                        },
2060                                        "end": {
2061                                          "line": 45,
2062                                          "column": 39
2063                                        }
2064                                      }
2065                                    },
2066                                    "right": {
2067                                      "type": "MemberExpression",
2068                                      "object": {
2069                                        "type": "ThisExpression",
2070                                        "loc": {
2071                                          "start": {
2072                                            "line": 45,
2073                                            "column": 42
2074                                          },
2075                                          "end": {
2076                                            "line": 45,
2077                                            "column": 46
2078                                          }
2079                                        }
2080                                      },
2081                                      "property": {
2082                                        "type": "Identifier",
2083                                        "name": "n",
2084                                        "decorators": [],
2085                                        "loc": {
2086                                          "start": {
2087                                            "line": 45,
2088                                            "column": 47
2089                                          },
2090                                          "end": {
2091                                            "line": 45,
2092                                            "column": 48
2093                                          }
2094                                        }
2095                                      },
2096                                      "computed": false,
2097                                      "optional": false,
2098                                      "loc": {
2099                                        "start": {
2100                                          "line": 45,
2101                                          "column": 42
2102                                        },
2103                                        "end": {
2104                                          "line": 45,
2105                                          "column": 48
2106                                        }
2107                                      }
2108                                    },
2109                                    "loc": {
2110                                      "start": {
2111                                        "line": 45,
2112                                        "column": 38
2113                                      },
2114                                      "end": {
2115                                        "line": 45,
2116                                        "column": 48
2117                                      }
2118                                    }
2119                                  },
2120                                  "update": {
2121                                    "type": "UpdateExpression",
2122                                    "operator": "++",
2123                                    "prefix": false,
2124                                    "argument": {
2125                                      "type": "Identifier",
2126                                      "name": "i",
2127                                      "decorators": [],
2128                                      "loc": {
2129                                        "start": {
2130                                          "line": 45,
2131                                          "column": 50
2132                                        },
2133                                        "end": {
2134                                          "line": 45,
2135                                          "column": 51
2136                                        }
2137                                      }
2138                                    },
2139                                    "loc": {
2140                                      "start": {
2141                                        "line": 45,
2142                                        "column": 50
2143                                      },
2144                                      "end": {
2145                                        "line": 45,
2146                                        "column": 53
2147                                      }
2148                                    }
2149                                  },
2150                                  "body": {
2151                                    "type": "ExpressionStatement",
2152                                    "expression": {
2153                                      "type": "AssignmentExpression",
2154                                      "operator": "=",
2155                                      "left": {
2156                                        "type": "MemberExpression",
2157                                        "object": {
2158                                          "type": "Identifier",
2159                                          "name": "perm",
2160                                          "decorators": [],
2161                                          "loc": {
2162                                            "start": {
2163                                              "line": 45,
2164                                              "column": 55
2165                                            },
2166                                            "end": {
2167                                              "line": 45,
2168                                              "column": 59
2169                                            }
2170                                          }
2171                                        },
2172                                        "property": {
2173                                          "type": "Identifier",
2174                                          "name": "i",
2175                                          "decorators": [],
2176                                          "loc": {
2177                                            "start": {
2178                                              "line": 45,
2179                                              "column": 60
2180                                            },
2181                                            "end": {
2182                                              "line": 45,
2183                                              "column": 61
2184                                            }
2185                                          }
2186                                        },
2187                                        "computed": true,
2188                                        "optional": false,
2189                                        "loc": {
2190                                          "start": {
2191                                            "line": 45,
2192                                            "column": 55
2193                                          },
2194                                          "end": {
2195                                            "line": 45,
2196                                            "column": 62
2197                                          }
2198                                        }
2199                                      },
2200                                      "right": {
2201                                        "type": "MemberExpression",
2202                                        "object": {
2203                                          "type": "Identifier",
2204                                          "name": "perm1",
2205                                          "decorators": [],
2206                                          "loc": {
2207                                            "start": {
2208                                              "line": 45,
2209                                              "column": 65
2210                                            },
2211                                            "end": {
2212                                              "line": 45,
2213                                              "column": 70
2214                                            }
2215                                          }
2216                                        },
2217                                        "property": {
2218                                          "type": "Identifier",
2219                                          "name": "i",
2220                                          "decorators": [],
2221                                          "loc": {
2222                                            "start": {
2223                                              "line": 45,
2224                                              "column": 71
2225                                            },
2226                                            "end": {
2227                                              "line": 45,
2228                                              "column": 72
2229                                            }
2230                                          }
2231                                        },
2232                                        "computed": true,
2233                                        "optional": false,
2234                                        "loc": {
2235                                          "start": {
2236                                            "line": 45,
2237                                            "column": 65
2238                                          },
2239                                          "end": {
2240                                            "line": 45,
2241                                            "column": 73
2242                                          }
2243                                        }
2244                                      },
2245                                      "loc": {
2246                                        "start": {
2247                                          "line": 45,
2248                                          "column": 55
2249                                        },
2250                                        "end": {
2251                                          "line": 45,
2252                                          "column": 73
2253                                        }
2254                                      }
2255                                    },
2256                                    "loc": {
2257                                      "start": {
2258                                        "line": 45,
2259                                        "column": 55
2260                                      },
2261                                      "end": {
2262                                        "line": 45,
2263                                        "column": 74
2264                                      }
2265                                    }
2266                                  },
2267                                  "loc": {
2268                                    "start": {
2269                                      "line": 45,
2270                                      "column": 17
2271                                    },
2272                                    "end": {
2273                                      "line": 45,
2274                                      "column": 74
2275                                    }
2276                                  }
2277                                },
2278                                {
2279                                  "type": "VariableDeclaration",
2280                                  "declarations": [
2281                                    {
2282                                      "type": "VariableDeclarator",
2283                                      "id": {
2284                                        "type": "Identifier",
2285                                        "name": "flipsCount",
2286                                        "typeAnnotation": {
2287                                          "type": "ETSPrimitiveType",
2288                                          "loc": {
2289                                            "start": {
2290                                              "line": 47,
2291                                              "column": 33
2292                                            },
2293                                            "end": {
2294                                              "line": 47,
2295                                              "column": 36
2296                                            }
2297                                          }
2298                                        },
2299                                        "decorators": [],
2300                                        "loc": {
2301                                          "start": {
2302                                            "line": 47,
2303                                            "column": 21
2304                                          },
2305                                          "end": {
2306                                            "line": 47,
2307                                            "column": 31
2308                                          }
2309                                        }
2310                                      },
2311                                      "init": {
2312                                        "type": "NumberLiteral",
2313                                        "value": 0,
2314                                        "loc": {
2315                                          "start": {
2316                                            "line": 47,
2317                                            "column": 40
2318                                          },
2319                                          "end": {
2320                                            "line": 47,
2321                                            "column": 41
2322                                          }
2323                                        }
2324                                      },
2325                                      "loc": {
2326                                        "start": {
2327                                          "line": 47,
2328                                          "column": 21
2329                                        },
2330                                        "end": {
2331                                          "line": 47,
2332                                          "column": 41
2333                                        }
2334                                      }
2335                                    }
2336                                  ],
2337                                  "kind": "let",
2338                                  "loc": {
2339                                    "start": {
2340                                      "line": 47,
2341                                      "column": 17
2342                                    },
2343                                    "end": {
2344                                      "line": 47,
2345                                      "column": 42
2346                                    }
2347                                  }
2348                                },
2349                                {
2350                                  "type": "VariableDeclaration",
2351                                  "declarations": [
2352                                    {
2353                                      "type": "VariableDeclarator",
2354                                      "id": {
2355                                        "type": "Identifier",
2356                                        "name": "k",
2357                                        "typeAnnotation": {
2358                                          "type": "ETSPrimitiveType",
2359                                          "loc": {
2360                                            "start": {
2361                                              "line": 48,
2362                                              "column": 24
2363                                            },
2364                                            "end": {
2365                                              "line": 48,
2366                                              "column": 27
2367                                            }
2368                                          }
2369                                        },
2370                                        "decorators": [],
2371                                        "loc": {
2372                                          "start": {
2373                                            "line": 48,
2374                                            "column": 21
2375                                          },
2376                                          "end": {
2377                                            "line": 48,
2378                                            "column": 22
2379                                          }
2380                                        }
2381                                      },
2382                                      "init": null,
2383                                      "loc": {
2384                                        "start": {
2385                                          "line": 48,
2386                                          "column": 21
2387                                        },
2388                                        "end": {
2389                                          "line": 48,
2390                                          "column": 22
2391                                        }
2392                                      }
2393                                    }
2394                                  ],
2395                                  "kind": "let",
2396                                  "loc": {
2397                                    "start": {
2398                                      "line": 48,
2399                                      "column": 17
2400                                    },
2401                                    "end": {
2402                                      "line": 48,
2403                                      "column": 28
2404                                    }
2405                                  }
2406                                },
2407                                {
2408                                  "type": "WhileStatement",
2409                                  "test": {
2410                                    "type": "UnaryExpression",
2411                                    "operator": "!",
2412                                    "prefix": true,
2413                                    "argument": {
2414                                      "type": "BinaryExpression",
2415                                      "operator": "==",
2416                                      "left": {
2417                                        "type": "AssignmentExpression",
2418                                        "operator": "=",
2419                                        "left": {
2420                                          "type": "Identifier",
2421                                          "name": "k",
2422                                          "decorators": [],
2423                                          "loc": {
2424                                            "start": {
2425                                              "line": 50,
2426                                              "column": 27
2427                                            },
2428                                            "end": {
2429                                              "line": 50,
2430                                              "column": 28
2431                                            }
2432                                          }
2433                                        },
2434                                        "right": {
2435                                          "type": "MemberExpression",
2436                                          "object": {
2437                                            "type": "Identifier",
2438                                            "name": "perm",
2439                                            "decorators": [],
2440                                            "loc": {
2441                                              "start": {
2442                                                "line": 50,
2443                                                "column": 31
2444                                              },
2445                                              "end": {
2446                                                "line": 50,
2447                                                "column": 35
2448                                              }
2449                                            }
2450                                          },
2451                                          "property": {
2452                                            "type": "NumberLiteral",
2453                                            "value": 0,
2454                                            "loc": {
2455                                              "start": {
2456                                                "line": 50,
2457                                                "column": 36
2458                                              },
2459                                              "end": {
2460                                                "line": 50,
2461                                                "column": 37
2462                                              }
2463                                            }
2464                                          },
2465                                          "computed": true,
2466                                          "optional": false,
2467                                          "loc": {
2468                                            "start": {
2469                                              "line": 50,
2470                                              "column": 31
2471                                            },
2472                                            "end": {
2473                                              "line": 50,
2474                                              "column": 38
2475                                            }
2476                                          }
2477                                        },
2478                                        "loc": {
2479                                          "start": {
2480                                            "line": 50,
2481                                            "column": 26
2482                                          },
2483                                          "end": {
2484                                            "line": 50,
2485                                            "column": 39
2486                                          }
2487                                        }
2488                                      },
2489                                      "right": {
2490                                        "type": "NumberLiteral",
2491                                        "value": 0,
2492                                        "loc": {
2493                                          "start": {
2494                                            "line": 50,
2495                                            "column": 43
2496                                          },
2497                                          "end": {
2498                                            "line": 50,
2499                                            "column": 44
2500                                          }
2501                                        }
2502                                      },
2503                                      "loc": {
2504                                        "start": {
2505                                          "line": 50,
2506                                          "column": 25
2507                                        },
2508                                        "end": {
2509                                          "line": 50,
2510                                          "column": 45
2511                                        }
2512                                      }
2513                                    },
2514                                    "loc": {
2515                                      "start": {
2516                                        "line": 50,
2517                                        "column": 24
2518                                      },
2519                                      "end": {
2520                                        "line": 50,
2521                                        "column": 45
2522                                      }
2523                                    }
2524                                  },
2525                                  "body": {
2526                                    "type": "BlockStatement",
2527                                    "statements": [
2528                                      {
2529                                        "type": "VariableDeclaration",
2530                                        "declarations": [
2531                                          {
2532                                            "type": "VariableDeclarator",
2533                                            "id": {
2534                                              "type": "Identifier",
2535                                              "name": "k2",
2536                                              "typeAnnotation": {
2537                                                "type": "ETSPrimitiveType",
2538                                                "loc": {
2539                                                  "start": {
2540                                                    "line": 51,
2541                                                    "column": 25
2542                                                  },
2543                                                  "end": {
2544                                                    "line": 51,
2545                                                    "column": 28
2546                                                  }
2547                                                }
2548                                              },
2549                                              "decorators": [],
2550                                              "loc": {
2551                                                "start": {
2552                                                  "line": 51,
2553                                                  "column": 21
2554                                                },
2555                                                "end": {
2556                                                  "line": 51,
2557                                                  "column": 23
2558                                                }
2559                                              }
2560                                            },
2561                                            "init": {
2562                                              "type": "BinaryExpression",
2563                                              "operator": ">>",
2564                                              "left": {
2565                                                "type": "BinaryExpression",
2566                                                "operator": "+",
2567                                                "left": {
2568                                                  "type": "Identifier",
2569                                                  "name": "k",
2570                                                  "decorators": [],
2571                                                  "loc": {
2572                                                    "start": {
2573                                                      "line": 51,
2574                                                      "column": 32
2575                                                    },
2576                                                    "end": {
2577                                                      "line": 51,
2578                                                      "column": 33
2579                                                    }
2580                                                  }
2581                                                },
2582                                                "right": {
2583                                                  "type": "NumberLiteral",
2584                                                  "value": 1,
2585                                                  "loc": {
2586                                                    "start": {
2587                                                      "line": 51,
2588                                                      "column": 36
2589                                                    },
2590                                                    "end": {
2591                                                      "line": 51,
2592                                                      "column": 37
2593                                                    }
2594                                                  }
2595                                                },
2596                                                "loc": {
2597                                                  "start": {
2598                                                    "line": 51,
2599                                                    "column": 31
2600                                                  },
2601                                                  "end": {
2602                                                    "line": 51,
2603                                                    "column": 38
2604                                                  }
2605                                                }
2606                                              },
2607                                              "right": {
2608                                                "type": "NumberLiteral",
2609                                                "value": 1,
2610                                                "loc": {
2611                                                  "start": {
2612                                                    "line": 51,
2613                                                    "column": 42
2614                                                  },
2615                                                  "end": {
2616                                                    "line": 51,
2617                                                    "column": 43
2618                                                  }
2619                                                }
2620                                              },
2621                                              "loc": {
2622                                                "start": {
2623                                                  "line": 51,
2624                                                  "column": 31
2625                                                },
2626                                                "end": {
2627                                                  "line": 51,
2628                                                  "column": 43
2629                                                }
2630                                              }
2631                                            },
2632                                            "loc": {
2633                                              "start": {
2634                                                "line": 51,
2635                                                "column": 21
2636                                              },
2637                                              "end": {
2638                                                "line": 51,
2639                                                "column": 43
2640                                              }
2641                                            }
2642                                          }
2643                                        ],
2644                                        "kind": "let",
2645                                        "loc": {
2646                                          "start": {
2647                                            "line": 51,
2648                                            "column": 17
2649                                          },
2650                                          "end": {
2651                                            "line": 51,
2652                                            "column": 44
2653                                          }
2654                                        }
2655                                      },
2656                                      {
2657                                        "type": "ForUpdateStatement",
2658                                        "init": {
2659                                          "type": "VariableDeclaration",
2660                                          "declarations": [
2661                                            {
2662                                              "type": "VariableDeclarator",
2663                                              "id": {
2664                                                "type": "Identifier",
2665                                                "name": "i",
2666                                                "decorators": [],
2667                                                "loc": {
2668                                                  "start": {
2669                                                    "line": 52,
2670                                                    "column": 30
2671                                                  },
2672                                                  "end": {
2673                                                    "line": 52,
2674                                                    "column": 31
2675                                                  }
2676                                                }
2677                                              },
2678                                              "init": {
2679                                                "type": "NumberLiteral",
2680                                                "value": 0,
2681                                                "loc": {
2682                                                  "start": {
2683                                                    "line": 52,
2684                                                    "column": 34
2685                                                  },
2686                                                  "end": {
2687                                                    "line": 52,
2688                                                    "column": 35
2689                                                  }
2690                                                }
2691                                              },
2692                                              "loc": {
2693                                                "start": {
2694                                                  "line": 52,
2695                                                  "column": 30
2696                                                },
2697                                                "end": {
2698                                                  "line": 52,
2699                                                  "column": 35
2700                                                }
2701                                              }
2702                                            }
2703                                          ],
2704                                          "kind": "let",
2705                                          "loc": {
2706                                            "start": {
2707                                              "line": 52,
2708                                              "column": 26
2709                                            },
2710                                            "end": {
2711                                              "line": 52,
2712                                              "column": 35
2713                                            }
2714                                          }
2715                                        },
2716                                        "test": {
2717                                          "type": "BinaryExpression",
2718                                          "operator": "<",
2719                                          "left": {
2720                                            "type": "Identifier",
2721                                            "name": "i",
2722                                            "decorators": [],
2723                                            "loc": {
2724                                              "start": {
2725                                                "line": 52,
2726                                                "column": 37
2727                                              },
2728                                              "end": {
2729                                                "line": 52,
2730                                                "column": 38
2731                                              }
2732                                            }
2733                                          },
2734                                          "right": {
2735                                            "type": "Identifier",
2736                                            "name": "k2",
2737                                            "decorators": [],
2738                                            "loc": {
2739                                              "start": {
2740                                                "line": 52,
2741                                                "column": 41
2742                                              },
2743                                              "end": {
2744                                                "line": 52,
2745                                                "column": 43
2746                                              }
2747                                            }
2748                                          },
2749                                          "loc": {
2750                                            "start": {
2751                                              "line": 52,
2752                                              "column": 37
2753                                            },
2754                                            "end": {
2755                                              "line": 52,
2756                                              "column": 43
2757                                            }
2758                                          }
2759                                        },
2760                                        "update": {
2761                                          "type": "UpdateExpression",
2762                                          "operator": "++",
2763                                          "prefix": false,
2764                                          "argument": {
2765                                            "type": "Identifier",
2766                                            "name": "i",
2767                                            "decorators": [],
2768                                            "loc": {
2769                                              "start": {
2770                                                "line": 52,
2771                                                "column": 45
2772                                              },
2773                                              "end": {
2774                                                "line": 52,
2775                                                "column": 46
2776                                              }
2777                                            }
2778                                          },
2779                                          "loc": {
2780                                            "start": {
2781                                              "line": 52,
2782                                              "column": 45
2783                                            },
2784                                            "end": {
2785                                              "line": 52,
2786                                              "column": 48
2787                                            }
2788                                          }
2789                                        },
2790                                        "body": {
2791                                          "type": "BlockStatement",
2792                                          "statements": [
2793                                            {
2794                                              "type": "VariableDeclaration",
2795                                              "declarations": [
2796                                                {
2797                                                  "type": "VariableDeclarator",
2798                                                  "id": {
2799                                                    "type": "Identifier",
2800                                                    "name": "temp",
2801                                                    "typeAnnotation": {
2802                                                      "type": "ETSPrimitiveType",
2803                                                      "loc": {
2804                                                        "start": {
2805                                                          "line": 53,
2806                                                          "column": 35
2807                                                        },
2808                                                        "end": {
2809                                                          "line": 53,
2810                                                          "column": 38
2811                                                        }
2812                                                      }
2813                                                    },
2814                                                    "decorators": [],
2815                                                    "loc": {
2816                                                      "start": {
2817                                                        "line": 53,
2818                                                        "column": 29
2819                                                      },
2820                                                      "end": {
2821                                                        "line": 53,
2822                                                        "column": 33
2823                                                      }
2824                                                    }
2825                                                  },
2826                                                  "init": {
2827                                                    "type": "MemberExpression",
2828                                                    "object": {
2829                                                      "type": "Identifier",
2830                                                      "name": "perm",
2831                                                      "decorators": [],
2832                                                      "loc": {
2833                                                        "start": {
2834                                                          "line": 53,
2835                                                          "column": 41
2836                                                        },
2837                                                        "end": {
2838                                                          "line": 53,
2839                                                          "column": 45
2840                                                        }
2841                                                      }
2842                                                    },
2843                                                    "property": {
2844                                                      "type": "Identifier",
2845                                                      "name": "i",
2846                                                      "decorators": [],
2847                                                      "loc": {
2848                                                        "start": {
2849                                                          "line": 53,
2850                                                          "column": 46
2851                                                        },
2852                                                        "end": {
2853                                                          "line": 53,
2854                                                          "column": 47
2855                                                        }
2856                                                      }
2857                                                    },
2858                                                    "computed": true,
2859                                                    "optional": false,
2860                                                    "loc": {
2861                                                      "start": {
2862                                                        "line": 53,
2863                                                        "column": 41
2864                                                      },
2865                                                      "end": {
2866                                                        "line": 53,
2867                                                        "column": 48
2868                                                      }
2869                                                    }
2870                                                  },
2871                                                  "loc": {
2872                                                    "start": {
2873                                                      "line": 53,
2874                                                      "column": 29
2875                                                    },
2876                                                    "end": {
2877                                                      "line": 53,
2878                                                      "column": 48
2879                                                    }
2880                                                  }
2881                                                }
2882                                              ],
2883                                              "kind": "let",
2884                                              "loc": {
2885                                                "start": {
2886                                                  "line": 53,
2887                                                  "column": 25
2888                                                },
2889                                                "end": {
2890                                                  "line": 53,
2891                                                  "column": 49
2892                                                }
2893                                              }
2894                                            },
2895                                            {
2896                                              "type": "ExpressionStatement",
2897                                              "expression": {
2898                                                "type": "AssignmentExpression",
2899                                                "operator": "=",
2900                                                "left": {
2901                                                  "type": "MemberExpression",
2902                                                  "object": {
2903                                                    "type": "Identifier",
2904                                                    "name": "perm",
2905                                                    "decorators": [],
2906                                                    "loc": {
2907                                                      "start": {
2908                                                        "line": 54,
2909                                                        "column": 25
2910                                                      },
2911                                                      "end": {
2912                                                        "line": 54,
2913                                                        "column": 29
2914                                                      }
2915                                                    }
2916                                                  },
2917                                                  "property": {
2918                                                    "type": "Identifier",
2919                                                    "name": "i",
2920                                                    "decorators": [],
2921                                                    "loc": {
2922                                                      "start": {
2923                                                        "line": 54,
2924                                                        "column": 30
2925                                                      },
2926                                                      "end": {
2927                                                        "line": 54,
2928                                                        "column": 31
2929                                                      }
2930                                                    }
2931                                                  },
2932                                                  "computed": true,
2933                                                  "optional": false,
2934                                                  "loc": {
2935                                                    "start": {
2936                                                      "line": 54,
2937                                                      "column": 25
2938                                                    },
2939                                                    "end": {
2940                                                      "line": 54,
2941                                                      "column": 32
2942                                                    }
2943                                                  }
2944                                                },
2945                                                "right": {
2946                                                  "type": "MemberExpression",
2947                                                  "object": {
2948                                                    "type": "Identifier",
2949                                                    "name": "perm",
2950                                                    "decorators": [],
2951                                                    "loc": {
2952                                                      "start": {
2953                                                        "line": 54,
2954                                                        "column": 35
2955                                                      },
2956                                                      "end": {
2957                                                        "line": 54,
2958                                                        "column": 39
2959                                                      }
2960                                                    }
2961                                                  },
2962                                                  "property": {
2963                                                    "type": "BinaryExpression",
2964                                                    "operator": "-",
2965                                                    "left": {
2966                                                      "type": "Identifier",
2967                                                      "name": "k",
2968                                                      "decorators": [],
2969                                                      "loc": {
2970                                                        "start": {
2971                                                          "line": 54,
2972                                                          "column": 40
2973                                                        },
2974                                                        "end": {
2975                                                          "line": 54,
2976                                                          "column": 41
2977                                                        }
2978                                                      }
2979                                                    },
2980                                                    "right": {
2981                                                      "type": "Identifier",
2982                                                      "name": "i",
2983                                                      "decorators": [],
2984                                                      "loc": {
2985                                                        "start": {
2986                                                          "line": 54,
2987                                                          "column": 44
2988                                                        },
2989                                                        "end": {
2990                                                          "line": 54,
2991                                                          "column": 45
2992                                                        }
2993                                                      }
2994                                                    },
2995                                                    "loc": {
2996                                                      "start": {
2997                                                        "line": 54,
2998                                                        "column": 40
2999                                                      },
3000                                                      "end": {
3001                                                        "line": 54,
3002                                                        "column": 45
3003                                                      }
3004                                                    }
3005                                                  },
3006                                                  "computed": true,
3007                                                  "optional": false,
3008                                                  "loc": {
3009                                                    "start": {
3010                                                      "line": 54,
3011                                                      "column": 35
3012                                                    },
3013                                                    "end": {
3014                                                      "line": 54,
3015                                                      "column": 46
3016                                                    }
3017                                                  }
3018                                                },
3019                                                "loc": {
3020                                                  "start": {
3021                                                    "line": 54,
3022                                                    "column": 25
3023                                                  },
3024                                                  "end": {
3025                                                    "line": 54,
3026                                                    "column": 46
3027                                                  }
3028                                                }
3029                                              },
3030                                              "loc": {
3031                                                "start": {
3032                                                  "line": 54,
3033                                                  "column": 25
3034                                                },
3035                                                "end": {
3036                                                  "line": 54,
3037                                                  "column": 47
3038                                                }
3039                                              }
3040                                            },
3041                                            {
3042                                              "type": "ExpressionStatement",
3043                                              "expression": {
3044                                                "type": "AssignmentExpression",
3045                                                "operator": "=",
3046                                                "left": {
3047                                                  "type": "MemberExpression",
3048                                                  "object": {
3049                                                    "type": "Identifier",
3050                                                    "name": "perm",
3051                                                    "decorators": [],
3052                                                    "loc": {
3053                                                      "start": {
3054                                                        "line": 55,
3055                                                        "column": 25
3056                                                      },
3057                                                      "end": {
3058                                                        "line": 55,
3059                                                        "column": 29
3060                                                      }
3061                                                    }
3062                                                  },
3063                                                  "property": {
3064                                                    "type": "BinaryExpression",
3065                                                    "operator": "-",
3066                                                    "left": {
3067                                                      "type": "Identifier",
3068                                                      "name": "k",
3069                                                      "decorators": [],
3070                                                      "loc": {
3071                                                        "start": {
3072                                                          "line": 55,
3073                                                          "column": 30
3074                                                        },
3075                                                        "end": {
3076                                                          "line": 55,
3077                                                          "column": 31
3078                                                        }
3079                                                      }
3080                                                    },
3081                                                    "right": {
3082                                                      "type": "Identifier",
3083                                                      "name": "i",
3084                                                      "decorators": [],
3085                                                      "loc": {
3086                                                        "start": {
3087                                                          "line": 55,
3088                                                          "column": 34
3089                                                        },
3090                                                        "end": {
3091                                                          "line": 55,
3092                                                          "column": 35
3093                                                        }
3094                                                      }
3095                                                    },
3096                                                    "loc": {
3097                                                      "start": {
3098                                                        "line": 55,
3099                                                        "column": 30
3100                                                      },
3101                                                      "end": {
3102                                                        "line": 55,
3103                                                        "column": 35
3104                                                      }
3105                                                    }
3106                                                  },
3107                                                  "computed": true,
3108                                                  "optional": false,
3109                                                  "loc": {
3110                                                    "start": {
3111                                                      "line": 55,
3112                                                      "column": 25
3113                                                    },
3114                                                    "end": {
3115                                                      "line": 55,
3116                                                      "column": 36
3117                                                    }
3118                                                  }
3119                                                },
3120                                                "right": {
3121                                                  "type": "Identifier",
3122                                                  "name": "temp",
3123                                                  "decorators": [],
3124                                                  "loc": {
3125                                                    "start": {
3126                                                      "line": 55,
3127                                                      "column": 39
3128                                                    },
3129                                                    "end": {
3130                                                      "line": 55,
3131                                                      "column": 43
3132                                                    }
3133                                                  }
3134                                                },
3135                                                "loc": {
3136                                                  "start": {
3137                                                    "line": 55,
3138                                                    "column": 25
3139                                                  },
3140                                                  "end": {
3141                                                    "line": 55,
3142                                                    "column": 43
3143                                                  }
3144                                                }
3145                                              },
3146                                              "loc": {
3147                                                "start": {
3148                                                  "line": 55,
3149                                                  "column": 25
3150                                                },
3151                                                "end": {
3152                                                  "line": 55,
3153                                                  "column": 44
3154                                                }
3155                                              }
3156                                            }
3157                                          ],
3158                                          "loc": {
3159                                            "start": {
3160                                              "line": 52,
3161                                              "column": 50
3162                                            },
3163                                            "end": {
3164                                              "line": 56,
3165                                              "column": 22
3166                                            }
3167                                          }
3168                                        },
3169                                        "loc": {
3170                                          "start": {
3171                                            "line": 52,
3172                                            "column": 21
3173                                          },
3174                                          "end": {
3175                                            "line": 56,
3176                                            "column": 22
3177                                          }
3178                                        }
3179                                      },
3180                                      {
3181                                        "type": "ExpressionStatement",
3182                                        "expression": {
3183                                          "type": "UpdateExpression",
3184                                          "operator": "++",
3185                                          "prefix": false,
3186                                          "argument": {
3187                                            "type": "Identifier",
3188                                            "name": "flipsCount",
3189                                            "decorators": [],
3190                                            "loc": {
3191                                              "start": {
3192                                                "line": 57,
3193                                                "column": 21
3194                                              },
3195                                              "end": {
3196                                                "line": 57,
3197                                                "column": 31
3198                                              }
3199                                            }
3200                                          },
3201                                          "loc": {
3202                                            "start": {
3203                                              "line": 57,
3204                                              "column": 21
3205                                            },
3206                                            "end": {
3207                                              "line": 57,
3208                                              "column": 33
3209                                            }
3210                                          }
3211                                        },
3212                                        "loc": {
3213                                          "start": {
3214                                            "line": 57,
3215                                            "column": 21
3216                                          },
3217                                          "end": {
3218                                            "line": 57,
3219                                            "column": 34
3220                                          }
3221                                        }
3222                                      }
3223                                    ],
3224                                    "loc": {
3225                                      "start": {
3226                                        "line": 50,
3227                                        "column": 47
3228                                      },
3229                                      "end": {
3230                                        "line": 58,
3231                                        "column": 18
3232                                      }
3233                                    }
3234                                  },
3235                                  "loc": {
3236                                    "start": {
3237                                      "line": 50,
3238                                      "column": 17
3239                                    },
3240                                    "end": {
3241                                      "line": 58,
3242                                      "column": 18
3243                                    }
3244                                  }
3245                                },
3246                                {
3247                                  "type": "IfStatement",
3248                                  "test": {
3249                                    "type": "BinaryExpression",
3250                                    "operator": ">",
3251                                    "left": {
3252                                      "type": "Identifier",
3253                                      "name": "flipsCount",
3254                                      "decorators": [],
3255                                      "loc": {
3256                                        "start": {
3257                                          "line": 60,
3258                                          "column": 21
3259                                        },
3260                                        "end": {
3261                                          "line": 60,
3262                                          "column": 31
3263                                        }
3264                                      }
3265                                    },
3266                                    "right": {
3267                                      "type": "Identifier",
3268                                      "name": "maxFlipsCount",
3269                                      "decorators": [],
3270                                      "loc": {
3271                                        "start": {
3272                                          "line": 60,
3273                                          "column": 34
3274                                        },
3275                                        "end": {
3276                                          "line": 60,
3277                                          "column": 47
3278                                        }
3279                                      }
3280                                    },
3281                                    "loc": {
3282                                      "start": {
3283                                        "line": 60,
3284                                        "column": 21
3285                                      },
3286                                      "end": {
3287                                        "line": 60,
3288                                        "column": 47
3289                                      }
3290                                    }
3291                                  },
3292                                  "consequent": {
3293                                    "type": "BlockStatement",
3294                                    "statements": [
3295                                      {
3296                                        "type": "ExpressionStatement",
3297                                        "expression": {
3298                                          "type": "AssignmentExpression",
3299                                          "operator": "=",
3300                                          "left": {
3301                                            "type": "Identifier",
3302                                            "name": "maxFlipsCount",
3303                                            "decorators": [],
3304                                            "loc": {
3305                                              "start": {
3306                                                "line": 61,
3307                                                "column": 21
3308                                              },
3309                                              "end": {
3310                                                "line": 61,
3311                                                "column": 34
3312                                              }
3313                                            }
3314                                          },
3315                                          "right": {
3316                                            "type": "Identifier",
3317                                            "name": "flipsCount",
3318                                            "decorators": [],
3319                                            "loc": {
3320                                              "start": {
3321                                                "line": 61,
3322                                                "column": 37
3323                                              },
3324                                              "end": {
3325                                                "line": 61,
3326                                                "column": 47
3327                                              }
3328                                            }
3329                                          },
3330                                          "loc": {
3331                                            "start": {
3332                                              "line": 61,
3333                                              "column": 21
3334                                            },
3335                                            "end": {
3336                                              "line": 61,
3337                                              "column": 47
3338                                            }
3339                                          }
3340                                        },
3341                                        "loc": {
3342                                          "start": {
3343                                            "line": 61,
3344                                            "column": 21
3345                                          },
3346                                          "end": {
3347                                            "line": 61,
3348                                            "column": 48
3349                                          }
3350                                        }
3351                                      },
3352                                      {
3353                                        "type": "ForUpdateStatement",
3354                                        "init": {
3355                                          "type": "VariableDeclaration",
3356                                          "declarations": [
3357                                            {
3358                                              "type": "VariableDeclarator",
3359                                              "id": {
3360                                                "type": "Identifier",
3361                                                "name": "i",
3362                                                "decorators": [],
3363                                                "loc": {
3364                                                  "start": {
3365                                                    "line": 62,
3366                                                    "column": 30
3367                                                  },
3368                                                  "end": {
3369                                                    "line": 62,
3370                                                    "column": 31
3371                                                  }
3372                                                }
3373                                              },
3374                                              "init": {
3375                                                "type": "NumberLiteral",
3376                                                "value": 0,
3377                                                "loc": {
3378                                                  "start": {
3379                                                    "line": 62,
3380                                                    "column": 34
3381                                                  },
3382                                                  "end": {
3383                                                    "line": 62,
3384                                                    "column": 35
3385                                                  }
3386                                                }
3387                                              },
3388                                              "loc": {
3389                                                "start": {
3390                                                  "line": 62,
3391                                                  "column": 30
3392                                                },
3393                                                "end": {
3394                                                  "line": 62,
3395                                                  "column": 35
3396                                                }
3397                                              }
3398                                            }
3399                                          ],
3400                                          "kind": "let",
3401                                          "loc": {
3402                                            "start": {
3403                                              "line": 62,
3404                                              "column": 26
3405                                            },
3406                                            "end": {
3407                                              "line": 62,
3408                                              "column": 35
3409                                            }
3410                                          }
3411                                        },
3412                                        "test": {
3413                                          "type": "BinaryExpression",
3414                                          "operator": "<",
3415                                          "left": {
3416                                            "type": "Identifier",
3417                                            "name": "i",
3418                                            "decorators": [],
3419                                            "loc": {
3420                                              "start": {
3421                                                "line": 62,
3422                                                "column": 37
3423                                              },
3424                                              "end": {
3425                                                "line": 62,
3426                                                "column": 38
3427                                              }
3428                                            }
3429                                          },
3430                                          "right": {
3431                                            "type": "MemberExpression",
3432                                            "object": {
3433                                              "type": "ThisExpression",
3434                                              "loc": {
3435                                                "start": {
3436                                                  "line": 62,
3437                                                  "column": 41
3438                                                },
3439                                                "end": {
3440                                                  "line": 62,
3441                                                  "column": 45
3442                                                }
3443                                              }
3444                                            },
3445                                            "property": {
3446                                              "type": "Identifier",
3447                                              "name": "n",
3448                                              "decorators": [],
3449                                              "loc": {
3450                                                "start": {
3451                                                  "line": 62,
3452                                                  "column": 46
3453                                                },
3454                                                "end": {
3455                                                  "line": 62,
3456                                                  "column": 47
3457                                                }
3458                                              }
3459                                            },
3460                                            "computed": false,
3461                                            "optional": false,
3462                                            "loc": {
3463                                              "start": {
3464                                                "line": 62,
3465                                                "column": 41
3466                                              },
3467                                              "end": {
3468                                                "line": 62,
3469                                                "column": 47
3470                                              }
3471                                            }
3472                                          },
3473                                          "loc": {
3474                                            "start": {
3475                                              "line": 62,
3476                                              "column": 37
3477                                            },
3478                                            "end": {
3479                                              "line": 62,
3480                                              "column": 47
3481                                            }
3482                                          }
3483                                        },
3484                                        "update": {
3485                                          "type": "UpdateExpression",
3486                                          "operator": "++",
3487                                          "prefix": false,
3488                                          "argument": {
3489                                            "type": "Identifier",
3490                                            "name": "i",
3491                                            "decorators": [],
3492                                            "loc": {
3493                                              "start": {
3494                                                "line": 62,
3495                                                "column": 49
3496                                              },
3497                                              "end": {
3498                                                "line": 62,
3499                                                "column": 50
3500                                              }
3501                                            }
3502                                          },
3503                                          "loc": {
3504                                            "start": {
3505                                              "line": 62,
3506                                              "column": 49
3507                                            },
3508                                            "end": {
3509                                              "line": 62,
3510                                              "column": 52
3511                                            }
3512                                          }
3513                                        },
3514                                        "body": {
3515                                          "type": "ExpressionStatement",
3516                                          "expression": {
3517                                            "type": "AssignmentExpression",
3518                                            "operator": "=",
3519                                            "left": {
3520                                              "type": "MemberExpression",
3521                                              "object": {
3522                                                "type": "Identifier",
3523                                                "name": "maxPerm",
3524                                                "decorators": [],
3525                                                "loc": {
3526                                                  "start": {
3527                                                    "line": 62,
3528                                                    "column": 54
3529                                                  },
3530                                                  "end": {
3531                                                    "line": 62,
3532                                                    "column": 61
3533                                                  }
3534                                                }
3535                                              },
3536                                              "property": {
3537                                                "type": "Identifier",
3538                                                "name": "i",
3539                                                "decorators": [],
3540                                                "loc": {
3541                                                  "start": {
3542                                                    "line": 62,
3543                                                    "column": 62
3544                                                  },
3545                                                  "end": {
3546                                                    "line": 62,
3547                                                    "column": 63
3548                                                  }
3549                                                }
3550                                              },
3551                                              "computed": true,
3552                                              "optional": false,
3553                                              "loc": {
3554                                                "start": {
3555                                                  "line": 62,
3556                                                  "column": 54
3557                                                },
3558                                                "end": {
3559                                                  "line": 62,
3560                                                  "column": 64
3561                                                }
3562                                              }
3563                                            },
3564                                            "right": {
3565                                              "type": "MemberExpression",
3566                                              "object": {
3567                                                "type": "Identifier",
3568                                                "name": "perm1",
3569                                                "decorators": [],
3570                                                "loc": {
3571                                                  "start": {
3572                                                    "line": 62,
3573                                                    "column": 67
3574                                                  },
3575                                                  "end": {
3576                                                    "line": 62,
3577                                                    "column": 72
3578                                                  }
3579                                                }
3580                                              },
3581                                              "property": {
3582                                                "type": "Identifier",
3583                                                "name": "i",
3584                                                "decorators": [],
3585                                                "loc": {
3586                                                  "start": {
3587                                                    "line": 62,
3588                                                    "column": 73
3589                                                  },
3590                                                  "end": {
3591                                                    "line": 62,
3592                                                    "column": 74
3593                                                  }
3594                                                }
3595                                              },
3596                                              "computed": true,
3597                                              "optional": false,
3598                                              "loc": {
3599                                                "start": {
3600                                                  "line": 62,
3601                                                  "column": 67
3602                                                },
3603                                                "end": {
3604                                                  "line": 62,
3605                                                  "column": 75
3606                                                }
3607                                              }
3608                                            },
3609                                            "loc": {
3610                                              "start": {
3611                                                "line": 62,
3612                                                "column": 54
3613                                              },
3614                                              "end": {
3615                                                "line": 62,
3616                                                "column": 75
3617                                              }
3618                                            }
3619                                          },
3620                                          "loc": {
3621                                            "start": {
3622                                              "line": 62,
3623                                              "column": 54
3624                                            },
3625                                            "end": {
3626                                              "line": 62,
3627                                              "column": 76
3628                                            }
3629                                          }
3630                                        },
3631                                        "loc": {
3632                                          "start": {
3633                                            "line": 62,
3634                                            "column": 21
3635                                          },
3636                                          "end": {
3637                                            "line": 62,
3638                                            "column": 76
3639                                          }
3640                                        }
3641                                      }
3642                                    ],
3643                                    "loc": {
3644                                      "start": {
3645                                        "line": 60,
3646                                        "column": 49
3647                                      },
3648                                      "end": {
3649                                        "line": 63,
3650                                        "column": 18
3651                                      }
3652                                    }
3653                                  },
3654                                  "alternate": null,
3655                                  "loc": {
3656                                    "start": {
3657                                      "line": 60,
3658                                      "column": 17
3659                                    },
3660                                    "end": {
3661                                      "line": 63,
3662                                      "column": 18
3663                                    }
3664                                  }
3665                                }
3666                              ],
3667                              "loc": {
3668                                "start": {
3669                                  "line": 44,
3670                                  "column": 52
3671                                },
3672                                "end": {
3673                                  "line": 64,
3674                                  "column": 14
3675                                }
3676                              }
3677                            },
3678                            "alternate": null,
3679                            "loc": {
3680                              "start": {
3681                                "line": 44,
3682                                "column": 13
3683                              },
3684                              "end": {
3685                                "line": 64,
3686                                "column": 14
3687                              }
3688                            }
3689                          },
3690                          {
3691                            "type": "WhileStatement",
3692                            "test": {
3693                              "type": "BooleanLiteral",
3694                              "value": true,
3695                              "loc": {
3696                                "start": {
3697                                  "line": 66,
3698                                  "column": 20
3699                                },
3700                                "end": {
3701                                  "line": 66,
3702                                  "column": 24
3703                                }
3704                              }
3705                            },
3706                            "body": {
3707                              "type": "BlockStatement",
3708                              "statements": [
3709                                {
3710                                  "type": "IfStatement",
3711                                  "test": {
3712                                    "type": "BinaryExpression",
3713                                    "operator": "==",
3714                                    "left": {
3715                                      "type": "Identifier",
3716                                      "name": "r",
3717                                      "decorators": [],
3718                                      "loc": {
3719                                        "start": {
3720                                          "line": 67,
3721                                          "column": 21
3722                                        },
3723                                        "end": {
3724                                          "line": 67,
3725                                          "column": 22
3726                                        }
3727                                      }
3728                                    },
3729                                    "right": {
3730                                      "type": "Identifier",
3731                                      "name": "n",
3732                                      "decorators": [],
3733                                      "loc": {
3734                                        "start": {
3735                                          "line": 67,
3736                                          "column": 26
3737                                        },
3738                                        "end": {
3739                                          "line": 67,
3740                                          "column": 27
3741                                        }
3742                                      }
3743                                    },
3744                                    "loc": {
3745                                      "start": {
3746                                        "line": 67,
3747                                        "column": 21
3748                                      },
3749                                      "end": {
3750                                        "line": 67,
3751                                        "column": 27
3752                                      }
3753                                    }
3754                                  },
3755                                  "consequent": {
3756                                    "type": "ReturnStatement",
3757                                    "argument": {
3758                                      "type": "Identifier",
3759                                      "name": "maxFlipsCount",
3760                                      "decorators": [],
3761                                      "loc": {
3762                                        "start": {
3763                                          "line": 67,
3764                                          "column": 36
3765                                        },
3766                                        "end": {
3767                                          "line": 67,
3768                                          "column": 49
3769                                        }
3770                                      }
3771                                    },
3772                                    "loc": {
3773                                      "start": {
3774                                        "line": 67,
3775                                        "column": 29
3776                                      },
3777                                      "end": {
3778                                        "line": 67,
3779                                        "column": 50
3780                                      }
3781                                    }
3782                                  },
3783                                  "alternate": null,
3784                                  "loc": {
3785                                    "start": {
3786                                      "line": 67,
3787                                      "column": 17
3788                                    },
3789                                    "end": {
3790                                      "line": 67,
3791                                      "column": 50
3792                                    }
3793                                  }
3794                                },
3795                                {
3796                                  "type": "VariableDeclaration",
3797                                  "declarations": [
3798                                    {
3799                                      "type": "VariableDeclarator",
3800                                      "id": {
3801                                        "type": "Identifier",
3802                                        "name": "perm0",
3803                                        "typeAnnotation": {
3804                                          "type": "ETSPrimitiveType",
3805                                          "loc": {
3806                                            "start": {
3807                                              "line": 68,
3808                                              "column": 28
3809                                            },
3810                                            "end": {
3811                                              "line": 68,
3812                                              "column": 31
3813                                            }
3814                                          }
3815                                        },
3816                                        "decorators": [],
3817                                        "loc": {
3818                                          "start": {
3819                                            "line": 68,
3820                                            "column": 21
3821                                          },
3822                                          "end": {
3823                                            "line": 68,
3824                                            "column": 26
3825                                          }
3826                                        }
3827                                      },
3828                                      "init": {
3829                                        "type": "MemberExpression",
3830                                        "object": {
3831                                          "type": "Identifier",
3832                                          "name": "perm1",
3833                                          "decorators": [],
3834                                          "loc": {
3835                                            "start": {
3836                                              "line": 68,
3837                                              "column": 34
3838                                            },
3839                                            "end": {
3840                                              "line": 68,
3841                                              "column": 39
3842                                            }
3843                                          }
3844                                        },
3845                                        "property": {
3846                                          "type": "NumberLiteral",
3847                                          "value": 0,
3848                                          "loc": {
3849                                            "start": {
3850                                              "line": 68,
3851                                              "column": 40
3852                                            },
3853                                            "end": {
3854                                              "line": 68,
3855                                              "column": 41
3856                                            }
3857                                          }
3858                                        },
3859                                        "computed": true,
3860                                        "optional": false,
3861                                        "loc": {
3862                                          "start": {
3863                                            "line": 68,
3864                                            "column": 34
3865                                          },
3866                                          "end": {
3867                                            "line": 68,
3868                                            "column": 42
3869                                          }
3870                                        }
3871                                      },
3872                                      "loc": {
3873                                        "start": {
3874                                          "line": 68,
3875                                          "column": 21
3876                                        },
3877                                        "end": {
3878                                          "line": 68,
3879                                          "column": 42
3880                                        }
3881                                      }
3882                                    }
3883                                  ],
3884                                  "kind": "let",
3885                                  "loc": {
3886                                    "start": {
3887                                      "line": 68,
3888                                      "column": 17
3889                                    },
3890                                    "end": {
3891                                      "line": 68,
3892                                      "column": 43
3893                                    }
3894                                  }
3895                                },
3896                                {
3897                                  "type": "VariableDeclaration",
3898                                  "declarations": [
3899                                    {
3900                                      "type": "VariableDeclarator",
3901                                      "id": {
3902                                        "type": "Identifier",
3903                                        "name": "i",
3904                                        "typeAnnotation": {
3905                                          "type": "ETSPrimitiveType",
3906                                          "loc": {
3907                                            "start": {
3908                                              "line": 69,
3909                                              "column": 24
3910                                            },
3911                                            "end": {
3912                                              "line": 69,
3913                                              "column": 27
3914                                            }
3915                                          }
3916                                        },
3917                                        "decorators": [],
3918                                        "loc": {
3919                                          "start": {
3920                                            "line": 69,
3921                                            "column": 21
3922                                          },
3923                                          "end": {
3924                                            "line": 69,
3925                                            "column": 22
3926                                          }
3927                                        }
3928                                      },
3929                                      "init": {
3930                                        "type": "NumberLiteral",
3931                                        "value": 0,
3932                                        "loc": {
3933                                          "start": {
3934                                            "line": 69,
3935                                            "column": 30
3936                                          },
3937                                          "end": {
3938                                            "line": 69,
3939                                            "column": 31
3940                                          }
3941                                        }
3942                                      },
3943                                      "loc": {
3944                                        "start": {
3945                                          "line": 69,
3946                                          "column": 21
3947                                        },
3948                                        "end": {
3949                                          "line": 69,
3950                                          "column": 31
3951                                        }
3952                                      }
3953                                    }
3954                                  ],
3955                                  "kind": "let",
3956                                  "loc": {
3957                                    "start": {
3958                                      "line": 69,
3959                                      "column": 17
3960                                    },
3961                                    "end": {
3962                                      "line": 69,
3963                                      "column": 32
3964                                    }
3965                                  }
3966                                },
3967                                {
3968                                  "type": "WhileStatement",
3969                                  "test": {
3970                                    "type": "BinaryExpression",
3971                                    "operator": "<",
3972                                    "left": {
3973                                      "type": "Identifier",
3974                                      "name": "i",
3975                                      "decorators": [],
3976                                      "loc": {
3977                                        "start": {
3978                                          "line": 70,
3979                                          "column": 24
3980                                        },
3981                                        "end": {
3982                                          "line": 70,
3983                                          "column": 25
3984                                        }
3985                                      }
3986                                    },
3987                                    "right": {
3988                                      "type": "Identifier",
3989                                      "name": "r",
3990                                      "decorators": [],
3991                                      "loc": {
3992                                        "start": {
3993                                          "line": 70,
3994                                          "column": 28
3995                                        },
3996                                        "end": {
3997                                          "line": 70,
3998                                          "column": 29
3999                                        }
4000                                      }
4001                                    },
4002                                    "loc": {
4003                                      "start": {
4004                                        "line": 70,
4005                                        "column": 24
4006                                      },
4007                                      "end": {
4008                                        "line": 70,
4009                                        "column": 29
4010                                      }
4011                                    }
4012                                  },
4013                                  "body": {
4014                                    "type": "BlockStatement",
4015                                    "statements": [
4016                                      {
4017                                        "type": "VariableDeclaration",
4018                                        "declarations": [
4019                                          {
4020                                            "type": "VariableDeclarator",
4021                                            "id": {
4022                                              "type": "Identifier",
4023                                              "name": "j",
4024                                              "typeAnnotation": {
4025                                                "type": "ETSPrimitiveType",
4026                                                "loc": {
4027                                                  "start": {
4028                                                    "line": 71,
4029                                                    "column": 28
4030                                                  },
4031                                                  "end": {
4032                                                    "line": 71,
4033                                                    "column": 31
4034                                                  }
4035                                                }
4036                                              },
4037                                              "decorators": [],
4038                                              "loc": {
4039                                                "start": {
4040                                                  "line": 71,
4041                                                  "column": 25
4042                                                },
4043                                                "end": {
4044                                                  "line": 71,
4045                                                  "column": 26
4046                                                }
4047                                              }
4048                                            },
4049                                            "init": {
4050                                              "type": "BinaryExpression",
4051                                              "operator": "+",
4052                                              "left": {
4053                                                "type": "Identifier",
4054                                                "name": "i",
4055                                                "decorators": [],
4056                                                "loc": {
4057                                                  "start": {
4058                                                    "line": 71,
4059                                                    "column": 34
4060                                                  },
4061                                                  "end": {
4062                                                    "line": 71,
4063                                                    "column": 35
4064                                                  }
4065                                                }
4066                                              },
4067                                              "right": {
4068                                                "type": "NumberLiteral",
4069                                                "value": 1,
4070                                                "loc": {
4071                                                  "start": {
4072                                                    "line": 71,
4073                                                    "column": 38
4074                                                  },
4075                                                  "end": {
4076                                                    "line": 71,
4077                                                    "column": 39
4078                                                  }
4079                                                }
4080                                              },
4081                                              "loc": {
4082                                                "start": {
4083                                                  "line": 71,
4084                                                  "column": 34
4085                                                },
4086                                                "end": {
4087                                                  "line": 71,
4088                                                  "column": 39
4089                                                }
4090                                              }
4091                                            },
4092                                            "loc": {
4093                                              "start": {
4094                                                "line": 71,
4095                                                "column": 25
4096                                              },
4097                                              "end": {
4098                                                "line": 71,
4099                                                "column": 39
4100                                              }
4101                                            }
4102                                          }
4103                                        ],
4104                                        "kind": "let",
4105                                        "loc": {
4106                                          "start": {
4107                                            "line": 71,
4108                                            "column": 21
4109                                          },
4110                                          "end": {
4111                                            "line": 71,
4112                                            "column": 40
4113                                          }
4114                                        }
4115                                      },
4116                                      {
4117                                        "type": "ExpressionStatement",
4118                                        "expression": {
4119                                          "type": "AssignmentExpression",
4120                                          "operator": "=",
4121                                          "left": {
4122                                            "type": "MemberExpression",
4123                                            "object": {
4124                                              "type": "Identifier",
4125                                              "name": "perm1",
4126                                              "decorators": [],
4127                                              "loc": {
4128                                                "start": {
4129                                                  "line": 72,
4130                                                  "column": 21
4131                                                },
4132                                                "end": {
4133                                                  "line": 72,
4134                                                  "column": 26
4135                                                }
4136                                              }
4137                                            },
4138                                            "property": {
4139                                              "type": "Identifier",
4140                                              "name": "i",
4141                                              "decorators": [],
4142                                              "loc": {
4143                                                "start": {
4144                                                  "line": 72,
4145                                                  "column": 27
4146                                                },
4147                                                "end": {
4148                                                  "line": 72,
4149                                                  "column": 28
4150                                                }
4151                                              }
4152                                            },
4153                                            "computed": true,
4154                                            "optional": false,
4155                                            "loc": {
4156                                              "start": {
4157                                                "line": 72,
4158                                                "column": 21
4159                                              },
4160                                              "end": {
4161                                                "line": 72,
4162                                                "column": 29
4163                                              }
4164                                            }
4165                                          },
4166                                          "right": {
4167                                            "type": "MemberExpression",
4168                                            "object": {
4169                                              "type": "Identifier",
4170                                              "name": "perm1",
4171                                              "decorators": [],
4172                                              "loc": {
4173                                                "start": {
4174                                                  "line": 72,
4175                                                  "column": 32
4176                                                },
4177                                                "end": {
4178                                                  "line": 72,
4179                                                  "column": 37
4180                                                }
4181                                              }
4182                                            },
4183                                            "property": {
4184                                              "type": "Identifier",
4185                                              "name": "j",
4186                                              "decorators": [],
4187                                              "loc": {
4188                                                "start": {
4189                                                  "line": 72,
4190                                                  "column": 38
4191                                                },
4192                                                "end": {
4193                                                  "line": 72,
4194                                                  "column": 39
4195                                                }
4196                                              }
4197                                            },
4198                                            "computed": true,
4199                                            "optional": false,
4200                                            "loc": {
4201                                              "start": {
4202                                                "line": 72,
4203                                                "column": 32
4204                                              },
4205                                              "end": {
4206                                                "line": 72,
4207                                                "column": 40
4208                                              }
4209                                            }
4210                                          },
4211                                          "loc": {
4212                                            "start": {
4213                                              "line": 72,
4214                                              "column": 21
4215                                            },
4216                                            "end": {
4217                                              "line": 72,
4218                                              "column": 40
4219                                            }
4220                                          }
4221                                        },
4222                                        "loc": {
4223                                          "start": {
4224                                            "line": 72,
4225                                            "column": 21
4226                                          },
4227                                          "end": {
4228                                            "line": 72,
4229                                            "column": 41
4230                                          }
4231                                        }
4232                                      },
4233                                      {
4234                                        "type": "ExpressionStatement",
4235                                        "expression": {
4236                                          "type": "AssignmentExpression",
4237                                          "operator": "=",
4238                                          "left": {
4239                                            "type": "Identifier",
4240                                            "name": "i",
4241                                            "decorators": [],
4242                                            "loc": {
4243                                              "start": {
4244                                                "line": 73,
4245                                                "column": 21
4246                                              },
4247                                              "end": {
4248                                                "line": 73,
4249                                                "column": 22
4250                                              }
4251                                            }
4252                                          },
4253                                          "right": {
4254                                            "type": "Identifier",
4255                                            "name": "j",
4256                                            "decorators": [],
4257                                            "loc": {
4258                                              "start": {
4259                                                "line": 73,
4260                                                "column": 25
4261                                              },
4262                                              "end": {
4263                                                "line": 73,
4264                                                "column": 26
4265                                              }
4266                                            }
4267                                          },
4268                                          "loc": {
4269                                            "start": {
4270                                              "line": 73,
4271                                              "column": 21
4272                                            },
4273                                            "end": {
4274                                              "line": 73,
4275                                              "column": 26
4276                                            }
4277                                          }
4278                                        },
4279                                        "loc": {
4280                                          "start": {
4281                                            "line": 73,
4282                                            "column": 21
4283                                          },
4284                                          "end": {
4285                                            "line": 73,
4286                                            "column": 27
4287                                          }
4288                                        }
4289                                      }
4290                                    ],
4291                                    "loc": {
4292                                      "start": {
4293                                        "line": 70,
4294                                        "column": 31
4295                                      },
4296                                      "end": {
4297                                        "line": 74,
4298                                        "column": 18
4299                                      }
4300                                    }
4301                                  },
4302                                  "loc": {
4303                                    "start": {
4304                                      "line": 70,
4305                                      "column": 17
4306                                    },
4307                                    "end": {
4308                                      "line": 74,
4309                                      "column": 18
4310                                    }
4311                                  }
4312                                },
4313                                {
4314                                  "type": "ExpressionStatement",
4315                                  "expression": {
4316                                    "type": "AssignmentExpression",
4317                                    "operator": "=",
4318                                    "left": {
4319                                      "type": "MemberExpression",
4320                                      "object": {
4321                                        "type": "Identifier",
4322                                        "name": "perm1",
4323                                        "decorators": [],
4324                                        "loc": {
4325                                          "start": {
4326                                            "line": 75,
4327                                            "column": 17
4328                                          },
4329                                          "end": {
4330                                            "line": 75,
4331                                            "column": 22
4332                                          }
4333                                        }
4334                                      },
4335                                      "property": {
4336                                        "type": "Identifier",
4337                                        "name": "r",
4338                                        "decorators": [],
4339                                        "loc": {
4340                                          "start": {
4341                                            "line": 75,
4342                                            "column": 23
4343                                          },
4344                                          "end": {
4345                                            "line": 75,
4346                                            "column": 24
4347                                          }
4348                                        }
4349                                      },
4350                                      "computed": true,
4351                                      "optional": false,
4352                                      "loc": {
4353                                        "start": {
4354                                          "line": 75,
4355                                          "column": 17
4356                                        },
4357                                        "end": {
4358                                          "line": 75,
4359                                          "column": 25
4360                                        }
4361                                      }
4362                                    },
4363                                    "right": {
4364                                      "type": "Identifier",
4365                                      "name": "perm0",
4366                                      "decorators": [],
4367                                      "loc": {
4368                                        "start": {
4369                                          "line": 75,
4370                                          "column": 28
4371                                        },
4372                                        "end": {
4373                                          "line": 75,
4374                                          "column": 33
4375                                        }
4376                                      }
4377                                    },
4378                                    "loc": {
4379                                      "start": {
4380                                        "line": 75,
4381                                        "column": 17
4382                                      },
4383                                      "end": {
4384                                        "line": 75,
4385                                        "column": 33
4386                                      }
4387                                    }
4388                                  },
4389                                  "loc": {
4390                                    "start": {
4391                                      "line": 75,
4392                                      "column": 17
4393                                    },
4394                                    "end": {
4395                                      "line": 75,
4396                                      "column": 34
4397                                    }
4398                                  }
4399                                },
4400                                {
4401                                  "type": "ExpressionStatement",
4402                                  "expression": {
4403                                    "type": "AssignmentExpression",
4404                                    "operator": "=",
4405                                    "left": {
4406                                      "type": "MemberExpression",
4407                                      "object": {
4408                                        "type": "Identifier",
4409                                        "name": "count",
4410                                        "decorators": [],
4411                                        "loc": {
4412                                          "start": {
4413                                            "line": 77,
4414                                            "column": 17
4415                                          },
4416                                          "end": {
4417                                            "line": 77,
4418                                            "column": 22
4419                                          }
4420                                        }
4421                                      },
4422                                      "property": {
4423                                        "type": "Identifier",
4424                                        "name": "r",
4425                                        "decorators": [],
4426                                        "loc": {
4427                                          "start": {
4428                                            "line": 77,
4429                                            "column": 23
4430                                          },
4431                                          "end": {
4432                                            "line": 77,
4433                                            "column": 24
4434                                          }
4435                                        }
4436                                      },
4437                                      "computed": true,
4438                                      "optional": false,
4439                                      "loc": {
4440                                        "start": {
4441                                          "line": 77,
4442                                          "column": 17
4443                                        },
4444                                        "end": {
4445                                          "line": 77,
4446                                          "column": 25
4447                                        }
4448                                      }
4449                                    },
4450                                    "right": {
4451                                      "type": "BinaryExpression",
4452                                      "operator": "-",
4453                                      "left": {
4454                                        "type": "MemberExpression",
4455                                        "object": {
4456                                          "type": "Identifier",
4457                                          "name": "count",
4458                                          "decorators": [],
4459                                          "loc": {
4460                                            "start": {
4461                                              "line": 77,
4462                                              "column": 28
4463                                            },
4464                                            "end": {
4465                                              "line": 77,
4466                                              "column": 33
4467                                            }
4468                                          }
4469                                        },
4470                                        "property": {
4471                                          "type": "Identifier",
4472                                          "name": "r",
4473                                          "decorators": [],
4474                                          "loc": {
4475                                            "start": {
4476                                              "line": 77,
4477                                              "column": 34
4478                                            },
4479                                            "end": {
4480                                              "line": 77,
4481                                              "column": 35
4482                                            }
4483                                          }
4484                                        },
4485                                        "computed": true,
4486                                        "optional": false,
4487                                        "loc": {
4488                                          "start": {
4489                                            "line": 77,
4490                                            "column": 28
4491                                          },
4492                                          "end": {
4493                                            "line": 77,
4494                                            "column": 36
4495                                          }
4496                                        }
4497                                      },
4498                                      "right": {
4499                                        "type": "NumberLiteral",
4500                                        "value": 1,
4501                                        "loc": {
4502                                          "start": {
4503                                            "line": 77,
4504                                            "column": 39
4505                                          },
4506                                          "end": {
4507                                            "line": 77,
4508                                            "column": 40
4509                                          }
4510                                        }
4511                                      },
4512                                      "loc": {
4513                                        "start": {
4514                                          "line": 77,
4515                                          "column": 28
4516                                        },
4517                                        "end": {
4518                                          "line": 77,
4519                                          "column": 40
4520                                        }
4521                                      }
4522                                    },
4523                                    "loc": {
4524                                      "start": {
4525                                        "line": 77,
4526                                        "column": 17
4527                                      },
4528                                      "end": {
4529                                        "line": 77,
4530                                        "column": 40
4531                                      }
4532                                    }
4533                                  },
4534                                  "loc": {
4535                                    "start": {
4536                                      "line": 77,
4537                                      "column": 17
4538                                    },
4539                                    "end": {
4540                                      "line": 77,
4541                                      "column": 41
4542                                    }
4543                                  }
4544                                },
4545                                {
4546                                  "type": "IfStatement",
4547                                  "test": {
4548                                    "type": "BinaryExpression",
4549                                    "operator": ">",
4550                                    "left": {
4551                                      "type": "MemberExpression",
4552                                      "object": {
4553                                        "type": "Identifier",
4554                                        "name": "count",
4555                                        "decorators": [],
4556                                        "loc": {
4557                                          "start": {
4558                                            "line": 78,
4559                                            "column": 21
4560                                          },
4561                                          "end": {
4562                                            "line": 78,
4563                                            "column": 26
4564                                          }
4565                                        }
4566                                      },
4567                                      "property": {
4568                                        "type": "Identifier",
4569                                        "name": "r",
4570                                        "decorators": [],
4571                                        "loc": {
4572                                          "start": {
4573                                            "line": 78,
4574                                            "column": 27
4575                                          },
4576                                          "end": {
4577                                            "line": 78,
4578                                            "column": 28
4579                                          }
4580                                        }
4581                                      },
4582                                      "computed": true,
4583                                      "optional": false,
4584                                      "loc": {
4585                                        "start": {
4586                                          "line": 78,
4587                                          "column": 21
4588                                        },
4589                                        "end": {
4590                                          "line": 78,
4591                                          "column": 29
4592                                        }
4593                                      }
4594                                    },
4595                                    "right": {
4596                                      "type": "NumberLiteral",
4597                                      "value": 0,
4598                                      "loc": {
4599                                        "start": {
4600                                          "line": 78,
4601                                          "column": 32
4602                                        },
4603                                        "end": {
4604                                          "line": 78,
4605                                          "column": 33
4606                                        }
4607                                      }
4608                                    },
4609                                    "loc": {
4610                                      "start": {
4611                                        "line": 78,
4612                                        "column": 21
4613                                      },
4614                                      "end": {
4615                                        "line": 78,
4616                                        "column": 33
4617                                      }
4618                                    }
4619                                  },
4620                                  "consequent": {
4621                                    "type": "BreakStatement",
4622                                    "label": null,
4623                                    "loc": {
4624                                      "start": {
4625                                        "line": 78,
4626                                        "column": 35
4627                                      },
4628                                      "end": {
4629                                        "line": 78,
4630                                        "column": 41
4631                                      }
4632                                    }
4633                                  },
4634                                  "alternate": null,
4635                                  "loc": {
4636                                    "start": {
4637                                      "line": 78,
4638                                      "column": 17
4639                                    },
4640                                    "end": {
4641                                      "line": 78,
4642                                      "column": 41
4643                                    }
4644                                  }
4645                                },
4646                                {
4647                                  "type": "ExpressionStatement",
4648                                  "expression": {
4649                                    "type": "UpdateExpression",
4650                                    "operator": "++",
4651                                    "prefix": false,
4652                                    "argument": {
4653                                      "type": "Identifier",
4654                                      "name": "r",
4655                                      "decorators": [],
4656                                      "loc": {
4657                                        "start": {
4658                                          "line": 79,
4659                                          "column": 17
4660                                        },
4661                                        "end": {
4662                                          "line": 79,
4663                                          "column": 18
4664                                        }
4665                                      }
4666                                    },
4667                                    "loc": {
4668                                      "start": {
4669                                        "line": 79,
4670                                        "column": 17
4671                                      },
4672                                      "end": {
4673                                        "line": 79,
4674                                        "column": 20
4675                                      }
4676                                    }
4677                                  },
4678                                  "loc": {
4679                                    "start": {
4680                                      "line": 79,
4681                                      "column": 17
4682                                    },
4683                                    "end": {
4684                                      "line": 79,
4685                                      "column": 21
4686                                    }
4687                                  }
4688                                }
4689                              ],
4690                              "loc": {
4691                                "start": {
4692                                  "line": 66,
4693                                  "column": 26
4694                                },
4695                                "end": {
4696                                  "line": 80,
4697                                  "column": 14
4698                                }
4699                              }
4700                            },
4701                            "loc": {
4702                              "start": {
4703                                "line": 66,
4704                                "column": 13
4705                              },
4706                              "end": {
4707                                "line": 80,
4708                                "column": 14
4709                              }
4710                            }
4711                          }
4712                        ],
4713                        "loc": {
4714                          "start": {
4715                            "line": 39,
4716                            "column": 22
4717                          },
4718                          "end": {
4719                            "line": 81,
4720                            "column": 10
4721                          }
4722                        }
4723                      },
4724                      "loc": {
4725                        "start": {
4726                          "line": 39,
4727                          "column": 9
4728                        },
4729                        "end": {
4730                          "line": 81,
4731                          "column": 10
4732                        }
4733                      }
4734                    }
4735                  ],
4736                  "loc": {
4737                    "start": {
4738                      "line": 24,
4739                      "column": 34
4740                    },
4741                    "end": {
4742                      "line": 82,
4743                      "column": 6
4744                    }
4745                  }
4746                },
4747                "loc": {
4748                  "start": {
4749                    "line": 24,
4750                    "column": 20
4751                  },
4752                  "end": {
4753                    "line": 82,
4754                    "column": 6
4755                  }
4756                }
4757              },
4758              "loc": {
4759                "start": {
4760                  "line": 24,
4761                  "column": 20
4762                },
4763                "end": {
4764                  "line": 82,
4765                  "column": 6
4766                }
4767              }
4768            },
4769            "overloads": [],
4770            "decorators": [],
4771            "loc": {
4772              "start": {
4773                "line": 24,
4774                "column": 5
4775              },
4776              "end": {
4777                "line": 82,
4778                "column": 6
4779              }
4780            }
4781          },
4782          {
4783            "type": "MethodDefinition",
4784            "key": {
4785              "type": "Identifier",
4786              "name": "run",
4787              "decorators": [],
4788              "loc": {
4789                "start": {
4790                  "line": 84,
4791                  "column": 12
4792                },
4793                "end": {
4794                  "line": 84,
4795                  "column": 15
4796                }
4797              }
4798            },
4799            "kind": "method",
4800            "accessibility": "public",
4801            "static": false,
4802            "optional": false,
4803            "computed": false,
4804            "value": {
4805              "type": "FunctionExpression",
4806              "function": {
4807                "type": "ScriptFunction",
4808                "id": {
4809                  "type": "Identifier",
4810                  "name": "run",
4811                  "decorators": [],
4812                  "loc": {
4813                    "start": {
4814                      "line": 84,
4815                      "column": 12
4816                    },
4817                    "end": {
4818                      "line": 84,
4819                      "column": 15
4820                    }
4821                  }
4822                },
4823                "generator": false,
4824                "async": false,
4825                "expression": false,
4826                "params": [],
4827                "returnType": {
4828                  "type": "ETSPrimitiveType",
4829                  "loc": {
4830                    "start": {
4831                      "line": 84,
4832                      "column": 19
4833                    },
4834                    "end": {
4835                      "line": 84,
4836                      "column": 23
4837                    }
4838                  }
4839                },
4840                "body": {
4841                  "type": "BlockStatement",
4842                  "statements": [
4843                    {
4844                      "type": "VariableDeclaration",
4845                      "declarations": [
4846                        {
4847                          "type": "VariableDeclarator",
4848                          "id": {
4849                            "type": "Identifier",
4850                            "name": "ret",
4851                            "decorators": [],
4852                            "loc": {
4853                              "start": {
4854                                "line": 85,
4855                                "column": 12
4856                              },
4857                              "end": {
4858                                "line": 85,
4859                                "column": 15
4860                              }
4861                            }
4862                          },
4863                          "init": {
4864                            "type": "CallExpression",
4865                            "callee": {
4866                              "type": "MemberExpression",
4867                              "object": {
4868                                "type": "ThisExpression",
4869                                "loc": {
4870                                  "start": {
4871                                    "line": 85,
4872                                    "column": 18
4873                                  },
4874                                  "end": {
4875                                    "line": 85,
4876                                    "column": 22
4877                                  }
4878                                }
4879                              },
4880                              "property": {
4881                                "type": "Identifier",
4882                                "name": "fannkuch",
4883                                "decorators": [],
4884                                "loc": {
4885                                  "start": {
4886                                    "line": 85,
4887                                    "column": 23
4888                                  },
4889                                  "end": {
4890                                    "line": 85,
4891                                    "column": 31
4892                                  }
4893                                }
4894                              },
4895                              "computed": false,
4896                              "optional": false,
4897                              "loc": {
4898                                "start": {
4899                                  "line": 85,
4900                                  "column": 18
4901                                },
4902                                "end": {
4903                                  "line": 85,
4904                                  "column": 31
4905                                }
4906                              }
4907                            },
4908                            "arguments": [
4909                              {
4910                                "type": "MemberExpression",
4911                                "object": {
4912                                  "type": "ThisExpression",
4913                                  "loc": {
4914                                    "start": {
4915                                      "line": 85,
4916                                      "column": 32
4917                                    },
4918                                    "end": {
4919                                      "line": 85,
4920                                      "column": 36
4921                                    }
4922                                  }
4923                                },
4924                                "property": {
4925                                  "type": "Identifier",
4926                                  "name": "n",
4927                                  "decorators": [],
4928                                  "loc": {
4929                                    "start": {
4930                                      "line": 85,
4931                                      "column": 37
4932                                    },
4933                                    "end": {
4934                                      "line": 85,
4935                                      "column": 38
4936                                    }
4937                                  }
4938                                },
4939                                "computed": false,
4940                                "optional": false,
4941                                "loc": {
4942                                  "start": {
4943                                    "line": 85,
4944                                    "column": 32
4945                                  },
4946                                  "end": {
4947                                    "line": 85,
4948                                    "column": 38
4949                                  }
4950                                }
4951                              }
4952                            ],
4953                            "optional": false,
4954                            "loc": {
4955                              "start": {
4956                                "line": 85,
4957                                "column": 18
4958                              },
4959                              "end": {
4960                                "line": 85,
4961                                "column": 39
4962                              }
4963                            }
4964                          },
4965                          "loc": {
4966                            "start": {
4967                              "line": 85,
4968                              "column": 12
4969                            },
4970                            "end": {
4971                              "line": 85,
4972                              "column": 39
4973                            }
4974                          }
4975                        }
4976                      ],
4977                      "kind": "let",
4978                      "loc": {
4979                        "start": {
4980                          "line": 85,
4981                          "column": 8
4982                        },
4983                        "end": {
4984                          "line": 85,
4985                          "column": 40
4986                        }
4987                      }
4988                    },
4989                    {
4990                      "type": "AssertStatement",
4991                      "test": {
4992                        "type": "BinaryExpression",
4993                        "operator": "==",
4994                        "left": {
4995                          "type": "Identifier",
4996                          "name": "ret",
4997                          "decorators": [],
4998                          "loc": {
4999                            "start": {
5000                              "line": 86,
5001                              "column": 16
5002                            },
5003                            "end": {
5004                              "line": 86,
5005                              "column": 19
5006                            }
5007                          }
5008                        },
5009                        "right": {
5010                          "type": "MemberExpression",
5011                          "object": {
5012                            "type": "Identifier",
5013                            "name": "AccessFannkuch",
5014                            "decorators": [],
5015                            "loc": {
5016                              "start": {
5017                                "line": 86,
5018                                "column": 23
5019                              },
5020                              "end": {
5021                                "line": 86,
5022                                "column": 37
5023                              }
5024                            }
5025                          },
5026                          "property": {
5027                            "type": "Identifier",
5028                            "name": "expected",
5029                            "decorators": [],
5030                            "loc": {
5031                              "start": {
5032                                "line": 86,
5033                                "column": 38
5034                              },
5035                              "end": {
5036                                "line": 86,
5037                                "column": 46
5038                              }
5039                            }
5040                          },
5041                          "computed": false,
5042                          "optional": false,
5043                          "loc": {
5044                            "start": {
5045                              "line": 86,
5046                              "column": 23
5047                            },
5048                            "end": {
5049                              "line": 86,
5050                              "column": 46
5051                            }
5052                          }
5053                        },
5054                        "loc": {
5055                          "start": {
5056                            "line": 86,
5057                            "column": 16
5058                          },
5059                          "end": {
5060                            "line": 86,
5061                            "column": 46
5062                          }
5063                        }
5064                      },
5065                      "second": {
5066                        "type": "StringLiteral",
5067                        "value": "Invalid result",
5068                        "loc": {
5069                          "start": {
5070                            "line": 86,
5071                            "column": 48
5072                          },
5073                          "end": {
5074                            "line": 86,
5075                            "column": 64
5076                          }
5077                        }
5078                      },
5079                      "loc": {
5080                        "start": {
5081                          "line": 86,
5082                          "column": 9
5083                        },
5084                        "end": {
5085                          "line": 86,
5086                          "column": 65
5087                        }
5088                      }
5089                    }
5090                  ],
5091                  "loc": {
5092                    "start": {
5093                      "line": 84,
5094                      "column": 24
5095                    },
5096                    "end": {
5097                      "line": 87,
5098                      "column": 6
5099                    }
5100                  }
5101                },
5102                "loc": {
5103                  "start": {
5104                    "line": 84,
5105                    "column": 15
5106                  },
5107                  "end": {
5108                    "line": 87,
5109                    "column": 6
5110                  }
5111                }
5112              },
5113              "loc": {
5114                "start": {
5115                  "line": 84,
5116                  "column": 15
5117                },
5118                "end": {
5119                  "line": 87,
5120                  "column": 6
5121                }
5122              }
5123            },
5124            "overloads": [],
5125            "decorators": [],
5126            "loc": {
5127              "start": {
5128                "line": 84,
5129                "column": 5
5130              },
5131              "end": {
5132                "line": 87,
5133                "column": 6
5134              }
5135            }
5136          }
5137        ],
5138        "loc": {
5139          "start": {
5140            "line": 16,
5141            "column": 29
5142          },
5143          "end": {
5144            "line": 88,
5145            "column": 2
5146          }
5147        }
5148      },
5149      "loc": {
5150        "start": {
5151          "line": 16,
5152          "column": 8
5153        },
5154        "end": {
5155          "line": 88,
5156          "column": 2
5157        }
5158      }
5159    },
5160    {
5161      "type": "ClassDeclaration",
5162      "definition": {
5163        "id": {
5164          "type": "Identifier",
5165          "name": "ETSGLOBAL",
5166          "decorators": [],
5167          "loc": {
5168            "start": {
5169              "line": 1,
5170              "column": 1
5171            },
5172            "end": {
5173              "line": 1,
5174              "column": 1
5175            }
5176          }
5177        },
5178        "superClass": null,
5179        "implements": [],
5180        "body": [
5181          {
5182            "type": "MethodDefinition",
5183            "key": {
5184              "type": "Identifier",
5185              "name": "_$init$_",
5186              "decorators": [],
5187              "loc": {
5188                "start": {
5189                  "line": 1,
5190                  "column": 1
5191                },
5192                "end": {
5193                  "line": 1,
5194                  "column": 1
5195                }
5196              }
5197            },
5198            "kind": "method",
5199            "accessibility": "public",
5200            "static": true,
5201            "optional": false,
5202            "computed": false,
5203            "value": {
5204              "type": "FunctionExpression",
5205              "function": {
5206                "type": "ScriptFunction",
5207                "id": {
5208                  "type": "Identifier",
5209                  "name": "_$init$_",
5210                  "decorators": [],
5211                  "loc": {
5212                    "start": {
5213                      "line": 1,
5214                      "column": 1
5215                    },
5216                    "end": {
5217                      "line": 1,
5218                      "column": 1
5219                    }
5220                  }
5221                },
5222                "generator": false,
5223                "async": false,
5224                "expression": false,
5225                "params": [],
5226                "body": {
5227                  "type": "BlockStatement",
5228                  "statements": [],
5229                  "loc": {
5230                    "start": {
5231                      "line": 1,
5232                      "column": 1
5233                    },
5234                    "end": {
5235                      "line": 1,
5236                      "column": 1
5237                    }
5238                  }
5239                },
5240                "loc": {
5241                  "start": {
5242                    "line": 1,
5243                    "column": 1
5244                  },
5245                  "end": {
5246                    "line": 1,
5247                    "column": 1
5248                  }
5249                }
5250              },
5251              "loc": {
5252                "start": {
5253                  "line": 1,
5254                  "column": 1
5255                },
5256                "end": {
5257                  "line": 1,
5258                  "column": 1
5259                }
5260              }
5261            },
5262            "overloads": [],
5263            "decorators": [],
5264            "loc": {
5265              "start": {
5266                "line": 1,
5267                "column": 1
5268              },
5269              "end": {
5270                "line": 1,
5271                "column": 1
5272              }
5273            }
5274          },
5275          {
5276            "type": "MethodDefinition",
5277            "key": {
5278              "type": "Identifier",
5279              "name": "main",
5280              "decorators": [],
5281              "loc": {
5282                "start": {
5283                  "line": 90,
5284                  "column": 10
5285                },
5286                "end": {
5287                  "line": 90,
5288                  "column": 14
5289                }
5290              }
5291            },
5292            "kind": "method",
5293            "accessibility": "public",
5294            "static": true,
5295            "optional": false,
5296            "computed": false,
5297            "value": {
5298              "type": "FunctionExpression",
5299              "function": {
5300                "type": "ScriptFunction",
5301                "id": {
5302                  "type": "Identifier",
5303                  "name": "main",
5304                  "decorators": [],
5305                  "loc": {
5306                    "start": {
5307                      "line": 90,
5308                      "column": 10
5309                    },
5310                    "end": {
5311                      "line": 90,
5312                      "column": 14
5313                    }
5314                  }
5315                },
5316                "generator": false,
5317                "async": false,
5318                "expression": false,
5319                "params": [],
5320                "returnType": {
5321                  "type": "ETSPrimitiveType",
5322                  "loc": {
5323                    "start": {
5324                      "line": 90,
5325                      "column": 18
5326                    },
5327                    "end": {
5328                      "line": 90,
5329                      "column": 22
5330                    }
5331                  }
5332                },
5333                "body": {
5334                  "type": "BlockStatement",
5335                  "statements": [
5336                    {
5337                      "type": "VariableDeclaration",
5338                      "declarations": [
5339                        {
5340                          "type": "VariableDeclarator",
5341                          "id": {
5342                            "type": "Identifier",
5343                            "name": "a",
5344                            "decorators": [],
5345                            "loc": {
5346                              "start": {
5347                                "line": 91,
5348                                "column": 9
5349                              },
5350                              "end": {
5351                                "line": 91,
5352                                "column": 10
5353                              }
5354                            }
5355                          },
5356                          "init": {
5357                            "type": "ETSNewClassInstanceExpression",
5358                            "typeReference": {
5359                              "type": "ETSTypeReference",
5360                              "part": {
5361                                "type": "ETSTypeReferencePart",
5362                                "name": {
5363                                  "type": "Identifier",
5364                                  "name": "AccessFannkuch",
5365                                  "decorators": [],
5366                                  "loc": {
5367                                    "start": {
5368                                      "line": 91,
5369                                      "column": 17
5370                                    },
5371                                    "end": {
5372                                      "line": 91,
5373                                      "column": 31
5374                                    }
5375                                  }
5376                                },
5377                                "loc": {
5378                                  "start": {
5379                                    "line": 91,
5380                                    "column": 17
5381                                  },
5382                                  "end": {
5383                                    "line": 91,
5384                                    "column": 32
5385                                  }
5386                                }
5387                              },
5388                              "loc": {
5389                                "start": {
5390                                  "line": 91,
5391                                  "column": 17
5392                                },
5393                                "end": {
5394                                  "line": 91,
5395                                  "column": 32
5396                                }
5397                              }
5398                            },
5399                            "arguments": [],
5400                            "loc": {
5401                              "start": {
5402                                "line": 91,
5403                                "column": 13
5404                              },
5405                              "end": {
5406                                "line": 91,
5407                                "column": 32
5408                              }
5409                            }
5410                          },
5411                          "loc": {
5412                            "start": {
5413                              "line": 91,
5414                              "column": 9
5415                            },
5416                            "end": {
5417                              "line": 91,
5418                              "column": 32
5419                            }
5420                          }
5421                        }
5422                      ],
5423                      "kind": "let",
5424                      "loc": {
5425                        "start": {
5426                          "line": 91,
5427                          "column": 5
5428                        },
5429                        "end": {
5430                          "line": 91,
5431                          "column": 32
5432                        }
5433                      }
5434                    },
5435                    {
5436                      "type": "ExpressionStatement",
5437                      "expression": {
5438                        "type": "CallExpression",
5439                        "callee": {
5440                          "type": "MemberExpression",
5441                          "object": {
5442                            "type": "Identifier",
5443                            "name": "a",
5444                            "decorators": [],
5445                            "loc": {
5446                              "start": {
5447                                "line": 92,
5448                                "column": 5
5449                              },
5450                              "end": {
5451                                "line": 92,
5452                                "column": 6
5453                              }
5454                            }
5455                          },
5456                          "property": {
5457                            "type": "Identifier",
5458                            "name": "run",
5459                            "decorators": [],
5460                            "loc": {
5461                              "start": {
5462                                "line": 92,
5463                                "column": 7
5464                              },
5465                              "end": {
5466                                "line": 92,
5467                                "column": 10
5468                              }
5469                            }
5470                          },
5471                          "computed": false,
5472                          "optional": false,
5473                          "loc": {
5474                            "start": {
5475                              "line": 92,
5476                              "column": 5
5477                            },
5478                            "end": {
5479                              "line": 92,
5480                              "column": 10
5481                            }
5482                          }
5483                        },
5484                        "arguments": [],
5485                        "optional": false,
5486                        "loc": {
5487                          "start": {
5488                            "line": 92,
5489                            "column": 5
5490                          },
5491                          "end": {
5492                            "line": 92,
5493                            "column": 12
5494                          }
5495                        }
5496                      },
5497                      "loc": {
5498                        "start": {
5499                          "line": 92,
5500                          "column": 5
5501                        },
5502                        "end": {
5503                          "line": 92,
5504                          "column": 13
5505                        }
5506                      }
5507                    }
5508                  ],
5509                  "loc": {
5510                    "start": {
5511                      "line": 90,
5512                      "column": 23
5513                    },
5514                    "end": {
5515                      "line": 93,
5516                      "column": 2
5517                    }
5518                  }
5519                },
5520                "loc": {
5521                  "start": {
5522                    "line": 90,
5523                    "column": 14
5524                  },
5525                  "end": {
5526                    "line": 93,
5527                    "column": 2
5528                  }
5529                }
5530              },
5531              "loc": {
5532                "start": {
5533                  "line": 90,
5534                  "column": 14
5535                },
5536                "end": {
5537                  "line": 93,
5538                  "column": 2
5539                }
5540              }
5541            },
5542            "overloads": [],
5543            "decorators": [],
5544            "loc": {
5545              "start": {
5546                "line": 90,
5547                "column": 1
5548              },
5549              "end": {
5550                "line": 93,
5551                "column": 2
5552              }
5553            }
5554          }
5555        ],
5556        "loc": {
5557          "start": {
5558            "line": 1,
5559            "column": 1
5560          },
5561          "end": {
5562            "line": 1,
5563            "column": 1
5564          }
5565        }
5566      },
5567      "loc": {
5568        "start": {
5569          "line": 1,
5570          "column": 1
5571        },
5572        "end": {
5573          "line": 1,
5574          "column": 1
5575        }
5576      }
5577    }
5578  ],
5579  "loc": {
5580    "start": {
5581      "line": 1,
5582      "column": 1
5583    },
5584    "end": {
5585      "line": 94,
5586      "column": 1
5587    }
5588  }
5589}
5590