-
Notifications
You must be signed in to change notification settings - Fork 47
/
test.html
1648 lines (1389 loc) · 170 KB
/
test.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" Content-Type="text/javascript; charset=utf-8" content="initial-scale=1.0, width=device-width, height=device-height, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta charset="UTF-8" />
<script src="https://unpkg.com/vue@3.4.21/dist/vue.global.js"></script>
<scriptvc src="https://unpkg.com/@vue/compat@3.1"></scriptvc>
<script src="https://cdn.jsdelivr.net/npm/alasql@4"> </script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/immer/9.0.21/immer.umd.production.min.js"></script>
<script src="https://www.unpkg.com/esprima@4.0.1/dist/esprima.js"></script>
<script>
(function(b){function a(b,d){if({}.hasOwnProperty.call(a.cache,b))return a.cache[b];var e=a.resolve(b);if(!e)throw new Error('Failed to resolve module '+b);var c={id:b,require:a,filename:b,exports:{},loaded:!1,parent:d,children:[]};d&&d.children.push(c);var f=b.slice(0,b.lastIndexOf('/')+1);return a.cache[b]=c.exports,e.call(c.exports,c,c.exports,f,b),c.loaded=!0,a.cache[b]=c.exports}a.modules={},a.cache={},a.resolve=function(b){return{}.hasOwnProperty.call(a.modules,b)?a.modules[b]:void 0},a.define=function(b,c){a.modules[b]=c};var c=function(a){return a='/',{title:'browser',version:'v10.10.0',browser:!0,env:{},argv:[],nextTick:b.setImmediate||function(a){setTimeout(a,0)},cwd:function(){return a},chdir:function(b){a=b}}}();a.define('/tools/entry-point.js',function(c,d,e,f){!function(){'use strict';b.escodegen=a('/escodegen.js',c),escodegen.browser=!0}()}),a.define('/escodegen.js',function(d,c,e,f){!function(k,e,ae,J,Z,l,n,F,A,Y,ab,S,a9,i,f,X,a6,K,a5,r,W,D,C,y,_,a2,u,E,G,V,O,q,U,P,g,N,a8,T,m,z,M,a4,a3){'use strict';function ao(a){return p.Expression.hasOwnProperty(a.type)}function ad(a){return p.Statement.hasOwnProperty(a.type)}function a1(){return{indent:null,base:null,parse:null,comment:!1,format:{indent:{style:' ',base:0,adjustMultilineComment:!1},newline:'\n',space:' ',json:!1,renumber:!1,hexadecimal:!1,quotes:'single',escapeless:!1,compact:!1,parentheses:!0,semicolons:!0,safeConcatenation:!1,preserveBlankLines:!1},moz:{comprehensionExpressionStartsWithAssignment:!1,starlessGenerator:!1},sourceMap:null,sourceMapRoot:null,sourceMapWithCode:!1,directive:!1,raw:!0,verbatim:null,sourceCode:null}}function H(b,a){var c='';for(a|=0;a>0;a>>>=1,b+=b)a&1&&(c+=b);return c}function al(a){return/[\r\n]/g.test(a)}function s(b){var a=b.length;return a&&l.code.isLineTerminator(b.charCodeAt(a-1))}function ac(c,b){var a;for(a in b)b.hasOwnProperty(a)&&(c[a]=b[a]);return c}function Q(b,d){function e(a){return typeof a==='object'&&a instanceof Object&&!(a instanceof RegExp)}var a,c;for(a in d)d.hasOwnProperty(a)&&(c=d[a],e(c)?e(b[a])?Q(b[a],c):b[a]=Q({},c):b[a]=c);return b}function an(c){var b,e,a,f,d;if(c!==c)throw new Error('Numeric literal whose value is NaN');if(c<0||c===0&&1/c<0)throw new Error('Numeric literal whose value is negative');if(c===1/0)return A?'null':Y?'1e400':'1e+400';if(b=''+c,!Y||b.length<3)return b;e=b.indexOf('.'),!A&&b.charCodeAt(0)===48&&e===1&&(e=0,b=b.slice(1)),a=b,b=b.replace('e+','e'),f=0,(d=a.indexOf('e'))>0&&(f=+a.slice(d+1),a=a.slice(0,d)),e>=0&&(f-=a.length-e-1,a=+(a.slice(0,e)+a.slice(e+1))+''),d=0;while(a.charCodeAt(a.length+d-1)===48)--d;return d!==0&&(f-=d,a=a.slice(0,d)),f!==0&&(a+='e'+f),(a.length<b.length||ab&&c>1e12&&Math.floor(c)===c&&(a='0x'+c.toString(16)).length<b.length)&&+a===c&&(b=a),b}function $(a,b){return(a&-2)===8232?(b?'u':'\\u')+(a===8232?'2028':'2029'):a===10||a===13?(b?'':'\\')+(a===10?'n':'r'):String.fromCharCode(a)}function ap(d){var g,a,h,e,i,b,f,c;if(a=d.toString(),d.source){if(g=a.match(/\/([^\/]*)$/),!g)return a;for(h=g[1],a='',f=!1,c=!1,e=0,i=d.source.length;e<i;++e)b=d.source.charCodeAt(e),c?(a+=$(b,c),c=!1):(f?b===93&&(f=!1):b===47?a+='\\':b===91&&(f=!0),a+=$(b,c),c=b===92);return'/'+a+'/'+h}return a}function aq(a,c){var b;return a===8?'\\b':a===12?'\\f':a===9?'\\t':(b=a.toString(16).toUpperCase(),A||a>255?'\\u'+'0000'.slice(b.length)+b:a===0&&!l.code.isDecimalDigit(c)?'\\0':a===11?'\\x0B':'\\x'+'00'.slice(b.length)+b)}function ah(a){if(a===92)return'\\\\';if(a===10)return'\\n';if(a===13)return'\\r';if(a===8232)return'\\u2028';if(a===8233)return'\\u2029';throw new Error('Incorrectly classified character')}function ai(d){var a,e,c,b;for(b=S==='double'?'"':"'",a=0,e=d.length;a<e;++a){if(c=d.charCodeAt(a),c===39){b='"';break}if(c===34){b="'";break}c===92&&++a}return b+d+b}function aj(d){var b='',c,g,a,h=0,i=0,e,f;for(c=0,g=d.length;c<g;++c){if(a=d.charCodeAt(c),a===39)++h;else if(a===34)++i;else if(a===47&&A)b+='\\';else if(l.code.isLineTerminator(a)||a===92){b+=ah(a);continue}else if(!l.code.isIdentifierPartES5(a)&&(A&&a<32||!(A||a9)&&(a<32||a>126))){b+=aq(a,d.charCodeAt(c+1));continue}b+=String.fromCharCode(a)}if(e=!(S==='double'||S==='auto'&&i<h),f=e?"'":'"',!(e?h:i))return f+b+f;for(d=b,b=f,c=0,g=d.length;c<g;++c)a=d.charCodeAt(c),(a===39&&e||a===34&&!e)&&(b+='\\'),b+=String.fromCharCode(a);return b+f}function a0(d){var a,e,b,c='';for(a=0,e=d.length;a<e;++a)b=d[a],c+=Array.isArray(b)?a0(b):b;return c}function j(b,a){if(!D)return Array.isArray(b)?a0(b):b;if(a==null)if(b instanceof J)return b;else a={};return a.loc==null?new J(null,null,D,b,a.name||null):new J(a.loc.start.line,a.loc.start.column,D===!0?a.loc.source||null:D,b,a.name||null)}function v(){return f?f:' '}function h(c,d){var e,g,a,b;return e=j(c).toString(),e.length===0?[d]:(g=j(d).toString(),g.length===0?[c]:(a=e.charCodeAt(e.length-1),b=g.charCodeAt(0),(a===43||a===45)&&a===b||l.code.isIdentifierPartES5(a)&&l.code.isIdentifierPartES5(b)||a===47&&b===105?[c,v(),d]:l.code.isWhiteSpace(a)||l.code.isLineTerminator(a)||l.code.isWhiteSpace(b)||l.code.isLineTerminator(b)?[c,d]:[c,f,d]))}function w(a){return[n,a]}function o(b){var a;a=n,n+=F,b(n),n=a}function ar(b){var a;for(a=b.length-1;a>=0;--a)if(l.code.isLineTerminator(b.charCodeAt(a)))break;return b.length-1-a}function ag(k,i){var b,a,e,g,d,c,f,h;for(b=k.split(/\r\n|[\r\n]/),c=Number.MAX_VALUE,a=1,e=b.length;a<e;++a){g=b[a],d=0;while(d<g.length&&l.code.isWhiteSpace(g.charCodeAt(d)))++d;c>d&&(c=d)}for(i!==void 0?(f=n,b[1][c]==='*'&&(i+=' '),n=i):(c&1&&--c,f=n),a=1,e=b.length;a<e;++a)h=j(w(b[a].slice(c))),b[a]=D?h.join(''):h;return n=f,b.join('\n')}function B(a,c){if(a.type==='Line')if(s(a.value))return'//'+a.value;else{var b='//'+a.value;return y||(b+='\n'),b}return r.format.indent.adjustMultilineComment&&/[\n\r]/.test(a.value)?ag('/*'+a.value+'*/',c):'/*'+a.value+'*/'}function a7(d,a){var c,g,b,q,p,m,l,i,f,o,h,r,t,e;if(d.leadingComments&&d.leadingComments.length>0){if(q=a,y){for(b=d.leadingComments[0],a=[],i=b.extendedRange,f=b.range,h=C.substring(i[0],f[0]),e=(h.match(/\n/g)||[]).length,e>0?(a.push(H('\n',e)),a.push(w(B(b)))):(a.push(h),a.push(B(b))),o=f,c=1,g=d.leadingComments.length;c<g;c++)b=d.leadingComments[c],f=b.range,r=C.substring(o[1],f[0]),e=(r.match(/\n/g)||[]).length,a.push(H('\n',e)),a.push(w(B(b))),o=f;t=C.substring(f[1],i[1]),e=(t.match(/\n/g)||[]).length,a.push(H('\n',e))}else for(b=d.leadingComments[0],a=[],K&&d.type===k.Program&&d.body.length===0&&a.push('\n'),a.push(B(b)),s(j(a).toString())||a.push('\n'),c=1,g=d.leadingComments.length;c<g;++c)b=d.leadingComments[c],l=[B(b)],s(j(l).toString())||l.push('\n'),a.push(w(l));a.push(w(q))}if(d.trailingComments)if(y)b=d.trailingComments[0],i=b.extendedRange,f=b.range,h=C.substring(i[0],f[0]),e=(h.match(/\n/g)||[]).length,e>0?(a.push(H('\n',e)),a.push(w(B(b)))):(a.push(h),a.push(B(b)));else for(p=!s(j(a).toString()),m=H(' ',ar(j([n,a,F]).toString())),c=0,g=d.trailingComments.length;c<g;++c)b=d.trailingComments[c],p?(c===0?a=[a,F]:a=[a,m],a.push(B(b,m))):a=[a,w(B(b))],c!==g-1&&!s(j(a).toString())&&(a=[a,'\n']);return a}function I(c,d,e){var a,b=0;for(a=c;a<d;a++)C[a]==='\n'&&b++;for(a=1;a<b;a++)e.push(i)}function t(a,b,c){return b<c?['(',a,')']:a}function aa(d){var a,c,b;for(b=d.split(/\r\n|\n/),a=1,c=b.length;a<c;a++)b[a]=i+n+b[a];return b}function am(c,d){var a,b,f;return a=c[r.verbatim],typeof a==='string'?b=t(aa(a),e.Sequence,d):(b=aa(a.content),f=a.precedence!=null?a.precedence:e.Sequence,b=t(b,f,d)),j(b,c)}function p(){}function x(a){return j(a.name,a)}function L(a,b){return a.async?'async'+(b?v():f):''}function R(b){var a=b.generator&&!r.moz.starlessGenerator;return a?'*'+f:''}function af(c){var a=c.value,b='';return a.async&&(b+=L(a,!c.computed)),a.generator&&(b+=R(a)?'*':''),b}function as(a){var b;if(b=new p,ad(a))return b.generateStatement(a,m);if(ao(a))return b.generateExpression(a,e.Sequence,g);throw new Error('Unknown node type: '+a.type)}function ak(k,e){var h=a1(),j,g;return e!=null?(typeof e.indent==='string'&&(h.format.indent.style=e.indent),typeof e.base==='number'&&(h.format.indent.base=e.base),e=Q(h,e),F=e.format.indent.style,typeof e.base==='string'?n=e.base:n=H(F,e.format.indent.base)):(e=h,F=e.format.indent.style,n=H(F,e.format.indent.base)),A=e.format.json,Y=e.format.renumber,ab=A?!1:e.format.hexadecimal,S=A?'double':e.format.quotes,a9=e.format.escapeless,i=e.format.newline,f=e.format.space,e.format.compact&&(i=f=F=n=''),X=e.format.parentheses,a6=e.format.semicolons,K=e.format.safeConcatenation,a5=e.directive,W=A?null:e.parse,D=e.sourceMap,C=e.sourceCode,y=e.format.preserveBlankLines&&C!==null,r=e,D&&(c.browser?J=b.sourceMap.SourceNode:J=a('/node_modules/source-map/source-map.js',d).SourceNode),j=as(k),D?(g=j.toStringWithSourceMap({file:e.file,sourceRoot:e.sourceMapRoot}),e.sourceContent&&g.map.setSourceContent(e.sourceMap,e.sourceContent),e.sourceMapWithCode?g:g.map.toString()):(g={code:j.toString(),map:null},e.sourceMapWithCode?g:g.code)}Z=a('/node_modules/estraverse/estraverse.js',d),l=a('/node_modules/esutils/lib/utils.js',d),k=Z.Syntax,e={Sequence:0,Yield:1,Await:1,Assignment:1,Conditional:2,ArrowFunction:2,LogicalOR:3,LogicalAND:4,BitwiseOR:5,BitwiseXOR:6,BitwiseAND:7,Equality:8,Relational:9,BitwiseSHIFT:10,Additive:11,Multiplicative:12,Unary:13,Postfix:14,Call:15,New:16,TaggedTemplate:17,Member:18,Primary:19},ae={'||':e.LogicalOR,'&&':e.LogicalAND,'|':e.BitwiseOR,'^':e.BitwiseXOR,'&':e.BitwiseAND,'==':e.Equality,'!=':e.Equality,'===':e.Equality,'!==':e.Equality,is:e.Equality,isnt:e.Equality,'<':e.Relational,'>':e.Relational,'<=':e.Relational,'>=':e.Relational,'in':e.Relational,'instanceof':e.Relational,'<<':e.BitwiseSHIFT,'>>':e.BitwiseSHIFT,'>>>':e.BitwiseSHIFT,'+':e.Additive,'-':e.Additive,'*':e.Multiplicative,'%':e.Multiplicative,'/':e.Multiplicative},u=1,E=2,G=4,V=8,O=16,q=32,U=E|G,P=u|E,g=u|E|G,N=u,a8=G,T=u|G,m=u,z=u|q,M=0,a4=u|O,a3=u|V,p.prototype.maybeBlock=function(a,c){var d,b,e=this;return b=!r.comment||!a.leadingComments,a.type===k.BlockStatement&&b?[f,this.generateStatement(a,c)]:a.type===k.EmptyStatement&&b?';':(o(function(){d=[i,w(e.generateStatement(a,c))]}),d)},p.prototype.maybeBlockSuffix=function(c,a){var b=s(j(a).toString());return c.type===k.BlockStatement&&!(r.comment&&c.leadingComments)&&!b?[a,f]:b?[a,n]:[a,i,n]},p.prototype.generatePattern=function(a,b,c){return a.type===k.Identifier?x(a):this.generateExpression(a,b,c)},p.prototype.generateFunctionParams=function(a){var c,d,b,h;if(h=!1,a.type===k.ArrowFunctionExpression&&!a.rest&&(!a.defaults||a.defaults.length===0)&&a.params.length===1&&a.params[0].type===k.Identifier)b=[L(a,!0),x(a.params[0])];else{for(b=a.type===k.ArrowFunctionExpression?[L(a,!1)]:[],b.push('('),a.defaults&&(h=!0),c=0,d=a.params.length;c<d;++c)h&&a.defaults[c]?b.push(this.generateAssignment(a.params[c],a.defaults[c],'=',e.Assignment,g)):b.push(this.generatePattern(a.params[c],e.Assignment,g)),c+1<d&&b.push(','+f);a.rest&&(a.params.length&&b.push(','+f),b.push('...'),b.push(x(a.rest))),b.push(')')}return b},p.prototype.generateFunctionBody=function(b){var a,c;return a=this.generateFunctionParams(b),b.type===k.ArrowFunctionExpression&&(a.push(f),a.push('=>')),b.expression?(a.push(f),c=this.generateExpression(b.body,e.Assignment,g),c.toString().charAt(0)==='{'&&(c=['(',c,')']),a.push(c)):a.push(this.maybeBlock(b.body,a3)),a},p.prototype.generateIterationForStatement=function(d,b,i){var a=['for'+f+(b.await?'await'+f:'')+'('],c=this;return o(function(){b.left.type===k.VariableDeclaration?o(function(){a.push(b.left.kind+v()),a.push(c.generateStatement(b.left.declarations[0],M))}):a.push(c.generateExpression(b.left,e.Call,g)),a=h(a,d),a=[h(a,c.generateExpression(b.right,e.Assignment,g)),')']}),a.push(this.maybeBlock(b.body,i)),a},p.prototype.generatePropertyKey=function(c,b){var a=[];return b&&a.push('['),a.push(this.generateExpression(c,e.Sequence,g)),b&&a.push(']'),a},p.prototype.generateAssignment=function(c,d,g,b,a){return e.Assignment<b&&(a|=u),t([this.generateExpression(c,e.Call,a),f+g+f,this.generateExpression(d,e.Assignment,a)],e.Assignment,b)},p.prototype.semicolon=function(a){return!a6&&a&q?'':';'},p.Statement={BlockStatement:function(a,f){var c,d,b=['{',i],e=this;return o(function(){a.body.length===0&&y&&(c=a.range,c[1]-c[0]>2)&&(d=C.substring(c[0]+1,c[1]-1),d[0]==='\n'&&(b=['{']),b.push(d));var g,h,l,k;for(k=m,f&V&&(k|=O),g=0,h=a.body.length;g<h;++g)y&&(g===0&&(a.body[0].leadingComments&&(c=a.body[0].leadingComments[0].extendedRange,d=C.substring(c[0],c[1]),d[0]==='\n'&&(b=['{'])),a.body[0].leadingComments||I(a.range[0],a.body[0].range[0],b)),g>0&&!(a.body[g-1].trailingComments||a.body[g].leadingComments)&&I(a.body[g-1].range[1],a.body[g].range[0],b)),g===h-1&&(k|=q),a.body[g].leadingComments&&y?l=e.generateStatement(a.body[g],k):l=w(e.generateStatement(a.body[g],k)),b.push(l),s(j(l).toString())||(y&&g<h-1?a.body[g+1].leadingComments||b.push(i):b.push(i)),y&&g===h-1&&(a.body[g].trailingComments||I(a.body[g].range[1],a.range[1],b))}),b.push(w('}')),b},BreakStatement:function(a,b){return a.label?'break '+a.label.name+this.semicolon(b):'break'+this.semicolon(b)},ContinueStatement:function(a,b){return a.label?'continue '+a.label.name+this.semicolon(b):'continue'+this.semicolon(b)},ClassBody:function(b,d){var a=['{',i],c=this;return o(function(h){var d,f;for(d=0,f=b.body.length;d<f;++d)a.push(h),a.push(c.generateExpression(b.body[d],e.Sequence,g)),d+1<f&&a.push(i)}),s(j(a).toString())||a.push(i),a.push(n),a.push('}'),a},ClassDeclaration:function(b,d){var a,c;return a=['class'],b.id&&(a=h(a,this.generateExpression(b.id,e.Sequence,g))),b.superClass&&(c=h('extends',this.generateExpression(b.superClass,e.Assignment,g)),a=h(a,c)),a.push(f),a.push(this.generateStatement(b.body,z)),a},DirectiveStatement:function(a,b){return r.raw&&a.raw?a.raw+this.semicolon(b):ai(a.directive)+this.semicolon(b)},DoWhileStatement:function(b,c){var a=h('do',this.maybeBlock(b.body,m));return a=this.maybeBlockSuffix(b.body,a),h(a,['while'+f+'(',this.generateExpression(b.test,e.Sequence,g),')'+this.semicolon(c)])},CatchClause:function(a,d){var b,c=this;return o(function(){var d;b=['catch'+f+'(',c.generateExpression(a.param,e.Sequence,g),')'],a.guard&&(d=c.generateExpression(a.guard,e.Sequence,g),b.splice(2,0,' if ',d))}),b.push(this.maybeBlock(a.body,m)),b},DebuggerStatement:function(b,a){return'debugger'+this.semicolon(a)},EmptyStatement:function(a,b){return';'},ExportDefaultDeclaration:function(b,c){var a=['export'],d;return d=c&q?z:m,a=h(a,'default'),ad(b.declaration)?a=h(a,this.generateStatement(b.declaration,d)):a=h(a,this.generateExpression(b.declaration,e.Assignment,g)+this.semicolon(c)),a},ExportNamedDeclaration:function(b,c){var a=['export'],d,l=this;return d=c&q?z:m,b.declaration?h(a,this.generateStatement(b.declaration,d)):(b.specifiers&&(b.specifiers.length===0?a=h(a,'{'+f+'}'):b.specifiers[0].type===k.ExportBatchSpecifier?a=h(a,this.generateExpression(b.specifiers[0],e.Sequence,g)):(a=h(a,'{'),o(function(f){var c,d;for(a.push(i),c=0,d=b.specifiers.length;c<d;++c)a.push(f),a.push(l.generateExpression(b.specifiers[c],e.Sequence,g)),c+1<d&&a.push(','+i)}),s(j(a).toString())||a.push(i),a.push(n+'}')),b.source?a=h(a,['from'+f,this.generateExpression(b.source,e.Sequence,g),this.semicolon(c)]):a.push(this.semicolon(c))),a)},ExportAllDeclaration:function(a,b){return['export'+f,'*'+f,'from'+f,this.generateExpression(a.source,e.Sequence,g),this.semicolon(b)]},ExpressionStatement:function(c,d){function f(b){var a;return b.slice(0,5)!=='class'?!1:(a=b.charCodeAt(5),a===123||l.code.isWhiteSpace(a)||l.code.isLineTerminator(a))}function h(b){var a;return b.slice(0,8)!=='function'?!1:(a=b.charCodeAt(8),a===40||l.code.isWhiteSpace(a)||a===42||l.code.isLineTerminator(a))}function i(b){var c,a,d;if(b.slice(0,5)!=='async')return!1;if(!l.code.isWhiteSpace(b.charCodeAt(5)))return!1;for(a=6,d=b.length;a<d;++a)if(!l.code.isWhiteSpace(b.charCodeAt(a)))break;return a===d?!1:b.slice(a,a+8)!=='function'?!1:(c=b.charCodeAt(a+8),c===40||l.code.isWhiteSpace(c)||c===42||l.code.isLineTerminator(c))}var a,b;return a=[this.generateExpression(c.expression,e.Sequence,g)],b=j(a).toString(),b.charCodeAt(0)===123||f(b)||h(b)||i(b)||a5&&d&O&&c.expression.type===k.Literal&&typeof c.expression.value==='string'?a=['(',a,')'+this.semicolon(d)]:a.push(this.semicolon(d)),a},ImportDeclaration:function(b,d){var a,c,l=this;return b.specifiers.length===0?['import',f,this.generateExpression(b.source,e.Sequence,g),this.semicolon(d)]:(a=['import'],c=0,b.specifiers[c].type===k.ImportDefaultSpecifier&&(a=h(a,[this.generateExpression(b.specifiers[c],e.Sequence,g)]),++c),b.specifiers[c]&&(c!==0&&a.push(','),b.specifiers[c].type===k.ImportNamespaceSpecifier?a=h(a,[f,this.generateExpression(b.specifiers[c],e.Sequence,g)]):(a.push(f+'{'),b.specifiers.length-c===1?(a.push(f),a.push(this.generateExpression(b.specifiers[c],e.Sequence,g)),a.push(f+'}'+f)):(o(function(h){var d,f;for(a.push(i),d=c,f=b.specifiers.length;d<f;++d)a.push(h),a.push(l.generateExpression(b.specifiers[d],e.Sequence,g)),d+1<f&&a.push(','+i)}),s(j(a).toString())||a.push(i),a.push(n+'}'+f)))),a=h(a,['from'+f,this.generateExpression(b.source,e.Sequence,g),this.semicolon(d)]),a)},VariableDeclarator:function(a,c){var b=c&u?g:U;return a.init?[this.generateExpression(a.id,e.Assignment,b),f,'=',f,this.generateExpression(a.init,e.Assignment,b)]:this.generatePattern(a.id,e.Assignment,b)},VariableDeclaration:function(c,h){function j(){for(b=c.declarations[0],r.comment&&b.leadingComments?(a.push('\n'),a.push(w(e.generateStatement(b,d)))):(a.push(v()),a.push(e.generateStatement(b,d))),g=1,k=c.declarations.length;g<k;++g)b=c.declarations[g],r.comment&&b.leadingComments?(a.push(','+i),a.push(w(e.generateStatement(b,d)))):(a.push(','+f),a.push(e.generateStatement(b,d)))}var a,g,k,b,d,e=this;return a=[c.kind],d=h&u?m:M,c.declarations.length>1?o(j):j(),a.push(this.semicolon(h)),a},ThrowStatement:function(a,b){return[h('throw',this.generateExpression(a.argument,e.Sequence,g)),this.semicolon(b)]},TryStatement:function(b,f){var a,c,d,e;if(a=['try',this.maybeBlock(b.block,m)],a=this.maybeBlockSuffix(b.block,a),b.handlers)for(c=0,d=b.handlers.length;c<d;++c)a=h(a,this.generateStatement(b.handlers[c],m)),(b.finalizer||c+1!==d)&&(a=this.maybeBlockSuffix(b.handlers[c].body,a));else{for(e=b.guardedHandlers||[],c=0,d=e.length;c<d;++c)a=h(a,this.generateStatement(e[c],m)),(b.finalizer||c+1!==d)&&(a=this.maybeBlockSuffix(e[c].body,a));if(b.handler)if(Array.isArray(b.handler))for(c=0,d=b.handler.length;c<d;++c)a=h(a,this.generateStatement(b.handler[c],m)),(b.finalizer||c+1!==d)&&(a=this.maybeBlockSuffix(b.handler[c].body,a));else a=h(a,this.generateStatement(b.handler,m)),b.finalizer&&(a=this.maybeBlockSuffix(b.handler.body,a))}return b.finalizer&&(a=h(a,['finally',this.maybeBlock(b.finalizer,m)])),a},SwitchStatement:function(c,n){var a,d,b,h,k,l=this;if(o(function(){a=['switch'+f+'(',l.generateExpression(c.discriminant,e.Sequence,g),')'+f+'{'+i]}),c.cases)for(k=m,b=0,h=c.cases.length;b<h;++b)b===h-1&&(k|=q),d=w(this.generateStatement(c.cases[b],k)),a.push(d),s(j(d).toString())||a.push(i);return a.push(w('}')),a},SwitchCase:function(c,p){var a,f,b,d,n,l=this;return o(function(){for(c.test?a=[h('case',l.generateExpression(c.test,e.Sequence,g)),':']:a=['default:'],b=0,d=c.consequent.length,d&&c.consequent[0].type===k.BlockStatement&&(f=l.maybeBlock(c.consequent[0],m),a.push(f),b=1),b!==d&&!s(j(a).toString())&&a.push(i),n=m;b<d;++b)b===d-1&&p&q&&(n|=q),f=w(l.generateStatement(c.consequent[b],n)),a.push(f),b+1!==d&&!s(j(f).toString())&&a.push(i)}),a},IfStatement:function(b,j){var a,c,d,i=this;return o(function(){a=['if'+f+'(',i.generateExpression(b.test,e.Sequence,g),')']}),d=j&q,c=m,d&&(c|=q),b.alternate?(a.push(this.maybeBlock(b.consequent,m)),a=this.maybeBlockSuffix(b.consequent,a),b.alternate.type===k.IfStatement?a=h(a,['else ',this.generateStatement(b.alternate,c)]):a=h(a,h('else',this.maybeBlock(b.alternate,c)))):a.push(this.maybeBlock(b.consequent,c)),a},ForStatement:function(b,d){var a,c=this;return o(function(){a=['for'+f+'('],b.init?b.init.type===k.VariableDeclaration?a.push(c.generateStatement(b.init,M)):(a.push(c.generateExpression(b.init,e.Sequence,U)),a.push(';')):a.push(';'),b.test?(a.push(f),a.push(c.generateExpression(b.test,e.Sequence,g)),a.push(';')):a.push(';'),b.update?(a.push(f),a.push(c.generateExpression(b.update,e.Sequence,g)),a.push(')')):a.push(')')}),a.push(this.maybeBlock(b.body,d&q?z:m)),a},ForInStatement:function(a,b){return this.generateIterationForStatement('in',a,b&q?z:m)},ForOfStatement:function(a,b){return this.generateIterationForStatement('of',a,b&q?z:m)},LabeledStatement:function(a,b){return[a.label.name+':',this.maybeBlock(a.body,b&q?z:m)]},Program:function(b,g){var c,e,a,d,f;for(d=b.body.length,c=[K&&d>0?'\n':''],f=a4,a=0;a<d;++a)!K&&a===d-1&&(f|=q),y&&(a===0&&(b.body[0].leadingComments||I(b.range[0],b.body[a].range[0],c)),a>0&&!(b.body[a-1].trailingComments||b.body[a].leadingComments)&&I(b.body[a-1].range[1],b.body[a].range[0],c)),e=w(this.generateStatement(b.body[a],f)),c.push(e),a+1<d&&!s(j(e).toString())&&(y?b.body[a+1].leadingComments||c.push(i):c.push(i)),y&&a===d-1&&(b.body[a].trailingComments||I(b.body[a].range[1],b.range[1],c));return c},FunctionDeclaration:function(a,b){return[L(a,!0),'function',R(a)||v(),a.id?x(a.id):'',this.generateFunctionBody(a)]},ReturnStatement:function(a,b){return a.argument?[h('return',this.generateExpression(a.argument,e.Sequence,g)),this.semicolon(b)]:['return'+this.semicolon(b)]},WhileStatement:function(b,d){var a,c=this;return o(function(){a=['while'+f+'(',c.generateExpression(b.test,e.Sequence,g),')']}),a.push(this.maybeBlock(b.body,d&q?z:m)),a},WithStatement:function(b,d){var a,c=this;return o(function(){a=['with'+f+'(',c.generateExpression(b.object,e.Sequence,g),')']}),a.push(this.maybeBlock(b.body,d&q?z:m)),a}},ac(p.prototype,p.Statement),p.Expression={SequenceExpression:function(d,g,h){var b,a,c;for(e.Sequence<g&&(h|=u),b=[],a=0,c=d.expressions.length;a<c;++a)b.push(this.generateExpression(d.expressions[a],e.Assignment,h)),a+1<c&&b.push(','+f);return t(b,e.Sequence,g)},AssignmentExpression:function(a,b,c){return this.generateAssignment(a.left,a.right,a.operator,b,c)},ArrowFunctionExpression:function(a,b,c){return t(this.generateFunctionBody(a),e.ArrowFunction,b)},ConditionalExpression:function(b,c,a){return e.Conditional<c&&(a|=u),t([this.generateExpression(b.test,e.LogicalOR,a),f+'?'+f,this.generateExpression(b.consequent,e.Assignment,a),f+':'+f,this.generateExpression(b.alternate,e.Assignment,a)],e.Conditional,c)},LogicalExpression:function(a,b,c){return this.BinaryExpression(a,b,c)},BinaryExpression:function(a,g,e){var c,d,b,f;return d=ae[a.operator],d<g&&(e|=u),b=this.generateExpression(a.left,d,e),f=b.toString(),f.charCodeAt(f.length-1)===47&&l.code.isIdentifierPartES5(a.operator.charCodeAt(0))?c=[b,v(),a.operator]:c=h(b,a.operator),b=this.generateExpression(a.right,d+1,e),a.operator==='/'&&b.toString().charAt(0)==='/'||a.operator.slice(-1)==='<'&&b.toString().slice(0,3)==='!--'?(c.push(v()),c.push(b)):c=h(c,b),a.operator==='in'&&!(e&u)?['(',c,')']:t(c,d,g)},CallExpression:function(c,h,i){var a,b,d;for(a=[this.generateExpression(c.callee,e.Call,P)],a.push('('),b=0,d=c['arguments'].length;b<d;++b)a.push(this.generateExpression(c['arguments'][b],e.Assignment,g)),b+1<d&&a.push(','+f);return a.push(')'),i&E?t(a,e.Call,h):['(',a,')']},NewExpression:function(d,l,j){var a,c,b,i,k;if(c=d['arguments'].length,k=j&G&&!X&&c===0?T:N,a=h('new',this.generateExpression(d.callee,e.New,k)),!(j&G)||X||c>0){for(a.push('('),b=0,i=c;b<i;++b)a.push(this.generateExpression(d['arguments'][b],e.Assignment,g)),b+1<i&&a.push(','+f);a.push(')')}return t(a,e.New,l)},MemberExpression:function(c,f,d){var a,b;return a=[this.generateExpression(c.object,e.Call,d&E?P:N)],c.computed?(a.push('['),a.push(this.generateExpression(c.property,e.Sequence,d&E?g:T)),a.push(']')):(c.object.type===k.Literal&&typeof c.object.value==='number'&&(b=j(a).toString(),b.indexOf('.')<0&&!/[eExX]/.test(b)&&l.code.isDecimalDigit(b.charCodeAt(b.length-1))&&!(b.length>=2&&b.charCodeAt(0)===48)&&a.push(' ')),a.push('.'),a.push(x(c.property))),t(a,e.Member,f)},MetaProperty:function(a,c,d){var b;return b=[],b.push(typeof a.meta==='string'?a.meta:x(a.meta)),b.push('.'),b.push(typeof a.property==='string'?a.property:x(a.property)),t(b,e.Member,c)},UnaryExpression:function(d,m,n){var a,b,i,k,c;return b=this.generateExpression(d.argument,e.Unary,g),f===''?a=h(d.operator,b):(a=[d.operator],d.operator.length>2?a=h(a,b):(k=j(a).toString(),c=k.charCodeAt(k.length-1),i=b.toString().charCodeAt(0),(c===43||c===45)&&c===i||l.code.isIdentifierPartES5(c)&&l.code.isIdentifierPartES5(i)?(a.push(v()),a.push(b)):a.push(b))),t(a,e.Unary,m)},YieldExpression:function(b,c,d){var a;return b.delegate?a='yield*':a='yield',b.argument&&(a=h(a,this.generateExpression(b.argument,e.Yield,g))),t(a,e.Yield,c)},AwaitExpression:function(a,c,d){var b=h(a.all?'await*':'await',this.generateExpression(a.argument,e.Await,g));return t(b,e.Await,c)},UpdateExpression:function(a,b,c){return a.prefix?t([a.operator,this.generateExpression(a.argument,e.Unary,g)],e.Unary,b):t([this.generateExpression(a.argument,e.Postfix,g),a.operator],e.Postfix,b)},FunctionExpression:function(a,c,d){var b=[L(a,!0),'function'];return a.id?(b.push(R(a)||v()),b.push(x(a.id))):b.push(R(a)||f),b.push(this.generateFunctionBody(a)),b},ArrayPattern:function(a,b,c){return this.ArrayExpression(a,b,c,!0)},ArrayExpression:function(c,k,l,h){var a,b,d=this;return c.elements.length?(b=h?!1:c.elements.length>1,a=['[',b?i:''],o(function(k){var h,j;for(h=0,j=c.elements.length;h<j;++h)c.elements[h]?(a.push(b?k:''),a.push(d.generateExpression(c.elements[h],e.Assignment,g))):(b&&a.push(k),h+1===j&&a.push(',')),h+1<j&&a.push(','+(b?i:f))}),b&&!s(j(a).toString())&&a.push(i),a.push(b?n:''),a.push(']'),a):'[]'},RestElement:function(a,b,c){return'...'+this.generatePattern(a.argument)},ClassExpression:function(b,d,i){var a,c;return a=['class'],b.id&&(a=h(a,this.generateExpression(b.id,e.Sequence,g))),b.superClass&&(c=h('extends',this.generateExpression(b.superClass,e.Assignment,g)),a=h(a,c)),a.push(f),a.push(this.generateStatement(b.body,z)),a},MethodDefinition:function(a,d,e){var b,c;return a['static']?b=['static'+f]:b=[],a.kind==='get'||a.kind==='set'?c=[h(a.kind,this.generatePropertyKey(a.key,a.computed)),this.generateFunctionBody(a.value)]:c=[af(a),this.generatePropertyKey(a.key,a.computed),this.generateFunctionBody(a.value)],h(b,c)},Property:function(a,b,c){return a.kind==='get'||a.kind==='set'?[a.kind,v(),this.generatePropertyKey(a.key,a.computed),this.generateFunctionBody(a.value)]:a.shorthand?a.value.type==='AssignmentPattern'?this.AssignmentPattern(a.value,e.Sequence,g):this.generatePropertyKey(a.key,a.computed):a.method?[af(a),this.generatePropertyKey(a.key,a.computed),this.generateFunctionBody(a.value)]:[this.generatePropertyKey(a.key,a.computed),':'+f,this.generateExpression(a.value,e.Assignment,g)]},ObjectExpression:function(b,k,l){var d,a,c,h=this;return b.properties.length?(d=b.properties.length>1,o(function(){c=h.generateExpression(b.properties[0],e.Sequence,g)}),d||al(j(c).toString())?(o(function(k){var f,j;if(a=['{',i,k,c],d)for(a.push(','+i),f=1,j=b.properties.length;f<j;++f)a.push(k),a.push(h.generateExpression(b.properties[f],e.Sequence,g)),f+1<j&&a.push(','+i)}),s(j(a).toString())||a.push(i),a.push(n),a.push('}'),a):['{',f,c,f,'}']):'{}'},AssignmentPattern:function(a,b,c){return this.generateAssignment(a.left,a.right,'=',b,c)},ObjectPattern:function(c,p,q){var a,d,l,b,h,m=this;if(!c.properties.length)return'{}';if(b=!1,c.properties.length===1)h=c.properties[0],h.value.type!==k.Identifier&&(b=!0);else for(d=0,l=c.properties.length;d<l;++d)if(h=c.properties[d],!h.shorthand){b=!0;break}return a=['{',b?i:''],o(function(j){var d,h;for(d=0,h=c.properties.length;d<h;++d)a.push(b?j:''),a.push(m.generateExpression(c.properties[d],e.Sequence,g)),d+1<h&&a.push(','+(b?i:f))}),b&&!s(j(a).toString())&&a.push(i),a.push(b?n:''),a.push('}'),a},ThisExpression:function(a,b,c){return'this'},Super:function(a,b,c){return'super'},Identifier:function(a,b,c){return x(a)},ImportDefaultSpecifier:function(a,b,c){return x(a.id||a.local)},ImportNamespaceSpecifier:function(c,d,e){var a=['*'],b=c.id||c.local;return b&&a.push(f+'as'+v()+x(b)),a},ImportSpecifier:function(d,e,f){var b=d.imported,c=[b.name],a=d.local;return a&&a.name!==b.name&&c.push(v()+'as'+v()+x(a)),c},ExportSpecifier:function(d,e,f){var b=d.local,c=[b.name],a=d.exported;return a&&a.name!==b.name&&c.push(v()+'as'+v()+x(a)),c},Literal:function(a,c,d){var b;if(a.hasOwnProperty('raw')&&W&&r.raw)try{if(b=W(a.raw).body[0].expression,b.type===k.Literal&&b.value===a.value)return a.raw}catch(a){}return a.value===null?'null':typeof a.value==='string'?aj(a.value):typeof a.value==='number'?an(a.value):typeof a.value==='boolean'?a.value?'true':'false':a.regex?'/'+a.regex.pattern+'/'+a.regex.flags:ap(a.value)},GeneratorExpression:function(a,b,c){return this.ComprehensionExpression(a,b,c)},ComprehensionExpression:function(b,l,m){var a,d,i,c,j=this;return a=b.type===k.GeneratorExpression?['(']:['['],r.moz.comprehensionExpressionStartsWithAssignment&&(c=this.generateExpression(b.body,e.Assignment,g),a.push(c)),b.blocks&&o(function(){for(d=0,i=b.blocks.length;d<i;++d)c=j.generateExpression(b.blocks[d],e.Sequence,g),d>0||r.moz.comprehensionExpressionStartsWithAssignment?a=h(a,c):a.push(c)}),b.filter&&(a=h(a,'if'+f),c=this.generateExpression(b.filter,e.Sequence,g),a=h(a,['(',c,')'])),r.moz.comprehensionExpressionStartsWithAssignment||(c=this.generateExpression(b.body,e.Assignment,g),a=h(a,c)),a.push(b.type===k.GeneratorExpression?')':']'),a},ComprehensionBlock:function(b,c,d){var a;return b.left.type===k.VariableDeclaration?a=[b.left.kind,v(),this.generateStatement(b.left.declarations[0],M)]:a=this.generateExpression(b.left,e.Call,g),a=h(a,b.of?'of':'in'),a=h(a,this.generateExpression(b.right,e.Sequence,g)),['for'+f+'(',a,')']},SpreadElement:function(a,b,c){return['...',this.generateExpression(a.argument,e.Assignment,g)]},TaggedTemplateExpression:function(b,d,f){var a=P;f&E||(a=N);var c=[this.generateExpression(b.tag,e.Call,a),this.generateExpression(b.quasi,e.Primary,a8)];return t(c,e.TaggedTemplate,d)},TemplateElement:function(a,b,c){return a.value.raw},TemplateLiteral:function(c,h,i){var a,b,d;for(a=['`'],b=0,d=c.quasis.length;b<d;++b)a.push(this.generateExpression(c.quasis[b],e.Primary,g)),b+1<d&&(a.push('${'+f),a.push(this.generateExpression(c.expressions[b],e.Sequence,g)),a.push(f+'}'));return a.push('`'),a},ModuleSpecifier:function(a,b,c){return this.Literal(a,b,c)}},ac(p.prototype,p.Expression),p.prototype.generateExpression=function(a,c,e){var b,d;return d=a.type||k.Property,r.verbatim&&a.hasOwnProperty(r.verbatim)?am(a,c):(b=this[d](a,c,e),r.comment&&(b=a7(a,b)),j(b,a))},p.prototype.generateStatement=function(b,d){var a,c;return a=this[b.type](b,d),r.comment&&(a=a7(b,a)),c=j(a).toString(),b.type===k.Program&&!K&&i===''&&c.charAt(c.length-1)==='\n'&&(a=D?j(a).replaceRight(/\s+$/,''):c.replace(/\s+$/,'')),j(a,b)},_={indent:{style:'',base:0},renumber:!0,hexadecimal:!0,quotes:'auto',escapeless:!0,compact:!0,parentheses:!1,semicolons:!1},a2=a1().format,c.version=a('/package.json',d).version,c.generate=ak,c.attachComments=Z.attachComments,c.Precedence=Q({},e),c.browser=!1,c.FORMAT_MINIFY=_,c.FORMAT_DEFAULTS=a2}()}),a.define('/package.json',function(a,b,c,d){a.exports={name:'escodegen',description:'ECMAScript code generator',homepage:'http://github.com/estools/escodegen',main:'escodegen.js',bin:{esgenerate:'./bin/esgenerate.js',escodegen:'./bin/escodegen.js'},files:['LICENSE.BSD','README.md','bin','escodegen.js','package.json'],version:'1.11.0',engines:{node:'>=4.0'},maintainers:[{name:'Yusuke Suzuki',email:'utatane.tea@gmail.com',web:'http://github.com/Constellation'}],repository:{type:'git',url:'http://github.com/estools/escodegen.git'},dependencies:{estraverse:'^4.2.0',esutils:'^2.0.2',esprima:'^3.1.3',optionator:'^0.8.1'},optionalDependencies:{'source-map':'~0.6.1'},devDependencies:{acorn:'^4.0.4',bluebird:'^3.4.7','bower-registry-client':'^1.0.0',chai:'^3.5.0','commonjs-everywhere':'^0.9.7',gulp:'^3.8.10','gulp-eslint':'^3.0.1','gulp-mocha':'^3.0.1',semver:'^5.1.0'},license:'BSD-2-Clause',scripts:{test:'gulp travis','unit-test':'gulp test',lint:'gulp lint',release:'node tools/release.js','build-min':'./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js',build:'./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js'}}}),a.define('/node_modules/source-map/source-map.js',function(b,c,d,e){c.SourceMapGenerator=a('/node_modules/source-map/lib/source-map-generator.js',b).SourceMapGenerator,c.SourceMapConsumer=a('/node_modules/source-map/lib/source-map-consumer.js',b).SourceMapConsumer,c.SourceNode=a('/node_modules/source-map/lib/source-node.js',b).SourceNode}),a.define('/node_modules/source-map/lib/source-node.js',function(e,i,j,k){function b(a,b,d,e,f){this.children=[],this.sourceContents={},this.line=a==null?null:a,this.column=b==null?null:b,this.source=d==null?null:d,this.name=f==null?null:f,this[c]=!0,e!=null&&this.add(e)}var f=a('/node_modules/source-map/lib/source-map-generator.js',e).SourceMapGenerator,d=a('/node_modules/source-map/lib/util.js',e),g=/(\r?\n)/,h=10,c='$$$isSourceNode$$$';b.fromStringWithSourceMap=function a(o,n,k){function m(a,c){if(a===null||a.source===undefined)h.add(c);else{var e=k?d.join(k,a.source):a.source;h.add(new b(a.originalLine,a.originalColumn,e,c,a.name))}}var h=new b,c=o.split(g),e=0,l=function(){function a(){return e<c.length?c[e++]:undefined}var b=a(),d=a()||'';return b+d},j=1,i=0,f=null;return n.eachMapping(function(a){if(f!==null)if(j<a.generatedLine)m(f,l()),j++,i=0;else{var b=c[e]||'',d=b.substr(0,a.generatedColumn-i);c[e]=b.substr(a.generatedColumn-i),i=a.generatedColumn,m(f,d),f=a;return}while(j<a.generatedLine)h.add(l()),j++;if(i<a.generatedColumn){var b=c[e]||'';h.add(b.substr(0,a.generatedColumn)),c[e]=b.substr(a.generatedColumn),i=a.generatedColumn}f=a},this),e<c.length&&(f&&m(f,l()),h.add(c.splice(e).join(''))),n.sources.forEach(function(a){var b=n.sourceContentFor(a);b!=null&&(k!=null&&(a=d.join(k,a)),h.setSourceContent(a,b))}),h},b.prototype.add=function a(b){if(Array.isArray(b))b.forEach(function(a){this.add(a)},this);else if(b[c]||typeof b==='string')b&&this.children.push(b);else throw new TypeError('Expected a SourceNode, string, or an array of SourceNodes and strings. Got '+b);return this},b.prototype.prepend=function a(b){if(Array.isArray(b))for(var d=b.length-1;d>=0;d--)this.prepend(b[d]);else if(b[c]||typeof b==='string')this.children.unshift(b);else throw new TypeError('Expected a SourceNode, string, or an array of SourceNodes and strings. Got '+b);return this},b.prototype.walk=function a(e){var b;for(var d=0,f=this.children.length;d<f;d++)b=this.children[d],b[c]?b.walk(e):b!==''&&e(b,{source:this.source,line:this.line,column:this.column,name:this.name})},b.prototype.join=function a(e){var b,c,d=this.children.length;if(d>0){for(b=[],c=0;c<d-1;c++)b.push(this.children[c]),b.push(e);b.push(this.children[c]),this.children=b}return this},b.prototype.replaceRight=function a(d,e){var b=this.children[this.children.length-1];return b[c]?b.replaceRight(d,e):typeof b==='string'?this.children[this.children.length-1]=b.replace(d,e):this.children.push(''.replace(d,e)),this},b.prototype.setSourceContent=function a(b,c){this.sourceContents[d.toSetString(b)]=c},b.prototype.walkSourceContents=function a(g){for(var b=0,e=this.children.length;b<e;b++)this.children[b][c]&&this.children[b].walkSourceContents(g);var f=Object.keys(this.sourceContents);for(var b=0,e=f.length;b<e;b++)g(d.fromSetString(f[b]),this.sourceContents[f[b]])},b.prototype.toString=function a(){var b='';return this.walk(function(a){b+=a}),b},b.prototype.toStringWithSourceMap=function a(k){var b={code:'',line:1,column:0},c=new f(k),d=!1,e=null,g=null,i=null,j=null;return this.walk(function(k,a){b.code+=k,a.source!==null&&a.line!==null&&a.column!==null?((e!==a.source||g!==a.line||i!==a.column||j!==a.name)&&c.addMapping({source:a.source,original:{line:a.line,column:a.column},generated:{line:b.line,column:b.column},name:a.name}),e=a.source,g=a.line,i=a.column,j=a.name,d=!0):d&&(c.addMapping({generated:{line:b.line,column:b.column}}),e=null,d=!1);for(var f=0,l=k.length;f<l;f++)k.charCodeAt(f)===h?(b.line++,b.column=0,f+1===l?(e=null,d=!1):d&&c.addMapping({source:a.source,original:{line:a.line,column:a.column},generated:{line:b.line,column:b.column},name:a.name})):b.column++}),this.walkSourceContents(function(a,b){c.setSourceContent(a,b)}),{code:b.code,map:c}},i.SourceNode=b}),a.define('/node_modules/source-map/lib/util.js',function(u,a,w,v){function o(b,a,c){if(a in b)return b[a];else if(arguments.length===3)return c;else throw new Error('"'+a+'" is a required argument.')}function d(b){var a=b.match(e);return a?{scheme:a[1],auth:a[2],host:a[3],port:a[4],path:a[5]}:null}function b(a){var b='';return a.scheme&&(b+=a.scheme+':'),b+='//',a.auth&&(b+=a.auth+'@'),a.host&&(b+=a.host),a.port&&(b+=':'+a.port),a.path&&(b+=a.path),b}function f(j){var c=j,e=d(j);if(e){if(!e.path)return j;c=e.path}var k=a.isAbsolute(c),f=c.split(/\/+/);for(var i,h=0,g=f.length-1;g>=0;g--)i=f[g],i==='.'?f.splice(g,1):i==='..'?h++:h>0&&(i===''?(f.splice(g+1,h),h=0):(f.splice(g,2),h--));return c=f.join('/'),c===''&&(c=k?'/':'.'),e?(e.path=c,b(e)):c}function i(g,c){g===''&&(g='.'),c===''&&(c='.');var e=d(c),a=d(g);if(a&&(g=a.path||'/'),e&&!e.scheme)return a&&(e.scheme=a.scheme),b(e);if(e||c.match(h))return c;if(a&&!a.host&&!a.path)return a.host=c,b(a);var i=c.charAt(0)==='/'?c:f(g.replace(/\/+$/,'')+'/'+c);return a?(a.path=i,b(a)):i}function r(a,b){a===''&&(a='.'),a=a.replace(/\/$/,'');var c=0;while(b.indexOf(a+'/')!==0){var d=a.lastIndexOf('/');if(d<0)return b;if(a=a.slice(0,d),a.match(/^([^\/]+:\/)?\/*$/))return b;++c}return Array(c+1).join('../')+b.substr(a.length+1)}function j(a){return a}function l(a){return k(a)?'$'+a:a}function n(a){return k(a)?a.slice(1):a}function k(a){if(!a)return!1;var b=a.length;if(b<9)return!1;if(a.charCodeAt(b-1)!==95||a.charCodeAt(b-2)!==95||a.charCodeAt(b-3)!==111||a.charCodeAt(b-4)!==116||a.charCodeAt(b-5)!==111||a.charCodeAt(b-6)!==114||a.charCodeAt(b-7)!==112||a.charCodeAt(b-8)!==95||a.charCodeAt(b-9)!==95)return!1;for(var c=b-10;c>=0;c--)if(a.charCodeAt(c)!==36)return!1;return!0}function p(b,d,e){var a=c(b.source,d.source);return a!==0?a:(a=b.originalLine-d.originalLine,a!==0?a:(a=b.originalColumn-d.originalColumn,a!==0||e?a:(a=b.generatedColumn-d.generatedColumn,a!==0?a:(a=b.generatedLine-d.generatedLine,a!==0?a:c(b.name,d.name)))))}function q(b,d,e){var a=b.generatedLine-d.generatedLine;return a!==0?a:(a=b.generatedColumn-d.generatedColumn,a!==0||e?a:(a=c(b.source,d.source),a!==0?a:(a=b.originalLine-d.originalLine,a!==0?a:(a=b.originalColumn-d.originalColumn,a!==0?a:c(b.name,d.name)))))}function c(a,b){return a===b?0:a===null?1:b===null?-1:a>b?1:-1}function s(b,d){var a=b.generatedLine-d.generatedLine;return a!==0?a:(a=b.generatedColumn-d.generatedColumn,a!==0?a:(a=c(b.source,d.source),a!==0?a:(a=b.originalLine-d.originalLine,a!==0?a:(a=b.originalColumn-d.originalColumn,a!==0?a:c(b.name,d.name)))))}function t(a){return JSON.parse(a.replace(/^\)]}'[^\n]*\n/,''))}function m(e,a,h){if(a=a||'',e&&(e[e.length-1]!=='/'&&a[0]!=='/'&&(e+='/'),a=e+a),h){var c=d(h);if(!c)throw new Error('sourceMapURL could not be parsed');if(c.path){var g=c.path.lastIndexOf('/');g>=0&&(c.path=c.path.substring(0,g+1))}a=i(b(c),a)}return f(a)}a.getArg=o;var e=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,h=/^data:.+\,.+$/;a.urlParse=d,a.urlGenerate=b,a.normalize=f,a.join=i,a.isAbsolute=function(a){return a.charAt(0)==='/'||e.test(a)},a.relative=r;var g=function(a){return a=Object.create(null),!('__proto__'in a)}();a.toSetString=g?j:l,a.fromSetString=g?j:n,a.compareByOriginalPositions=p,a.compareByGeneratedPositionsDeflated=q,a.compareByGeneratedPositionsInflated=s,a.parseSourceMapInput=t,a.computeSourceURL=m}),a.define('/node_modules/source-map/lib/source-map-generator.js',function(f,h,i,j){function c(a){a||(a={}),this._file=b.getArg(a,'file',null),this._sourceRoot=b.getArg(a,'sourceRoot',null),this._skipValidation=b.getArg(a,'skipValidation',!1),this._sources=new e,this._names=new e,this._mappings=new g,this._sourcesContents=null}var d=a('/node_modules/source-map/lib/base64-vlq.js',f),b=a('/node_modules/source-map/lib/util.js',f),e=a('/node_modules/source-map/lib/array-set.js',f).ArraySet,g=a('/node_modules/source-map/lib/mapping-list.js',f).MappingList;c.prototype._version=3,c.fromSourceMap=function a(f){var d=f.sourceRoot,e=new c({file:f.file,sourceRoot:d});return f.eachMapping(function(a){var c={generated:{line:a.generatedLine,column:a.generatedColumn}};a.source!=null&&(c.source=a.source,d!=null&&(c.source=b.relative(d,c.source)),c.original={line:a.originalLine,column:a.originalColumn},a.name!=null&&(c.name=a.name)),e.addMapping(c)}),f.sources.forEach(function(a){var c=a;d!==null&&(c=b.relative(d,a)),e._sources.has(c)||e._sources.add(c);var g=f.sourceContentFor(a);g!=null&&e.setSourceContent(a,g)}),e},c.prototype.addMapping=function a(f){var g=b.getArg(f,'generated'),e=b.getArg(f,'original',null),c=b.getArg(f,'source',null),d=b.getArg(f,'name',null);this._skipValidation||this._validateMapping(g,e,c,d),c!=null&&(c=String(c),this._sources.has(c)||this._sources.add(c)),d!=null&&(d=String(d),this._names.has(d)||this._names.add(d)),this._mappings.add({generatedLine:g.line,generatedColumn:g.column,originalLine:e!=null&&e.line,originalColumn:e!=null&&e.column,source:c,name:d})},c.prototype.setSourceContent=function a(e,d){var c=e;this._sourceRoot!=null&&(c=b.relative(this._sourceRoot,c)),d!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[b.toSetString(c)]=d):this._sourcesContents&&(delete this._sourcesContents[b.toSetString(c)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},c.prototype.applySourceMap=function a(d,j,g){var f=j;if(j==null){if(d.file==null)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');f=d.file}var c=this._sourceRoot;c!=null&&(f=b.relative(c,f));var h=new e,i=new e;this._mappings.unsortedForEach(function(a){if(a.source===f&&a.originalLine!=null){var e=d.originalPositionFor({line:a.originalLine,column:a.originalColumn});e.source!=null&&(a.source=e.source,g!=null&&(a.source=b.join(g,a.source)),c!=null&&(a.source=b.relative(c,a.source)),a.originalLine=e.line,a.originalColumn=e.column,e.name!=null&&(a.name=e.name))}var j=a.source;j!=null&&!h.has(j)&&h.add(j);var k=a.name;k!=null&&!i.has(k)&&i.add(k)},this),this._sources=h,this._names=i,d.sources.forEach(function(a){var e=d.sourceContentFor(a);e!=null&&(g!=null&&(a=b.join(g,a)),c!=null&&(a=b.relative(c,a)),this.setSourceContent(a,e))},this)},c.prototype._validateMapping=function a(b,c,d,e){if(c&&typeof c.line!=='number'&&typeof c.column!=='number')throw new Error('original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.');if(b&&'line'in b&&'column'in b&&b.line>0&&b.column>=0&&!c&&!d&&!e)return;else if(b&&'line'in b&&'column'in b&&c&&'line'in c&&'column'in c&&b.line>0&&b.column>=0&&c.line>0&&c.column>=0&&d)return;else throw new Error('Invalid mapping: '+JSON.stringify({generated:b,source:d,original:c,name:e}))},c.prototype._serializeMappings=function a(){var g=0,i=1,o=0,l=0,k=0,j=0,p='',e,c,m,n,h=this._mappings.toArray();for(var f=0,q=h.length;f<q;f++){if(c=h[f],e='',c.generatedLine!==i){g=0;while(c.generatedLine!==i)e+=';',i++}else if(f>0){if(!b.compareByGeneratedPositionsInflated(c,h[f-1]))continue;e+=','}e+=d.encode(c.generatedColumn-g),g=c.generatedColumn,c.source!=null&&(n=this._sources.indexOf(c.source),e+=d.encode(n-j),j=n,e+=d.encode(c.originalLine-1-l),l=c.originalLine-1,e+=d.encode(c.originalColumn-o),o=c.originalColumn,c.name!=null&&(m=this._names.indexOf(c.name),e+=d.encode(m-k),k=m)),p+=e}return p},c.prototype._generateSourcesContent=function a(d,c){return d.map(function(a){if(!this._sourcesContents)return null;c!=null&&(a=b.relative(c,a));var d=b.toSetString(a);return Object.prototype.hasOwnProperty.call(this._sourcesContents,d)?this._sourcesContents[d]:null},this)},c.prototype.toJSON=function a(){var b={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(b.file=this._file),this._sourceRoot!=null&&(b.sourceRoot=this._sourceRoot),this._sourcesContents&&(b.sourcesContent=this._generateSourcesContent(b.sources,b.sourceRoot)),b},c.prototype.toString=function a(){return JSON.stringify(this.toJSON())},h.SourceMapGenerator=c}),a.define('/node_modules/source-map/lib/mapping-list.js',function(d,e,g,h){function f(a,b){var d=a.generatedLine,e=b.generatedLine,f=a.generatedColumn,g=b.generatedColumn;return e>d||e==d&&g>=f||c.compareByGeneratedPositionsInflated(a,b)<=0}function b(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}var c=a('/node_modules/source-map/lib/util.js',d);b.prototype.unsortedForEach=function a(b,c){this._array.forEach(b,c)},b.prototype.add=function a(b){f(this._last,b)?(this._last=b,this._array.push(b)):(this._sorted=!1,this._array.push(b))},b.prototype.toArray=function a(){return this._sorted||(this._array.sort(c.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=b}),a.define('/node_modules/source-map/lib/array-set.js',function(f,g,h,i){function b(){this._array=[],this._set=c?new Map:Object.create(null)}var d=a('/node_modules/source-map/lib/util.js',f),e=Object.prototype.hasOwnProperty,c=typeof Map!=='undefined';b.fromArray=function a(e,g){var d=new b;for(var c=0,f=e.length;c<f;c++)d.add(e[c],g);return d},b.prototype.size=function a(){return c?this._set.size:Object.getOwnPropertyNames(this._set).length},b.prototype.add=function a(b,i){var f=c?b:d.toSetString(b),g=c?this.has(b):e.call(this._set,f),h=this._array.length;(!g||i)&&this._array.push(b),g||(c?this._set.set(b,h):this._set[f]=h)},b.prototype.has=function a(b){if(c)return this._set.has(b);else{var f=d.toSetString(b);return e.call(this._set,f)}},b.prototype.indexOf=function a(b){if(c){var f=this._set.get(b);if(f>=0)return f}else{var g=d.toSetString(b);if(e.call(this._set,g))return this._set[g]}throw new Error('"'+b+'" is not in the set.')},b.prototype.at=function a(b){if(b>=0&&b<this._array.length)return this._array[b];throw new Error('No element indexed by '+b)},b.prototype.toArray=function a(){return this._array.slice()},g.ArraySet=b}),a.define('/node_modules/source-map/lib/base64-vlq.js',function(h,g,l,k){function j(a){return a<0?(-a<<1)+1:(a<<1)+0}function i(b){var c=(b&1)===1,a=b>>1;return c?-a:a}var f=a('/node_modules/source-map/lib/base64.js',h),b=5,e=1<<b,d=e-1,c=e;g.encode=function a(i){var g='',h,e=j(i);do h=e&d,e>>>=b,e>0&&(h|=c),g+=f.encode(h);while(e>0);return g},g.decode=function a(h,g,l){var m=h.length,j=0,k=0,n,e;do{if(g>=m)throw new Error('Expected more digits in base 64 VLQ value.');if(e=f.decode(h.charCodeAt(g++)),e===-1)throw new Error('Invalid base64 digit: '+h.charAt(g-1));n=!!(e&c),e&=d,j+=e<<k,k+=b}while(n);l.value=i(j),l.rest=g}}),a.define('/node_modules/source-map/lib/base64.js',function(c,b,d,e){var a='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');b.encode=function(b){if(0<=b&&b<a.length)return a[b];throw new TypeError('Must be between 0 and 63: '+b)},b.decode=function(a){var c=65,g=90,d=97,f=122,b=48,h=57,i=43,j=47,k=26,e=52;return c<=a&&a<=g?a-c:d<=a&&a<=f?a-d+k:b<=a&&a<=h?a-b+e:a==i?62:a==j?63:-1}}),a.define('/node_modules/source-map/lib/source-map-consumer.js',function(h,j,n,m){function c(c,f){var a=c;return typeof c==='string'&&(a=b.parseSourceMapInput(c)),a.sections!=null?new e(a,f):new d(a,f)}function d(g,j){var a=g;typeof g==='string'&&(a=b.parseSourceMapInput(g));var e=b.getArg(a,'version'),d=b.getArg(a,'sources'),i=b.getArg(a,'names',[]),c=b.getArg(a,'sourceRoot',null),k=b.getArg(a,'sourcesContent',null),l=b.getArg(a,'mappings'),h=b.getArg(a,'file',null);if(e!=this._version)throw new Error('Unsupported version: '+e);c&&(c=b.normalize(c)),d=d.map(String).map(b.normalize).map(function(a){return c&&b.isAbsolute(c)&&b.isAbsolute(a)?b.relative(c,a):a}),this._names=f.fromArray(i.map(String),!0),this._sources=f.fromArray(d,!0),this._absoluteSources=this._sources.toArray().map(function(a){return b.computeSourceURL(c,a,j)}),this.sourceRoot=c,this.sourcesContent=k,this._mappings=l,this._sourceMapURL=j,this.file=h}function l(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function e(e,i){var d=e;typeof e==='string'&&(d=b.parseSourceMapInput(e));var g=b.getArg(d,'version'),h=b.getArg(d,'sections');if(g!=this._version)throw new Error('Unsupported version: '+g);this._sources=new f,this._names=new f;var a={line:-1,column:0};this._sections=h.map(function(f){if(f.url)throw new Error('Support for url field in sections not implemented.');var d=b.getArg(f,'offset'),e=b.getArg(d,'line'),g=b.getArg(d,'column');if(e<a.line||e===a.line&&g<a.column)throw new Error('Section offsets must be ordered and non-overlapping.');return a=d,{generatedOffset:{generatedLine:e+1,generatedColumn:g+1},consumer:new c(b.getArg(f,'map'),i)}})}var b=a('/node_modules/source-map/lib/util.js',h),i=a('/node_modules/source-map/lib/binary-search.js',h),f=a('/node_modules/source-map/lib/array-set.js',h).ArraySet,k=a('/node_modules/source-map/lib/base64-vlq.js',h),g=a('/node_modules/source-map/lib/quick-sort.js',h).quickSort;c.fromSourceMap=function(a,b){return d.fromSourceMap(a,b)},c.prototype._version=3,c.prototype.__generatedMappings=null,Object.defineProperty(c.prototype,'_generatedMappings',{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),c.prototype.__originalMappings=null,Object.defineProperty(c.prototype,'_originalMappings',{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),c.prototype._charIsMappingSeparator=function a(c,d){var b=c.charAt(d);return b===';'||b===','},c.prototype._parseMappings=function a(b,c){throw new Error('Subclasses must implement _parseMappings')},c.GENERATED_ORDER=1,c.ORIGINAL_ORDER=2,c.GREATEST_LOWER_BOUND=1,c.LEAST_UPPER_BOUND=2,c.prototype.eachMapping=function a(h,i,j){var e=i||null,f=j||c.GENERATED_ORDER,d;switch(f){case c.GENERATED_ORDER:d=this._generatedMappings;break;case c.ORIGINAL_ORDER:d=this._originalMappings;break;default:throw new Error('Unknown order of iteration.')}var g=this.sourceRoot;d.map(function(a){var c=a.source===null?null:this._sources.at(a.source);return c=b.computeSourceURL(g,c,this._sourceMapURL),{source:c,generatedLine:a.generatedLine,generatedColumn:a.generatedColumn,originalLine:a.originalLine,originalColumn:a.originalColumn,name:a.name===null?null:this._names.at(a.name)}},this).forEach(h,e)},c.prototype.allGeneratedPositionsFor=function a(f){var h=b.getArg(f,'line'),d={source:b.getArg(f,'source'),originalLine:h,originalColumn:b.getArg(f,'column',0)};if(d.source=this._findSourceIndex(d.source),d.source<0)return[];var g=[],e=this._findMapping(d,this._originalMappings,'originalLine','originalColumn',b.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(e>=0){var c=this._originalMappings[e];if(f.column===undefined){var j=c.originalLine;while(c&&c.originalLine===j)g.push({line:b.getArg(c,'generatedLine',null),column:b.getArg(c,'generatedColumn',null),lastColumn:b.getArg(c,'lastGeneratedColumn',null)}),c=this._originalMappings[++e]}else{var k=c.originalColumn;while(c&&c.originalLine===h&&c.originalColumn==k)g.push({line:b.getArg(c,'generatedLine',null),column:b.getArg(c,'generatedColumn',null),lastColumn:b.getArg(c,'lastGeneratedColumn',null)}),c=this._originalMappings[++e]}}return g},j.SourceMapConsumer=c,d.prototype=Object.create(c.prototype),d.prototype.consumer=c,d.prototype._findSourceIndex=function(d){var a=d;if(this.sourceRoot!=null&&(a=b.relative(this.sourceRoot,a)),this._sources.has(a))return this._sources.indexOf(a);var c;for(c=0;c<this._absoluteSources.length;++c)if(this._absoluteSources[c]==d)return c;return-1},d.fromSourceMap=function a(i,r){var c=Object.create(d.prototype),p=c._names=f.fromArray(i._names.toArray(),!0),m=c._sources=f.fromArray(i._sources.toArray(),!0);c.sourceRoot=i._sourceRoot,c.sourcesContent=i._generateSourcesContent(c._sources.toArray(),c.sourceRoot),c.file=i._file,c._sourceMapURL=r,c._absoluteSources=c._sources.toArray().map(function(a){return b.computeSourceURL(c.sourceRoot,a,r)});var k=i._mappings.toArray().slice(),n=c.__generatedMappings=[],o=c.__originalMappings=[];for(var j=0,q=k.length;j<q;j++){var h=k[j],e=new l;e.generatedLine=h.generatedLine,e.generatedColumn=h.generatedColumn,h.source&&(e.source=m.indexOf(h.source),e.originalLine=h.originalLine,e.originalColumn=h.originalColumn,h.name&&(e.name=p.indexOf(h.name)),o.push(e)),n.push(e)}return g(c.__originalMappings,b.compareByOriginalPositions),c},d.prototype._version=3,Object.defineProperty(d.prototype,'sources',{get:function(){return this._absoluteSources.slice()}}),d.prototype._parseMappings=function a(h,x){var t=1,i=0,p=0,u=0,q=0,r=0,s=h.length,e=0,v={},j={},m=[],n=[],d,o,c,f,w;while(e<s)if(h.charAt(e)===';')t++,e++,i=0;else if(h.charAt(e)===',')e++;else{for(d=new l,d.generatedLine=t,f=e;f<s;f++)if(this._charIsMappingSeparator(h,f))break;if(o=h.slice(e,f),c=v[o],c)e+=o.length;else{c=[];while(e<f)k.decode(h,e,j),w=j.value,e=j.rest,c.push(w);if(c.length===2)throw new Error('Found a source, but no line and column');if(c.length===3)throw new Error('Found a source and line, but no column');v[o]=c}d.generatedColumn=i+c[0],i=d.generatedColumn,c.length>1&&(d.source=q+c[1],q+=c[1],d.originalLine=p+c[2],p=d.originalLine,d.originalLine+=1,d.originalColumn=u+c[3],u=d.originalColumn,c.length>4&&(d.name=r+c[4],r+=c[4])),n.push(d),typeof d.originalLine==='number'&&m.push(d)}g(n,b.compareByGeneratedPositionsDeflated),this.__generatedMappings=n,g(m,b.compareByOriginalPositions),this.__originalMappings=m},d.prototype._findMapping=function a(b,e,c,d,f,g){if(b[c]<=0)throw new TypeError('Line must be greater than or equal to 1, got '+b[c]);if(b[d]<0)throw new TypeError('Column must be greater than or equal to 0, got '+b[d]);return i.search(b,e,f,g)},d.prototype.computeColumnSpans=function a(){for(var b=0;b<this._generatedMappings.length;++b){var c=this._generatedMappings[b];if(b+1<this._generatedMappings.length){var d=this._generatedMappings[b+1];if(c.generatedLine===d.generatedLine){c.lastGeneratedColumn=d.generatedColumn-1;continue}}c.lastGeneratedColumn=Infinity}},d.prototype.originalPositionFor=function a(g){var h={generatedLine:b.getArg(g,'line'),generatedColumn:b.getArg(g,'column')},i=this._findMapping(h,this._generatedMappings,'generatedLine','generatedColumn',b.compareByGeneratedPositionsDeflated,b.getArg(g,'bias',c.GREATEST_LOWER_BOUND));if(i>=0){var e=this._generatedMappings[i];if(e.generatedLine===h.generatedLine){var d=b.getArg(e,'source',null);d!==null&&(d=this._sources.at(d),d=b.computeSourceURL(this.sourceRoot,d,this._sourceMapURL));var f=b.getArg(e,'name',null);return f!==null&&(f=this._names.at(f)),{source:d,line:b.getArg(e,'originalLine',null),column:b.getArg(e,'originalColumn',null),name:f}}}return{source:null,line:null,column:null,name:null}},d.prototype.hasContentsOfAllSources=function a(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(a){return a==null}):!1},d.prototype.sourceContentFor=function a(g,h){if(!this.sourcesContent)return null;var e=this._findSourceIndex(g);if(e>=0)return this.sourcesContent[e];var c=g;this.sourceRoot!=null&&(c=b.relative(this.sourceRoot,c));var d;if(this.sourceRoot!=null&&(d=b.urlParse(this.sourceRoot))){var f=c.replace(/^file:\/\//,'');if(d.scheme=='file'&&this._sources.has(f))return this.sourcesContent[this._sources.indexOf(f)];if((!d.path||d.path=='/')&&this._sources.has('/'+c))return this.sourcesContent[this._sources.indexOf('/'+c)]}if(h)return null;else throw new Error('"'+c+'" is not in the SourceMap.')},d.prototype.generatedPositionFor=function a(f){var d=b.getArg(f,'source');if(d=this._findSourceIndex(d),d<0)return{line:null,column:null,lastColumn:null};var g={source:d,originalLine:b.getArg(f,'line'),originalColumn:b.getArg(f,'column')},h=this._findMapping(g,this._originalMappings,'originalLine','originalColumn',b.compareByOriginalPositions,b.getArg(f,'bias',c.GREATEST_LOWER_BOUND));if(h>=0){var e=this._originalMappings[h];if(e.source===g.source)return{line:b.getArg(e,'generatedLine',null),column:b.getArg(e,'generatedColumn',null),lastColumn:b.getArg(e,'lastGeneratedColumn',null)}}return{line:null,column:null,lastColumn:null}},j.BasicSourceMapConsumer=d,e.prototype=Object.create(c.prototype),e.prototype.constructor=c,e.prototype._version=3,Object.defineProperty(e.prototype,'sources',{get:function(){var c=[];for(var a=0;a<this._sections.length;a++)for(var b=0;b<this._sections[a].consumer.sources.length;b++)c.push(this._sections[a].consumer.sources[b]);return c}}),e.prototype.originalPositionFor=function a(e){var d={generatedLine:b.getArg(e,'line'),generatedColumn:b.getArg(e,'column')},f=i.search(d,this._sections,function(b,c){var a=b.generatedLine-c.generatedOffset.generatedLine;return a?a:b.generatedColumn-c.generatedOffset.generatedColumn}),c=this._sections[f];return c?c.consumer.originalPositionFor({line:d.generatedLine-(c.generatedOffset.generatedLine-1),column:d.generatedColumn-(c.generatedOffset.generatedLine===d.generatedLine?c.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},e.prototype.hasContentsOfAllSources=function a(){return this._sections.every(function(a){return a.consumer.hasContentsOfAllSources()})},e.prototype.sourceContentFor=function a(d,f){for(var b=0;b<this._sections.length;b++){var e=this._sections[b],c=e.consumer.sourceContentFor(d,!0);if(c)return c}if(f)return null;else throw new Error('"'+d+'" is not in the SourceMap.')},e.prototype.generatedPositionFor=function a(f){for(var e=0;e<this._sections.length;e++){var c=this._sections[e];if(c.consumer._findSourceIndex(b.getArg(f,'source'))===-1)continue;var d=c.consumer.generatedPositionFor(f);if(d){var g={line:d.line+(c.generatedOffset.generatedLine-1),column:d.column+(c.generatedOffset.generatedLine===d.line?c.generatedOffset.generatedColumn-1:0)};return g}}return{line:null,column:null}},e.prototype._parseMappings=function a(l,m){this.__generatedMappings=[],this.__originalMappings=[];for(var i=0;i<this._sections.length;i++){var d=this._sections[i],k=d.consumer._generatedMappings;for(var j=0;j<k.length;j++){var c=k[j],e=d.consumer._sources.at(c.source);e=b.computeSourceURL(d.consumer.sourceRoot,e,this._sourceMapURL),this._sources.add(e),e=this._sources.indexOf(e);var f=null;c.name&&(f=d.consumer._names.at(c.name),this._names.add(f),f=this._names.indexOf(f));var h={source:e,generatedLine:c.generatedLine+(d.generatedOffset.generatedLine-1),generatedColumn:c.generatedColumn+(d.generatedOffset.generatedLine===c.generatedLine?d.generatedOffset.generatedColumn-1:0),originalLine:c.originalLine,originalColumn:c.originalColumn,name:f};this.__generatedMappings.push(h),typeof h.originalLine==='number'&&this.__originalMappings.push(h)}}g(this.__generatedMappings,b.compareByGeneratedPositionsDeflated),g(this.__originalMappings,b.compareByOriginalPositions)},j.IndexedSourceMapConsumer=e}),a.define('/node_modules/source-map/lib/quick-sort.js',function(e,c,f,g){function a(a,b,c){var d=a[b];a[b]=a[c],a[c]=d}function d(a,b){return Math.round(a+Math.random()*(b-a))}function b(c,i,g,e){if(g<e){var k=d(g,e),h=g-1;a(c,k,e);var l=c[e];for(var f=g;f<e;f++)i(c[f],l)<=0&&(h+=1,a(c,h,f));a(c,h+1,f);var j=h+1;b(c,i,g,j-1),b(c,i,j+1,e)}}c.quickSort=function(a,c){b(a,c,0,a.length-1)}}),a.define('/node_modules/source-map/lib/binary-search.js',function(c,a,d,e){function b(d,e,h,f,i,g){var c=Math.floor((e-d)/2)+d,j=i(h,f[c],!0);return j===0?c:j>0?e-c>1?b(c,e,h,f,i,g):g==a.LEAST_UPPER_BOUND?e<f.length?e:-1:c:c-d>1?b(d,c,h,f,i,g):g==a.LEAST_UPPER_BOUND?c:d<0?-1:d}a.GREATEST_LOWER_BOUND=1,a.LEAST_UPPER_BOUND=2,a.search=function c(g,e,f,h){if(e.length===0)return-1;var d=b(-1,e.length,g,e,f,h||a.GREATEST_LOWER_BOUND);if(d<0)return-1;while(d-1>=0){if(f(e[d],e[d-1],!0)!==0)break;--d}return d}}),a.define('/node_modules/esutils/lib/utils.js',function(b,c,d,e){!function(){'use strict';c.ast=a('/node_modules/esutils/lib/ast.js',b),c.code=a('/node_modules/esutils/lib/code.js',b),c.keyword=a('/node_modules/esutils/lib/keyword.js',b)}()}),a.define('/node_modules/esutils/lib/keyword.js',function(b,c,d,e){!function(c){'use strict';function m(a){switch(a){case'implements':case'interface':case'package':case'private':case'protected':case'public':case'static':case'let':return!0;default:return!1}}function f(a,b){return!b&&a==='yield'?!1:d(a,b)}function d(a,b){if(b&&m(a))return!0;switch(a.length){case 2:return a==='if'||a==='in'||a==='do';case 3:return a==='var'||a==='for'||a==='new'||a==='try';case 4:return a==='this'||a==='else'||a==='case'||a==='void'||a==='with'||a==='enum';case 5:return a==='while'||a==='break'||a==='catch'||a==='throw'||a==='const'||a==='yield'||a==='class'||a==='super';case 6:return a==='return'||a==='typeof'||a==='delete'||a==='switch'||a==='export'||a==='import';case 7:return a==='default'||a==='finally'||a==='extends';case 8:return a==='function'||a==='continue'||a==='debugger';case 10:return a==='instanceof';default:return!1}}function g(a,b){return a==='null'||a==='true'||a==='false'||f(a,b)}function e(a,b){return a==='null'||a==='true'||a==='false'||d(a,b)}function j(a){return a==='eval'||a==='arguments'}function h(a){var b,e,d;if(a.length===0)return!1;if(d=a.charCodeAt(0),!c.isIdentifierStartES5(d))return!1;for(b=1,e=a.length;b<e;++b)if(d=a.charCodeAt(b),!c.isIdentifierPartES5(d))return!1;return!0}function l(a,b){return(a-55296)*1024+(b-56320)+65536}function i(d){var a,f,b,e,g;if(d.length===0)return!1;for(g=c.isIdentifierStartES6,a=0,f=d.length;a<f;++a){if(b=d.charCodeAt(a),55296<=b&&b<=56319){if(++a,a>=f)return!1;if(e=d.charCodeAt(a),!(56320<=e&&e<=57343))return!1;b=l(b,e)}if(!g(b))return!1;g=c.isIdentifierPartES6}return!0}function n(a,b){return h(a)&&!g(a,b)}function k(a,b){return i(a)&&!e(a,b)}c=a('/node_modules/esutils/lib/code.js',b),b.exports={isKeywordES5:f,isKeywordES6:d,isReservedWordES5:g,isReservedWordES6:e,isRestrictedWord:j,isIdentifierNameES5:h,isIdentifierNameES6:i,isIdentifierES5:n,isIdentifierES6:k}}()}),a.define('/node_modules/esutils/lib/code.js',function(a,b,c,d){!function(g,f,h,c,d,b){'use strict';function n(a){return 48<=a&&a<=57}function i(a){return 48<=a&&a<=57||97<=a&&a<=102||65<=a&&a<=70}function k(a){return a>=48&&a<=55}function l(a){return a===32||a===9||a===11||a===12||a===160||a>=5760&&h.indexOf(a)>=0}function m(a){return a===10||a===13||a===8232||a===8233}function e(a){if(a<=65535)return String.fromCharCode(a);var b=String.fromCharCode(Math.floor((a-65536)/1024)+55296),c=String.fromCharCode((a-65536)%1024+56320);return b+c}function o(a){return a<128?c[a]:f.NonAsciiIdentifierStart.test(e(a))}function p(a){return a<128?d[a]:f.NonAsciiIdentifierPart.test(e(a))}function q(a){return a<128?c[a]:g.NonAsciiIdentifierStart.test(e(a))}function j(a){return a<128?d[a]:g.NonAsciiIdentifierPart.test(e(a))}for(f={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},g={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B2\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDE00-\uDE11\uDE13-\uDE2B\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDE00-\uDE2F\uDE44\uDE80-\uDEAA]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B2\u08E4-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58\u0C59\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D60-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA69D\uA69F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA7AD\uA7B0\uA7B1\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB5F\uAB64\uAB65\uABC0-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2D\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDD0-\uDDDA\uDE00-\uDE11\uDE13-\uDE37\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF01-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF98]|\uD809[\uDC00-\uDC6E]|[\uD80C\uD840-\uD868\uD86A-\uD86C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},h=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],c=new Array(128),b=0;b<128;++b)c[b]=b>=97&&b<=122||b>=65&&b<=90||b===36||b===95;for(d=new Array(128),b=0;b<128;++b)d[b]=b>=97&&b<=122||b>=65&&b<=90||b>=48&&b<=57||b===36||b===95;a.exports={isDecimalDigit:n,isHexDigit:i,isOctalDigit:k,isWhiteSpace:l,isLineTerminator:m,isIdentifierStartES5:o,isIdentifierPartES5:p,isIdentifierStartES6:q,isIdentifierPartES6:j}}()}),a.define('/node_modules/esutils/lib/ast.js',function(a,b,c,d){!function(){'use strict';function d(a){if(a==null)return!1;switch(a.type){case'ArrayExpression':case'AssignmentExpression':case'BinaryExpression':case'CallExpression':case'ConditionalExpression':case'FunctionExpression':case'Identifier':case'Literal':case'LogicalExpression':case'MemberExpression':case'NewExpression':case'ObjectExpression':case'SequenceExpression':case'ThisExpression':case'UnaryExpression':case'UpdateExpression':return!0}return!1}function e(a){if(a==null)return!1;switch(a.type){case'DoWhileStatement':case'ForInStatement':case'ForStatement':case'WhileStatement':return!0}return!1}function b(a){if(a==null)return!1;switch(a.type){case'BlockStatement':case'BreakStatement':case'ContinueStatement':case'DebuggerStatement':case'DoWhileStatement':case'EmptyStatement':case'ExpressionStatement':case'ForInStatement':case'ForStatement':case'IfStatement':case'LabeledStatement':case'ReturnStatement':case'SwitchStatement':case'ThrowStatement':case'TryStatement':case'VariableDeclaration':case'WhileStatement':case'WithStatement':return!0}return!1}function f(a){return b(a)||a!=null&&a.type==='FunctionDeclaration'}function c(a){switch(a.type){case'IfStatement':return a.alternate!=null?a.alternate:a.consequent;case'LabeledStatement':case'ForStatement':case'ForInStatement':case'WhileStatement':case'WithStatement':return a.body}return null}function g(b){var a;if(b.type!=='IfStatement')return!1;if(b.alternate==null)return!1;a=b.consequent;do{if(a.type==='IfStatement'&&a.alternate==null)return!0;a=c(a)}while(a);return!1}a.exports={isExpression:d,isStatement:b,isIterationStatement:e,isSourceElement:f,isProblematicIfStatement:g,trailingStatement:c}}()}),a.define('/node_modules/estraverse/estraverse.js',function(b,c,d,e){!function c(f){'use strict';function u(){}function o(d){var c={},a,b;for(a in d)d.hasOwnProperty(a)&&(b=d[a],typeof b==='object'&&b!==null?c[a]=o(b):c[a]=b);return c}function A(b){var c={},a;for(a in b)b.hasOwnProperty(a)&&(c[a]=b[a]);return c}function z(e,f){var b,a,c,d;a=e.length,c=0;while(a)b=a>>>1,d=c+b,f(e[d])?a=b:(c=d+1,a-=b+1);return c}function v(e,f){var b,a,c,d;a=e.length,c=0;while(a)b=a>>>1,d=c+b,f(e[d])?(c=d+1,a-=b+1):a=b;return c}function w(d,e){var b=q(e),c,a,f;for(a=0,f=b.length;a<f;a+=1)c=b[a],d[c]=e[c];return d}function k(a,b){this.parent=a,this.key=b}function g(a,b,c,d){this.node=a,this.path=b,this.wrap=c,this.ref=d}function d(){}function m(a){return a==null?!1:typeof a==='object'&&typeof a.type==='string'}function s(a,b){return(a===n.ObjectExpression||a===n.ObjectPattern)&&'properties'===b}function p(b,c){var a=new d;return a.traverse(b,c)}function y(b,c){var a=new d;return a.replace(b,c)}function B(a,c){var b;return b=z(c,function b(c){return c.range[0]>a.range[0]}),a.extendedRange=[a.range[0],a.range[1]],b!==c.length&&(a.extendedRange[1]=c[b].range[0]),b-=1,b>=0&&(a.extendedRange[0]=c[b].range[1]),a}function x(d,e,h){var a=[],g,f,c,b;if(!d.range)throw new Error('attachComments needs range information');if(!h.length){if(e.length){for(c=0,f=e.length;c<f;c+=1)g=o(e[c]),g.extendedRange=[0,d.range[0]],a.push(g);d.leadingComments=a}return d}for(c=0,f=e.length;c<f;c+=1)a.push(B(o(e[c]),h));return b=0,p(d,{enter:function(c){var d;while(b<a.length){if(d=a[b],d.extendedRange[1]>c.range[0])break;d.extendedRange[1]===c.range[0]?(c.leadingComments||(c.leadingComments=[]),c.leadingComments.push(d),a.splice(b,1)):b+=1}return b===a.length?l.Break:a[b].extendedRange[0]>c.range[1]?l.Skip:void 0}}),b=0,p(d,{leave:function(c){var d;while(b<a.length){if(d=a[b],c.range[1]<d.extendedRange[0])break;c.range[1]===d.extendedRange[0]?(c.trailingComments||(c.trailingComments=[]),c.trailingComments.push(d),a.splice(b,1)):b+=1}return b===a.length?l.Break:a[b].extendedRange[0]>c.range[1]?l.Skip:void 0}}),d}var n,j,l,r,t,q,e,i,h;return j=Array.isArray,j||(j=function a(b){return Object.prototype.toString.call(b)==='[object Array]'}),u(A),u(v),t=Object.create||function(){function a(){}return function(b){return a.prototype=b,new a}}(),q=Object.keys||function(c){var a=[],b;for(b in c)a.push(b);return a},n={AssignmentExpression:'AssignmentExpression',AssignmentPattern:'AssignmentPattern',ArrayExpression:'ArrayExpression',ArrayPattern:'ArrayPattern',ArrowFunctionExpression:'ArrowFunctionExpression',AwaitExpression:'AwaitExpression',BlockStatement:'BlockStatement',BinaryExpression:'BinaryExpression',BreakStatement:'BreakStatement',CallExpression:'CallExpression',CatchClause:'CatchClause',ClassBody:'ClassBody',ClassDeclaration:'ClassDeclaration',ClassExpression:'ClassExpression',ComprehensionBlock:'ComprehensionBlock',ComprehensionExpression:'ComprehensionExpression',ConditionalExpression:'ConditionalExpression',ContinueStatement:'ContinueStatement',DebuggerStatement:'DebuggerStatement',DirectiveStatement:'DirectiveStatement',DoWhileStatement:'DoWhileStatement',EmptyStatement:'EmptyStatement',ExportAllDeclaration:'ExportAllDeclaration',ExportDefaultDeclaration:'ExportDefaultDeclaration',ExportNamedDeclaration:'ExportNamedDeclaration',ExportSpecifier:'ExportSpecifier',ExpressionStatement:'ExpressionStatement',ForStatement:'ForStatement',ForInStatement:'ForInStatement',ForOfStatement:'ForOfStatement',FunctionDeclaration:'FunctionDeclaration',FunctionExpression:'FunctionExpression',GeneratorExpression:'GeneratorExpression',Identifier:'Identifier',IfStatement:'IfStatement',ImportDeclaration:'ImportDeclaration',ImportDefaultSpecifier:'ImportDefaultSpecifier',ImportNamespaceSpecifier:'ImportNamespaceSpecifier',ImportSpecifier:'ImportSpecifier',Literal:'Literal',LabeledStatement:'LabeledStatement',LogicalExpression:'LogicalExpression',MemberExpression:'MemberExpression',MetaProperty:'MetaProperty',MethodDefinition:'MethodDefinition',ModuleSpecifier:'ModuleSpecifier',NewExpression:'NewExpression',ObjectExpression:'ObjectExpression',ObjectPattern:'ObjectPattern',Program:'Program',Property:'Property',RestElement:'RestElement',ReturnStatement:'ReturnStatement',SequenceExpression:'SequenceExpression',SpreadElement:'SpreadElement',Super:'Super',SwitchStatement:'SwitchStatement',SwitchCase:'SwitchCase',TaggedTemplateExpression:'TaggedTemplateExpression',TemplateElement:'TemplateElement',TemplateLiteral:'TemplateLiteral',ThisExpression:'ThisExpression',ThrowStatement:'ThrowStatement',TryStatement:'TryStatement',UnaryExpression:'UnaryExpression',UpdateExpression:'UpdateExpression',VariableDeclaration:'VariableDeclaration',VariableDeclarator:'VariableDeclarator',WhileStatement:'WhileStatement',WithStatement:'WithStatement',YieldExpression:'YieldExpression'},r={AssignmentExpression:['left','right'],AssignmentPattern:['left','right'],ArrayExpression:['elements'],ArrayPattern:['elements'],ArrowFunctionExpression:['params','body'],AwaitExpression:['argument'],BlockStatement:['body'],BinaryExpression:['left','right'],BreakStatement:['label'],CallExpression:['callee','arguments'],CatchClause:['param','body'],ClassBody:['body'],ClassDeclaration:['id','superClass','body'],ClassExpression:['id','superClass','body'],ComprehensionBlock:['left','right'],ComprehensionExpression:['blocks','filter','body'],ConditionalExpression:['test','consequent','alternate'],ContinueStatement:['label'],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:['body','test'],EmptyStatement:[],ExportAllDeclaration:['source'],ExportDefaultDeclaration:['declaration'],ExportNamedDeclaration:['declaration','specifiers','source'],ExportSpecifier:['exported','local'],ExpressionStatement:['expression'],ForStatement:['init','test','update','body'],ForInStatement:['left','right','body'],ForOfStatement:['left','right','body'],FunctionDeclaration:['id','params','body'],FunctionExpression:['id','params','body'],GeneratorExpression:['blocks','filter','body'],Identifier:[],IfStatement:['test','consequent','alternate'],ImportDeclaration:['specifiers','source'],ImportDefaultSpecifier:['local'],ImportNamespaceSpecifier:['local'],ImportSpecifier:['imported','local'],Literal:[],LabeledStatement:['label','body'],LogicalExpression:['left','right'],MemberExpression:['object','property'],MetaProperty:['meta','property'],MethodDefinition:['key','value'],ModuleSpecifier:[],NewExpression:['callee','arguments'],ObjectExpression:['properties'],ObjectPattern:['properties'],Program:['body'],Property:['key','value'],RestElement:['argument'],ReturnStatement:['argument'],SequenceExpression:['expressions'],SpreadElement:['argument'],Super:[],SwitchStatement:['discriminant','cases'],SwitchCase:['test','consequent'],TaggedTemplateExpression:['tag','quasi'],TemplateElement:[],TemplateLiteral:['quasis','expressions'],ThisExpression:[],ThrowStatement:['argument'],TryStatement:['block','handler','finalizer'],UnaryExpression:['argument'],UpdateExpression:['argument'],VariableDeclaration:['declarations'],VariableDeclarator:['id','init'],WhileStatement:['test','body'],WithStatement:['object','body'],YieldExpression:['argument']},e={},i={},h={},l={Break:e,Skip:i,Remove:h},k.prototype.replace=function a(b){this.parent[this.key]=b},k.prototype.remove=function a(){return j(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},d.prototype.path=function a(){function e(b,a){if(j(a))for(c=0,g=a.length;c<g;++c)b.push(a[c]);else b.push(a)}var b,f,c,g,d,h;if(!this.__current.path)return null;for(d=[],b=2,f=this.__leavelist.length;b<f;++b)h=this.__leavelist[b],e(d,h.path);return e(d,this.__current.path),d},d.prototype.type=function(){var a=this.current();return a.type||this.__current.wrap},d.prototype.parents=function a(){var b,d,c;for(c=[],b=1,d=this.__leavelist.length;b<d;++b)c.push(this.__leavelist[b].node);return c},d.prototype.current=function a(){return this.__current.node},d.prototype.__execute=function a(c,d){var e,b;return b=undefined,e=this.__current,this.__current=d,this.__state=null,c&&(b=c.call(this,d.node,this.__leavelist[this.__leavelist.length-1].node)),this.__current=e,b},d.prototype.notify=function a(b){this.__state=b},d.prototype.skip=function(){this.notify(i)},d.prototype['break']=function(){this.notify(e)},d.prototype.remove=function(){this.notify(h)},d.prototype.__initialize=function(b,a){this.visitor=a,this.root=b,this.__worklist=[],this.__leavelist=[],this.__current=null,this.__state=null,this.__fallback=null,a.fallback==='iteration'?this.__fallback=q:typeof a.fallback==='function'&&(this.__fallback=a.fallback),this.__keys=r,a.keys&&(this.__keys=w(t(this.__keys),a.keys))},d.prototype.traverse=function a(u,t){var f,p,b,n,q,k,l,o,d,h,c,r;this.__initialize(u,t),r={},f=this.__worklist,p=this.__leavelist,f.push(new g(u,null,null,null)),p.push(new g(null,null,null,null));while(f.length){if(b=f.pop(),b===r){if(b=p.pop(),k=this.__execute(t.leave,b),this.__state===e||k===e)return;continue}if(b.node){if(k=this.__execute(t.enter,b),this.__state===e||k===e)return;if(f.push(r),p.push(b),this.__state===i||k===i)continue;if(n=b.node,q=n.type||b.wrap,h=this.__keys[q],!h)if(this.__fallback)h=this.__fallback(n);else throw new Error('Unknown node type '+q+'.');o=h.length;while((o-=1)>=0){if(l=h[o],c=n[l],!c)continue;if(j(c)){d=c.length;while((d-=1)>=0){if(!c[d])continue;if(s(q,h[o]))b=new g(c[d],[l,d],'Property',null);else if(m(c[d]))b=new g(c[d],[l,d],null,null);else continue;f.push(b)}}else m(c)&&f.push(new g(c,l,null,null))}}}},d.prototype.replace=function a(v,w){function y(b){var c,d,a,e;if(b.ref.remove()){d=b.ref.key,e=b.ref.parent,c=l.length;while(c--)if(a=l[c],a.ref&&a.ref.parent===e){if(a.ref.key<d)break;--a.ref.key}}}var l,u,o,r,c,b,t,f,n,d,x,q,p;this.__initialize(v,w),x={},l=this.__worklist,u=this.__leavelist,q={root:v},b=new g(v,null,null,new k(q,'root')),l.push(b),u.push(b);while(l.length){if(b=l.pop(),b===x){if(b=u.pop(),c=this.__execute(w.leave,b),c!==undefined&&c!==e&&c!==i&&c!==h&&b.ref.replace(c),(this.__state===h||c===h)&&y(b),this.__state===e||c===e)return q.root;continue}if(c=this.__execute(w.enter,b),c!==undefined&&c!==e&&c!==i&&c!==h&&(b.ref.replace(c),b.node=c),(this.__state===h||c===h)&&(y(b),b.node=null),this.__state===e||c===e)return q.root;if(o=b.node,!o)continue;if(l.push(x),u.push(b),this.__state===i||c===i)continue;if(r=o.type||b.wrap,n=this.__keys[r],!n)if(this.__fallback)n=this.__fallback(o);else throw new Error('Unknown node type '+r+'.');t=n.length;while((t-=1)>=0){if(p=n[t],d=o[p],!d)continue;if(j(d)){f=d.length;while((f-=1)>=0){if(!d[f])continue;if(s(r,n[t]))b=new g(d[f],[p,f],'Property',new k(d,f));else if(m(d[f]))b=new g(d[f],[p,f],null,new k(d,f));else continue;l.push(b)}}else m(d)&&l.push(new g(d,p,null,new k(o,p)))}}return q.root},f.version=a('/node_modules/estraverse/package.json',b).version,f.Syntax=n,f.traverse=p,f.replace=y,f.attachComments=x,f.VisitorKeys=r,f.VisitorOption=l,f.Controller=d,f.cloneEnvironment=function(){return c({})},f}(c)}),a.define('/node_modules/estraverse/package.json',function(a,b,c,d){a.exports={_from:'estraverse@^4.2.0',_id:'estraverse@4.2.0',_inBundle:!1,_integrity:'sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=',_location:'/estraverse',_phantomChildren:{},_requested:{type:'range',registry:!0,raw:'estraverse@^4.2.0',name:'estraverse',escapedName:'estraverse',rawSpec:'^4.2.0',saveSpec:null,fetchSpec:'^4.2.0'},_requiredBy:['/','/eslint','/eslint/escope','/esquery','/esrecurse'],_resolved:'https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz',_shasum:'0dee3fed31fcd469618ce7342099fc1afa0bdb13',_spec:'estraverse@^4.2.0',_where:'/Users/faroukzquraishi/escodegen',bugs:{url:'https://github.com/estools/estraverse/issues'},bundleDependencies:!1,deprecated:!1,description:'ECMAScript JS AST traversal functions',devDependencies:{'babel-preset-es2015':'^6.3.13','babel-register':'^6.3.13',chai:'^2.1.1',espree:'^1.11.0',gulp:'^3.8.10','gulp-bump':'^0.2.2','gulp-filter':'^2.0.0','gulp-git':'^1.0.1','gulp-tag-version':'^1.2.1',jshint:'^2.5.6',mocha:'^2.1.0'},engines:{node:'>=0.10.0'},homepage:'https://github.com/estools/estraverse',license:'BSD-2-Clause',main:'estraverse.js',maintainers:[{name:'Yusuke Suzuki',email:'utatane.tea@gmail.com',url:'http://github.com/Constellation'}],name:'estraverse',repository:{type:'git',url:'git+ssh://git@github.com/estools/estraverse.git'},scripts:{lint:'jshint estraverse.js',test:'npm run-script lint && npm run-script unit-test','unit-test':'mocha --compilers js:babel-register'},version:'4.2.0'}}),a('/tools/entry-point.js')}.call(this,this))
</script>
<script>
/*
Copyright (C) 2012-2013 Yusuke Suzuki <utatane.tea@gmail.com>
Copyright (C) 2012 Ariya Hidayat <ariya.hidayat@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*jslint vars:false, bitwise:true*/
/*jshint indent:4*/
/*global exports:true, define:true*/
(function (root, factory) {
'use strict';
// Universal Module Definition (UMD) to support AMD, CommonJS/Node.js,
// and plain browser loading,
if (typeof define === 'function' && define.amd) {
define(['exports'], factory);
} else if (typeof exports !== 'undefined') {
factory(exports);
} else {
factory((root.estraverse = {}));
}
}(this, function (exports) {
'use strict';
var Syntax,
isArray,
VisitorOption,
VisitorKeys,
objectCreate,
objectKeys,
BREAK,
SKIP,
REMOVE;
function ignoreJSHintError() { }
isArray = Array.isArray;
if (!isArray) {
isArray = function isArray(array) {
return Object.prototype.toString.call(array) === '[object Array]';
};
}
function deepCopy(obj) {
var ret = {}, key, val;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
val = obj[key];
if (typeof val === 'object' && val !== null) {
ret[key] = deepCopy(val);
} else {
ret[key] = val;
}
}
}
return ret;
}
function shallowCopy(obj) {
var ret = {}, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) {
ret[key] = obj[key];
}
}
return ret;
}
ignoreJSHintError(shallowCopy);
// based on LLVM libc++ upper_bound / lower_bound
// MIT License
function upperBound(array, func) {
var diff, len, i, current;
len = array.length;
i = 0;
while (len) {
diff = len >>> 1;
current = i + diff;
if (func(array[current])) {
len = diff;
} else {
i = current + 1;
len -= diff + 1;
}
}
return i;
}
function lowerBound(array, func) {
var diff, len, i, current;
len = array.length;
i = 0;
while (len) {
diff = len >>> 1;
current = i + diff;
if (func(array[current])) {
i = current + 1;
len -= diff + 1;
} else {
len = diff;
}
}
return i;
}
ignoreJSHintError(lowerBound);
objectCreate = Object.create || (function () {
function F() { }
return function (o) {
F.prototype = o;
return new F();
};
})();
objectKeys = Object.keys || function (o) {
var keys = [], key;
for (key in o) {
keys.push(key);
}
return keys;
};
function extend(to, from) {
objectKeys(from).forEach(function (key) {
to[key] = from[key];
});
return to;
}
Syntax = {
AssignmentExpression: 'AssignmentExpression',
ArrayExpression: 'ArrayExpression',
ArrayPattern: 'ArrayPattern',
ArrowFunctionExpression: 'ArrowFunctionExpression',
BlockStatement: 'BlockStatement',
BinaryExpression: 'BinaryExpression',
BreakStatement: 'BreakStatement',
CallExpression: 'CallExpression',
CatchClause: 'CatchClause',
ClassBody: 'ClassBody',
ClassDeclaration: 'ClassDeclaration',
ClassExpression: 'ClassExpression',
ComprehensionBlock: 'ComprehensionBlock', // CAUTION: It's deferred to ES7.
ComprehensionExpression: 'ComprehensionExpression', // CAUTION: It's deferred to ES7.
ConditionalExpression: 'ConditionalExpression',
ContinueStatement: 'ContinueStatement',
DebuggerStatement: 'DebuggerStatement',
DirectiveStatement: 'DirectiveStatement',
DoWhileStatement: 'DoWhileStatement',
EmptyStatement: 'EmptyStatement',
ExportBatchSpecifier: 'ExportBatchSpecifier',
ExportDeclaration: 'ExportDeclaration',
ExportSpecifier: 'ExportSpecifier',
ExpressionStatement: 'ExpressionStatement',
ForStatement: 'ForStatement',
ForInStatement: 'ForInStatement',
ForOfStatement: 'ForOfStatement',
FunctionDeclaration: 'FunctionDeclaration',
FunctionExpression: 'FunctionExpression',
GeneratorExpression: 'GeneratorExpression', // CAUTION: It's deferred to ES7.
Identifier: 'Identifier',
IfStatement: 'IfStatement',
ImportDeclaration: 'ImportDeclaration',
ImportDefaultSpecifier: 'ImportDefaultSpecifier',
ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',
ImportSpecifier: 'ImportSpecifier',
Literal: 'Literal',
LabeledStatement: 'LabeledStatement',
LogicalExpression: 'LogicalExpression',
MemberExpression: 'MemberExpression',
MethodDefinition: 'MethodDefinition',
ModuleSpecifier: 'ModuleSpecifier',
NewExpression: 'NewExpression',
ObjectExpression: 'ObjectExpression',
ObjectPattern: 'ObjectPattern',
Program: 'Program',
Property: 'Property',
ReturnStatement: 'ReturnStatement',
SequenceExpression: 'SequenceExpression',
SpreadElement: 'SpreadElement',
SwitchStatement: 'SwitchStatement',
SwitchCase: 'SwitchCase',
TaggedTemplateExpression: 'TaggedTemplateExpression',
TemplateElement: 'TemplateElement',
TemplateLiteral: 'TemplateLiteral',
ThisExpression: 'ThisExpression',
ThrowStatement: 'ThrowStatement',
TryStatement: 'TryStatement',
UnaryExpression: 'UnaryExpression',
UpdateExpression: 'UpdateExpression',
VariableDeclaration: 'VariableDeclaration',
VariableDeclarator: 'VariableDeclarator',
WhileStatement: 'WhileStatement',
WithStatement: 'WithStatement',
YieldExpression: 'YieldExpression'
};
VisitorKeys = {
AssignmentExpression: ['left', 'right'],
ArrayExpression: ['elements'],
ArrayPattern: ['elements'],
ArrowFunctionExpression: ['params', 'defaults', 'rest', 'body'],
BlockStatement: ['body'],
BinaryExpression: ['left', 'right'],
BreakStatement: ['label'],
CallExpression: ['callee', 'arguments'],
CatchClause: ['param', 'body'],
ClassBody: ['body'],
ClassDeclaration: ['id', 'body', 'superClass'],
ClassExpression: ['id', 'body', 'superClass'],
ComprehensionBlock: ['left', 'right'], // CAUTION: It's deferred to ES7.
ComprehensionExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7.
ConditionalExpression: ['test', 'consequent', 'alternate'],
ContinueStatement: ['label'],
DebuggerStatement: [],
DirectiveStatement: [],
DoWhileStatement: ['body', 'test'],
EmptyStatement: [],
ExportBatchSpecifier: [],
ExportDeclaration: ['declaration', 'specifiers', 'source'],
ExportSpecifier: ['id', 'name'],
ExpressionStatement: ['expression'],
ForStatement: ['init', 'test', 'update', 'body'],
ForInStatement: ['left', 'right', 'body'],
ForOfStatement: ['left', 'right', 'body'],
FunctionDeclaration: ['id', 'params', 'defaults', 'rest', 'body'],
FunctionExpression: ['id', 'params', 'defaults', 'rest', 'body'],
GeneratorExpression: ['blocks', 'filter', 'body'], // CAUTION: It's deferred to ES7.
Identifier: [],
IfStatement: ['test', 'consequent', 'alternate'],
ImportDeclaration: ['specifiers', 'source'],
ImportDefaultSpecifier: ['id'],
ImportNamespaceSpecifier: ['id'],
ImportSpecifier: ['id', 'name'],
Literal: [],
LabeledStatement: ['label', 'body'],
LogicalExpression: ['left', 'right'],
MemberExpression: ['object', 'property'],
MethodDefinition: ['key', 'value'],
ModuleSpecifier: [],
NewExpression: ['callee', 'arguments'],
ObjectExpression: ['properties'],
ObjectPattern: ['properties'],
Program: ['body'],
Property: ['key', 'value'],
ReturnStatement: ['argument'],
SequenceExpression: ['expressions'],
SpreadElement: ['argument'],
SwitchStatement: ['discriminant', 'cases'],
SwitchCase: ['test', 'consequent'],
TaggedTemplateExpression: ['tag', 'quasi'],
TemplateElement: [],
TemplateLiteral: ['quasis', 'expressions'],
ThisExpression: [],
ThrowStatement: ['argument'],
TryStatement: ['block', 'handlers', 'handler', 'guardedHandlers', 'finalizer'],
UnaryExpression: ['argument'],
UpdateExpression: ['argument'],
VariableDeclaration: ['declarations'],
VariableDeclarator: ['id', 'init'],
WhileStatement: ['test', 'body'],
WithStatement: ['object', 'body'],
YieldExpression: ['argument']
};
// unique id
BREAK = {};
SKIP = {};
REMOVE = {};
VisitorOption = {
Break: BREAK,
Skip: SKIP,
Remove: REMOVE
};
function Reference(parent, key) {
this.parent = parent;
this.key = key;
}
Reference.prototype.replace = function replace(node) {
this.parent[this.key] = node;
};
Reference.prototype.remove = function remove() {
if (isArray(this.parent)) {
this.parent.splice(this.key, 1);
return true;
} else {
this.replace(null);
return false;
}
};
function Element(node, path, wrap, ref) {
this.node = node;
this.path = path;
this.wrap = wrap;
this.ref = ref;
}
function Controller() { }
// API:
// return property path array from root to current node
Controller.prototype.path = function path() {
var i, iz, j, jz, result, element;
function addToPath(result, path) {
if (isArray(path)) {
for (j = 0, jz = path.length; j < jz; ++j) {
result.push(path[j]);
}
} else {
result.push(path);
}
}
// root node
if (!this.__current.path) {
return null;
}
// first node is sentinel, second node is root element
result = [];
for (i = 2, iz = this.__leavelist.length; i < iz; ++i) {
element = this.__leavelist[i];
addToPath(result, element.path);
}
addToPath(result, this.__current.path);
return result;
};
// API:
// return array of parent elements
Controller.prototype.parents = function parents() {
var i, iz, result;
// first node is sentinel
result = [];
for (i = 1, iz = this.__leavelist.length; i < iz; ++i) {
result.push(this.__leavelist[i].node);
}
return result;
};
// API:
// return current node
Controller.prototype.current = function current() {
return this.__current.node;
};
Controller.prototype.__execute = function __execute(callback, element) {
var previous, result;
result = undefined;
previous = this.__current;
this.__current = element;
this.__state = null;
if (callback) {
result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node);
}
this.__current = previous;
return result;
};
// API:
// notify control skip / break
Controller.prototype.notify = function notify(flag) {
this.__state = flag;
};
// API:
// skip child nodes of current node
Controller.prototype.skip = function () {
this.notify(SKIP);
};
// API:
// break traversals
Controller.prototype['break'] = function () {
this.notify(BREAK);
};
// API:
// remove node
Controller.prototype.remove = function () {
this.notify(REMOVE);
};
Controller.prototype.__initialize = function(root, visitor) {
this.visitor = visitor;
this.root = root;
this.__worklist = [];
this.__leavelist = [];
this.__current = null;
this.__state = null;
this.__fallback = visitor.fallback === 'iteration';
this.__keys = VisitorKeys;
if (visitor.keys) {
this.__keys = extend(objectCreate(this.__keys), visitor.keys);
}
};
function isNode(node) {
if (node == null) {
return false;
}
return typeof node === 'object' && typeof node.type === 'string';
}
function isProperty(nodeType, key) {
return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && 'properties' === key;
}
Controller.prototype.traverse = function traverse(root, visitor) {
var worklist,
leavelist,
element,
node,
nodeType,
ret,
key,
current,
current2,
candidates,
candidate,
sentinel;
this.__initialize(root, visitor);
sentinel = {};
// reference
worklist = this.__worklist;
leavelist = this.__leavelist;
// initialize
worklist.push(new Element(root, null, null, null));
leavelist.push(new Element(null, null, null, null));
while (worklist.length) {
element = worklist.pop();
if (element === sentinel) {
element = leavelist.pop();
ret = this.__execute(visitor.leave, element);
if (this.__state === BREAK || ret === BREAK) {
return;
}
continue;
}
if (element.node) {
ret = this.__execute(visitor.enter, element);
if (this.__state === BREAK || ret === BREAK) {
return;
}
worklist.push(sentinel);
leavelist.push(element);
if (this.__state === SKIP || ret === SKIP) {
continue;
}
node = element.node;
nodeType = element.wrap || node.type;
candidates = this.__keys[nodeType];
if (!candidates) {
if (this.__fallback) {
candidates = objectKeys(node);
} else {
throw new Error('Unknown node type ' + nodeType + '.');
}
}
current = candidates.length;
while ((current -= 1) >= 0) {
key = candidates[current];
candidate = node[key];
if (!candidate) {
continue;
}
if (isArray(candidate)) {
current2 = candidate.length;
while ((current2 -= 1) >= 0) {
if (!candidate[current2]) {
continue;
}
if (isProperty(nodeType, candidates[current])) {
element = new Element(candidate[current2], [key, current2], 'Property', null);
} else if (isNode(candidate[current2])) {
element = new Element(candidate[current2], [key, current2], null, null);
} else {
continue;
}
worklist.push(element);
}
} else if (isNode(candidate)) {
worklist.push(new Element(candidate, key, null, null));
}
}
}
}
};
Controller.prototype.replace = function replace(root, visitor) {
function removeElem(element) {
var i,
key,
nextElem,
parent;
if (element.ref.remove()) {
// When the reference is an element of an array.
key = element.ref.key;
parent = element.ref.parent;
// If removed from array, then decrease following items' keys.
i = worklist.length;
while (i--) {
nextElem = worklist[i];
if (nextElem.ref && nextElem.ref.parent === parent) {
if (nextElem.ref.key < key) {
break;
}
--nextElem.ref.key;
}
}
}
}
var worklist,
leavelist,
node,
nodeType,
target,
element,
current,
current2,
candidates,
candidate,
sentinel,
outer,
key;
this.__initialize(root, visitor);
sentinel = {};
// reference
worklist = this.__worklist;
leavelist = this.__leavelist;
// initialize
outer = {
root: root
};
element = new Element(root, null, null, new Reference(outer, 'root'));
worklist.push(element);
leavelist.push(element);
while (worklist.length) {
element = worklist.pop();
if (element === sentinel) {
element = leavelist.pop();
target = this.__execute(visitor.leave, element);
// node may be replaced with null,
// so distinguish between undefined and null in this place
if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {
// replace
element.ref.replace(target);
}
if (this.__state === REMOVE || target === REMOVE) {
removeElem(element);
}
if (this.__state === BREAK || target === BREAK) {
return outer.root;
}
continue;
}
target = this.__execute(visitor.enter, element);
// node may be replaced with null,
// so distinguish between undefined and null in this place
if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {
// replace
element.ref.replace(target);
element.node = target;
}
if (this.__state === REMOVE || target === REMOVE) {
removeElem(element);
element.node = null;
}
if (this.__state === BREAK || target === BREAK) {
return outer.root;
}
// node may be null
node = element.node;
if (!node) {
continue;
}
worklist.push(sentinel);
leavelist.push(element);
if (this.__state === SKIP || target === SKIP) {
continue;
}
nodeType = element.wrap || node.type;
candidates = this.__keys[nodeType];
if (!candidates) {
if (this.__fallback) {
candidates = objectKeys(node);
} else {
throw new Error('Unknown node type ' + nodeType + '.');
}
}
current = candidates.length;
while ((current -= 1) >= 0) {
key = candidates[current];
candidate = node[key];
if (!candidate) {
continue;
}
if (isArray(candidate)) {
current2 = candidate.length;
while ((current2 -= 1) >= 0) {
if (!candidate[current2]) {
continue;
}
if (isProperty(nodeType, candidates[current])) {
element = new Element(candidate[current2], [key, current2], 'Property', new Reference(candidate, current2));
} else if (isNode(candidate[current2])) {
element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2));
} else {
continue;
}
worklist.push(element);
}
} else if (isNode(candidate)) {
worklist.push(new Element(candidate, key, null, new Reference(node, key)));
}
}
}
return outer.root;
};
function traverse(root, visitor) {
var controller = new Controller();
return controller.traverse(root, visitor);
}
function replace(root, visitor) {
var controller = new Controller();
return controller.replace(root, visitor);
}
function extendCommentRange(comment, tokens) {
var target;
target = upperBound(tokens, function search(token) {
return token.range[0] > comment.range[0];
});
comment.extendedRange = [comment.range[0], comment.range[1]];
if (target !== tokens.length) {
comment.extendedRange[1] = tokens[target].range[0];
}
target -= 1;
if (target >= 0) {
comment.extendedRange[0] = tokens[target].range[1];
}
return comment;
}
function attachComments(tree, providedComments, tokens) {
// At first, we should calculate extended comment ranges.
var comments = [], comment, len, i, cursor;
if (!tree.range) {
throw new Error('attachComments needs range information');
}
// tokens array is empty, we attach comments to tree as 'leadingComments'
if (!tokens.length) {
if (providedComments.length) {
for (i = 0, len = providedComments.length; i < len; i += 1) {
comment = deepCopy(providedComments[i]);
comment.extendedRange = [0, tree.range[0]];
comments.push(comment);
}
tree.leadingComments = comments;
}
return tree;
}
for (i = 0, len = providedComments.length; i < len; i += 1) {
comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens));
}
// This is based on John Freeman's implementation.
cursor = 0;
traverse(tree, {
enter: function (node) {
var comment;
while (cursor < comments.length) {
comment = comments[cursor];
if (comment.extendedRange[1] > node.range[0]) {
break;
}
if (comment.extendedRange[1] === node.range[0]) {
if (!node.leadingComments) {
node.leadingComments = [];
}
node.leadingComments.push(comment);
comments.splice(cursor, 1);
} else {
cursor += 1;
}
}
// already out of owned node
if (cursor === comments.length) {
return VisitorOption.Break;
}
if (comments[cursor].extendedRange[0] > node.range[1]) {
return VisitorOption.Skip;
}
}
});
cursor = 0;
traverse(tree, {
leave: function (node) {
var comment;
while (cursor < comments.length) {
comment = comments[cursor];
if (node.range[1] < comment.extendedRange[0]) {
break;
}
if (node.range[1] === comment.extendedRange[0]) {
if (!node.trailingComments) {
node.trailingComments = [];
}
node.trailingComments.push(comment);
comments.splice(cursor, 1);
} else {
cursor += 1;
}
}
// already out of owned node
if (cursor === comments.length) {
return VisitorOption.Break;
}
if (comments[cursor].extendedRange[0] > node.range[1]) {
return VisitorOption.Skip;
}
}
});
return tree;
}
exports.version = '1.7.1';
exports.Syntax = Syntax;
exports.traverse = traverse;
exports.replace = replace;
exports.attachComments = attachComments;
exports.VisitorKeys = VisitorKeys;
exports.VisitorOption = VisitorOption;
exports.Controller = Controller;
}));
/* vim: set sw=4 ts=4 et tw=80 : */
</script>
<body>
<div>
<div id="injected_id"></div>
<br>
<br>
<br>
<br>
<br>
Standard HTML and JS below
<br>
<b>HI THERE!</b>
<div id="tele" style="border: 1px solid black">TELE:</div>
<div id="tele2" style="border: 1px solid black">TELE2:</div>
</div>
<div style="margin-top:20px">
Inside VueJS 2 below
<div id="rootel"></div>
</div>
</body>
<script>
function addWatchPoint ( vName , value ) {
}
function isValidObject ( variable ){
if ((typeof variable !== 'undefined') && (variable != null)) {
return true
}
return false
}
function logExecutionPoint ( codeBlockName , line , node ) {
}
function getDebugCode ( blockName , trcode2 , args ) {
//
// PARSE source code
//
let originalSourceParseTree = esprima.parse(trcode2,{tolerant: true , loc:true, range: true, attachComment: false})
let _b = esprima.parse(trcode2,{tolerant: true , loc:true, range: true, attachComment: false})
//
// TRANSFORM source code
//
let line = -1
let varsToAdd = {}
let skipFirstAndLastLine = false
let numLinesToSkip = 0
if (isValidObject(args)) {
if (args.skipFirstAndLastLine){
skipFirstAndLastLine=true
numLinesToSkip = 1
}
}
if (_b.body[0].type == "ExpressionStatement") {
//debugger
}
estraverse.traverse(_b, {
enter: function (node, parent) {
//
// add the line numbers
//
if (
(node.type == "ExpressionStatement")
||
(node.type == "VariableDeclaration")
||
(node.type == "AssignmentExpression")
) {
if (parent) {
if ((node.loc.start.line - numLinesToSkip) > line) {
line = (node.loc.start.line - numLinesToSkip)
if (line > 0) {
let newLine = "logExecutionPoint('" + blockName + "', " + line +",'" + JSON.stringify(node.type) + "');"
let newNode = esprima.parse(newLine)
for (let rr = 0; rr < parent.body.length; rr++){
if (parent.body[rr] == node) {
parent.body.splice(rr, 0, newNode);
break
}
}
//
// vars
//
if (node.type == "VariableDeclaration") {
if (node.declarations[0].init) {
//alert(`let ${node.declarations[0].id.name} = ${node.declarations[0].init.value}`)
let varNameToUse = node.declarations[0].id.name
if (node.kind == "var") {
if (isValidObject(varNameToUse) && varNameToUse.indexOf("undefined")==-1){
let newLine = "logVarBefore('" + blockName + "', " + node.loc.start.line + ",'" +
varNameToUse + "', " + varNameToUse + ");"
let newNode = esprima.parse(newLine)
}
}
varsToAdd[varNameToUse] = {}
let newLineAfter = "logVarAfter('" + blockName + "', " + node.loc.start.line + ",'" +
varNameToUse + "'," + varNameToUse + ");"
let newNodeAfter = esprima.parse(newLineAfter)
let logWatchVarsCode = `for (let _uu=0; _uu<Object.keys(globalWatchList).length; _uu++){try { let _vName = Object.keys(globalWatchList)[_uu];if (isValidObject(_vName)){ addWatchPoint(_vName, eval(_vName) ) }} catch(_err){}}`
let logWatchVarsNode = esprima.parse(logWatchVarsCode)
for (let rr = 0; rr < parent.body.length; rr++) {
if (parent.body[rr] == node) {
parent.body.splice(rr + 1, 0, logWatchVarsNode);
parent.body.splice(rr + 1, 0, newNodeAfter);
parent.body.splice(rr, 0, newNode);
break;
}
}
}
}
if ((node.type == "ExpressionStatement") && node.expression) {
if (node.expression.type == "CallExpression") {
let logWatchVarsCode = `for (let _uu=0; _uu<Object.keys(globalWatchList).length; _uu++){try { let _vName = Object.keys(globalWatchList)[_uu];if (isValidObject(_vName)){ addWatchPoint(_vName, eval(_vName) ) }} catch(_err){}}`
let logWatchVarsNode = esprima.parse(logWatchVarsCode)
for (let rr=0; rr<parent.body.length; rr++){
if (parent.body[rr] == node) {
if (logWatchVarsNode){
parent.body.splice(rr + 1, 0, logWatchVarsNode);
}
break; }}}}
if ((node.type == "ExpressionStatement") && node.expression) {