1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSTypeAliasDeclaration",
6      "id": {
7        "type": "Identifier",
8        "name": "A",
9        "decorators": [],
10        "loc": {
11          "start": {
12            "line": 17,
13            "column": 6
14          },
15          "end": {
16            "line": 17,
17            "column": 7
18          }
19        }
20      },
21      "typeAnnotation": {
22        "type": "TSStringKeyword",
23        "loc": {
24          "start": {
25            "line": 17,
26            "column": 10
27          },
28          "end": {
29            "line": 17,
30            "column": 16
31          }
32        }
33      },
34      "loc": {
35        "start": {
36          "line": 17,
37          "column": 1
38        },
39        "end": {
40          "line": 17,
41          "column": 17
42        }
43      }
44    },
45    {
46      "type": "EmptyStatement",
47      "loc": {
48        "start": {
49          "line": 17,
50          "column": 16
51        },
52        "end": {
53          "line": 17,
54          "column": 17
55        }
56      }
57    },
58    {
59      "type": "TSTypeAliasDeclaration",
60      "id": {
61        "type": "Identifier",
62        "name": "B",
63        "decorators": [],
64        "loc": {
65          "start": {
66            "line": 18,
67            "column": 6
68          },
69          "end": {
70            "line": 18,
71            "column": 7
72          }
73        }
74      },
75      "typeAnnotation": {
76        "type": "TSStringKeyword",
77        "loc": {
78          "start": {
79            "line": 18,
80            "column": 10
81          },
82          "end": {
83            "line": 18,
84            "column": 16
85          }
86        }
87      },
88      "loc": {
89        "start": {
90          "line": 18,
91          "column": 1
92        },
93        "end": {
94          "line": 18,
95          "column": 17
96        }
97      }
98    },
99    {
100      "type": "EmptyStatement",
101      "loc": {
102        "start": {
103          "line": 18,
104          "column": 16
105        },
106        "end": {
107          "line": 18,
108          "column": 17
109        }
110      }
111    },
112    {
113      "type": "TSTypeAliasDeclaration",
114      "id": {
115        "type": "Identifier",
116        "name": "C",
117        "decorators": [],
118        "loc": {
119          "start": {
120            "line": 19,
121            "column": 6
122          },
123          "end": {
124            "line": 19,
125            "column": 7
126          }
127        }
128      },
129      "typeAnnotation": {
130        "type": "TSStringKeyword",
131        "loc": {
132          "start": {
133            "line": 19,
134            "column": 10
135          },
136          "end": {
137            "line": 19,
138            "column": 16
139          }
140        }
141      },
142      "loc": {
143        "start": {
144          "line": 19,
145          "column": 1
146        },
147        "end": {
148          "line": 19,
149          "column": 17
150        }
151      }
152    },
153    {
154      "type": "EmptyStatement",
155      "loc": {
156        "start": {
157          "line": 19,
158          "column": 16
159        },
160        "end": {
161          "line": 19,
162          "column": 17
163        }
164      }
165    },
166    {
167      "type": "TSTypeAliasDeclaration",
168      "id": {
169        "type": "Identifier",
170        "name": "D",
171        "decorators": [],
172        "loc": {
173          "start": {
174            "line": 20,
175            "column": 6
176          },
177          "end": {
178            "line": 20,
179            "column": 7
180          }
181        }
182      },
183      "typeAnnotation": {
184        "type": "TSStringKeyword",
185        "loc": {
186          "start": {
187            "line": 20,
188            "column": 10
189          },
190          "end": {
191            "line": 20,
192            "column": 16
193          }
194        }
195      },
196      "loc": {
197        "start": {
198          "line": 20,
199          "column": 1
200        },
201        "end": {
202          "line": 20,
203          "column": 17
204        }
205      }
206    },
207    {
208      "type": "EmptyStatement",
209      "loc": {
210        "start": {
211          "line": 20,
212          "column": 16
213        },
214        "end": {
215          "line": 20,
216          "column": 17
217        }
218      }
219    },
220    {
221      "type": "TSTypeAliasDeclaration",
222      "id": {
223        "type": "Identifier",
224        "name": "E",
225        "decorators": [],
226        "loc": {
227          "start": {
228            "line": 21,
229            "column": 6
230          },
231          "end": {
232            "line": 21,
233            "column": 7
234          }
235        }
236      },
237      "typeAnnotation": {
238        "type": "TSStringKeyword",
239        "loc": {
240          "start": {
241            "line": 21,
242            "column": 10
243          },
244          "end": {
245            "line": 21,
246            "column": 16
247          }
248        }
249      },
250      "loc": {
251        "start": {
252          "line": 21,
253          "column": 1
254        },
255        "end": {
256          "line": 21,
257          "column": 17
258        }
259      }
260    },
261    {
262      "type": "EmptyStatement",
263      "loc": {
264        "start": {
265          "line": 21,
266          "column": 16
267        },
268        "end": {
269          "line": 21,
270          "column": 17
271        }
272      }
273    },
274    {
275      "type": "TSTypeAliasDeclaration",
276      "id": {
277        "type": "Identifier",
278        "name": "F",
279        "decorators": [],
280        "loc": {
281          "start": {
282            "line": 22,
283            "column": 6
284          },
285          "end": {
286            "line": 22,
287            "column": 7
288          }
289        }
290      },
291      "typeAnnotation": {
292        "type": "TSStringKeyword",
293        "loc": {
294          "start": {
295            "line": 22,
296            "column": 10
297          },
298          "end": {
299            "line": 22,
300            "column": 16
301          }
302        }
303      },
304      "loc": {
305        "start": {
306          "line": 22,
307          "column": 1
308        },
309        "end": {
310          "line": 22,
311          "column": 17
312        }
313      }
314    },
315    {
316      "type": "EmptyStatement",
317      "loc": {
318        "start": {
319          "line": 22,
320          "column": 16
321        },
322        "end": {
323          "line": 22,
324          "column": 17
325        }
326      }
327    },
328    {
329      "type": "TSTypeAliasDeclaration",
330      "id": {
331        "type": "Identifier",
332        "name": "Type1",
333        "decorators": [],
334        "loc": {
335          "start": {
336            "line": 24,
337            "column": 6
338          },
339          "end": {
340            "line": 24,
341            "column": 11
342          }
343        }
344      },
345      "typeAnnotation": {
346        "type": "TSIntersectionType",
347        "types": [
348          {
349            "type": "TSParenthesizedType",
350            "typeAnnotation": {
351              "type": "TSUnionType",
352              "types": [
353                {
354                  "type": "TSTypeReference",
355                  "typeName": {
356                    "type": "Identifier",
357                    "name": "A",
358                    "decorators": [],
359                    "loc": {
360                      "start": {
361                        "line": 24,
362                        "column": 15
363                      },
364                      "end": {
365                        "line": 24,
366                        "column": 16
367                      }
368                    }
369                  },
370                  "loc": {
371                    "start": {
372                      "line": 24,
373                      "column": 15
374                    },
375                    "end": {
376                      "line": 24,
377                      "column": 16
378                    }
379                  }
380                },
381                {
382                  "type": "TSIntersectionType",
383                  "types": [
384                    {
385                      "type": "TSTypeReference",
386                      "typeName": {
387                        "type": "Identifier",
388                        "name": "B",
389                        "decorators": [],
390                        "loc": {
391                          "start": {
392                            "line": 24,
393                            "column": 21
394                          },
395                          "end": {
396                            "line": 24,
397                            "column": 22
398                          }
399                        }
400                      },
401                      "loc": {
402                        "start": {
403                          "line": 24,
404                          "column": 21
405                        },
406                        "end": {
407                          "line": 24,
408                          "column": 22
409                        }
410                      }
411                    }
412                  ],
413                  "loc": {
414                    "start": {
415                      "line": 24,
416                      "column": 19
417                    },
418                    "end": {
419                      "line": 24,
420                      "column": 22
421                    }
422                  }
423                }
424              ],
425              "loc": {
426                "start": {
427                  "line": 24,
428                  "column": 15
429                },
430                "end": {
431                  "line": 24,
432                  "column": 22
433                }
434              }
435            },
436            "loc": {
437              "start": {
438                "line": 24,
439                "column": 14
440              },
441              "end": {
442                "line": 24,
443                "column": 23
444              }
445            }
446          },
447          {
448            "type": "TSParenthesizedType",
449            "typeAnnotation": {
450              "type": "TSUnionType",
451              "types": [
452                {
453                  "type": "TSIntersectionType",
454                  "types": [
455                    {
456                      "type": "TSTypeReference",
457                      "typeName": {
458                        "type": "Identifier",
459                        "name": "C",
460                        "decorators": [],
461                        "loc": {
462                          "start": {
463                            "line": 24,
464                            "column": 29
465                          },
466                          "end": {
467                            "line": 24,
468                            "column": 30
469                          }
470                        }
471                      },
472                      "loc": {
473                        "start": {
474                          "line": 24,
475                          "column": 29
476                        },
477                        "end": {
478                          "line": 24,
479                          "column": 30
480                        }
481                      }
482                    }
483                  ],
484                  "loc": {
485                    "start": {
486                      "line": 24,
487                      "column": 27
488                    },
489                    "end": {
490                      "line": 24,
491                      "column": 30
492                    }
493                  }
494                },
495                {
496                  "type": "TSTypeReference",
497                  "typeName": {
498                    "type": "Identifier",
499                    "name": "D",
500                    "decorators": [],
501                    "loc": {
502                      "start": {
503                        "line": 24,
504                        "column": 33
505                      },
506                      "end": {
507                        "line": 24,
508                        "column": 34
509                      }
510                    }
511                  },
512                  "loc": {
513                    "start": {
514                      "line": 24,
515                      "column": 33
516                    },
517                    "end": {
518                      "line": 24,
519                      "column": 34
520                    }
521                  }
522                }
523              ],
524              "loc": {
525                "start": {
526                  "line": 24,
527                  "column": 27
528                },
529                "end": {
530                  "line": 24,
531                  "column": 34
532                }
533              }
534            },
535            "loc": {
536              "start": {
537                "line": 24,
538                "column": 26
539              },
540              "end": {
541                "line": 24,
542                "column": 35
543              }
544            }
545          }
546        ],
547        "loc": {
548          "start": {
549            "line": 24,
550            "column": 14
551          },
552          "end": {
553            "line": 24,
554            "column": 35
555          }
556        }
557      },
558      "loc": {
559        "start": {
560          "line": 24,
561          "column": 1
562        },
563        "end": {
564          "line": 24,
565          "column": 36
566        }
567      }
568    },
569    {
570      "type": "EmptyStatement",
571      "loc": {
572        "start": {
573          "line": 24,
574          "column": 35
575        },
576        "end": {
577          "line": 24,
578          "column": 36
579        }
580      }
581    },
582    {
583      "type": "TSTypeAliasDeclaration",
584      "id": {
585        "type": "Identifier",
586        "name": "Type2",
587        "decorators": [],
588        "loc": {
589          "start": {
590            "line": 25,
591            "column": 6
592          },
593          "end": {
594            "line": 25,
595            "column": 11
596          }
597        }
598      },
599      "typeAnnotation": {
600        "type": "TSUnionType",
601        "types": [
602          {
603            "type": "TSIntersectionType",
604            "types": [
605              {
606                "type": "TSTypeReference",
607                "typeName": {
608                  "type": "Identifier",
609                  "name": "A",
610                  "decorators": [],
611                  "loc": {
612                    "start": {
613                      "line": 25,
614                      "column": 14
615                    },
616                    "end": {
617                      "line": 25,
618                      "column": 15
619                    }
620                  }
621                },
622                "loc": {
623                  "start": {
624                    "line": 25,
625                    "column": 14
626                  },
627                  "end": {
628                    "line": 25,
629                    "column": 15
630                  }
631                }
632              },
633              {
634                "type": "TSParenthesizedType",
635                "typeAnnotation": {
636                  "type": "TSUnionType",
637                  "types": [
638                    {
639                      "type": "TSTypeReference",
640                      "typeName": {
641                        "type": "Identifier",
642                        "name": "C",
643                        "decorators": [],
644                        "loc": {
645                          "start": {
646                            "line": 25,
647                            "column": 21
648                          },
649                          "end": {
650                            "line": 25,
651                            "column": 22
652                          }
653                        }
654                      },
655                      "loc": {
656                        "start": {
657                          "line": 25,
658                          "column": 21
659                        },
660                        "end": {
661                          "line": 25,
662                          "column": 22
663                        }
664                      }
665                    },
666                    {
667                      "type": "TSTypeReference",
668                      "typeName": {
669                        "type": "Identifier",
670                        "name": "D",
671                        "decorators": [],
672                        "loc": {
673                          "start": {
674                            "line": 25,
675                            "column": 25
676                          },
677                          "end": {
678                            "line": 25,
679                            "column": 26
680                          }
681                        }
682                      },
683                      "loc": {
684                        "start": {
685                          "line": 25,
686                          "column": 25
687                        },
688                        "end": {
689                          "line": 25,
690                          "column": 26
691                        }
692                      }
693                    }
694                  ],
695                  "loc": {
696                    "start": {
697                      "line": 25,
698                      "column": 19
699                    },
700                    "end": {
701                      "line": 25,
702                      "column": 26
703                    }
704                  }
705                },
706                "loc": {
707                  "start": {
708                    "line": 25,
709                    "column": 18
710                  },
711                  "end": {
712                    "line": 25,
713                    "column": 27
714                  }
715                }
716              }
717            ],
718            "loc": {
719              "start": {
720                "line": 25,
721                "column": 14
722              },
723              "end": {
724                "line": 25,
725                "column": 27
726              }
727            }
728          },
729          {
730            "type": "TSIntersectionType",
731            "types": [
732              {
733                "type": "TSTypeReference",
734                "typeName": {
735                  "type": "Identifier",
736                  "name": "B",
737                  "decorators": [],
738                  "loc": {
739                    "start": {
740                      "line": 25,
741                      "column": 30
742                    },
743                    "end": {
744                      "line": 25,
745                      "column": 31
746                    }
747                  }
748                },
749                "loc": {
750                  "start": {
751                    "line": 25,
752                    "column": 30
753                  },
754                  "end": {
755                    "line": 25,
756                    "column": 31
757                  }
758                }
759              },
760              {
761                "type": "TSParenthesizedType",
762                "typeAnnotation": {
763                  "type": "TSUnionType",
764                  "types": [
765                    {
766                      "type": "TSTypeReference",
767                      "typeName": {
768                        "type": "Identifier",
769                        "name": "C",
770                        "decorators": [],
771                        "loc": {
772                          "start": {
773                            "line": 25,
774                            "column": 35
775                          },
776                          "end": {
777                            "line": 25,
778                            "column": 36
779                          }
780                        }
781                      },
782                      "loc": {
783                        "start": {
784                          "line": 25,
785                          "column": 35
786                        },
787                        "end": {
788                          "line": 25,
789                          "column": 36
790                        }
791                      }
792                    },
793                    {
794                      "type": "TSTypeReference",
795                      "typeName": {
796                        "type": "Identifier",
797                        "name": "D",
798                        "decorators": [],
799                        "loc": {
800                          "start": {
801                            "line": 25,
802                            "column": 39
803                          },
804                          "end": {
805                            "line": 25,
806                            "column": 40
807                          }
808                        }
809                      },
810                      "loc": {
811                        "start": {
812                          "line": 25,
813                          "column": 39
814                        },
815                        "end": {
816                          "line": 25,
817                          "column": 40
818                        }
819                      }
820                    }
821                  ],
822                  "loc": {
823                    "start": {
824                      "line": 25,
825                      "column": 35
826                    },
827                    "end": {
828                      "line": 25,
829                      "column": 40
830                    }
831                  }
832                },
833                "loc": {
834                  "start": {
835                    "line": 25,
836                    "column": 34
837                  },
838                  "end": {
839                    "line": 25,
840                    "column": 41
841                  }
842                }
843              }
844            ],
845            "loc": {
846              "start": {
847                "line": 25,
848                "column": 30
849              },
850              "end": {
851                "line": 25,
852                "column": 41
853              }
854            }
855          }
856        ],
857        "loc": {
858          "start": {
859            "line": 25,
860            "column": 14
861          },
862          "end": {
863            "line": 25,
864            "column": 41
865          }
866        }
867      },
868      "loc": {
869        "start": {
870          "line": 25,
871          "column": 1
872        },
873        "end": {
874          "line": 26,
875          "column": 5
876        }
877      }
878    },
879    {
880      "type": "TSTypeAliasDeclaration",
881      "id": {
882        "type": "Identifier",
883        "name": "Type3",
884        "decorators": [],
885        "loc": {
886          "start": {
887            "line": 26,
888            "column": 6
889          },
890          "end": {
891            "line": 26,
892            "column": 11
893          }
894        }
895      },
896      "typeAnnotation": {
897        "type": "TSUnionType",
898        "types": [
899          {
900            "type": "TSIntersectionType",
901            "types": [
902              {
903                "type": "TSTypeReference",
904                "typeName": {
905                  "type": "Identifier",
906                  "name": "A",
907                  "decorators": [],
908                  "loc": {
909                    "start": {
910                      "line": 26,
911                      "column": 14
912                    },
913                    "end": {
914                      "line": 26,
915                      "column": 15
916                    }
917                  }
918                },
919                "loc": {
920                  "start": {
921                    "line": 26,
922                    "column": 14
923                  },
924                  "end": {
925                    "line": 26,
926                    "column": 15
927                  }
928                }
929              },
930              {
931                "type": "TSTypeReference",
932                "typeName": {
933                  "type": "Identifier",
934                  "name": "C",
935                  "decorators": [],
936                  "loc": {
937                    "start": {
938                      "line": 26,
939                      "column": 18
940                    },
941                    "end": {
942                      "line": 26,
943                      "column": 19
944                    }
945                  }
946                },
947                "loc": {
948                  "start": {
949                    "line": 26,
950                    "column": 18
951                  },
952                  "end": {
953                    "line": 26,
954                    "column": 19
955                  }
956                }
957              }
958            ],
959            "loc": {
960              "start": {
961                "line": 26,
962                "column": 14
963              },
964              "end": {
965                "line": 26,
966                "column": 19
967              }
968            }
969          },
970          {
971            "type": "TSIntersectionType",
972            "types": [
973              {
974                "type": "TSTypeReference",
975                "typeName": {
976                  "type": "Identifier",
977                  "name": "A",
978                  "decorators": [],
979                  "loc": {
980                    "start": {
981                      "line": 26,
982                      "column": 22
983                    },
984                    "end": {
985                      "line": 26,
986                      "column": 23
987                    }
988                  }
989                },
990                "loc": {
991                  "start": {
992                    "line": 26,
993                    "column": 22
994                  },
995                  "end": {
996                    "line": 26,
997                    "column": 23
998                  }
999                }
1000              },
1001              {
1002                "type": "TSTypeReference",
1003                "typeName": {
1004                  "type": "Identifier",
1005                  "name": "D",
1006                  "decorators": [],
1007                  "loc": {
1008                    "start": {
1009                      "line": 26,
1010                      "column": 26
1011                    },
1012                    "end": {
1013                      "line": 26,
1014                      "column": 27
1015                    }
1016                  }
1017                },
1018                "loc": {
1019                  "start": {
1020                    "line": 26,
1021                    "column": 26
1022                  },
1023                  "end": {
1024                    "line": 26,
1025                    "column": 27
1026                  }
1027                }
1028              }
1029            ],
1030            "loc": {
1031              "start": {
1032                "line": 26,
1033                "column": 22
1034              },
1035              "end": {
1036                "line": 26,
1037                "column": 27
1038              }
1039            }
1040          },
1041          {
1042            "type": "TSIntersectionType",
1043            "types": [
1044              {
1045                "type": "TSTypeReference",
1046                "typeName": {
1047                  "type": "Identifier",
1048                  "name": "B",
1049                  "decorators": [],
1050                  "loc": {
1051                    "start": {
1052                      "line": 26,
1053                      "column": 30
1054                    },
1055                    "end": {
1056                      "line": 26,
1057                      "column": 31
1058                    }
1059                  }
1060                },
1061                "loc": {
1062                  "start": {
1063                    "line": 26,
1064                    "column": 30
1065                  },
1066                  "end": {
1067                    "line": 26,
1068                    "column": 31
1069                  }
1070                }
1071              },
1072              {
1073                "type": "TSTypeReference",
1074                "typeName": {
1075                  "type": "Identifier",
1076                  "name": "C",
1077                  "decorators": [],
1078                  "loc": {
1079                    "start": {
1080                      "line": 26,
1081                      "column": 34
1082                    },
1083                    "end": {
1084                      "line": 26,
1085                      "column": 35
1086                    }
1087                  }
1088                },
1089                "loc": {
1090                  "start": {
1091                    "line": 26,
1092                    "column": 34
1093                  },
1094                  "end": {
1095                    "line": 26,
1096                    "column": 35
1097                  }
1098                }
1099              }
1100            ],
1101            "loc": {
1102              "start": {
1103                "line": 26,
1104                "column": 30
1105              },
1106              "end": {
1107                "line": 26,
1108                "column": 35
1109              }
1110            }
1111          },
1112          {
1113            "type": "TSIntersectionType",
1114            "types": [
1115              {
1116                "type": "TSTypeReference",
1117                "typeName": {
1118                  "type": "Identifier",
1119                  "name": "B",
1120                  "decorators": [],
1121                  "loc": {
1122                    "start": {
1123                      "line": 26,
1124                      "column": 38
1125                    },
1126                    "end": {
1127                      "line": 26,
1128                      "column": 39
1129                    }
1130                  }
1131                },
1132                "loc": {
1133                  "start": {
1134                    "line": 26,
1135                    "column": 38
1136                  },
1137                  "end": {
1138                    "line": 26,
1139                    "column": 39
1140                  }
1141                }
1142              },
1143              {
1144                "type": "TSTypeReference",
1145                "typeName": {
1146                  "type": "Identifier",
1147                  "name": "D",
1148                  "decorators": [],
1149                  "loc": {
1150                    "start": {
1151                      "line": 26,
1152                      "column": 42
1153                    },
1154                    "end": {
1155                      "line": 26,
1156                      "column": 43
1157                    }
1158                  }
1159                },
1160                "loc": {
1161                  "start": {
1162                    "line": 26,
1163                    "column": 42
1164                  },
1165                  "end": {
1166                    "line": 26,
1167                    "column": 43
1168                  }
1169                }
1170              }
1171            ],
1172            "loc": {
1173              "start": {
1174                "line": 26,
1175                "column": 38
1176              },
1177              "end": {
1178                "line": 26,
1179                "column": 43
1180              }
1181            }
1182          }
1183        ],
1184        "loc": {
1185          "start": {
1186            "line": 26,
1187            "column": 14
1188          },
1189          "end": {
1190            "line": 26,
1191            "column": 43
1192          }
1193        }
1194      },
1195      "loc": {
1196        "start": {
1197          "line": 26,
1198          "column": 1
1199        },
1200        "end": {
1201          "line": 26,
1202          "column": 44
1203        }
1204      }
1205    },
1206    {
1207      "type": "EmptyStatement",
1208      "loc": {
1209        "start": {
1210          "line": 26,
1211          "column": 43
1212        },
1213        "end": {
1214          "line": 26,
1215          "column": 44
1216        }
1217      }
1218    },
1219    {
1220      "type": "TSTypeAliasDeclaration",
1221      "id": {
1222        "type": "Identifier",
1223        "name": "Type4",
1224        "decorators": [],
1225        "loc": {
1226          "start": {
1227            "line": 27,
1228            "column": 6
1229          },
1230          "end": {
1231            "line": 27,
1232            "column": 11
1233          }
1234        }
1235      },
1236      "typeAnnotation": {
1237        "type": "TSIntersectionType",
1238        "types": [
1239          {
1240            "type": "TSTypeReference",
1241            "typeName": {
1242              "type": "Identifier",
1243              "name": "A",
1244              "decorators": [],
1245              "loc": {
1246                "start": {
1247                  "line": 27,
1248                  "column": 14
1249                },
1250                "end": {
1251                  "line": 27,
1252                  "column": 15
1253                }
1254              }
1255            },
1256            "loc": {
1257              "start": {
1258                "line": 27,
1259                "column": 14
1260              },
1261              "end": {
1262                "line": 27,
1263                "column": 15
1264              }
1265            }
1266          },
1267          {
1268            "type": "TSParenthesizedType",
1269            "typeAnnotation": {
1270              "type": "TSIntersectionType",
1271              "types": [
1272                {
1273                  "type": "TSTypeReference",
1274                  "typeName": {
1275                    "type": "Identifier",
1276                    "name": "B",
1277                    "decorators": [],
1278                    "loc": {
1279                      "start": {
1280                        "line": 27,
1281                        "column": 19
1282                      },
1283                      "end": {
1284                        "line": 27,
1285                        "column": 20
1286                      }
1287                    }
1288                  },
1289                  "loc": {
1290                    "start": {
1291                      "line": 27,
1292                      "column": 19
1293                    },
1294                    "end": {
1295                      "line": 27,
1296                      "column": 20
1297                    }
1298                  }
1299                },
1300                {
1301                  "type": "TSTypeReference",
1302                  "typeName": {
1303                    "type": "Identifier",
1304                    "name": "C",
1305                    "decorators": [],
1306                    "loc": {
1307                      "start": {
1308                        "line": 27,
1309                        "column": 23
1310                      },
1311                      "end": {
1312                        "line": 27,
1313                        "column": 24
1314                      }
1315                    }
1316                  },
1317                  "loc": {
1318                    "start": {
1319                      "line": 27,
1320                      "column": 23
1321                    },
1322                    "end": {
1323                      "line": 27,
1324                      "column": 24
1325                    }
1326                  }
1327                }
1328              ],
1329              "loc": {
1330                "start": {
1331                  "line": 27,
1332                  "column": 19
1333                },
1334                "end": {
1335                  "line": 27,
1336                  "column": 24
1337                }
1338              }
1339            },
1340            "loc": {
1341              "start": {
1342                "line": 27,
1343                "column": 18
1344              },
1345              "end": {
1346                "line": 27,
1347                "column": 25
1348              }
1349            }
1350          },
1351          {
1352            "type": "TSTypeReference",
1353            "typeName": {
1354              "type": "Identifier",
1355              "name": "D",
1356              "decorators": [],
1357              "loc": {
1358                "start": {
1359                  "line": 27,
1360                  "column": 28
1361                },
1362                "end": {
1363                  "line": 27,
1364                  "column": 29
1365                }
1366              }
1367            },
1368            "loc": {
1369              "start": {
1370                "line": 27,
1371                "column": 28
1372              },
1373              "end": {
1374                "line": 27,
1375                "column": 29
1376              }
1377            }
1378          }
1379        ],
1380        "loc": {
1381          "start": {
1382            "line": 27,
1383            "column": 14
1384          },
1385          "end": {
1386            "line": 27,
1387            "column": 29
1388          }
1389        }
1390      },
1391      "loc": {
1392        "start": {
1393          "line": 27,
1394          "column": 1
1395        },
1396        "end": {
1397          "line": 27,
1398          "column": 30
1399        }
1400      }
1401    },
1402    {
1403      "type": "EmptyStatement",
1404      "loc": {
1405        "start": {
1406          "line": 27,
1407          "column": 29
1408        },
1409        "end": {
1410          "line": 27,
1411          "column": 30
1412        }
1413      }
1414    },
1415    {
1416      "type": "TSTypeAliasDeclaration",
1417      "id": {
1418        "type": "Identifier",
1419        "name": "Type5",
1420        "decorators": [],
1421        "loc": {
1422          "start": {
1423            "line": 28,
1424            "column": 6
1425          },
1426          "end": {
1427            "line": 28,
1428            "column": 11
1429          }
1430        }
1431      },
1432      "typeAnnotation": {
1433        "type": "TSUnionType",
1434        "types": [
1435          {
1436            "type": "TSIntersectionType",
1437            "types": [
1438              {
1439                "type": "TSParenthesizedType",
1440                "typeAnnotation": {
1441                  "type": "TSUnionType",
1442                  "types": [
1443                    {
1444                      "type": "TSTypeReference",
1445                      "typeName": {
1446                        "type": "Identifier",
1447                        "name": "A",
1448                        "decorators": [],
1449                        "loc": {
1450                          "start": {
1451                            "line": 28,
1452                            "column": 15
1453                          },
1454                          "end": {
1455                            "line": 28,
1456                            "column": 16
1457                          }
1458                        }
1459                      },
1460                      "loc": {
1461                        "start": {
1462                          "line": 28,
1463                          "column": 15
1464                        },
1465                        "end": {
1466                          "line": 28,
1467                          "column": 16
1468                        }
1469                      }
1470                    },
1471                    {
1472                      "type": "TSIntersectionType",
1473                      "types": [
1474                        {
1475                          "type": "TSParenthesizedType",
1476                          "typeAnnotation": {
1477                            "type": "TSIntersectionType",
1478                            "types": [
1479                              {
1480                                "type": "TSTypeReference",
1481                                "typeName": {
1482                                  "type": "Identifier",
1483                                  "name": "B",
1484                                  "decorators": [],
1485                                  "loc": {
1486                                    "start": {
1487                                      "line": 28,
1488                                      "column": 20
1489                                    },
1490                                    "end": {
1491                                      "line": 28,
1492                                      "column": 21
1493                                    }
1494                                  }
1495                                },
1496                                "loc": {
1497                                  "start": {
1498                                    "line": 28,
1499                                    "column": 20
1500                                  },
1501                                  "end": {
1502                                    "line": 28,
1503                                    "column": 21
1504                                  }
1505                                }
1506                              },
1507                              {
1508                                "type": "TSTypeReference",
1509                                "typeName": {
1510                                  "type": "Identifier",
1511                                  "name": "C",
1512                                  "decorators": [],
1513                                  "loc": {
1514                                    "start": {
1515                                      "line": 28,
1516                                      "column": 24
1517                                    },
1518                                    "end": {
1519                                      "line": 28,
1520                                      "column": 25
1521                                    }
1522                                  }
1523                                },
1524                                "loc": {
1525                                  "start": {
1526                                    "line": 28,
1527                                    "column": 24
1528                                  },
1529                                  "end": {
1530                                    "line": 28,
1531                                    "column": 25
1532                                  }
1533                                }
1534                              }
1535                            ],
1536                            "loc": {
1537                              "start": {
1538                                "line": 28,
1539                                "column": 20
1540                              },
1541                              "end": {
1542                                "line": 28,
1543                                "column": 25
1544                              }
1545                            }
1546                          },
1547                          "loc": {
1548                            "start": {
1549                              "line": 28,
1550                              "column": 19
1551                            },
1552                            "end": {
1553                              "line": 28,
1554                              "column": 26
1555                            }
1556                          }
1557                        },
1558                        {
1559                          "type": "TSTypeReference",
1560                          "typeName": {
1561                            "type": "Identifier",
1562                            "name": "D",
1563                            "decorators": [],
1564                            "loc": {
1565                              "start": {
1566                                "line": 28,
1567                                "column": 29
1568                              },
1569                              "end": {
1570                                "line": 28,
1571                                "column": 30
1572                              }
1573                            }
1574                          },
1575                          "loc": {
1576                            "start": {
1577                              "line": 28,
1578                              "column": 29
1579                            },
1580                            "end": {
1581                              "line": 28,
1582                              "column": 30
1583                            }
1584                          }
1585                        }
1586                      ],
1587                      "loc": {
1588                        "start": {
1589                          "line": 28,
1590                          "column": 19
1591                        },
1592                        "end": {
1593                          "line": 28,
1594                          "column": 30
1595                        }
1596                      }
1597                    }
1598                  ],
1599                  "loc": {
1600                    "start": {
1601                      "line": 28,
1602                      "column": 15
1603                    },
1604                    "end": {
1605                      "line": 28,
1606                      "column": 30
1607                    }
1608                  }
1609                },
1610                "loc": {
1611                  "start": {
1612                    "line": 28,
1613                    "column": 14
1614                  },
1615                  "end": {
1616                    "line": 28,
1617                    "column": 31
1618                  }
1619                }
1620              },
1621              {
1622                "type": "TSTypeReference",
1623                "typeName": {
1624                  "type": "Identifier",
1625                  "name": "E",
1626                  "decorators": [],
1627                  "loc": {
1628                    "start": {
1629                      "line": 28,
1630                      "column": 34
1631                    },
1632                    "end": {
1633                      "line": 28,
1634                      "column": 35
1635                    }
1636                  }
1637                },
1638                "loc": {
1639                  "start": {
1640                    "line": 28,
1641                    "column": 34
1642                  },
1643                  "end": {
1644                    "line": 28,
1645                    "column": 35
1646                  }
1647                }
1648              }
1649            ],
1650            "loc": {
1651              "start": {
1652                "line": 28,
1653                "column": 14
1654              },
1655              "end": {
1656                "line": 28,
1657                "column": 35
1658              }
1659            }
1660          },
1661          {
1662            "type": "TSTypeReference",
1663            "typeName": {
1664              "type": "Identifier",
1665              "name": "F",
1666              "decorators": [],
1667              "loc": {
1668                "start": {
1669                  "line": 28,
1670                  "column": 38
1671                },
1672                "end": {
1673                  "line": 28,
1674                  "column": 39
1675                }
1676              }
1677            },
1678            "loc": {
1679              "start": {
1680                "line": 28,
1681                "column": 38
1682              },
1683              "end": {
1684                "line": 28,
1685                "column": 39
1686              }
1687            }
1688          }
1689        ],
1690        "loc": {
1691          "start": {
1692            "line": 28,
1693            "column": 14
1694          },
1695          "end": {
1696            "line": 28,
1697            "column": 39
1698          }
1699        }
1700      },
1701      "loc": {
1702        "start": {
1703          "line": 28,
1704          "column": 1
1705        },
1706        "end": {
1707          "line": 28,
1708          "column": 40
1709        }
1710      }
1711    },
1712    {
1713      "type": "EmptyStatement",
1714      "loc": {
1715        "start": {
1716          "line": 28,
1717          "column": 39
1718        },
1719        "end": {
1720          "line": 28,
1721          "column": 40
1722        }
1723      }
1724    },
1725    {
1726      "type": "VariableDeclaration",
1727      "declarations": [
1728        {
1729          "type": "VariableDeclarator",
1730          "id": {
1731            "type": "Identifier",
1732            "name": "a",
1733            "typeAnnotation": {
1734              "type": "TSUnionType",
1735              "types": [
1736                {
1737                  "type": "TSIntersectionType",
1738                  "types": [
1739                    {
1740                      "type": "TSStringKeyword",
1741                      "loc": {
1742                        "start": {
1743                          "line": 30,
1744                          "column": 12
1745                        },
1746                        "end": {
1747                          "line": 30,
1748                          "column": 18
1749                        }
1750                      }
1751                    }
1752                  ],
1753                  "loc": {
1754                    "start": {
1755                      "line": 30,
1756                      "column": 10
1757                    },
1758                    "end": {
1759                      "line": 30,
1760                      "column": 18
1761                    }
1762                  }
1763                }
1764              ],
1765              "loc": {
1766                "start": {
1767                  "line": 30,
1768                  "column": 8
1769                },
1770                "end": {
1771                  "line": 30,
1772                  "column": 18
1773                }
1774              }
1775            },
1776            "decorators": [],
1777            "loc": {
1778              "start": {
1779                "line": 30,
1780                "column": 5
1781              },
1782              "end": {
1783                "line": 30,
1784                "column": 6
1785              }
1786            }
1787          },
1788          "init": null,
1789          "loc": {
1790            "start": {
1791              "line": 30,
1792              "column": 5
1793            },
1794            "end": {
1795              "line": 30,
1796              "column": 6
1797            }
1798          }
1799        }
1800      ],
1801      "kind": "var",
1802      "loc": {
1803        "start": {
1804          "line": 30,
1805          "column": 1
1806        },
1807        "end": {
1808          "line": 30,
1809          "column": 19
1810        }
1811      }
1812    }
1813  ],
1814  "loc": {
1815    "start": {
1816      "line": 1,
1817      "column": 1
1818    },
1819    "end": {
1820      "line": 30,
1821      "column": 19
1822    }
1823  }
1824}
1825