1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "ClassDeclaration",
6      "definition": {
7        "id": {
8          "type": "Identifier",
9          "name": "ETSGLOBAL",
10          "decorators": [],
11          "loc": {
12            "start": {
13              "line": 1,
14              "column": 1
15            },
16            "end": {
17              "line": 1,
18              "column": 1
19            }
20          }
21        },
22        "superClass": null,
23        "implements": [],
24        "body": [
25          {
26            "type": "MethodDefinition",
27            "key": {
28              "type": "Identifier",
29              "name": "_$init$_",
30              "decorators": [],
31              "loc": {
32                "start": {
33                  "line": 1,
34                  "column": 1
35                },
36                "end": {
37                  "line": 1,
38                  "column": 1
39                }
40              }
41            },
42            "kind": "method",
43            "accessibility": "public",
44            "static": true,
45            "optional": false,
46            "computed": false,
47            "value": {
48              "type": "FunctionExpression",
49              "function": {
50                "type": "ScriptFunction",
51                "id": {
52                  "type": "Identifier",
53                  "name": "_$init$_",
54                  "decorators": [],
55                  "loc": {
56                    "start": {
57                      "line": 1,
58                      "column": 1
59                    },
60                    "end": {
61                      "line": 1,
62                      "column": 1
63                    }
64                  }
65                },
66                "generator": false,
67                "async": false,
68                "expression": false,
69                "params": [],
70                "body": {
71                  "type": "BlockStatement",
72                  "statements": [],
73                  "loc": {
74                    "start": {
75                      "line": 1,
76                      "column": 1
77                    },
78                    "end": {
79                      "line": 1,
80                      "column": 1
81                    }
82                  }
83                },
84                "loc": {
85                  "start": {
86                    "line": 1,
87                    "column": 1
88                  },
89                  "end": {
90                    "line": 1,
91                    "column": 1
92                  }
93                }
94              },
95              "loc": {
96                "start": {
97                  "line": 1,
98                  "column": 1
99                },
100                "end": {
101                  "line": 1,
102                  "column": 1
103                }
104              }
105            },
106            "overloads": [],
107            "decorators": [],
108            "loc": {
109              "start": {
110                "line": 1,
111                "column": 1
112              },
113              "end": {
114                "line": 1,
115                "column": 1
116              }
117            }
118          },
119          {
120            "type": "MethodDefinition",
121            "key": {
122              "type": "Identifier",
123              "name": "main",
124              "decorators": [],
125              "loc": {
126                "start": {
127                  "line": 16,
128                  "column": 10
129                },
130                "end": {
131                  "line": 16,
132                  "column": 14
133                }
134              }
135            },
136            "kind": "method",
137            "accessibility": "public",
138            "static": true,
139            "optional": false,
140            "computed": false,
141            "value": {
142              "type": "FunctionExpression",
143              "function": {
144                "type": "ScriptFunction",
145                "id": {
146                  "type": "Identifier",
147                  "name": "main",
148                  "decorators": [],
149                  "loc": {
150                    "start": {
151                      "line": 16,
152                      "column": 10
153                    },
154                    "end": {
155                      "line": 16,
156                      "column": 14
157                    }
158                  }
159                },
160                "generator": false,
161                "async": false,
162                "expression": false,
163                "params": [],
164                "returnType": {
165                  "type": "ETSPrimitiveType",
166                  "loc": {
167                    "start": {
168                      "line": 16,
169                      "column": 18
170                    },
171                    "end": {
172                      "line": 16,
173                      "column": 21
174                    }
175                  }
176                },
177                "body": {
178                  "type": "BlockStatement",
179                  "statements": [
180                    {
181                      "type": "VariableDeclaration",
182                      "declarations": [
183                        {
184                          "type": "VariableDeclarator",
185                          "id": {
186                            "type": "Identifier",
187                            "name": "src14",
188                            "typeAnnotation": {
189                              "type": "TSArrayType",
190                              "elementType": {
191                                "type": "ETSFunctionType",
192                                "params": [
193                                  {
194                                    "type": "ETSParameterExpression",
195                                    "name": {
196                                      "type": "Identifier",
197                                      "name": "x",
198                                      "typeAnnotation": {
199                                        "type": "ETSTypeReference",
200                                        "part": {
201                                          "type": "ETSTypeReferencePart",
202                                          "name": {
203                                            "type": "Identifier",
204                                            "name": "Char",
205                                            "decorators": [],
206                                            "loc": {
207                                              "start": {
208                                                "line": 17,
209                                                "column": 19
210                                              },
211                                              "end": {
212                                                "line": 17,
213                                                "column": 23
214                                              }
215                                            }
216                                          },
217                                          "loc": {
218                                            "start": {
219                                              "line": 17,
220                                              "column": 19
221                                            },
222                                            "end": {
223                                              "line": 17,
224                                              "column": 24
225                                            }
226                                          }
227                                        },
228                                        "loc": {
229                                          "start": {
230                                            "line": 17,
231                                            "column": 19
232                                          },
233                                          "end": {
234                                            "line": 17,
235                                            "column": 24
236                                          }
237                                        }
238                                      },
239                                      "decorators": [],
240                                      "loc": {
241                                        "start": {
242                                          "line": 17,
243                                          "column": 16
244                                        },
245                                        "end": {
246                                          "line": 17,
247                                          "column": 24
248                                        }
249                                      }
250                                    },
251                                    "loc": {
252                                      "start": {
253                                        "line": 17,
254                                        "column": 16
255                                      },
256                                      "end": {
257                                        "line": 17,
258                                        "column": 24
259                                      }
260                                    }
261                                  }
262                                ],
263                                "returnType": {
264                                  "type": "ETSPrimitiveType",
265                                  "loc": {
266                                    "start": {
267                                      "line": 17,
268                                      "column": 28
269                                    },
270                                    "end": {
271                                      "line": 17,
272                                      "column": 32
273                                    }
274                                  }
275                                },
276                                "loc": {
277                                  "start": {
278                                    "line": 17,
279                                    "column": 14
280                                  },
281                                  "end": {
282                                    "line": 17,
283                                    "column": 32
284                                  }
285                                }
286                              },
287                              "loc": {
288                                "start": {
289                                  "line": 17,
290                                  "column": 36
291                                },
292                                "end": {
293                                  "line": 17,
294                                  "column": 37
295                                }
296                              }
297                            },
298                            "decorators": [],
299                            "loc": {
300                              "start": {
301                                "line": 17,
302                                "column": 7
303                              },
304                              "end": {
305                                "line": 17,
306                                "column": 12
307                              }
308                            }
309                          },
310                          "init": {
311                            "type": "ArrayExpression",
312                            "elements": [
313                              {
314                                "type": "ArrowFunctionExpression",
315                                "function": {
316                                  "type": "ScriptFunction",
317                                  "id": null,
318                                  "generator": false,
319                                  "async": false,
320                                  "expression": false,
321                                  "params": [
322                                    {
323                                      "type": "ETSParameterExpression",
324                                      "name": {
325                                        "type": "Identifier",
326                                        "name": "p",
327                                        "typeAnnotation": {
328                                          "type": "ETSTypeReference",
329                                          "part": {
330                                            "type": "ETSTypeReferencePart",
331                                            "name": {
332                                              "type": "Identifier",
333                                              "name": "Char",
334                                              "decorators": [],
335                                              "loc": {
336                                                "start": {
337                                                  "line": 17,
338                                                  "column": 43
339                                                },
340                                                "end": {
341                                                  "line": 17,
342                                                  "column": 47
343                                                }
344                                              }
345                                            },
346                                            "loc": {
347                                              "start": {
348                                                "line": 17,
349                                                "column": 43
350                                              },
351                                              "end": {
352                                                "line": 17,
353                                                "column": 48
354                                              }
355                                            }
356                                          },
357                                          "loc": {
358                                            "start": {
359                                              "line": 17,
360                                              "column": 43
361                                            },
362                                            "end": {
363                                              "line": 17,
364                                              "column": 48
365                                            }
366                                          }
367                                        },
368                                        "decorators": [],
369                                        "loc": {
370                                          "start": {
371                                            "line": 17,
372                                            "column": 40
373                                          },
374                                          "end": {
375                                            "line": 17,
376                                            "column": 48
377                                          }
378                                        }
379                                      },
380                                      "loc": {
381                                        "start": {
382                                          "line": 17,
383                                          "column": 40
384                                        },
385                                        "end": {
386                                          "line": 17,
387                                          "column": 48
388                                        }
389                                      }
390                                    }
391                                  ],
392                                  "returnType": {
393                                    "type": "ETSPrimitiveType",
394                                    "loc": {
395                                      "start": {
396                                        "line": 17,
397                                        "column": 50
398                                      },
399                                      "end": {
400                                        "line": 17,
401                                        "column": 54
402                                      }
403                                    }
404                                  },
405                                  "body": {
406                                    "type": "BlockStatement",
407                                    "statements": [
408                                      {
409                                        "type": "ReturnStatement",
410                                        "argument": {
411                                          "type": "CallExpression",
412                                          "callee": {
413                                            "type": "MemberExpression",
414                                            "object": {
415                                              "type": "Identifier",
416                                              "name": "p",
417                                              "decorators": [],
418                                              "loc": {
419                                                "start": {
420                                                  "line": 17,
421                                                  "column": 67
422                                                },
423                                                "end": {
424                                                  "line": 17,
425                                                  "column": 68
426                                                }
427                                              }
428                                            },
429                                            "property": {
430                                              "type": "Identifier",
431                                              "name": "unboxed",
432                                              "decorators": [],
433                                              "loc": {
434                                                "start": {
435                                                  "line": 17,
436                                                  "column": 69
437                                                },
438                                                "end": {
439                                                  "line": 17,
440                                                  "column": 76
441                                                }
442                                              }
443                                            },
444                                            "computed": false,
445                                            "optional": false,
446                                            "loc": {
447                                              "start": {
448                                                "line": 17,
449                                                "column": 67
450                                              },
451                                              "end": {
452                                                "line": 17,
453                                                "column": 76
454                                              }
455                                            }
456                                          },
457                                          "arguments": [],
458                                          "optional": false,
459                                          "loc": {
460                                            "start": {
461                                              "line": 17,
462                                              "column": 67
463                                            },
464                                            "end": {
465                                              "line": 17,
466                                              "column": 78
467                                            }
468                                          }
469                                        },
470                                        "loc": {
471                                          "start": {
472                                            "line": 17,
473                                            "column": 60
474                                          },
475                                          "end": {
476                                            "line": 17,
477                                            "column": 79
478                                          }
479                                        }
480                                      }
481                                    ],
482                                    "loc": {
483                                      "start": {
484                                        "line": 17,
485                                        "column": 58
486                                      },
487                                      "end": {
488                                        "line": 17,
489                                        "column": 81
490                                      }
491                                    }
492                                  },
493                                  "loc": {
494                                    "start": {
495                                      "line": 17,
496                                      "column": 39
497                                    },
498                                    "end": {
499                                      "line": 17,
500                                      "column": 81
501                                    }
502                                  }
503                                },
504                                "loc": {
505                                  "start": {
506                                    "line": 17,
507                                    "column": 39
508                                  },
509                                  "end": {
510                                    "line": 17,
511                                    "column": 81
512                                  }
513                                }
514                              }
515                            ],
516                            "loc": {
517                              "start": {
518                                "line": 17,
519                                "column": 38
520                              },
521                              "end": {
522                                "line": 17,
523                                "column": 82
524                              }
525                            }
526                          },
527                          "loc": {
528                            "start": {
529                              "line": 17,
530                              "column": 7
531                            },
532                            "end": {
533                              "line": 17,
534                              "column": 82
535                            }
536                          }
537                        }
538                      ],
539                      "kind": "let",
540                      "loc": {
541                        "start": {
542                          "line": 17,
543                          "column": 3
544                        },
545                        "end": {
546                          "line": 17,
547                          "column": 83
548                        }
549                      }
550                    },
551                    {
552                      "type": "ReturnStatement",
553                      "argument": {
554                        "type": "NumberLiteral",
555                        "value": 0,
556                        "loc": {
557                          "start": {
558                            "line": 18,
559                            "column": 10
560                          },
561                          "end": {
562                            "line": 18,
563                            "column": 11
564                          }
565                        }
566                      },
567                      "loc": {
568                        "start": {
569                          "line": 18,
570                          "column": 3
571                        },
572                        "end": {
573                          "line": 18,
574                          "column": 12
575                        }
576                      }
577                    }
578                  ],
579                  "loc": {
580                    "start": {
581                      "line": 16,
582                      "column": 22
583                    },
584                    "end": {
585                      "line": 19,
586                      "column": 2
587                    }
588                  }
589                },
590                "loc": {
591                  "start": {
592                    "line": 16,
593                    "column": 14
594                  },
595                  "end": {
596                    "line": 19,
597                    "column": 2
598                  }
599                }
600              },
601              "loc": {
602                "start": {
603                  "line": 16,
604                  "column": 14
605                },
606                "end": {
607                  "line": 19,
608                  "column": 2
609                }
610              }
611            },
612            "overloads": [],
613            "decorators": [],
614            "loc": {
615              "start": {
616                "line": 16,
617                "column": 1
618              },
619              "end": {
620                "line": 19,
621                "column": 2
622              }
623            }
624          }
625        ],
626        "loc": {
627          "start": {
628            "line": 1,
629            "column": 1
630          },
631          "end": {
632            "line": 1,
633            "column": 1
634          }
635        }
636      },
637      "loc": {
638        "start": {
639          "line": 1,
640          "column": 1
641        },
642        "end": {
643          "line": 1,
644          "column": 1
645        }
646      }
647    }
648  ],
649  "loc": {
650    "start": {
651      "line": 1,
652      "column": 1
653    },
654    "end": {
655      "line": 20,
656      "column": 1
657    }
658  }
659}
660