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