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