-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathacorn.js
1 lines (1 loc) · 134 KB
/
acorn.js
1
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).acorn={})}(this,(function(t){"use strict";var e={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},s="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",i={5:s,"5module":s+" export import",6:s+" const class extends export import super"},r=/^in(stanceof)?$/,n="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",a="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",o=new RegExp("["+n+"]"),h=new RegExp("["+n+a+"]");n=a=null;var p=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],c=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function u(t,e){for(var s=65536,i=0;i<e.length;i+=2){if((s+=e[i])>t)return!1;if((s+=e[i+1])>=t)return!0}}function l(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&o.test(String.fromCharCode(t)):!1!==e&&u(t,p)))}function d(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&h.test(String.fromCharCode(t)):!1!==e&&(u(t,p)||u(t,c)))))}var f=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function m(t,e){return new f(t,{beforeExpr:!0,binop:e})}var y={beforeExpr:!0},x={startsExpr:!0},g={};function k(t,e){return void 0===e&&(e={}),e.keyword=t,g[t]=new f(t,e)}var v={num:new f("num",x),regexp:new f("regexp",x),string:new f("string",x),name:new f("name",x),eof:new f("eof"),bracketL:new f("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new f("]"),braceL:new f("{",{beforeExpr:!0,startsExpr:!0}),braceR:new f("}"),parenL:new f("(",{beforeExpr:!0,startsExpr:!0}),parenR:new f(")"),comma:new f(",",y),semi:new f(";",y),colon:new f(":",y),dot:new f("."),question:new f("?",y),questionDot:new f("?."),arrow:new f("=>",y),template:new f("template"),invalidTemplate:new f("invalidTemplate"),ellipsis:new f("...",y),backQuote:new f("`",x),dollarBraceL:new f("${",{beforeExpr:!0,startsExpr:!0}),eq:new f("=",{beforeExpr:!0,isAssign:!0}),assign:new f("_=",{beforeExpr:!0,isAssign:!0}),incDec:new f("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new f("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:m("||",1),logicalAND:m("&&",2),bitwiseOR:m("|",3),bitwiseXOR:m("^",4),bitwiseAND:m("&",5),equality:m("==/!=/===/!==",6),relational:m("</>/<=/>=",7),bitShift:m("<</>>/>>>",8),plusMin:new f("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:m("%",10),star:m("*",10),slash:m("/",10),starstar:new f("**",{beforeExpr:!0}),coalesce:m("??",1),_break:k("break"),_case:k("case",y),_catch:k("catch"),_continue:k("continue"),_debugger:k("debugger"),_default:k("default",y),_do:k("do",{isLoop:!0,beforeExpr:!0}),_else:k("else",y),_finally:k("finally"),_for:k("for",{isLoop:!0}),_function:k("function",x),_if:k("if"),_return:k("return",y),_switch:k("switch"),_throw:k("throw",y),_try:k("try"),_var:k("var"),_const:k("const"),_while:k("while",{isLoop:!0}),_with:k("with"),_new:k("new",{beforeExpr:!0,startsExpr:!0}),_this:k("this",x),_super:k("super",x),_class:k("class",x),_extends:k("extends",y),_export:k("export"),_import:k("import",x),_null:k("null",x),_true:k("true",x),_false:k("false",x),_in:k("in",{beforeExpr:!0,binop:7}),_instanceof:k("instanceof",{beforeExpr:!0,binop:7}),_typeof:k("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:k("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:k("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},b=/\r\n?|\n|\u2028|\u2029/,E=new RegExp(b.source,"g");function S(t,e){return 10===t||13===t||!e&&(8232===t||8233===t)}var _=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,T=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,C=Object.prototype,w=C.hasOwnProperty,A=C.toString;function I(t,e){return w.call(t,e)}var N=Array.isArray||function(t){return"[object Array]"===A.call(t)};function P(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}var L=function(t,e){this.line=t,this.column=e};L.prototype.offset=function(t){return new L(this.line,this.column+t)};var V=function(t,e,s){this.start=e,this.end=s,null!==t.sourceFile&&(this.source=t.sourceFile)};function R(t,e){for(var s=1,i=0;;){E.lastIndex=i;var r=E.exec(t);if(!(r&&r.index<e))return new L(s,e-i);++s,i=r.index+r[0].length}}var M={ecmaVersion:10,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1};function D(t,e){return 2|(t?4:0)|(e?8:0)}var O=function(t,s,r){this.options=t=function(t){var e={};for(var s in M)e[s]=t&&I(t,s)?t[s]:M[s];if(e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),N(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return N(e.onComment)&&(e.onComment=function(t,e){return function(s,i,r,n,a,o){var h={type:s?"Block":"Line",value:i,start:r,end:n};t.locations&&(h.loc=new V(this,a,o)),t.ranges&&(h.range=[r,n]),e.push(h)}}(e,e.onComment)),e}(t),this.sourceFile=t.sourceFile,this.keywords=P(i[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var n="";if(!0!==t.allowReserved){for(var a=t.ecmaVersion;!(n=e[a]);a--);"module"===t.sourceType&&(n+=" await")}this.reservedWords=P(n);var o=(n?n+" ":"")+e.strict;this.reservedWordsStrict=P(o),this.reservedWordsStrictBind=P(o+" "+e.strictBind),this.input=String(s),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(b).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=v.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports={},0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null},B={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0}};O.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},B.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},B.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},B.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},B.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0},B.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},B.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},O.prototype.inNonArrowFunction=function(){return(2&this.currentThisScope().flags)>0},O.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var s=this,i=0;i<t.length;i++)s=t[i](s);return s},O.parse=function(t,e){return new this(e,t).parse()},O.parseExpressionAt=function(t,e,s){var i=new this(s,t,e);return i.nextToken(),i.parseExpression()},O.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(O.prototype,B);var F=O.prototype,U=/^(?:'((?:\\.|[^'])*?)'|"((?:\\.|[^"])*?)")/;function q(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1}F.strictDirective=function(t){for(;;){T.lastIndex=t,t+=T.exec(this.input)[0].length;var e=U.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){T.lastIndex=t+e[0].length;var s=T.exec(this.input),i=s.index+s[0].length,r=this.input.charAt(i);return";"===r||"}"===r||b.test(s[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(r)||"!"===r&&"="===this.input.charAt(i+1))}t+=e[0].length,T.lastIndex=t,t+=T.exec(this.input)[0].length,";"===this.input[t]&&t++}},F.eat=function(t){return this.type===t&&(this.next(),!0)},F.isContextual=function(t){return this.type===v.name&&this.value===t&&!this.containsEsc},F.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},F.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},F.canInsertSemicolon=function(){return this.type===v.eof||this.type===v.braceR||b.test(this.input.slice(this.lastTokEnd,this.start))},F.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},F.semicolon=function(){this.eat(v.semi)||this.insertSemicolon()||this.unexpected()},F.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},F.expect=function(t){this.eat(t)||this.unexpected()},F.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")},F.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var s=e?t.parenthesizedAssign:t.parenthesizedBind;s>-1&&this.raiseRecoverable(s,"Parenthesized pattern")}},F.checkExpressionErrors=function(t,e){if(!t)return!1;var s=t.shorthandAssign,i=t.doubleProto;if(!e)return s>=0||i>=0;s>=0&&this.raise(s,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},F.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},F.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var j=O.prototype;j.parseTopLevel=function(t){var e={};for(t.body||(t.body=[]);this.type!==v.eof;){var s=this.parseStatement(null,!0,e);t.body.push(s)}if(this.inModule)for(var i=0,r=Object.keys(this.undefinedExports);i<r.length;i+=1){var n=r[i];this.raiseRecoverable(this.undefinedExports[n].start,"Export '"+n+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var z={kind:"loop"},G={kind:"switch"};j.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;T.lastIndex=this.pos;var e=T.exec(this.input),s=this.pos+e[0].length,i=this.input.charCodeAt(s);if(91===i)return!0;if(t)return!1;if(123===i)return!0;if(l(i,!0)){for(var n=s+1;d(this.input.charCodeAt(n),!0);)++n;var a=this.input.slice(s,n);if(!r.test(a))return!0}return!1},j.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;T.lastIndex=this.pos;var t=T.exec(this.input),e=this.pos+t[0].length;return!(b.test(this.input.slice(this.pos,e))||"function"!==this.input.slice(e,e+8)||e+8!==this.input.length&&d(this.input.charAt(e+8)))},j.parseStatement=function(t,e,s){var i,r=this.type,n=this.startNode();switch(this.isLet(t)&&(r=v._var,i="let"),r){case v._break:case v._continue:return this.parseBreakContinueStatement(n,r.keyword);case v._debugger:return this.parseDebuggerStatement(n);case v._do:return this.parseDoStatement(n);case v._for:return this.parseForStatement(n);case v._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(n,!1,!t);case v._class:return t&&this.unexpected(),this.parseClass(n,!0);case v._if:return this.parseIfStatement(n);case v._return:return this.parseReturnStatement(n);case v._switch:return this.parseSwitchStatement(n);case v._throw:return this.parseThrowStatement(n);case v._try:return this.parseTryStatement(n);case v._const:case v._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(n,i);case v._while:return this.parseWhileStatement(n);case v._with:return this.parseWithStatement(n);case v.braceL:return this.parseBlock(!0,n);case v.semi:return this.parseEmptyStatement(n);case v._export:case v._import:if(this.options.ecmaVersion>10&&r===v._import){T.lastIndex=this.pos;var a=T.exec(this.input),o=this.pos+a[0].length,h=this.input.charCodeAt(o);if(40===h||46===h)return this.parseExpressionStatement(n,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===v._import?this.parseImport(n):this.parseExport(n,s);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(n,!0,!t);var p=this.value,c=this.parseExpression();return r===v.name&&"Identifier"===c.type&&this.eat(v.colon)?this.parseLabeledStatement(n,p,c,t):this.parseExpressionStatement(n,c)}},j.parseBreakContinueStatement=function(t,e){var s="break"===e;this.next(),this.eat(v.semi)||this.insertSemicolon()?t.label=null:this.type!==v.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var i=0;i<this.labels.length;++i){var r=this.labels[i];if(null==t.label||r.name===t.label.name){if(null!=r.kind&&(s||"loop"===r.kind))break;if(t.label&&s)break}}return i===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,s?"BreakStatement":"ContinueStatement")},j.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},j.parseDoStatement=function(t){return this.next(),this.labels.push(z),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(v._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(v.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},j.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction)&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(z),this.enterScope(0),this.expect(v.parenL),this.type===v.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var s=this.isLet();if(this.type===v._var||this.type===v._const||s){var i=this.startNode(),r=s?"let":this.value;return this.next(),this.parseVar(i,!0,r),this.finishNode(i,"VariableDeclaration"),(this.type===v._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===v._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,i)):(e>-1&&this.unexpected(e),this.parseFor(t,i))}var n=new q,a=this.parseExpression(!0,n);return this.type===v._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.options.ecmaVersion>=9&&(this.type===v._in?e>-1&&this.unexpected(e):t.await=e>-1),this.toAssignable(a,!1,n),this.checkLVal(a),this.parseForIn(t,a)):(this.checkExpressionErrors(n,!0),e>-1&&this.unexpected(e),this.parseFor(t,a))},j.parseFunctionStatement=function(t,e,s){return this.next(),this.parseFunction(t,H|(s?0:Q),!1,e)},j.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(v._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},j.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(v.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},j.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(v.braceL),this.labels.push(G),this.enterScope(0);for(var s=!1;this.type!==v.braceR;)if(this.type===v._case||this.type===v._default){var i=this.type===v._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(s&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),s=!0,e.test=null),this.expect(v.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},j.parseThrowStatement=function(t){return this.next(),b.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var W=[];j.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===v._catch){var e=this.startNode();if(this.next(),this.eat(v.parenL)){e.param=this.parseBindingAtom();var s="Identifier"===e.param.type;this.enterScope(s?32:0),this.checkLVal(e.param,s?4:2),this.expect(v.parenR)}else this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0);e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(v._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},j.parseVarStatement=function(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")},j.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(z),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},j.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},j.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},j.parseLabeledStatement=function(t,e,s,i){for(var r=0,n=this.labels;r<n.length;r+=1)n[r].name===e&&this.raise(s.start,"Label '"+e+"' is already declared");for(var a=this.type.isLoop?"loop":this.type===v._switch?"switch":null,o=this.labels.length-1;o>=0;o--){var h=this.labels[o];if(h.statementStart!==t.start)break;h.statementStart=this.start,h.kind=a}return this.labels.push({name:e,kind:a,statementStart:this.start}),t.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")},j.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},j.parseBlock=function(t,e,s){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(v.braceL),t&&this.enterScope(0);this.type!==v.braceR;){var i=this.parseStatement(null);e.body.push(i)}return s&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},j.parseFor=function(t,e){return t.init=e,this.expect(v.semi),t.test=this.type===v.semi?null:this.parseExpression(),this.expect(v.semi),t.update=this.type===v.parenR?null:this.parseExpression(),this.expect(v.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},j.parseForIn=function(t,e){var s=this.type===v._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!s||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)?this.raise(e.start,(s?"for-in":"for-of")+" loop variable declaration may not have an initializer"):"AssignmentPattern"===e.type&&this.raise(e.start,"Invalid left-hand side in for-loop"),t.left=e,t.right=s?this.parseExpression():this.parseMaybeAssign(),this.expect(v.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")},j.parseVar=function(t,e,s){for(t.declarations=[],t.kind=s;;){var i=this.startNode();if(this.parseVarId(i,s),this.eat(v.eq)?i.init=this.parseMaybeAssign(e):"const"!==s||this.type===v._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"===i.id.type||e&&(this.type===v._in||this.isContextual("of"))?i.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(i,"VariableDeclarator")),!this.eat(v.comma))break}return t},j.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"var"===e?1:2,!1)};var H=1,Q=2;j.parseFunction=function(t,e,s,i){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===v.star&&e&Q&&this.unexpected(),t.generator=this.eat(v.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&H&&(t.id=4&e&&this.type!==v.name?null:this.parseIdent(),!t.id||e&Q||this.checkLVal(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var r=this.yieldPos,n=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(D(t.async,t.generator)),e&H||(t.id=this.type===v.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,s,!1),this.yieldPos=r,this.awaitPos=n,this.awaitIdentPos=a,this.finishNode(t,e&H?"FunctionDeclaration":"FunctionExpression")},j.parseFunctionParams=function(t){this.expect(v.parenL),t.params=this.parseBindingList(v.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},j.parseClass=function(t,e){this.next();var s=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var i=this.startNode(),r=!1;for(i.body=[],this.expect(v.braceL);this.type!==v.braceR;){var n=this.parseClassElement(null!==t.superClass);n&&(i.body.push(n),"MethodDefinition"===n.type&&"constructor"===n.kind&&(r&&this.raise(n.start,"Duplicate constructor in the same class"),r=!0))}return this.strict=s,this.next(),t.body=this.finishNode(i,"ClassBody"),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},j.parseClassElement=function(t){var e=this;if(this.eat(v.semi))return null;var s=this.startNode(),i=function(t,i){void 0===i&&(i=!1);var r=e.start,n=e.startLoc;return!(!e.eatContextual(t)||(e.type===v.parenL||i&&e.canInsertSemicolon())&&(s.key&&e.unexpected(),s.computed=!1,s.key=e.startNodeAt(r,n),s.key.name=t,e.finishNode(s.key,"Identifier"),1))};s.kind="method",s.static=i("static");var r=this.eat(v.star),n=!1;r||(this.options.ecmaVersion>=8&&i("async",!0)?(n=!0,r=this.options.ecmaVersion>=9&&this.eat(v.star)):i("get")?s.kind="get":i("set")&&(s.kind="set")),s.key||this.parsePropertyName(s);var a=s.key,o=!1;return s.computed||s.static||!("Identifier"===a.type&&"constructor"===a.name||"Literal"===a.type&&"constructor"===a.value)?s.static&&"Identifier"===a.type&&"prototype"===a.name&&this.raise(a.start,"Classes may not have a static property named prototype"):("method"!==s.kind&&this.raise(a.start,"Constructor can't have get/set modifier"),r&&this.raise(a.start,"Constructor can't be a generator"),n&&this.raise(a.start,"Constructor can't be an async method"),s.kind="constructor",o=t),this.parseClassMethod(s,r,n,o),"get"===s.kind&&0!==s.value.params.length&&this.raiseRecoverable(s.value.start,"getter should have no params"),"set"===s.kind&&1!==s.value.params.length&&this.raiseRecoverable(s.value.start,"setter should have exactly one param"),"set"===s.kind&&"RestElement"===s.value.params[0].type&&this.raiseRecoverable(s.value.params[0].start,"Setter cannot use rest params"),s},j.parseClassMethod=function(t,e,s,i){return t.value=this.parseMethod(e,s,i),this.finishNode(t,"MethodDefinition")},j.parseClassId=function(t,e){this.type===v.name?(t.id=this.parseIdent(),e&&this.checkLVal(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},j.parseClassSuper=function(t){t.superClass=this.eat(v._extends)?this.parseExprSubscripts():null},j.parseExport=function(t,e){if(this.next(),this.eat(v.star))return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseIdent(!0),this.checkExport(e,t.exported.name,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==v.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(v._default)){var s;if(this.checkExport(e,"default",this.lastTokStart),this.type===v._function||(s=this.isAsyncFunction())){var i=this.startNode();this.next(),s&&this.next(),t.declaration=this.parseFunction(i,4|H,!1,s)}else if(this.type===v._class){var r=this.startNode();t.declaration=this.parseClass(r,"nullableID")}else t.declaration=this.parseMaybeAssign(),this.semicolon();return this.finishNode(t,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())t.declaration=this.parseStatement(null),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id.name,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==v.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var n=0,a=t.specifiers;n<a.length;n+=1){var o=a[n];this.checkUnreserved(o.local),this.checkLocalExport(o.local)}t.source=null}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},j.checkExport=function(t,e,s){t&&(I(t,e)&&this.raiseRecoverable(s,"Duplicate export '"+e+"'"),t[e]=!0)},j.checkPatternExport=function(t,e){var s=e.type;if("Identifier"===s)this.checkExport(t,e.name,e.start);else if("ObjectPattern"===s)for(var i=0,r=e.properties;i<r.length;i+=1){var n=r[i];this.checkPatternExport(t,n)}else if("ArrayPattern"===s)for(var a=0,o=e.elements;a<o.length;a+=1){var h=o[a];h&&this.checkPatternExport(t,h)}else"Property"===s?this.checkPatternExport(t,e.value):"AssignmentPattern"===s?this.checkPatternExport(t,e.left):"RestElement"===s?this.checkPatternExport(t,e.argument):"ParenthesizedExpression"===s&&this.checkPatternExport(t,e.expression)},j.checkVariableExport=function(t,e){if(t)for(var s=0,i=e;s<i.length;s+=1){var r=i[s];this.checkPatternExport(t,r.id)}},j.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},j.parseExportSpecifiers=function(t){var e=[],s=!0;for(this.expect(v.braceL);!this.eat(v.braceR);){if(s)s=!1;else if(this.expect(v.comma),this.afterTrailingComma(v.braceR))break;var i=this.startNode();i.local=this.parseIdent(!0),i.exported=this.eatContextual("as")?this.parseIdent(!0):i.local,this.checkExport(t,i.exported.name,i.exported.start),e.push(this.finishNode(i,"ExportSpecifier"))}return e},j.parseImport=function(t){return this.next(),this.type===v.string?(t.specifiers=W,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===v.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},j.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===v.name){var s=this.startNode();if(s.local=this.parseIdent(),this.checkLVal(s.local,2),t.push(this.finishNode(s,"ImportDefaultSpecifier")),!this.eat(v.comma))return t}if(this.type===v.star){var i=this.startNode();return this.next(),this.expectContextual("as"),i.local=this.parseIdent(),this.checkLVal(i.local,2),t.push(this.finishNode(i,"ImportNamespaceSpecifier")),t}for(this.expect(v.braceL);!this.eat(v.braceR);){if(e)e=!1;else if(this.expect(v.comma),this.afterTrailingComma(v.braceR))break;var r=this.startNode();r.imported=this.parseIdent(!0),this.eatContextual("as")?r.local=this.parseIdent():(this.checkUnreserved(r.imported),r.local=r.imported),this.checkLVal(r.local,2),t.push(this.finishNode(r,"ImportSpecifier"))}return t},j.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},j.isDirectiveCandidate=function(t){return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var K=O.prototype;K.toAssignable=function(t,e,s){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",s&&this.checkPatternErrors(s,!0);for(var i=0,r=t.properties;i<r.length;i+=1){var n=r[i];this.toAssignable(n,e),"RestElement"!==n.type||"ArrayPattern"!==n.argument.type&&"ObjectPattern"!==n.argument.type||this.raise(n.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",s&&this.checkPatternErrors(s,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);case"AssignmentPattern":break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,s);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else s&&this.checkPatternErrors(s,!0);return t},K.toAssignableList=function(t,e){for(var s=t.length,i=0;i<s;i++){var r=t[i];r&&this.toAssignable(r,e)}if(s){var n=t[s-1];6===this.options.ecmaVersion&&e&&n&&"RestElement"===n.type&&"Identifier"!==n.argument.type&&this.unexpected(n.argument.start)}return t},K.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},K.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==v.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},K.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case v.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(v.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case v.braceL:return this.parseObj(!0)}return this.parseIdent()},K.parseBindingList=function(t,e,s){for(var i=[],r=!0;!this.eat(t);)if(r?r=!1:this.expect(v.comma),e&&this.type===v.comma)i.push(null);else{if(s&&this.afterTrailingComma(t))break;if(this.type===v.ellipsis){var n=this.parseRestBinding();this.parseBindingListItem(n),i.push(n),this.type===v.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}var a=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(a),i.push(a)}return i},K.parseBindingListItem=function(t){return t},K.parseMaybeDefault=function(t,e,s){if(s=s||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(v.eq))return s;var i=this.startNodeAt(t,e);return i.left=s,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},K.checkLVal=function(t,e,s){switch(void 0===e&&(e=0),t.type){case"Identifier":2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(e?"Binding ":"Assigning to ")+t.name+" in strict mode"),s&&(I(s,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),s[t.name]=!0),0!==e&&5!==e&&this.declareName(t.name,e,t.start);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":e&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ObjectPattern":for(var i=0,r=t.properties;i<r.length;i+=1){var n=r[i];this.checkLVal(n,e,s)}break;case"Property":this.checkLVal(t.value,e,s);break;case"ArrayPattern":for(var a=0,o=t.elements;a<o.length;a+=1){var h=o[a];h&&this.checkLVal(h,e,s)}break;case"AssignmentPattern":this.checkLVal(t.left,e,s);break;case"RestElement":this.checkLVal(t.argument,e,s);break;case"ParenthesizedExpression":this.checkLVal(t.expression,e,s);break;default:this.raise(t.start,(e?"Binding":"Assigning to")+" rvalue")}};var Y=O.prototype;Y.checkPropClash=function(t,e,s){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var i,r=t.key;switch(r.type){case"Identifier":i=r.name;break;case"Literal":i=String(r.value);break;default:return}var n=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===n&&(e.proto&&(s?s.doubleProto<0&&(s.doubleProto=r.start):this.raiseRecoverable(r.start,"Redefinition of __proto__ property")),e.proto=!0);else{var a=e[i="$"+i];a?("init"===n?this.strict&&a.init||a.get||a.set:a.init||a[n])&&this.raiseRecoverable(r.start,"Redefinition of property"):a=e[i]={init:!1,get:!1,set:!1},a[n]=!0}}},Y.parseExpression=function(t,e){var s=this.start,i=this.startLoc,r=this.parseMaybeAssign(t,e);if(this.type===v.comma){var n=this.startNodeAt(s,i);for(n.expressions=[r];this.eat(v.comma);)n.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(n,"SequenceExpression")}return r},Y.parseMaybeAssign=function(t,e,s){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var i=!1,r=-1,n=-1;e?(r=e.parenthesizedAssign,n=e.trailingComma,e.parenthesizedAssign=e.trailingComma=-1):(e=new q,i=!0);var a=this.start,o=this.startLoc;this.type!==v.parenL&&this.type!==v.name||(this.potentialArrowAt=this.start);var h=this.parseMaybeConditional(t,e);if(s&&(h=s.call(this,h,a,o)),this.type.isAssign){var p=this.startNodeAt(a,o);return p.operator=this.value,p.left=this.type===v.eq?this.toAssignable(h,!1,e):h,i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=p.left.start&&(e.shorthandAssign=-1),this.checkLVal(h),this.next(),p.right=this.parseMaybeAssign(t),this.finishNode(p,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),r>-1&&(e.parenthesizedAssign=r),n>-1&&(e.trailingComma=n),h},Y.parseMaybeConditional=function(t,e){var s=this.start,i=this.startLoc,r=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return r;if(this.eat(v.question)){var n=this.startNodeAt(s,i);return n.test=r,n.consequent=this.parseMaybeAssign(),this.expect(v.colon),n.alternate=this.parseMaybeAssign(t),this.finishNode(n,"ConditionalExpression")}return r},Y.parseExprOps=function(t,e){var s=this.start,i=this.startLoc,r=this.parseMaybeUnary(e,!1);return this.checkExpressionErrors(e)||r.start===s&&"ArrowFunctionExpression"===r.type?r:this.parseExprOp(r,s,i,-1,t)},Y.parseExprOp=function(t,e,s,i,r){var n=this.type.binop;if(null!=n&&(!r||this.type!==v._in)&&n>i){var a=this.type===v.logicalOR||this.type===v.logicalAND,o=this.type===v.coalesce;o&&(n=v.logicalAND.binop);var h=this.value;this.next();var p=this.start,c=this.startLoc,u=this.parseExprOp(this.parseMaybeUnary(null,!1),p,c,n,r),l=this.buildBinary(e,s,t,u,h,a||o);return(a&&this.type===v.coalesce||o&&(this.type===v.logicalOR||this.type===v.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(l,e,s,i,r)}return t},Y.buildBinary=function(t,e,s,i,r,n){var a=this.startNodeAt(t,e);return a.left=s,a.operator=r,a.right=i,this.finishNode(a,n?"LogicalExpression":"BinaryExpression")},Y.parseMaybeUnary=function(t,e){var s,i=this.start,r=this.startLoc;if(this.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))s=this.parseAwait(),e=!0;else if(this.type.prefix){var n=this.startNode(),a=this.type===v.incDec;n.operator=this.value,n.prefix=!0,this.next(),n.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),a?this.checkLVal(n.argument):this.strict&&"delete"===n.operator&&"Identifier"===n.argument.type?this.raiseRecoverable(n.start,"Deleting local variable in strict mode"):e=!0,s=this.finishNode(n,a?"UpdateExpression":"UnaryExpression")}else{if(s=this.parseExprSubscripts(t),this.checkExpressionErrors(t))return s;for(;this.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(i,r);o.operator=this.value,o.prefix=!1,o.argument=s,this.checkLVal(s),this.next(),s=this.finishNode(o,"UpdateExpression")}}return!e&&this.eat(v.starstar)?this.buildBinary(i,r,s,this.parseMaybeUnary(null,!1),"**",!1):s},Y.parseExprSubscripts=function(t){var e=this.start,s=this.startLoc,i=this.parseExprAtom(t);if("ArrowFunctionExpression"===i.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return i;var r=this.parseSubscripts(i,e,s);return t&&"MemberExpression"===r.type&&(t.parenthesizedAssign>=r.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=r.start&&(t.parenthesizedBind=-1)),r},Y.parseSubscripts=function(t,e,s,i){for(var r=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&this.potentialArrowAt===t.start,n=!1;;){var a=this.parseSubscript(t,e,s,i,r,n);if(a.optional&&(n=!0),a===t||"ArrowFunctionExpression"===a.type){if(n){var o=this.startNodeAt(e,s);o.expression=a,a=this.finishNode(o,"ChainExpression")}return a}t=a}},Y.parseSubscript=function(t,e,s,i,r,n){var a=this.options.ecmaVersion>=11,o=a&&this.eat(v.questionDot);i&&o&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var h=this.eat(v.bracketL);if(h||o&&this.type!==v.parenL&&this.type!==v.backQuote||this.eat(v.dot)){var p=this.startNodeAt(e,s);p.object=t,p.property=h?this.parseExpression():this.parseIdent("never"!==this.options.allowReserved),p.computed=!!h,h&&this.expect(v.bracketR),a&&(p.optional=o),t=this.finishNode(p,"MemberExpression")}else if(!i&&this.eat(v.parenL)){var c=new q,u=this.yieldPos,l=this.awaitPos,d=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var f=this.parseExprList(v.parenR,this.options.ecmaVersion>=8,!1,c);if(r&&!o&&!this.canInsertSemicolon()&&this.eat(v.arrow))return this.checkPatternErrors(c,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=u,this.awaitPos=l,this.awaitIdentPos=d,this.parseArrowExpression(this.startNodeAt(e,s),f,!0);this.checkExpressionErrors(c,!0),this.yieldPos=u||this.yieldPos,this.awaitPos=l||this.awaitPos,this.awaitIdentPos=d||this.awaitIdentPos;var m=this.startNodeAt(e,s);m.callee=t,m.arguments=f,a&&(m.optional=o),t=this.finishNode(m,"CallExpression")}else if(this.type===v.backQuote){(o||n)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var y=this.startNodeAt(e,s);y.tag=t,y.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(y,"TaggedTemplateExpression")}return t},Y.parseExprAtom=function(t){this.type===v.slash&&this.readRegexp();var e,s=this.potentialArrowAt===this.start;switch(this.type){case v._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),e=this.startNode(),this.next(),this.type!==v.parenL||this.allowDirectSuper||this.raise(e.start,"super() call outside constructor of a subclass"),this.type!==v.dot&&this.type!==v.bracketL&&this.type!==v.parenL&&this.unexpected(),this.finishNode(e,"Super");case v._this:return e=this.startNode(),this.next(),this.finishNode(e,"ThisExpression");case v.name:var i=this.start,r=this.startLoc,n=this.containsEsc,a=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!n&&"async"===a.name&&!this.canInsertSemicolon()&&this.eat(v._function))return this.parseFunction(this.startNodeAt(i,r),0,!1,!0);if(s&&!this.canInsertSemicolon()){if(this.eat(v.arrow))return this.parseArrowExpression(this.startNodeAt(i,r),[a],!1);if(this.options.ecmaVersion>=8&&"async"===a.name&&this.type===v.name&&!n)return a=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(v.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(i,r),[a],!0)}return a;case v.regexp:var o=this.value;return(e=this.parseLiteral(o.value)).regex={pattern:o.pattern,flags:o.flags},e;case v.num:case v.string:return this.parseLiteral(this.value);case v._null:case v._true:case v._false:return(e=this.startNode()).value=this.type===v._null?null:this.type===v._true,e.raw=this.type.keyword,this.next(),this.finishNode(e,"Literal");case v.parenL:var h=this.start,p=this.parseParenAndDistinguishExpression(s);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(p)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),p;case v.bracketL:return e=this.startNode(),this.next(),e.elements=this.parseExprList(v.bracketR,!0,!0,t),this.finishNode(e,"ArrayExpression");case v.braceL:return this.parseObj(!1,t);case v._function:return e=this.startNode(),this.next(),this.parseFunction(e,0);case v._class:return this.parseClass(this.startNode(),!1);case v._new:return this.parseNew();case v.backQuote:return this.parseTemplate();case v._import:return this.options.ecmaVersion>=11?this.parseExprImport():this.unexpected();default:this.unexpected()}},Y.parseExprImport=function(){var t=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var e=this.parseIdent(!0);switch(this.type){case v.parenL:return this.parseDynamicImport(t);case v.dot:return t.meta=e,this.parseImportMeta(t);default:this.unexpected()}},Y.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(v.parenR)){var e=this.start;this.eat(v.comma)&&this.eat(v.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},Y.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"!==this.options.sourceType&&this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},Y.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},Y.parseParenExpression=function(){this.expect(v.parenL);var t=this.parseExpression();return this.expect(v.parenR),t},Y.parseParenAndDistinguishExpression=function(t){var e,s=this.start,i=this.startLoc,r=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var n,a=this.start,o=this.startLoc,h=[],p=!0,c=!1,u=new q,l=this.yieldPos,d=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==v.parenR;){if(p?p=!1:this.expect(v.comma),r&&this.afterTrailingComma(v.parenR,!0)){c=!0;break}if(this.type===v.ellipsis){n=this.start,h.push(this.parseParenItem(this.parseRestBinding())),this.type===v.comma&&this.raise(this.start,"Comma is not permitted after the rest element");break}h.push(this.parseMaybeAssign(!1,u,this.parseParenItem))}var f=this.start,m=this.startLoc;if(this.expect(v.parenR),t&&!this.canInsertSemicolon()&&this.eat(v.arrow))return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=l,this.awaitPos=d,this.parseParenArrowList(s,i,h);h.length&&!c||this.unexpected(this.lastTokStart),n&&this.unexpected(n),this.checkExpressionErrors(u,!0),this.yieldPos=l||this.yieldPos,this.awaitPos=d||this.awaitPos,h.length>1?((e=this.startNodeAt(a,o)).expressions=h,this.finishNodeAt(e,"SequenceExpression",f,m)):e=h[0]}else e=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(s,i);return y.expression=e,this.finishNode(y,"ParenthesizedExpression")}return e},Y.parseParenItem=function(t){return t},Y.parseParenArrowList=function(t,e,s){return this.parseArrowExpression(this.startNodeAt(t,e),s)};var X=[];Y.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(v.dot)){t.meta=e;var s=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),s&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.inNonArrowFunction()||this.raiseRecoverable(t.start,"'new.target' can only be used in functions"),this.finishNode(t,"MetaProperty")}var i=this.start,r=this.startLoc,n=this.type===v._import;return t.callee=this.parseSubscripts(this.parseExprAtom(),i,r,!0),n&&"ImportExpression"===t.callee.type&&this.raise(i,"Cannot use new with import()"),this.eat(v.parenL)?t.arguments=this.parseExprList(v.parenR,this.options.ecmaVersion>=8,!1):t.arguments=X,this.finishNode(t,"NewExpression")},Y.parseTemplateElement=function(t){var e=t.isTagged,s=this.startNode();return this.type===v.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),s.value={raw:this.value,cooked:null}):s.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),s.tail=this.type===v.backQuote,this.finishNode(s,"TemplateElement")},Y.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var s=this.startNode();this.next(),s.expressions=[];var i=this.parseTemplateElement({isTagged:e});for(s.quasis=[i];!i.tail;)this.type===v.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(v.dollarBraceL),s.expressions.push(this.parseExpression()),this.expect(v.braceR),s.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(s,"TemplateLiteral")},Y.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===v.name||this.type===v.num||this.type===v.string||this.type===v.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===v.star)&&!b.test(this.input.slice(this.lastTokEnd,this.start))},Y.parseObj=function(t,e){var s=this.startNode(),i=!0,r={};for(s.properties=[],this.next();!this.eat(v.braceR);){if(i)i=!1;else if(this.expect(v.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(v.braceR))break;var n=this.parseProperty(t,e);t||this.checkPropClash(n,r,e),s.properties.push(n)}return this.finishNode(s,t?"ObjectPattern":"ObjectExpression")},Y.parseProperty=function(t,e){var s,i,r,n,a=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(v.ellipsis))return t?(a.argument=this.parseIdent(!1),this.type===v.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.finishNode(a,"RestElement")):(this.type===v.parenL&&e&&(e.parenthesizedAssign<0&&(e.parenthesizedAssign=this.start),e.parenthesizedBind<0&&(e.parenthesizedBind=this.start)),a.argument=this.parseMaybeAssign(!1,e),this.type===v.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(a,"SpreadElement"));this.options.ecmaVersion>=6&&(a.method=!1,a.shorthand=!1,(t||e)&&(r=this.start,n=this.startLoc),t||(s=this.eat(v.star)));var o=this.containsEsc;return this.parsePropertyName(a),!t&&!o&&this.options.ecmaVersion>=8&&!s&&this.isAsyncProp(a)?(i=!0,s=this.options.ecmaVersion>=9&&this.eat(v.star),this.parsePropertyName(a,e)):i=!1,this.parsePropertyValue(a,t,s,i,r,n,e,o),this.finishNode(a,"Property")},Y.parsePropertyValue=function(t,e,s,i,r,n,a,o){if((s||i)&&this.type===v.colon&&this.unexpected(),this.eat(v.colon))t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,a),t.kind="init";else if(this.options.ecmaVersion>=6&&this.type===v.parenL)e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(s,i);else if(e||o||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===v.comma||this.type===v.braceR||this.type===v.eq)this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((s||i)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=r),t.kind="init",e?t.value=this.parseMaybeDefault(r,n,t.key):this.type===v.eq&&a?(a.shorthandAssign<0&&(a.shorthandAssign=this.start),t.value=this.parseMaybeDefault(r,n,t.key)):t.value=t.key,t.shorthand=!0):this.unexpected();else{(s||i)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var h="get"===t.kind?0:1;if(t.value.params.length!==h){var p=t.value.start;"get"===t.kind?this.raiseRecoverable(p,"getter should have no params"):this.raiseRecoverable(p,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")}},Y.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(v.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(v.bracketR),t.key;t.computed=!1}return t.key=this.type===v.num||this.type===v.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},Y.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},Y.parseMethod=function(t,e,s){var i=this.startNode(),r=this.yieldPos,n=this.awaitPos,a=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|D(e,i.generator)|(s?128:0)),this.expect(v.parenL),i.params=this.parseBindingList(v.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0),this.yieldPos=r,this.awaitPos=n,this.awaitIdentPos=a,this.finishNode(i,"FunctionExpression")},Y.parseArrowExpression=function(t,e,s){var i=this.yieldPos,r=this.awaitPos,n=this.awaitIdentPos;return this.enterScope(16|D(s,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!s),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1),this.yieldPos=i,this.awaitPos=r,this.awaitIdentPos=n,this.finishNode(t,"ArrowFunctionExpression")},Y.parseFunctionBody=function(t,e,s){var i=e&&this.type!==v.braceL,r=this.strict,n=!1;if(i)t.body=this.parseMaybeAssign(),t.expression=!0,this.checkParams(t,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);r&&!a||(n=this.strictDirective(this.end))&&a&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var o=this.labels;this.labels=[],n&&(this.strict=!0),this.checkParams(t,!r&&!n&&!e&&!s&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLVal(t.id,5),t.body=this.parseBlock(!1,void 0,n&&!r),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=o}this.exitScope()},Y.isSimpleParamList=function(t){for(var e=0,s=t;e<s.length;e+=1)if("Identifier"!==s[e].type)return!1;return!0},Y.checkParams=function(t,e){for(var s={},i=0,r=t.params;i<r.length;i+=1){var n=r[i];this.checkLVal(n,1,e?null:s)}},Y.parseExprList=function(t,e,s,i){for(var r=[],n=!0;!this.eat(t);){if(n)n=!1;else if(this.expect(v.comma),e&&this.afterTrailingComma(t))break;var a=void 0;s&&this.type===v.comma?a=null:this.type===v.ellipsis?(a=this.parseSpread(i),i&&this.type===v.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):a=this.parseMaybeAssign(!1,i),r.push(a)}return r},Y.checkUnreserved=function(t){var e=t.start,s=t.end,i=t.name;this.inGenerator&&"yield"===i&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===i&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.keywords.test(i)&&this.raise(e,"Unexpected keyword '"+i+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,s).indexOf("\\")||(this.strict?this.reservedWordsStrict:this.reservedWords).test(i)&&(this.inAsync||"await"!==i||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+i+"' is reserved"))},Y.parseIdent=function(t,e){var s=this.startNode();return this.type===v.name?s.name=this.value:this.type.keyword?(s.name=this.type.keyword,"class"!==s.name&&"function"!==s.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),this.next(!!t),this.finishNode(s,"Identifier"),t||(this.checkUnreserved(s),"await"!==s.name||this.awaitIdentPos||(this.awaitIdentPos=s.start)),s},Y.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===v.semi||this.canInsertSemicolon()||this.type!==v.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(v.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},Y.parseAwait=function(){this.awaitPos||(this.awaitPos=this.start);var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(null,!1),this.finishNode(t,"AwaitExpression")};var Z=O.prototype;Z.raise=function(t,e){var s=R(this.input,t);e+=" ("+s.line+":"+s.column+")";var i=new SyntaxError(e);throw i.pos=t,i.loc=s,i.raisedAt=this.pos,i},Z.raiseRecoverable=Z.raise,Z.curPosition=function(){if(this.options.locations)return new L(this.curLine,this.pos-this.lineStart)};var $=O.prototype,J=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[]};$.enterScope=function(t){this.scopeStack.push(new J(t))},$.exitScope=function(){this.scopeStack.pop()},$.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},$.declareName=function(t,e,s){var i=!1;if(2===e){var r=this.currentScope();i=r.lexical.indexOf(t)>-1||r.functions.indexOf(t)>-1||r.var.indexOf(t)>-1,r.lexical.push(t),this.inModule&&1&r.flags&&delete this.undefinedExports[t]}else if(4===e)this.currentScope().lexical.push(t);else if(3===e){var n=this.currentScope();i=this.treatFunctionsAsVar?n.lexical.indexOf(t)>-1:n.lexical.indexOf(t)>-1||n.var.indexOf(t)>-1,n.functions.push(t)}else for(var a=this.scopeStack.length-1;a>=0;--a){var o=this.scopeStack[a];if(o.lexical.indexOf(t)>-1&&!(32&o.flags&&o.lexical[0]===t)||!this.treatFunctionsAsVarInScope(o)&&o.functions.indexOf(t)>-1){i=!0;break}if(o.var.push(t),this.inModule&&1&o.flags&&delete this.undefinedExports[t],3&o.flags)break}i&&this.raiseRecoverable(s,"Identifier '"+t+"' has already been declared")},$.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},$.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},$.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(3&e.flags)return e}},$.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(3&e.flags&&!(16&e.flags))return e}};var tt=function(t,e,s){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new V(t,s)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},et=O.prototype;function st(t,e,s,i){return t.type=e,t.end=s,this.options.locations&&(t.loc.end=i),this.options.ranges&&(t.range[1]=s),t}et.startNode=function(){return new tt(this,this.start,this.startLoc)},et.startNodeAt=function(t,e){return new tt(this,t,e)},et.finishNode=function(t,e){return st.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},et.finishNodeAt=function(t,e,s,i){return st.call(this,t,e,s,i)};var it=function(t,e,s,i,r){this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=i,this.generator=!!r},rt={b_stat:new it("{",!1),b_expr:new it("{",!0),b_tmpl:new it("${",!1),p_stat:new it("(",!1),p_expr:new it("(",!0),q_tmpl:new it("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new it("function",!1),f_expr:new it("function",!0),f_expr_gen:new it("function",!0,!1,null,!0),f_gen:new it("function",!1,!1,null,!0)},nt=O.prototype;nt.initialContext=function(){return[rt.b_stat]},nt.braceIsBlock=function(t){var e=this.curContext();return e===rt.f_expr||e===rt.f_stat||(t!==v.colon||e!==rt.b_stat&&e!==rt.b_expr?t===v._return||t===v.name&&this.exprAllowed?b.test(this.input.slice(this.lastTokEnd,this.start)):t===v._else||t===v.semi||t===v.eof||t===v.parenR||t===v.arrow||(t===v.braceL?e===rt.b_stat:t!==v._var&&t!==v._const&&t!==v.name&&!this.exprAllowed):!e.isExpr)},nt.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},nt.updateContext=function(t){var e,s=this.type;s.keyword&&t===v.dot?this.exprAllowed=!1:(e=s.updateContext)?e.call(this,t):this.exprAllowed=s.beforeExpr},v.parenR.updateContext=v.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===rt.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},v.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?rt.b_stat:rt.b_expr),this.exprAllowed=!0},v.dollarBraceL.updateContext=function(){this.context.push(rt.b_tmpl),this.exprAllowed=!0},v.parenL.updateContext=function(t){var e=t===v._if||t===v._for||t===v._with||t===v._while;this.context.push(e?rt.p_stat:rt.p_expr),this.exprAllowed=!0},v.incDec.updateContext=function(){},v._function.updateContext=v._class.updateContext=function(t){!t.beforeExpr||t===v.semi||t===v._else||t===v._return&&b.test(this.input.slice(this.lastTokEnd,this.start))||(t===v.colon||t===v.braceL)&&this.curContext()===rt.b_stat?this.context.push(rt.f_stat):this.context.push(rt.f_expr),this.exprAllowed=!1},v.backQuote.updateContext=function(){this.curContext()===rt.q_tmpl?this.context.pop():this.context.push(rt.q_tmpl),this.exprAllowed=!1},v.star.updateContext=function(t){if(t===v._function){var e=this.context.length-1;this.context[e]===rt.f_expr?this.context[e]=rt.f_expr_gen:this.context[e]=rt.f_gen}this.exprAllowed=!0},v.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==v.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var at="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",ot=at+" Extended_Pictographic",ht={9:at,10:ot,11:ot},pt="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",ct="Adlam Adlm Ahom Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",ut=ct+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",lt={9:ct,10:ut,11:ut+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho"},dt={};function ft(t){var e=dt[t]={binary:P(ht[t]+" "+pt),nonBinary:{General_Category:P(pt),Script:P(lt[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}ft(9),ft(10),ft(11);var mt=O.prototype,yt=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":""),this.unicodeProperties=dt[t.options.ecmaVersion>=11?11:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function xt(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}function gt(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function kt(t){return t>=65&&t<=90||t>=97&&t<=122}function vt(t){return kt(t)||95===t}function bt(t){return vt(t)||Et(t)}function Et(t){return t>=48&&t<=57}function St(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function _t(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function Tt(t){return t>=48&&t<=55}yt.prototype.reset=function(t,e,s){var i=-1!==s.indexOf("u");this.start=0|t,this.source=e+"",this.flags=s,this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchN=i&&this.parser.options.ecmaVersion>=9},yt.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},yt.prototype.at=function(t,e){void 0===e&&(e=!1);var s=this.source,i=s.length;if(t>=i)return-1;var r=s.charCodeAt(t);if(!e&&!this.switchU||r<=55295||r>=57344||t+1>=i)return r;var n=s.charCodeAt(t+1);return n>=56320&&n<=57343?(r<<10)+n-56613888:r},yt.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var s=this.source,i=s.length;if(t>=i)return i;var r,n=s.charCodeAt(t);return!e&&!this.switchU||n<=55295||n>=57344||t+1>=i||(r=s.charCodeAt(t+1))<56320||r>57343?t+1:t+2},yt.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},yt.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},yt.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},yt.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},mt.validateRegExpFlags=function(t){for(var e=t.validFlags,s=t.flags,i=0;i<s.length;i++){var r=s.charAt(i);-1===e.indexOf(r)&&this.raise(t.start,"Invalid regular expression flag"),s.indexOf(r,i+1)>-1&&this.raise(t.start,"Duplicate regular expression flag")}},mt.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},mt.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,s=t.backReferenceNames;e<s.length;e+=1){var i=s[e];-1===t.groupNames.indexOf(i)&&t.raise("Invalid named capture referenced")}},mt.regexp_disjunction=function(t){for(this.regexp_alternative(t);t.eat(124);)this.regexp_alternative(t);this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},mt.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},mt.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},mt.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var s=!1;if(this.options.ecmaVersion>=9&&(s=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!s,!0}return t.pos=e,!1},mt.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},mt.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},mt.regexp_eatBracedQuantifier=function(t,e){var s=t.pos;if(t.eat(123)){var i=0,r=-1;if(this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(r=t.lastIntValue),t.eat(125)))return-1!==r&&r<i&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=s}return!1},mt.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},mt.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},mt.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)&&t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}t.pos=e}return!1},mt.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},mt.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},mt.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},mt.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!gt(e)&&(t.lastIntValue=e,t.advance(),!0)},mt.regexp_eatPatternCharacters=function(t){for(var e=t.pos,s=0;-1!==(s=t.current())&&!gt(s);)t.advance();return t.pos!==e},mt.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e||(t.advance(),0))},mt.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},mt.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},mt.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=xt(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=xt(t.lastIntValue);return!0}return!1},mt.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,i=t.current(s);return t.advance(s),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(i=t.lastIntValue),function(t){return l(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},mt.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,s=this.options.ecmaVersion>=11,i=t.current(s);return t.advance(s),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,s)&&(i=t.lastIntValue),function(t){return d(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},mt.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},mt.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var s=t.lastIntValue;if(t.switchU)return s>t.maxBackReference&&(t.maxBackReference=s),!0;if(s<=t.numCapturingParens)return!0;t.pos=e}return!1},mt.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},mt.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},mt.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},mt.regexp_eatZero=function(t){return 48===t.current()&&!Et(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},mt.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},mt.regexp_eatControlLetter=function(t){var e=t.current();return!!kt(e)&&(t.lastIntValue=e%32,t.advance(),!0)},mt.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var s,i=t.pos,r=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var n=t.lastIntValue;if(r&&n>=55296&&n<=56319){var a=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var o=t.lastIntValue;if(o>=56320&&o<=57343)return t.lastIntValue=1024*(n-55296)+(o-56320)+65536,!0}t.pos=a,t.lastIntValue=n}return!0}if(r&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&(s=t.lastIntValue)>=0&&s<=1114111)return!0;r&&t.raise("Invalid unicode escape"),t.pos=i}return!1},mt.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e||(t.lastIntValue=e,t.advance(),0))},mt.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},mt.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),!0;if(t.switchU&&this.options.ecmaVersion>=9&&(80===e||112===e)){if(t.lastIntValue=-1,t.advance(),t.eat(123)&&this.regexp_eatUnicodePropertyValueExpression(t)&&t.eat(125))return!0;t.raise("Invalid property name")}return!1},mt.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var s=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,s,i),!0}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var r=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,r),!0}return!1},mt.regexp_validateUnicodePropertyNameAndValue=function(t,e,s){I(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(s)||t.raise("Invalid property value")},mt.regexp_validateUnicodePropertyNameOrValue=function(t,e){t.unicodeProperties.binary.test(e)||t.raise("Invalid property name")},mt.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";vt(e=t.current());)t.lastStringValue+=xt(e),t.advance();return""!==t.lastStringValue},mt.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";bt(e=t.current());)t.lastStringValue+=xt(e),t.advance();return""!==t.lastStringValue},mt.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},mt.regexp_eatCharacterClass=function(t){if(t.eat(91)){if(t.eat(94),this.regexp_classRanges(t),t.eat(93))return!0;t.raise("Unterminated character class")}return!1},mt.regexp_classRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var s=t.lastIntValue;!t.switchU||-1!==e&&-1!==s||t.raise("Invalid character class"),-1!==e&&-1!==s&&e>s&&t.raise("Range out of order in character class")}}},mt.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var s=t.current();(99===s||Tt(s))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var i=t.current();return 93!==i&&(t.lastIntValue=i,t.advance(),!0)},mt.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},mt.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!Et(e)&&95!==e||(t.lastIntValue=e%32,t.advance(),0))},mt.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},mt.regexp_eatDecimalDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;Et(s=t.current());)t.lastIntValue=10*t.lastIntValue+(s-48),t.advance();return t.pos!==e},mt.regexp_eatHexDigits=function(t){var e=t.pos,s=0;for(t.lastIntValue=0;St(s=t.current());)t.lastIntValue=16*t.lastIntValue+_t(s),t.advance();return t.pos!==e},mt.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var s=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*s+t.lastIntValue:t.lastIntValue=8*e+s}else t.lastIntValue=e;return!0}return!1},mt.regexp_eatOctalDigit=function(t){var e=t.current();return Tt(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},mt.regexp_eatFixedHexDigits=function(t,e){var s=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var r=t.current();if(!St(r))return t.pos=s,!1;t.lastIntValue=16*t.lastIntValue+_t(r),t.advance()}return!0};var Ct=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new V(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},wt=O.prototype;function At(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}function It(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}wt.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Ct(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},wt.getToken=function(){return this.next(),new Ct(this)},"undefined"!=typeof Symbol&&(wt[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===v.eof,value:e}}}}),wt.curContext=function(){return this.context[this.context.length-1]},wt.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(v.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},wt.readToken=function(t){return l(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},wt.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);return t<=55295||t>=57344?t:(t<<10)+this.input.charCodeAt(this.pos+1)-56613888},wt.skipBlockComment=function(){var t,e=this.options.onComment&&this.curPosition(),s=this.pos,i=this.input.indexOf("*/",this.pos+=2);if(-1===i&&this.raise(this.pos-2,"Unterminated comment"),this.pos=i+2,this.options.locations)for(E.lastIndex=s;(t=E.exec(this.input))&&t.index<this.pos;)++this.curLine,this.lineStart=t.index+t[0].length;this.options.onComment&&this.options.onComment(!0,this.input.slice(s+2,i),s,this.pos,e,this.curPosition())},wt.skipLineComment=function(t){for(var e=this.pos,s=this.options.onComment&&this.curPosition(),i=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!S(i);)i=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,s,this.curPosition())},wt.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&_.test(String.fromCharCode(t))))break t;++this.pos}}},wt.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var s=this.type;this.type=t,this.value=e,this.updateContext(s)},wt.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(v.ellipsis)):(++this.pos,this.finishToken(v.dot))},wt.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(v.assign,2):this.finishOp(v.slash,1)},wt.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),s=1,i=42===t?v.star:v.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++s,i=v.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(v.assign,s+1):this.finishOp(i,s)},wt.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(v.assign,3):this.finishOp(124===t?v.logicalOR:v.logicalAND,2):61===e?this.finishOp(v.assign,2):this.finishOp(124===t?v.bitwiseOR:v.bitwiseAND,1)},wt.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(v.assign,2):this.finishOp(v.bitwiseXOR,1)},wt.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!b.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(v.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(v.assign,2):this.finishOp(v.plusMin,1)},wt.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),s=1;return e===t?(s=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+s)?this.finishOp(v.assign,s+1):this.finishOp(v.bitShift,s)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(s=2),this.finishOp(v.relational,s)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},wt.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(v.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(v.arrow)):this.finishOp(61===t?v.eq:v.prefix,1)},wt.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var s=this.input.charCodeAt(this.pos+2);if(s<48||s>57)return this.finishOp(v.questionDot,2)}if(63===e)return t>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(v.assign,3):this.finishOp(v.coalesce,2)}return this.finishOp(v.question,1)},wt.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(v.parenL);case 41:return++this.pos,this.finishToken(v.parenR);case 59:return++this.pos,this.finishToken(v.semi);case 44:return++this.pos,this.finishToken(v.comma);case 91:return++this.pos,this.finishToken(v.bracketL);case 93:return++this.pos,this.finishToken(v.bracketR);case 123:return++this.pos,this.finishToken(v.braceL);case 125:return++this.pos,this.finishToken(v.braceR);case 58:return++this.pos,this.finishToken(v.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(v.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(v.prefix,1)}this.raise(this.pos,"Unexpected character '"+It(t)+"'")},wt.finishOp=function(t,e){var s=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,s)},wt.readRegexp=function(){for(var t,e,s=this.pos;;){this.pos>=this.input.length&&this.raise(s,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(b.test(i)&&this.raise(s,"Unterminated regular expression"),t)t=!1;else{if("["===i)e=!0;else if("]"===i&&e)e=!1;else if("/"===i&&!e)break;t="\\"===i}++this.pos}var r=this.input.slice(s,this.pos);++this.pos;var n=this.pos,a=this.readWord1();this.containsEsc&&this.unexpected(n);var o=this.regexpState||(this.regexpState=new yt(this));o.reset(s,r,a),this.validateRegExpFlags(o),this.validateRegExpPattern(o);var h=null;try{h=new RegExp(r,a)}catch(t){}return this.finishToken(v.regexp,{pattern:r,flags:a,value:h})},wt.readInt=function(t,e,s){for(var i=this.options.ecmaVersion>=12&&void 0===e,r=s&&48===this.input.charCodeAt(this.pos),n=this.pos,a=0,o=0,h=0,p=null==e?1/0:e;h<p;++h,++this.pos){var c=this.input.charCodeAt(this.pos),u=void 0;if(i&&95===c)r&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===o&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===h&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),o=c;else{if((u=c>=97?c-97+10:c>=65?c-65+10:c>=48&&c<=57?c-48:1/0)>=t)break;o=c,a=a*t+u}}return i&&95===o&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===n||null!=e&&this.pos-n!==e?null:a},wt.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var s=this.readInt(t);return null==s&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(s=At(this.input.slice(e,this.pos)),++this.pos):l(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(v.num,s)},wt.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var s=this.pos-e>=2&&48===this.input.charCodeAt(e);s&&this.strict&&this.raise(e,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!s&&!t&&this.options.ecmaVersion>=11&&110===i){var r=At(this.input.slice(e,this.pos));return++this.pos,l(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(v.num,r)}s&&/[89]/.test(this.input.slice(e,this.pos))&&(s=!1),46!==i||s||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||s||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),l(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var n,a=(n=this.input.slice(e,this.pos),s?parseInt(n,8):parseFloat(n.replace(/_/g,"")));return this.finishToken(v.num,a)},wt.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},wt.readString=function(t){for(var e="",s=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===t)break;92===i?(e+=this.input.slice(s,this.pos),e+=this.readEscapedChar(!1),s=this.pos):(S(i,this.options.ecmaVersion>=10)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(s,this.pos++),this.finishToken(v.string,e)};var Nt={};wt.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==Nt)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},wt.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Nt;this.raise(t,e)},wt.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var s=this.input.charCodeAt(this.pos);if(96===s||36===s&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==v.template&&this.type!==v.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(v.template,t)):36===s?(this.pos+=2,this.finishToken(v.dollarBraceL)):(++this.pos,this.finishToken(v.backQuote));if(92===s)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(S(s)){switch(t+=this.input.slice(e,this.pos),++this.pos,s){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(s)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},wt.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(v.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},wt.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return It(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(t){var s=this.pos-1;return this.invalidStringToken(s,"Invalid escape sequence in template string"),null}default:if(e>=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(i,8);return r>255&&(i=i.slice(0,-1),r=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(r)}return S(e)?"":String.fromCharCode(e)}},wt.readHexChar=function(t){var e=this.pos,s=this.readInt(16,t);return null===s&&this.invalidStringToken(e,"Bad character escape sequence"),s},wt.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,s=this.pos,i=this.options.ecmaVersion>=6;this.pos<this.input.length;){var r=this.fullCharCodeAtPos();if(d(r,i))this.pos+=r<=65535?1:2;else{if(92!==r)break;this.containsEsc=!0,t+=this.input.slice(s,this.pos);var n=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var a=this.readCodePoint();(e?l:d)(a,i)||this.invalidStringToken(n,"Invalid Unicode escape"),t+=It(a),s=this.pos}e=!1}return t+this.input.slice(s,this.pos)},wt.readWord=function(){var t=this.readWord1(),e=v.name;return this.keywords.test(t)&&(e=g[t]),this.finishToken(e,t)};var Pt="7.4.0";O.acorn={Parser:O,version:Pt,defaultOptions:M,Position:L,SourceLocation:V,getLineInfo:R,Node:tt,TokenType:f,tokTypes:v,keywordTypes:g,TokContext:it,tokContexts:rt,isIdentifierChar:d,isIdentifierStart:l,Token:Ct,isNewLine:S,lineBreak:b,lineBreakG:E,nonASCIIwhitespace:_},t.Node=tt,t.Parser=O,t.Position=L,t.SourceLocation=V,t.TokContext=it,t.Token=Ct,t.TokenType=f,t.defaultOptions=M,t.getLineInfo=R,t.isIdentifierChar=d,t.isIdentifierStart=l,t.isNewLine=S,t.keywordTypes=g,t.lineBreak=b,t.lineBreakG=E,t.nonASCIIwhitespace=_,t.parse=function(t,e){return O.parse(t,e)},t.parseExpressionAt=function(t,e,s){return O.parseExpressionAt(t,e,s)},t.tokContexts=rt,t.tokTypes=v,t.tokenizer=function(t,e){return O.tokenizer(t,e)},t.version=Pt,Object.defineProperty(t,"__esModule",{value:!0})})),function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("acorn")):"function"==typeof define&&define.amd?define(["exports","acorn"],e):e(((t=t||self).acorn=t.acorn||{},t.acorn.loose={}),t.acorn)}(this,(function(t,e){"use strict";function s(){}var i=function(t,i){if(void 0===i&&(i={}),this.toks=this.constructor.BaseParser.tokenizer(t,i),this.options=this.toks.options,this.input=this.toks.input,this.tok=this.last={type:e.tokTypes.eof,start:0,end:0},this.tok.validateRegExpFlags=s,this.tok.validateRegExpPattern=s,this.options.locations){var r=this.toks.curPosition();this.tok.loc=new e.SourceLocation(this.toks,r,r)}this.ahead=[],this.context=[],this.curIndent=0,this.curLineStart=0,this.nextLineStart=this.lineEnd(this.curLineStart)+1,this.inAsync=!1,this.inFunction=!1};i.prototype.startNode=function(){return new e.Node(this.toks,this.tok.start,this.options.locations?this.tok.loc.start:null)},i.prototype.storeCurrentPos=function(){return this.options.locations?[this.tok.start,this.tok.loc.start]:this.tok.start},i.prototype.startNodeAt=function(t){return this.options.locations?new e.Node(this.toks,t[0],t[1]):new e.Node(this.toks,t)},i.prototype.finishNode=function(t,e){return t.type=e,t.end=this.last.end,this.options.locations&&(t.loc.end=this.last.loc.end),this.options.ranges&&(t.range[1]=this.last.end),t},i.prototype.dummyNode=function(t){var s=this.startNode();return s.type=t,s.end=s.start,this.options.locations&&(s.loc.end=s.loc.start),this.options.ranges&&(s.range[1]=s.start),this.last={type:e.tokTypes.name,start:s.start,end:s.start,loc:s.loc},s},i.prototype.dummyIdent=function(){var t=this.dummyNode("Identifier");return t.name="✖",t},i.prototype.dummyString=function(){var t=this.dummyNode("Literal");return t.value=t.raw="✖",t},i.prototype.eat=function(t){return this.tok.type===t&&(this.next(),!0)},i.prototype.isContextual=function(t){return this.tok.type===e.tokTypes.name&&this.tok.value===t},i.prototype.eatContextual=function(t){return this.tok.value===t&&this.eat(e.tokTypes.name)},i.prototype.canInsertSemicolon=function(){return this.tok.type===e.tokTypes.eof||this.tok.type===e.tokTypes.braceR||e.lineBreak.test(this.input.slice(this.last.end,this.tok.start))},i.prototype.semicolon=function(){return this.eat(e.tokTypes.semi)},i.prototype.expect=function(t){if(this.eat(t))return!0;for(var e=1;e<=2;e++)if(this.lookAhead(e).type===t){for(var s=0;s<e;s++)this.next();return!0}},i.prototype.pushCx=function(){this.context.push(this.curIndent)},i.prototype.popCx=function(){this.curIndent=this.context.pop()},i.prototype.lineEnd=function(t){for(;t<this.input.length&&!e.isNewLine(this.input.charCodeAt(t));)++t;return t},i.prototype.indentationAfter=function(t){for(var e=0;;++t){var s=this.input.charCodeAt(t);if(32===s)++e;else{if(9!==s)return e;e+=this.options.tabSize}}},i.prototype.closes=function(t,s,i,r){return this.tok.type===t||this.tok.type===e.tokTypes.eof||i!==this.curLineStart&&this.curIndent<s&&this.tokenStartsLine()&&(!r||this.nextLineStart>=this.input.length||this.indentationAfter(this.nextLineStart)<s)},i.prototype.tokenStartsLine=function(){for(var t=this.tok.start-1;t>=this.curLineStart;--t){var e=this.input.charCodeAt(t);if(9!==e&&32!==e)return!1}return!0},i.prototype.extend=function(t,e){this[t]=e(this[t])},i.prototype.parse=function(){return this.next(),this.parseTopLevel()},i.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var s=this,i=0;i<t.length;i++)s=t[i](s);return s},i.parse=function(t,e){return new this(t,e).parse()},i.BaseParser=e.Parser;var r=i.prototype;function n(t){return t<14&&t>8||32===t||160===t||e.isNewLine(t)}function a(t){return"✖"===t.name}r.next=function(){if(this.last=this.tok,this.ahead.length?this.tok=this.ahead.shift():this.tok=this.readToken(),this.tok.start>=this.nextLineStart){for(;this.tok.start>=this.nextLineStart;)this.curLineStart=this.nextLineStart,this.nextLineStart=this.lineEnd(this.curLineStart)+1;this.curIndent=this.indentationAfter(this.curLineStart)}},r.readToken=function(){for(;;)try{return this.toks.next(),this.toks.type===e.tokTypes.dot&&"."===this.input.substr(this.toks.end,1)&&this.options.ecmaVersion>=6&&(this.toks.end++,this.toks.type=e.tokTypes.ellipsis),new e.Token(this.toks)}catch(o){if(!(o instanceof SyntaxError))throw o;var t=o.message,s=o.raisedAt,i=!0;if(/unterminated/i.test(t))if(s=this.lineEnd(o.pos+1),/string/.test(t))i={start:o.pos,end:s,type:e.tokTypes.string,value:this.input.slice(o.pos+1,s)};else if(/regular expr/i.test(t)){var r=this.input.slice(o.pos,s);try{r=new RegExp(r)}catch(t){}i={start:o.pos,end:s,type:e.tokTypes.regexp,value:r}}else i=!!/template/.test(t)&&{start:o.pos,end:s,type:e.tokTypes.template,value:this.input.slice(o.pos,s)};else if(/invalid (unicode|regexp|number)|expecting unicode|octal literal|is reserved|directly after number|expected number in radix/i.test(t))for(;s<this.input.length&&!n(this.input.charCodeAt(s));)++s;else if(/character escape|expected hexadecimal/i.test(t))for(;s<this.input.length;){var a=this.input.charCodeAt(s++);if(34===a||39===a||e.isNewLine(a))break}else if(/unexpected character/i.test(t))s++,i=!1;else{if(!/regular expression/i.test(t))throw o;i=!0}if(this.resetTo(s),!0===i&&(i={start:s,end:s,type:e.tokTypes.name,value:"✖"}),i)return this.options.locations&&(i.loc=new e.SourceLocation(this.toks,e.getLineInfo(this.input,i.start),e.getLineInfo(this.input,i.end))),i}},r.resetTo=function(t){this.toks.pos=t;var s,i=this.input.charAt(t-1);if(this.toks.exprAllowed=!i||/[[{(,;:?/*=+\-~!|&%^<>]/.test(i)||/[enwfd]/.test(i)&&/\b(case|else|return|throw|new|in|(instance|type)?of|delete|void)$/.test(this.input.slice(t-10,t)),this.options.locations)for(this.toks.curLine=1,this.toks.lineStart=e.lineBreakG.lastIndex=0;(s=e.lineBreakG.exec(this.input))&&s.index<t;)++this.toks.curLine,this.toks.lineStart=s.index+s[0].length},r.lookAhead=function(t){for(;t>this.ahead.length;)this.ahead.push(this.readToken());return this.ahead[t-1]};var o=i.prototype;o.parseTopLevel=function(){var t=this.startNodeAt(this.options.locations?[0,e.getLineInfo(this.input,0)]:0);for(t.body=[];this.tok.type!==e.tokTypes.eof;)t.body.push(this.parseStatement());return this.toks.adaptDirectivePrologue(t.body),this.last=this.tok,this.options.ecmaVersion>=6&&(t.sourceType=this.options.sourceType),this.finishNode(t,"Program")},o.parseStatement=function(){var t,s=this.tok.type,i=this.startNode();switch(this.toks.isLet()&&(s=e.tokTypes._var,t="let"),s){case e.tokTypes._break:case e.tokTypes._continue:this.next();var r=s===e.tokTypes._break;return this.semicolon()||this.canInsertSemicolon()?i.label=null:(i.label=this.tok.type===e.tokTypes.name?this.parseIdent():null,this.semicolon()),this.finishNode(i,r?"BreakStatement":"ContinueStatement");case e.tokTypes._debugger:return this.next(),this.semicolon(),this.finishNode(i,"DebuggerStatement");case e.tokTypes._do:return this.next(),i.body=this.parseStatement(),i.test=this.eat(e.tokTypes._while)?this.parseParenExpression():this.dummyIdent(),this.semicolon(),this.finishNode(i,"DoWhileStatement");case e.tokTypes._for:this.next();var n=this.options.ecmaVersion>=9&&this.inAsync&&this.eatContextual("await");if(this.pushCx(),this.expect(e.tokTypes.parenL),this.tok.type===e.tokTypes.semi)return this.parseFor(i,null);var o=this.toks.isLet();if(o||this.tok.type===e.tokTypes._var||this.tok.type===e.tokTypes._const){var h=this.parseVar(this.startNode(),!0,o?"let":this.tok.value);return 1!==h.declarations.length||this.tok.type!==e.tokTypes._in&&!this.isContextual("of")?this.parseFor(i,h):(this.options.ecmaVersion>=9&&this.tok.type!==e.tokTypes._in&&(i.await=n),this.parseForIn(i,h))}var p=this.parseExpression(!0);return this.tok.type===e.tokTypes._in||this.isContextual("of")?(this.options.ecmaVersion>=9&&this.tok.type!==e.tokTypes._in&&(i.await=n),this.parseForIn(i,this.toAssignable(p))):this.parseFor(i,p);case e.tokTypes._function:return this.next(),this.parseFunction(i,!0);case e.tokTypes._if:return this.next(),i.test=this.parseParenExpression(),i.consequent=this.parseStatement(),i.alternate=this.eat(e.tokTypes._else)?this.parseStatement():null,this.finishNode(i,"IfStatement");case e.tokTypes._return:return this.next(),this.eat(e.tokTypes.semi)||this.canInsertSemicolon()?i.argument=null:(i.argument=this.parseExpression(),this.semicolon()),this.finishNode(i,"ReturnStatement");case e.tokTypes._switch:var c,u=this.curIndent,l=this.curLineStart;for(this.next(),i.discriminant=this.parseParenExpression(),i.cases=[],this.pushCx(),this.expect(e.tokTypes.braceL);!this.closes(e.tokTypes.braceR,u,l,!0);)if(this.tok.type===e.tokTypes._case||this.tok.type===e.tokTypes._default){var d=this.tok.type===e.tokTypes._case;c&&this.finishNode(c,"SwitchCase"),i.cases.push(c=this.startNode()),c.consequent=[],this.next(),c.test=d?this.parseExpression():null,this.expect(e.tokTypes.colon)}else c||(i.cases.push(c=this.startNode()),c.consequent=[],c.test=null),c.consequent.push(this.parseStatement());return c&&this.finishNode(c,"SwitchCase"),this.popCx(),this.eat(e.tokTypes.braceR),this.finishNode(i,"SwitchStatement");case e.tokTypes._throw:return this.next(),i.argument=this.parseExpression(),this.semicolon(),this.finishNode(i,"ThrowStatement");case e.tokTypes._try:if(this.next(),i.block=this.parseBlock(),i.handler=null,this.tok.type===e.tokTypes._catch){var f=this.startNode();this.next(),this.eat(e.tokTypes.parenL)?(f.param=this.toAssignable(this.parseExprAtom(),!0),this.expect(e.tokTypes.parenR)):f.param=null,f.body=this.parseBlock(),i.handler=this.finishNode(f,"CatchClause")}return i.finalizer=this.eat(e.tokTypes._finally)?this.parseBlock():null,i.handler||i.finalizer?this.finishNode(i,"TryStatement"):i.block;case e.tokTypes._var:case e.tokTypes._const:return this.parseVar(i,!1,t||this.tok.value);case e.tokTypes._while:return this.next(),i.test=this.parseParenExpression(),i.body=this.parseStatement(),this.finishNode(i,"WhileStatement");case e.tokTypes._with:return this.next(),i.object=this.parseParenExpression(),i.body=this.parseStatement(),this.finishNode(i,"WithStatement");case e.tokTypes.braceL:return this.parseBlock();case e.tokTypes.semi:return this.next(),this.finishNode(i,"EmptyStatement");case e.tokTypes._class:return this.parseClass(!0);case e.tokTypes._import:return this.options.ecmaVersion>10&&this.lookAhead(1).type===e.tokTypes.parenL?(i.expression=this.parseExpression(),this.semicolon(),this.finishNode(i,"ExpressionStatement")):this.parseImport();case e.tokTypes._export:return this.parseExport();default:if(this.toks.isAsyncFunction())return this.next(),this.next(),this.parseFunction(i,!0,!0);var m=this.parseExpression();return a(m)?(this.next(),this.tok.type===e.tokTypes.eof?this.finishNode(i,"EmptyStatement"):this.parseStatement()):s===e.tokTypes.name&&"Identifier"===m.type&&this.eat(e.tokTypes.colon)?(i.body=this.parseStatement(),i.label=m,this.finishNode(i,"LabeledStatement")):(i.expression=m,this.semicolon(),this.finishNode(i,"ExpressionStatement"))}},o.parseBlock=function(){var t=this.startNode();this.pushCx(),this.expect(e.tokTypes.braceL);var s=this.curIndent,i=this.curLineStart;for(t.body=[];!this.closes(e.tokTypes.braceR,s,i,!0);)t.body.push(this.parseStatement());return this.popCx(),this.eat(e.tokTypes.braceR),this.finishNode(t,"BlockStatement")},o.parseFor=function(t,s){return t.init=s,t.test=t.update=null,this.eat(e.tokTypes.semi)&&this.tok.type!==e.tokTypes.semi&&(t.test=this.parseExpression()),this.eat(e.tokTypes.semi)&&this.tok.type!==e.tokTypes.parenR&&(t.update=this.parseExpression()),this.popCx(),this.expect(e.tokTypes.parenR),t.body=this.parseStatement(),this.finishNode(t,"ForStatement")},o.parseForIn=function(t,s){var i=this.tok.type===e.tokTypes._in?"ForInStatement":"ForOfStatement";return this.next(),t.left=s,t.right=this.parseExpression(),this.popCx(),this.expect(e.tokTypes.parenR),t.body=this.parseStatement(),this.finishNode(t,i)},o.parseVar=function(t,s,i){t.kind=i,this.next(),t.declarations=[];do{var r=this.startNode();r.id=this.options.ecmaVersion>=6?this.toAssignable(this.parseExprAtom(),!0):this.parseIdent(),r.init=this.eat(e.tokTypes.eq)?this.parseMaybeAssign(s):null,t.declarations.push(this.finishNode(r,"VariableDeclarator"))}while(this.eat(e.tokTypes.comma));if(!t.declarations.length){var n=this.startNode();n.id=this.dummyIdent(),t.declarations.push(this.finishNode(n,"VariableDeclarator"))}return s||this.semicolon(),this.finishNode(t,"VariableDeclaration")},o.parseClass=function(t){var s=this.startNode();this.next(),this.tok.type===e.tokTypes.name?s.id=this.parseIdent():s.id=!0===t?this.dummyIdent():null,s.superClass=this.eat(e.tokTypes._extends)?this.parseExpression():null,s.body=this.startNode(),s.body.body=[],this.pushCx();var i=this.curIndent+1,r=this.curLineStart;for(this.eat(e.tokTypes.braceL),this.curIndent+1<i&&(i=this.curIndent,r=this.curLineStart);!this.closes(e.tokTypes.braceR,i,r);)if(!this.semicolon()){var n=this.startNode(),o=void 0,h=void 0;this.options.ecmaVersion>=6&&(n.static=!1,o=this.eat(e.tokTypes.star)),this.parsePropertyName(n),a(n.key)?(a(this.parseMaybeAssign())&&this.next(),this.eat(e.tokTypes.comma)):("Identifier"!==n.key.type||n.computed||"static"!==n.key.name||this.tok.type===e.tokTypes.parenL||this.tok.type===e.tokTypes.braceL?n.static=!1:(n.static=!0,o=this.eat(e.tokTypes.star),this.parsePropertyName(n)),n.computed||"Identifier"!==n.key.type||"async"!==n.key.name||this.tok.type===e.tokTypes.parenL||this.canInsertSemicolon()?h=!1:(h=!0,o=this.options.ecmaVersion>=9&&this.eat(e.tokTypes.star),this.parsePropertyName(n)),this.options.ecmaVersion>=5&&"Identifier"===n.key.type&&!n.computed&&("get"===n.key.name||"set"===n.key.name)&&this.tok.type!==e.tokTypes.parenL&&this.tok.type!==e.tokTypes.braceL?(n.kind=n.key.name,this.parsePropertyName(n),n.value=this.parseMethod(!1)):(n.computed||n.static||o||h||!("Identifier"===n.key.type&&"constructor"===n.key.name||"Literal"===n.key.type&&"constructor"===n.key.value)?n.kind="method":n.kind="constructor",n.value=this.parseMethod(o,h)),s.body.body.push(this.finishNode(n,"MethodDefinition")))}return this.popCx(),this.eat(e.tokTypes.braceR)||(this.last.end=this.tok.start,this.options.locations&&(this.last.loc.end=this.tok.loc.start)),this.semicolon(),this.finishNode(s.body,"ClassBody"),this.finishNode(s,t?"ClassDeclaration":"ClassExpression")},o.parseFunction=function(t,s,i){var r=this.inAsync,n=this.inFunction;return this.initFunction(t),this.options.ecmaVersion>=6&&(t.generator=this.eat(e.tokTypes.star)),this.options.ecmaVersion>=8&&(t.async=!!i),this.tok.type===e.tokTypes.name?t.id=this.parseIdent():!0===s&&(t.id=this.dummyIdent()),this.inAsync=t.async,this.inFunction=!0,t.params=this.parseFunctionParams(),t.body=this.parseBlock(),this.toks.adaptDirectivePrologue(t.body.body),this.inAsync=r,this.inFunction=n,this.finishNode(t,s?"FunctionDeclaration":"FunctionExpression")},o.parseExport=function(){var t=this.startNode();if(this.next(),this.eat(e.tokTypes.star))return t.source=this.eatContextual("from")?this.parseExprAtom():this.dummyString(),this.finishNode(t,"ExportAllDeclaration");if(this.eat(e.tokTypes._default)){var s;if(this.tok.type===e.tokTypes._function||(s=this.toks.isAsyncFunction())){var i=this.startNode();this.next(),s&&this.next(),t.declaration=this.parseFunction(i,"nullableID",s)}else this.tok.type===e.tokTypes._class?t.declaration=this.parseClass("nullableID"):(t.declaration=this.parseMaybeAssign(),this.semicolon());return this.finishNode(t,"ExportDefaultDeclaration")}return this.tok.type.keyword||this.toks.isLet()||this.toks.isAsyncFunction()?(t.declaration=this.parseStatement(),t.specifiers=[],t.source=null):(t.declaration=null,t.specifiers=this.parseExportSpecifierList(),t.source=this.eatContextual("from")?this.parseExprAtom():null,this.semicolon()),this.finishNode(t,"ExportNamedDeclaration")},o.parseImport=function(){var t,s=this.startNode();return this.next(),this.tok.type===e.tokTypes.string?(s.specifiers=[],s.source=this.parseExprAtom()):(this.tok.type===e.tokTypes.name&&"from"!==this.tok.value&&((t=this.startNode()).local=this.parseIdent(),this.finishNode(t,"ImportDefaultSpecifier"),this.eat(e.tokTypes.comma)),s.specifiers=this.parseImportSpecifiers(),s.source=this.eatContextual("from")&&this.tok.type===e.tokTypes.string?this.parseExprAtom():this.dummyString(),t&&s.specifiers.unshift(t)),this.semicolon(),this.finishNode(s,"ImportDeclaration")},o.parseImportSpecifiers=function(){var t=[];if(this.tok.type===e.tokTypes.star){var s=this.startNode();this.next(),s.local=this.eatContextual("as")?this.parseIdent():this.dummyIdent(),t.push(this.finishNode(s,"ImportNamespaceSpecifier"))}else{var i=this.curIndent,r=this.curLineStart,n=this.nextLineStart;for(this.pushCx(),this.eat(e.tokTypes.braceL),this.curLineStart>n&&(n=this.curLineStart);!this.closes(e.tokTypes.braceR,i+(this.curLineStart<=n?1:0),r);){var o=this.startNode();if(this.eat(e.tokTypes.star))o.local=this.eatContextual("as")?this.parseIdent():this.dummyIdent(),this.finishNode(o,"ImportNamespaceSpecifier");else{if(this.isContextual("from"))break;if(o.imported=this.parseIdent(),a(o.imported))break;o.local=this.eatContextual("as")?this.parseIdent():o.imported,this.finishNode(o,"ImportSpecifier")}t.push(o),this.eat(e.tokTypes.comma)}this.eat(e.tokTypes.braceR),this.popCx()}return t},o.parseExportSpecifierList=function(){var t=[],s=this.curIndent,i=this.curLineStart,r=this.nextLineStart;for(this.pushCx(),this.eat(e.tokTypes.braceL),this.curLineStart>r&&(r=this.curLineStart);!this.closes(e.tokTypes.braceR,s+(this.curLineStart<=r?1:0),i)&&!this.isContextual("from");){var n=this.startNode();if(n.local=this.parseIdent(),a(n.local))break;n.exported=this.eatContextual("as")?this.parseIdent():n.local,this.finishNode(n,"ExportSpecifier"),t.push(n),this.eat(e.tokTypes.comma)}return this.eat(e.tokTypes.braceR),this.popCx(),t};var h=i.prototype;h.checkLVal=function(t){if(!t)return t;switch(t.type){case"Identifier":case"MemberExpression":return t;case"ParenthesizedExpression":return t.expression=this.checkLVal(t.expression),t;default:return this.dummyIdent()}},h.parseExpression=function(t){var s=this.storeCurrentPos(),i=this.parseMaybeAssign(t);if(this.tok.type===e.tokTypes.comma){var r=this.startNodeAt(s);for(r.expressions=[i];this.eat(e.tokTypes.comma);)r.expressions.push(this.parseMaybeAssign(t));return this.finishNode(r,"SequenceExpression")}return i},h.parseParenExpression=function(){this.pushCx(),this.expect(e.tokTypes.parenL);var t=this.parseExpression();return this.popCx(),this.expect(e.tokTypes.parenR),t},h.parseMaybeAssign=function(t){if(this.toks.isContextual("yield")){var s=this.startNode();return this.next(),this.semicolon()||this.canInsertSemicolon()||this.tok.type!==e.tokTypes.star&&!this.tok.type.startsExpr?(s.delegate=!1,s.argument=null):(s.delegate=this.eat(e.tokTypes.star),s.argument=this.parseMaybeAssign()),this.finishNode(s,"YieldExpression")}var i=this.storeCurrentPos(),r=this.parseMaybeConditional(t);if(this.tok.type.isAssign){var n=this.startNodeAt(i);return n.operator=this.tok.value,n.left=this.tok.type===e.tokTypes.eq?this.toAssignable(r):this.checkLVal(r),this.next(),n.right=this.parseMaybeAssign(t),this.finishNode(n,"AssignmentExpression")}return r},h.parseMaybeConditional=function(t){var s=this.storeCurrentPos(),i=this.parseExprOps(t);if(this.eat(e.tokTypes.question)){var r=this.startNodeAt(s);return r.test=i,r.consequent=this.parseMaybeAssign(),r.alternate=this.expect(e.tokTypes.colon)?this.parseMaybeAssign(t):this.dummyIdent(),this.finishNode(r,"ConditionalExpression")}return i},h.parseExprOps=function(t){var e=this.storeCurrentPos(),s=this.curIndent,i=this.curLineStart;return this.parseExprOp(this.parseMaybeUnary(!1),e,-1,t,s,i)},h.parseExprOp=function(t,s,i,r,n,a){if(this.curLineStart!==a&&this.curIndent<n&&this.tokenStartsLine())return t;var o=this.tok.type.binop;if(null!=o&&(!r||this.tok.type!==e.tokTypes._in)&&o>i){var h=this.startNodeAt(s);if(h.left=t,h.operator=this.tok.value,this.next(),this.curLineStart!==a&&this.curIndent<n&&this.tokenStartsLine())h.right=this.dummyIdent();else{var p=this.storeCurrentPos();h.right=this.parseExprOp(this.parseMaybeUnary(!1),p,o,r,n,a)}return this.finishNode(h,/&&|\|\|/.test(h.operator)?"LogicalExpression":"BinaryExpression"),this.parseExprOp(h,s,i,r,n,a)}return t},h.parseMaybeUnary=function(t){var s,i=this.storeCurrentPos();if(this.options.ecmaVersion>=8&&this.toks.isContextual("await")&&(this.inAsync||!this.inFunction&&this.options.allowAwaitOutsideFunction))s=this.parseAwait(),t=!0;else if(this.tok.type.prefix){var r=this.startNode(),n=this.tok.type===e.tokTypes.incDec;n||(t=!0),r.operator=this.tok.value,r.prefix=!0,this.next(),r.argument=this.parseMaybeUnary(!0),n&&(r.argument=this.checkLVal(r.argument)),s=this.finishNode(r,n?"UpdateExpression":"UnaryExpression")}else if(this.tok.type===e.tokTypes.ellipsis){var a=this.startNode();this.next(),a.argument=this.parseMaybeUnary(t),s=this.finishNode(a,"SpreadElement")}else for(s=this.parseExprSubscripts();this.tok.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(i);o.operator=this.tok.value,o.prefix=!1,o.argument=this.checkLVal(s),this.next(),s=this.finishNode(o,"UpdateExpression")}if(!t&&this.eat(e.tokTypes.starstar)){var h=this.startNodeAt(i);return h.operator="**",h.left=s,h.right=this.parseMaybeUnary(!1),this.finishNode(h,"BinaryExpression")}return s},h.parseExprSubscripts=function(){var t=this.storeCurrentPos();return this.parseSubscripts(this.parseExprAtom(),t,!1,this.curIndent,this.curLineStart)},h.parseSubscripts=function(t,s,i,r,n){for(;;){if(this.curLineStart!==n&&this.curIndent<=r&&this.tokenStartsLine()){if(this.tok.type!==e.tokTypes.dot||this.curIndent!==r)return t;--r}var a="Identifier"===t.type&&"async"===t.name&&!this.canInsertSemicolon();if(this.eat(e.tokTypes.dot)){var o=this.startNodeAt(s);o.object=t,this.curLineStart!==n&&this.curIndent<=r&&this.tokenStartsLine()?o.property=this.dummyIdent():o.property=this.parsePropertyAccessor()||this.dummyIdent(),o.computed=!1,t=this.finishNode(o,"MemberExpression")}else if(this.tok.type===e.tokTypes.bracketL){this.pushCx(),this.next();var h=this.startNodeAt(s);h.object=t,h.property=this.parseExpression(),h.computed=!0,this.popCx(),this.expect(e.tokTypes.bracketR),t=this.finishNode(h,"MemberExpression")}else if(i||this.tok.type!==e.tokTypes.parenL){if(this.tok.type!==e.tokTypes.backQuote)return t;var p=this.startNodeAt(s);p.tag=t,p.quasi=this.parseTemplate(),t=this.finishNode(p,"TaggedTemplateExpression")}else{var c=this.parseExprList(e.tokTypes.parenR);if(a&&this.eat(e.tokTypes.arrow))return this.parseArrowExpression(this.startNodeAt(s),c,!0);var u=this.startNodeAt(s);u.callee=t,u.arguments=c,t=this.finishNode(u,"CallExpression")}}},h.parseExprAtom=function(){var t;switch(this.tok.type){case e.tokTypes._this:case e.tokTypes._super:var s=this.tok.type===e.tokTypes._this?"ThisExpression":"Super";return t=this.startNode(),this.next(),this.finishNode(t,s);case e.tokTypes.name:var i=this.storeCurrentPos(),r=this.parseIdent(),n=!1;if("async"===r.name&&!this.canInsertSemicolon()){if(this.eat(e.tokTypes._function))return this.parseFunction(this.startNodeAt(i),!1,!0);this.tok.type===e.tokTypes.name&&(r=this.parseIdent(),n=!0)}return this.eat(e.tokTypes.arrow)?this.parseArrowExpression(this.startNodeAt(i),[r],n):r;case e.tokTypes.regexp:t=this.startNode();var o=this.tok.value;return t.regex={pattern:o.pattern,flags:o.flags},t.value=o.value,t.raw=this.input.slice(this.tok.start,this.tok.end),this.next(),this.finishNode(t,"Literal");case e.tokTypes.num:case e.tokTypes.string:return(t=this.startNode()).value=this.tok.value,t.raw=this.input.slice(this.tok.start,this.tok.end),this.tok.type===e.tokTypes.num&&110===t.raw.charCodeAt(t.raw.length-1)&&(t.bigint=t.raw.slice(0,-1)),this.next(),this.finishNode(t,"Literal");case e.tokTypes._null:case e.tokTypes._true:case e.tokTypes._false:return(t=this.startNode()).value=this.tok.type===e.tokTypes._null?null:this.tok.type===e.tokTypes._true,t.raw=this.tok.type.keyword,this.next(),this.finishNode(t,"Literal");case e.tokTypes.parenL:var h=this.storeCurrentPos();this.next();var p=this.parseExpression();if(this.expect(e.tokTypes.parenR),this.eat(e.tokTypes.arrow)){var c=p.expressions||[p];return c.length&&a(c[c.length-1])&&c.pop(),this.parseArrowExpression(this.startNodeAt(h),c)}if(this.options.preserveParens){var u=this.startNodeAt(h);u.expression=p,p=this.finishNode(u,"ParenthesizedExpression")}return p;case e.tokTypes.bracketL:return(t=this.startNode()).elements=this.parseExprList(e.tokTypes.bracketR,!0),this.finishNode(t,"ArrayExpression");case e.tokTypes.braceL:return this.parseObj();case e.tokTypes._class:return this.parseClass(!1);case e.tokTypes._function:return t=this.startNode(),this.next(),this.parseFunction(t,!1);case e.tokTypes._new:return this.parseNew();case e.tokTypes.backQuote:return this.parseTemplate();case e.tokTypes._import:return this.options.ecmaVersion>10?this.parseDynamicImport():this.dummyIdent();default:return this.dummyIdent()}},h.parseDynamicImport=function(){var t=this.startNode();return this.next(),this.finishNode(t,"Import")},h.parseNew=function(){var t=this.startNode(),s=this.curIndent,i=this.curLineStart,r=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(e.tokTypes.dot))return t.meta=r,t.property=this.parseIdent(!0),this.finishNode(t,"MetaProperty");var n=this.storeCurrentPos();return t.callee=this.parseSubscripts(this.parseExprAtom(),n,!0,s,i),this.tok.type===e.tokTypes.parenL?t.arguments=this.parseExprList(e.tokTypes.parenR):t.arguments=[],this.finishNode(t,"NewExpression")},h.parseTemplateElement=function(){var t=this.startNode();return this.tok.type===e.tokTypes.invalidTemplate?t.value={raw:this.tok.value,cooked:null}:t.value={raw:this.input.slice(this.tok.start,this.tok.end).replace(/\r\n?/g,"\n"),cooked:this.tok.value},this.next(),t.tail=this.tok.type===e.tokTypes.backQuote,this.finishNode(t,"TemplateElement")},h.parseTemplate=function(){var t=this.startNode();this.next(),t.expressions=[];var s=this.parseTemplateElement();for(t.quasis=[s];!s.tail;)this.next(),t.expressions.push(this.parseExpression()),this.expect(e.tokTypes.braceR)?s=this.parseTemplateElement():((s=this.startNode()).value={cooked:"",raw:""},s.tail=!0,this.finishNode(s,"TemplateElement")),t.quasis.push(s);return this.expect(e.tokTypes.backQuote),this.finishNode(t,"TemplateLiteral")},h.parseObj=function(){var t=this.startNode();t.properties=[],this.pushCx();var s=this.curIndent+1,i=this.curLineStart;for(this.eat(e.tokTypes.braceL),this.curIndent+1<s&&(s=this.curIndent,i=this.curLineStart);!this.closes(e.tokTypes.braceR,s,i);){var r=this.startNode(),n=void 0,o=void 0,h=void 0;if(this.options.ecmaVersion>=9&&this.eat(e.tokTypes.ellipsis))r.argument=this.parseMaybeAssign(),t.properties.push(this.finishNode(r,"SpreadElement")),this.eat(e.tokTypes.comma);else if(this.options.ecmaVersion>=6&&(h=this.storeCurrentPos(),r.method=!1,r.shorthand=!1,n=this.eat(e.tokTypes.star)),this.parsePropertyName(r),this.toks.isAsyncProp(r)?(o=!0,n=this.options.ecmaVersion>=9&&this.eat(e.tokTypes.star),this.parsePropertyName(r)):o=!1,a(r.key))a(this.parseMaybeAssign())&&this.next(),this.eat(e.tokTypes.comma);else{if(this.eat(e.tokTypes.colon))r.kind="init",r.value=this.parseMaybeAssign();else if(this.options.ecmaVersion>=6&&(this.tok.type===e.tokTypes.parenL||this.tok.type===e.tokTypes.braceL))r.kind="init",r.method=!0,r.value=this.parseMethod(n,o);else if(this.options.ecmaVersion>=5&&"Identifier"===r.key.type&&!r.computed&&("get"===r.key.name||"set"===r.key.name)&&this.tok.type!==e.tokTypes.comma&&this.tok.type!==e.tokTypes.braceR&&this.tok.type!==e.tokTypes.eq)r.kind=r.key.name,this.parsePropertyName(r),r.value=this.parseMethod(!1);else{if(r.kind="init",this.options.ecmaVersion>=6)if(this.eat(e.tokTypes.eq)){var p=this.startNodeAt(h);p.operator="=",p.left=r.key,p.right=this.parseMaybeAssign(),r.value=this.finishNode(p,"AssignmentExpression")}else r.value=r.key;else r.value=this.dummyIdent();r.shorthand=!0}t.properties.push(this.finishNode(r,"Property")),this.eat(e.tokTypes.comma)}}return this.popCx(),this.eat(e.tokTypes.braceR)||(this.last.end=this.tok.start,this.options.locations&&(this.last.loc.end=this.tok.loc.start)),this.finishNode(t,"ObjectExpression")},h.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(e.tokTypes.bracketL))return t.computed=!0,t.key=this.parseExpression(),void this.expect(e.tokTypes.bracketR);t.computed=!1}var s=this.tok.type===e.tokTypes.num||this.tok.type===e.tokTypes.string?this.parseExprAtom():this.parseIdent();t.key=s||this.dummyIdent()},h.parsePropertyAccessor=function(){if(this.tok.type===e.tokTypes.name||this.tok.type.keyword)return this.parseIdent()},h.parseIdent=function(){var t=this.tok.type===e.tokTypes.name?this.tok.value:this.tok.type.keyword;if(!t)return this.dummyIdent();var s=this.startNode();return this.next(),s.name=t,this.finishNode(s,"Identifier")},h.initFunction=function(t){t.id=null,t.params=[],this.options.ecmaVersion>=6&&(t.generator=!1,t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},h.toAssignable=function(t,e){if(!t||"Identifier"===t.type||"MemberExpression"===t.type&&!e);else if("ParenthesizedExpression"===t.type)this.toAssignable(t.expression,e);else{if(this.options.ecmaVersion<6)return this.dummyIdent();if("ObjectExpression"===t.type){t.type="ObjectPattern";for(var s=0,i=t.properties;s<i.length;s+=1){var r=i[s];this.toAssignable(r,e)}}else if("ArrayExpression"===t.type)t.type="ArrayPattern",this.toAssignableList(t.elements,e);else if("Property"===t.type)this.toAssignable(t.value,e);else if("SpreadElement"===t.type)t.type="RestElement",this.toAssignable(t.argument,e);else{if("AssignmentExpression"!==t.type)return this.dummyIdent();t.type="AssignmentPattern",delete t.operator}}return t},h.toAssignableList=function(t,e){for(var s=0,i=t;s<i.length;s+=1){var r=i[s];this.toAssignable(r,e)}return t},h.parseFunctionParams=function(t){return t=this.parseExprList(e.tokTypes.parenR),this.toAssignableList(t,!0)},h.parseMethod=function(t,e){var s=this.startNode(),i=this.inAsync,r=this.inFunction;return this.initFunction(s),this.options.ecmaVersion>=6&&(s.generator=!!t),this.options.ecmaVersion>=8&&(s.async=!!e),this.inAsync=s.async,this.inFunction=!0,s.params=this.parseFunctionParams(),s.body=this.parseBlock(),this.toks.adaptDirectivePrologue(s.body.body),this.inAsync=i,this.inFunction=r,this.finishNode(s,"FunctionExpression")},h.parseArrowExpression=function(t,s,i){var r=this.inAsync,n=this.inFunction;return this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!i),this.inAsync=t.async,this.inFunction=!0,t.params=this.toAssignableList(s,!0),t.expression=this.tok.type!==e.tokTypes.braceL,t.expression?t.body=this.parseMaybeAssign():(t.body=this.parseBlock(),this.toks.adaptDirectivePrologue(t.body.body)),this.inAsync=r,this.inFunction=n,this.finishNode(t,"ArrowFunctionExpression")},h.parseExprList=function(t,s){this.pushCx();var i=this.curIndent,r=this.curLineStart,n=[];for(this.next();!this.closes(t,i+1,r);)if(this.eat(e.tokTypes.comma))n.push(s?null:this.dummyIdent());else{var o=this.parseMaybeAssign();if(a(o)){if(this.closes(t,i,r))break;this.next()}else n.push(o);this.eat(e.tokTypes.comma)}return this.popCx(),this.eat(t)||(this.last.end=this.tok.start,this.options.locations&&(this.last.loc.end=this.tok.loc.start)),n},h.parseAwait=function(){var t=this.startNode();return this.next(),t.argument=this.parseMaybeUnary(),this.finishNode(t,"AwaitExpression")},e.defaultOptions.tabSize=4,t.LooseParser=i,t.parse=function(t,e){return i.parse(t,e)},Object.defineProperty(t,"__esModule",{value:!0})})),function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(((t=t||self).acorn=t.acorn||{},t.acorn.walk={}))}(this,(function(t){"use strict";function e(t){return"string"==typeof t?function(e){return e===t}:t||function(){return!0}}var s=function(t,e){this.node=t,this.state=e},i=Object.create||function(t){function e(){}return e.prototype=t,new e};function r(t,e){var s=i(e||o);for(var r in t)s[r]=t[r];return s}function n(t,e,s){s(t,e)}function a(t,e,s){}var o={};o.Program=o.BlockStatement=function(t,e,s){for(var i=0,r=t.body;i<r.length;i+=1)s(r[i],e,"Statement")},o.Statement=n,o.EmptyStatement=a,o.ExpressionStatement=o.ParenthesizedExpression=function(t,e,s){return s(t.expression,e,"Expression")},o.IfStatement=function(t,e,s){s(t.test,e,"Expression"),s(t.consequent,e,"Statement"),t.alternate&&s(t.alternate,e,"Statement")},o.LabeledStatement=function(t,e,s){return s(t.body,e,"Statement")},o.BreakStatement=o.ContinueStatement=a,o.WithStatement=function(t,e,s){s(t.object,e,"Expression"),s(t.body,e,"Statement")},o.SwitchStatement=function(t,e,s){s(t.discriminant,e,"Expression");for(var i=0,r=t.cases;i<r.length;i+=1){var n=r[i];n.test&&s(n.test,e,"Expression");for(var a=0,o=n.consequent;a<o.length;a+=1)s(o[a],e,"Statement")}},o.SwitchCase=function(t,e,s){t.test&&s(t.test,e,"Expression");for(var i=0,r=t.consequent;i<r.length;i+=1)s(r[i],e,"Statement")},o.ReturnStatement=o.YieldExpression=o.AwaitExpression=function(t,e,s){t.argument&&s(t.argument,e,"Expression")},o.ThrowStatement=o.SpreadElement=function(t,e,s){return s(t.argument,e,"Expression")},o.TryStatement=function(t,e,s){s(t.block,e,"Statement"),t.handler&&s(t.handler,e),t.finalizer&&s(t.finalizer,e,"Statement")},o.CatchClause=function(t,e,s){t.param&&s(t.param,e,"Pattern"),s(t.body,e,"Statement")},o.WhileStatement=o.DoWhileStatement=function(t,e,s){s(t.test,e,"Expression"),s(t.body,e,"Statement")},o.ForStatement=function(t,e,s){t.init&&s(t.init,e,"ForInit"),t.test&&s(t.test,e,"Expression"),t.update&&s(t.update,e,"Expression"),s(t.body,e,"Statement")},o.ForInStatement=o.ForOfStatement=function(t,e,s){s(t.left,e,"ForInit"),s(t.right,e,"Expression"),s(t.body,e,"Statement")},o.ForInit=function(t,e,s){"VariableDeclaration"===t.type?s(t,e):s(t,e,"Expression")},o.DebuggerStatement=a,o.FunctionDeclaration=function(t,e,s){return s(t,e,"Function")},o.VariableDeclaration=function(t,e,s){for(var i=0,r=t.declarations;i<r.length;i+=1)s(r[i],e)},o.VariableDeclarator=function(t,e,s){s(t.id,e,"Pattern"),t.init&&s(t.init,e,"Expression")},o.Function=function(t,e,s){t.id&&s(t.id,e,"Pattern");for(var i=0,r=t.params;i<r.length;i+=1)s(r[i],e,"Pattern");s(t.body,e,t.expression?"Expression":"Statement")},o.Pattern=function(t,e,s){"Identifier"===t.type?s(t,e,"VariablePattern"):"MemberExpression"===t.type?s(t,e,"MemberPattern"):s(t,e)},o.VariablePattern=a,o.MemberPattern=n,o.RestElement=function(t,e,s){return s(t.argument,e,"Pattern")},o.ArrayPattern=function(t,e,s){for(var i=0,r=t.elements;i<r.length;i+=1){var n=r[i];n&&s(n,e,"Pattern")}},o.ObjectPattern=function(t,e,s){for(var i=0,r=t.properties;i<r.length;i+=1){var n=r[i];"Property"===n.type?(n.computed&&s(n.key,e,"Expression"),s(n.value,e,"Pattern")):"RestElement"===n.type&&s(n.argument,e,"Pattern")}},o.Expression=n,o.ThisExpression=o.Super=o.MetaProperty=a,o.ArrayExpression=function(t,e,s){for(var i=0,r=t.elements;i<r.length;i+=1){var n=r[i];n&&s(n,e,"Expression")}},o.ObjectExpression=function(t,e,s){for(var i=0,r=t.properties;i<r.length;i+=1)s(r[i],e)},o.FunctionExpression=o.ArrowFunctionExpression=o.FunctionDeclaration,o.SequenceExpression=function(t,e,s){for(var i=0,r=t.expressions;i<r.length;i+=1)s(r[i],e,"Expression")},o.TemplateLiteral=function(t,e,s){for(var i=0,r=t.quasis;i<r.length;i+=1)s(r[i],e);for(var n=0,a=t.expressions;n<a.length;n+=1)s(a[n],e,"Expression")},o.TemplateElement=a,o.UnaryExpression=o.UpdateExpression=function(t,e,s){s(t.argument,e,"Expression")},o.BinaryExpression=o.LogicalExpression=function(t,e,s){s(t.left,e,"Expression"),s(t.right,e,"Expression")},o.AssignmentExpression=o.AssignmentPattern=function(t,e,s){s(t.left,e,"Pattern"),s(t.right,e,"Expression")},o.ConditionalExpression=function(t,e,s){s(t.test,e,"Expression"),s(t.consequent,e,"Expression"),s(t.alternate,e,"Expression")},o.NewExpression=o.CallExpression=function(t,e,s){if(s(t.callee,e,"Expression"),t.arguments)for(var i=0,r=t.arguments;i<r.length;i+=1)s(r[i],e,"Expression")},o.MemberExpression=function(t,e,s){s(t.object,e,"Expression"),t.computed&&s(t.property,e,"Expression")},o.ExportNamedDeclaration=o.ExportDefaultDeclaration=function(t,e,s){t.declaration&&s(t.declaration,e,"ExportNamedDeclaration"===t.type||t.declaration.id?"Statement":"Expression"),t.source&&s(t.source,e,"Expression")},o.ExportAllDeclaration=function(t,e,s){s(t.source,e,"Expression")},o.ImportDeclaration=function(t,e,s){for(var i=0,r=t.specifiers;i<r.length;i+=1)s(r[i],e);s(t.source,e,"Expression")},o.ImportSpecifier=o.ImportDefaultSpecifier=o.ImportNamespaceSpecifier=o.Identifier=o.Literal=o.Import=a,o.TaggedTemplateExpression=function(t,e,s){s(t.tag,e,"Expression"),s(t.quasi,e,"Expression")},o.ClassDeclaration=o.ClassExpression=function(t,e,s){return s(t,e,"Class")},o.Class=function(t,e,s){t.id&&s(t.id,e,"Pattern"),t.superClass&&s(t.superClass,e,"Expression"),s(t.body,e)},o.ClassBody=function(t,e,s){for(var i=0,r=t.body;i<r.length;i+=1)s(r[i],e)},o.MethodDefinition=o.Property=function(t,e,s){t.computed&&s(t.key,e,"Expression"),s(t.value,e,"Expression")},t.ancestor=function(t,e,s,i){var r=[];s||(s=o),function t(i,n,a){var o=a||i.type,h=e[o],p=i!==r[r.length-1];p&&r.push(i),s[o](i,n,t),h&&h(i,n||r,r),p&&r.pop()}(t,i)},t.base=o,t.findNodeAfter=function(t,i,r,n,a){r=e(r),n||(n=o);try{!function t(e,a,o){if(!(e.end<i)){var h=o||e.type;if(e.start>=i&&r(h,e))throw new s(e,a);n[h](e,a,t)}}(t,a)}catch(t){if(t instanceof s)return t;throw t}},t.findNodeAround=function(t,i,r,n,a){r=e(r),n||(n=o);try{!function t(e,a,o){var h=o||e.type;if(!(e.start>i||e.end<i)&&(n[h](e,a,t),r(h,e)))throw new s(e,a)}(t,a)}catch(t){if(t instanceof s)return t;throw t}},t.findNodeAt=function(t,i,r,n,a,h){a||(a=o),n=e(n);try{!function t(e,o,h){var p=h||e.type;if((null==i||e.start<=i)&&(null==r||e.end>=r)&&a[p](e,o,t),(null==i||e.start===i)&&(null==r||e.end===r)&&n(p,e))throw new s(e,o)}(t,h)}catch(t){if(t instanceof s)return t;throw t}},t.findNodeBefore=function(t,i,r,n,a){var h;return r=e(r),n||(n=o),function t(e,a,o){if(!(e.start>i)){var p=o||e.type;e.end<=i&&(!h||h.node.end<e.end)&&r(p,e)&&(h=new s(e,a)),n[p](e,a,t)}}(t,a),h},t.full=function(t,e,s,i,r){s||(s=o),function t(i,r,n){var a=n||i.type;s[a](i,r,t),n||e(i,r,a)}(t,i,r)},t.fullAncestor=function(t,e,s,i){s||(s=o);var r=[];!function t(i,n,a){var o=a||i.type,h=i!==r[r.length-1];h&&r.push(i),s[o](i,n,t),a||e(i,n||r,r,o),h&&r.pop()}(t,i)},t.make=r,t.recursive=function(t,e,s,i,n){var a=s?r(s,i||void 0):i;!function t(e,s,i){a[i||e.type](e,s,t)}(t,e,n)},t.simple=function(t,e,s,i,r){s||(s=o),function t(i,r,n){var a=n||i.type,o=e[a];s[a](i,r,t),o&&o(i,r)}(t,i,r)},Object.defineProperty(t,"__esModule",{value:!0})}));