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                    {
74                      "type": "ExpressionStatement",
75                      "expression": {
76                        "type": "AssignmentExpression",
77                        "operator": "=",
78                        "left": {
79                          "type": "Identifier",
80                          "name": "a",
81                          "decorators": [],
82                          "loc": {
83                            "start": {
84                              "line": 16,
85                              "column": 5
86                            },
87                            "end": {
88                              "line": 16,
89                              "column": 6
90                            }
91                          }
92                        },
93                        "right": {
94                          "type": "NullLiteral",
95                          "value": null,
96                          "loc": {
97                            "start": {
98                              "line": 16,
99                              "column": 23
100                            },
101                            "end": {
102                              "line": 16,
103                              "column": 27
104                            }
105                          }
106                        },
107                        "loc": {
108                          "start": {
109                            "line": 16,
110                            "column": 5
111                          },
112                          "end": {
113                            "line": 16,
114                            "column": 27
115                          }
116                        }
117                      },
118                      "loc": {
119                        "start": {
120                          "line": 16,
121                          "column": 5
122                        },
123                        "end": {
124                          "line": 16,
125                          "column": 27
126                        }
127                      }
128                    },
129                    {
130                      "type": "ExpressionStatement",
131                      "expression": {
132                        "type": "AssignmentExpression",
133                        "operator": "=",
134                        "left": {
135                          "type": "Identifier",
136                          "name": "b",
137                          "decorators": [],
138                          "loc": {
139                            "start": {
140                              "line": 17,
141                              "column": 5
142                            },
143                            "end": {
144                              "line": 17,
145                              "column": 6
146                            }
147                          }
148                        },
149                        "right": {
150                          "type": "NullLiteral",
151                          "value": null,
152                          "loc": {
153                            "start": {
154                              "line": 17,
155                              "column": 26
156                            },
157                            "end": {
158                              "line": 17,
159                              "column": 30
160                            }
161                          }
162                        },
163                        "loc": {
164                          "start": {
165                            "line": 17,
166                            "column": 5
167                          },
168                          "end": {
169                            "line": 17,
170                            "column": 30
171                          }
172                        }
173                      },
174                      "loc": {
175                        "start": {
176                          "line": 17,
177                          "column": 5
178                        },
179                        "end": {
180                          "line": 17,
181                          "column": 30
182                        }
183                      }
184                    },
185                    {
186                      "type": "ExpressionStatement",
187                      "expression": {
188                        "type": "AssignmentExpression",
189                        "operator": "=",
190                        "left": {
191                          "type": "Identifier",
192                          "name": "k",
193                          "decorators": [],
194                          "loc": {
195                            "start": {
196                              "line": 18,
197                              "column": 5
198                            },
199                            "end": {
200                              "line": 18,
201                              "column": 6
202                            }
203                          }
204                        },
205                        "right": {
206                          "type": "NullLiteral",
207                          "value": null,
208                          "loc": {
209                            "start": {
210                              "line": 18,
211                              "column": 26
212                            },
213                            "end": {
214                              "line": 18,
215                              "column": 30
216                            }
217                          }
218                        },
219                        "loc": {
220                          "start": {
221                            "line": 18,
222                            "column": 5
223                          },
224                          "end": {
225                            "line": 18,
226                            "column": 30
227                          }
228                        }
229                      },
230                      "loc": {
231                        "start": {
232                          "line": 18,
233                          "column": 5
234                        },
235                        "end": {
236                          "line": 18,
237                          "column": 30
238                        }
239                      }
240                    }
241                  ],
242                  "loc": {
243                    "start": {
244                      "line": 1,
245                      "column": 1
246                    },
247                    "end": {
248                      "line": 1,
249                      "column": 1
250                    }
251                  }
252                },
253                "loc": {
254                  "start": {
255                    "line": 1,
256                    "column": 1
257                  },
258                  "end": {
259                    "line": 1,
260                    "column": 1
261                  }
262                }
263              },
264              "loc": {
265                "start": {
266                  "line": 1,
267                  "column": 1
268                },
269                "end": {
270                  "line": 1,
271                  "column": 1
272                }
273              }
274            },
275            "overloads": [],
276            "decorators": [],
277            "loc": {
278              "start": {
279                "line": 1,
280                "column": 1
281              },
282              "end": {
283                "line": 1,
284                "column": 1
285              }
286            }
287          },
288          {
289            "type": "ClassProperty",
290            "key": {
291              "type": "Identifier",
292              "name": "a",
293              "decorators": [],
294              "loc": {
295                "start": {
296                  "line": 16,
297                  "column": 5
298                },
299                "end": {
300                  "line": 16,
301                  "column": 6
302                }
303              }
304            },
305            "accessibility": "public",
306            "static": true,
307            "readonly": false,
308            "declare": false,
309            "optional": false,
310            "computed": false,
311            "typeAnnotation": {
312              "type": "ETSUnionType",
313              "types": [
314                {
315                  "type": "TSArrayType",
316                  "elementType": {
317                    "type": "ETSPrimitiveType",
318                    "loc": {
319                      "start": {
320                        "line": 16,
321                        "column": 8
322                      },
323                      "end": {
324                        "line": 16,
325                        "column": 11
326                      }
327                    }
328                  },
329                  "loc": {
330                    "start": {
331                      "line": 16,
332                      "column": 14
333                    },
334                    "end": {
335                      "line": 16,
336                      "column": 15
337                    }
338                  }
339                },
340                {
341                  "type": "ETSNullType",
342                  "loc": {
343                    "start": {
344                      "line": 16,
345                      "column": 16
346                    },
347                    "end": {
348                      "line": 16,
349                      "column": 20
350                    }
351                  }
352                }
353              ],
354              "loc": {
355                "start": {
356                  "line": 16,
357                  "column": 14
358                },
359                "end": {
360                  "line": 16,
361                  "column": 20
362                }
363              }
364            },
365            "definite": false,
366            "decorators": [],
367            "loc": {
368              "start": {
369                "line": 16,
370                "column": 5
371              },
372              "end": {
373                "line": 16,
374                "column": 27
375              }
376            }
377          },
378          {
379            "type": "ClassProperty",
380            "key": {
381              "type": "Identifier",
382              "name": "b",
383              "decorators": [],
384              "loc": {
385                "start": {
386                  "line": 17,
387                  "column": 5
388                },
389                "end": {
390                  "line": 17,
391                  "column": 6
392                }
393              }
394            },
395            "accessibility": "public",
396            "static": true,
397            "readonly": false,
398            "declare": false,
399            "optional": false,
400            "computed": false,
401            "typeAnnotation": {
402              "type": "ETSUnionType",
403              "types": [
404                {
405                  "type": "TSArrayType",
406                  "elementType": {
407                    "type": "ETSPrimitiveType",
408                    "loc": {
409                      "start": {
410                        "line": 17,
411                        "column": 8
412                      },
413                      "end": {
414                        "line": 17,
415                        "column": 14
416                      }
417                    }
418                  },
419                  "loc": {
420                    "start": {
421                      "line": 17,
422                      "column": 17
423                    },
424                    "end": {
425                      "line": 17,
426                      "column": 18
427                    }
428                  }
429                },
430                {
431                  "type": "ETSNullType",
432                  "loc": {
433                    "start": {
434                      "line": 17,
435                      "column": 19
436                    },
437                    "end": {
438                      "line": 17,
439                      "column": 23
440                    }
441                  }
442                }
443              ],
444              "loc": {
445                "start": {
446                  "line": 17,
447                  "column": 17
448                },
449                "end": {
450                  "line": 17,
451                  "column": 23
452                }
453              }
454            },
455            "definite": false,
456            "decorators": [],
457            "loc": {
458              "start": {
459                "line": 17,
460                "column": 5
461              },
462              "end": {
463                "line": 17,
464                "column": 30
465              }
466            }
467          },
468          {
469            "type": "ClassProperty",
470            "key": {
471              "type": "Identifier",
472              "name": "k",
473              "decorators": [],
474              "loc": {
475                "start": {
476                  "line": 18,
477                  "column": 5
478                },
479                "end": {
480                  "line": 18,
481                  "column": 6
482                }
483              }
484            },
485            "accessibility": "public",
486            "static": true,
487            "readonly": false,
488            "declare": false,
489            "optional": false,
490            "computed": false,
491            "typeAnnotation": {
492              "type": "ETSUnionType",
493              "types": [
494                {
495                  "type": "TSArrayType",
496                  "elementType": {
497                    "type": "ETSTypeReference",
498                    "part": {
499                      "type": "ETSTypeReferencePart",
500                      "name": {
501                        "type": "Identifier",
502                        "name": "Double",
503                        "decorators": [],
504                        "loc": {
505                          "start": {
506                            "line": 18,
507                            "column": 8
508                          },
509                          "end": {
510                            "line": 18,
511                            "column": 14
512                          }
513                        }
514                      },
515                      "loc": {
516                        "start": {
517                          "line": 18,
518                          "column": 8
519                        },
520                        "end": {
521                          "line": 18,
522                          "column": 15
523                        }
524                      }
525                    },
526                    "loc": {
527                      "start": {
528                        "line": 18,
529                        "column": 8
530                      },
531                      "end": {
532                        "line": 18,
533                        "column": 15
534                      }
535                    }
536                  },
537                  "loc": {
538                    "start": {
539                      "line": 18,
540                      "column": 17
541                    },
542                    "end": {
543                      "line": 18,
544                      "column": 18
545                    }
546                  }
547                },
548                {
549                  "type": "ETSNullType",
550                  "loc": {
551                    "start": {
552                      "line": 18,
553                      "column": 19
554                    },
555                    "end": {
556                      "line": 18,
557                      "column": 23
558                    }
559                  }
560                }
561              ],
562              "loc": {
563                "start": {
564                  "line": 18,
565                  "column": 17
566                },
567                "end": {
568                  "line": 18,
569                  "column": 23
570                }
571              }
572            },
573            "definite": false,
574            "decorators": [],
575            "loc": {
576              "start": {
577                "line": 18,
578                "column": 5
579              },
580              "end": {
581                "line": 18,
582                "column": 30
583              }
584            }
585          },
586          {
587            "type": "MethodDefinition",
588            "key": {
589              "type": "Identifier",
590              "name": "main",
591              "decorators": [],
592              "loc": {
593                "start": {
594                  "line": 20,
595                  "column": 10
596                },
597                "end": {
598                  "line": 20,
599                  "column": 14
600                }
601              }
602            },
603            "kind": "method",
604            "accessibility": "public",
605            "static": true,
606            "optional": false,
607            "computed": false,
608            "value": {
609              "type": "FunctionExpression",
610              "function": {
611                "type": "ScriptFunction",
612                "id": {
613                  "type": "Identifier",
614                  "name": "main",
615                  "decorators": [],
616                  "loc": {
617                    "start": {
618                      "line": 20,
619                      "column": 10
620                    },
621                    "end": {
622                      "line": 20,
623                      "column": 14
624                    }
625                  }
626                },
627                "generator": false,
628                "async": false,
629                "expression": false,
630                "params": [],
631                "returnType": {
632                  "type": "ETSPrimitiveType",
633                  "loc": {
634                    "start": {
635                      "line": 20,
636                      "column": 18
637                    },
638                    "end": {
639                      "line": 20,
640                      "column": 22
641                    }
642                  }
643                },
644                "body": {
645                  "type": "BlockStatement",
646                  "statements": [
647                    {
648                      "type": "VariableDeclaration",
649                      "declarations": [
650                        {
651                          "type": "VariableDeclarator",
652                          "id": {
653                            "type": "Identifier",
654                            "name": "c",
655                            "typeAnnotation": {
656                              "type": "ETSUnionType",
657                              "types": [
658                                {
659                                  "type": "TSArrayType",
660                                  "elementType": {
661                                    "type": "ETSPrimitiveType",
662                                    "loc": {
663                                      "start": {
664                                        "line": 21,
665                                        "column": 14
666                                      },
667                                      "end": {
668                                        "line": 21,
669                                        "column": 19
670                                      }
671                                    }
672                                  },
673                                  "loc": {
674                                    "start": {
675                                      "line": 21,
676                                      "column": 22
677                                    },
678                                    "end": {
679                                      "line": 21,
680                                      "column": 23
681                                    }
682                                  }
683                                },
684                                {
685                                  "type": "ETSNullType",
686                                  "loc": {
687                                    "start": {
688                                      "line": 21,
689                                      "column": 24
690                                    },
691                                    "end": {
692                                      "line": 21,
693                                      "column": 28
694                                    }
695                                  }
696                                }
697                              ],
698                              "loc": {
699                                "start": {
700                                  "line": 21,
701                                  "column": 22
702                                },
703                                "end": {
704                                  "line": 21,
705                                  "column": 28
706                                }
707                              }
708                            },
709                            "decorators": [],
710                            "loc": {
711                              "start": {
712                                "line": 21,
713                                "column": 11
714                              },
715                              "end": {
716                                "line": 21,
717                                "column": 12
718                              }
719                            }
720                          },
721                          "init": {
722                            "type": "NullLiteral",
723                            "value": null,
724                            "loc": {
725                              "start": {
726                                "line": 21,
727                                "column": 31
728                              },
729                              "end": {
730                                "line": 21,
731                                "column": 35
732                              }
733                            }
734                          },
735                          "loc": {
736                            "start": {
737                              "line": 21,
738                              "column": 11
739                            },
740                            "end": {
741                              "line": 21,
742                              "column": 35
743                            }
744                          }
745                        }
746                      ],
747                      "kind": "const",
748                      "loc": {
749                        "start": {
750                          "line": 21,
751                          "column": 5
752                        },
753                        "end": {
754                          "line": 21,
755                          "column": 36
756                        }
757                      }
758                    },
759                    {
760                      "type": "VariableDeclaration",
761                      "declarations": [
762                        {
763                          "type": "VariableDeclarator",
764                          "id": {
765                            "type": "Identifier",
766                            "name": "d",
767                            "typeAnnotation": {
768                              "type": "ETSUnionType",
769                              "types": [
770                                {
771                                  "type": "TSArrayType",
772                                  "elementType": {
773                                    "type": "ETSPrimitiveType",
774                                    "loc": {
775                                      "start": {
776                                        "line": 22,
777                                        "column": 12
778                                      },
779                                      "end": {
780                                        "line": 22,
781                                        "column": 16
782                                      }
783                                    }
784                                  },
785                                  "loc": {
786                                    "start": {
787                                      "line": 22,
788                                      "column": 19
789                                    },
790                                    "end": {
791                                      "line": 22,
792                                      "column": 20
793                                    }
794                                  }
795                                },
796                                {
797                                  "type": "ETSNullType",
798                                  "loc": {
799                                    "start": {
800                                      "line": 22,
801                                      "column": 21
802                                    },
803                                    "end": {
804                                      "line": 22,
805                                      "column": 25
806                                    }
807                                  }
808                                }
809                              ],
810                              "loc": {
811                                "start": {
812                                  "line": 22,
813                                  "column": 19
814                                },
815                                "end": {
816                                  "line": 22,
817                                  "column": 25
818                                }
819                              }
820                            },
821                            "decorators": [],
822                            "loc": {
823                              "start": {
824                                "line": 22,
825                                "column": 9
826                              },
827                              "end": {
828                                "line": 22,
829                                "column": 10
830                              }
831                            }
832                          },
833                          "init": {
834                            "type": "NullLiteral",
835                            "value": null,
836                            "loc": {
837                              "start": {
838                                "line": 22,
839                                "column": 28
840                              },
841                              "end": {
842                                "line": 22,
843                                "column": 32
844                              }
845                            }
846                          },
847                          "loc": {
848                            "start": {
849                              "line": 22,
850                              "column": 9
851                            },
852                            "end": {
853                              "line": 22,
854                              "column": 32
855                            }
856                          }
857                        }
858                      ],
859                      "kind": "let",
860                      "loc": {
861                        "start": {
862                          "line": 22,
863                          "column": 5
864                        },
865                        "end": {
866                          "line": 22,
867                          "column": 33
868                        }
869                      }
870                    }
871                  ],
872                  "loc": {
873                    "start": {
874                      "line": 20,
875                      "column": 23
876                    },
877                    "end": {
878                      "line": 23,
879                      "column": 2
880                    }
881                  }
882                },
883                "loc": {
884                  "start": {
885                    "line": 20,
886                    "column": 14
887                  },
888                  "end": {
889                    "line": 23,
890                    "column": 2
891                  }
892                }
893              },
894              "loc": {
895                "start": {
896                  "line": 20,
897                  "column": 14
898                },
899                "end": {
900                  "line": 23,
901                  "column": 2
902                }
903              }
904            },
905            "overloads": [],
906            "decorators": [],
907            "loc": {
908              "start": {
909                "line": 20,
910                "column": 1
911              },
912              "end": {
913                "line": 23,
914                "column": 2
915              }
916            }
917          }
918        ],
919        "loc": {
920          "start": {
921            "line": 1,
922            "column": 1
923          },
924          "end": {
925            "line": 1,
926            "column": 1
927          }
928        }
929      },
930      "loc": {
931        "start": {
932          "line": 1,
933          "column": 1
934        },
935        "end": {
936          "line": 1,
937          "column": 1
938        }
939      }
940    }
941  ],
942  "loc": {
943    "start": {
944      "line": 1,
945      "column": 1
946    },
947    "end": {
948      "line": 24,
949      "column": 1
950    }
951  }
952}
953