java-wrapper.1.5.2.source-code.rosaenlg_tiny_en_US_1.5.2_comp.js Maven / Gradle / Ivy
Show all versions of java-wrapper Show documentation
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).rosaenlg_en_US=e()}}(function(){var define,module,exports;return function(){return function e(t,r,n){function i(a,o){if(!r[a]){if(!t[a]){var u="function"==typeof require&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=r[a]={exports:{}};t[a][0].call(c.exports,function(e){return i(t[a][1][e]||e)},c,c.exports,e,t,r,n)}return r[a].exports}for(var s="function"==typeof require&&require,a=0;a",{beforeExpr:n}),template:new i("template"),ellipsis:new i("...",{beforeExpr:n}),backQuote:new i("`",{startsExpr:!0}),dollarBraceL:new i("${",{beforeExpr:n,startsExpr:!0}),at:new i("@"),hash:new i("#",{startsExpr:!0}),interpreterDirective:new i("#!..."),eq:new i("=",{beforeExpr:n,isAssign:!0}),assign:new i("_=",{beforeExpr:n,isAssign:!0}),incDec:new i("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),bang:new i("!",{beforeExpr:n,prefix:!0,startsExpr:!0}),tilde:new i("~",{beforeExpr:n,prefix:!0,startsExpr:!0}),pipeline:o("|>",0),nullishCoalescing:o("??",1),logicalOR:o("||",2),logicalAND:o("&&",3),bitwiseOR:o("|",4),bitwiseXOR:o("^",5),bitwiseAND:o("&",6),equality:o("==/!=/===/!==",7),relational:o(">/<=/>=",8),bitShift:o("<>>/>>>",9),plusMin:new i("+/-",{beforeExpr:n,binop:10,prefix:!0,startsExpr:!0}),modulo:new i("%",{beforeExpr:n,binop:11,startsExpr:!0}),star:o("*",11),slash:o("/",11),exponent:new i("**",{beforeExpr:n,binop:12,rightAssociative:!0}),_break:a("break"),_case:a("case",{beforeExpr:n}),_catch:a("catch"),_continue:a("continue"),_debugger:a("debugger"),_default:a("default",{beforeExpr:n}),_do:a("do",{isLoop:!0,beforeExpr:n}),_else:a("else",{beforeExpr:n}),_finally:a("finally"),_for:a("for",{isLoop:!0}),_function:a("function",{startsExpr:!0}),_if:a("if"),_return:a("return",{beforeExpr:n}),_switch:a("switch"),_throw:a("throw",{beforeExpr:n,prefix:!0,startsExpr:!0}),_try:a("try"),_var:a("var"),_const:a("const"),_while:a("while",{isLoop:!0}),_with:a("with"),_new:a("new",{beforeExpr:n,startsExpr:!0}),_this:a("this",{startsExpr:!0}),_super:a("super",{startsExpr:!0}),_class:a("class",{startsExpr:!0}),_extends:a("extends",{beforeExpr:n}),_export:a("export"),_import:a("import",{startsExpr:!0}),_null:a("null",{startsExpr:!0}),_true:a("true",{startsExpr:!0}),_false:a("false",{startsExpr:!0}),_in:a("in",{beforeExpr:n,binop:8}),_instanceof:a("instanceof",{beforeExpr:n,binop:8}),_typeof:a("typeof",{beforeExpr:n,prefix:!0,startsExpr:!0}),_void:a("void",{beforeExpr:n,prefix:!0,startsExpr:!0}),_delete:a("delete",{beforeExpr:n,prefix:!0,startsExpr:!0})},l=0,c=1,h=2,p=4,f=8,d=16,m=32,y=64,g=128,b=256,v=c|h|512;function x(e,t){return h|(e?p:0)|(t?f:0)}const E=1,w=2,S=4,A=8,T=16,_=128,D=256,C=512,k=1024,P=E|w|A|_,F=0|E|A|0,O=0|E|S|0,N=0|E|T|0,M=0|w|_,I=0|w,B=E|w|A|D,j=0|k,L=64,R=64|E,V=B|C,U=0|k;function z(e){return null!=e&&"Property"===e.type&&"init"===e.kind&&!1===e.method}const $=/\r\n?|[\n\u2028\u2029]/,H=new RegExp($.source,"g");function q(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const W=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function K(e){switch(e){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class Y{constructor(e,t,r,n){this.token=e,this.isExpr=!!t,this.preserveSpace=!!r,this.override=n}}const J={braceStatement:new Y("{",!1),braceExpression:new Y("{",!0),templateQuasi:new Y("${",!1),parenStatement:new Y("(",!1),parenExpression:new Y("(",!0),template:new Y("`",!0,!0,e=>e.readTmplToken()),functionExpression:new Y("function",!0),functionStatement:new Y("function",!1)};u.parenR.updateContext=u.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let e=this.state.context.pop();e===J.braceStatement&&"function"===this.curContext().token&&(e=this.state.context.pop()),this.state.exprAllowed=!e.isExpr},u.name.updateContext=function(e){let t=!1;e!==u.dot&&("of"===this.state.value&&!this.state.exprAllowed||"yield"===this.state.value&&this.scope.inGenerator)&&(t=!0),this.state.exprAllowed=t,this.state.isIterator&&(this.state.isIterator=!1)},u.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?J.braceStatement:J.braceExpression),this.state.exprAllowed=!0},u.dollarBraceL.updateContext=function(){this.state.context.push(J.templateQuasi),this.state.exprAllowed=!0},u.parenL.updateContext=function(e){const t=e===u._if||e===u._for||e===u._with||e===u._while;this.state.context.push(t?J.parenStatement:J.parenExpression),this.state.exprAllowed=!0},u.incDec.updateContext=function(){},u._function.updateContext=u._class.updateContext=function(e){!e.beforeExpr||e===u.semi||e===u._else||e===u._return&&$.test(this.input.slice(this.state.lastTokEnd,this.state.start))||(e===u.colon||e===u.braceL)&&this.curContext()===J.b_stat?this.state.context.push(J.functionStatement):this.state.context.push(J.functionExpression),this.state.exprAllowed=!1},u.backQuote.updateContext=function(){this.curContext()===J.template?this.state.context.pop():this.state.context.push(J.template),this.state.exprAllowed=!1};const G=["eval","arguments"],X=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),Q=new Set(G),Z=(e,t)=>t&&"await"===e||"enum"===e;function ee(e,t){return Z(e,t)||X.has(e)}function te(e){return Q.has(e)}function re(e,t){return ee(e,t)||te(e)}const ne=/^in(stanceof)?$/;let ie="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿯ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-Ᶎꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭧꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",se="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const ae=new RegExp("["+ie+"]"),oe=new RegExp("["+ie+se+"]");ie=se=null;const ue=[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,477,28,11,0,9,21,155,22,13,52,76,44,33,24,27,35,30,0,12,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,0,33,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,0,161,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,270,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,754,9486,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,42710,42,4148,12,221,3,5761,15,7472,3104,541],le=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,525,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,4,9,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,232,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,19723,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,792487,239];function ce(e,t){let r=65536;for(let n=0,i=t.length;ne)return!1;if((r+=t[n+1])>=e)return!0}return!1}function he(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&ae.test(String.fromCharCode(e)):ce(e,ue)))}function pe(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&oe.test(String.fromCharCode(e)):ce(e,ue)||ce(e,le))))}const fe=["any","bool","boolean","empty","false","mixed","null","number","static","string","true","typeof","void","interface","extends","_"];function de(e){return"type"===e.importKind||"typeof"===e.importKind}function me(e){return(e.type===u.name||!!e.type.keyword)&&"from"!==e.value}const ye={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};const ge=/\*?\s*@((?:no)?flow)\b/;const be={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},ve=/^[\da-fA-F]+$/,xe=/^\d+$/;function Ee(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function we(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return we(e.object)+"."+we(e.property);throw new Error("Node had unexpected type: "+e.type)}J.j_oTag=new Y("... ",!0,!0),u.jsxName=new i("jsxName"),u.jsxText=new i("jsxText",{beforeExpr:!0}),u.jsxTagStart=new i("jsxTagStart",{startsExpr:!0}),u.jsxTagEnd=new i("jsxTagEnd"),u.jsxTagStart.updateContext=function(){this.state.context.push(J.j_expr),this.state.context.push(J.j_oTag),this.state.exprAllowed=!1},u.jsxTagEnd.updateContext=function(e){const t=this.state.context.pop();t===J.j_oTag&&e===u.slash||t===J.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===J.j_expr):this.state.exprAllowed=!0};class Se{constructor(e){this.var=[],this.lexical=[],this.functions=[],this.flags=e}}class Ae{constructor(e,t){this.scopeStack=[],this.undefinedExports=new Map,this.raise=e,this.inModule=t}get inFunction(){return(this.currentVarScope().flags&h)>0}get inGenerator(){return(this.currentVarScope().flags&f)>0}get inAsync(){return(this.currentVarScope().flags&p)>0}get allowSuper(){return(this.currentThisScope().flags&y)>0}get allowDirectSuper(){return(this.currentThisScope().flags&g)>0}get inNonArrowFunction(){return(this.currentThisScope().flags&h)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new Se(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(e){return!!(e.flags&h||!this.inModule&&e.flags&c)}declareName(e,t,r){let n=this.currentScope();if(t&A||t&T)this.checkRedeclarationInScope(n,e,t,r),t&T?n.functions.push(e):n.lexical.push(e),t&A&&this.maybeExportDefined(n,e);else if(t&S)for(let i=this.scopeStack.length-1;i>=0&&(n=this.scopeStack[i],this.checkRedeclarationInScope(n,e,t,r),n.var.push(e),this.maybeExportDefined(n,e),!(n.flags&v));--i);this.inModule&&n.flags&c&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.inModule&&e.flags&c&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,r,n){this.isRedeclaredInScope(e,t,r)&&this.raise(n,`Identifier '${t}' has already been declared`)}isRedeclaredInScope(e,t,r){return!!(r&E)&&(r&A?e.lexical.indexOf(t)>-1||e.functions.indexOf(t)>-1||e.var.indexOf(t)>-1:r&T?e.lexical.indexOf(t)>-1||!this.treatFunctionsAsVarInScope(e)&&e.var.indexOf(t)>-1:e.lexical.indexOf(t)>-1&&!(e.flags&m&&e.lexical[0]===t)||!this.treatFunctionsAsVarInScope(e)&&e.functions.indexOf(t)>-1)}checkLocalExport(e){-1===this.scopeStack[0].lexical.indexOf(e.name)&&-1===this.scopeStack[0].var.indexOf(e.name)&&-1===this.scopeStack[0].functions.indexOf(e.name)&&this.undefinedExports.set(e.name,e.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if(t.flags&v)return t}}currentThisScope(){for(let e=this.scopeStack.length-1;;e--){const t=this.scopeStack[e];if((t.flags&v||t.flags&b)&&!(t.flags&d))return t}}}class Te extends Se{constructor(...e){super(...e),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class _e extends Ae{createScope(e){return new Te(e)}declareName(e,t,r){const n=this.currentScope();if(t&k)return this.maybeExportDefined(n,e),void n.exportOnlyBindings.push(e);super.declareName(...arguments),t&w&&(t&E||(this.checkRedeclarationInScope(n,e,t,r),this.maybeExportDefined(n,e)),n.types.push(e)),t&D&&n.enums.push(e),t&C&&n.constEnums.push(e),t&_&&n.classes.push(e)}isRedeclaredInScope(e,t,r){if(e.enums.indexOf(t)>-1){if(r&D){return!!(r&C)!==e.constEnums.indexOf(t)>-1}return!0}return r&_&&e.classes.indexOf(t)>-1?e.lexical.indexOf(t)>-1&&!!(r&E):!!(r&w&&e.types.indexOf(t)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(e){-1===this.scopeStack[0].types.indexOf(e.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(e.name)&&super.checkLocalExport(e)}}function De(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}u.placeholder=new i("%%",{startsExpr:!0});function Ce(e,t){return e.some(e=>Array.isArray(e)?e[0]===t:e===t)}function ke(e,t,r){const n=e.find(e=>Array.isArray(e)?e[0]===t:e===t);return n&&Array.isArray(n)?n[1][r]:null}const Pe=["minimal","smart","fsharp"];const Fe={estree:e=>(class extends e{estreeParseRegExpLiteral({pattern:e,flags:t}){let r=null;try{r=new RegExp(e,t)}catch(e){}const n=this.estreeParseLiteral(r);return n.regex={pattern:e,flags:t},n}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}directiveToStmt(e){const t=e.value,r=this.startNodeAt(e.start,e.loc.start),n=this.startNodeAt(t.start,t.loc.start);return n.value=t.value,n.raw=t.extra.raw,r.expression=this.finishNodeAt(n,"Literal",t.end,t.loc.end),r.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.end,e.loc.end)}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){z(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}checkGetterSetterParams(e){const t=e,r="get"===t.kind?0:1,n=t.start;t.value.params.length!==r?"get"===t.kind?this.raise(n,"getter must not have any formal parameters"):this.raise(n,"setter must have exactly one formal parameter"):"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raise(n,"setter function argument must not be a rest parameter")}checkLVal(e,t=L,r,n,i){switch(e.type){case"ObjectPattern":e.properties.forEach(e=>{this.checkLVal("Property"===e.type?e.value:e,t,r,"object destructuring pattern",i)});break;default:super.checkLVal(e,t,r,n,i)}}checkDuplicatedProto(e,t){if("SpreadElement"===e.type||e.computed||e.method||e.shorthand)return;const r=e.key;"__proto__"===("Identifier"===r.type?r.name:String(r.value))&&"init"===e.kind&&(t.used&&!t.start&&(t.start=r.start),t.used=!0)}isStrictBody(e){if("BlockStatement"===e.body.type&&e.body.body.length>0)for(let t=0,r=e.body.body;tthis.directiveToStmt(e));e.body=i.concat(e.body),delete e.directives}pushClassMethod(e,t,r,n,i,s){this.parseMethod(t,r,n,i,s,"ClassMethod",!0),t.typeParameters&&(t.value.typeParameters=t.typeParameters,delete t.typeParameters),e.body.push(t)}parseExprAtom(e){switch(this.state.type){case u.regexp:return this.estreeParseRegExpLiteral(this.state.value);case u.num:case u.string:return this.estreeParseLiteral(this.state.value);case u._null:return this.estreeParseLiteral(null);case u._true:return this.estreeParseLiteral(!0);case u._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(e)}}parseLiteral(e,t,r,n){const i=super.parseLiteral(e,t,r,n);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(e,t,r=!1){super.parseFunctionBody(e,t,r),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,r,n,i,s,a=!1){let o=this.startNode();return o.kind=e.kind,(o=super.parseMethod(o,t,r,n,i,s,a)).type="FunctionExpression",delete o.kind,e.value=o,s="ClassMethod"===s?"MethodDefinition":s,this.finishNode(e,s)}parseObjectMethod(e,t,r,n,i){const s=super.parseObjectMethod(e,t,r,n,i);return s&&(s.type="Property","method"===s.kind&&(s.kind="init"),s.shorthand=!1),s}parseObjectProperty(e,t,r,n,i){const s=super.parseObjectProperty(e,t,r,n,i);return s&&(s.kind="init",s.type="Property"),s}toAssignable(e,t,r){return z(e)?(this.toAssignable(e.value,t,r),e):super.toAssignable(e,t,r)}toAssignableObjectExpressionProp(e,t,r){if("get"===e.kind||"set"===e.kind)throw this.raise(e.key.start,"Object pattern can't contain getter or setter");if(e.method)throw this.raise(e.key.start,"Object pattern can't contain methods");super.toAssignableObjectExpressionProp(e,t,r)}}),jsx:e=>(class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,"Unterminated JSX contents");const r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(u.jsxTagStart)):super.getTokenFromCode(r):(e+=this.input.slice(t,this.state.pos),this.finishToken(u.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:q(r)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){const t=this.input.charCodeAt(this.state.pos);let r;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=e?"\n":"\r\n"):r=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,r}jsxReadString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,"Unterminated string constant");const n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):q(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return t+=this.input.slice(r,this.state.pos++),this.finishToken(u.string,t)}jsxReadEntity(){let e,t="",r=0,n=this.input[this.state.pos];const i=++this.state.pos;for(;this.state.pos"):!Ee(i)&&Ee(s)?this.raise(s.start,"Expected corresponding JSX closing tag for <"+we(i.name)+">"):Ee(i)||Ee(s)||we(s.name)!==we(i.name)&&this.raise(s.start,"Expected corresponding JSX closing tag for <"+we(i.name)+">")}if(Ee(i)?(r.openingFragment=i,r.closingFragment=s):(r.openingElement=i,r.closingElement=s),r.children=n,this.isRelational("<"))throw this.raise(this.state.start,"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...>?");return Ee(i)?this.finishNode(r,"JSXFragment"):this.finishNode(r,"JSXElement")}jsxParseElement(){const e=this.state.start,t=this.state.startLoc;return this.next(),this.jsxParseElementAt(e,t)}parseExprAtom(e){return this.match(u.jsxText)?this.parseLiteral(this.state.value,"JSXText"):this.match(u.jsxTagStart)?this.jsxParseElement():this.isRelational("<")&&33!==this.input.charCodeAt(this.state.pos)?(this.finishToken(u.jsxTagStart),this.jsxParseElement()):super.parseExprAtom(e)}getTokenFromCode(e){if(this.state.inPropertyName)return super.getTokenFromCode(e);const t=this.curContext();if(t===J.j_expr)return this.jsxReadToken();if(t===J.j_oTag||t===J.j_cTag){if(he(e))return this.jsxReadWord();if(62===e)return++this.state.pos,this.finishToken(u.jsxTagEnd);if((34===e||39===e)&&t===J.j_oTag)return this.jsxReadString(e)}return 60===e&&this.state.exprAllowed&&33!==this.input.charCodeAt(this.state.pos+1)?(++this.state.pos,this.finishToken(u.jsxTagStart)):super.getTokenFromCode(e)}updateContext(e){if(this.match(u.braceL)){const t=this.curContext();t===J.j_oTag?this.state.context.push(J.braceExpression):t===J.j_expr?this.state.context.push(J.templateQuasi):super.updateContext(e),this.state.exprAllowed=!0}else{if(!this.match(u.slash)||e!==u.jsxTagStart)return super.updateContext(e);this.state.context.length-=2,this.state.context.push(J.j_cTag),this.state.exprAllowed=!1}}}),flow:e=>(class extends e{constructor(e,t){super(e,t),this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(e,t){return e!==u.string&&e!==u.semi&&e!==u.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){const t=ge.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}}return super.addComment(e)}flowParseTypeInitialiser(e){const t=this.state.inType;this.state.inType=!0,this.expect(e||u.colon);const r=this.flowParseType();return this.state.inType=t,r}flowParsePredicate(){const e=this.startNode(),t=this.state.startLoc,r=this.state.start;this.expect(u.modulo);const n=this.state.startLoc;return this.expectContextual("checks"),t.line===n.line&&t.column===n.column-1||this.raise(r,"Spaces between ´%´ and ´checks´ are not allowed here."),this.eat(u.parenL)?(e.value=this.parseExpression(),this.expect(u.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const e=this.state.inType;this.state.inType=!0,this.expect(u.colon);let t=null,r=null;return this.match(u.modulo)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(u.modulo)&&(r=this.flowParsePredicate())),[t,r]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();const t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(u.parenL);const i=this.flowParseFunctionTypeParams();return r.params=i.params,r.rest=i.rest,this.expect(u.parenR),[r.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(u._class))return this.flowParseDeclareClass(e);if(this.match(u._function))return this.flowParseDeclareFunction(e);if(this.match(u._var))return this.flowParseDeclareVariable(e);if(this.eatContextual("module"))return this.match(u.dot)?this.flowParseDeclareModuleExports(e):(t&&this.raise(this.state.lastTokStart,"`declare module` cannot be used inside another `declare module`"),this.flowParseDeclareModule(e));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(e);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(e);if(this.isContextual("interface"))return this.flowParseDeclareInterface(e);if(this.match(u._export))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,O,e.id.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(l),this.match(u.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();const t=e.body=this.startNode(),r=t.body=[];for(this.expect(u.braceL);!this.match(u.braceR);){let e=this.startNode();this.match(u._import)?(this.next(),this.isContextual("type")||this.match(u._typeof)||this.raise(this.state.lastTokStart,"Imports within a `declare module` body must always be `import type` or `import typeof`"),this.parseImport(e)):(this.expectContextual("declare","Only declares and type imports are allowed inside declare module"),e=this.flowParseDeclare(e,!0)),r.push(e)}this.scope.exit(),this.expect(u.braceR),this.finishNode(t,"BlockStatement");let n=null,i=!1;const s="Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module";return r.forEach(e=>{!function(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}(e)?"DeclareModuleExports"===e.type&&(i&&this.raise(e.start,"Duplicate `declare module.exports` statement"),"ES"===n&&this.raise(e.start,s),n="CommonJS",i=!0):("CommonJS"===n&&this.raise(e.start,s),n="ES")}),e.kind=n||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(u._export),this.eat(u._default))return this.match(u._function)||this.match(u._class)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(u._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!t){const e=this.state.value,t=ye[e];this.unexpected(this.state.start,`\`declare export ${e}\` is not supported. Use \`${t}\` instead`)}if(this.match(u._var)||this.match(u._function)||this.match(u._class)||this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(u.star)||this.match(u.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return"ExportNamedDeclaration"===(e=this.parseExport(e)).type&&(e.type="ExportDeclaration",e.default=!1,delete e.exportKind),e.type="Declare"+e.type,e;throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){return this.next(),this.flowParseTypeAlias(e),e.type="DeclareTypeAlias",e}flowParseDeclareOpaqueType(e){return this.next(),this.flowParseOpaqueType(e,!0),e.type="DeclareOpaqueType",e}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,t=!1){if(e.id=this.flowParseRestrictedIdentifier(!t),this.scope.declareName(e.id.name,t?N:F,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.implements=[],e.mixins=[],this.eat(u._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(u.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(u.comma))}if(this.isContextual("implements")){this.next();do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(u.comma))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){const e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){"_"===e&&this.raise(this.state.start,"`_` is only allowed as a type argument to call or new")}checkReservedType(e,t){fe.indexOf(e)>-1&&this.raise(t,`Cannot overwrite reserved type ${e}`)}flowParseRestrictedIdentifier(e){return this.checkReservedType(this.state.value,this.state.start),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(),this.scope.declareName(e.id.name,F,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(u.eq),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(!0),this.scope.declareName(e.id.name,F,e.id.start),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(u.colon)&&(e.supertype=this.flowParseTypeInitialiser(u.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(u.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){const t=this.state.start,r=this.startNode(),n=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return r.name=i.name,r.variance=n,r.bound=i.typeAnnotation,this.match(u.eq)?(this.eat(u.eq),r.default=this.flowParseType()):e&&this.raise(t,"Type parameter declaration needs a default, since a preceding type parameter declaration has a default."),this.finishNode(r,"TypeParameter")}flowParseTypeParameterDeclaration(){const e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(u.jsxTagStart)?this.next():this.unexpected();let r=!1;do{const e=this.flowParseTypeParameter(r);t.params.push(e),e.default&&(r=!0),this.isRelational(">")||this.expect(u.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const e=this.startNode(),t=this.state.inType;e.params=[],this.state.inType=!0,this.expectRelational("<");const r=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(u.comma);return this.state.noAnonFunctionType=r,this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(u.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){const e=this.startNode();if(this.expectContextual("interface"),e.extends=[],this.eat(u._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(u.comma));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(u.num)||this.match(u.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,r){return e.static=t,this.lookahead().type===u.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(u.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(u.bracketR),this.expect(u.bracketR),this.isRelational("<")||this.match(u.parenL)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start))):(e.method=!1,this.eat(u.question)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(u.parenL);!this.match(u.parenR)&&!this.match(u.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(u.parenR)||this.expect(u.comma);return this.eat(u.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(u.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){const r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:r,allowProto:n,allowInexact:i}){const s=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,l;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let c=!1;for(t&&this.match(u.braceBarL)?(this.expect(u.braceBarL),o=u.braceBarR,l=!0):(this.expect(u.braceL),o=u.braceR,l=!1),a.exact=l;!this.match(o);){let t=!1,s=null,o=null;const p=this.startNode();if(n&&this.isContextual("proto")){const t=this.lookahead();t.type!==u.colon&&t.type!==u.question&&(this.next(),s=this.state.start,e=!1)}if(e&&this.isContextual("static")){const e=this.lookahead();e.type!==u.colon&&e.type!==u.question&&(this.next(),t=!0)}const f=this.flowParseVariance();if(this.eat(u.bracketL))null!=s&&this.unexpected(s),this.eat(u.bracketL)?(f&&this.unexpected(f.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(p,t))):a.indexers.push(this.flowParseObjectTypeIndexer(p,t,f));else if(this.match(u.parenL)||this.isRelational("<"))null!=s&&this.unexpected(s),f&&this.unexpected(f.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(p,t));else{var h;let e="init";if(this.isContextual("get")||this.isContextual("set")){const t=this.lookahead();t.type!==u.name&&t.type!==u.string&&t.type!==u.num||(e=this.state.value,this.next())}const n=this.flowParseObjectTypeProperty(p,t,s,f,e,r,null!==(h=i)&&void 0!==h?h:!l);null===n?(c=!0,o=this.state.lastTokStart):a.properties.push(n)}this.flowObjectTypeSemicolon(),!o||this.match(u.braceR)||this.match(u.braceBarR)||this.raise(o,"Explicit inexact syntax must appear at the end of an inexact object")}this.expect(o),r&&(a.inexact=c);const p=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=s,p}flowParseObjectTypeProperty(e,t,r,n,i,s,a){if(this.eat(u.ellipsis))return this.match(u.comma)||this.match(u.semi)||this.match(u.braceR)||this.match(u.braceBarR)?(s?a||this.raise(this.state.lastTokStart,"Explicit inexact syntax cannot appear inside an explicit exact object type"):this.raise(this.state.lastTokStart,"Explicit inexact syntax cannot appear in class or interface definitions"),n&&this.raise(n.start,"Explicit inexact syntax cannot have variance"),null):(s||this.raise(this.state.lastTokStart,"Spread operator cannot appear in class or interface definitions"),null!=r&&this.unexpected(r),n&&this.raise(n.start,"Spread properties cannot have variance"),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=r,e.kind=i;let s=!1;return this.isRelational("<")||this.match(u.parenL)?(e.method=!0,null!=r&&this.unexpected(r),n&&this.unexpected(n.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.start,e.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(e)):("init"!==i&&this.unexpected(),e.method=!1,this.eat(u.question)&&(s=!0),e.value=this.flowParseTypeInitialiser(),e.variance=n),e.optional=s,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){const t="get"===e.kind?0:1,r=e.start;e.value.params.length+(e.value.rest?1:0)!==t&&("get"===e.kind?this.raise(r,"getter must not have any formal parameters"):this.raise(r,"setter must have exactly one formal parameter")),"set"===e.kind&&e.value.rest&&this.raise(r,"setter function argument must not be a rest parameter")}flowObjectTypeSemicolon(){this.eat(u.semi)||this.eat(u.comma)||this.match(u.braceR)||this.match(u.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;let n=r||this.parseIdentifier();for(;this.eat(u.dot);){const r=this.startNodeAt(e,t);r.qualification=n,r.id=this.parseIdentifier(),n=this.finishNode(r,"QualifiedTypeIdentifier")}return n}flowParseGenericType(e,t,r){const n=this.startNodeAt(e,t);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t,r),this.isRelational("<")&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,"GenericTypeAnnotation")}flowParseTypeofType(){const e=this.startNode();return this.expect(u._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){const e=this.startNode();for(e.types=[],this.expect(u.bracketL);this.state.possuper.parseFunctionBody(e,!0,r)):super.parseFunctionBody(e,!1,r)}parseFunctionBodyAndFinish(e,t,r=!1){if(this.match(u.colon)){const t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(e,t,r)}parseStatement(e,t){if(this.state.strict&&this.match(u.name)&&"interface"===this.state.value){const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}{const r=super.parseStatement(e,t);return void 0!==this.flowPragma||this.isValidDirective(r)||(this.flowPragma=null),r}}parseExpressionStatement(e,t){if("Identifier"===t.type)if("declare"===t.name){if(this.match(u._class)||this.match(u.name)||this.match(u._function)||this.match(u._var)||this.match(u._export))return this.flowParseDeclare(e)}else if(this.match(u.name)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(u.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,r,n,i){if(!this.match(u.question))return e;if(i){const s=this.tryParse(()=>super.parseConditional(e,t,r,n));return s.node?(s.error&&(this.state=s.failState),s.node):(i.start=s.error.pos||this.state.start,e)}this.expect(u.question);const s=this.state.clone(),a=this.state.noArrowAt,o=this.startNodeAt(r,n);let{consequent:l,failed:c}=this.tryParseConditionalConsequent(),[h,p]=this.getArrowLikeExpressions(l);if(c||p.length>0){const e=[...a];if(p.length>0){this.state=s,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(s.start,"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate."),c&&1===h.length&&(this.state=s,this.state.noArrowAt=e.concat(h[0].start),({consequent:l,failed:c}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(l,!0),this.state.noArrowAt=a,this.expect(u.colon),o.test=e,o.consequent=l,o.alternate=this.forwardNoArrowParamsConversionAt(o,()=>this.parseMaybeAssign(t,void 0,void 0,void 0)),this.finishNode(o,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const e=this.parseMaybeAssign(),t=!this.match(u.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){const r=[e],n=[];for(;0!==r.length;){const e=r.pop();"ArrowFunctionExpression"===e.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):n.push(e),r.push(e.body)):"ConditionalExpression"===e.type&&(r.push(e.consequent),r.push(e.alternate))}return t?(n.forEach(e=>this.finishArrowValidation(e)),[n,[]]):function(e,t){const r=[],n=[];for(let i=0;ie.params.every(e=>this.isAssignable(e,!0)))}finishArrowValidation(e){var t;this.toAssignableList(e.params,!0,"arrow function parameters",null===(t=e.extra)||void 0===t?void 0:t.trailingComma),this.scope.enter(x(!1,!1)|d),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let r;return-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),r=t(),this.state.noArrowParamsConversionAt.pop()):r=t(),r}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(u.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(u.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(n,"TypeCastExpression")}return e}assertModuleNodeAllowed(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExport(e){const t=super.parseExport(e);return"ExportNamedDeclaration"!==t.type&&"ExportAllDeclaration"!==t.type||(t.exportKind=t.exportKind||"value"),t}parseExportDeclaration(e){if(this.isContextual("type")){e.exportKind="type";const t=this.startNode();return this.next(),this.match(u.braceL)?(e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual("opaque")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual("interface")){e.exportKind="type";const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual("enum")){e.exportKind="value";const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==u.star)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){const t=this.state.start,r=super.maybeParseExportNamespaceSpecifier(e);return r&&"type"===e.exportKind&&this.unexpected(t),r}parseClassId(e,t,r){super.parseClassId(e,t,r),this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}getTokenFromCode(e){const t=this.input.charCodeAt(this.state.pos+1);return 123===e&&124===t?this.finishOp(u.braceBarL,2):!this.state.inType||62!==e&&60!==e?function(e,t){return 64===e&&64===t}(e,t)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(e):this.finishOp(u.relational,1)}isAssignable(e,t){switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const t=e.properties.length-1;return e.properties.every((e,r)=>"ObjectMethod"!==e.type&&(r===t||"SpreadElement"===e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toAssignable(e,t,r){return"TypeCastExpression"===e.type?super.toAssignable(this.typeCastToParameter(e),t,r):super.toAssignable(e,t,r)}toAssignableList(e,t,r,n){for(let t=0;t1)&&t||this.raise(n.typeAnnotation.start,"The type cast expression is expected to be wrapped with parenthesis")}return e}checkLVal(e,t=L,r,n){if("TypeCastExpression"!==e.type)return super.checkLVal(e,t,r,n)}parseClassProperty(e){return this.match(u.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(u.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(u.colon)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(u.colon)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,r,n,i,s){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,r,n,i,s)}pushClassPrivateMethod(e,t,r,n){t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const t=e.implements=[];do{const e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,"ClassImplements"))}while(this.eat(u.comma))}}parsePropertyName(e){const t=this.flowParseVariance(),r=super.parsePropertyName(e);return e.variance=t,r}parseObjPropValue(e,t,r,n,i,s,a,o){let l;e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(l=this.flowParseTypeParameterDeclaration(),this.match(u.parenL)||this.unexpected()),super.parseObjPropValue(e,t,r,n,i,s,a,o),l&&((e.value||e).typeParameters=l)}parseAssignableListItemTypes(e){return this.eat(u.question)&&("Identifier"!==e.type&&this.raise(e.start,"A binding pattern parameter cannot be optional in an implementation signature."),e.optional=!0),this.match(u.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(e),e}parseMaybeDefault(e,t,r){const n=super.parseMaybeDefault(e,t,r);return"AssignmentPattern"===n.type&&n.typeAnnotation&&n.right.startsuper.parseMaybeAssign(e,t,r,n),s)).error)return i.node;const{context:a}=this.state;a[a.length-1]===J.j_oTag?a.length-=2:a[a.length-1]===J.j_expr&&(a.length-=1)}if(i&&i.error||this.isRelational("<")){let a;s=s||this.state.clone();const o=this.tryParse(()=>{a=this.flowParseTypeParameterDeclaration();const i=this.forwardNoArrowParamsConversionAt(a,()=>super.parseMaybeAssign(e,t,r,n));return i.typeParameters=a,this.resetStartLocationFromNode(i,a),i},s),u=o.node&&"ArrowFunctionExpression"===o.node.type?o.node:null;if(!o.error&&u)return u;if(i&&i.node)return this.state=i.failState,i.node;if(u)return this.state=o.failState,u;if(i&&i.thrown)throw i.error;if(o.thrown)throw o.error;throw this.raise(a.start,"Expected an arrow function after this type parameter declaration")}return super.parseMaybeAssign(e,t,r,n)}parseArrow(e){if(this.match(u.colon)){const t=this.tryParse(()=>{const t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const r=this.startNode();return[r.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(u.arrow)||this.unexpected(),r});if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(){return this.match(u.colon)||super.shouldParseArrow()}setArrowFunctionParameters(e,t){-1!==this.state.noArrowParamsConversionAt.indexOf(e.start)?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,r){if(!r||-1===this.state.noArrowParamsConversionAt.indexOf(e.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(e,t,r,n){if("Identifier"===e.type&&"async"===e.name&&-1!==this.state.noArrowAt.indexOf(t)){this.next();const n=this.startNodeAt(t,r);n.callee=e,n.arguments=this.parseCallExpressionArguments(u.parenR,!1),e=this.finishNode(n,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.isRelational("<")){const i=this.state.clone(),s=this.tryParse(e=>this.parseAsyncArrowWithTypeParameters(t,r)||e(),i);if(!s.error&&!s.aborted)return s.node;const a=this.tryParse(()=>super.parseSubscripts(e,t,r,n),i);if(a.node&&!a.error)return a.node;if(s.node)return this.state=s.failState,s.node;if(a.node)return this.state=a.failState,a.node;throw s.error||a.error}return super.parseSubscripts(e,t,r,n)}parseSubscript(e,t,r,n,i){if(this.match(u.questionDot)&&this.isLookaheadRelational("<")){if(this.expectPlugin("optionalChaining"),i.optionalChainMember=!0,n)return i.stop=!0,e;this.next();const s=this.startNodeAt(t,r);return s.callee=e,s.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(u.parenL),s.arguments=this.parseCallExpressionArguments(u.parenR,!1),s.optional=!0,this.finishCallExpression(s,!0)}if(!n&&this.shouldParseTypes()&&this.isRelational("<")){const n=this.startNodeAt(t,r);n.callee=e;const s=this.tryParse(()=>(n.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(u.parenL),n.arguments=this.parseCallExpressionArguments(u.parenR,!1),i.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,i.optionalChainMember)));if(s.node)return s.error&&(this.state=s.failState),s.node}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){let t=null;this.shouldParseTypes()&&this.isRelational("<")&&(t=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=t,super.parseNewArguments(e)}parseAsyncArrowWithTypeParameters(e,t){const r=this.startNodeAt(e,t);if(this.parseFunctionParams(r),this.parseArrow(r))return this.parseArrowExpression(r,void 0,!0)}readToken_mult_modulo(e){const t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){const t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(u.braceBarR,2)}parseTopLevel(e,t){const r=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(this.state.pos,"Unterminated flow-comment"),r}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,"Cannot have a flow comment inside another flow comment"),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const e=this.input.indexOf("*-/",this.state.pos+=2);if(-1===e)throw this.raise(this.state.pos-2,"Unterminated comment");this.state.pos=e+3}else super.skipBlockComment()}skipFlowComment(){const{pos:e}=this.state;let t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;const r=this.input.charCodeAt(t+e),n=this.input.charCodeAt(t+e+1);return 58===r&&58===n?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===r&&58!==n&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(this.state.pos,"Unterminated comment")}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,`Boolean enum members need to be initialized. Use either \`${r} = true,\` `+`or \`${r} = false,\` in enum \`${t}\`.`)}flowEnumErrorInvalidMemberName(e,{enumName:t,memberName:r}){const n=r[0].toUpperCase()+r.slice(1);this.raise(e,"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using "+`\`${r}\`, consider using \`${n}\`, in enum \`${t}\`.`)}flowEnumErrorDuplicateMemberName(e,{enumName:t,memberName:r}){this.raise(e,`Enum member names need to be unique, but the name \`${r}\` has already been used `+`before in enum \`${t}\`.`)}flowEnumErrorInconsistentMemberValues(e,{enumName:t}){this.raise(e,`Enum \`${t}\` has inconsistent member initializers. Either use no initializers, or `+"consistently use literals (either booleans, numbers, or strings) for all member initializers.")}flowEnumErrorInvalidExplicitType(e,{enumName:t,suppliedType:r}){const n="Use one of `boolean`, `number`, `string`, or `symbol` in "+`enum \`${t}\`.`,i=null===r?`Supplied enum type is not valid. ${n}`:`Enum type \`${r}\` is not valid. ${n}`;return this.raise(e,i)}flowEnumErrorInvalidMemberInitializer(e,{enumName:t,explicitType:r,memberName:n}){let i=null;switch(r){case"boolean":case"number":case"string":i=`Enum \`${t}\` has type \`${r}\`, so the initializer of `+`\`${n}\` needs to be a ${r} literal.`;break;case"symbol":i=`Symbol enum members cannot be initialized. Use \`${n},\` in `+`enum \`${t}\`.`;break;default:i=`The enum member initializer for \`${n}\` needs to be a literal (either `+`a boolean, number, or string) in enum \`${t}\`.`}return this.raise(e,i)}flowEnumErrorNumberMemberNotInitialized(e,{enumName:t,memberName:r}){this.raise(e,`Number enum members need to be initialized, e.g. \`${r} = 1\` in enum \`${t}\`.`)}flowEnumErrorStringMemberInconsistentlyInitailized(e,{enumName:t}){this.raise(e,"String enum members need to consistently either all use initializers, or use no initializers, "+`in enum \`${t}\`.`)}flowEnumMemberInit(){const e=this.state.start,t=()=>this.match(u.comma)||this.match(u.braceR);switch(this.state.type){case u.num:{const r=this.parseLiteral(this.state.value,"NumericLiteral");return t()?{type:"number",pos:r.start,value:r}:{type:"invalid",pos:e}}case u.string:{const r=this.parseLiteral(this.state.value,"StringLiteral");return t()?{type:"string",pos:r.start,value:r}:{type:"invalid",pos:e}}case u._true:case u._false:{const r=this.parseBooleanLiteral();return t()?{type:"boolean",pos:r.start,value:r}:{type:"invalid",pos:e}}default:return{type:"invalid",pos:e}}}flowEnumMemberRaw(){const e=this.state.start;return{id:this.parseIdentifier(!0),init:this.eat(u.eq)?this.flowEnumMemberInit():{type:"none",pos:e}}}flowEnumCheckExplicitTypeMismatch(e,t,r){const{explicitType:n}=t;null!==n&&n!==r&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){const r=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};for(;!this.match(u.braceR);){const i=this.startNode(),{id:s,init:a}=this.flowEnumMemberRaw(),o=s.name;if(""===o)continue;/^[a-z]/.test(o)&&this.flowEnumErrorInvalidMemberName(s.start,{enumName:e,memberName:o}),r.has(o)&&this.flowEnumErrorDuplicateMemberName(s.start,{enumName:e,memberName:o}),r.add(o);const l={enumName:e,explicitType:t,memberName:o};switch(i.id=s,a.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"boolean"),i.init=a.value,n.booleanMembers.push(this.finishNode(i,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"number"),i.init=a.value,n.numberMembers.push(this.finishNode(i,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(a.pos,l,"string"),i.init=a.value,n.stringMembers.push(this.finishNode(i,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,l);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,l);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(a.pos,l);break;default:n.defaultedMembers.push(this.finishNode(i,"EnumDefaultedMember"))}}this.match(u.braceR)||this.expect(u.comma)}return n}flowEnumStringBody(e,t,r,{enumName:n}){if(0===t.length)e.members=r;else if(0===r.length)e.members=t;else if(r.length>t.length){e.members=r;for(let e=0;e(i.members=[],this.finishNode(i,"EnumStringBody"));i.explicitType=!1;const a=s.booleanMembers.length,o=s.numberMembers.length,u=s.stringMembers.length,l=s.defaultedMembers.length;if(a||o||u||l)if(a||o)if(!o&&!u&&a>=l){i.members=s.booleanMembers,e.body=this.finishNode(i,"EnumBooleanBody");for(let e=0,t=s.defaultedMembers;e=l){i.members=s.numberMembers,e.body=this.finishNode(i,"EnumNumberBody");for(let e=0,t=s.defaultedMembers;e(class extends e{getScopeHandler(){return _e}tsIsIdentifier(){return this.match(u.name)}tsNextTokenCanFollowModifier(){return this.next(),!(this.hasPrecedingLineBreak()||this.match(u.parenL)||this.match(u.parenR)||this.match(u.colon)||this.match(u.eq)||this.match(u.question)||this.match(u.bang))}tsParseModifier(e){if(!this.match(u.name))return;const t=this.state.value;return-1!==e.indexOf(t)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?t:void 0}tsParseModifiers(e){const t=Object.create(null);for(;;){const r=this.state.start,n=this.tsParseModifier(e);if(!n)break;Object.hasOwnProperty.call(t,n)&&this.raise(r,`Duplicate modifier: '${n}'`),t[n]=!0}return t}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(u.braceR);case"HeritageClauseElement":return this.match(u.braceL);case"TupleElementTypes":return this.match(u.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(e,t){const r=[];for(;!this.tsIsListTerminator(e);)r.push(t());return r}tsParseDelimitedList(e,t){return De(this.tsParseDelimitedListWorker(e,t,!0))}tsParseDelimitedListWorker(e,t,r){const n=[];for(;!this.tsIsListTerminator(e);){const i=t();if(null==i)return;if(n.push(i),!this.eat(u.comma)){if(this.tsIsListTerminator(e))break;return void(r&&this.expect(u.comma))}}return n}tsParseBracketedList(e,t,r,n){n||(r?this.expect(u.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(e,t);return r?this.expect(u.bracketR):this.expectRelational(">"),i}tsParseImportType(){const e=this.startNode();return this.expect(u._import),this.expect(u.parenL),this.match(u.string)||this.raise(this.state.start,"Argument in a type import must be a string literal"),e.argument=this.parseExprAtom(),this.expect(u.parenR),this.eat(u.dot)&&(e.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseEntityName(e){let t=this.parseIdentifier();for(;this.eat(u.dot);){const r=this.startNodeAtNode(t);r.left=t,r.right=this.parseIdentifier(e),t=this.finishNode(r,"TSQualifiedName")}return t}tsParseTypeReference(){const e=this.startNode();return e.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();const t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){const e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){const e=this.startNode();return this.expect(u._typeof),this.match(u._import)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(!0),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsEatThenParseType(u._extends),e.default=this.tsEatThenParseType(u.eq),this.finishNode(e,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const e=this.startNode();return this.isRelational("<")||this.match(u.jsxTagStart)?this.next():this.unexpected(),e.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),this.finishNode(e,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===u._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(e,t){const r=e===u.arrow;t.typeParameters=this.tsTryParseTypeParameters(),this.expect(u.parenL),t.parameters=this.tsParseBindingListForSignature(),r?t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e):this.match(e)&&(t.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){return this.parseBindingList(u.parenR,41).map(e=>("Identifier"!==e.type&&"RestElement"!==e.type&&"ObjectPattern"!==e.type&&"ArrayPattern"!==e.type&&this.raise(e.start,"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern,"+`instead got ${e.type}`),e))}tsParseTypeMemberSemicolon(){this.eat(u.comma)||this.semicolon()}tsParseSignatureMember(e,t){return this.tsFillSignature(u.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(u.name)&&this.match(u.colon)}tsTryParseIndexSignature(e){if(!this.match(u.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(u.bracketL);const t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(u.bracketR),e.parameters=[t];const r=this.tsTryParseTypeAnnotation();return r&&(e.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){this.eat(u.question)&&(e.optional=!0);const r=e;if(t||!this.match(u.parenL)&&!this.isRelational("<")){const e=r;t&&(e.readonly=!0);const n=this.tsTryParseTypeAnnotation();return n&&(e.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSPropertySignature")}{const e=r;return this.tsFillSignature(u.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSMethodSignature")}}tsParseTypeMember(){const e=this.startNode();if(this.match(u.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(u._new)){const t=this.startNode();return this.next(),this.match(u.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}const t=!!this.tsParseModifier(["readonly"]),r=this.tsTryParseIndexSignature(e);return r?(t&&(e.readonly=!0),r):(this.parsePropertyName(e),this.tsParsePropertyOrMethodSignature(e,t))}tsParseTypeLiteral(){const e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(u.braceL);const e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(u.braceR),e}tsIsStartOfMappedType(){return this.next(),this.eat(u.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(u.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(u._in))))}tsParseMappedTypeParameter(){const e=this.startNode();return e.name=this.parseIdentifierName(e.start),e.constraint=this.tsExpectThenParseType(u._in),this.finishNode(e,"TSTypeParameter")}tsParseMappedType(){const e=this.startNode();return this.expect(u.braceL),this.match(u.plusMin)?(e.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(e.readonly=!0),this.expect(u.bracketL),e.typeParameter=this.tsParseMappedTypeParameter(),this.expect(u.bracketR),this.match(u.plusMin)?(e.optional=this.state.value,this.next(),this.expect(u.question)):this.eat(u.question)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(u.braceR),this.finishNode(e,"TSMappedType")}tsParseTupleType(){const e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{"TSOptionalType"===e.type?t=!0:t&&"TSRestType"!==e.type&&this.raise(e.start,"A required element cannot follow an optional element.")}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){if(this.match(u.ellipsis)){const e=this.startNode();return this.next(),e.typeAnnotation=this.tsParseType(),this.checkCommaAfterRest(93),this.finishNode(e,"TSRestType")}const e=this.tsParseType();if(this.eat(u.question)){const t=this.startNodeAtNode(e);return t.typeAnnotation=e,this.finishNode(t,"TSOptionalType")}return e}tsParseParenthesizedType(){const e=this.startNode();return this.expect(u.parenL),e.typeAnnotation=this.tsParseType(),this.expect(u.parenR),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e){const t=this.startNode();return"TSConstructorType"===e&&this.expect(u._new),this.tsFillSignature(u.arrow,t),this.finishNode(t,e)}tsParseLiteralTypeNode(){const e=this.startNode();return e.literal=(()=>{switch(this.state.type){case u.num:case u.string:case u._true:case u._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){const e=this.startNode(),t=this.parseTemplate(!1);return t.expressions.length>0&&this.raise(t.expressions[0].start,"Template literal types cannot have any substitution"),e.literal=t,this.finishNode(e,"TSLiteralType")}tsParseNonArrayType(){switch(this.state.type){case u.name:case u._void:case u._null:{const e=this.match(u._void)?"TSVoidKeyword":this.match(u._null)?"TSNullKeyword":function(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}(this.state.value);if(void 0!==e&&46!==this.lookaheadCharCode()){const t=this.startNode();return this.next(),this.finishNode(t,e)}return this.tsParseTypeReference()}case u.string:case u.num:case u._true:case u._false:return this.tsParseLiteralTypeNode();case u.plusMin:if("-"===this.state.value){const e=this.startNode();if(this.lookahead().type!==u.num)throw this.unexpected();return e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case u._this:{const e=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}case u._typeof:return this.tsParseTypeQuery();case u._import:return this.tsParseImportType();case u.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case u.bracketL:return this.tsParseTupleType();case u.parenL:return this.tsParseParenthesizedType();case u.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let e=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(u.bracketL);)if(this.match(u.bracketR)){const t=this.startNodeAtNode(e);t.elementType=e,this.expect(u.bracketR),e=this.finishNode(t,"TSArrayType")}else{const t=this.startNodeAtNode(e);t.objectType=e,t.indexType=this.tsParseType(),this.expect(u.bracketR),e=this.finishNode(t,"TSIndexedAccessType")}return e}tsParseTypeOperator(e){const t=this.startNode();return this.expectContextual(e),t.operator=e,t.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===e&&this.tsCheckTypeAnnotationForReadOnly(t),this.finishNode(t,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(e.start,"'readonly' type modifier is only permitted on array and tuple literal types.")}}tsParseInferType(){const e=this.startNode();this.expectContextual("infer");const t=this.startNode();return t.name=this.parseIdentifierName(t.start),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseTypeOperatorOrHigher(){const e=["keyof","unique","readonly"].find(e=>this.isContextual(e));return e?this.tsParseTypeOperator(e):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(e,t,r){this.eat(r);let n=t();if(this.match(r)){const i=[n];for(;this.eat(r);)i.push(t());const s=this.startNodeAtNode(n);s.types=i,n=this.finishNode(s,e)}return n}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),u.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),u.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(u.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(u.name)||this.match(u._this))return this.next(),!0;if(this.match(u.braceL)){let e=1;for(this.next();e>0;)this.match(u.braceL)?++e:this.match(u.braceR)&&--e,this.next();return!0}if(this.match(u.bracketL)){let e=1;for(this.next();e>0;)this.match(u.bracketL)?++e:this.match(u.bracketR)&&--e,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(u.parenR)||this.match(u.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(u.colon)||this.match(u.comma)||this.match(u.question)||this.match(u.eq))return!0;if(this.match(u.parenR)&&(this.next(),this.match(u.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{const t=this.startNode();this.expect(e);const r=this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this)),n=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!n){if(!r)return this.tsParseTypeAnnotation(!1,t);const e=this.startNodeAtNode(t);return e.parameterName=this.parseIdentifier(),e.asserts=r,t.typeAnnotation=this.finishNode(e,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")}const i=this.tsParseTypeAnnotation(!1),s=this.startNodeAtNode(t);return s.parameterName=n,s.typeAnnotation=i,s.asserts=r,t.typeAnnotation=this.finishNode(s,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(u.colon)?this.tsParseTypeOrTypePredicateAnnotation(u.colon):void 0}tsTryParseTypeAnnotation(){return this.match(u.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(u.colon)}tsParseTypePredicatePrefix(){const e=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){return!!this.tsIsIdentifier()&&!("asserts"!==this.parseIdentifier().name||this.hasPrecedingLineBreak()||!this.tsIsIdentifier())}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(u.colon),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){const e=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(u._extends))return e;const t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsParseNonConditionalType(),this.expect(u.question),t.trueType=this.tsParseType(),this.expect(u.colon),t.falseType=this.tsParseType(),this.finishNode(t,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(u._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const e=this.startNode(),t=this.tsTryNextParseConstantContext();return e.typeAnnotation=t||this.tsNextThenParseType(),this.expectRelational(">"),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){const t=this.state.start,r=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return r.length||this.raise(t,`'${e}' list cannot be empty.`),r}tsParseExpressionWithTypeArguments(){const e=this.startNode();return e.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(e.typeParameters=this.tsParseTypeArguments()),this.finishNode(e,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(e){e.id=this.parseIdentifier(),this.checkLVal(e.id,M,void 0,"typescript interface declaration"),e.typeParameters=this.tsTryParseTypeParameters(),this.eat(u._extends)&&(e.extends=this.tsParseHeritageClause("extends"));const t=this.startNode();return t.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(t,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkLVal(e.id,I,void 0,"typescript type alias"),e.typeParameters=this.tsTryParseTypeParameters(),e.typeAnnotation=this.tsExpectThenParseType(u.eq),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInNoContext(e){const t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}tsInType(e){const t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsEatThenParseType(e){return this.match(e)?this.tsNextThenParseType():void 0}tsExpectThenParseType(e){return this.tsDoThenParseType(()=>this.expect(e))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(e){return this.tsInType(()=>(e(),this.tsParseType()))}tsParseEnumMember(){const e=this.startNode();return e.id=this.match(u.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(u.eq)&&(e.initializer=this.parseMaybeAssign()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t){return t&&(e.const=!0),e.id=this.parseIdentifier(),this.checkLVal(e.id,t?V:B,void 0,"typescript enum declaration"),this.expect(u.braceL),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(u.braceR),this.finishNode(e,"TSEnumDeclaration")}tsParseModuleBlock(){const e=this.startNode();return this.scope.enter(l),this.expect(u.braceL),this.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,u.braceR),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){if(e.id=this.parseIdentifier(),t||this.checkLVal(e.id,U,null,"module or namespace declaration"),this.eat(u.dot)){const t=this.startNode();this.tsParseModuleOrNamespaceDeclaration(t,!0),e.body=t}else this.scope.enter(512),e.body=this.tsParseModuleBlock(),this.scope.exit();return this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual("global")?(e.global=!0,e.id=this.parseIdentifier()):this.match(u.string)?e.id=this.parseExprAtom():this.unexpected(),this.match(u.braceL)?(this.scope.enter(512),e.body=this.tsParseModuleBlock(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t){return e.isExport=t||!1,e.id=this.parseIdentifier(),this.expect(u.eq),e.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const e=this.startNode();if(this.expectContextual("require"),this.expect(u.parenL),!this.match(u.string))throw this.unexpected();return e.expression=this.parseExprAtom(),this.expect(u.parenR),this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){const t=this.state.clone(),r=e();return this.state=t,r}tsTryParseAndCatch(e){const t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){const t=this.state.clone(),r=e();return void 0!==r&&!1!==r?r:void(this.state=t)}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t,r=this.state.type;switch(this.isContextual("let")&&(r=u._var,t="let"),r){case u._function:return this.parseFunctionStatement(e,!1,!0);case u._class:return e.declare=!0,this.parseClass(e,!0,!1);case u._const:if(this.match(u._const)&&this.isLookaheadContextual("enum"))return this.expect(u._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0);case u._var:return t=t||this.state.value,this.parseVarStatement(e,t);case u.name:{const t=this.state.value;return"global"===t?this.tsParseAmbientExternalModuleDeclaration(e):this.tsParseDeclaration(e,t,!0)}}}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(e,t){switch(t.name){case"declare":{const t=this.tsTryParseDeclare(e);if(t)return t.declare=!0,t;break}case"global":if(this.match(u.braceL)){this.scope.enter(512);const r=e;return r.global=!0,r.id=t,r.body=this.tsParseModuleBlock(),this.scope.exit(),this.finishNode(r,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(e,t.name,!1)}}tsParseDeclaration(e,t,r){switch(t){case"abstract":if(this.tsCheckLineTerminatorAndMatch(u._class,r)){const t=e;return t.abstract=!0,r&&(this.next(),this.match(u._class)||this.unexpected(null,u._class)),this.parseClass(t,!0,!1)}break;case"enum":if(r||this.match(u.name))return r&&this.next(),this.tsParseEnumDeclaration(e,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(u.name,r))return r&&this.next(),this.tsParseInterfaceDeclaration(e);break;case"module":if(r&&this.next(),this.match(u.string))return this.tsParseAmbientExternalModuleDeclaration(e);if(this.tsCheckLineTerminatorAndMatch(u.name,r))return this.tsParseModuleOrNamespaceDeclaration(e);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(u.name,r))return r&&this.next(),this.tsParseModuleOrNamespaceDeclaration(e);break;case"type":if(this.tsCheckLineTerminatorAndMatch(u.name,r))return r&&this.next(),this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminatorAndMatch(e,t){return(t||this.match(e))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e,t){if(!this.isRelational("<"))return;const r=this.tsTryParseAndCatch(()=>{const r=this.startNodeAt(e,t);return r.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(r),r.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(u.arrow),r});return r?this.parseArrowExpression(r,null,!0):void 0}tsParseTypeArguments(){const e=this.startNode();return e.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(u.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(e,t){const r=this.state.start,n=this.state.startLoc;let i,s=!1;e&&(i=this.parseAccessModifier(),s=!!this.tsParseModifier(["readonly"]));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||s){const e=this.startNodeAt(r,n);return t.length&&(e.decorators=t),i&&(e.accessibility=i),s&&(e.readonly=s),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(e.start,"A parameter property may not be declared using a binding pattern."),e.parameter=o,this.finishNode(e,"TSParameterProperty")}return t.length&&(a.decorators=t),o}parseFunctionBodyAndFinish(e,t,r=!1){this.match(u.colon)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(u.colon));const n="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t?"TSDeclareMethod":void 0;n&&!this.match(u.braceL)&&this.isLineTerminator()?this.finishNode(e,n):super.parseFunctionBodyAndFinish(e,t,r)}registerFunctionStatementId(e){!e.body&&e.id?this.checkLVal(e.id,j,null,"function name"):super.registerFunctionStatementId(...arguments)}parseSubscript(e,t,r,n,i){if(!this.hasPrecedingLineBreak()&&this.match(u.bang)){this.state.exprAllowed=!1,this.next();const n=this.startNodeAt(t,r);return n.expression=e,this.finishNode(n,"TSNonNullExpression")}if(this.isRelational("<")){const s=this.tsTryParseAndCatch(()=>{if(!n&&this.atPossibleAsync(e)){const e=this.tsTryParseGenericAsyncArrowFunction(t,r);if(e)return e}const s=this.startNodeAt(t,r);s.callee=e;const a=this.tsParseTypeArguments();if(a){if(!n&&this.eat(u.parenL))return s.arguments=this.parseCallExpressionArguments(u.parenR,!1),s.typeParameters=a,this.finishCallExpression(s,i.optionalChainMember);if(this.match(u.backQuote))return this.parseTaggedTemplateExpression(t,r,e,i,a)}this.unexpected()});if(s)return s}return super.parseSubscript(e,t,r,n,i)}parseNewArguments(e){if(this.isRelational("<")){const t=this.tsTryParseAndCatch(()=>{const e=this.tsParseTypeArguments();return this.match(u.parenL)||this.unexpected(),e});t&&(e.typeParameters=t)}super.parseNewArguments(e)}parseExprOp(e,t,r,n,i){if(De(u._in.binop)>n&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const s=this.startNodeAt(t,r);s.expression=e;const a=this.tsTryNextParseConstantContext();return s.typeAnnotation=a||this.tsNextThenParseType(),this.finishNode(s,"TSAsExpression"),this.parseExprOp(s,t,r,n,i)}return super.parseExprOp(e,t,r,n,i)}checkReservedWord(e,t,r,n){}checkDuplicateExports(){}parseImport(e){return this.match(u.name)&&this.lookahead().type===u.eq?this.tsParseImportEqualsDeclaration(e):super.parseImport(e)}parseExport(e){if(this.match(u._import))return this.expect(u._import),this.tsParseImportEqualsDeclaration(e,!0);if(this.eat(u.eq)){const t=e;return t.expression=this.parseExpression(),this.semicolon(),this.finishNode(t,"TSExportAssignment")}if(this.eatContextual("as")){const t=e;return this.expectContextual("namespace"),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return super.parseExport(e)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===u._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const e=this.startNode();return this.next(),this.parseClass(e,!0,!0),e.abstract=!0,e}if("interface"===this.state.value){const e=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(e)return e}return super.parseExportDefaultExpression()}parseStatementContent(e,t){if(this.state.type===u._const){const e=this.lookahead();if(e.type===u.name&&"enum"===e.value){const e=this.startNode();return this.expect(u._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(e,!0)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(e,t,r,n){const i=this.parseAccessModifier();i&&(t.accessibility=i),super.parseClassMember(e,t,r,n)}parseClassMemberWithIsStatic(e,t,r,n,i){const s=this.tsParseModifiers(["abstract","readonly","declare"]);Object.assign(t,s);const a=this.tsTryParseIndexSignature(t);if(a)return e.body.push(a),s.abstract&&this.raise(t.start,"Index signatures cannot have the 'abstract' modifier"),n&&this.raise(t.start,"Index signatures cannot have the 'static' modifier"),void(t.accessibility&&this.raise(t.start,`Index signatures cannot have an accessibility modifier ('${t.accessibility}')`));super.parseClassMemberWithIsStatic(e,t,r,n,i)}parsePostMemberNameModifiers(e){this.eat(u.question)&&(e.optional=!0),e.readonly&&this.match(u.parenL)&&this.raise(e.start,"Class methods cannot have the 'readonly' modifier"),e.declare&&this.match(u.parenL)&&this.raise(e.start,"Class methods cannot have the 'declare' modifier")}parseExpressionStatement(e,t){return("Identifier"===t.type?this.tsParseExpressionStatement(e,t):void 0)||super.parseExpressionStatement(e,t)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,r,n,i){if(!i||!this.match(u.question))return super.parseConditional(e,t,r,n,i);const s=this.tryParse(()=>super.parseConditional(e,t,r,n));return s.node?(s.error&&(this.state=s.failState),s.node):(i.start=s.error.pos||this.state.start,e)}parseParenItem(e,t,r){if(e=super.parseParenItem(e,t,r),this.eat(u.question)&&(e.optional=!0,this.resetEndLocation(e)),this.match(u.colon)){const n=this.startNodeAt(t,r);return n.expression=e,n.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(n,"TSTypeCastExpression")}return e}parseExportDeclaration(e){const t=this.state.start,r=this.state.startLoc,n=this.eatContextual("declare");let i;return this.match(u.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(e)),i&&n&&(this.resetStartLocation(i,t,r),i.declare=!0),i}parseClassId(e,t,r){if((!t||r)&&this.isContextual("implements"))return;super.parseClassId(e,t,r,e.declare?j:P);const n=this.tsTryParseTypeParameters();n&&(e.typeParameters=n)}parseClassPropertyAnnotation(e){!e.optional&&this.eat(u.bang)&&(e.definite=!0);const t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){return this.parseClassPropertyAnnotation(e),e.declare&&this.match(u.equal)&&this.raise(this.state.start,"'declare' class fields cannot have an initializer"),super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(e.start,"Private elements cannot have the 'abstract' modifier."),e.accessibility&&this.raise(e.start,`Private elements cannot have an accessibility modifier ('${e.accessibility}')`),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}pushClassMethod(e,t,r,n,i,s){const a=this.tsTryParseTypeParameters();a&&(t.typeParameters=a),super.pushClassMethod(e,t,r,n,i,s)}pushClassPrivateMethod(e,t,r,n){const i=this.tsTryParseTypeParameters();i&&(t.typeParameters=i),super.pushClassPrivateMethod(e,t,r,n)}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&this.isRelational("<")&&(e.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,...t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseObjPropValue(e,...t)}parseFunctionParams(e,t){const r=this.tsTryParseTypeParameters();r&&(e.typeParameters=r),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&this.eat(u.bang)&&(e.definite=!0);const r=this.tsTryParseTypeAnnotation();r&&(e.id.typeAnnotation=r,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(u.colon)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(...e){let t,r,n,i;if(this.match(u.jsxTagStart)){if(t=this.state.clone(),!(r=this.tryParse(()=>super.parseMaybeAssign(...e),t)).error)return r.node;const{context:n}=this.state;n[n.length-1]===J.j_oTag?n.length-=2:n[n.length-1]===J.j_expr&&(n.length-=1)}if(!(r&&r.error||this.isRelational("<")))return super.parseMaybeAssign(...e);t=t||this.state.clone();const s=this.tryParse(t=>{i=this.tsParseTypeParameters();const r=super.parseMaybeAssign(...e);return("ArrowFunctionExpression"!==r.type||r.extra&&r.extra.parenthesized)&&t(),i&&0!==i.params.length&&this.resetStartLocationFromNode(r,i),r.typeParameters=i,r},t);if(!s.error&&!s.aborted)return s.node;if(!r&&!(n=this.tryParse(()=>super.parseMaybeAssign(...e),t)).error)return n.node;if(r&&r.node)return this.state=r.failState,r.node;if(s.node)return this.state=s.failState,s.node;if(n&&n.node)return this.state=n.failState,n.node;if(r&&r.thrown)throw r.error;if(s.thrown)throw s.error;if(n&&n.thrown)throw n.error;throw r&&r.error||s.error||n&&n.error}parseMaybeUnary(e){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(e)}parseArrow(e){if(this.match(u.colon)){const t=this.tryParse(e=>{const t=this.tsParseTypeOrTypePredicateAnnotation(u.colon);return!this.canInsertSemicolon()&&this.match(u.arrow)||e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseAssignableListItemTypes(e){this.eat(u.question)&&("Identifier"!==e.type&&this.raise(e.start,"A binding pattern parameter cannot be optional in an implementation signature."),e.optional=!0);const t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}toAssignable(e,t,r){switch(e.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(e),t,r);case"TSParameterProperty":return super.toAssignable(e,t,r);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return e.expression=this.toAssignable(e.expression,t,r),e;default:return super.toAssignable(e,t,r)}}checkLVal(e,t=L,r,n){switch(e.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(e.parameter,t,r,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(e.expression,t,r,n);default:return void super.checkLVal(e,t,r,n)}}parseBindingAtom(){switch(this.state.type){case u._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(e){if(this.isRelational("<")){const t=this.tsParseTypeArguments();if(this.match(u.parenL)){const r=super.parseMaybeDecoratorArguments(e);return r.typeParameters=t,r}this.unexpected(this.state.start,u.parenL)}return super.parseMaybeDecoratorArguments(e)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(u.bang)||this.match(u.colon)||super.isClassProperty()}parseMaybeDefault(...e){const t=super.parseMaybeDefault(...e);return"AssignmentPattern"===t.type&&t.typeAnnotation&&t.right.startthis.tsParseTypeArguments());t&&(e.typeParameters=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){const t=super.getGetterSetterExpectedParamCount(e),r=e.params[0];return r&&"Identifier"===r.type&&"this"===r.name?t+1:t}}),v8intrinsic:e=>(class extends e{parseV8Intrinsic(){if(this.match(u.modulo)){const e=this.state.start,t=this.startNode();if(this.eat(u.modulo),this.match(u.name)){const e=this.parseIdentifierName(this.state.start),r=this.createIdentifier(t,e);if(r.type="V8IntrinsicIdentifier",this.match(u.parenL))return r}this.unexpected(e)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}}),placeholders:e=>(class extends e{parsePlaceholder(e){if(this.match(u.placeholder)){const t=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),t.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(u.placeholder),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){const r=!(!e.expectedNode||"Placeholder"!==e.type);return e.expectedNode=t,r?e:this.finishNode(e,"Placeholder")}getTokenFromCode(e){return 37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(u.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(e){void 0!==e&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(e){"Placeholder"!==e.type&&super.checkLVal(...arguments)}toAssignable(e){return e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?(e.expectedNode="Pattern",e):super.toAssignable(...arguments)}verifyBreakContinue(e){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra&&t.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(u.colon)){const r=e;return r.label=this.finishPlaceholder(t,"Identifier"),this.next(),r.body=this.parseStatement("label"),this.finishNode(r,"LabeledStatement")}return this.semicolon(),e.name=t.name,this.finishPlaceholder(e,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(e,t,r){const n=t?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(e);const i=this.parsePlaceholder("Identifier");if(i)if(this.match(u._extends)||this.match(u.placeholder)||this.match(u.braceL))e.id=i;else{if(r||!t)return e.id=null,e.body=this.finishPlaceholder(i,"ClassBody"),this.finishNode(e,n);this.unexpected(null,"A class name is required")}else this.parseClassId(e,t,r);return this.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!e.superClass),this.finishNode(e,n)}parseExport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(u.comma))return e.specifiers=[],e.source=null,e.declaration=this.finishPlaceholder(t,"Declaration"),this.finishNode(e,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const r=this.startNode();return r.exported=t,e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(e)}maybeParseExportDefaultSpecifier(e){return!!(e.specifiers&&e.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(e){const{specifiers:t}=e;t&&t.length&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){const t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(...arguments);if(e.specifiers=[],!this.isContextual("from")&&!this.match(u.comma))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");const r=this.startNodeAtNode(t);return r.local=t,this.finishNode(r,"ImportDefaultSpecifier"),e.specifiers.push(r),this.eat(u.comma)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual("from"),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}})},Oe=Object.keys(Fe),Ne={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};class Me{constructor(e,t){this.line=e,this.column=t}}class Ie{constructor(e,t){this.start=e,this.end=t}}class Be{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}hasPlugin(e){return this.plugins.has(e)}getPluginOption(e,t){if(this.hasPlugin(e))return this.plugins.get(e)[t]}}function je(e){return e[e.length-1]}class Le extends Be{addComment(e){this.filename&&(e.loc.filename=this.filename),this.state.trailingComments.push(e),this.state.leadingComments.push(e)}adjustCommentsAfterTrailingComma(e,t,r){if(0===this.state.leadingComments.length)return;let n=null,i=t.length;for(;null===n&&i>0;)n=t[--i];if(null===n)return;for(let e=0;e0?n.trailingComments=s:void 0!==n.trailingComments&&(n.trailingComments=[])}processComment(e){if("Program"===e.type&&e.body.length>0)return;const t=this.state.commentStack;let r,n,i,s,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(t.length>0){const r=je(t);r.trailingComments&&r.trailingComments[0].start>=e.end&&(i=r.trailingComments,delete r.trailingComments)}for(t.length>0&&je(t).start>=e.start&&(r=t.pop());t.length>0&&je(t).start>=e.start;)n=t.pop();if(!n&&r&&(n=r),r)switch(e.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(e,e.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(e,e.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(e,e.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(e,e.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(e,e.elements,!0)}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==e.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==e.type)&&this.adjustCommentsAfterTrailingComma(e,[this.state.commentPreviousNode],!0);if(n){if(n.leadingComments)if(n!==e&&n.leadingComments.length>0&&je(n.leadingComments).end<=e.start)e.leadingComments=n.leadingComments,delete n.leadingComments;else for(s=n.leadingComments.length-2;s>=0;--s)if(n.leadingComments[s].end<=e.start){e.leadingComments=n.leadingComments.splice(0,s+1);break}}else if(this.state.leadingComments.length>0)if(je(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(s=0;se.start);s++);const t=this.state.leadingComments.slice(0,s);t.length&&(e.leadingComments=t),0===(i=this.state.leadingComments.slice(s)).length&&(i=null)}this.state.commentPreviousNode=e,i&&(i.length&&i[0].start>=e.start&&je(i).end<=e.end?e.innerComments=i:e.trailingComments=i),t.push(e)}}class Re extends Le{getLocationForPosition(e){let t;return t=e===this.state.start?this.state.startLoc:e===this.state.lastTokStart?this.state.lastTokStartLoc:e===this.state.end?this.state.endLoc:e===this.state.lastTokEnd?this.state.lastTokEndLoc:function(e,t){let r,n=1,i=0;for(H.lastIndex=0;(r=H.exec(e))&&r.index=48&&e<=57};const ze=new Set(["g","m","s","i","y","u"]),$e={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},He={bin:[48,49]};He.oct=[...He.bin,50,51,52,53,54,55],He.dec=[...He.oct,56,57],He.hex=[...He.dec,65,66,67,68,69,70,97,98,99,100,101,102];class qe{constructor(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,this.loc=new Ie(e.startLoc,e.endLoc)}}class We extends Re{constructor(e,t){super(),this.state=new Ve,this.state.init(e),this.input=t,this.length=t.length,this.isLookahead=!1}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.state.tokens.push(new qe(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}lookahead(){const e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const t=this.state;return this.state=e,t}nextTokenStart(){const e=this.state.pos;return W.lastIndex=e,e+W.exec(this.input)[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(e){if(this.state.strict=e,this.match(u.num)||this.match(u.string)){for(this.state.pos=this.state.start;this.state.pos=this.length?this.finishToken(u.eof):e.override?e.override(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(e,t,r,n,i,s){const a={type:e?"CommentBlock":"CommentLine",value:t,start:r,end:n,loc:new Ie(i,s)};this.options.tokens&&this.state.tokens.push(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const e=this.state.curPosition(),t=this.state.pos,r=this.input.indexOf("*/",this.state.pos+2);if(-1===r)throw this.raise(t,"Unterminated comment");let n;for(this.state.pos=r+2,H.lastIndex=t;(n=H.exec(this.input))&&n.index=48&&t<=57)throw this.raise(this.state.pos,"Unexpected digit after hash token");if((this.hasPlugin("classPrivateProperties")||this.hasPlugin("classPrivateMethods"))&&this.state.classLevel>0)return++this.state.pos,void this.finishToken(u.hash);if("smart"!==this.getPluginOption("pipelineOperator","proposal"))throw this.raise(this.state.pos,"Unexpected character '#'");this.finishOp(u.hash,1)}readToken_dot(){const e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(u.ellipsis)):(++this.state.pos,this.finishToken(u.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(u.assign,2):this.finishOp(u.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;const e=this.state.pos;this.state.pos+=1;let t=this.input.charCodeAt(this.state.pos);if(33!==t)return!1;for(;!q(t)&&++this.state.pos=48&&t<=57?(++this.state.pos,this.finishToken(u.question)):(this.state.pos+=2,this.finishToken(u.questionDot)):61===t?this.finishOp(u.assign,3):this.finishOp(u.nullishCoalescing,2)}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(u.parenL);case 41:return++this.state.pos,void this.finishToken(u.parenR);case 59:return++this.state.pos,void this.finishToken(u.semi);case 44:return++this.state.pos,void this.finishToken(u.comma);case 91:return++this.state.pos,void this.finishToken(u.bracketL);case 93:return++this.state.pos,void this.finishToken(u.bracketR);case 123:return++this.state.pos,void this.finishToken(u.braceL);case 125:return++this.state.pos,void this.finishToken(u.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(u.doubleColon,2):(++this.state.pos,this.finishToken(u.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(u.backQuote);case 48:{const e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:case 62:return void this.readToken_lt_gt(e);case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(u.tilde,1);case 64:return++this.state.pos,void this.finishToken(u.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(he(e))return void this.readWord()}throw this.raise(this.state.pos,`Unexpected character '${String.fromCodePoint(e)}'`)}finishOp(e,t){const r=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,r)}readRegexp(){const e=this.state.pos;let t,r;for(;;){if(this.state.pos>=this.length)throw this.raise(e,"Unterminated regular expression");const n=this.input.charAt(this.state.pos);if($.test(n))throw this.raise(e,"Unterminated regular expression");if(t)t=!1;else{if("["===n)r=!0;else if("]"===n&&r)r=!1;else if("/"===n&&!r)break;t="\\"===n}++this.state.pos}const n=this.input.slice(e,this.state.pos);++this.state.pos;let i="";for(;this.state.pos-1&&this.raise(this.state.pos+1,"Duplicate regular expression flag");else{if(!pe(t)&&92!==t)break;this.raise(this.state.pos+1,"Invalid regular expression flag")}++this.state.pos,i+=e}this.finishToken(u.regexp,{pattern:n,flags:i})}readInt(e,t,r,n=!0){const i=this.state.pos,s=16===e?$e.hex:$e.decBinOct,a=16===e?He.hex:10===e?He.dec:8===e?He.oct:He.bin;let o=!1,u=0;for(let i=0,l=null==t?1/0:t;i-1||s.indexOf(t)>-1||Number.isNaN(t))&&this.raise(this.state.pos,"A numeric separator is only allowed between two digits"),n||this.raise(this.state.pos,"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences"),++this.state.pos}else{if((l=t>=97?t-97+10:t>=65?t-65+10:Ue(t)?t-48:1/0)>=e)if(this.options.errorRecovery&&l<=9)l=0,this.raise(this.state.start+i+2,"Expected number in radix "+e);else{if(!r)break;l=0,o=!0}++this.state.pos,u=u*e+l}}return this.state.pos===i||null!=t&&this.state.pos-i!==t||o?null:u}readRadixNumber(e){const t=this.state.pos;let r=!1;this.state.pos+=2;const n=this.readInt(e);if(null==n&&this.raise(this.state.start+2,"Expected number in radix "+e),this.hasPlugin("bigInt")&&110===this.input.charCodeAt(this.state.pos)&&(++this.state.pos,r=!0),he(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,"Identifier directly after number");if(r){const e=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");this.finishToken(u.bigint,e)}else this.finishToken(u.num,n)}readNumber(e){const t=this.state.pos;let r=!1,n=!1,i=!1;e||null!==this.readInt(10)||this.raise(t,"Invalid number");let s=this.state.pos-t>=2&&48===this.input.charCodeAt(t);s&&(this.state.strict&&this.raise(t,"Legacy octal literals are not allowed in strict mode"),/[89]/.test(this.input.slice(t,this.state.pos))&&(s=!1,i=!0));let a=this.input.charCodeAt(this.state.pos);if(46!==a||s||(++this.state.pos,this.readInt(10),r=!0,a=this.input.charCodeAt(this.state.pos)),69!==a&&101!==a||s||(43!==(a=this.input.charCodeAt(++this.state.pos))&&45!==a||++this.state.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),r=!0,a=this.input.charCodeAt(this.state.pos)),this.hasPlugin("numericSeparator")&&(s||i)){const e=this.input.slice(t,this.state.pos).indexOf("_");e>0&&this.raise(e+t,"Numeric separator can not be used after leading 0")}if(this.hasPlugin("bigInt")&&110===a&&((r||s||i)&&this.raise(t,"Invalid BigIntLiteral"),++this.state.pos,n=!0),he(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,"Identifier directly after number");const o=this.input.slice(t,this.state.pos).replace(/[_n]/g,"");if(n)return void this.finishToken(u.bigint,o);const l=s?parseInt(o,8):parseFloat(o);this.finishToken(u.num,l)}readCodePoint(e){let t;if(123===this.input.charCodeAt(this.state.pos)){const r=++this.state.pos;if(t=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,e),++this.state.pos,null===t)--this.state.invalidTemplateEscapePosition;else if(t>1114111){if(!e)return this.state.invalidTemplateEscapePosition=r-2,null;this.raise(r,"Code point out of bounds")}}else t=this.readHexChar(4,!1,e);return t}readString(e){let t="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,"Unterminated string constant");const n=this.input.charCodeAt(this.state.pos);if(n===e)break;if(92===n)t+=this.input.slice(r,this.state.pos),t+=this.readEscapedChar(!1),r=this.state.pos;else if(8232===n||8233===n)++this.state.pos,++this.state.curLine;else{if(q(n))throw this.raise(this.state.start,"Unterminated string constant");++this.state.pos}}t+=this.input.slice(r,this.state.pos++),this.finishToken(u.string,t)}readTmplToken(){let e="",t=this.state.pos,r=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,"Unterminated template");const n=this.input.charCodeAt(this.state.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(u.template)?36===n?(this.state.pos+=2,void this.finishToken(u.dollarBraceL)):(++this.state.pos,void this.finishToken(u.backQuote)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(u.template,r?null:e));if(92===n){e+=this.input.slice(t,this.state.pos);const n=this.readEscapedChar(!0);null===n?r=!0:e+=n,t=this.state.pos}else if(q(n)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,n){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}}readEscapedChar(e){const t=!e,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\n";case 114:return"\r";case 120:{const e=this.readHexChar(2,!1,t);return null===e?null:String.fromCharCode(e)}case 117:{const e=this.readCodePoint(t);return null===e?null:String.fromCodePoint(e)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(e){const e=this.state.pos-1;return this.state.invalidTemplateEscapePosition=e,null}default:if(r>=48&&r<=55){const t=this.state.pos-1;let r=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(r,8);n>255&&(r=r.slice(0,-1),n=parseInt(r,8)),this.state.pos+=r.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==r||56===i||57===i){if(e)return this.state.invalidTemplateEscapePosition=t,null;this.state.strict?this.raise(t,"Octal literal in strict mode"):this.state.containsOctal||(this.state.containsOctal=!0,this.state.octalPosition=t)}return String.fromCharCode(n)}return String.fromCharCode(r)}}readHexChar(e,t,r){const n=this.state.pos,i=this.readInt(16,e,t,!1);return null===i&&(r?this.raise(n,"Bad character escape sequence"):(this.state.pos=n-1,this.state.invalidTemplateEscapePosition=n-1)),i}readWord1(){let e="";this.state.containsEsc=!1;const t=this.state.pos;let r=this.state.pos;for(;this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,e)}unexpected(e,t="Unexpected token"){throw"string"!=typeof t&&(t=`Unexpected token, expected "${t.label}"`),this.raise(null!=e?e:this.state.start,t)}expectPlugin(e,t){if(!this.hasPlugin(e))throw this.raise(null!=t?t:this.state.start,`This experimental syntax requires enabling the parser plugin: '${e}'`,{missingPluginNames:[e]});return!0}expectOnePlugin(e,t){if(!e.some(e=>this.hasPlugin(e)))throw this.raise(null!=t?t:this.state.start,`This experimental syntax requires enabling one of the following parser plugin(s): '${e.join(", ")}'`,{missingPluginNames:e})}checkYieldAwaitInDefaultParams(){-1!==this.state.yieldPos&&(-1===this.state.awaitPos||this.state.yieldPos{throw r.node=e,r});if(this.state.errors.length>t.errors.length){const e=this.state;return this.state=t,{node:n,error:e.errors[t.errors.length],thrown:!1,aborted:!1,failState:e}}return{node:n,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){const n=this.state;if(this.state=t,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:n};if(e===r)return{node:r.node,error:null,thrown:!1,aborted:!0,failState:n};throw e}}}class Je{constructor(e,t,r){this.type="",this.start=t,this.end=0,this.loc=new Ie(r),e&&e.options.ranges&&(this.range=[t,0]),e&&e.filename&&(this.loc.filename=e.filename)}__clone(){const e=new Je,t=Object.keys(this);for(let r=0,n=t.length;r"ParenthesizedExpression"===e.type?Qe(e.expression):e;class Ze extends Xe{checkDuplicatedProto(e,t){if("SpreadElement"===e.type||e.computed||e.kind||e.shorthand)return;const r=e.key;"__proto__"===("Identifier"===r.type?r.name:String(r.value))&&(t.used&&!t.start&&(t.start=r.start),t.used=!0)}getExpression(){this.scope.enter(c),this.nextToken();const e=this.parseExpression();return this.match(u.eof)||this.unexpected(),e.comments=this.state.comments,e.errors=this.state.errors,e}parseExpression(e,t){const r=this.state.start,n=this.state.startLoc,i=this.parseMaybeAssign(e,t);if(this.match(u.comma)){const s=this.startNodeAt(r,n);for(s.expressions=[i];this.eat(u.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.toReferencedList(s.expressions),this.finishNode(s,"SequenceExpression")}return i}parseMaybeAssign(e,t,r,n){const i=this.state.start,s=this.state.startLoc;if(this.isContextual("yield")){if(this.scope.inGenerator){let t=this.parseYield(e);return r&&(t=r.call(this,t,i,s)),t}this.state.exprAllowed=!1}let a;t?a=!1:(t={start:0},a=!0),(this.match(u.parenL)||this.match(u.name))&&(this.state.potentialArrowAt=this.state.start);let o=this.parseMaybeConditional(e,t,n);if(r&&(o=r.call(this,o,i,s)),this.state.type.isAssign){const r=this.startNodeAt(i,s),n=this.state.value;r.operator=n,"??="===n&&(this.expectPlugin("nullishCoalescingOperator"),this.expectPlugin("logicalAssignment")),"||="!==n&&"&&="!==n||this.expectPlugin("logicalAssignment"),r.left=this.match(u.eq)?this.toAssignable(o,void 0,"assignment expression"):o,t.start>=r.left.start&&(t.start=0),this.checkLVal(o,void 0,void 0,"assignment expression");const a=Qe(o);let l;return"ObjectPattern"===a.type?l="`({a}) = 0` use `({a} = 0)`":"ArrayPattern"===a.type&&(l="`([a]) = 0` use `([a] = 0)`"),l&&(o.extra&&o.extra.parenthesized||"ParenthesizedExpression"===o.type)&&this.raise(a.start,`You're trying to assign to a parenthesized expression, eg. instead of ${l}`),this.next(),r.right=this.parseMaybeAssign(e),this.finishNode(r,"AssignmentExpression")}return a&&t.start&&this.unexpected(t.start),o}parseMaybeConditional(e,t,r){const n=this.state.start,i=this.state.startLoc,s=this.state.potentialArrowAt,a=this.parseExprOps(e,t);return"ArrowFunctionExpression"===a.type&&a.start===s?a:t&&t.start?a:this.parseConditional(a,e,n,i,r)}parseConditional(e,t,r,n,i){if(this.eat(u.question)){const i=this.startNodeAt(r,n);return i.test=e,i.consequent=this.parseMaybeAssign(),this.expect(u.colon),i.alternate=this.parseMaybeAssign(t),this.finishNode(i,"ConditionalExpression")}return e}parseExprOps(e,t){const r=this.state.start,n=this.state.startLoc,i=this.state.potentialArrowAt,s=this.parseMaybeUnary(t);return"ArrowFunctionExpression"===s.type&&s.start===i?s:t&&t.start?s:this.parseExprOp(s,r,n,-1,e)}parseExprOp(e,t,r,n,i){const s=this.state.type.binop;if(!(null==s||i&&this.match(u._in))&&s>n){const a=this.state.value;if("|>"===a&&this.state.inFSharpPipelineDirectBody)return e;const o=this.startNodeAt(t,r);o.left=e,o.operator=a,"**"!==a||"UnaryExpression"!==e.type||!this.options.createParenthesizedExpressions&&e.extra&&e.extra.parenthesized||this.raise(e.argument.start,"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.");const l=this.state.type;if(l===u.pipeline?(this.expectPlugin("pipelineOperator"),this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(e,t)):l===u.nullishCoalescing&&this.expectPlugin("nullishCoalescingOperator"),this.next(),l===u.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(u.name)&&"await"===this.state.value&&this.scope.inAsync)throw this.raise(this.state.start,'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal');if(o.right=this.parseExprOpRightExpr(l,s,i),l===u.nullishCoalescing){if(!("LogicalExpression"!==e.type||"??"===e.operator||e.extra&&e.extra.parenthesized))throw this.raise(e.start,"Nullish coalescing operator(??) requires parens when mixing with logical operators");if(!("LogicalExpression"!==o.right.type||"??"===o.right.operator||o.right.extra&&o.right.extra.parenthesized))throw this.raise(o.right.start,"Nullish coalescing operator(??) requires parens when mixing with logical operators")}return this.finishNode(o,l===u.logicalOR||l===u.logicalAND||l===u.nullishCoalescing?"LogicalExpression":"BinaryExpression"),this.parseExprOp(o,t,r,n,i)}return e}parseExprOpRightExpr(e,t,r){const n=this.state.start,i=this.state.startLoc;switch(e){case u.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(e,t,r),n,i));case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t,r))}default:return this.parseExprOpBaseRightExpr(e,t,r)}}parseExprOpBaseRightExpr(e,t,r){const n=this.state.start,i=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),n,i,e.rightAssociative?t-1:t,r)}parseMaybeUnary(e){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();if(this.state.type.prefix){const t=this.startNode(),r=this.match(u.incDec);if(t.operator=this.state.value,t.prefix=!0,"throw"===t.operator&&this.expectPlugin("throwExpressions"),this.next(),t.argument=this.parseMaybeUnary(),e&&e.start&&this.unexpected(e.start),r)this.checkLVal(t.argument,void 0,void 0,"prefix operation");else if(this.state.strict&&"delete"===t.operator){const e=t.argument;"Identifier"===e.type?this.raise(t.start,"Deleting local variable in strict mode"):"MemberExpression"===e.type&&"PrivateName"===e.property.type&&this.raise(t.start,"Deleting a private field is not allowed")}return this.finishNode(t,r?"UpdateExpression":"UnaryExpression")}const t=this.state.start,r=this.state.startLoc;let n=this.parseExprSubscripts(e);if(e&&e.start)return n;for(;this.state.type.postfix&&!this.canInsertSemicolon();){const e=this.startNodeAt(t,r);e.operator=this.state.value,e.prefix=!1,e.argument=n,this.checkLVal(n,void 0,void 0,"postfix operation"),this.next(),n=this.finishNode(e,"UpdateExpression")}return n}parseExprSubscripts(e){const t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(e);return"ArrowFunctionExpression"===i.type&&i.start===n?i:e&&e.start?i:this.parseSubscripts(i,t,r)}parseSubscripts(e,t,r,n){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsync(e),stop:!1};do{e=this.parseSubscript(e,t,r,n,i),i.maybeAsyncArrow=!1}while(!i.stop);return e}parseSubscript(e,t,r,n,i){if(!n&&this.eat(u.doubleColon)){const s=this.startNodeAt(t,r);return s.object=e,s.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(s,"BindExpression"),t,r,n)}if(this.match(u.questionDot)){if(this.expectPlugin("optionalChaining"),i.optionalChainMember=!0,n&&40===this.lookaheadCharCode())return i.stop=!0,e;this.next();const s=this.startNodeAt(t,r);return this.eat(u.bracketL)?(s.object=e,s.property=this.parseExpression(),s.computed=!0,s.optional=!0,this.expect(u.bracketR),this.finishNode(s,"OptionalMemberExpression")):this.eat(u.parenL)?(s.callee=e,s.arguments=this.parseCallExpressionArguments(u.parenR,!1),s.optional=!0,this.finishCallExpression(s,!0)):(s.object=e,s.property=this.parseIdentifier(!0),s.computed=!1,s.optional=!0,this.finishNode(s,"OptionalMemberExpression"))}if(this.eat(u.dot)){const n=this.startNodeAt(t,r);return n.object=e,n.property=this.parseMaybePrivateName(),n.computed=!1,"PrivateName"===n.property.type&&"Super"===n.object.type&&this.raise(t,"Private fields can't be accessed on super"),i.optionalChainMember?(n.optional=!1,this.finishNode(n,"OptionalMemberExpression")):this.finishNode(n,"MemberExpression")}if(this.eat(u.bracketL)){const n=this.startNodeAt(t,r);return n.object=e,n.property=this.parseExpression(),n.computed=!0,this.expect(u.bracketR),i.optionalChainMember?(n.optional=!1,this.finishNode(n,"OptionalMemberExpression")):this.finishNode(n,"MemberExpression")}if(!n&&this.match(u.parenL)){const n=this.state.maybeInArrowParameters,s=this.state.yieldPos,a=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.next();let o=this.startNodeAt(t,r);return o.callee=e,o.arguments=this.parseCallExpressionArguments(u.parenR,i.maybeAsyncArrow,"Import"===e.type,"Super"!==e.type,o),this.finishCallExpression(o,i.optionalChainMember),i.maybeAsyncArrow&&this.shouldParseAsyncArrow()?(i.stop=!0,o=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,r),o),this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=s,this.state.awaitPos=a):(this.toReferencedListDeep(o.arguments),-1!==s&&(this.state.yieldPos=s),(this.isAwaitAllowed()||n)&&-1===a||(this.state.awaitPos=a)),this.state.maybeInArrowParameters=n,o}return this.match(u.backQuote)?this.parseTaggedTemplateExpression(t,r,e,i):(i.stop=!0,e)}parseTaggedTemplateExpression(e,t,r,n,i){const s=this.startNodeAt(e,t);return s.tag=r,s.quasi=this.parseTemplate(!0),i&&(s.typeParameters=i),n.optionalChainMember&&this.raise(e,"Tagged Template Literals are not allowed in optionalChain"),this.finishNode(s,"TaggedTemplateExpression")}atPossibleAsync(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEnd===e.end&&!this.canInsertSemicolon()&&"async"===this.input.slice(e.start,e.end)}finishCallExpression(e,t){if("Import"===e.callee.type)if(1!==e.arguments.length)this.raise(e.start,"import() requires exactly one argument");else{const t=e.arguments[0];t&&"SpreadElement"===t.type&&this.raise(t.start,"... is not allowed in import()")}return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,r,n,i){const s=[];let a,o=!0;const l=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(e);){if(o)o=!1;else if(this.expect(u.comma),this.match(e)){r&&this.raise(this.state.lastTokStart,"Trailing comma is disallowed inside import(...) arguments"),i&&this.addExtra(i,"trailingComma",this.state.lastTokStart),this.next();break}this.match(u.parenL)&&!a&&(a=this.state.start),s.push(this.parseExprListItem(!1,t?{start:0}:void 0,t?{start:0}:void 0,n))}return t&&a&&this.shouldParseAsyncArrow()&&this.unexpected(),this.state.inFSharpPipelineDirectBody=l,s}shouldParseAsyncArrow(){return this.match(u.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){var r;return this.expect(u.arrow),this.parseArrowExpression(e,t.arguments,!0,null===(r=t.extra)||void 0===r?void 0:r.trailingComma),e}parseNoCallExpr(){const e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)}parseExprAtom(e){this.state.type===u.slash&&this.readRegexp();const t=this.state.potentialArrowAt===this.state.start;let r;switch(this.state.type){case u._super:return r=this.startNode(),this.next(),!this.match(u.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(r.start,"super is only allowed in object methods and classes"):this.raise(r.start,"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?"),this.match(u.parenL)||this.match(u.bracketL)||this.match(u.dot)||this.raise(r.start,"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])"),this.finishNode(r,"Super");case u._import:return r=this.startNode(),this.next(),this.match(u.dot)?this.parseImportMetaProperty(r):(this.expectPlugin("dynamicImport",r.start),this.match(u.parenL)||this.unexpected(null,u.parenL),this.finishNode(r,"Import"));case u._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case u.name:{r=this.startNode();const e=this.state.containsEsc,n=this.parseIdentifier();if(!e&&"async"===n.name&&this.match(u._function)&&!this.canInsertSemicolon())return this.next(),this.parseFunction(r,void 0,!0);if(t&&!e&&"async"===n.name&&this.match(u.name)&&!this.canInsertSemicolon()){const e=[this.parseIdentifier()];return this.expect(u.arrow),this.parseArrowExpression(r,e,!0),r}return t&&this.match(u.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(r,[n],!1),r):n}case u._do:{this.expectPlugin("doExpressions");const e=this.startNode();this.next();const t=this.state.labels;return this.state.labels=[],e.body=this.parseBlock(),this.state.labels=t,this.finishNode(e,"DoExpression")}case u.regexp:{const e=this.state.value;return(r=this.parseLiteral(e.value,"RegExpLiteral")).pattern=e.pattern,r.flags=e.flags,r}case u.num:return this.parseLiteral(this.state.value,"NumericLiteral");case u.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case u.string:return this.parseLiteral(this.state.value,"StringLiteral");case u._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case u._true:case u._false:return this.parseBooleanLiteral();case u.parenL:return this.parseParenAndDistinguishExpression(t);case u.bracketL:{const t=this.state.inFSharpPipelineDirectBody;return this.state.inFSharpPipelineDirectBody=!1,r=this.startNode(),this.next(),r.elements=this.parseExprList(u.bracketR,!0,e,r),this.state.maybeInArrowParameters||this.toReferencedList(r.elements),this.state.inFSharpPipelineDirectBody=t,this.finishNode(r,"ArrayExpression")}case u.braceL:{const t=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const r=this.parseObj(!1,e);return this.state.inFSharpPipelineDirectBody=t,r}case u._function:return this.parseFunctionExpression();case u.at:this.parseDecorators();case u._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case u._new:return this.parseNew();case u.backQuote:return this.parseTemplate(!1);case u.doubleColon:{r=this.startNode(),this.next(),r.object=null;const e=r.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(r,"BindExpression");throw this.raise(e.start,"Binding should be performed on object property.")}case u.hash:if(this.state.inPipeline)return r=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(r.start,"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option."),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(r.start,"Topic reference was used in a lexical context without topic binding"),this.registerTopicReference(),this.finishNode(r,"PipelinePrimaryTopicReference");default:throw this.unexpected()}}parseBooleanLiteral(){const e=this.startNode();return e.value=this.match(u._true),this.next(),this.finishNode(e,"BooleanLiteral")}parseMaybePrivateName(){if(this.match(u.hash)){this.expectOnePlugin(["classPrivateProperties","classPrivateMethods"]);const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space between # and identifier"),e.id=this.parseIdentifier(!0),this.finishNode(e,"PrivateName")}return this.parseIdentifier(!0)}parseFunctionExpression(){const e=this.startNode();let t=this.startNode();return this.next(),t=this.createIdentifier(t,"function"),this.scope.inGenerator&&this.eat(u.dot)?this.parseMetaProperty(e,t,"sent"):this.parseFunction(e)}parseMetaProperty(e,t,r){e.meta=t,"function"===t.name&&"sent"===r&&(this.isContextual(r)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const n=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==r||n)&&this.raise(e.property.start,`The only valid meta property for ${t.name} is ${t.name}.${r}`),this.finishNode(e,"MetaProperty")}parseImportMetaProperty(e){const t=this.createIdentifier(this.startNodeAtNode(e),"import");return this.expect(u.dot),this.isContextual("meta")?(this.expectPlugin("importMeta"),this.inModule||this.raise(t.start,"import.meta may appear only with 'sourceType: \"module\"'",{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"}),this.sawUnambiguousESM=!0):this.hasPlugin("importMeta")||this.raise(t.start,"Dynamic imports require a parameter: import('a.js')"),this.parseMetaProperty(e,t,"meta")}parseLiteral(e,t,r,n){r=r||this.state.start,n=n||this.state.startLoc;const i=this.startNodeAt(r,n);return this.addExtra(i,"rawValue",e),this.addExtra(i,"raw",this.input.slice(r,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)}parseParenAndDistinguishExpression(e){const t=this.state.start,r=this.state.startLoc;let n;this.expect(u.parenL);const i=this.state.maybeInArrowParameters,s=this.state.yieldPos,a=this.state.awaitPos,o=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.state.inFSharpPipelineDirectBody=!1;const l=this.state.start,c=this.state.startLoc,h=[],p={start:0},f={start:0};let d,m,y=!0;for(;!this.match(u.parenR);){if(y)y=!1;else if(this.expect(u.comma,f.start||null),this.match(u.parenR)){m=this.state.start;break}if(this.match(u.ellipsis)){const e=this.state.start,t=this.state.startLoc;d=this.state.start,h.push(this.parseParenItem(this.parseRestBinding(),e,t)),this.checkCommaAfterRest(41);break}h.push(this.parseMaybeAssign(!1,p,this.parseParenItem,f))}const g=this.state.start,b=this.state.startLoc;this.expect(u.parenR),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=o;let v=this.startNodeAt(t,r);if(e&&this.shouldParseArrow()&&(v=this.parseArrow(v))){this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=s,this.state.awaitPos=a;for(let e=0;e1?((n=this.startNodeAt(l,c)).expressions=h,this.finishNodeAt(n,"SequenceExpression",g,b)):n=h[0],!this.options.createParenthesizedExpressions)return this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",t),n;const x=this.startNodeAt(t,r);return x.expression=n,this.finishNode(x,"ParenthesizedExpression"),x}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(u.arrow))return e}parseParenItem(e,t,r){return e}parseNew(){const e=this.startNode();let t=this.startNode();if(this.next(),t=this.createIdentifier(t,"new"),this.eat(u.dot)){const r=this.parseMetaProperty(e,t,"target");if(!this.scope.inNonArrowFunction&&!this.state.inClassProperty){let e="new.target can only be used in functions";this.hasPlugin("classProperties")&&(e+=" or class properties"),this.raise(r.start,e)}return r}return e.callee=this.parseNoCallExpr(),"Import"===e.callee.type?this.raise(e.callee.start,"Cannot use new with import(...)"):"OptionalMemberExpression"===e.callee.type||"OptionalCallExpression"===e.callee.type?this.raise(this.state.lastTokEnd,"constructors in/after an Optional Chain are not allowed"):this.eat(u.questionDot)&&this.raise(this.state.start,"constructors in/after an Optional Chain are not allowed"),this.parseNewArguments(e),this.finishNode(e,"NewExpression")}parseNewArguments(e){if(this.eat(u.parenL)){const t=this.parseExprList(u.parenR);this.toReferencedList(t),e.arguments=t}else e.arguments=[]}parseTemplateElement(e){const t=this.startNode();return null===this.state.value&&(e?this.state.invalidTemplateEscapePosition=null:this.raise(this.state.invalidTemplateEscapePosition||0,"Invalid escape sequence in template")),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),t.tail=this.match(u.backQuote),this.finishNode(t,"TemplateElement")}parseTemplate(e){const t=this.startNode();this.next(),t.expressions=[];let r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)this.expect(u.dollarBraceL),t.expressions.push(this.parseExpression()),this.expect(u.braceR),t.quasis.push(r=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")}parseObj(e,t){const r=Object.create(null);let n=!0;const i=this.startNode();for(i.properties=[],this.next();!this.eat(u.braceR);){if(n)n=!1;else if(this.expect(u.comma),this.match(u.braceR)){this.addExtra(i,"trailingComma",this.state.lastTokStart),this.next();break}const s=this.parseObjectMember(e,t);e||this.checkDuplicatedProto(s,r),s.shorthand&&this.addExtra(s,"shorthand",!0),i.properties.push(s)}return this.match(u.eq)||void 0===r.start||this.raise(r.start,"Redefinition of __proto__ property"),this.finishNode(i,e?"ObjectPattern":"ObjectExpression")}isAsyncProp(e){return!e.computed&&"Identifier"===e.key.type&&"async"===e.key.name&&(this.match(u.name)||this.match(u.num)||this.match(u.string)||this.match(u.bracketL)||this.state.type.keyword||this.match(u.star))&&!this.hasPrecedingLineBreak()}parseObjectMember(e,t){let r=[];if(this.match(u.at))for(this.hasPlugin("decorators")&&this.raise(this.state.start,"Stage 2 decorators disallow object literal property decorators");this.match(u.at);)r.push(this.parseDecorator());const n=this.startNode();let i,s,a=!1,o=!1;if(this.match(u.ellipsis))return r.length&&this.unexpected(),e?(this.next(),n.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(n,"RestElement")):this.parseSpread();r.length&&(n.decorators=r,r=[]),n.method=!1,(e||t)&&(i=this.state.start,s=this.state.startLoc),e||(a=this.eat(u.star));const l=this.state.containsEsc;return this.parsePropertyName(n),e||l||a||!this.isAsyncProp(n)?o=!1:(o=!0,a=this.eat(u.star),this.parsePropertyName(n)),this.parseObjPropValue(n,i,s,a,o,e,t,l),n}isGetterOrSetterMethod(e,t){return!t&&!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&(this.match(u.string)||this.match(u.num)||this.match(u.bracketL)||this.match(u.name)||!!this.state.type.keyword)}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}checkGetterSetterParams(e){const t=this.getGetterSetterExpectedParamCount(e),r=e.start;e.params.length!==t&&("get"===e.kind?this.raise(r,"getter must not have any formal parameters"):this.raise(r,"setter must have exactly one formal parameter")),"set"===e.kind&&"RestElement"===e.params[e.params.length-1].type&&this.raise(r,"setter function argument must not be a rest parameter")}parseObjectMethod(e,t,r,n,i){return r||t||this.match(u.parenL)?(n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r,!1,!1,"ObjectMethod")):!i&&this.isGetterOrSetterMethod(e,n)?((t||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),this.parseMethod(e,!1,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(e),e):void 0}parseObjectProperty(e,t,r,n,i){return e.shorthand=!1,this.eat(u.colon)?(e.value=n?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!0),n?e.value=this.parseMaybeDefault(t,r,e.key.__clone()):this.match(u.eq)&&i?(i.start||(i.start=this.state.start),e.value=this.parseMaybeDefault(t,r,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))}parseObjPropValue(e,t,r,n,i,s,a,o){const u=this.parseObjectMethod(e,n,i,s,o)||this.parseObjectProperty(e,t,r,s,a);return u||this.unexpected(),u}parsePropertyName(e){if(this.eat(u.bracketL))e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(u.bracketR);else{const t=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(u.num)||this.match(u.string)?this.parseExprAtom():this.parseMaybePrivateName(),"PrivateName"!==e.key.type&&(e.computed=!1),this.state.inPropertyName=t}return e.key}initFunction(e,t){e.id=null,e.generator=!1,e.async=!!t}parseMethod(e,t,r,n,i,s,a=!1){const o=this.state.yieldPos,u=this.state.awaitPos;this.state.yieldPos=-1,this.state.awaitPos=-1,this.initFunction(e,r),e.generator=!!t;const l=n;return this.scope.enter(x(r,e.generator)|y|(a?b:0)|(i?g:0)),this.parseFunctionParams(e,l),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBodyAndFinish(e,s,!0),this.scope.exit(),this.state.yieldPos=o,this.state.awaitPos=u,e}parseArrowExpression(e,t,r,n){this.scope.enter(x(r,!1)|d),this.initFunction(e,r);const i=this.state.maybeInArrowParameters,s=this.state.yieldPos,a=this.state.awaitPos;return this.state.maybeInArrowParameters=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,t&&this.setArrowFunctionParameters(e,t,n),this.parseFunctionBody(e,!0),this.scope.exit(),this.state.maybeInArrowParameters=i,this.state.yieldPos=s,this.state.awaitPos=a,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,r){e.params=this.toAssignableList(t,!0,"arrow function parameters",r)}isStrictBody(e){if("BlockStatement"===e.body.type&&e.body.directives.length)for(let t=0,r=e.body.directives;t" after pipeline body; arrow function in pipeline body must be parenthesized');"PipelineTopicExpression"===t&&"SequenceExpression"===e.type&&this.raise(r,"Pipeline body may not be a comma-separated sequence expression")}parseSmartPipelineBodyInStyle(e,t,r,n){const i=this.startNodeAt(r,n);switch(t){case"PipelineBareFunction":i.callee=e;break;case"PipelineBareConstructor":i.callee=e.callee;break;case"PipelineBareAwaitedFunction":i.callee=e.argument;break;case"PipelineTopicExpression":this.topicReferenceWasUsedInCurrentTopicContext()||this.raise(r,"Pipeline is in topic style but does not use topic reference"),i.expression=e;break;default:throw new Error(`Internal @babel/parser error: Unknown pipeline style (${t})`)}return this.finishNode(i,t)}checkSmartPipelineBodyStyle(e){return e.type,this.isSimpleReference(e)?"PipelineBareFunction":"PipelineTopicExpression"}isSimpleReference(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}withTopicPermittingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withTopicForbiddingContext(e){const t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSoloAwaitPermittingContext(e){const t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}primaryTopicReferenceIsAllowedInCurrentTopicContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e,t){const r=this.state.start,n=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const s=this.parseExprOp(this.parseMaybeUnary(),r,n,e,t);return this.state.inFSharpPipelineDirectBody=i,s}}const et={kind:"loop"},tt={kind:"switch"},rt=0,nt=1,it=2,st=4;class at extends Ze{parseTopLevel(e,t){if(t.sourceType=this.options.sourceType,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,u.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let e=0,t=Array.from(this.scope.undefinedExports);ethis.parseStatement("do")),this.state.labels.pop(),this.expect(u._while),e.test=this.parseHeaderExpression(),this.eat(u.semi),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(et);let t=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(t=this.state.lastTokStart),this.scope.enter(l),this.expect(u.parenL),this.match(u.semi))return t>-1&&this.unexpected(t),this.parseFor(e,null);const r=this.isLet();if(this.match(u._var)||this.match(u._const)||r){const n=this.startNode(),i=r?"let":this.state.value;return this.next(),this.parseVar(n,!0,i),this.finishNode(n,"VariableDeclaration"),(this.match(u._in)||this.isContextual("of"))&&1===n.declarations.length?this.parseForIn(e,n,t):(t>-1&&this.unexpected(t),this.parseFor(e,n))}const n={start:0},i=this.parseExpression(!0,n);if(this.match(u._in)||this.isContextual("of")){const r=this.isContextual("of")?"for-of statement":"for-in statement";return this.toAssignable(i,void 0,r),this.checkLVal(i,void 0,void 0,r),this.parseForIn(e,i,t)}return n.start&&this.unexpected(n.start),t>-1&&this.unexpected(t),this.parseFor(e,i)}parseFunctionStatement(e,t,r){return this.next(),this.parseFunction(e,nt|(r?0:it),t)}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(u._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.scope.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.state.start,"'return' outside of function"),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();const t=e.cases=[];let r,n;for(this.expect(u.braceL),this.state.labels.push(tt),this.scope.enter(l);!this.match(u.braceR);)if(this.match(u._case)||this.match(u._default)){const e=this.match(u._case);r&&this.finishNode(r,"SwitchCase"),t.push(r=this.startNode()),r.consequent=[],this.next(),e?r.test=this.parseExpression():(n&&this.raise(this.state.lastTokStart,"Multiple default clauses"),n=!0,r.test=null),this.expect(u.colon)}else r?r.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),r&&this.finishNode(r,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),$.test(this.input.slice(this.state.lastTokEnd,this.state.start))&&this.raise(this.state.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(u._catch)){const t=this.startNode();if(this.next(),this.match(u.parenL)){this.expect(u.parenL),t.param=this.parseBindingAtom();const e="Identifier"===t.param.type;this.scope.enter(e?m:0),this.checkLVal(t.param,F,null,"catch clause"),this.expect(u.parenR)}else t.param=null,this.scope.enter(l);t.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(u._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")}parseVarStatement(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(et),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("while")),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(this.state.start,"'with' in strict mode"),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("with")),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,r,n){for(let e=0,n=this.state.labels;e=0;t--){const r=this.state.labels[t];if(r.statementStart!==e.start)break;r.statementStart=this.state.start,r.kind=i}return this.state.labels.push({name:t,kind:i,statementStart:this.state.start}),e.body=this.parseStatement(n?-1===n.indexOf("label")?n+"label":n:"label"),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0){const r=this.startNode();return this.expect(u.braceL),t&&this.scope.enter(l),this.parseBlockBody(r,e,!1,u.braceR),t&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,r,n){const i=e.body=[],s=e.directives=[];this.parseBlockOrModuleBlockBody(i,t?s:void 0,r,n)}parseBlockOrModuleBlockBody(e,t,r,n){let i,s,a=!1;for(;!this.eat(n);){a||!this.state.containsOctal||s||(s=this.state.octalPosition);const n=this.parseStatement(null,r);if(t&&!a&&this.isValidDirective(n)){const e=this.stmtToDirective(n);t.push(e),void 0===i&&"use strict"===e.value.value&&(i=this.state.strict,this.setStrict(!0),s&&this.raise(s,"Octal literal in strict mode"))}else a=!0,e.push(n)}!1===i&&this.setStrict(!1)}parseFor(e,t){return e.init=t,this.expect(u.semi),e.test=this.match(u.semi)?null:this.parseExpression(),this.expect(u.semi),e.update=this.match(u.parenR)?null:this.parseExpression(),this.expect(u.parenR),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,r){const n=this.match(u._in);return this.next(),n?r>-1&&this.unexpected(r):e.await=r>-1,"VariableDeclaration"!==t.type||null==t.declarations[0].init||n&&!this.state.strict&&"var"===t.kind&&"Identifier"===t.declarations[0].id.type?"AssignmentPattern"===t.type&&this.raise(t.start,"Invalid left-hand side in for-loop"):this.raise(t.start,`${n?"for-in":"for-of"} loop variable declaration may not have an initializer`),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssign(),this.expect(u.parenR),e.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")}parseVar(e,t,r){const n=e.declarations=[],i=this.hasPlugin("typescript");for(e.kind=r;;){const e=this.startNode();if(this.parseVarId(e,r),this.eat(u.eq)?e.init=this.parseMaybeAssign(t):("const"!==r||this.match(u._in)||this.isContextual("of")?"Identifier"===e.id.type||t&&(this.match(u._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,"Complex binding patterns require an initialization value"):i||this.unexpected(),e.init=null),n.push(this.finishNode(e,"VariableDeclarator")),!this.eat(u.comma))break}return e}parseVarId(e,t){e.id=this.parseBindingAtom(),this.checkLVal(e.id,"var"===t?O:F,void 0,"variable declaration","var"!==t)}parseFunction(e,t=rt,r=!1){const n=t&nt,i=t&it,s=!(!n||t&st);this.initFunction(e,r),this.match(u.star)&&i&&this.raise(this.state.start,"Generators can only be declared at the top level or inside a block"),e.generator=this.eat(u.star),n&&(e.id=this.parseFunctionId(s));const a=this.state.maybeInArrowParameters,o=this.state.inClassProperty,l=this.state.yieldPos,c=this.state.awaitPos;return this.state.maybeInArrowParameters=!1,this.state.inClassProperty=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,this.scope.enter(x(e.async,e.generator)),n||(e.id=this.parseFunctionId()),this.parseFunctionParams(e),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,n?"FunctionDeclaration":"FunctionExpression")}),this.scope.exit(),n&&!i&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=a,this.state.inClassProperty=o,this.state.yieldPos=l,this.state.awaitPos=c,e}parseFunctionId(e){return e||this.match(u.name)?this.parseIdentifier():null}parseFunctionParams(e,t){const r=this.state.inParameters;this.state.inParameters=!0,this.expect(u.parenL),e.params=this.parseBindingList(u.parenR,41,!1,t),this.state.inParameters=r,this.checkYieldAwaitInDefaultParams()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?O:F:N,e.id.start)}parseClass(e,t,r){this.next(),this.takeDecorators(e);const n=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,r),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass),this.state.strict=n,this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(u.eq)||this.match(u.semi)||this.match(u.braceR)}isClassMethod(){return this.match(u.parenL)}isNonstaticConstructor(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)}parseClassBody(e){this.state.classLevel++;const t={hadConstructor:!1};let r=[];const n=this.startNode();if(n.body=[],this.expect(u.braceL),this.withTopicForbiddingContext(()=>{for(;!this.eat(u.braceR);){if(this.eat(u.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,"Decorators must not be followed by a semicolon");continue}if(this.match(u.at)){r.push(this.parseDecorator());continue}const i=this.startNode();r.length&&(i.decorators=r,this.resetStartLocationFromNode(i,r[0]),r=[]),this.parseClassMember(n,i,t,e),"constructor"===i.kind&&i.decorators&&i.decorators.length>0&&this.raise(i.start,"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?")}}),r.length)throw this.raise(this.state.start,"You have trailing decorators with no method");return this.state.classLevel--,this.finishNode(n,"ClassBody")}parseClassMember(e,t,r,n){let i=!1;const s=this.state.containsEsc;if(this.match(u.name)&&"static"===this.state.value){const r=this.parseIdentifier(!0);if(this.isClassMethod()){const n=t;return n.kind="method",n.computed=!1,n.key=r,n.static=!1,void this.pushClassMethod(e,n,!1,!1,!1,!1)}if(this.isClassProperty()){const n=t;return n.computed=!1,n.key=r,n.static=!1,void e.body.push(this.parseClassProperty(n))}if(s)throw this.unexpected();i=!0}this.parseClassMemberWithIsStatic(e,t,r,i,n)}parseClassMemberWithIsStatic(e,t,r,n,i){const s=t,a=t,o=t,l=t,c=s,h=s;if(t.static=n,this.eat(u.star))return c.kind="method",this.parseClassPropertyName(c),"PrivateName"===c.key.type?void this.pushClassPrivateMethod(e,a,!0,!1):(this.isNonstaticConstructor(s)&&this.raise(s.key.start,"Constructor can't be a generator"),void this.pushClassMethod(e,s,!0,!1,!1,!1));const p=this.state.containsEsc,f=this.parseClassPropertyName(t),d="PrivateName"===f.type,m="Identifier"===f.type,y=this.state.start;if(this.parsePostMemberNameModifiers(h),this.isClassMethod()){if(c.kind="method",d)return void this.pushClassPrivateMethod(e,a,!1,!1);const t=this.isNonstaticConstructor(s);let n=!1;t&&(s.kind="constructor",r.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(f.start,"Duplicate constructor in the same class"),r.hadConstructor=!0,n=i),this.pushClassMethod(e,s,!1,!1,t,n)}else if(this.isClassProperty())d?this.pushClassPrivateProperty(e,l):this.pushClassProperty(e,o);else if(!m||"async"!==f.name||p||this.isLineTerminator())!m||"get"!==f.name&&"set"!==f.name||p||this.match(u.star)&&this.isLineTerminator()?this.isLineTerminator()?d?this.pushClassPrivateProperty(e,l):this.pushClassProperty(e,o):this.unexpected():(c.kind=f.name,this.parseClassPropertyName(s),"PrivateName"===c.key.type?this.pushClassPrivateMethod(e,a,!1,!1):(this.isNonstaticConstructor(s)&&this.raise(s.key.start,"Constructor can't have get/set modifier"),this.pushClassMethod(e,s,!1,!1,!1,!1)),this.checkGetterSetterParams(s));else{const t=this.eat(u.star);h.optional&&this.unexpected(y),c.kind="method",this.parseClassPropertyName(c),"PrivateName"===c.key.type?this.pushClassPrivateMethod(e,a,t,!0):(this.isNonstaticConstructor(s)&&this.raise(s.key.start,"Constructor can't be an async function"),this.pushClassMethod(e,s,t,!0,!1,!1))}}parseClassPropertyName(e){const t=this.parsePropertyName(e);return e.computed||!e.static||"prototype"!==t.name&&"prototype"!==t.value||this.raise(t.start,"Classes may not have static property named prototype"),"PrivateName"===t.type&&"constructor"===t.id.name&&this.raise(t.start,"Classes may not have a private field named '#constructor'"),t}pushClassProperty(e,t){t.computed||"constructor"!==t.key.name&&"constructor"!==t.key.value||this.raise(t.key.start,"Classes may not have a field named 'constructor'"),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){this.expectPlugin("classPrivateProperties",t.key.start),e.body.push(this.parseClassPrivateProperty(t))}pushClassMethod(e,t,r,n,i,s){e.body.push(this.parseMethod(t,r,n,i,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,r,n){this.expectPlugin("classPrivateMethods",t.key.start),e.body.push(this.parseMethod(t,r,n,!1,!1,"ClassPrivateMethod",!0))}parsePostMemberNameModifiers(e){}parseAccessModifier(){}parseClassPrivateProperty(e){return this.state.inClassProperty=!0,this.scope.enter(b|y),e.value=this.eat(u.eq)?this.parseMaybeAssign():null,this.semicolon(),this.state.inClassProperty=!1,this.scope.exit(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return e.typeAnnotation||this.expectPlugin("classProperties"),this.state.inClassProperty=!0,this.scope.enter(b|y),this.match(u.eq)?(this.expectPlugin("classProperties"),this.next(),e.value=this.parseMaybeAssign()):e.value=null,this.semicolon(),this.state.inClassProperty=!1,this.scope.exit(),this.finishNode(e,"ClassProperty")}parseClassId(e,t,r,n=P){this.match(u.name)?(e.id=this.parseIdentifier(),t&&this.checkLVal(e.id,n,void 0,"class name")):r||!t?e.id=null:this.unexpected(null,"A class name is required")}parseClassSuper(e){e.superClass=this.eat(u._extends)?this.parseExprSubscripts():null}parseExport(e){const t=this.maybeParseExportDefaultSpecifier(e),r=!t||this.eat(u.comma),n=r&&this.eatExportStar(e),i=n&&this.maybeParseExportNamespaceSpecifier(e),s=r&&(!i||this.eat(u.comma)),a=t||n;if(n&&!i)return t&&this.unexpected(),this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(e);if(t&&r&&!n&&!o||i&&s&&!o)throw this.unexpected(null,u.braceL);let l;if(a||o?(l=!1,this.parseExportFrom(e,a)):l=this.maybeParseExportDeclaration(e),a||o||l)return this.checkExport(e,!0,!1,!!e.source),this.finishNode(e,"ExportNamedDeclaration");if(this.eat(u._default))return e.declaration=this.parseExportDefaultExpression(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration");throw this.unexpected(null,u.braceL)}eatExportStar(e){return this.eat(u.star)}maybeParseExportDefaultSpecifier(e){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const t=this.startNode();return t.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(t,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual("as")){e.specifiers||(e.specifiers=[]);const t=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),t.exported=this.parseIdentifier(!0),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){return!!this.match(u.braceL)&&(e.specifiers||(e.specifiers=[]),e.specifiers.push(...this.parseExportSpecifiers()),e.source=null,e.declaration=null,!0)}maybeParseExportDeclaration(e){if(this.shouldParseExportDeclaration()){if(this.isContextual("async")){const e=this.nextTokenStart();this.isUnparsedContextual(e,"function")||this.unexpected(e,'Unexpected token, expected "function"')}return e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e),!0}return!1}isAsyncFunction(){if(!this.isContextual("async"))return!1;const e=this.nextTokenStart();return!$.test(this.input.slice(this.state.pos,e))&&this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){const e=this.startNode(),t=this.isAsyncFunction();if(this.match(u._function)||t)return this.next(),t&&this.next(),this.parseFunction(e,nt|st,t);if(this.match(u._class))return this.parseClass(e,!0,!0);if(this.match(u.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax"),this.parseDecorators(!1),this.parseClass(e,!0,!0);if(this.match(u._const)||this.match(u._var)||this.isLet())throw this.raise(this.state.start,"Only expressions, functions or classes are allowed as the `default` export.");{const e=this.parseMaybeAssign();return this.semicolon(),e}}parseExportDeclaration(e){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(u.name))return"async"!==this.state.value&&"let"!==this.state.value;if(!this.match(u._default))return!1;const e=this.nextTokenStart();return 44===this.input.charCodeAt(e)||this.isUnparsedContextual(e,"from")}parseExportFrom(e,t){this.eatContextual("from")?(e.source=this.parseImportSource(),this.checkExport(e)):t?this.unexpected():e.source=null,this.semicolon()}shouldParseExportDeclaration(){if(this.match(u.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax")}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(e,t,r,n){if(t)if(r)this.checkDuplicateExports(e,"default");else if(e.specifiers&&e.specifiers.length)for(let t=0,r=e.specifiers;t-1&&this.raise(e.start,"default"===t?"Only one default export allowed per module.":`\`${t}\` has already been exported. Exported identifiers must be unique.`),this.state.exportedIdentifiers.push(t)}parseExportSpecifiers(){const e=[];let t=!0;for(this.expect(u.braceL);!this.eat(u.braceR);){if(t)t=!1;else if(this.expect(u.comma),this.eat(u.braceR))break;const r=this.startNode();r.local=this.parseIdentifier(!0),r.exported=this.eatContextual("as")?this.parseIdentifier(!0):r.local.__clone(),e.push(this.finishNode(r,"ExportSpecifier"))}return e}parseImport(e){if(e.specifiers=[],!this.match(u.string)){const t=!this.maybeParseDefaultImportSpecifier(e)||this.eat(u.comma),r=t&&this.maybeParseStarImportSpecifier(e);t&&!r&&this.parseNamedImportSpecifiers(e),this.expectContextual("from")}return e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(u.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(e){return this.match(u.name)}parseImportSpecifierLocal(e,t,r,n){t.local=this.parseIdentifier(),this.checkLVal(t.local,F,void 0,n),e.specifiers.push(this.finishNode(t,r))}maybeParseDefaultImportSpecifier(e){return!!this.shouldParseDefaultImport(e)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(u.star)){const t=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(u.braceL);!this.eat(u.braceR);){if(t)t=!1;else{if(this.eat(u.colon))throw this.raise(this.state.start,"ES2015 named imports do not destructure. Use another statement for destructuring after the import.");if(this.expect(u.comma),this.eat(u.braceR))break}this.parseImportSpecifier(e)}}parseImportSpecifier(e){const t=this.startNode();t.imported=this.parseIdentifier(!0),this.eatContextual("as")?t.local=this.parseIdentifier():(this.checkReservedWord(t.imported.name,t.start,!0,!0),t.local=t.imported.__clone()),this.checkLVal(t.local,F,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))}}class ot extends at{constructor(e,t){super(e=function(e){const t={};for(let r=0,n=Object.keys(Ne);r`'${e}'`).join(", "))}(e.plugins),r=function(e){const t=Oe.filter(t=>Ce(e,t)),r=t.join("/");let n=lt[r];if(!n){n=ot;for(let e=0;er.length)throw new Error(`${e}: Too many arguments passed. Received ${a} but can receive no more than ${r.length}`);const o={type:e};let u=0;r.forEach(r=>{const s=i.NODE_FIELDS[e][r];let l;us(e,t)):s(e,t)}function o(e,t=!0){if(!e)return e;const{type:r}=e,s={type:r};if("Identifier"===r)s.name=e.name,i(e,"optional")&&"boolean"==typeof e.optional&&(s.optional=e.optional),i(e,"typeAnnotation")&&(s.typeAnnotation=t?a(e.typeAnnotation,!0):e.typeAnnotation);else{if(!i(n.NODE_FIELDS,r))throw new Error(`Unknown node type: "${r}"`);for(const o of Object.keys(n.NODE_FIELDS[r]))i(e,o)&&(s[o]=t?a(e[o],!0):e[o])}return i(e,"loc")&&(s.loc=e.loc),i(e,"leadingComments")&&(s.leadingComments=e.leadingComments),i(e,"innerComments")&&(s.innerComments=e.innerComments),i(e,"trailingComments")&&(s.trailingComments=e.trailingComments),i(e,"extra")&&(s.extra=Object.assign({},e.extra)),s}},{"../definitions":37}],12:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){const t=(0,i.default)(e);return t.loc=null,t};var n,i=(n=e("./clone"))&&n.__esModule?n:{default:n}},{"./clone":9}],13:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r,n){return(0,i.default)(e,t,[{type:n?"CommentLine":"CommentBlock",value:r}])};var n,i=(n=e("./addComments"))&&n.__esModule?n:{default:n}},{"./addComments":14}],14:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){if(!r||!e)return e;const n=`${t}Comments`;e[n]?e[n]="leading"===t?r.concat(e[n]):e[n].concat(r):e[n]=r;return e}},{}],15:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)("innerComments",e,t)};var n,i=(n=e("../utils/inherit"))&&n.__esModule?n:{default:n}},{"../utils/inherit":54}],16:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)("leadingComments",e,t)};var n,i=(n=e("../utils/inherit"))&&n.__esModule?n:{default:n}},{"../utils/inherit":54}],17:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){(0,i.default)("trailingComments",e,t)};var n,i=(n=e("../utils/inherit"))&&n.__esModule?n:{default:n}},{"../utils/inherit":54}],18:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,n.default)(e,t),(0,i.default)(e,t),(0,s.default)(e,t),e};var n=a(e("./inheritTrailingComments")),i=a(e("./inheritLeadingComments")),s=a(e("./inheritInnerComments"));function a(e){return e&&e.__esModule?e:{default:e}}},{"./inheritInnerComments":15,"./inheritLeadingComments":16,"./inheritTrailingComments":17}],19:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return n.COMMENT_KEYS.forEach(t=>{e[t]=null}),e};var n=e("../constants")},{"../constants":21}],20:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.TSTYPE_TYPES=r.TSTYPEELEMENT_TYPES=r.PRIVATE_TYPES=r.JSX_TYPES=r.ENUMMEMBER_TYPES=r.ENUMBODY_TYPES=r.FLOWPREDICATE_TYPES=r.FLOWDECLARATION_TYPES=r.FLOWBASEANNOTATION_TYPES=r.FLOWTYPE_TYPES=r.FLOW_TYPES=r.MODULESPECIFIER_TYPES=r.EXPORTDECLARATION_TYPES=r.MODULEDECLARATION_TYPES=r.CLASS_TYPES=r.PATTERN_TYPES=r.UNARYLIKE_TYPES=r.PROPERTY_TYPES=r.OBJECTMEMBER_TYPES=r.METHOD_TYPES=r.USERWHITESPACABLE_TYPES=r.IMMUTABLE_TYPES=r.LITERAL_TYPES=r.TSENTITYNAME_TYPES=r.LVAL_TYPES=r.PATTERNLIKE_TYPES=r.DECLARATION_TYPES=r.PUREISH_TYPES=r.FUNCTIONPARENT_TYPES=r.FUNCTION_TYPES=r.FORXSTATEMENT_TYPES=r.FOR_TYPES=r.EXPRESSIONWRAPPER_TYPES=r.WHILE_TYPES=r.LOOP_TYPES=r.CONDITIONAL_TYPES=r.COMPLETIONSTATEMENT_TYPES=r.TERMINATORLESS_TYPES=r.STATEMENT_TYPES=r.BLOCK_TYPES=r.BLOCKPARENT_TYPES=r.SCOPABLE_TYPES=r.BINARY_TYPES=r.EXPRESSION_TYPES=void 0;var n=e("../../definitions");const i=n.FLIPPED_ALIAS_KEYS.Expression;r.EXPRESSION_TYPES=i;const s=n.FLIPPED_ALIAS_KEYS.Binary;r.BINARY_TYPES=s;const a=n.FLIPPED_ALIAS_KEYS.Scopable;r.SCOPABLE_TYPES=a;const o=n.FLIPPED_ALIAS_KEYS.BlockParent;r.BLOCKPARENT_TYPES=o;const u=n.FLIPPED_ALIAS_KEYS.Block;r.BLOCK_TYPES=u;const l=n.FLIPPED_ALIAS_KEYS.Statement;r.STATEMENT_TYPES=l;const c=n.FLIPPED_ALIAS_KEYS.Terminatorless;r.TERMINATORLESS_TYPES=c;const h=n.FLIPPED_ALIAS_KEYS.CompletionStatement;r.COMPLETIONSTATEMENT_TYPES=h;const p=n.FLIPPED_ALIAS_KEYS.Conditional;r.CONDITIONAL_TYPES=p;const f=n.FLIPPED_ALIAS_KEYS.Loop;r.LOOP_TYPES=f;const d=n.FLIPPED_ALIAS_KEYS.While;r.WHILE_TYPES=d;const m=n.FLIPPED_ALIAS_KEYS.ExpressionWrapper;r.EXPRESSIONWRAPPER_TYPES=m;const y=n.FLIPPED_ALIAS_KEYS.For;r.FOR_TYPES=y;const g=n.FLIPPED_ALIAS_KEYS.ForXStatement;r.FORXSTATEMENT_TYPES=g;const b=n.FLIPPED_ALIAS_KEYS.Function;r.FUNCTION_TYPES=b;const v=n.FLIPPED_ALIAS_KEYS.FunctionParent;r.FUNCTIONPARENT_TYPES=v;const x=n.FLIPPED_ALIAS_KEYS.Pureish;r.PUREISH_TYPES=x;const E=n.FLIPPED_ALIAS_KEYS.Declaration;r.DECLARATION_TYPES=E;const w=n.FLIPPED_ALIAS_KEYS.PatternLike;r.PATTERNLIKE_TYPES=w;const S=n.FLIPPED_ALIAS_KEYS.LVal;r.LVAL_TYPES=S;const A=n.FLIPPED_ALIAS_KEYS.TSEntityName;r.TSENTITYNAME_TYPES=A;const T=n.FLIPPED_ALIAS_KEYS.Literal;r.LITERAL_TYPES=T;const _=n.FLIPPED_ALIAS_KEYS.Immutable;r.IMMUTABLE_TYPES=_;const D=n.FLIPPED_ALIAS_KEYS.UserWhitespacable;r.USERWHITESPACABLE_TYPES=D;const C=n.FLIPPED_ALIAS_KEYS.Method;r.METHOD_TYPES=C;const k=n.FLIPPED_ALIAS_KEYS.ObjectMember;r.OBJECTMEMBER_TYPES=k;const P=n.FLIPPED_ALIAS_KEYS.Property;r.PROPERTY_TYPES=P;const F=n.FLIPPED_ALIAS_KEYS.UnaryLike;r.UNARYLIKE_TYPES=F;const O=n.FLIPPED_ALIAS_KEYS.Pattern;r.PATTERN_TYPES=O;const N=n.FLIPPED_ALIAS_KEYS.Class;r.CLASS_TYPES=N;const M=n.FLIPPED_ALIAS_KEYS.ModuleDeclaration;r.MODULEDECLARATION_TYPES=M;const I=n.FLIPPED_ALIAS_KEYS.ExportDeclaration;r.EXPORTDECLARATION_TYPES=I;const B=n.FLIPPED_ALIAS_KEYS.ModuleSpecifier;r.MODULESPECIFIER_TYPES=B;const j=n.FLIPPED_ALIAS_KEYS.Flow;r.FLOW_TYPES=j;const L=n.FLIPPED_ALIAS_KEYS.FlowType;r.FLOWTYPE_TYPES=L;const R=n.FLIPPED_ALIAS_KEYS.FlowBaseAnnotation;r.FLOWBASEANNOTATION_TYPES=R;const V=n.FLIPPED_ALIAS_KEYS.FlowDeclaration;r.FLOWDECLARATION_TYPES=V;const U=n.FLIPPED_ALIAS_KEYS.FlowPredicate;r.FLOWPREDICATE_TYPES=U;const z=n.FLIPPED_ALIAS_KEYS.EnumBody;r.ENUMBODY_TYPES=z;const $=n.FLIPPED_ALIAS_KEYS.EnumMember;r.ENUMMEMBER_TYPES=$;const H=n.FLIPPED_ALIAS_KEYS.JSX;r.JSX_TYPES=H;const q=n.FLIPPED_ALIAS_KEYS.Private;r.PRIVATE_TYPES=q;const W=n.FLIPPED_ALIAS_KEYS.TSTypeElement;r.TSTYPEELEMENT_TYPES=W;const K=n.FLIPPED_ALIAS_KEYS.TSType;r.TSTYPE_TYPES=K},{"../../definitions":37}],21:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.NOT_LOCAL_BINDING=r.BLOCK_SCOPED_SYMBOL=r.INHERIT_KEYS=r.UNARY_OPERATORS=r.STRING_UNARY_OPERATORS=r.NUMBER_UNARY_OPERATORS=r.BOOLEAN_UNARY_OPERATORS=r.BINARY_OPERATORS=r.NUMBER_BINARY_OPERATORS=r.BOOLEAN_BINARY_OPERATORS=r.COMPARISON_BINARY_OPERATORS=r.EQUALITY_BINARY_OPERATORS=r.BOOLEAN_NUMBER_BINARY_OPERATORS=r.UPDATE_OPERATORS=r.LOGICAL_OPERATORS=r.COMMENT_KEYS=r.FOR_INIT_KEYS=r.FLATTENABLE_KEYS=r.STATEMENT_OR_BLOCK_KEYS=void 0;r.STATEMENT_OR_BLOCK_KEYS=["consequent","body","alternate"];r.FLATTENABLE_KEYS=["body","expressions"];r.FOR_INIT_KEYS=["left","init"];r.COMMENT_KEYS=["leadingComments","trailingComments","innerComments"];r.LOGICAL_OPERATORS=["||","&&","??"];r.UPDATE_OPERATORS=["++","--"];const n=[">","<",">=","<="];r.BOOLEAN_NUMBER_BINARY_OPERATORS=n;const i=["==","===","!=","!=="];r.EQUALITY_BINARY_OPERATORS=i;const s=[...i,"in","instanceof"];r.COMPARISON_BINARY_OPERATORS=s;const a=[...s,...n];r.BOOLEAN_BINARY_OPERATORS=a;const o=["-","/","%","*","**","&","|",">>",">>>","<<","^"];r.NUMBER_BINARY_OPERATORS=o;const u=["+",...o,...a];r.BINARY_OPERATORS=u;const l=["delete","!"];r.BOOLEAN_UNARY_OPERATORS=l;const c=["+","-","~"];r.NUMBER_UNARY_OPERATORS=c;const h=["typeof"];r.STRING_UNARY_OPERATORS=h;const p=["void","throw",...l,...c,...h];r.UNARY_OPERATORS=p;r.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]};const f=Symbol.for("var used to be block scoped");r.BLOCK_SCOPED_SYMBOL=f;const d=Symbol.for("should not be considered a local binding");r.NOT_LOCAL_BINDING=d},{}],22:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t="body"){return e[t]=(0,i.default)(e[t],e)};var n,i=(n=e("./toBlock"))&&n.__esModule?n:{default:n}},{"./toBlock":25}],23:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function e(t,r,o){const u=[];let l=!0;for(const c of t)if(l=!1,(0,i.isExpression)(c))u.push(c);else if((0,i.isExpressionStatement)(c))u.push(c.expression);else if((0,i.isVariableDeclaration)(c)){if("var"!==c.kind)return;for(const e of c.declarations){const t=(0,n.default)(e);for(const e of Object.keys(t))o.push({kind:c.kind,id:(0,a.default)(t[e])});e.init&&u.push((0,s.assignmentExpression)("=",e.id,e.init))}l=!0}else if((0,i.isIfStatement)(c)){const t=c.consequent?e([c.consequent],r,o):r.buildUndefinedNode(),n=c.alternate?e([c.alternate],r,o):r.buildUndefinedNode();if(!t||!n)return;u.push((0,s.conditionalExpression)(c.test,t,n))}else if((0,i.isBlockStatement)(c)){const t=e(c.body,r,o);if(!t)return;u.push(t)}else{if(!(0,i.isEmptyStatement)(c))return;l=!0}l&&u.push(r.buildUndefinedNode());return 1===u.length?u[0]:(0,s.sequenceExpression)(u)};var n=o(e("../retrievers/getBindingIdentifiers")),i=e("../validators/generated"),s=e("../builders/generated"),a=o(e("../clone/cloneNode"));function o(e){return e&&e.__esModule?e:{default:e}}},{"../builders/generated":7,"../clone/cloneNode":11,"../retrievers/getBindingIdentifiers":50,"../validators/generated":58}],24:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){"eval"!==(e=(0,i.default)(e))&&"arguments"!==e||(e="_"+e);return e};var n,i=(n=e("./toIdentifier"))&&n.__esModule?n:{default:n}},{"./toIdentifier":28}],25:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,n.isBlockStatement)(e))return e;let r=[];(0,n.isEmptyStatement)(e)?r=[]:((0,n.isStatement)(e)||(e=(0,n.isFunction)(t)?(0,i.returnStatement)(e):(0,i.expressionStatement)(e)),r=[e]);return(0,i.blockStatement)(r)};var n=e("../validators/generated"),i=e("../builders/generated")},{"../builders/generated":7,"../validators/generated":58}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t=e.key||e.property){!e.computed&&(0,n.isIdentifier)(t)&&(t=(0,i.stringLiteral)(t.name));return t};var n=e("../validators/generated"),i=e("../builders/generated")},{"../builders/generated":7,"../validators/generated":58}],27:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){(0,n.isExpressionStatement)(e)&&(e=e.expression);if((0,n.isExpression)(e))return e;(0,n.isClass)(e)?e.type="ClassExpression":(0,n.isFunction)(e)&&(e.type="FunctionExpression");if(!(0,n.isExpression)(e))throw new Error(`cannot turn ${e.type} to an expression`);return e};var n=e("../validators/generated")},{"../validators/generated":58}],28:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){e=(e=(e=(e+="").replace(/[^a-zA-Z0-9$_]/g,"-")).replace(/^[-0-9]+/,"")).replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),(0,i.default)(e)||(e=`_${e}`);return e||"_"};var n,i=(n=e("../validators/isValidIdentifier"))&&n.__esModule?n:{default:n}},{"../validators/isValidIdentifier":72}],29:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=o;var n=e("../validators/generated"),i=a(e("../clone/cloneNode")),s=a(e("../modifications/removePropertiesDeep"));function a(e){return e&&e.__esModule?e:{default:e}}function o(e,t=e.key){let r;return"method"===e.kind?o.increment()+"":(r=(0,n.isIdentifier)(t)?t.name:(0,n.isStringLiteral)(t)?JSON.stringify(t.value):JSON.stringify((0,s.default)((0,i.default)(t))),e.computed&&(r=`[${r}]`),e.static&&(r=`static:${r}`),r)}o.uid=0,o.increment=function(){return o.uid>=Number.MAX_SAFE_INTEGER?o.uid=0:o.uid++}},{"../clone/cloneNode":11,"../modifications/removePropertiesDeep":49,"../validators/generated":58}],30:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if(!e||!e.length)return;const r=[],n=(0,i.default)(e,t,r);if(!n)return;for(const e of r)t.push(e);return n};var n,i=(n=e("./gatherSequenceExpressions"))&&n.__esModule?n:{default:n}},{"./gatherSequenceExpressions":23}],31:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if((0,n.isStatement)(e))return e;let r,s=!1;if((0,n.isClass)(e))s=!0,r="ClassDeclaration";else if((0,n.isFunction)(e))s=!0,r="FunctionDeclaration";else if((0,n.isAssignmentExpression)(e))return(0,i.expressionStatement)(e);s&&!e.id&&(r=!1);if(!r){if(t)return!1;throw new Error(`cannot turn ${e.type} to a statement`)}return e.type=r,e};var n=e("../validators/generated"),i=e("../builders/generated")},{"../builders/generated":7,"../validators/generated":58}],32:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function e(t){if(void 0===t)return(0,a.identifier)("undefined");if(!0===t||!1===t)return(0,a.booleanLiteral)(t);if(null===t)return(0,a.nullLiteral)();if("string"==typeof t)return(0,a.stringLiteral)(t);if("number"==typeof t){let e;if(Number.isFinite(t))e=(0,a.numericLiteral)(Math.abs(t));else{let r;r=Number.isNaN(t)?(0,a.numericLiteral)(0):(0,a.numericLiteral)(1),e=(0,a.binaryExpression)("/",r,(0,a.numericLiteral)(0))}return(t<0||Object.is(t,-0))&&(e=(0,a.unaryExpression)("-",e)),e}if((0,i.default)(t)){const e=t.source,r=t.toString().match(/\/([a-z]+|)$/)[1];return(0,a.regExpLiteral)(e,r)}if(Array.isArray(t))return(0,a.arrayExpression)(t.map(e));if((0,n.default)(t)){const r=[];for(const n of Object.keys(t)){let i;i=(0,s.default)(n)?(0,a.identifier)(n):(0,a.stringLiteral)(n),r.push((0,a.objectProperty)(i,e(t[n])))}return(0,a.objectExpression)(r)}throw new Error("don't know how to turn this value into a node")};var n=o(e("lodash/isPlainObject")),i=o(e("lodash/isRegExp")),s=o(e("../validators/isValidIdentifier")),a=e("../builders/generated");function o(e){return e&&e.__esModule?e:{default:e}}},{"../builders/generated":7,"../validators/isValidIdentifier":72,"lodash/isPlainObject":580,"lodash/isRegExp":581}],33:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.patternLikeCommon=r.functionDeclarationCommon=r.functionTypeAnnotationCommon=r.functionCommon=void 0;var n,i=(n=e("../validators/isValidIdentifier"))&&n.__esModule?n:{default:n},s=e("../constants"),a=function(e){if(e&&e.__esModule)return e;var t=o();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}}r.default=e,t&&t.set(e,r);return r}(e("./utils"));function o(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return o=function(){return e},e}(0,a.default)("ArrayExpression",{fields:{elements:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeOrValueType)("null","Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,a.default)("AssignmentExpression",{fields:{operator:{validate:(0,a.assertValueType)("string")},left:{validate:(0,a.assertNodeType)("LVal")},right:{validate:(0,a.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),(0,a.default)("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:(0,a.assertOneOf)(...s.BINARY_OPERATORS)},left:{validate:(0,a.assertNodeType)("Expression")},right:{validate:(0,a.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),(0,a.default)("InterpreterDirective",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("string")}}}),(0,a.default)("Directive",{visitor:["value"],fields:{value:{validate:(0,a.assertNodeType)("DirectiveLiteral")}}}),(0,a.default)("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("string")}}}),(0,a.default)("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Directive"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),(0,a.default)("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,a.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,a.default)("CallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments"],aliases:["Expression"],fields:{callee:{validate:(0,a.assertNodeType)("Expression","V8IntrinsicIdentifier")},arguments:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression","SpreadElement","JSXNamespacedName","ArgumentPlaceholder")))},optional:{validate:(0,a.assertOneOf)(!0,!1),optional:!0},typeArguments:{validate:(0,a.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,a.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}}}),(0,a.default)("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,a.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,a.assertNodeType)("BlockStatement")}},aliases:["Scopable","BlockParent"]}),(0,a.default)("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},consequent:{validate:(0,a.assertNodeType)("Expression")},alternate:{validate:(0,a.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),(0,a.default)("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,a.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,a.default)("DebuggerStatement",{aliases:["Statement"]}),(0,a.default)("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),(0,a.default)("EmptyStatement",{aliases:["Statement"]}),(0,a.default)("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,a.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),(0,a.default)("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,a.assertNodeType)("Program")}}}),(0,a.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,a.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,a.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,a.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,a.assertNodeType)("Expression"),optional:!0},update:{validate:(0,a.assertNodeType)("Expression"),optional:!0},body:{validate:(0,a.assertNodeType)("Statement")}}});const u={params:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Identifier","Pattern","RestElement","TSParameterProperty")))},generator:{default:!1,validate:(0,a.assertValueType)("boolean")},async:{validate:(0,a.assertValueType)("boolean"),default:!1}};r.functionCommon=u;const l={returnType:{validate:(0,a.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,a.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0}};r.functionTypeAnnotationCommon=l;const c=Object.assign({},u,{declare:{validate:(0,a.assertValueType)("boolean"),optional:!0},id:{validate:(0,a.assertNodeType)("Identifier"),optional:!0}});r.functionDeclarationCommon=c,(0,a.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:Object.assign({},c,{},l,{body:{validate:(0,a.assertNodeType)("BlockStatement")}}),aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"]}),(0,a.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},u,{},l,{id:{validate:(0,a.assertNodeType)("Identifier"),optional:!0},body:{validate:(0,a.assertNodeType)("BlockStatement")}})});const h={typeAnnotation:{validate:(0,a.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))}};r.patternLikeCommon=h,(0,a.default)("Identifier",{builder:["name"],visitor:["typeAnnotation","decorators"],aliases:["Expression","PatternLike","LVal","TSEntityName"],fields:Object.assign({},h,{name:{validate:(0,a.chain)(function(e,t,r){(0,i.default)(r)},(0,a.assertValueType)("string"))},optional:{validate:(0,a.assertValueType)("boolean"),optional:!0}})}),(0,a.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},consequent:{validate:(0,a.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,a.assertNodeType)("Statement")}}}),(0,a.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,a.assertNodeType)("Identifier")},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,a.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,a.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,a.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Literal"],fields:{pattern:{validate:(0,a.assertValueType)("string")},flags:{validate:(0,a.assertValueType)("string"),default:""}}}),(0,a.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:(0,a.assertOneOf)(...s.LOGICAL_OPERATORS)},left:{validate:(0,a.assertNodeType)("Expression")},right:{validate:(0,a.assertNodeType)("Expression")}}}),(0,a.default)("MemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression","LVal"],fields:{object:{validate:(0,a.assertNodeType)("Expression")},property:{validate:function(){const e=(0,a.assertNodeType)("Identifier","PrivateName"),t=(0,a.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}()},computed:{default:!1},optional:{validate:(0,a.assertOneOf)(!0,!1),optional:!0}}}),(0,a.default)("NewExpression",{inherits:"CallExpression"}),(0,a.default)("Program",{visitor:["directives","body"],builder:["body","directives","sourceType","interpreter"],fields:{sourceFile:{validate:(0,a.assertValueType)("string")},sourceType:{validate:(0,a.assertOneOf)("script","module"),default:"script"},interpreter:{validate:(0,a.assertNodeType)("InterpreterDirective"),default:null,optional:!0},directives:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Directive"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block"]}),(0,a.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("ObjectMethod","ObjectProperty","SpreadElement")))}}}),(0,a.default)("ObjectMethod",{builder:["kind","key","params","body","computed"],fields:Object.assign({},u,{},l,{kind:{validate:(0,a.chain)((0,a.assertValueType)("string"),(0,a.assertOneOf)("method","get","set")),default:"method"},computed:{validate:(0,a.assertValueType)("boolean"),default:!1},key:{validate:function(){const e=(0,a.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,a.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}()},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))},body:{validate:(0,a.assertNodeType)("BlockStatement")}}),visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,a.default)("ObjectProperty",{builder:["key","value","computed","shorthand","decorators"],fields:{computed:{validate:(0,a.assertValueType)("boolean"),default:!1},key:{validate:function(){const e=(0,a.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,a.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}()},value:{validate:(0,a.assertNodeType)("Expression","PatternLike")},shorthand:{validate:(0,a.assertValueType)("boolean"),default:!1},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"]}),(0,a.default)("RestElement",{visitor:["argument","typeAnnotation"],builder:["argument"],aliases:["LVal","PatternLike"],deprecatedAlias:"RestProperty",fields:Object.assign({},h,{argument:{validate:(0,a.assertNodeType)("LVal")}})}),(0,a.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,a.assertNodeType)("Expression"),optional:!0}}}),(0,a.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,a.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,a.assertNodeType)("Expression")}}}),(0,a.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,a.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}}}),(0,a.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,a.assertNodeType)("Expression")},cases:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("SwitchCase")))}}}),(0,a.default)("ThisExpression",{aliases:["Expression"]}),(0,a.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,a.assertNodeType)("Expression")}}}),(0,a.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{block:{validate:(0,a.assertNodeType)("BlockStatement")},handler:{optional:!0,validate:(0,a.assertNodeType)("CatchClause")},finalizer:{optional:!0,validate:(0,a.assertNodeType)("BlockStatement")}}}),(0,a.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,a.assertNodeType)("Expression")},operator:{validate:(0,a.assertOneOf)(...s.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,a.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:(0,a.assertNodeType)("Expression")},operator:{validate:(0,a.assertOneOf)(...s.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,a.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{declare:{validate:(0,a.assertValueType)("boolean"),optional:!0},kind:{validate:(0,a.chain)((0,a.assertValueType)("string"),(0,a.assertOneOf)("var","let","const"))},declarations:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("VariableDeclarator")))}}}),(0,a.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:(0,a.assertNodeType)("LVal")},definite:{optional:!0,validate:(0,a.assertValueType)("boolean")},init:{optional:!0,validate:(0,a.assertNodeType)("Expression")}}}),(0,a.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("BlockStatement","Statement")}}}),(0,a.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("BlockStatement","Statement")}}})},{"../constants":21,"../validators/isValidIdentifier":72,"./utils":42}],34:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.classMethodOrDeclareMethodCommon=r.classMethodOrPropertyCommon=void 0;var n=function(e){if(e&&e.__esModule)return e;var t=s();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}}r.default=e,t&&t.set(e,r);return r}(e("./utils")),i=e("./core");function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}(0,n.default)("AssignmentPattern",{visitor:["left","right","decorators"],builder:["left","right"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},i.patternLikeCommon,{left:{validate:(0,n.assertNodeType)("Identifier","ObjectPattern","ArrayPattern","MemberExpression")},right:{validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}})}),(0,n.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],builder:["elements"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},i.patternLikeCommon,{elements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("PatternLike")))},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator")))}})}),(0,n.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:Object.assign({},i.functionCommon,{},i.functionTypeAnnotationCommon,{expression:{validate:(0,n.assertValueType)("boolean")},body:{validate:(0,n.assertNodeType)("BlockStatement","Expression")}})}),(0,n.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ClassMethod","ClassPrivateMethod","ClassProperty","ClassPrivateProperty","TSDeclareMethod","TSIndexSignature")))}}});const a={typeParameters:{validate:(0,n.assertNodeType)("TypeParameterDeclaration","TSTypeParameterDeclaration","Noop"),optional:!0},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},superTypeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0},implements:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSExpressionWithTypeArguments","ClassImplements"))),optional:!0}};(0,n.default)("ClassDeclaration",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Statement","Declaration","Pureish"],fields:Object.assign({},a,{declare:{validate:(0,n.assertValueType)("boolean"),optional:!0},abstract:{validate:(0,n.assertValueType)("boolean"),optional:!0},id:{validate:(0,n.assertNodeType)("Identifier"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}})}),(0,n.default)("ClassExpression",{inherits:"ClassDeclaration",aliases:["Scopable","Class","Expression","Pureish"],fields:Object.assign({},a,{id:{optional:!0,validate:(0,n.assertNodeType)("Identifier")},body:{validate:(0,n.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,n.assertNodeType)("Expression")},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}})}),(0,n.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,n.assertNodeType)("StringLiteral")}}}),(0,n.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,n.assertNodeType)("FunctionDeclaration","TSDeclareFunction","ClassDeclaration","Expression")}}}),(0,n.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,n.assertNodeType)("Declaration"),optional:!0},specifiers:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ExportSpecifier","ExportDefaultSpecifier","ExportNamespaceSpecifier")))},source:{validate:(0,n.assertNodeType)("StringLiteral"),optional:!0},exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value"))}}),(0,n.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("ForOfStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,n.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,n.assertNodeType)("Expression")},body:{validate:(0,n.assertNodeType)("Statement")},await:{default:!1,validate:(0,n.assertValueType)("boolean")}}}),(0,n.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{specifiers:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,n.assertNodeType)("StringLiteral")},importKind:{validate:(0,n.assertOneOf)("type","typeof","value"),optional:!0}}}),(0,n.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,n.assertNodeType)("Identifier")},imported:{validate:(0,n.assertNodeType)("Identifier")},importKind:{validate:(0,n.assertOneOf)("type","typeof"),optional:!0}}}),(0,n.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,n.assertNodeType)("Identifier")},property:{validate:(0,n.assertNodeType)("Identifier")}}});const o={abstract:{validate:(0,n.assertValueType)("boolean"),optional:!0},accessibility:{validate:(0,n.chain)((0,n.assertValueType)("string"),(0,n.assertOneOf)("public","private","protected")),optional:!0},static:{default:!1,validate:(0,n.assertValueType)("boolean")},computed:{default:!1,validate:(0,n.assertValueType)("boolean")},optional:{validate:(0,n.assertValueType)("boolean"),optional:!0},key:{validate:(0,n.chain)(function(){const e=(0,n.assertNodeType)("Identifier","StringLiteral","NumericLiteral"),t=(0,n.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}(),(0,n.assertNodeType)("Identifier","StringLiteral","NumericLiteral","Expression"))}};r.classMethodOrPropertyCommon=o;const u=Object.assign({},i.functionCommon,{},o,{kind:{validate:(0,n.chain)((0,n.assertValueType)("string"),(0,n.assertOneOf)("get","set","method","constructor")),default:"method"},access:{validate:(0,n.chain)((0,n.assertValueType)("string"),(0,n.assertOneOf)("public","private","protected")),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}});r.classMethodOrDeclareMethodCommon=u,(0,n.default)("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:Object.assign({},u,{},i.functionTypeAnnotationCommon,{body:{validate:(0,n.assertNodeType)("BlockStatement")}})}),(0,n.default)("ObjectPattern",{visitor:["properties","typeAnnotation","decorators"],builder:["properties"],aliases:["Pattern","PatternLike","LVal"],fields:Object.assign({},i.patternLikeCommon,{properties:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("RestElement","ObjectProperty")))}})}),(0,n.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],deprecatedAlias:"SpreadProperty",fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("Super",{aliases:["Expression"]}),(0,n.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,n.assertNodeType)("Expression")},quasi:{validate:(0,n.assertNodeType)("TemplateLiteral")},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,n.default)("TemplateElement",{builder:["value","tail"],fields:{value:{validate:(0,n.assertShape)({raw:{validate:(0,n.assertValueType)("string")},cooked:{validate:(0,n.assertValueType)("string"),optional:!0}})},tail:{validate:(0,n.assertValueType)("boolean"),default:!1}}}),(0,n.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TemplateElement")))},expressions:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression")),function(e,t,r){if(e.quasis.length!==r.length+1)throw new TypeError(`Number of ${e.type} quasis should be exactly one more than the number of expressions.\nExpected ${r.length+1} quasis but got ${e.quasis.length}`)})}}}),(0,n.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,n.assertValueType)("boolean"),default:!1},argument:{optional:!0,validate:(0,n.assertNodeType)("Expression")}}})},{"./core":33,"./utils":42}],35:[function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;var t=s();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}}r.default=e,t&&t.set(e,r);return r}(e("./utils")),i=e("./es2015");function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}(0,n.default)("ArgumentPlaceholder",{}),(0,n.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{}}),(0,n.default)("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed","static"],aliases:["Property"],fields:Object.assign({},i.classMethodOrPropertyCommon,{value:{validate:(0,n.assertNodeType)("Expression"),optional:!0},definite:{validate:(0,n.assertValueType)("boolean"),optional:!0},typeAnnotation:{validate:(0,n.assertNodeType)("TypeAnnotation","TSTypeAnnotation","Noop"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0},readonly:{validate:(0,n.assertValueType)("boolean"),optional:!0},declare:{validate:(0,n.assertValueType)("boolean"),optional:!0}})}),(0,n.default)("OptionalMemberExpression",{builder:["object","property","computed","optional"],visitor:["object","property"],aliases:["Expression"],fields:{object:{validate:(0,n.assertNodeType)("Expression")},property:{validate:function(){const e=(0,n.assertNodeType)("Identifier"),t=(0,n.assertNodeType)("Expression");return function(r,n,i){(r.computed?t:e)(r,n,i)}}()},computed:{default:!1},optional:{validate:(0,n.assertValueType)("boolean")}}}),(0,n.default)("PipelineTopicExpression",{builder:["expression"],visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("PipelineBareFunction",{builder:["callee"],visitor:["callee"],fields:{callee:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("PipelinePrimaryTopicReference",{aliases:["Expression"]}),(0,n.default)("OptionalCallExpression",{visitor:["callee","arguments","typeParameters","typeArguments"],builder:["callee","arguments","optional"],aliases:["Expression"],fields:{callee:{validate:(0,n.assertNodeType)("Expression")},arguments:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Expression","SpreadElement","JSXNamespacedName")))},optional:{validate:(0,n.assertValueType)("boolean")},typeArguments:{validate:(0,n.assertNodeType)("TypeParameterInstantiation"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TSTypeParameterInstantiation"),optional:!0}}}),(0,n.default)("ClassPrivateProperty",{visitor:["key","value","decorators"],builder:["key","value","decorators"],aliases:["Property","Private"],fields:{key:{validate:(0,n.assertNodeType)("PrivateName")},value:{validate:(0,n.assertNodeType)("Expression"),optional:!0},decorators:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("Decorator"))),optional:!0}}}),(0,n.default)("ClassPrivateMethod",{builder:["kind","key","params","body","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["Function","Scopable","BlockParent","FunctionParent","Method","Private"],fields:Object.assign({},i.classMethodOrDeclareMethodCommon,{key:{validate:(0,n.assertNodeType)("PrivateName")},body:{validate:(0,n.assertNodeType)("BlockStatement")}})}),(0,n.default)("Import",{aliases:["Expression"]}),(0,n.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("DoExpression",{visitor:["body"],aliases:["Expression"],fields:{body:{validate:(0,n.assertNodeType)("BlockStatement")}}}),(0,n.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("PrivateName",{visitor:["id"],aliases:["Private"],fields:{id:{validate:(0,n.assertNodeType)("Identifier")}}}),(0,n.default)("BigIntLiteral",{builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]})},{"./es2015":34,"./utils":42}],36:[function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;var t=i();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}}r.default=e,t&&t.set(e,r);return r}(e("./utils"));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}const s=(e,t="TypeParameterDeclaration")=>{(0,n.default)(e,{builder:["id","typeParameters","extends","body"],visitor:["id","typeParameters","extends","mixins","implements","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)(t),extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),mixins:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),implements:(0,n.validateOptional)((0,n.arrayOfType)("ClassImplements")),body:(0,n.validateType)("ObjectTypeAnnotation")}})};(0,n.default)("AnyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["Flow","FlowType"],fields:{elementType:(0,n.validateType)("FlowType")}}),(0,n.default)("BooleanTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("BooleanLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("NullLiteralTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ClassImplements",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),s("DeclareClass"),(0,n.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),predicate:(0,n.validateOptionalType)("DeclaredPredicate")}}),s("DeclareInterface"),(0,n.default)("DeclareModule",{builder:["id","body","kind"],visitor:["id","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)(["Identifier","StringLiteral"]),body:(0,n.validateType)("BlockStatement"),kind:(0,n.validateOptional)((0,n.assertOneOf)("CommonJS","ES"))}}),(0,n.default)("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),(0,n.default)("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),(0,n.default)("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType")}}),(0,n.default)("DeclareVariable",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier")}}),(0,n.default)("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{declaration:(0,n.validateOptionalType)("Flow"),specifiers:(0,n.validateOptional)((0,n.arrayOfType)(["ExportSpecifier","ExportNamespaceSpecifier"])),source:(0,n.validateOptionalType)("StringLiteral"),default:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("DeclareExportAllDeclaration",{visitor:["source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{source:(0,n.validateType)("StringLiteral"),exportKind:(0,n.validateOptional)((0,n.assertOneOf)("type","value"))}}),(0,n.default)("DeclaredPredicate",{visitor:["value"],aliases:["Flow","FlowPredicate"],fields:{value:(0,n.validateType)("Flow")}}),(0,n.default)("ExistsTypeAnnotation",{aliases:["Flow","FlowType"]}),(0,n.default)("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["Flow","FlowType"],fields:{typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),params:(0,n.validate)((0,n.arrayOfType)("FunctionTypeParam")),rest:(0,n.validateOptionalType)("FunctionTypeParam"),returnType:(0,n.validateType)("FlowType")}}),(0,n.default)("FunctionTypeParam",{visitor:["name","typeAnnotation"],aliases:["Flow"],fields:{name:(0,n.validateOptionalType)("Identifier"),typeAnnotation:(0,n.validateType)("FlowType"),optional:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["Flow","FlowType"],fields:{id:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),(0,n.default)("InferredPredicate",{aliases:["Flow","FlowPredicate"]}),(0,n.default)("InterfaceExtends",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{id:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"]),typeParameters:(0,n.validateOptionalType)("TypeParameterInstantiation")}}),s("InterfaceDeclaration"),(0,n.default)("InterfaceTypeAnnotation",{visitor:["extends","body"],aliases:["Flow","FlowType"],fields:{extends:(0,n.validateOptional)((0,n.arrayOfType)("InterfaceExtends")),body:(0,n.validateType)("ObjectTypeAnnotation")}}),(0,n.default)("IntersectionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("MixedTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("EmptyTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow","FlowType"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),(0,n.default)("NumberLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("number"))}}),(0,n.default)("NumberTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties","internalSlots"],aliases:["Flow","FlowType"],builder:["properties","indexers","callProperties","internalSlots","exact"],fields:{properties:(0,n.validate)((0,n.arrayOfType)(["ObjectTypeProperty","ObjectTypeSpreadProperty"])),indexers:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeIndexer")),callProperties:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeCallProperty")),internalSlots:(0,n.validateOptional)((0,n.arrayOfType)("ObjectTypeInternalSlot")),exact:{validate:(0,n.assertValueType)("boolean"),default:!1},inexact:(0,n.validateOptional)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeInternalSlot",{visitor:["id","value","optional","static","method"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,n.validateType)("Identifier"),value:(0,n.validateType)("FlowType"),optional:(0,n.validate)((0,n.assertValueType)("boolean")),static:(0,n.validate)((0,n.assertValueType)("boolean")),method:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeCallProperty",{visitor:["value"],aliases:["Flow","UserWhitespacable"],fields:{value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean"))}}),(0,n.default)("ObjectTypeIndexer",{visitor:["id","key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{id:(0,n.validateOptionalType)("Identifier"),key:(0,n.validateType)("FlowType"),value:(0,n.validateType)("FlowType"),static:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("ObjectTypeProperty",{visitor:["key","value","variance"],aliases:["Flow","UserWhitespacable"],fields:{key:(0,n.validateType)(["Identifier","StringLiteral"]),value:(0,n.validateType)("FlowType"),kind:(0,n.validate)((0,n.assertOneOf)("init","get","set")),static:(0,n.validate)((0,n.assertValueType)("boolean")),proto:(0,n.validate)((0,n.assertValueType)("boolean")),optional:(0,n.validate)((0,n.assertValueType)("boolean")),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["Flow","UserWhitespacable"],fields:{argument:(0,n.validateType)("FlowType")}}),(0,n.default)("OpaqueType",{visitor:["id","typeParameters","supertype","impltype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),supertype:(0,n.validateOptionalType)("FlowType"),impltype:(0,n.validateType)("FlowType")}}),(0,n.default)("QualifiedTypeIdentifier",{visitor:["id","qualification"],aliases:["Flow"],fields:{id:(0,n.validateType)("Identifier"),qualification:(0,n.validateType)(["Identifier","QualifiedTypeIdentifier"])}}),(0,n.default)("StringLiteralTypeAnnotation",{builder:["value"],aliases:["Flow","FlowType"],fields:{value:(0,n.validate)((0,n.assertValueType)("string"))}}),(0,n.default)("StringTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("ThisTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("TupleTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("TypeofTypeAnnotation",{visitor:["argument"],aliases:["Flow","FlowType"],fields:{argument:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TypeParameterDeclaration"),right:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeAnnotation",{aliases:["Flow"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("FlowType")}}),(0,n.default)("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["Flow","ExpressionWrapper","Expression"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TypeAnnotation")}}),(0,n.default)("TypeParameter",{aliases:["Flow"],visitor:["bound","default","variance"],fields:{name:(0,n.validate)((0,n.assertValueType)("string")),bound:(0,n.validateOptionalType)("TypeAnnotation"),default:(0,n.validateOptionalType)("FlowType"),variance:(0,n.validateOptionalType)("Variance")}}),(0,n.default)("TypeParameterDeclaration",{aliases:["Flow"],visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("TypeParameter"))}}),(0,n.default)("TypeParameterInstantiation",{aliases:["Flow"],visitor:["params"],fields:{params:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("UnionTypeAnnotation",{visitor:["types"],aliases:["Flow","FlowType"],fields:{types:(0,n.validate)((0,n.arrayOfType)("FlowType"))}}),(0,n.default)("Variance",{aliases:["Flow"],builder:["kind"],fields:{kind:(0,n.validate)((0,n.assertOneOf)("minus","plus"))}}),(0,n.default)("VoidTypeAnnotation",{aliases:["Flow","FlowType","FlowBaseAnnotation"]}),(0,n.default)("EnumDeclaration",{alises:["Declaration"],visitor:["id","body"],fields:{id:(0,n.validateType)("Identifier"),body:(0,n.validateType)(["EnumBooleanBody","EnumNumberBody","EnumStringBody","EnumSymbolBody"])}}),(0,n.default)("EnumBooleanBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicit:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumBooleanMember")}}),(0,n.default)("EnumNumberBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicit:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)("EnumNumberMember")}}),(0,n.default)("EnumStringBody",{aliases:["EnumBody"],visitor:["members"],fields:{explicit:(0,n.validate)((0,n.assertValueType)("boolean")),members:(0,n.validateArrayOfType)(["EnumStringMember","EnumDefaultedMember"])}}),(0,n.default)("EnumSymbolBody",{aliases:["EnumBody"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("EnumDefaultedMember")}}),(0,n.default)("EnumBooleanMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("BooleanLiteral")}}),(0,n.default)("EnumNumberMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("NumericLiteral")}}),(0,n.default)("EnumStringMember",{aliases:["EnumMember"],visitor:["id","init"],fields:{id:(0,n.validateType)("Identifier"),init:(0,n.validateType)("StringLiteral")}}),(0,n.default)("EnumDefaultedMember",{aliases:["EnumMember"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}})},{"./utils":42}],37:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"VISITOR_KEYS",{enumerable:!0,get:function(){return s.VISITOR_KEYS}}),Object.defineProperty(r,"ALIAS_KEYS",{enumerable:!0,get:function(){return s.ALIAS_KEYS}}),Object.defineProperty(r,"FLIPPED_ALIAS_KEYS",{enumerable:!0,get:function(){return s.FLIPPED_ALIAS_KEYS}}),Object.defineProperty(r,"NODE_FIELDS",{enumerable:!0,get:function(){return s.NODE_FIELDS}}),Object.defineProperty(r,"BUILDER_KEYS",{enumerable:!0,get:function(){return s.BUILDER_KEYS}}),Object.defineProperty(r,"DEPRECATED_KEYS",{enumerable:!0,get:function(){return s.DEPRECATED_KEYS}}),Object.defineProperty(r,"PLACEHOLDERS",{enumerable:!0,get:function(){return a.PLACEHOLDERS}}),Object.defineProperty(r,"PLACEHOLDERS_ALIAS",{enumerable:!0,get:function(){return a.PLACEHOLDERS_ALIAS}}),Object.defineProperty(r,"PLACEHOLDERS_FLIPPED_ALIAS",{enumerable:!0,get:function(){return a.PLACEHOLDERS_FLIPPED_ALIAS}}),r.TYPES=void 0;var n,i=(n=e("to-fast-properties"))&&n.__esModule?n:{default:n};e("./core"),e("./es2015"),e("./flow"),e("./jsx"),e("./misc"),e("./experimental"),e("./typescript");var s=e("./utils"),a=e("./placeholders");(0,i.default)(s.VISITOR_KEYS),(0,i.default)(s.ALIAS_KEYS),(0,i.default)(s.FLIPPED_ALIAS_KEYS),(0,i.default)(s.NODE_FIELDS),(0,i.default)(s.BUILDER_KEYS),(0,i.default)(s.DEPRECATED_KEYS),(0,i.default)(a.PLACEHOLDERS_ALIAS),(0,i.default)(a.PLACEHOLDERS_FLIPPED_ALIAS);const o=Object.keys(s.VISITOR_KEYS).concat(Object.keys(s.FLIPPED_ALIAS_KEYS)).concat(Object.keys(s.DEPRECATED_KEYS));r.TYPES=o},{"./core":33,"./es2015":34,"./experimental":35,"./flow":36,"./jsx":38,"./misc":39,"./placeholders":40,"./typescript":41,"./utils":42,"to-fast-properties":733}],38:[function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;var t=i();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var a=n?Object.getOwnPropertyDescriptor(e,s):null;a&&(a.get||a.set)?Object.defineProperty(r,s,a):r[s]=e[s]}}r.default=e,t&&t.set(e,r);return r}(e("./utils"));function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}(0,n.default)("JSXAttribute",{visitor:["name","value"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,n.assertNodeType)("JSXElement","JSXFragment","StringLiteral","JSXExpressionContainer")}}}),(0,n.default)("JSXClosingElement",{visitor:["name"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")}}}),(0,n.default)("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["JSX","Immutable","Expression"],fields:{openingElement:{validate:(0,n.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,n.assertNodeType)("JSXClosingElement")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}}),(0,n.default)("JSXEmptyExpression",{aliases:["JSX"]}),(0,n.default)("JSXExpressionContainer",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression","JSXEmptyExpression")}}}),(0,n.default)("JSXSpreadChild",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("JSXIdentifier",{builder:["name"],aliases:["JSX"],fields:{name:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("JSXMemberExpression",{visitor:["object","property"],aliases:["JSX"],fields:{object:{validate:(0,n.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,n.default)("JSXNamespacedName",{visitor:["namespace","name"],aliases:["JSX"],fields:{namespace:{validate:(0,n.assertNodeType)("JSXIdentifier")},name:{validate:(0,n.assertNodeType)("JSXIdentifier")}}}),(0,n.default)("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,n.assertNodeType)("JSXIdentifier","JSXMemberExpression","JSXNamespacedName")},selfClosing:{default:!1,validate:(0,n.assertValueType)("boolean")},attributes:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXAttribute","JSXSpreadAttribute")))},typeParameters:{validate:(0,n.assertNodeType)("TypeParameterInstantiation","TSTypeParameterInstantiation"),optional:!0}}}),(0,n.default)("JSXSpreadAttribute",{visitor:["argument"],aliases:["JSX"],fields:{argument:{validate:(0,n.assertNodeType)("Expression")}}}),(0,n.default)("JSXText",{aliases:["JSX","Immutable"],builder:["value"],fields:{value:{validate:(0,n.assertValueType)("string")}}}),(0,n.default)("JSXFragment",{builder:["openingFragment","closingFragment","children"],visitor:["openingFragment","children","closingFragment"],aliases:["JSX","Immutable","Expression"],fields:{openingFragment:{validate:(0,n.assertNodeType)("JSXOpeningFragment")},closingFragment:{validate:(0,n.assertNodeType)("JSXClosingFragment")},children:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement","JSXFragment")))}}}),(0,n.default)("JSXOpeningFragment",{aliases:["JSX","Immutable"]}),(0,n.default)("JSXClosingFragment",{aliases:["JSX","Immutable"]})},{"./utils":42}],39:[function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;var t=s();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var a=n?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}}r.default=e,t&&t.set(e,r);return r}(e("./utils")),i=e("./placeholders");function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}(0,n.default)("Noop",{visitor:[]}),(0,n.default)("Placeholder",{visitor:[],builder:["expectedNode","name"],fields:{name:{validate:(0,n.assertNodeType)("Identifier")},expectedNode:{validate:(0,n.assertOneOf)(...i.PLACEHOLDERS)}}}),(0,n.default)("V8IntrinsicIdentifier",{builder:["name"],fields:{name:{validate:(0,n.assertValueType)("string")}}})},{"./placeholders":40,"./utils":42}],40:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.PLACEHOLDERS_FLIPPED_ALIAS=r.PLACEHOLDERS_ALIAS=r.PLACEHOLDERS=void 0;var n=e("./utils");const i=["Identifier","StringLiteral","Expression","Statement","Declaration","BlockStatement","ClassBody","Pattern"];r.PLACEHOLDERS=i;const s={Declaration:["Statement"],Pattern:["PatternLike","LVal"]};r.PLACEHOLDERS_ALIAS=s;for(const e of i){const t=n.ALIAS_KEYS[e];t&&t.length&&(s[e]=t)}const a={};r.PLACEHOLDERS_FLIPPED_ALIAS=a,Object.keys(s).forEach(e=>{s[e].forEach(t=>{Object.hasOwnProperty.call(a,t)||(a[t]=[]),a[t].push(e)})})},{"./utils":42}],41:[function(e,t,r){"use strict";var n=function(e){if(e&&e.__esModule)return e;var t=a();if(t&&t.has(e))return t.get(e);var r={};if(null!=e){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var s=n?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}}r.default=e,t&&t.set(e,r);return r}(e("./utils")),i=e("./core"),s=e("./es2015");function a(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return a=function(){return e},e}const o=(0,n.assertValueType)("boolean"),u={returnType:{validate:(0,n.assertNodeType)("TSTypeAnnotation","Noop"),optional:!0},typeParameters:{validate:(0,n.assertNodeType)("TSTypeParameterDeclaration","Noop"),optional:!0}};(0,n.default)("TSParameterProperty",{aliases:["LVal"],visitor:["parameter"],fields:{accessibility:{validate:(0,n.assertOneOf)("public","private","protected"),optional:!0},readonly:{validate:(0,n.assertValueType)("boolean"),optional:!0},parameter:{validate:(0,n.assertNodeType)("Identifier","AssignmentPattern")}}}),(0,n.default)("TSDeclareFunction",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","params","returnType"],fields:Object.assign({},i.functionDeclarationCommon,{},u)}),(0,n.default)("TSDeclareMethod",{visitor:["decorators","key","typeParameters","params","returnType"],fields:Object.assign({},s.classMethodOrDeclareMethodCommon,{},u)}),(0,n.default)("TSQualifiedName",{aliases:["TSEntityName"],visitor:["left","right"],fields:{left:(0,n.validateType)("TSEntityName"),right:(0,n.validateType)("Identifier")}});const l={typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),parameters:(0,n.validateArrayOfType)(["Identifier","RestElement"]),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation")},c={aliases:["TSTypeElement"],visitor:["typeParameters","parameters","typeAnnotation"],fields:l};(0,n.default)("TSCallSignatureDeclaration",c),(0,n.default)("TSConstructSignatureDeclaration",c);const h={key:(0,n.validateType)("Expression"),computed:(0,n.validate)(o),optional:(0,n.validateOptional)(o)};(0,n.default)("TSPropertySignature",{aliases:["TSTypeElement"],visitor:["key","typeAnnotation","initializer"],fields:Object.assign({},h,{readonly:(0,n.validateOptional)(o),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation"),initializer:(0,n.validateOptionalType)("Expression")})}),(0,n.default)("TSMethodSignature",{aliases:["TSTypeElement"],visitor:["key","typeParameters","parameters","typeAnnotation"],fields:Object.assign({},l,{},h)}),(0,n.default)("TSIndexSignature",{aliases:["TSTypeElement"],visitor:["parameters","typeAnnotation"],fields:{readonly:(0,n.validateOptional)(o),parameters:(0,n.validateArrayOfType)("Identifier"),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation")}});const p=["TSAnyKeyword","TSBooleanKeyword","TSBigIntKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword"];for(const e of p)(0,n.default)(e,{aliases:["TSType"],visitor:[],fields:{}});(0,n.default)("TSThisType",{aliases:["TSType"],visitor:[],fields:{}});const f={aliases:["TSType"],visitor:["typeParameters","parameters","typeAnnotation"],fields:l};(0,n.default)("TSFunctionType",f),(0,n.default)("TSConstructorType",f),(0,n.default)("TSTypeReference",{aliases:["TSType"],visitor:["typeName","typeParameters"],fields:{typeName:(0,n.validateType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSTypePredicate",{aliases:["TSType"],visitor:["parameterName","typeAnnotation","asserts"],fields:{parameterName:(0,n.validateType)(["Identifier","TSThisType"]),typeAnnotation:(0,n.validateOptionalType)("TSTypeAnnotation"),asserts:(0,n.validate)(o)}}),(0,n.default)("TSTypeQuery",{aliases:["TSType"],visitor:["exprName"],fields:{exprName:(0,n.validateType)(["TSEntityName","TSImportType"])}}),(0,n.default)("TSTypeLiteral",{aliases:["TSType"],visitor:["members"],fields:{members:(0,n.validateArrayOfType)("TSTypeElement")}}),(0,n.default)("TSArrayType",{aliases:["TSType"],visitor:["elementType"],fields:{elementType:(0,n.validateType)("TSType")}}),(0,n.default)("TSTupleType",{aliases:["TSType"],visitor:["elementTypes"],fields:{elementTypes:(0,n.validateArrayOfType)("TSType")}}),(0,n.default)("TSOptionalType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSRestType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}});const d={aliases:["TSType"],visitor:["types"],fields:{types:(0,n.validateArrayOfType)("TSType")}};(0,n.default)("TSUnionType",d),(0,n.default)("TSIntersectionType",d),(0,n.default)("TSConditionalType",{aliases:["TSType"],visitor:["checkType","extendsType","trueType","falseType"],fields:{checkType:(0,n.validateType)("TSType"),extendsType:(0,n.validateType)("TSType"),trueType:(0,n.validateType)("TSType"),falseType:(0,n.validateType)("TSType")}}),(0,n.default)("TSInferType",{aliases:["TSType"],visitor:["typeParameter"],fields:{typeParameter:(0,n.validateType)("TSTypeParameter")}}),(0,n.default)("TSParenthesizedType",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSTypeOperator",{aliases:["TSType"],visitor:["typeAnnotation"],fields:{operator:(0,n.validate)((0,n.assertValueType)("string")),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSIndexedAccessType",{aliases:["TSType"],visitor:["objectType","indexType"],fields:{objectType:(0,n.validateType)("TSType"),indexType:(0,n.validateType)("TSType")}}),(0,n.default)("TSMappedType",{aliases:["TSType"],visitor:["typeParameter","typeAnnotation"],fields:{readonly:(0,n.validateOptional)(o),typeParameter:(0,n.validateType)("TSTypeParameter"),optional:(0,n.validateOptional)(o),typeAnnotation:(0,n.validateOptionalType)("TSType")}}),(0,n.default)("TSLiteralType",{aliases:["TSType"],visitor:["literal"],fields:{literal:(0,n.validateType)(["NumericLiteral","StringLiteral","BooleanLiteral"])}}),(0,n.default)("TSExpressionWithTypeArguments",{aliases:["TSType"],visitor:["expression","typeParameters"],fields:{expression:(0,n.validateType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSInterfaceDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","extends","body"],fields:{declare:(0,n.validateOptional)(o),id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),extends:(0,n.validateOptional)((0,n.arrayOfType)("TSExpressionWithTypeArguments")),body:(0,n.validateType)("TSInterfaceBody")}}),(0,n.default)("TSInterfaceBody",{visitor:["body"],fields:{body:(0,n.validateArrayOfType)("TSTypeElement")}}),(0,n.default)("TSTypeAliasDeclaration",{aliases:["Statement","Declaration"],visitor:["id","typeParameters","typeAnnotation"],fields:{declare:(0,n.validateOptional)(o),id:(0,n.validateType)("Identifier"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterDeclaration"),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSAsExpression",{aliases:["Expression"],visitor:["expression","typeAnnotation"],fields:{expression:(0,n.validateType)("Expression"),typeAnnotation:(0,n.validateType)("TSType")}}),(0,n.default)("TSTypeAssertion",{aliases:["Expression"],visitor:["typeAnnotation","expression"],fields:{typeAnnotation:(0,n.validateType)("TSType"),expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSEnumDeclaration",{aliases:["Statement","Declaration"],visitor:["id","members"],fields:{declare:(0,n.validateOptional)(o),const:(0,n.validateOptional)(o),id:(0,n.validateType)("Identifier"),members:(0,n.validateArrayOfType)("TSEnumMember"),initializer:(0,n.validateOptionalType)("Expression")}}),(0,n.default)("TSEnumMember",{visitor:["id","initializer"],fields:{id:(0,n.validateType)(["Identifier","StringLiteral"]),initializer:(0,n.validateOptionalType)("Expression")}}),(0,n.default)("TSModuleDeclaration",{aliases:["Statement","Declaration"],visitor:["id","body"],fields:{declare:(0,n.validateOptional)(o),global:(0,n.validateOptional)(o),id:(0,n.validateType)(["Identifier","StringLiteral"]),body:(0,n.validateType)(["TSModuleBlock","TSModuleDeclaration"])}}),(0,n.default)("TSModuleBlock",{aliases:["Scopable","Block","BlockParent"],visitor:["body"],fields:{body:(0,n.validateArrayOfType)("Statement")}}),(0,n.default)("TSImportType",{aliases:["TSType"],visitor:["argument","qualifier","typeParameters"],fields:{argument:(0,n.validateType)("StringLiteral"),qualifier:(0,n.validateOptionalType)("TSEntityName"),typeParameters:(0,n.validateOptionalType)("TSTypeParameterInstantiation")}}),(0,n.default)("TSImportEqualsDeclaration",{aliases:["Statement"],visitor:["id","moduleReference"],fields:{isExport:(0,n.validate)(o),id:(0,n.validateType)("Identifier"),moduleReference:(0,n.validateType)(["TSEntityName","TSExternalModuleReference"])}}),(0,n.default)("TSExternalModuleReference",{visitor:["expression"],fields:{expression:(0,n.validateType)("StringLiteral")}}),(0,n.default)("TSNonNullExpression",{aliases:["Expression"],visitor:["expression"],fields:{expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSExportAssignment",{aliases:["Statement"],visitor:["expression"],fields:{expression:(0,n.validateType)("Expression")}}),(0,n.default)("TSNamespaceExportDeclaration",{aliases:["Statement"],visitor:["id"],fields:{id:(0,n.validateType)("Identifier")}}),(0,n.default)("TSTypeAnnotation",{visitor:["typeAnnotation"],fields:{typeAnnotation:{validate:(0,n.assertNodeType)("TSType")}}}),(0,n.default)("TSTypeParameterInstantiation",{visitor:["params"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSType")))}}}),(0,n.default)("TSTypeParameterDeclaration",{visitor:["params"],fields:{params:{validate:(0,n.chain)((0,n.assertValueType)("array"),(0,n.assertEach)((0,n.assertNodeType)("TSTypeParameter")))}}}),(0,n.default)("TSTypeParameter",{builder:["constraint","default","name"],visitor:["constraint","default"],fields:{name:{validate:(0,n.assertValueType)("string")},constraint:{validate:(0,n.assertNodeType)("TSType"),optional:!0},default:{validate:(0,n.assertNodeType)("TSType"),optional:!0}}})},{"./core":33,"./es2015":34,"./utils":42}],42:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.validate=f,r.typeIs=d,r.validateType=function(e){return f(d(e))},r.validateOptional=function(e){return{validate:e,optional:!0}},r.validateOptionalType=function(e){return{validate:d(e),optional:!0}},r.arrayOf=m,r.arrayOfType=y,r.validateArrayOfType=function(e){return f(y(e))},r.assertEach=g,r.assertOneOf=function(...e){function t(t,r,n){if(e.indexOf(n)<0)throw new TypeError(`Property ${r} expected value to be one of ${JSON.stringify(e)} but got ${JSON.stringify(n)}`)}return t.oneOf=e,t},r.assertNodeType=b,r.assertNodeOrValueType=function(...e){function t(t,r,n){let s=!1;for(const t of e)if(p(n)===t||(0,i.default)(t,n)){s=!0;break}if(!s)throw new TypeError(`Property ${r} of ${t.type} expected node to be of a type ${JSON.stringify(e)} `+`but instead got ${JSON.stringify(n&&n.type)}`)}return t.oneOfNodeOrValueTypes=e,t},r.assertValueType=v,r.assertShape=function(e){function t(t,r,n){const i=[];for(const r of Object.keys(e))try{(0,s.validateField)(t,r,n[r],e[r])}catch(e){if(e instanceof TypeError){i.push(e.message);continue}throw e}if(i.length)throw new TypeError(`Property ${r} of ${t.type} expected to have the following:\n${i.join("\n")}`)}return t.shapeOf=e,t},r.chain=x,r.default=function(e,t={}){const r=t.inherits&&E[t.inherits]||{},n=t.fields||r.fields||{},i=t.visitor||r.visitor||[],s=t.aliases||r.aliases||[],f=t.builder||r.builder||t.visitor||[];t.deprecatedAlias&&(h[t.deprecatedAlias]=e);for(const e of i.concat(f))n[e]=n[e]||{};for(const e of Object.keys(n)){const t=n[e];-1===f.indexOf(e)&&(t.optional=!0),void 0===t.default?t.default=null:t.validate||(t.validate=v(p(t.default)))}a[e]=t.visitor=i,c[e]=t.builder=f,l[e]=t.fields=n,o[e]=t.aliases=s,s.forEach(t=>{u[t]=u[t]||[],u[t].push(e)}),E[e]=t},r.DEPRECATED_KEYS=r.BUILDER_KEYS=r.NODE_FIELDS=r.FLIPPED_ALIAS_KEYS=r.ALIAS_KEYS=r.VISITOR_KEYS=void 0;var n,i=(n=e("../validators/is"))&&n.__esModule?n:{default:n},s=e("../validators/validate");const a={};r.VISITOR_KEYS=a;const o={};r.ALIAS_KEYS=o;const u={};r.FLIPPED_ALIAS_KEYS=u;const l={};r.NODE_FIELDS=l;const c={};r.BUILDER_KEYS=c;const h={};function p(e){return Array.isArray(e)?"array":null===e?"null":void 0===e?"undefined":typeof e}function f(e){return{validate:e}}function d(e){return"string"==typeof e?b(e):b(...e)}function m(e){return x(v("array"),g(e))}function y(e){return m(d(e))}function g(e){function t(t,r,n){if(Array.isArray(n))for(let i=0;i=0)){if((0,n.isAnyTypeAnnotation)(u))return[u];if((0,n.isFlowBaseAnnotation)(u))i[u.type]=u;else if((0,n.isUnionTypeAnnotation)(u))s.indexOf(u.types)<0&&(t=t.concat(u.types),s.push(u.types));else if((0,n.isGenericTypeAnnotation)(u)){const t=u.id.name;if(r[t]){let n=r[t];n.typeParameters?u.typeParameters&&(n.typeParameters.params=e(n.typeParameters.params.concat(u.typeParameters.params))):n=u.typeParameters}else r[t]=u}else a.push(u)}}for(const e of Object.keys(i))a.push(i[e]);for(const e of Object.keys(r))a.push(r[e]);return a};var n=e("../../validators/generated")},{"../../validators/generated":58}],46:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){if(!e||!t)return e;for(const r of i.INHERIT_KEYS.optional)null==e[r]&&(e[r]=t[r]);for(const r of Object.keys(t))"_"===r[0]&&"__clone"!==r&&(e[r]=t[r]);for(const r of i.INHERIT_KEYS.force)e[r]=t[r];return(0,s.default)(e,t),e};var n,i=e("../constants"),s=(n=e("../comments/inheritsComments"))&&n.__esModule?n:{default:n}},{"../comments/inheritsComments":18,"../constants":21}],47:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return e.object=(0,n.memberExpression)(t,e.object),e};var n=e("../builders/generated")},{"../builders/generated":7}],48:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t={}){const r=t.preserveComments?i:s;for(const t of r)null!=e[t]&&(e[t]=void 0);for(const t of Object.keys(e))"_"===t[0]&&null!=e[t]&&(e[t]=void 0);const n=Object.getOwnPropertySymbols(e);for(const t of n)e[t]=null};var n=e("../constants");const i=["tokens","start","end","loc","raw","rawValue"],s=n.COMMENT_KEYS.concat(["comments"]).concat(i)},{"../constants":21}],49:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t){return(0,n.default)(e,i.default,t),e};var n=s(e("../traverse/traverseFast")),i=s(e("./removeProperties"));function s(e){return e&&e.__esModule?e:{default:e}}},{"../traverse/traverseFast":53,"./removeProperties":48}],50:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=i;var n=e("../validators/generated");function i(e,t,r){let s=[].concat(e);const a=Object.create(null);for(;s.length;){const e=s.shift();if(!e)continue;const o=i.keys[e.type];if((0,n.isIdentifier)(e))if(t){(a[e.name]=a[e.name]||[]).push(e)}else a[e.name]=e;else if((0,n.isExportDeclaration)(e))(0,n.isDeclaration)(e.declaration)&&s.push(e.declaration);else{if(r){if((0,n.isFunctionDeclaration)(e)){s.push(e.id);continue}if((0,n.isFunctionExpression)(e))continue}if(o)for(let t=0;t(0,i.default)(e,r,t)};var n,i=(n=e("./matchesPattern"))&&n.__esModule?n:{default:n}},{"./matchesPattern":74}],58:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.isArrayExpression=function(e,t){if(!e)return!1;if("ArrayExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isAssignmentExpression=function(e,t){if(!e)return!1;if("AssignmentExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBinaryExpression=function(e,t){if(!e)return!1;if("BinaryExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isInterpreterDirective=function(e,t){if(!e)return!1;if("InterpreterDirective"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDirective=function(e,t){if(!e)return!1;if("Directive"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDirectiveLiteral=function(e,t){if(!e)return!1;if("DirectiveLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBlockStatement=function(e,t){if(!e)return!1;if("BlockStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBreakStatement=function(e,t){if(!e)return!1;if("BreakStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isCallExpression=function(e,t){if(!e)return!1;if("CallExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isCatchClause=function(e,t){if(!e)return!1;if("CatchClause"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isConditionalExpression=function(e,t){if(!e)return!1;if("ConditionalExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isContinueStatement=function(e,t){if(!e)return!1;if("ContinueStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDebuggerStatement=function(e,t){if(!e)return!1;if("DebuggerStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDoWhileStatement=function(e,t){if(!e)return!1;if("DoWhileStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEmptyStatement=function(e,t){if(!e)return!1;if("EmptyStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExpressionStatement=function(e,t){if(!e)return!1;if("ExpressionStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isFile=function(e,t){if(!e)return!1;if("File"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isForInStatement=function(e,t){if(!e)return!1;if("ForInStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isForStatement=function(e,t){if(!e)return!1;if("ForStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isFunctionDeclaration=function(e,t){if(!e)return!1;if("FunctionDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isFunctionExpression=function(e,t){if(!e)return!1;if("FunctionExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isIdentifier=function(e,t){if(!e)return!1;if("Identifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isIfStatement=function(e,t){if(!e)return!1;if("IfStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isLabeledStatement=function(e,t){if(!e)return!1;if("LabeledStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isStringLiteral=function(e,t){if(!e)return!1;if("StringLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNumericLiteral=function(e,t){if(!e)return!1;if("NumericLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNullLiteral=function(e,t){if(!e)return!1;if("NullLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBooleanLiteral=function(e,t){if(!e)return!1;if("BooleanLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isRegExpLiteral=function(e,t){if(!e)return!1;if("RegExpLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isLogicalExpression=function(e,t){if(!e)return!1;if("LogicalExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isMemberExpression=function(e,t){if(!e)return!1;if("MemberExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNewExpression=function(e,t){if(!e)return!1;if("NewExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isProgram=function(e,t){if(!e)return!1;if("Program"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectExpression=function(e,t){if(!e)return!1;if("ObjectExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectMethod=function(e,t){if(!e)return!1;if("ObjectMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectProperty=function(e,t){if(!e)return!1;if("ObjectProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isRestElement=function(e,t){if(!e)return!1;if("RestElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isReturnStatement=function(e,t){if(!e)return!1;if("ReturnStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isSequenceExpression=function(e,t){if(!e)return!1;if("SequenceExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isParenthesizedExpression=function(e,t){if(!e)return!1;if("ParenthesizedExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isSwitchCase=function(e,t){if(!e)return!1;if("SwitchCase"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isSwitchStatement=function(e,t){if(!e)return!1;if("SwitchStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isThisExpression=function(e,t){if(!e)return!1;if("ThisExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isThrowStatement=function(e,t){if(!e)return!1;if("ThrowStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTryStatement=function(e,t){if(!e)return!1;if("TryStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isUnaryExpression=function(e,t){if(!e)return!1;if("UnaryExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isUpdateExpression=function(e,t){if(!e)return!1;if("UpdateExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isVariableDeclaration=function(e,t){if(!e)return!1;if("VariableDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isVariableDeclarator=function(e,t){if(!e)return!1;if("VariableDeclarator"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isWhileStatement=function(e,t){if(!e)return!1;if("WhileStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isWithStatement=function(e,t){if(!e)return!1;if("WithStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isAssignmentPattern=function(e,t){if(!e)return!1;if("AssignmentPattern"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isArrayPattern=function(e,t){if(!e)return!1;if("ArrayPattern"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isArrowFunctionExpression=function(e,t){if(!e)return!1;if("ArrowFunctionExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassBody=function(e,t){if(!e)return!1;if("ClassBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassDeclaration=function(e,t){if(!e)return!1;if("ClassDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassExpression=function(e,t){if(!e)return!1;if("ClassExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExportAllDeclaration=function(e,t){if(!e)return!1;if("ExportAllDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExportDefaultDeclaration=function(e,t){if(!e)return!1;if("ExportDefaultDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExportNamedDeclaration=function(e,t){if(!e)return!1;if("ExportNamedDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExportSpecifier=function(e,t){if(!e)return!1;if("ExportSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isForOfStatement=function(e,t){if(!e)return!1;if("ForOfStatement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isImportDeclaration=function(e,t){if(!e)return!1;if("ImportDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isImportDefaultSpecifier=function(e,t){if(!e)return!1;if("ImportDefaultSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isImportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ImportNamespaceSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isImportSpecifier=function(e,t){if(!e)return!1;if("ImportSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isMetaProperty=function(e,t){if(!e)return!1;if("MetaProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassMethod=function(e,t){if(!e)return!1;if("ClassMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectPattern=function(e,t){if(!e)return!1;if("ObjectPattern"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isSpreadElement=function(e,t){if(!e)return!1;if("SpreadElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isSuper=function(e,t){if(!e)return!1;if("Super"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTaggedTemplateExpression=function(e,t){if(!e)return!1;if("TaggedTemplateExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTemplateElement=function(e,t){if(!e)return!1;if("TemplateElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTemplateLiteral=function(e,t){if(!e)return!1;if("TemplateLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isYieldExpression=function(e,t){if(!e)return!1;if("YieldExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isAnyTypeAnnotation=function(e,t){if(!e)return!1;if("AnyTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isArrayTypeAnnotation=function(e,t){if(!e)return!1;if("ArrayTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBooleanTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBooleanLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("BooleanLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNullLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NullLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassImplements=function(e,t){if(!e)return!1;if("ClassImplements"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareClass=function(e,t){if(!e)return!1;if("DeclareClass"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareFunction=function(e,t){if(!e)return!1;if("DeclareFunction"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareInterface=function(e,t){if(!e)return!1;if("DeclareInterface"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareModule=function(e,t){if(!e)return!1;if("DeclareModule"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareModuleExports=function(e,t){if(!e)return!1;if("DeclareModuleExports"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareTypeAlias=function(e,t){if(!e)return!1;if("DeclareTypeAlias"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareOpaqueType=function(e,t){if(!e)return!1;if("DeclareOpaqueType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareVariable=function(e,t){if(!e)return!1;if("DeclareVariable"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareExportDeclaration=function(e,t){if(!e)return!1;if("DeclareExportDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclareExportAllDeclaration=function(e,t){if(!e)return!1;if("DeclareExportAllDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclaredPredicate=function(e,t){if(!e)return!1;if("DeclaredPredicate"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExistsTypeAnnotation=function(e,t){if(!e)return!1;if("ExistsTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isFunctionTypeAnnotation=function(e,t){if(!e)return!1;if("FunctionTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isFunctionTypeParam=function(e,t){if(!e)return!1;if("FunctionTypeParam"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isGenericTypeAnnotation=function(e,t){if(!e)return!1;if("GenericTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isInferredPredicate=function(e,t){if(!e)return!1;if("InferredPredicate"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isInterfaceExtends=function(e,t){if(!e)return!1;if("InterfaceExtends"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isInterfaceDeclaration=function(e,t){if(!e)return!1;if("InterfaceDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isInterfaceTypeAnnotation=function(e,t){if(!e)return!1;if("InterfaceTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isIntersectionTypeAnnotation=function(e,t){if(!e)return!1;if("IntersectionTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isMixedTypeAnnotation=function(e,t){if(!e)return!1;if("MixedTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEmptyTypeAnnotation=function(e,t){if(!e)return!1;if("EmptyTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNullableTypeAnnotation=function(e,t){if(!e)return!1;if("NullableTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNumberLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("NumberLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNumberTypeAnnotation=function(e,t){if(!e)return!1;if("NumberTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectTypeAnnotation=function(e,t){if(!e)return!1;if("ObjectTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectTypeInternalSlot=function(e,t){if(!e)return!1;if("ObjectTypeInternalSlot"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectTypeCallProperty=function(e,t){if(!e)return!1;if("ObjectTypeCallProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectTypeIndexer=function(e,t){if(!e)return!1;if("ObjectTypeIndexer"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectTypeProperty=function(e,t){if(!e)return!1;if("ObjectTypeProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectTypeSpreadProperty=function(e,t){if(!e)return!1;if("ObjectTypeSpreadProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isOpaqueType=function(e,t){if(!e)return!1;if("OpaqueType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isQualifiedTypeIdentifier=function(e,t){if(!e)return!1;if("QualifiedTypeIdentifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isStringLiteralTypeAnnotation=function(e,t){if(!e)return!1;if("StringLiteralTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isStringTypeAnnotation=function(e,t){if(!e)return!1;if("StringTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isThisTypeAnnotation=function(e,t){if(!e)return!1;if("ThisTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTupleTypeAnnotation=function(e,t){if(!e)return!1;if("TupleTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTypeofTypeAnnotation=function(e,t){if(!e)return!1;if("TypeofTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTypeAlias=function(e,t){if(!e)return!1;if("TypeAlias"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTypeAnnotation=function(e,t){if(!e)return!1;if("TypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTypeCastExpression=function(e,t){if(!e)return!1;if("TypeCastExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTypeParameter=function(e,t){if(!e)return!1;if("TypeParameter"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TypeParameterDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TypeParameterInstantiation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isUnionTypeAnnotation=function(e,t){if(!e)return!1;if("UnionTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isVariance=function(e,t){if(!e)return!1;if("Variance"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isVoidTypeAnnotation=function(e,t){if(!e)return!1;if("VoidTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumDeclaration=function(e,t){if(!e)return!1;if("EnumDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumBooleanBody=function(e,t){if(!e)return!1;if("EnumBooleanBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumNumberBody=function(e,t){if(!e)return!1;if("EnumNumberBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumStringBody=function(e,t){if(!e)return!1;if("EnumStringBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumSymbolBody=function(e,t){if(!e)return!1;if("EnumSymbolBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumBooleanMember=function(e,t){if(!e)return!1;if("EnumBooleanMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumNumberMember=function(e,t){if(!e)return!1;if("EnumNumberMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumStringMember=function(e,t){if(!e)return!1;if("EnumStringMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumDefaultedMember=function(e,t){if(!e)return!1;if("EnumDefaultedMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXAttribute=function(e,t){if(!e)return!1;if("JSXAttribute"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXClosingElement=function(e,t){if(!e)return!1;if("JSXClosingElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXElement=function(e,t){if(!e)return!1;if("JSXElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXEmptyExpression=function(e,t){if(!e)return!1;if("JSXEmptyExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXExpressionContainer=function(e,t){if(!e)return!1;if("JSXExpressionContainer"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXSpreadChild=function(e,t){if(!e)return!1;if("JSXSpreadChild"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXIdentifier=function(e,t){if(!e)return!1;if("JSXIdentifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXMemberExpression=function(e,t){if(!e)return!1;if("JSXMemberExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXNamespacedName=function(e,t){if(!e)return!1;if("JSXNamespacedName"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXOpeningElement=function(e,t){if(!e)return!1;if("JSXOpeningElement"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXSpreadAttribute=function(e,t){if(!e)return!1;if("JSXSpreadAttribute"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXText=function(e,t){if(!e)return!1;if("JSXText"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXFragment=function(e,t){if(!e)return!1;if("JSXFragment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXOpeningFragment=function(e,t){if(!e)return!1;if("JSXOpeningFragment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isJSXClosingFragment=function(e,t){if(!e)return!1;if("JSXClosingFragment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isNoop=function(e,t){if(!e)return!1;if("Noop"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isPlaceholder=function(e,t){if(!e)return!1;if("Placeholder"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isV8IntrinsicIdentifier=function(e,t){if(!e)return!1;if("V8IntrinsicIdentifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isArgumentPlaceholder=function(e,t){if(!e)return!1;if("ArgumentPlaceholder"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isAwaitExpression=function(e,t){if(!e)return!1;if("AwaitExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBindExpression=function(e,t){if(!e)return!1;if("BindExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassProperty=function(e,t){if(!e)return!1;if("ClassProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isOptionalMemberExpression=function(e,t){if(!e)return!1;if("OptionalMemberExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isPipelineTopicExpression=function(e,t){if(!e)return!1;if("PipelineTopicExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isPipelineBareFunction=function(e,t){if(!e)return!1;if("PipelineBareFunction"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isPipelinePrimaryTopicReference=function(e,t){if(!e)return!1;if("PipelinePrimaryTopicReference"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isOptionalCallExpression=function(e,t){if(!e)return!1;if("OptionalCallExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassPrivateProperty=function(e,t){if(!e)return!1;if("ClassPrivateProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isClassPrivateMethod=function(e,t){if(!e)return!1;if("ClassPrivateMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isImport=function(e,t){if(!e)return!1;if("Import"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDecorator=function(e,t){if(!e)return!1;if("Decorator"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isDoExpression=function(e,t){if(!e)return!1;if("DoExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExportDefaultSpecifier=function(e,t){if(!e)return!1;if("ExportDefaultSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExportNamespaceSpecifier=function(e,t){if(!e)return!1;if("ExportNamespaceSpecifier"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isPrivateName=function(e,t){if(!e)return!1;if("PrivateName"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isBigIntLiteral=function(e,t){if(!e)return!1;if("BigIntLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSParameterProperty=function(e,t){if(!e)return!1;if("TSParameterProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSDeclareFunction=function(e,t){if(!e)return!1;if("TSDeclareFunction"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSDeclareMethod=function(e,t){if(!e)return!1;if("TSDeclareMethod"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSQualifiedName=function(e,t){if(!e)return!1;if("TSQualifiedName"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSCallSignatureDeclaration=function(e,t){if(!e)return!1;if("TSCallSignatureDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSConstructSignatureDeclaration=function(e,t){if(!e)return!1;if("TSConstructSignatureDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSPropertySignature=function(e,t){if(!e)return!1;if("TSPropertySignature"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSMethodSignature=function(e,t){if(!e)return!1;if("TSMethodSignature"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSIndexSignature=function(e,t){if(!e)return!1;if("TSIndexSignature"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSAnyKeyword=function(e,t){if(!e)return!1;if("TSAnyKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSBooleanKeyword=function(e,t){if(!e)return!1;if("TSBooleanKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSBigIntKeyword=function(e,t){if(!e)return!1;if("TSBigIntKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSNeverKeyword=function(e,t){if(!e)return!1;if("TSNeverKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSNullKeyword=function(e,t){if(!e)return!1;if("TSNullKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSNumberKeyword=function(e,t){if(!e)return!1;if("TSNumberKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSObjectKeyword=function(e,t){if(!e)return!1;if("TSObjectKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSStringKeyword=function(e,t){if(!e)return!1;if("TSStringKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSSymbolKeyword=function(e,t){if(!e)return!1;if("TSSymbolKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSUndefinedKeyword=function(e,t){if(!e)return!1;if("TSUndefinedKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSUnknownKeyword=function(e,t){if(!e)return!1;if("TSUnknownKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSVoidKeyword=function(e,t){if(!e)return!1;if("TSVoidKeyword"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSThisType=function(e,t){if(!e)return!1;if("TSThisType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSFunctionType=function(e,t){if(!e)return!1;if("TSFunctionType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSConstructorType=function(e,t){if(!e)return!1;if("TSConstructorType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeReference=function(e,t){if(!e)return!1;if("TSTypeReference"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypePredicate=function(e,t){if(!e)return!1;if("TSTypePredicate"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeQuery=function(e,t){if(!e)return!1;if("TSTypeQuery"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeLiteral=function(e,t){if(!e)return!1;if("TSTypeLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSArrayType=function(e,t){if(!e)return!1;if("TSArrayType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTupleType=function(e,t){if(!e)return!1;if("TSTupleType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSOptionalType=function(e,t){if(!e)return!1;if("TSOptionalType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSRestType=function(e,t){if(!e)return!1;if("TSRestType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSUnionType=function(e,t){if(!e)return!1;if("TSUnionType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSIntersectionType=function(e,t){if(!e)return!1;if("TSIntersectionType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSConditionalType=function(e,t){if(!e)return!1;if("TSConditionalType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSInferType=function(e,t){if(!e)return!1;if("TSInferType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSParenthesizedType=function(e,t){if(!e)return!1;if("TSParenthesizedType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeOperator=function(e,t){if(!e)return!1;if("TSTypeOperator"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSIndexedAccessType=function(e,t){if(!e)return!1;if("TSIndexedAccessType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSMappedType=function(e,t){if(!e)return!1;if("TSMappedType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSLiteralType=function(e,t){if(!e)return!1;if("TSLiteralType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSExpressionWithTypeArguments=function(e,t){if(!e)return!1;if("TSExpressionWithTypeArguments"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSInterfaceDeclaration=function(e,t){if(!e)return!1;if("TSInterfaceDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSInterfaceBody=function(e,t){if(!e)return!1;if("TSInterfaceBody"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeAliasDeclaration=function(e,t){if(!e)return!1;if("TSTypeAliasDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSAsExpression=function(e,t){if(!e)return!1;if("TSAsExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeAssertion=function(e,t){if(!e)return!1;if("TSTypeAssertion"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSEnumDeclaration=function(e,t){if(!e)return!1;if("TSEnumDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSEnumMember=function(e,t){if(!e)return!1;if("TSEnumMember"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSModuleDeclaration=function(e,t){if(!e)return!1;if("TSModuleDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSModuleBlock=function(e,t){if(!e)return!1;if("TSModuleBlock"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSImportType=function(e,t){if(!e)return!1;if("TSImportType"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSImportEqualsDeclaration=function(e,t){if(!e)return!1;if("TSImportEqualsDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSExternalModuleReference=function(e,t){if(!e)return!1;if("TSExternalModuleReference"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSNonNullExpression=function(e,t){if(!e)return!1;if("TSNonNullExpression"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSExportAssignment=function(e,t){if(!e)return!1;if("TSExportAssignment"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSNamespaceExportDeclaration=function(e,t){if(!e)return!1;if("TSNamespaceExportDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeAnnotation=function(e,t){if(!e)return!1;if("TSTypeAnnotation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeParameterInstantiation=function(e,t){if(!e)return!1;if("TSTypeParameterInstantiation"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeParameterDeclaration=function(e,t){if(!e)return!1;if("TSTypeParameterDeclaration"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeParameter=function(e,t){if(!e)return!1;if("TSTypeParameter"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isExpression=function(e,t){if(!e)return!1;const r=e.type;if("Expression"===r||"ArrayExpression"===r||"AssignmentExpression"===r||"BinaryExpression"===r||"CallExpression"===r||"ConditionalExpression"===r||"FunctionExpression"===r||"Identifier"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"LogicalExpression"===r||"MemberExpression"===r||"NewExpression"===r||"ObjectExpression"===r||"SequenceExpression"===r||"ParenthesizedExpression"===r||"ThisExpression"===r||"UnaryExpression"===r||"UpdateExpression"===r||"ArrowFunctionExpression"===r||"ClassExpression"===r||"MetaProperty"===r||"Super"===r||"TaggedTemplateExpression"===r||"TemplateLiteral"===r||"YieldExpression"===r||"TypeCastExpression"===r||"JSXElement"===r||"JSXFragment"===r||"AwaitExpression"===r||"BindExpression"===r||"OptionalMemberExpression"===r||"PipelinePrimaryTopicReference"===r||"OptionalCallExpression"===r||"Import"===r||"DoExpression"===r||"BigIntLiteral"===r||"TSAsExpression"===r||"TSTypeAssertion"===r||"TSNonNullExpression"===r||"Placeholder"===r&&("Expression"===e.expectedNode||"Identifier"===e.expectedNode||"StringLiteral"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},r.isBinary=function(e,t){if(!e)return!1;const r=e.type;if("Binary"===r||"BinaryExpression"===r||"LogicalExpression"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isScopable=function(e,t){if(!e)return!1;const r=e.type;if("Scopable"===r||"BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ClassDeclaration"===r||"ClassExpression"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isBlockParent=function(e,t){if(!e)return!1;const r=e.type;if("BlockParent"===r||"BlockStatement"===r||"CatchClause"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"Program"===r||"ObjectMethod"===r||"SwitchStatement"===r||"WhileStatement"===r||"ArrowFunctionExpression"===r||"ForOfStatement"===r||"ClassMethod"===r||"ClassPrivateMethod"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isBlock=function(e,t){if(!e)return!1;const r=e.type;if("Block"===r||"BlockStatement"===r||"Program"===r||"TSModuleBlock"===r||"Placeholder"===r&&"BlockStatement"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isStatement=function(e,t){if(!e)return!1;const r=e.type;if("Statement"===r||"BlockStatement"===r||"BreakStatement"===r||"ContinueStatement"===r||"DebuggerStatement"===r||"DoWhileStatement"===r||"EmptyStatement"===r||"ExpressionStatement"===r||"ForInStatement"===r||"ForStatement"===r||"FunctionDeclaration"===r||"IfStatement"===r||"LabeledStatement"===r||"ReturnStatement"===r||"SwitchStatement"===r||"ThrowStatement"===r||"TryStatement"===r||"VariableDeclaration"===r||"WhileStatement"===r||"WithStatement"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ForOfStatement"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"TSImportEqualsDeclaration"===r||"TSExportAssignment"===r||"TSNamespaceExportDeclaration"===r||"Placeholder"===r&&("Statement"===e.expectedNode||"Declaration"===e.expectedNode||"BlockStatement"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},r.isTerminatorless=function(e,t){if(!e)return!1;const r=e.type;if("Terminatorless"===r||"BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r||"YieldExpression"===r||"AwaitExpression"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isCompletionStatement=function(e,t){if(!e)return!1;const r=e.type;if("CompletionStatement"===r||"BreakStatement"===r||"ContinueStatement"===r||"ReturnStatement"===r||"ThrowStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isConditional=function(e,t){if(!e)return!1;const r=e.type;if("Conditional"===r||"ConditionalExpression"===r||"IfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isLoop=function(e,t){if(!e)return!1;const r=e.type;if("Loop"===r||"DoWhileStatement"===r||"ForInStatement"===r||"ForStatement"===r||"WhileStatement"===r||"ForOfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isWhile=function(e,t){if(!e)return!1;const r=e.type;if("While"===r||"DoWhileStatement"===r||"WhileStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isExpressionWrapper=function(e,t){if(!e)return!1;const r=e.type;if("ExpressionWrapper"===r||"ExpressionStatement"===r||"ParenthesizedExpression"===r||"TypeCastExpression"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFor=function(e,t){if(!e)return!1;const r=e.type;if("For"===r||"ForInStatement"===r||"ForStatement"===r||"ForOfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isForXStatement=function(e,t){if(!e)return!1;const r=e.type;if("ForXStatement"===r||"ForInStatement"===r||"ForOfStatement"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFunction=function(e,t){if(!e)return!1;const r=e.type;if("Function"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFunctionParent=function(e,t){if(!e)return!1;const r=e.type;if("FunctionParent"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"ObjectMethod"===r||"ArrowFunctionExpression"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isPureish=function(e,t){if(!e)return!1;const r=e.type;if("Pureish"===r||"FunctionDeclaration"===r||"FunctionExpression"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"ArrowFunctionExpression"===r||"ClassDeclaration"===r||"ClassExpression"===r||"BigIntLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("Declaration"===r||"FunctionDeclaration"===r||"VariableDeclaration"===r||"ClassDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r||"TSDeclareFunction"===r||"TSInterfaceDeclaration"===r||"TSTypeAliasDeclaration"===r||"TSEnumDeclaration"===r||"TSModuleDeclaration"===r||"Placeholder"===r&&"Declaration"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isPatternLike=function(e,t){if(!e)return!1;const r=e.type;if("PatternLike"===r||"Identifier"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},r.isLVal=function(e,t){if(!e)return!1;const r=e.type;if("LVal"===r||"Identifier"===r||"MemberExpression"===r||"RestElement"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"TSParameterProperty"===r||"Placeholder"===r&&("Pattern"===e.expectedNode||"Identifier"===e.expectedNode))return void 0===t||(0,i.default)(e,t);return!1},r.isTSEntityName=function(e,t){if(!e)return!1;const r=e.type;if("TSEntityName"===r||"Identifier"===r||"TSQualifiedName"===r||"Placeholder"===r&&"Identifier"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isLiteral=function(e,t){if(!e)return!1;const r=e.type;if("Literal"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"RegExpLiteral"===r||"TemplateLiteral"===r||"BigIntLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isImmutable=function(e,t){if(!e)return!1;const r=e.type;if("Immutable"===r||"StringLiteral"===r||"NumericLiteral"===r||"NullLiteral"===r||"BooleanLiteral"===r||"JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXOpeningElement"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r||"BigIntLiteral"===r||"Placeholder"===r&&"StringLiteral"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isUserWhitespacable=function(e,t){if(!e)return!1;const r=e.type;if("UserWhitespacable"===r||"ObjectMethod"===r||"ObjectProperty"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isMethod=function(e,t){if(!e)return!1;const r=e.type;if("Method"===r||"ObjectMethod"===r||"ClassMethod"===r||"ClassPrivateMethod"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isObjectMember=function(e,t){if(!e)return!1;const r=e.type;if("ObjectMember"===r||"ObjectMethod"===r||"ObjectProperty"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isProperty=function(e,t){if(!e)return!1;const r=e.type;if("Property"===r||"ObjectProperty"===r||"ClassProperty"===r||"ClassPrivateProperty"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isUnaryLike=function(e,t){if(!e)return!1;const r=e.type;if("UnaryLike"===r||"UnaryExpression"===r||"SpreadElement"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isPattern=function(e,t){if(!e)return!1;const r=e.type;if("Pattern"===r||"AssignmentPattern"===r||"ArrayPattern"===r||"ObjectPattern"===r||"Placeholder"===r&&"Pattern"===e.expectedNode)return void 0===t||(0,i.default)(e,t);return!1},r.isClass=function(e,t){if(!e)return!1;const r=e.type;if("Class"===r||"ClassDeclaration"===r||"ClassExpression"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isModuleDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ModuleDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r||"ImportDeclaration"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isExportDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("ExportDeclaration"===r||"ExportAllDeclaration"===r||"ExportDefaultDeclaration"===r||"ExportNamedDeclaration"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isModuleSpecifier=function(e,t){if(!e)return!1;const r=e.type;if("ModuleSpecifier"===r||"ExportSpecifier"===r||"ImportDefaultSpecifier"===r||"ImportNamespaceSpecifier"===r||"ImportSpecifier"===r||"ExportDefaultSpecifier"===r||"ExportNamespaceSpecifier"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFlow=function(e,t){if(!e)return!1;const r=e.type;if("Flow"===r||"AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ClassImplements"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"DeclaredPredicate"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"FunctionTypeParam"===r||"GenericTypeAnnotation"===r||"InferredPredicate"===r||"InterfaceExtends"===r||"InterfaceDeclaration"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"ObjectTypeInternalSlot"===r||"ObjectTypeCallProperty"===r||"ObjectTypeIndexer"===r||"ObjectTypeProperty"===r||"ObjectTypeSpreadProperty"===r||"OpaqueType"===r||"QualifiedTypeIdentifier"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"TypeAlias"===r||"TypeAnnotation"===r||"TypeCastExpression"===r||"TypeParameter"===r||"TypeParameterDeclaration"===r||"TypeParameterInstantiation"===r||"UnionTypeAnnotation"===r||"Variance"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFlowType=function(e,t){if(!e)return!1;const r=e.type;if("FlowType"===r||"AnyTypeAnnotation"===r||"ArrayTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"BooleanLiteralTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"ExistsTypeAnnotation"===r||"FunctionTypeAnnotation"===r||"GenericTypeAnnotation"===r||"InterfaceTypeAnnotation"===r||"IntersectionTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NullableTypeAnnotation"===r||"NumberLiteralTypeAnnotation"===r||"NumberTypeAnnotation"===r||"ObjectTypeAnnotation"===r||"StringLiteralTypeAnnotation"===r||"StringTypeAnnotation"===r||"ThisTypeAnnotation"===r||"TupleTypeAnnotation"===r||"TypeofTypeAnnotation"===r||"UnionTypeAnnotation"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFlowBaseAnnotation=function(e,t){if(!e)return!1;const r=e.type;if("FlowBaseAnnotation"===r||"AnyTypeAnnotation"===r||"BooleanTypeAnnotation"===r||"NullLiteralTypeAnnotation"===r||"MixedTypeAnnotation"===r||"EmptyTypeAnnotation"===r||"NumberTypeAnnotation"===r||"StringTypeAnnotation"===r||"ThisTypeAnnotation"===r||"VoidTypeAnnotation"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFlowDeclaration=function(e,t){if(!e)return!1;const r=e.type;if("FlowDeclaration"===r||"DeclareClass"===r||"DeclareFunction"===r||"DeclareInterface"===r||"DeclareModule"===r||"DeclareModuleExports"===r||"DeclareTypeAlias"===r||"DeclareOpaqueType"===r||"DeclareVariable"===r||"DeclareExportDeclaration"===r||"DeclareExportAllDeclaration"===r||"InterfaceDeclaration"===r||"OpaqueType"===r||"TypeAlias"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isFlowPredicate=function(e,t){if(!e)return!1;const r=e.type;if("FlowPredicate"===r||"DeclaredPredicate"===r||"InferredPredicate"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumBody=function(e,t){if(!e)return!1;const r=e.type;if("EnumBody"===r||"EnumBooleanBody"===r||"EnumNumberBody"===r||"EnumStringBody"===r||"EnumSymbolBody"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isEnumMember=function(e,t){if(!e)return!1;const r=e.type;if("EnumMember"===r||"EnumBooleanMember"===r||"EnumNumberMember"===r||"EnumStringMember"===r||"EnumDefaultedMember"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isJSX=function(e,t){if(!e)return!1;const r=e.type;if("JSX"===r||"JSXAttribute"===r||"JSXClosingElement"===r||"JSXElement"===r||"JSXEmptyExpression"===r||"JSXExpressionContainer"===r||"JSXSpreadChild"===r||"JSXIdentifier"===r||"JSXMemberExpression"===r||"JSXNamespacedName"===r||"JSXOpeningElement"===r||"JSXSpreadAttribute"===r||"JSXText"===r||"JSXFragment"===r||"JSXOpeningFragment"===r||"JSXClosingFragment"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isPrivate=function(e,t){if(!e)return!1;const r=e.type;if("Private"===r||"ClassPrivateProperty"===r||"ClassPrivateMethod"===r||"PrivateName"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isTSTypeElement=function(e,t){if(!e)return!1;const r=e.type;if("TSTypeElement"===r||"TSCallSignatureDeclaration"===r||"TSConstructSignatureDeclaration"===r||"TSPropertySignature"===r||"TSMethodSignature"===r||"TSIndexSignature"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isTSType=function(e,t){if(!e)return!1;const r=e.type;if("TSType"===r||"TSAnyKeyword"===r||"TSBooleanKeyword"===r||"TSBigIntKeyword"===r||"TSNeverKeyword"===r||"TSNullKeyword"===r||"TSNumberKeyword"===r||"TSObjectKeyword"===r||"TSStringKeyword"===r||"TSSymbolKeyword"===r||"TSUndefinedKeyword"===r||"TSUnknownKeyword"===r||"TSVoidKeyword"===r||"TSThisType"===r||"TSFunctionType"===r||"TSConstructorType"===r||"TSTypeReference"===r||"TSTypePredicate"===r||"TSTypeQuery"===r||"TSTypeLiteral"===r||"TSArrayType"===r||"TSTupleType"===r||"TSOptionalType"===r||"TSRestType"===r||"TSUnionType"===r||"TSIntersectionType"===r||"TSConditionalType"===r||"TSInferType"===r||"TSParenthesizedType"===r||"TSTypeOperator"===r||"TSIndexedAccessType"===r||"TSMappedType"===r||"TSLiteralType"===r||"TSExpressionWithTypeArguments"===r||"TSImportType"===r)return void 0===t||(0,i.default)(e,t);return!1},r.isNumberLiteral=function(e,t){if(console.trace("The node type NumberLiteral has been renamed to NumericLiteral"),!e)return!1;if("NumberLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isRegexLiteral=function(e,t){if(console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"),!e)return!1;if("RegexLiteral"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isRestProperty=function(e,t){if(console.trace("The node type RestProperty has been renamed to RestElement"),!e)return!1;if("RestProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1},r.isSpreadProperty=function(e,t){if(console.trace("The node type SpreadProperty has been renamed to SpreadElement"),!e)return!1;if("SpreadProperty"===e.type)return void 0===t||(0,i.default)(e,t);return!1};var n,i=(n=e("../../utils/shallowEqual"))&&n.__esModule?n:{default:n}},{"../../utils/shallowEqual":56}],59:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){if(!t)return!1;if(!(0,i.default)(t.type,e))return!r&&"Placeholder"===t.type&&e in a.FLIPPED_ALIAS_KEYS&&(0,s.default)(t.expectedNode,e);return void 0===r||(0,n.default)(t,r)};var n=o(e("../utils/shallowEqual")),i=o(e("./isType")),s=o(e("./isPlaceholderType")),a=e("../definitions");function o(e){return e&&e.__esModule?e:{default:e}}},{"../definitions":37,"../utils/shallowEqual":56,"./isPlaceholderType":66,"./isType":70}],60:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e,t,r){if(r&&"Identifier"===e.type&&"ObjectProperty"===t.type&&"ObjectExpression"===r.type)return!1;const n=i.default.keys[t.type];if(n)for(let r=0;r=0)return!0}else if(s===e)return!0}return!1};var n,i=(n=e("../retrievers/getBindingIdentifiers"))&&n.__esModule?n:{default:n}},{"../retrievers/getBindingIdentifiers":50}],61:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,i.isFunctionDeclaration)(e)||(0,i.isClassDeclaration)(e)||(0,s.default)(e)};var n,i=e("./generated"),s=(n=e("./isLet"))&&n.__esModule?n:{default:n}},{"./generated":58,"./isLet":63}],62:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){if((0,i.default)(e.type,"Immutable"))return!0;if((0,s.isIdentifier)(e))return"undefined"===e.name;return!1};var n,i=(n=e("./isType"))&&n.__esModule?n:{default:n},s=e("./generated")},{"./generated":58,"./isType":70}],63:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return(0,n.isVariableDeclaration)(e)&&("var"!==e.kind||e[i.BLOCK_SCOPED_SYMBOL])};var n=e("./generated"),i=e("../constants")},{"../constants":21,"./generated":58}],64:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function(e){return!(!e||!n.VISITOR_KEYS[e.type])};var n=e("../definitions")},{"../definitions":37}],65:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.default=function e(t,r){if("object"!=typeof t||"object"!=typeof r||null==t||null==r)return t===r;if(t.type!==r.type)return!1;const i=Object.keys(n.NODE_FIELDS[t.type]||t.type);const s=n.VISITOR_KEYS[t.type];for(const n of i){if(typeof t[n]!=typeof r[n])return!1;if(null!=t[n]||null!=r[n]){if(null==t[n]||null==r[n])return!1;if(Array.isArray(t[n])){if(!Array.isArray(r[n]))return!1;if(t[n].length!==r[n].length)return!1;for(let i=0;ii.length)return!1;for(let e=0,t=s.length-1;ea){for(var t=0,r=i.length-s;t>6],i=0==(32&r);if(31==(31&r)){var s=r;for(r=0;128==(128&s);){if(s=e.readUInt8(t),e.isError(s))return s;r<<=7,r|=127&s}}else r&=31;return{cls:n,primitive:i,tag:r,tagStr:o.tag[r]}}function h(e,t,r){var n=e.readUInt8(r);if(e.isError(n))return n;if(!t&&128===n)return null;if(0==(128&n))return n;var i=127&n;if(i>4)return e.error("length octect is too long");n=0;for(var s=0;s=31)return n.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=o.tagClassByName[r||"universal"]<<6}(e,t,r,this.reporter);if(n.length<128)return(s=new i(2))[0]=a,s[1]=n.length,this._createEncoderBuffer([s,n]);for(var u=1,l=n.length;l>=256;l>>=8)u++;(s=new i(2+u))[0]=a,s[1]=128|u;l=1+u;for(var c=n.length;c>0;l--,c>>=8)s[l]=255&c;return this._createEncoderBuffer([s,n])},l.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var r=new i(2*e.length),n=0;n=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var s=0;for(n=0;n=128;a>>=7)s++}var o=new i(s),u=o.length-1;for(n=e.length-1;n>=0;n--){a=e[n];for(o[u--]=127&a;(a>>=7)>0;)o[u--]=128|127&a}return this._createEncoderBuffer(o)},l.prototype._encodeTime=function(e,t){var r,n=new Date(e);return"gentime"===t?r=[c(n.getFullYear()),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):"utctime"===t?r=[c(n.getFullYear()%100),c(n.getUTCMonth()+1),c(n.getUTCDate()),c(n.getUTCHours()),c(n.getUTCMinutes()),c(n.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(r,"octstr")},l.prototype._encodeNull=function(){return this._createEncoderBuffer("")},l.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var r=e.toArray();!e.sign&&128&r[0]&&r.unshift(0),e=new i(r)}if(i.isBuffer(e)){var n=e.length;0===e.length&&n++;var s=new i(n);return e.copy(s),0===e.length&&(s[0]=0),this._createEncoderBuffer(s)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);n=1;for(var a=e;a>=256;a>>=8)n++;for(a=(s=new Array(n)).length-1;a>=0;a--)s[a]=255&e,e>>=8;return 128&s[0]&&s.unshift(0),this._createEncoderBuffer(new i(s))},l.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},l.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},l.prototype._skipDefault=function(e,t,r){var n,i=this._baseState;if(null===i.default)return!1;var s=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,r).join()),s.length!==i.defaultBuffer.length)return!1;for(n=0;n=0;l--)if(c[l]!==h[l])return!1;for(l=c.length-1;l>=0;l--)if(o=c[l],!v(e[o],t[o],r,n))return!1;return!0}(e,t,r,n))}return r?e===t:e==t}function x(e){return"[object Arguments]"==Object.prototype.toString.call(e)}function E(e,t){if(!e||!t)return!1;if("[object RegExp]"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&!0===t.call({},e)}function w(e,t,r,n){var i;if("function"!=typeof t)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),i=function(e){var t;try{e()}catch(e){t=e}return t}(t),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),e&&!i&&g(i,r,"Missing expected exception"+n);var s="string"==typeof n,o=!e&&i&&!r;if((!e&&a.isError(i)&&s&&E(i,r)||o)&&g(i,r,"Got unwanted exception"+n),e&&i&&r&&!E(i,r)||!e&&i)throw i}p.AssertionError=function(e){var t;this.name="AssertionError",this.actual=e.actual,this.expected=e.expected,this.operator=e.operator,e.message?(this.message=e.message,this.generatedMessage=!1):(this.message=m(y((t=this).actual),128)+" "+t.operator+" "+m(y(t.expected),128),this.generatedMessage=!0);var r=e.stackStartFunction||g;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var i=n.stack,s=d(r),a=i.indexOf("\n"+s);if(a>=0){var o=i.indexOf("\n",a+1);i=i.substring(o+1)}this.stack=i}}},a.inherits(p.AssertionError,Error),p.fail=g,p.ok=b,p.equal=function(e,t,r){e!=t&&g(e,t,r,"==",p.equal)},p.notEqual=function(e,t,r){e==t&&g(e,t,r,"!=",p.notEqual)},p.deepEqual=function(e,t,r){v(e,t,!1)||g(e,t,r,"deepEqual",p.deepEqual)},p.deepStrictEqual=function(e,t,r){v(e,t,!0)||g(e,t,r,"deepStrictEqual",p.deepStrictEqual)},p.notDeepEqual=function(e,t,r){v(e,t,!1)&&g(e,t,r,"notDeepEqual",p.notDeepEqual)},p.notDeepStrictEqual=function e(t,r,n){v(t,r,!0)&&g(t,r,n,"notDeepStrictEqual",e)},p.strictEqual=function(e,t,r){e!==t&&g(e,t,r,"===",p.strictEqual)},p.notStrictEqual=function(e,t,r){e===t&&g(e,t,r,"!==",p.notStrictEqual)},p.throws=function(e,t,r){w(!0,e,t,r)},p.doesNotThrow=function(e,t,r){w(!1,e,t,r)},p.ifError=function(e){if(e)throw e},p.strict=n(function e(t,r){t||g(t,!0,r,"==",e)},p,{equal:p.strictEqual,deepEqual:p.deepStrictEqual,notEqual:p.notStrictEqual,notDeepEqual:p.notDeepStrictEqual}),p.strict.strict=p.strict;var S=Object.keys||function(e){var t=[];for(var r in e)o.call(e,r)&&t.push(r);return t}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":603,"util/":97}],95:[function(e,t,r){"function"==typeof Object.create?t.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},{}],96:[function(e,t,r){t.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}},{}],97:[function(e,t,r){(function(t,n){var i=/%[sdj%]/g;r.format=function(e){if(!g(e)){for(var t=[],r=0;r=s)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}}),u=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(t)?n.showHidden=t:t&&r._extend(n,t),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=u),c(n,e,n.depth)}function u(e,t){var r=o.styles[t];return r?"["+o.colors[r][0]+"m"+e+"["+o.colors[r][1]+"m":e}function l(e,t){return e}function c(e,t,n){if(e.customInspect&&t&&S(t.inspect)&&t.inspect!==r.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(n,e);return g(i)||(i=c(e,i,n)),i}var s=function(e,t){if(b(t))return e.stylize("undefined","undefined");if(g(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(y(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(m(t))return e.stylize("null","null")}(e,t);if(s)return s;var a=Object.keys(t),o=function(e){var t={};return e.forEach(function(e,r){t[e]=!0}),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),w(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return h(t);if(0===a.length){if(S(t)){var u=t.name?": "+t.name:"";return e.stylize("[Function"+u+"]","special")}if(v(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(E(t))return e.stylize(Date.prototype.toString.call(t),"date");if(w(t))return h(t)}var l,x="",A=!1,T=["{","}"];(f(t)&&(A=!0,T=["[","]"]),S(t))&&(x=" [Function"+(t.name?": "+t.name:"")+"]");return v(t)&&(x=" "+RegExp.prototype.toString.call(t)),E(t)&&(x=" "+Date.prototype.toUTCString.call(t)),w(t)&&(x=" "+h(t)),0!==a.length||A&&0!=t.length?n<0?v(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),l=A?function(e,t,r,n,i){for(var s=[],a=0,o=t.length;a=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(l,x,T)):T[0]+x+T[1]}function h(e){return"["+Error.prototype.toString.call(e)+"]"}function p(e,t,r,n,i,s){var a,o,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?o=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(o=e.stylize("[Setter]","special")),D(n,i)||(a="["+i+"]"),o||(e.seen.indexOf(u.value)<0?(o=m(r)?c(e,u.value,null):c(e,u.value,r-1)).indexOf("\n")>-1&&(o=s?o.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+o.split("\n").map(function(e){return" "+e}).join("\n")):o=e.stylize("[Circular]","special")),b(a)){if(s&&i.match(/^\d+$/))return o;(a=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+o}function f(e){return Array.isArray(e)}function d(e){return"boolean"==typeof e}function m(e){return null===e}function y(e){return"number"==typeof e}function g(e){return"string"==typeof e}function b(e){return void 0===e}function v(e){return x(e)&&"[object RegExp]"===A(e)}function x(e){return"object"==typeof e&&null!==e}function E(e){return x(e)&&"[object Date]"===A(e)}function w(e){return x(e)&&("[object Error]"===A(e)||e instanceof Error)}function S(e){return"function"==typeof e}function A(e){return Object.prototype.toString.call(e)}function T(e){return e<10?"0"+e.toString(10):e.toString(10)}r.debuglog=function(e){if(b(s)&&(s=t.env.NODE_DEBUG||""),e=e.toUpperCase(),!a[e])if(new RegExp("\\b"+e+"\\b","i").test(s)){var n=t.pid;a[e]=function(){var t=r.format.apply(r,arguments);console.error("%s %d: %s",e,n,t)}}else a[e]=function(){};return a[e]},r.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=f,r.isBoolean=d,r.isNull=m,r.isNullOrUndefined=function(e){return null==e},r.isNumber=y,r.isString=g,r.isSymbol=function(e){return"symbol"==typeof e},r.isUndefined=b,r.isRegExp=v,r.isObject=x,r.isDate=E,r.isError=w,r.isFunction=S,r.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},r.isBuffer=e("./support/isBuffer");var _=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function D(e,t){return Object.prototype.hasOwnProperty.call(e,t)}r.log=function(){var e,t;console.log("%s - %s",(e=new Date,t=[T(e.getHours()),T(e.getMinutes()),T(e.getSeconds())].join(":"),[e.getDate(),_[e.getMonth()],t].join(" ")),r.format.apply(r,arguments))},r.inherits=e("inherits"),r._extend=function(e,t){if(!t||!x(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e}}).call(this,e("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":96,_process:619,inherits:95}],98:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../lib/types")),s=n(e("../lib/shared")),a=n(e("./es7"));r.default=function(e){e.use(a.default);var t=e.use(i.default),r=e.use(s.default).defaults,n=t.Type.def,o=t.Type.or;n("Noop").bases("Statement").build(),n("DoExpression").bases("Expression").build("body").field("body",[n("Statement")]),n("Super").bases("Expression").build(),n("BindExpression").bases("Expression").build("object","callee").field("object",o(n("Expression"),null)).field("callee",n("Expression")),n("Decorator").bases("Node").build("expression").field("expression",n("Expression")),n("Property").field("decorators",o([n("Decorator")],null),r.null),n("MethodDefinition").field("decorators",o([n("Decorator")],null),r.null),n("MetaProperty").bases("Expression").build("meta","property").field("meta",n("Identifier")).field("property",n("Identifier")),n("ParenthesizedExpression").bases("Expression").build("expression").field("expression",n("Expression")),n("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",n("Identifier")),n("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),n("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),n("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",o(n("Declaration"),n("Expression"))),n("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",o(n("Declaration"),null)).field("specifiers",[n("ExportSpecifier")],r.emptyArray).field("source",o(n("Literal"),null),r.null),n("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",n("Identifier")),n("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",n("Identifier")),n("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",n("Identifier")),n("ExportAllDeclaration").bases("Declaration").build("exported","source").field("exported",o(n("Identifier"),null)).field("source",n("Literal")),n("CommentBlock").bases("Comment").build("value","leading","trailing"),n("CommentLine").bases("Comment").build("value","leading","trailing"),n("Directive").bases("Node").build("value").field("value",n("DirectiveLiteral")),n("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,r["use strict"]),n("InterpreterDirective").bases("Node").build("value").field("value",String),n("BlockStatement").bases("Statement").build("body").field("body",[n("Statement")]).field("directives",[n("Directive")],r.emptyArray),n("Program").bases("Node").build("body").field("body",[n("Statement")]).field("directives",[n("Directive")],r.emptyArray).field("interpreter",o(n("InterpreterDirective"),null),r.null),n("StringLiteral").bases("Literal").build("value").field("value",String),n("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",o(String,null),r.null).field("extra",{rawValue:Number,raw:String},function(){return{rawValue:this.value,raw:this.value+""}}),n("BigIntLiteral").bases("Literal").build("value").field("value",o(String,Number)).field("extra",{rawValue:String,raw:String},function(){return{rawValue:String(this.value),raw:this.value+"n"}}),n("NullLiteral").bases("Literal").build().field("value",null,r.null),n("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),n("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)});var u=o(n("Property"),n("ObjectMethod"),n("ObjectProperty"),n("SpreadProperty"),n("SpreadElement"));n("ObjectExpression").bases("Expression").build("properties").field("properties",[u]),n("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",o("method","get","set")).field("key",o(n("Literal"),n("Identifier"),n("Expression"))).field("params",[n("Pattern")]).field("body",n("BlockStatement")).field("computed",Boolean,r.false).field("generator",Boolean,r.false).field("async",Boolean,r.false).field("accessibility",o(n("Literal"),null),r.null).field("decorators",o([n("Decorator")],null),r.null),n("ObjectProperty").bases("Node").build("key","value").field("key",o(n("Literal"),n("Identifier"),n("Expression"))).field("value",o(n("Expression"),n("Pattern"))).field("accessibility",o(n("Literal"),null),r.null).field("computed",Boolean,r.false);var l=o(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("ClassPrivateProperty"),n("ClassMethod"),n("ClassPrivateMethod"));n("ClassBody").bases("Declaration").build("body").field("body",[l]),n("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",o(n("Literal"),n("Identifier"),n("Expression"))),n("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",n("PrivateName")),["ClassMethod","ClassPrivateMethod"].forEach(function(e){n(e).field("kind",o("get","set","method","constructor"),function(){return"method"}).field("body",n("BlockStatement")).field("computed",Boolean,r.false).field("static",o(Boolean,null),r.null).field("abstract",o(Boolean,null),r.null).field("access",o("public","private","protected",null),r.null).field("accessibility",o("public","private","protected",null),r.null).field("decorators",o([n("Decorator")],null),r.null).field("optional",o(Boolean,null),r.null)}),n("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",n("PrivateName")).field("value",o(n("Expression"),null),r.null),n("PrivateName").bases("Expression","Pattern").build("id").field("id",n("Identifier"));var c=o(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"),n("SpreadProperty"),n("ObjectProperty"),n("RestProperty"));n("ObjectPattern").bases("Pattern").build("properties").field("properties",[c]).field("decorators",o([n("Decorator")],null),r.null),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("RestProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",o(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("Import").bases("Expression").build()},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./es7":103}],99:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./babel-core")),s=n(e("./flow"));r.default=function(e){e.use(i.default),e.use(s.default)},t.exports=r.default},{"./babel-core":98,"./flow":105}],100:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../lib/types")),s=n(e("../lib/shared"));r.default=function(e){var t=e.use(i.default).Type,r=t.def,n=t.or,a=e.use(s.default),o=a.defaults,u=a.geq;r("Printable").field("loc",n(r("SourceLocation"),null),o.null,!0),r("Node").bases("Printable").field("type",String).field("comments",n([r("Comment")],null),o.null,!0),r("SourceLocation").field("start",r("Position")).field("end",r("Position")).field("source",n(String,null),o.null),r("Position").field("line",u(1)).field("column",u(0)),r("File").bases("Node").build("program","name").field("program",r("Program")).field("name",n(String,null),o.null),r("Program").bases("Node").build("body").field("body",[r("Statement")]),r("Function").bases("Node").field("id",n(r("Identifier"),null),o.null).field("params",[r("Pattern")]).field("body",r("BlockStatement")).field("generator",Boolean,o.false).field("async",Boolean,o.false),r("Statement").bases("Node"),r("EmptyStatement").bases("Statement").build(),r("BlockStatement").bases("Statement").build("body").field("body",[r("Statement")]),r("ExpressionStatement").bases("Statement").build("expression").field("expression",r("Expression")),r("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",r("Expression")).field("consequent",r("Statement")).field("alternate",n(r("Statement"),null),o.null),r("LabeledStatement").bases("Statement").build("label","body").field("label",r("Identifier")).field("body",r("Statement")),r("BreakStatement").bases("Statement").build("label").field("label",n(r("Identifier"),null),o.null),r("ContinueStatement").bases("Statement").build("label").field("label",n(r("Identifier"),null),o.null),r("WithStatement").bases("Statement").build("object","body").field("object",r("Expression")).field("body",r("Statement")),r("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",r("Expression")).field("cases",[r("SwitchCase")]).field("lexical",Boolean,o.false),r("ReturnStatement").bases("Statement").build("argument").field("argument",n(r("Expression"),null)),r("ThrowStatement").bases("Statement").build("argument").field("argument",r("Expression")),r("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",r("BlockStatement")).field("handler",n(r("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[r("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[r("CatchClause")],o.emptyArray).field("finalizer",n(r("BlockStatement"),null),o.null),r("CatchClause").bases("Node").build("param","guard","body").field("param",n(r("Pattern"),null),o.null).field("guard",n(r("Expression"),null),o.null).field("body",r("BlockStatement")),r("WhileStatement").bases("Statement").build("test","body").field("test",r("Expression")).field("body",r("Statement")),r("DoWhileStatement").bases("Statement").build("body","test").field("body",r("Statement")).field("test",r("Expression")),r("ForStatement").bases("Statement").build("init","test","update","body").field("init",n(r("VariableDeclaration"),r("Expression"),null)).field("test",n(r("Expression"),null)).field("update",n(r("Expression"),null)).field("body",r("Statement")),r("ForInStatement").bases("Statement").build("left","right","body").field("left",n(r("VariableDeclaration"),r("Expression"))).field("right",r("Expression")).field("body",r("Statement")),r("DebuggerStatement").bases("Statement").build(),r("Declaration").bases("Statement"),r("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",r("Identifier")),r("FunctionExpression").bases("Function","Expression").build("id","params","body"),r("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",n("var","let","const")).field("declarations",[r("VariableDeclarator")]),r("VariableDeclarator").bases("Node").build("id","init").field("id",r("Pattern")).field("init",n(r("Expression"),null),o.null),r("Expression").bases("Node"),r("ThisExpression").bases("Expression").build(),r("ArrayExpression").bases("Expression").build("elements").field("elements",[n(r("Expression"),null)]),r("ObjectExpression").bases("Expression").build("properties").field("properties",[r("Property")]),r("Property").bases("Node").build("kind","key","value").field("kind",n("init","get","set")).field("key",n(r("Literal"),r("Identifier"))).field("value",r("Expression")),r("SequenceExpression").bases("Expression").build("expressions").field("expressions",[r("Expression")]);var l=n("-","+","!","~","typeof","void","delete");r("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",l).field("argument",r("Expression")).field("prefix",Boolean,o.true);var c=n("==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","**","&","|","^","in","instanceof");r("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",c).field("left",r("Expression")).field("right",r("Expression"));var h=n("=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&=");r("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",h).field("left",n(r("Pattern"),r("MemberExpression"))).field("right",r("Expression"));var p=n("++","--");r("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",p).field("argument",r("Expression")).field("prefix",Boolean);var f=n("||","&&");r("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",f).field("left",r("Expression")).field("right",r("Expression")),r("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",r("Expression")).field("consequent",r("Expression")).field("alternate",r("Expression")),r("NewExpression").bases("Expression").build("callee","arguments").field("callee",r("Expression")).field("arguments",[r("Expression")]),r("CallExpression").bases("Expression").build("callee","arguments").field("callee",r("Expression")).field("arguments",[r("Expression")]),r("MemberExpression").bases("Expression").build("object","property","computed").field("object",r("Expression")).field("property",n(r("Identifier"),r("Expression"))).field("computed",Boolean,function(){var e=this.property.type;return"Literal"===e||"MemberExpression"===e||"BinaryExpression"===e}),r("Pattern").bases("Node"),r("SwitchCase").bases("Node").build("test","consequent").field("test",n(r("Expression"),null)).field("consequent",[r("Statement")]),r("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,o.false),r("Literal").bases("Expression").build("value").field("value",n(String,Boolean,null,Number,RegExp)).field("regex",n({pattern:String,flags:String},null),function(){if(this.value instanceof RegExp){var e="";return this.value.ignoreCase&&(e+="i"),this.value.multiline&&(e+="m"),this.value.global&&(e+="g"),{pattern:this.value.source,flags:e}}return null}),r("Comment").bases("Printable").field("value",String).field("leading",Boolean,o.true).field("trailing",Boolean,o.false)},t.exports=r.default},{"../lib/shared":116,"../lib/types":117}],101:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../lib/types")),s=n(e("../lib/shared")),a=n(e("./core"));r.default=function(e){e.use(a.default);var t=e.use(i.default),r=t.Type,n=t.Type.def,o=r.or,u=e.use(s.default).defaults;n("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,u.true),n("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,u.true);var l=o("||","&&","??");n("LogicalExpression").field("operator",l)},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./core":100}],102:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./core")),s=n(e("../lib/types")),a=n(e("../lib/shared"));r.default=function(e){e.use(i.default);var t=e.use(s.default),r=t.Type.def,n=t.Type.or,o=e.use(a.default).defaults;r("Function").field("generator",Boolean,o.false).field("expression",Boolean,o.false).field("defaults",[n(r("Expression"),null)],o.emptyArray).field("rest",n(r("Identifier"),null),o.null),r("RestElement").bases("Pattern").build("argument").field("argument",r("Pattern")).field("typeAnnotation",n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),o.null),r("SpreadElementPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("FunctionDeclaration").build("id","params","body","generator","expression"),r("FunctionExpression").build("id","params","body","generator","expression"),r("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,o.null).field("body",n(r("BlockStatement"),r("Expression"))).field("generator",!1,o.false),r("ForOfStatement").bases("Statement").build("left","right","body").field("left",n(r("VariableDeclaration"),r("Pattern"))).field("right",r("Expression")).field("body",r("Statement")),r("YieldExpression").bases("Expression").build("argument","delegate").field("argument",n(r("Expression"),null)).field("delegate",Boolean,o.false),r("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionBlock").bases("Node").build("left","right","each").field("left",r("Pattern")).field("right",r("Expression")).field("each",Boolean),r("Property").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("value",n(r("Expression"),r("Pattern"))).field("method",Boolean,o.false).field("shorthand",Boolean,o.false).field("computed",Boolean,o.false),r("ObjectProperty").field("shorthand",Boolean,o.false),r("PropertyPattern").bases("Pattern").build("key","pattern").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("pattern",r("Pattern")).field("computed",Boolean,o.false),r("ObjectPattern").bases("Pattern").build("properties").field("properties",[n(r("PropertyPattern"),r("Property"))]),r("ArrayPattern").bases("Pattern").build("elements").field("elements",[n(r("Pattern"),null)]),r("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",n("constructor","method","get","set")).field("key",r("Expression")).field("value",r("Function")).field("computed",Boolean,o.false).field("static",Boolean,o.false),r("SpreadElement").bases("Node").build("argument").field("argument",r("Expression")),r("ArrayExpression").field("elements",[n(r("Expression"),r("SpreadElement"),r("RestElement"),null)]),r("NewExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("CallExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("AssignmentPattern").bases("Pattern").build("left","right").field("left",r("Pattern")).field("right",r("Expression"));var u=n(r("MethodDefinition"),r("VariableDeclarator"),r("ClassPropertyDefinition"),r("ClassProperty"));r("ClassProperty").bases("Declaration").build("key").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("computed",Boolean,o.false),r("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",u),r("ClassBody").bases("Declaration").build("body").field("body",[u]),r("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",n(r("Identifier"),null)).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),o.null),r("ClassExpression").bases("Expression").build("id","body","superClass").field("id",n(r("Identifier"),null),o.null).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),o.null),r("Specifier").bases("Node"),r("ModuleSpecifier").bases("Specifier").field("local",n(r("Identifier"),null),o.null).field("id",n(r("Identifier"),null),o.null).field("name",n(r("Identifier"),null),o.null),r("ImportSpecifier").bases("ModuleSpecifier").build("id","name"),r("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("id"),r("ImportDefaultSpecifier").bases("ModuleSpecifier").build("id"),r("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[n(r("ImportSpecifier"),r("ImportNamespaceSpecifier"),r("ImportDefaultSpecifier"))],o.emptyArray).field("source",r("Literal")).field("importKind",n("value","type"),function(){return"value"}),r("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",r("Expression")).field("quasi",r("TemplateLiteral")),r("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[r("TemplateElement")]).field("expressions",[r("Expression")]),r("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean)},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./core":100}],103:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./es6")),s=n(e("../lib/types")),a=n(e("../lib/shared"));r.default=function(e){e.use(i.default);var t=e.use(s.default),r=t.Type.def,n=t.Type.or,o=e.use(a.default).defaults;r("Function").field("async",Boolean,o.false),r("SpreadProperty").bases("Node").build("argument").field("argument",r("Expression")),r("ObjectExpression").field("properties",[n(r("Property"),r("SpreadProperty"),r("SpreadElement"))]),r("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("ObjectPattern").field("properties",[n(r("Property"),r("PropertyPattern"),r("SpreadPropertyPattern"))]),r("AwaitExpression").bases("Expression").build("argument","all").field("argument",n(r("Expression"),null)).field("all",Boolean,o.false)},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./es6":102}],104:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./es7")),s=n(e("../lib/types")),a=n(e("../lib/shared"));r.default=function(e){e.use(i.default);var t=e.use(s.default),r=e.use(a.default).defaults,n=t.Type.def,o=t.Type.or;n("VariableDeclaration").field("declarations",[o(n("VariableDeclarator"),n("Identifier"))]),n("Property").field("value",o(n("Expression"),n("Pattern"))),n("ArrayPattern").field("elements",[o(n("Pattern"),n("SpreadElement"),null)]),n("ObjectPattern").field("properties",[o(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"),n("SpreadProperty"))]),n("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),n("ExportBatchSpecifier").bases("Specifier").build(),n("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",o(n("Declaration"),n("Expression"),null)).field("specifiers",[o(n("ExportSpecifier"),n("ExportBatchSpecifier"))],r.emptyArray).field("source",o(n("Literal"),null),r.null),n("Block").bases("Comment").build("value","leading","trailing"),n("Line").bases("Comment").build("value","leading","trailing")},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./es7":103}],105:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./es7")),s=n(e("./type-annotations")),a=n(e("../lib/types")),o=n(e("../lib/shared"));r.default=function(e){e.use(i.default),e.use(s.default);var t=e.use(a.default),r=t.Type.def,n=t.Type.or,u=e.use(o.default).defaults;r("Flow").bases("Node"),r("FlowType").bases("Flow"),r("AnyTypeAnnotation").bases("FlowType").build(),r("EmptyTypeAnnotation").bases("FlowType").build(),r("MixedTypeAnnotation").bases("FlowType").build(),r("VoidTypeAnnotation").bases("FlowType").build(),r("NumberTypeAnnotation").bases("FlowType").build(),r("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("StringTypeAnnotation").bases("FlowType").build(),r("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),r("BooleanTypeAnnotation").bases("FlowType").build(),r("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),r("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullLiteralTypeAnnotation").bases("FlowType").build(),r("NullTypeAnnotation").bases("FlowType").build(),r("ThisTypeAnnotation").bases("FlowType").build(),r("ExistsTypeAnnotation").bases("FlowType").build(),r("ExistentialTypeParam").bases("FlowType").build(),r("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[r("FunctionTypeParam")]).field("returnType",r("FlowType")).field("rest",n(r("FunctionTypeParam"),null)).field("typeParameters",n(r("TypeParameterDeclaration"),null)),r("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",r("Identifier")).field("typeAnnotation",r("FlowType")).field("optional",Boolean),r("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",r("FlowType")),r("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[n(r("ObjectTypeProperty"),r("ObjectTypeSpreadProperty"))]).field("indexers",[r("ObjectTypeIndexer")],u.emptyArray).field("callProperties",[r("ObjectTypeCallProperty")],u.emptyArray).field("inexact",n(Boolean,void 0),u[void 0]).field("exact",Boolean,u.false).field("internalSlots",[r("ObjectTypeInternalSlot")],u.emptyArray),r("Variance").bases("Node").build("kind").field("kind",n("plus","minus"));var l=n(r("Variance"),"plus","minus",null);r("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",n(r("Literal"),r("Identifier"))).field("value",r("FlowType")).field("optional",Boolean).field("variance",l,u.null),r("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",r("Identifier")).field("key",r("FlowType")).field("value",r("FlowType")).field("variance",l,u.null),r("ObjectTypeCallProperty").bases("Node").build("value").field("value",r("FunctionTypeAnnotation")).field("static",Boolean,u.false),r("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("id",r("Identifier")),r("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("typeParameters",n(r("TypeParameterInstantiation"),null)),r("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",r("Identifier")).field("property",n(r("MemberTypeAnnotation"),r("GenericTypeAnnotation"))),r("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",r("FlowType")),r("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",r("FlowType")),r("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",r("Identifier")).field("value",r("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),r("TypeParameterDeclaration").bases("Node").build("params").field("params",[r("TypeParameter")]),r("TypeParameterInstantiation").bases("Node").build("params").field("params",[r("FlowType")]),r("TypeParameter").bases("FlowType").build("name","variance","bound").field("name",String).field("variance",l,u.null).field("bound",n(r("TypeAnnotation"),null),u.null),r("ClassProperty").field("variance",l,u.null),r("ClassImplements").bases("Node").build("id").field("id",r("Identifier")).field("superClass",n(r("Expression"),null),u.null).field("typeParameters",n(r("TypeParameterInstantiation"),null),u.null),r("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",r("ObjectTypeAnnotation")).field("extends",n([r("InterfaceExtends")],null),u.null),r("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null),u.null).field("body",r("ObjectTypeAnnotation")).field("extends",[r("InterfaceExtends")]),r("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),r("InterfaceExtends").bases("Node").build("id").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterInstantiation"),null),u.null),r("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("right",r("FlowType")),r("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("impltype",r("FlowType")).field("supertype",r("FlowType")),r("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),r("DeclareOpaqueType").bases("TypeAlias").build("id","typeParameters","supertype"),r("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",r("Expression")).field("typeAnnotation",r("TypeAnnotation")),r("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("DeclareVariable").bases("Statement").build("id").field("id",r("Identifier")),r("DeclareFunction").bases("Statement").build("id").field("id",r("Identifier")),r("DeclareClass").bases("InterfaceDeclaration").build("id"),r("DeclareModule").bases("Statement").build("id","body").field("id",n(r("Identifier"),r("Literal"))).field("body",r("BlockStatement")),r("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",r("TypeAnnotation")),r("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",n(r("DeclareVariable"),r("DeclareFunction"),r("DeclareClass"),r("FlowType"),null)).field("specifiers",[n(r("ExportSpecifier"),r("ExportBatchSpecifier"))],u.emptyArray).field("source",n(r("Literal"),null),u.null),r("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",n(r("Literal"),null),u.null),r("FlowPredicate").bases("Flow"),r("InferredPredicate").bases("FlowPredicate").build(),r("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",r("Expression")),r("CallExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),u.null),r("NewExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),u.null)},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./es7":103,"./type-annotations":107}],106:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./es7")),s=n(e("../lib/types")),a=n(e("../lib/shared"));r.default=function(e){e.use(i.default);var t=e.use(s.default),r=t.Type.def,n=t.Type.or,o=e.use(a.default).defaults;r("JSXAttribute").bases("Node").build("name","value").field("name",n(r("JSXIdentifier"),r("JSXNamespacedName"))).field("value",n(r("Literal"),r("JSXExpressionContainer"),null),o.null),r("JSXIdentifier").bases("Identifier").build("name").field("name",String),r("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",r("JSXIdentifier")).field("name",r("JSXIdentifier")),r("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",n(r("JSXIdentifier"),r("JSXMemberExpression"))).field("property",r("JSXIdentifier")).field("computed",Boolean,o.false);var u=n(r("JSXIdentifier"),r("JSXNamespacedName"),r("JSXMemberExpression"));r("JSXSpreadAttribute").bases("Node").build("argument").field("argument",r("Expression"));var l=[n(r("JSXAttribute"),r("JSXSpreadAttribute"))];r("JSXExpressionContainer").bases("Expression").build("expression").field("expression",r("Expression")),r("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",r("JSXOpeningElement")).field("closingElement",n(r("JSXClosingElement"),null),o.null).field("children",[n(r("JSXElement"),r("JSXExpressionContainer"),r("JSXFragment"),r("JSXText"),r("Literal"))],o.emptyArray).field("name",u,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",l,function(){return this.openingElement.attributes},!0),r("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",u).field("attributes",l,o.emptyArray).field("selfClosing",Boolean,o.false),r("JSXClosingElement").bases("Node").build("name").field("name",u),r("JSXFragment").bases("Expression").build("openingElement","closingElement","children").field("openingElement",r("JSXOpeningFragment")).field("closingElement",r("JSXClosingFragment")).field("children",[n(r("JSXElement"),r("JSXExpressionContainer"),r("JSXFragment"),r("JSXText"),r("Literal"))],o.emptyArray),r("JSXOpeningFragment").bases("Node").build(),r("JSXClosingFragment").bases("Node").build(),r("JSXText").bases("Literal").build("value").field("value",String),r("JSXEmptyExpression").bases("Expression").build(),r("JSXSpreadChild").bases("Expression").build("expression").field("expression",r("Expression"))},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./es7":103}],107:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("../lib/types")),s=n(e("../lib/shared"));r.default=function(e){var t=e.use(i.default),r=t.Type.def,n=t.Type.or,a=e.use(s.default).defaults,o=n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),u=n(r("TypeParameterDeclaration"),r("TSTypeParameterDeclaration"),null);r("Identifier").field("typeAnnotation",o,a.null),r("ObjectPattern").field("typeAnnotation",o,a.null),r("Function").field("returnType",o,a.null).field("typeParameters",u,a.null),r("ClassProperty").build("key","value","typeAnnotation","static").field("value",n(r("Expression"),null)).field("static",Boolean,a.false).field("typeAnnotation",o,a.null),["ClassDeclaration","ClassExpression"].forEach(function(e){r(e).field("typeParameters",u,a.null).field("superTypeParameters",n(r("TypeParameterInstantiation"),r("TSTypeParameterInstantiation"),null),a.null).field("implements",n([r("ClassImplements")],[r("TSExpressionWithTypeArguments")]),a.emptyArray)})},t.exports=r.default},{"../lib/shared":116,"../lib/types":117}],108:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./babel-core")),s=n(e("./type-annotations")),a=n(e("../lib/types")),o=n(e("../lib/shared"));r.default=function(e){e.use(i.default),e.use(s.default);var t=e.use(a.default),r=t.namedTypes,n=t.Type.def,u=t.Type.or,l=e.use(o.default).defaults,c=t.Type.from(function(e,t){return!(!r.StringLiteral||!r.StringLiteral.check(e,t))||!(!r.Literal||!r.Literal.check(e,t)||"string"!=typeof e.value)},"StringLiteral");n("TSType").bases("Node");var h=u(n("Identifier"),n("TSQualifiedName"));n("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",h),n("TSHasOptionalTypeParameterInstantiation").field("typeParameters",u(n("TSTypeParameterInstantiation"),null),l.null),n("TSHasOptionalTypeParameters").field("typeParameters",u(n("TSTypeParameterDeclaration"),null,void 0),l.null),n("TSHasOptionalTypeAnnotation").field("typeAnnotation",u(n("TSTypeAnnotation"),null),l.null),n("TSQualifiedName").bases("Node").build("left","right").field("left",h).field("right",h),n("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")).field("extra",u({parenthesized:Boolean},null),l.null),n("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",n("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSThisType"].forEach(function(e){n(e).bases("TSType").build()}),n("TSArrayType").bases("TSType").build("elementType").field("elementType",n("TSType")),n("TSLiteralType").bases("TSType").build("literal").field("literal",u(n("NumericLiteral"),n("StringLiteral"),n("BooleanLiteral"),n("TemplateLiteral"),n("UnaryExpression"))),["TSUnionType","TSIntersectionType"].forEach(function(e){n(e).bases("TSType").build("types").field("types",[n("TSType")])}),n("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",n("TSType")).field("extendsType",n("TSType")).field("trueType",n("TSType")).field("falseType",n("TSType")),n("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",n("TSTypeParameter")),n("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType"));var p=[u(n("Identifier"),n("RestElement"),n("ArrayPattern"),n("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(function(e){n(e).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",p)}),n("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,l.false).field("async",Boolean,l.false).field("generator",Boolean,l.false).field("id",u(n("Identifier"),null),l.null).field("params",[n("Pattern")]).field("returnType",u(n("TSTypeAnnotation"),n("Noop"),null),l.null),n("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,l.false).field("generator",Boolean,l.false).field("params",[n("Pattern")]).field("abstract",Boolean,l.false).field("accessibility",u("public","private","protected",void 0),l[void 0]).field("static",Boolean,l.false).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("key",u(n("Identifier"),n("StringLiteral"),n("NumericLiteral"),n("Expression"))).field("kind",u("get","set","method","constructor"),function(){return"method"}).field("access",u("public","private","protected",void 0),l[void 0]).field("decorators",u([n("Decorator")],null),l.null).field("returnType",u(n("TSTypeAnnotation"),n("Noop"),null),l.null),n("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",u(Boolean,"+","-"),l.false).field("typeParameter",n("TSTypeParameter")).field("optional",u(Boolean,"+","-"),l.false).field("typeAnnotation",u(n("TSType"),null),l.null),n("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[n("TSType")]),n("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",n("TSType")).field("indexType",n("TSType")),n("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",n("TSType")),n("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",u(n("TSType"),n("TSTypeAnnotation"))),n("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[n("Identifier")]).field("readonly",Boolean,l.false),n("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",n("Expression")).field("computed",Boolean,l.false).field("readonly",Boolean,l.false).field("optional",Boolean,l.false).field("initializer",u(n("Expression"),null),l.null),n("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",n("Expression")).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("parameters",p),n("TSTypePredicate").bases("TSTypeAnnotation").build("parameterName","typeAnnotation").field("parameterName",u(n("Identifier"),n("TSThisType"))).field("typeAnnotation",n("TSTypeAnnotation")),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(function(e){n(e).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",p)}),n("TSEnumMember").bases("Node").build("id","initializer").field("id",u(n("Identifier"),c)).field("initializer",u(n("Expression"),null),l.null),n("TSTypeQuery").bases("TSType").build("exprName").field("exprName",u(h,n("TSImportType")));var f=u(n("TSCallSignatureDeclaration"),n("TSConstructSignatureDeclaration"),n("TSIndexSignature"),n("TSMethodSignature"),n("TSPropertySignature"));n("TSTypeLiteral").bases("TSType").build("members").field("members",[f]),n("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",String).field("constraint",u(n("TSType"),void 0),l[void 0]).field("default",u(n("TSType"),void 0),l[void 0]),n("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",n("TSType")).field("expression",n("Expression")).field("extra",u({parenthesized:Boolean},null),l.null),n("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[n("TSTypeParameter")]),n("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[n("TSType")]),n("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",n("Identifier")).field("const",Boolean,l.false).field("declare",Boolean,l.false).field("members",[n("TSEnumMember")]).field("initializer",u(n("Expression"),null),l.null),n("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",n("Identifier")).field("declare",Boolean,l.false).field("typeAnnotation",n("TSType")),n("TSModuleBlock").bases("Node").build("body").field("body",[n("Statement")]),n("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",u(c,h)).field("declare",Boolean,l.false).field("global",Boolean,l.false).field("body",u(n("TSModuleBlock"),n("TSModuleDeclaration"),null),l.null),n("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",c).field("qualifier",u(h,void 0),l[void 0]),n("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",n("Identifier")).field("isExport",Boolean,l.false).field("moduleReference",u(h,n("TSExternalModuleReference"))),n("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",c),n("TSExportAssignment").bases("Statement").build("expression").field("expression",n("Expression")),n("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",n("Identifier")),n("TSInterfaceBody").bases("Node").build("body").field("body",[f]),n("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",h),n("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",h).field("declare",Boolean,l.false).field("extends",u([n("TSExpressionWithTypeArguments")],null),l.null).field("body",n("TSInterfaceBody")),n("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",u("public","private","protected",void 0),l[void 0]).field("readonly",Boolean,l.false).field("parameter",u(n("Identifier"),n("AssignmentPattern"))),n("ClassProperty").field("access",u("public","private","protected",void 0),l[void 0]),n("ClassBody").field("body",[u(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("ClassPrivateProperty"),n("ClassMethod"),n("ClassPrivateMethod"),n("TSDeclareMethod"),f)])},t.exports=r.default},{"../lib/shared":116,"../lib/types":117,"./babel-core":98,"./type-annotations":107}],109:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./lib/types")),s=n(e("./lib/path-visitor")),a=n(e("./lib/equiv")),o=n(e("./lib/path")),u=n(e("./lib/node-path"));r.default=function(e){var t=function(){var e=[],t=[],r={use:function(n){var i=e.indexOf(n);return-1===i&&(i=e.length,e.push(n),t[i]=n(r)),t[i]}};return r}(),r=t.use(i.default);e.forEach(t.use),r.finalize();var n=t.use(s.default);return{Type:r.Type,builtInTypes:r.builtInTypes,namedTypes:r.namedTypes,builders:r.builders,defineMethod:r.defineMethod,getFieldNames:r.getFieldNames,getFieldValue:r.getFieldValue,eachField:r.eachField,someField:r.someField,getSupertypeNames:r.getSupertypeNames,getBuilderName:r.getBuilderName,astNodesAreEquivalent:t.use(a.default),finalize:r.finalize,Path:t.use(o.default),NodePath:t.use(u.default),PathVisitor:n,use:t.use,visit:n.visit}},t.exports=r.default},{"./lib/equiv":111,"./lib/node-path":112,"./lib/path":114,"./lib/path-visitor":113,"./lib/types":117}],110:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.namedTypes||(r.namedTypes={})},{}],111:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./types"));r.default=function(e){var t=e.use(i.default),r=t.getFieldNames,n=t.getFieldValue,s=t.builtInTypes.array,a=t.builtInTypes.object,o=t.builtInTypes.Date,u=t.builtInTypes.RegExp,l=Object.prototype.hasOwnProperty;function c(e,t,r){return s.check(r)?r.length=0:r=null,p(e,t,r)}function h(e){return/[_$a-z][_$a-z0-9]*/i.test(e)?"."+e:"["+JSON.stringify(e)+"]"}function p(e,t,i){return e===t||(s.check(e)?function(e,t,r){s.assert(e);var n=e.length;if(!s.check(t)||t.length!==n)return r&&r.push("length"),!1;for(var i=0;ic)return!0;if(u===c&&"right"===this.name){if(i.right!==s)throw new Error("Nodes must be equal");return!0}default:return!1}case"SequenceExpression":switch(i.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0}case"YieldExpression":switch(i.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return"MemberExpression"===i.type&&o.check(n.value)&&"object"===this.name&&i.object===n;case"AssignmentExpression":case"ConditionalExpression":switch(i.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&i.callee===n;case"ConditionalExpression":return"test"===this.name&&i.test===n;case"MemberExpression":return"object"===this.name&&i.object===n;default:return!1}default:if("NewExpression"===i.type&&"callee"===this.name&&i.callee===n)return m(n)}return!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())};var d={};function m(e){return!!r.CallExpression.check(e)||(u.check(e)?e.some(m):!!r.Node.check(e)&&t.someField(e,function(e,t){return m(t)}))}return[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(e,t){e.forEach(function(e){d[e]=t})}),p.canBeFirstInStatement=function(){var e=this.node;return!r.FunctionExpression.check(e)&&!r.ObjectExpression.check(e)},p.firstInStatement=function(){return function(e){for(var t,n;e.parent;e=e.parent){if(t=e.node,n=e.parent.node,r.BlockStatement.check(n)&&"body"===e.parent.name&&0===e.name){if(n.body[0]!==t)throw new Error("Nodes must be equal");return!0}if(r.ExpressionStatement.check(n)&&"expression"===e.name){if(n.expression!==t)throw new Error("Nodes must be equal");return!0}if(r.SequenceExpression.check(n)&&"expressions"===e.parent.name&&0===e.name){if(n.expressions[0]!==t)throw new Error("Nodes must be equal")}else if(r.CallExpression.check(n)&&"callee"===e.name){if(n.callee!==t)throw new Error("Nodes must be equal")}else if(r.MemberExpression.check(n)&&"object"===e.name){if(n.object!==t)throw new Error("Nodes must be equal")}else if(r.ConditionalExpression.check(n)&&"test"===e.name){if(n.test!==t)throw new Error("Nodes must be equal")}else if(f(n)&&"left"===e.name){if(n.left!==t)throw new Error("Nodes must be equal")}else{if(!r.UnaryExpression.check(n)||n.prefix||"argument"!==e.name)return!1;if(n.argument!==t)throw new Error("Nodes must be equal")}}return!0}(this)},h},t.exports=r.default},{"./path":114,"./scope":115,"./types":117}],113:[function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=n(e("./types")),s=n(e("./node-path")),a=Object.prototype.hasOwnProperty;r.default=function(e){var t=e.use(i.default),r=e.use(s.default),n=t.builtInTypes.array,o=t.builtInTypes.object,u=t.builtInTypes.function,l=function e(){if(!(this instanceof e))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=function(e){var r=Object.create(null);for(var n in e)/^visit[A-Z]/.test(n)&&(r[n.slice("visit".length)]=!0);for(var i=t.computeSupertypeLookupTable(r),s=Object.create(null),a=Object.keys(i),o=a.length,l=0;l=0&&(i[e.name=s]=e)}else n[e.name]=e.value,i[e.name]=e;if(n[e.name]!==e.value)throw new Error("");if(e.parentPath.get(e.name)!==e)throw new Error("")}(this),r.check(n)){for(var o=n.length,l=h(this.parentPath,s-1,this.name+1),c=[this.name,1],p=0;p=e},s+" >= "+e)},defaults:{null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}},isPrimitive:r.from(function(e){if(null===e)return!0;var t=typeof e;return"object"!==t&&"function"!==t},a.toString())}},t.exports=r.default},{"./types":117}],117:[function(e,t,r){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(r,"__esModule",{value:!0});var s=Object.prototype,a=s.toString,o=s.hasOwnProperty,u=function(){function e(){}return e.prototype.assert=function(e,t){if(!this.check(e,t)){var r=y(e);throw new Error(r+" does not match type "+this)}return!0},e.prototype.arrayOf=function(){return new l(this)},e}(),l=function(e){function t(t){var r=e.call(this)||this;return r.elemType=t,r.kind="ArrayType",r}return i(t,e),t.prototype.toString=function(){return"["+this.elemType+"]"},t.prototype.check=function(e,t){var r=this;return Array.isArray(e)&&e.every(function(e){return r.elemType.check(e,t)})},t}(u),c=function(e){function t(t){var r=e.call(this)||this;return r.value=t,r.kind="IdentityType",r}return i(t,e),t.prototype.toString=function(){return String(this.value)},t.prototype.check=function(e,t){var r=e===this.value;return r||"function"!=typeof t||t(this,e),r},t}(u),h=function(e){function t(t){var r=e.call(this)||this;return r.fields=t,r.kind="ObjectType",r}return i(t,e),t.prototype.toString=function(){return"{ "+this.fields.join(", ")+" }"},t.prototype.check=function(e,t){return a.call(e)===a.call({})&&this.fields.every(function(r){return r.type.check(e[r.name],t)})},t}(u),p=function(e){function t(t){var r=e.call(this)||this;return r.types=t,r.kind="OrType",r}return i(t,e),t.prototype.toString=function(){return this.types.join(" | ")},t.prototype.check=function(e,t){return this.types.some(function(r){return r.check(e,t)})},t}(u),f=function(e){function t(t,r){var n=e.call(this)||this;return n.name=t,n.predicate=r,n.kind="PredicateType",n}return i(t,e),t.prototype.toString=function(){return this.name},t.prototype.check=function(e,t){var r=this.predicate(e,t);return r||"function"!=typeof t||t(this,e),r},t}(u),d=function(){function e(e,t){this.type=e,this.typeName=t,this.baseNames=[],this.ownFields=Object.create(null),this.allSupertypes=Object.create(null),this.supertypeList=[],this.allFields=Object.create(null),this.fieldNames=[],this.finalized=!1,this.buildable=!1,this.buildParams=[]}return e.prototype.isSupertypeOf=function(t){if(t instanceof e){if(!0!==this.finalized||!0!==t.finalized)throw new Error("");return o.call(t.allSupertypes,this.typeName)}throw new Error(t+" is not a Def")},e.prototype.checkAllFields=function(e,t){var r=this.allFields;if(!0!==this.finalized)throw new Error(""+this.typeName);return null!==e&&"object"==typeof e&&Object.keys(r).every(function(n){var i=r[n],s=i.type,a=i.getValue(e);return s.check(a,t)})},e.prototype.bases=function(){for(var e=[],t=0;t=0)return n[s];if("string"!=typeof i)throw new Error("missing name");return new f(i,e)}return new c(e)},def:function(e){return o.call(E,e)?E[e]:E[e]=new S(e)},hasDef:function(e){return o.call(E,e)}},r=[],n=[],s={};function u(e,t){var i=a.call(e),o=new f(t,function(e){return a.call(e)===i});return s[t]=o,e&&"function"==typeof e.constructor&&(r.push(e.constructor),n.push(o)),o}u("truthy","string");var g=u(function(){},"function"),b=u([],"array"),v=u({},"object"),x=(u(/./,"RegExp"),u(new Date,"Date"),u(3,"number"),u(!0,"boolean"),u(null,"null"),u(void 0,"undefined")),E=Object.create(null);function w(e){if(e&&"object"==typeof e){var t=e.type;if("string"==typeof t&&o.call(E,t)){var r=E[t];if(r.finalized)return r}}return null}var S=function(e){function r(t){var r=e.call(this,new f(t,function(e,t){return r.check(e,t)}),t)||this;return r}return i(r,e),r.prototype.check=function(e,t){if(!0!==this.finalized)throw new Error("prematurely checking unfinalized type "+this.typeName);if(null===e||"object"!=typeof e)return!1;var r=w(e);return r?t&&r===this?this.checkAllFields(e,t):!!this.isSupertypeOf(r)&&(!t||r.checkAllFields(e,t)&&this.checkAllFields(e,!1)):("SourceLocation"===this.typeName||"Position"===this.typeName)&&this.checkAllFields(e,t)},r.prototype.build=function(){for(var e=this,t=[],r=0;r=0&&function(e){var t=D(e);if(!A[t]){var r=A[_(e)];if(r){var n=function(){for(var e=[],t=0;t","<",">=","<="],o=r.EQUALITY_BINARY_OPERATORS=["==","===","!=","!=="],u=r.COMPARISON_BINARY_OPERATORS=[].concat(o,["in","instanceof"]),l=r.BOOLEAN_BINARY_OPERATORS=[].concat(u,a),c=r.NUMBER_BINARY_OPERATORS=["-","/","%","*","**","&","|",">>",">>>","<<","^"],h=(r.BINARY_OPERATORS=["+"].concat(c,l),r.BOOLEAN_UNARY_OPERATORS=["delete","!"]),p=r.NUMBER_UNARY_OPERATORS=["+","-","++","--","~"],f=r.STRING_UNARY_OPERATORS=["typeof"];r.UNARY_OPERATORS=["void"].concat(h,p,f),r.INHERIT_KEYS={optional:["typeAnnotation","typeParameters","returnType"],force:["start","loc","end"]},r.BLOCK_SCOPED_SYMBOL=(0,s.default)("var used to be block scoped"),r.NOT_LOCAL_BINDING=(0,s.default)("should not be considered a local binding")},{"babel-runtime/core-js/symbol/for":129}],133:[function(e,t,r){"use strict";r.__esModule=!0;var n=l(e("babel-runtime/core-js/number/max-safe-integer")),i=l(e("babel-runtime/core-js/json/stringify")),s=l(e("babel-runtime/core-js/get-iterator"));r.toComputedKey=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key||e.property;e.computed||u.isIdentifier(t)&&(t=u.stringLiteral(t.name));return t},r.toSequenceExpression=function(e,t){if(!e||!e.length)return;var r=[],n=function e(t,r,n){var i=[];var a=!0;for(var o=t,l=Array.isArray(o),c=0,o=l?o:(0,s.default)(o);;){var h;if(l){if(c>=o.length)break;h=o[c++]}else{if((c=o.next()).done)break;h=c.value}var p=h;if(a=!1,u.isExpression(p))i.push(p);else if(u.isExpressionStatement(p))i.push(p.expression);else if(u.isVariableDeclaration(p)){if("var"!==p.kind)return;for(var f=p.declarations,d=Array.isArray(f),m=0,f=d?f:(0,s.default)(f);;){var y;if(d){if(m>=f.length)break;y=f[m++]}else{if((m=f.next()).done)break;y=m.value}var g=y,b=u.getBindingIdentifiers(g);for(var v in b)n.push({kind:p.kind,id:b[v]});g.init&&i.push(u.assignmentExpression("=",g.id,g.init))}a=!0}else if(u.isIfStatement(p)){var x=p.consequent?e([p.consequent],r,n):r.buildUndefinedNode(),E=p.alternate?e([p.alternate],r,n):r.buildUndefinedNode();if(!x||!E)return;i.push(u.conditionalExpression(p.test,x,E))}else if(u.isBlockStatement(p)){var w=e(p.body,r,n);if(!w)return;i.push(w)}else{if(!u.isEmptyStatement(p))return;a=!0}}a&&i.push(r.buildUndefinedNode());return 1===i.length?i[0]:u.sequenceExpression(i)}(e,t,r);if(!n)return;for(var i=r,a=Array.isArray(i),o=0,i=a?i:(0,s.default)(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var c=l;t.push(c)}return n},r.toKeyAlias=c,r.toIdentifier=h,r.toBindingIdentifierName=function(e){"eval"!==(e=h(e))&&"arguments"!==e||(e="_"+e);return e},r.toStatement=function(e,t){if(u.isStatement(e))return e;var r=!1,n=void 0;if(u.isClass(e))r=!0,n="ClassDeclaration";else if(u.isFunction(e))r=!0,n="FunctionDeclaration";else if(u.isAssignmentExpression(e))return u.expressionStatement(e);r&&!e.id&&(n=!1);if(!n){if(t)return!1;throw new Error("cannot turn "+e.type+" to a statement")}return e.type=n,e},r.toExpression=function(e){u.isExpressionStatement(e)&&(e=e.expression);if(u.isExpression(e))return e;u.isClass(e)?e.type="ClassExpression":u.isFunction(e)&&(e.type="FunctionExpression");if(!u.isExpression(e))throw new Error("cannot turn "+e.type+" to an expression");return e},r.toBlock=function(e,t){if(u.isBlockStatement(e))return e;u.isEmptyStatement(e)&&(e=[]);Array.isArray(e)||(u.isStatement(e)||(e=u.isFunction(t)?u.returnStatement(e):u.expressionStatement(e)),e=[e]);return u.blockStatement(e)},r.valueToNode=function(e){if(void 0===e)return u.identifier("undefined");if(!0===e||!1===e)return u.booleanLiteral(e);if(null===e)return u.nullLiteral();if("string"==typeof e)return u.stringLiteral(e);if("number"==typeof e)return u.numericLiteral(e);if((0,o.default)(e)){var t=e.source,r=e.toString().match(/\/([a-z]+|)$/)[1];return u.regExpLiteral(t,r)}if(Array.isArray(e))return u.arrayExpression(e.map(u.valueToNode));if((0,a.default)(e)){var n=[];for(var i in e){var s=void 0;s=u.isValidIdentifier(i)?u.identifier(i):u.stringLiteral(i),n.push(u.objectProperty(s,u.valueToNode(e[i])))}return u.objectExpression(n)}throw new Error("don't know how to turn this value into a node")};var a=l(e("lodash/isPlainObject")),o=l(e("lodash/isRegExp")),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./index"));function l(e){return e&&e.__esModule?e:{default:e}}function c(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e.key,r=void 0;return"method"===e.kind?c.increment()+"":(r=u.isIdentifier(t)?t.name:u.isStringLiteral(t)?(0,i.default)(t.value):(0,i.default)(u.removePropertiesDeep(u.cloneDeep(t))),e.computed&&(r="["+r+"]"),e.static&&(r="static:"+r),r)}function h(e){return e=(e=(e=(e+="").replace(/[^a-zA-Z0-9$_]/g,"-")).replace(/^[-0-9]+/,"")).replace(/[-\s]+(.)?/g,function(e,t){return t?t.toUpperCase():""}),u.isValidIdentifier(e)||(e="_"+e),e||"_"}c.uid=0,c.increment=function(){return c.uid>=n.default?c.uid=0:c.uid++}},{"./index":143,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/json/stringify":121,"babel-runtime/core-js/number/max-safe-integer":122,"lodash/isPlainObject":580,"lodash/isRegExp":581}],134:[function(e,t,r){"use strict";var n,i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../index")),s=e("../constants"),a=e("./index"),o=(n=a)&&n.__esModule?n:{default:n};(0,o.default)("ArrayExpression",{fields:{elements:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeOrValueType)("null","Expression","SpreadElement"))),default:[]}},visitor:["elements"],aliases:["Expression"]}),(0,o.default)("AssignmentExpression",{fields:{operator:{validate:(0,a.assertValueType)("string")},left:{validate:(0,a.assertNodeType)("LVal")},right:{validate:(0,a.assertNodeType)("Expression")}},builder:["operator","left","right"],visitor:["left","right"],aliases:["Expression"]}),(0,o.default)("BinaryExpression",{builder:["operator","left","right"],fields:{operator:{validate:a.assertOneOf.apply(void 0,s.BINARY_OPERATORS)},left:{validate:(0,a.assertNodeType)("Expression")},right:{validate:(0,a.assertNodeType)("Expression")}},visitor:["left","right"],aliases:["Binary","Expression"]}),(0,o.default)("Directive",{visitor:["value"],fields:{value:{validate:(0,a.assertNodeType)("DirectiveLiteral")}}}),(0,o.default)("DirectiveLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("string")}}}),(0,o.default)("BlockStatement",{builder:["body","directives"],visitor:["directives","body"],fields:{directives:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Directive"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","Statement"]}),(0,o.default)("BreakStatement",{visitor:["label"],fields:{label:{validate:(0,a.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,o.default)("CallExpression",{visitor:["callee","arguments"],fields:{callee:{validate:(0,a.assertNodeType)("Expression")},arguments:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression","SpreadElement")))}},aliases:["Expression"]}),(0,o.default)("CatchClause",{visitor:["param","body"],fields:{param:{validate:(0,a.assertNodeType)("Identifier")},body:{validate:(0,a.assertNodeType)("BlockStatement")}},aliases:["Scopable"]}),(0,o.default)("ConditionalExpression",{visitor:["test","consequent","alternate"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},consequent:{validate:(0,a.assertNodeType)("Expression")},alternate:{validate:(0,a.assertNodeType)("Expression")}},aliases:["Expression","Conditional"]}),(0,o.default)("ContinueStatement",{visitor:["label"],fields:{label:{validate:(0,a.assertNodeType)("Identifier"),optional:!0}},aliases:["Statement","Terminatorless","CompletionStatement"]}),(0,o.default)("DebuggerStatement",{aliases:["Statement"]}),(0,o.default)("DoWhileStatement",{visitor:["test","body"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("Statement")}},aliases:["Statement","BlockParent","Loop","While","Scopable"]}),(0,o.default)("EmptyStatement",{aliases:["Statement"]}),(0,o.default)("ExpressionStatement",{visitor:["expression"],fields:{expression:{validate:(0,a.assertNodeType)("Expression")}},aliases:["Statement","ExpressionWrapper"]}),(0,o.default)("File",{builder:["program","comments","tokens"],visitor:["program"],fields:{program:{validate:(0,a.assertNodeType)("Program")}}}),(0,o.default)("ForInStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,a.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("ForStatement",{visitor:["init","test","update","body"],aliases:["Scopable","Statement","For","BlockParent","Loop"],fields:{init:{validate:(0,a.assertNodeType)("VariableDeclaration","Expression"),optional:!0},test:{validate:(0,a.assertNodeType)("Expression"),optional:!0},update:{validate:(0,a.assertNodeType)("Expression"),optional:!0},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("FunctionDeclaration",{builder:["id","params","body","generator","async"],visitor:["id","params","body","returnType","typeParameters"],fields:{id:{validate:(0,a.assertNodeType)("Identifier")},params:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("LVal")))},body:{validate:(0,a.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,a.assertValueType)("boolean")},async:{default:!1,validate:(0,a.assertValueType)("boolean")}},aliases:["Scopable","Function","BlockParent","FunctionParent","Statement","Pureish","Declaration"]}),(0,o.default)("FunctionExpression",{inherits:"FunctionDeclaration",aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:{id:{validate:(0,a.assertNodeType)("Identifier"),optional:!0},params:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("LVal")))},body:{validate:(0,a.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,a.assertValueType)("boolean")},async:{default:!1,validate:(0,a.assertValueType)("boolean")}}}),(0,o.default)("Identifier",{builder:["name"],visitor:["typeAnnotation"],aliases:["Expression","LVal"],fields:{name:{validate:function(e,t,r){i.isValidIdentifier(r)}},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))}}}),(0,o.default)("IfStatement",{visitor:["test","consequent","alternate"],aliases:["Statement","Conditional"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},consequent:{validate:(0,a.assertNodeType)("Statement")},alternate:{optional:!0,validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("LabeledStatement",{visitor:["label","body"],aliases:["Statement"],fields:{label:{validate:(0,a.assertNodeType)("Identifier")},body:{validate:(0,a.assertNodeType)("Statement")}}}),(0,o.default)("StringLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("string")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NumericLiteral",{builder:["value"],deprecatedAlias:"NumberLiteral",fields:{value:{validate:(0,a.assertValueType)("number")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("NullLiteral",{aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("BooleanLiteral",{builder:["value"],fields:{value:{validate:(0,a.assertValueType)("boolean")}},aliases:["Expression","Pureish","Literal","Immutable"]}),(0,o.default)("RegExpLiteral",{builder:["pattern","flags"],deprecatedAlias:"RegexLiteral",aliases:["Expression","Literal"],fields:{pattern:{validate:(0,a.assertValueType)("string")},flags:{validate:(0,a.assertValueType)("string"),default:""}}}),(0,o.default)("LogicalExpression",{builder:["operator","left","right"],visitor:["left","right"],aliases:["Binary","Expression"],fields:{operator:{validate:a.assertOneOf.apply(void 0,s.LOGICAL_OPERATORS)},left:{validate:(0,a.assertNodeType)("Expression")},right:{validate:(0,a.assertNodeType)("Expression")}}}),(0,o.default)("MemberExpression",{builder:["object","property","computed"],visitor:["object","property"],aliases:["Expression","LVal"],fields:{object:{validate:(0,a.assertNodeType)("Expression")},property:{validate:function(e,t,r){var n=e.computed?"Expression":"Identifier";(0,a.assertNodeType)(n)(e,t,r)}},computed:{default:!1}}}),(0,o.default)("NewExpression",{visitor:["callee","arguments"],aliases:["Expression"],fields:{callee:{validate:(0,a.assertNodeType)("Expression")},arguments:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression","SpreadElement")))}}}),(0,o.default)("Program",{visitor:["directives","body"],builder:["body","directives"],fields:{directives:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Directive"))),default:[]},body:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}},aliases:["Scopable","BlockParent","Block","FunctionParent"]}),(0,o.default)("ObjectExpression",{visitor:["properties"],aliases:["Expression"],fields:{properties:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("ObjectMethod","ObjectProperty","SpreadProperty")))}}}),(0,o.default)("ObjectMethod",{builder:["kind","key","params","body","computed"],fields:{kind:{validate:(0,a.chain)((0,a.assertValueType)("string"),(0,a.assertOneOf)("method","get","set")),default:"method"},computed:{validate:(0,a.assertValueType)("boolean"),default:!1},key:{validate:function(e,t,r){var n=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];a.assertNodeType.apply(void 0,n)(e,t,r)}},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))},body:{validate:(0,a.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,a.assertValueType)("boolean")},async:{default:!1,validate:(0,a.assertValueType)("boolean")}},visitor:["key","params","body","decorators","returnType","typeParameters"],aliases:["UserWhitespacable","Function","Scopable","BlockParent","FunctionParent","Method","ObjectMember"]}),(0,o.default)("ObjectProperty",{builder:["key","value","computed","shorthand","decorators"],fields:{computed:{validate:(0,a.assertValueType)("boolean"),default:!1},key:{validate:function(e,t,r){var n=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];a.assertNodeType.apply(void 0,n)(e,t,r)}},value:{validate:(0,a.assertNodeType)("Expression","Pattern","RestElement")},shorthand:{validate:(0,a.assertValueType)("boolean"),default:!1},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator"))),optional:!0}},visitor:["key","value","decorators"],aliases:["UserWhitespacable","Property","ObjectMember"]}),(0,o.default)("RestElement",{visitor:["argument","typeAnnotation"],aliases:["LVal"],fields:{argument:{validate:(0,a.assertNodeType)("LVal")},decorators:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Decorator")))}}}),(0,o.default)("ReturnStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,a.assertNodeType)("Expression"),optional:!0}}}),(0,o.default)("SequenceExpression",{visitor:["expressions"],fields:{expressions:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Expression")))}},aliases:["Expression"]}),(0,o.default)("SwitchCase",{visitor:["test","consequent"],fields:{test:{validate:(0,a.assertNodeType)("Expression"),optional:!0},consequent:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("Statement")))}}}),(0,o.default)("SwitchStatement",{visitor:["discriminant","cases"],aliases:["Statement","BlockParent","Scopable"],fields:{discriminant:{validate:(0,a.assertNodeType)("Expression")},cases:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("SwitchCase")))}}}),(0,o.default)("ThisExpression",{aliases:["Expression"]}),(0,o.default)("ThrowStatement",{visitor:["argument"],aliases:["Statement","Terminatorless","CompletionStatement"],fields:{argument:{validate:(0,a.assertNodeType)("Expression")}}}),(0,o.default)("TryStatement",{visitor:["block","handler","finalizer"],aliases:["Statement"],fields:{body:{validate:(0,a.assertNodeType)("BlockStatement")},handler:{optional:!0,handler:(0,a.assertNodeType)("BlockStatement")},finalizer:{optional:!0,validate:(0,a.assertNodeType)("BlockStatement")}}}),(0,o.default)("UnaryExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!0},argument:{validate:(0,a.assertNodeType)("Expression")},operator:{validate:a.assertOneOf.apply(void 0,s.UNARY_OPERATORS)}},visitor:["argument"],aliases:["UnaryLike","Expression"]}),(0,o.default)("UpdateExpression",{builder:["operator","argument","prefix"],fields:{prefix:{default:!1},argument:{validate:(0,a.assertNodeType)("Expression")},operator:{validate:a.assertOneOf.apply(void 0,s.UPDATE_OPERATORS)}},visitor:["argument"],aliases:["Expression"]}),(0,o.default)("VariableDeclaration",{builder:["kind","declarations"],visitor:["declarations"],aliases:["Statement","Declaration"],fields:{kind:{validate:(0,a.chain)((0,a.assertValueType)("string"),(0,a.assertOneOf)("var","let","const"))},declarations:{validate:(0,a.chain)((0,a.assertValueType)("array"),(0,a.assertEach)((0,a.assertNodeType)("VariableDeclarator")))}}}),(0,o.default)("VariableDeclarator",{visitor:["id","init"],fields:{id:{validate:(0,a.assertNodeType)("LVal")},init:{optional:!0,validate:(0,a.assertNodeType)("Expression")}}}),(0,o.default)("WhileStatement",{visitor:["test","body"],aliases:["Statement","BlockParent","Loop","While","Scopable"],fields:{test:{validate:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("BlockStatement","Statement")}}}),(0,o.default)("WithStatement",{visitor:["object","body"],aliases:["Statement"],fields:{object:{object:(0,a.assertNodeType)("Expression")},body:{validate:(0,a.assertNodeType)("BlockStatement","Statement")}}})},{"../constants":132,"../index":143,"./index":138}],135:[function(e,t,r){"use strict";var n,i=e("./index"),s=(n=i)&&n.__esModule?n:{default:n};(0,s.default)("AssignmentPattern",{visitor:["left","right"],aliases:["Pattern","LVal"],fields:{left:{validate:(0,i.assertNodeType)("Identifier")},right:{validate:(0,i.assertNodeType)("Expression")},decorators:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("Decorator")))}}}),(0,s.default)("ArrayPattern",{visitor:["elements","typeAnnotation"],aliases:["Pattern","LVal"],fields:{elements:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("Identifier","Pattern","RestElement")))},decorators:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("Decorator")))}}}),(0,s.default)("ArrowFunctionExpression",{builder:["params","body","async"],visitor:["params","body","returnType","typeParameters"],aliases:["Scopable","Function","BlockParent","FunctionParent","Expression","Pureish"],fields:{params:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("LVal")))},body:{validate:(0,i.assertNodeType)("BlockStatement","Expression")},async:{validate:(0,i.assertValueType)("boolean"),default:!1}}}),(0,s.default)("ClassBody",{visitor:["body"],fields:{body:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("ClassMethod","ClassProperty")))}}}),(0,s.default)("ClassDeclaration",{builder:["id","superClass","body","decorators"],visitor:["id","body","superClass","mixins","typeParameters","superTypeParameters","implements","decorators"],aliases:["Scopable","Class","Statement","Declaration","Pureish"],fields:{id:{validate:(0,i.assertNodeType)("Identifier")},body:{validate:(0,i.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,i.assertNodeType)("Expression")},decorators:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("Decorator")))}}}),(0,s.default)("ClassExpression",{inherits:"ClassDeclaration",aliases:["Scopable","Class","Expression","Pureish"],fields:{id:{optional:!0,validate:(0,i.assertNodeType)("Identifier")},body:{validate:(0,i.assertNodeType)("ClassBody")},superClass:{optional:!0,validate:(0,i.assertNodeType)("Expression")},decorators:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("Decorator")))}}}),(0,s.default)("ExportAllDeclaration",{visitor:["source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{source:{validate:(0,i.assertNodeType)("StringLiteral")}}}),(0,s.default)("ExportDefaultDeclaration",{visitor:["declaration"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,i.assertNodeType)("FunctionDeclaration","ClassDeclaration","Expression")}}}),(0,s.default)("ExportNamedDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration","ExportDeclaration"],fields:{declaration:{validate:(0,i.assertNodeType)("Declaration"),optional:!0},specifiers:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("ExportSpecifier")))},source:{validate:(0,i.assertNodeType)("StringLiteral"),optional:!0}}}),(0,s.default)("ExportSpecifier",{visitor:["local","exported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,i.assertNodeType)("Identifier")},exported:{validate:(0,i.assertNodeType)("Identifier")}}}),(0,s.default)("ForOfStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,i.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,i.assertNodeType)("Expression")},body:{validate:(0,i.assertNodeType)("Statement")}}}),(0,s.default)("ImportDeclaration",{visitor:["specifiers","source"],aliases:["Statement","Declaration","ModuleDeclaration"],fields:{specifiers:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("ImportSpecifier","ImportDefaultSpecifier","ImportNamespaceSpecifier")))},source:{validate:(0,i.assertNodeType)("StringLiteral")}}}),(0,s.default)("ImportDefaultSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,i.assertNodeType)("Identifier")}}}),(0,s.default)("ImportNamespaceSpecifier",{visitor:["local"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,i.assertNodeType)("Identifier")}}}),(0,s.default)("ImportSpecifier",{visitor:["local","imported"],aliases:["ModuleSpecifier"],fields:{local:{validate:(0,i.assertNodeType)("Identifier")},imported:{validate:(0,i.assertNodeType)("Identifier")},importKind:{validate:(0,i.assertOneOf)(null,"type","typeof")}}}),(0,s.default)("MetaProperty",{visitor:["meta","property"],aliases:["Expression"],fields:{meta:{validate:(0,i.assertValueType)("string")},property:{validate:(0,i.assertValueType)("string")}}}),(0,s.default)("ClassMethod",{aliases:["Function","Scopable","BlockParent","FunctionParent","Method"],builder:["kind","key","params","body","computed","static"],visitor:["key","params","body","decorators","returnType","typeParameters"],fields:{kind:{validate:(0,i.chain)((0,i.assertValueType)("string"),(0,i.assertOneOf)("get","set","method","constructor")),default:"method"},computed:{default:!1,validate:(0,i.assertValueType)("boolean")},static:{default:!1,validate:(0,i.assertValueType)("boolean")},key:{validate:function(e,t,r){var n=e.computed?["Expression"]:["Identifier","StringLiteral","NumericLiteral"];i.assertNodeType.apply(void 0,n)(e,t,r)}},params:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("LVal")))},body:{validate:(0,i.assertNodeType)("BlockStatement")},generator:{default:!1,validate:(0,i.assertValueType)("boolean")},async:{default:!1,validate:(0,i.assertValueType)("boolean")}}}),(0,s.default)("ObjectPattern",{visitor:["properties","typeAnnotation"],aliases:["Pattern","LVal"],fields:{properties:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("RestProperty","Property")))},decorators:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("Decorator")))}}}),(0,s.default)("SpreadElement",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,i.assertNodeType)("Expression")}}}),(0,s.default)("Super",{aliases:["Expression"]}),(0,s.default)("TaggedTemplateExpression",{visitor:["tag","quasi"],aliases:["Expression"],fields:{tag:{validate:(0,i.assertNodeType)("Expression")},quasi:{validate:(0,i.assertNodeType)("TemplateLiteral")}}}),(0,s.default)("TemplateElement",{builder:["value","tail"],fields:{value:{},tail:{validate:(0,i.assertValueType)("boolean"),default:!1}}}),(0,s.default)("TemplateLiteral",{visitor:["quasis","expressions"],aliases:["Expression","Literal"],fields:{quasis:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("TemplateElement")))},expressions:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("Expression")))}}}),(0,s.default)("YieldExpression",{builder:["argument","delegate"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{delegate:{validate:(0,i.assertValueType)("boolean"),default:!1},argument:{optional:!0,validate:(0,i.assertNodeType)("Expression")}}})},{"./index":138}],136:[function(e,t,r){"use strict";var n,i=e("./index"),s=(n=i)&&n.__esModule?n:{default:n};(0,s.default)("AwaitExpression",{builder:["argument"],visitor:["argument"],aliases:["Expression","Terminatorless"],fields:{argument:{validate:(0,i.assertNodeType)("Expression")}}}),(0,s.default)("ForAwaitStatement",{visitor:["left","right","body"],aliases:["Scopable","Statement","For","BlockParent","Loop","ForXStatement"],fields:{left:{validate:(0,i.assertNodeType)("VariableDeclaration","LVal")},right:{validate:(0,i.assertNodeType)("Expression")},body:{validate:(0,i.assertNodeType)("Statement")}}}),(0,s.default)("BindExpression",{visitor:["object","callee"],aliases:["Expression"],fields:{}}),(0,s.default)("Import",{aliases:["Expression"]}),(0,s.default)("Decorator",{visitor:["expression"],fields:{expression:{validate:(0,i.assertNodeType)("Expression")}}}),(0,s.default)("DoExpression",{visitor:["body"],aliases:["Expression"],fields:{body:{validate:(0,i.assertNodeType)("BlockStatement")}}}),(0,s.default)("ExportDefaultSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,i.assertNodeType)("Identifier")}}}),(0,s.default)("ExportNamespaceSpecifier",{visitor:["exported"],aliases:["ModuleSpecifier"],fields:{exported:{validate:(0,i.assertNodeType)("Identifier")}}}),(0,s.default)("RestProperty",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,i.assertNodeType)("LVal")}}}),(0,s.default)("SpreadProperty",{visitor:["argument"],aliases:["UnaryLike"],fields:{argument:{validate:(0,i.assertNodeType)("Expression")}}})},{"./index":138}],137:[function(e,t,r){"use strict";var n,i=e("./index"),s=(n=i)&&n.__esModule?n:{default:n};(0,s.default)("AnyTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,s.default)("ArrayTypeAnnotation",{visitor:["elementType"],aliases:["Flow"],fields:{}}),(0,s.default)("BooleanTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,s.default)("BooleanLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,s.default)("NullLiteralTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,s.default)("ClassImplements",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,s.default)("ClassProperty",{visitor:["key","value","typeAnnotation","decorators"],builder:["key","value","typeAnnotation","decorators","computed"],aliases:["Property"],fields:{computed:{validate:(0,i.assertValueType)("boolean"),default:!1}}}),(0,s.default)("DeclareClass",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareFunction",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareInterface",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareModule",{visitor:["id","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareModuleExports",{visitor:["typeAnnotation"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareTypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareOpaqueType",{visitor:["id","typeParameters","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareVariable",{visitor:["id"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("DeclareExportDeclaration",{visitor:["declaration","specifiers","source"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("ExistentialTypeParam",{aliases:["Flow"]}),(0,s.default)("FunctionTypeAnnotation",{visitor:["typeParameters","params","rest","returnType"],aliases:["Flow"],fields:{}}),(0,s.default)("FunctionTypeParam",{visitor:["name","typeAnnotation"],aliases:["Flow"],fields:{}}),(0,s.default)("GenericTypeAnnotation",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,s.default)("InterfaceExtends",{visitor:["id","typeParameters"],aliases:["Flow"],fields:{}}),(0,s.default)("InterfaceDeclaration",{visitor:["id","typeParameters","extends","body"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("IntersectionTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,s.default)("MixedTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"]}),(0,s.default)("EmptyTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"]}),(0,s.default)("NullableTypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow"],fields:{}}),(0,s.default)("NumericLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,s.default)("NumberTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,s.default)("StringLiteralTypeAnnotation",{aliases:["Flow"],fields:{}}),(0,s.default)("StringTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,s.default)("ThisTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}}),(0,s.default)("TupleTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,s.default)("TypeofTypeAnnotation",{visitor:["argument"],aliases:["Flow"],fields:{}}),(0,s.default)("TypeAlias",{visitor:["id","typeParameters","right"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("OpaqueType",{visitor:["id","typeParameters","impltype","supertype"],aliases:["Flow","FlowDeclaration","Statement","Declaration"],fields:{}}),(0,s.default)("TypeAnnotation",{visitor:["typeAnnotation"],aliases:["Flow"],fields:{}}),(0,s.default)("TypeCastExpression",{visitor:["expression","typeAnnotation"],aliases:["Flow","ExpressionWrapper","Expression"],fields:{}}),(0,s.default)("TypeParameter",{visitor:["bound"],aliases:["Flow"],fields:{}}),(0,s.default)("TypeParameterDeclaration",{visitor:["params"],aliases:["Flow"],fields:{}}),(0,s.default)("TypeParameterInstantiation",{visitor:["params"],aliases:["Flow"],fields:{}}),(0,s.default)("ObjectTypeAnnotation",{visitor:["properties","indexers","callProperties"],aliases:["Flow"],fields:{}}),(0,s.default)("ObjectTypeCallProperty",{visitor:["value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,s.default)("ObjectTypeIndexer",{visitor:["id","key","value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,s.default)("ObjectTypeProperty",{visitor:["key","value"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,s.default)("ObjectTypeSpreadProperty",{visitor:["argument"],aliases:["Flow","UserWhitespacable"],fields:{}}),(0,s.default)("QualifiedTypeIdentifier",{visitor:["id","qualification"],aliases:["Flow"],fields:{}}),(0,s.default)("UnionTypeAnnotation",{visitor:["types"],aliases:["Flow"],fields:{}}),(0,s.default)("VoidTypeAnnotation",{aliases:["Flow","FlowBaseAnnotation"],fields:{}})},{"./index":138}],138:[function(e,t,r){"use strict";r.__esModule=!0,r.DEPRECATED_KEYS=r.BUILDER_KEYS=r.NODE_FIELDS=r.ALIAS_KEYS=r.VISITOR_KEYS=void 0;var n=o(e("babel-runtime/core-js/get-iterator")),i=o(e("babel-runtime/core-js/json/stringify")),s=o(e("babel-runtime/helpers/typeof"));r.assertEach=function(e){function t(t,r,n){if(Array.isArray(n))for(var i=0;i=u.length)break;h=u[c++]}else{if((c=u.next()).done)break;h=c.value}var p=h;if(a.is(p,s)){o=!0;break}}if(!o)throw new TypeError("Property "+r+" of "+e.type+" expected node to be of a type "+(0,i.default)(t)+" but instead got "+(0,i.default)(s&&s.type))}return s.oneOfNodeTypes=t,s},r.assertNodeOrValueType=function(){for(var e=arguments.length,t=Array(e),r=0;r=u.length)break;h=u[c++]}else{if((c=u.next()).done)break;h=c.value}var p=h;if(f(s)===p||a.is(p,s)){o=!0;break}}if(!o)throw new TypeError("Property "+r+" of "+e.type+" expected node to be of a type "+(0,i.default)(t)+" but instead got "+(0,i.default)(s&&s.type))}return s.oneOfNodeOrValueTypes=t,s},r.assertValueType=d,r.chain=function(){for(var e=arguments.length,t=Array(e),r=0;r=e.length)break;s=e[i++]}else{if((i=e.next()).done)break;s=i.value}var a=s;a.apply(void 0,arguments)}}return i.chainOf=t,i},r.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.inherits&&m[t.inherits]||{};t.fields=t.fields||r.fields||{},t.visitor=t.visitor||r.visitor||[],t.aliases=t.aliases||r.aliases||[],t.builder=t.builder||r.builder||t.visitor||[],t.deprecatedAlias&&(p[t.deprecatedAlias]=e);for(var i=t.visitor.concat(t.builder),s=Array.isArray(i),a=0,i=s?i:(0,n.default)(i);;){var o;if(s){if(a>=i.length)break;o=i[a++]}else{if((a=i.next()).done)break;o=a.value}var y=o;t.fields[y]=t.fields[y]||{}}for(var g in t.fields){var b=t.fields[g];-1===t.builder.indexOf(g)&&(b.optional=!0),void 0===b.default?b.default=null:b.validate||(b.validate=d(f(b.default)))}u[e]=t.visitor,h[e]=t.builder,c[e]=t.fields,l[e]=t.aliases,m[e]=t};var a=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("../index"));function o(e){return e&&e.__esModule?e:{default:e}}var u=r.VISITOR_KEYS={},l=r.ALIAS_KEYS={},c=r.NODE_FIELDS={},h=r.BUILDER_KEYS={},p=r.DEPRECATED_KEYS={};function f(e){return Array.isArray(e)?"array":null===e?"null":void 0===e?"undefined":void 0===e?"undefined":(0,s.default)(e)}function d(e){function t(t,r,n){if(!(f(n)===e))throw new TypeError("Property "+r+" expected type of "+e+" but got "+f(n))}return t.type=e,t}var m={}},{"../index":143,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/json/stringify":121,"babel-runtime/helpers/typeof":131}],139:[function(e,t,r){"use strict";e("./index"),e("./core"),e("./es2015"),e("./flow"),e("./jsx"),e("./misc"),e("./experimental")},{"./core":134,"./es2015":135,"./experimental":136,"./flow":137,"./index":138,"./jsx":140,"./misc":141}],140:[function(e,t,r){"use strict";var n,i=e("./index"),s=(n=i)&&n.__esModule?n:{default:n};(0,s.default)("JSXAttribute",{visitor:["name","value"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,i.assertNodeType)("JSXIdentifier","JSXNamespacedName")},value:{optional:!0,validate:(0,i.assertNodeType)("JSXElement","StringLiteral","JSXExpressionContainer")}}}),(0,s.default)("JSXClosingElement",{visitor:["name"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,i.assertNodeType)("JSXIdentifier","JSXMemberExpression")}}}),(0,s.default)("JSXElement",{builder:["openingElement","closingElement","children","selfClosing"],visitor:["openingElement","children","closingElement"],aliases:["JSX","Immutable","Expression"],fields:{openingElement:{validate:(0,i.assertNodeType)("JSXOpeningElement")},closingElement:{optional:!0,validate:(0,i.assertNodeType)("JSXClosingElement")},children:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("JSXText","JSXExpressionContainer","JSXSpreadChild","JSXElement")))}}}),(0,s.default)("JSXEmptyExpression",{aliases:["JSX","Expression"]}),(0,s.default)("JSXExpressionContainer",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,i.assertNodeType)("Expression")}}}),(0,s.default)("JSXSpreadChild",{visitor:["expression"],aliases:["JSX","Immutable"],fields:{expression:{validate:(0,i.assertNodeType)("Expression")}}}),(0,s.default)("JSXIdentifier",{builder:["name"],aliases:["JSX","Expression"],fields:{name:{validate:(0,i.assertValueType)("string")}}}),(0,s.default)("JSXMemberExpression",{visitor:["object","property"],aliases:["JSX","Expression"],fields:{object:{validate:(0,i.assertNodeType)("JSXMemberExpression","JSXIdentifier")},property:{validate:(0,i.assertNodeType)("JSXIdentifier")}}}),(0,s.default)("JSXNamespacedName",{visitor:["namespace","name"],aliases:["JSX"],fields:{namespace:{validate:(0,i.assertNodeType)("JSXIdentifier")},name:{validate:(0,i.assertNodeType)("JSXIdentifier")}}}),(0,s.default)("JSXOpeningElement",{builder:["name","attributes","selfClosing"],visitor:["name","attributes"],aliases:["JSX","Immutable"],fields:{name:{validate:(0,i.assertNodeType)("JSXIdentifier","JSXMemberExpression")},selfClosing:{default:!1,validate:(0,i.assertValueType)("boolean")},attributes:{validate:(0,i.chain)((0,i.assertValueType)("array"),(0,i.assertEach)((0,i.assertNodeType)("JSXAttribute","JSXSpreadAttribute")))}}}),(0,s.default)("JSXSpreadAttribute",{visitor:["argument"],aliases:["JSX"],fields:{argument:{validate:(0,i.assertNodeType)("Expression")}}}),(0,s.default)("JSXText",{aliases:["JSX","Immutable"],builder:["value"],fields:{value:{validate:(0,i.assertValueType)("string")}}})},{"./index":138}],141:[function(e,t,r){"use strict";var n,i=e("./index"),s=(n=i)&&n.__esModule?n:{default:n};(0,s.default)("Noop",{visitor:[]}),(0,s.default)("ParenthesizedExpression",{visitor:["expression"],aliases:["Expression","ExpressionWrapper"],fields:{expression:{validate:(0,i.assertNodeType)("Expression")}}})},{"./index":138}],142:[function(e,t,r){"use strict";r.__esModule=!0,r.createUnionTypeAnnotation=function(e){var t=i(e);return 1===t.length?t[0]:n.unionTypeAnnotation(t)},r.removeTypeDuplicates=i,r.createTypeAnnotationBasedOnTypeof=function(e){if("string"===e)return n.stringTypeAnnotation();if("number"===e)return n.numberTypeAnnotation();if("undefined"===e)return n.voidTypeAnnotation();if("boolean"===e)return n.booleanTypeAnnotation();if("function"===e)return n.genericTypeAnnotation(n.identifier("Function"));if("object"===e)return n.genericTypeAnnotation(n.identifier("Object"));if("symbol"===e)return n.genericTypeAnnotation(n.identifier("Symbol"));throw new Error("Invalid typeof value")};var n=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./index"));function i(e){for(var t={},r={},s=[],a=[],o=0;o=0)){if(n.isAnyTypeAnnotation(u))return[u];if(n.isFlowBaseAnnotation(u))r[u.type]=u;else if(n.isUnionTypeAnnotation(u))s.indexOf(u.types)<0&&(e=e.concat(u.types),s.push(u.types));else if(n.isGenericTypeAnnotation(u)){var l=u.id.name;if(t[l]){var c=t[l];c.typeParameters?u.typeParameters&&(c.typeParameters.params=i(c.typeParameters.params.concat(u.typeParameters.params))):c=u.typeParameters}else t[l]=u}else a.push(u)}}for(var h in r)a.push(r[h]);for(var p in t)a.push(t[p]);return a}},{"./index":143}],143:[function(e,t,r){"use strict";r.__esModule=!0,r.createTypeAnnotationBasedOnTypeof=r.removeTypeDuplicates=r.createUnionTypeAnnotation=r.valueToNode=r.toBlock=r.toExpression=r.toStatement=r.toBindingIdentifierName=r.toIdentifier=r.toKeyAlias=r.toSequenceExpression=r.toComputedKey=r.isNodesEquivalent=r.isImmutable=r.isScope=r.isSpecifierDefault=r.isVar=r.isBlockScoped=r.isLet=r.isValidIdentifier=r.isReferenced=r.isBinding=r.getOuterBindingIdentifiers=r.getBindingIdentifiers=r.TYPES=r.react=r.DEPRECATED_KEYS=r.BUILDER_KEYS=r.NODE_FIELDS=r.ALIAS_KEYS=r.VISITOR_KEYS=r.NOT_LOCAL_BINDING=r.BLOCK_SCOPED_SYMBOL=r.INHERIT_KEYS=r.UNARY_OPERATORS=r.STRING_UNARY_OPERATORS=r.NUMBER_UNARY_OPERATORS=r.BOOLEAN_UNARY_OPERATORS=r.BINARY_OPERATORS=r.NUMBER_BINARY_OPERATORS=r.BOOLEAN_BINARY_OPERATORS=r.COMPARISON_BINARY_OPERATORS=r.EQUALITY_BINARY_OPERATORS=r.BOOLEAN_NUMBER_BINARY_OPERATORS=r.UPDATE_OPERATORS=r.LOGICAL_OPERATORS=r.COMMENT_KEYS=r.FOR_INIT_KEYS=r.FLATTENABLE_KEYS=r.STATEMENT_OR_BLOCK_KEYS=void 0;var n=g(e("babel-runtime/core-js/object/get-own-property-symbols")),i=g(e("babel-runtime/core-js/get-iterator")),s=g(e("babel-runtime/core-js/object/keys")),a=g(e("babel-runtime/core-js/json/stringify")),o=e("./constants");Object.defineProperty(r,"STATEMENT_OR_BLOCK_KEYS",{enumerable:!0,get:function(){return o.STATEMENT_OR_BLOCK_KEYS}}),Object.defineProperty(r,"FLATTENABLE_KEYS",{enumerable:!0,get:function(){return o.FLATTENABLE_KEYS}}),Object.defineProperty(r,"FOR_INIT_KEYS",{enumerable:!0,get:function(){return o.FOR_INIT_KEYS}}),Object.defineProperty(r,"COMMENT_KEYS",{enumerable:!0,get:function(){return o.COMMENT_KEYS}}),Object.defineProperty(r,"LOGICAL_OPERATORS",{enumerable:!0,get:function(){return o.LOGICAL_OPERATORS}}),Object.defineProperty(r,"UPDATE_OPERATORS",{enumerable:!0,get:function(){return o.UPDATE_OPERATORS}}),Object.defineProperty(r,"BOOLEAN_NUMBER_BINARY_OPERATORS",{enumerable:!0,get:function(){return o.BOOLEAN_NUMBER_BINARY_OPERATORS}}),Object.defineProperty(r,"EQUALITY_BINARY_OPERATORS",{enumerable:!0,get:function(){return o.EQUALITY_BINARY_OPERATORS}}),Object.defineProperty(r,"COMPARISON_BINARY_OPERATORS",{enumerable:!0,get:function(){return o.COMPARISON_BINARY_OPERATORS}}),Object.defineProperty(r,"BOOLEAN_BINARY_OPERATORS",{enumerable:!0,get:function(){return o.BOOLEAN_BINARY_OPERATORS}}),Object.defineProperty(r,"NUMBER_BINARY_OPERATORS",{enumerable:!0,get:function(){return o.NUMBER_BINARY_OPERATORS}}),Object.defineProperty(r,"BINARY_OPERATORS",{enumerable:!0,get:function(){return o.BINARY_OPERATORS}}),Object.defineProperty(r,"BOOLEAN_UNARY_OPERATORS",{enumerable:!0,get:function(){return o.BOOLEAN_UNARY_OPERATORS}}),Object.defineProperty(r,"NUMBER_UNARY_OPERATORS",{enumerable:!0,get:function(){return o.NUMBER_UNARY_OPERATORS}}),Object.defineProperty(r,"STRING_UNARY_OPERATORS",{enumerable:!0,get:function(){return o.STRING_UNARY_OPERATORS}}),Object.defineProperty(r,"UNARY_OPERATORS",{enumerable:!0,get:function(){return o.UNARY_OPERATORS}}),Object.defineProperty(r,"INHERIT_KEYS",{enumerable:!0,get:function(){return o.INHERIT_KEYS}}),Object.defineProperty(r,"BLOCK_SCOPED_SYMBOL",{enumerable:!0,get:function(){return o.BLOCK_SCOPED_SYMBOL}}),Object.defineProperty(r,"NOT_LOCAL_BINDING",{enumerable:!0,get:function(){return o.NOT_LOCAL_BINDING}}),r.is=function(e,t,r){if(!t)return!1;if(!E(t.type,e))return!1;return void 0===r||b.shallowEqual(t,r)},r.isType=E,r.validate=A,r.shallowEqual=function(e,t){for(var r=(0,s.default)(t),n=Array.isArray(r),a=0,r=n?r:(0,i.default)(r);;){var o;if(n){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var u=o;if(e[u]!==t[u])return!1}return!0},r.appendToMemberExpression=function(e,t,r){return e.object=b.memberExpression(e.object,e.property,e.computed),e.property=t,e.computed=!!r,e},r.prependToMemberExpression=function(e,t){return e.object=b.memberExpression(t,e.object),e},r.ensureBlock=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"body";return e[t]=b.toBlock(e[t],e)},r.clone=T,r.cloneWithoutLoc=function(e){var t=T(e);return delete t.loc,t},r.cloneDeep=function(e){if(!e)return e;var t={};for(var r in e)if("_"!==r[0]){var n=e[r];n&&(n.type?n=b.cloneDeep(n):Array.isArray(n)&&(n=n.map(b.cloneDeep))),t[r]=n}return t},r.buildMatchMemberExpression=function(e,t){var r=e.split(".");return function(e){if(!b.isMemberExpression(e))return!1;for(var n=[e],i=0;n.length;){var s=n.shift();if(t&&i===r.length)return!0;if(b.isIdentifier(s)){if(r[i]!==s.name)return!1}else{if(!b.isStringLiteral(s)){if(b.isMemberExpression(s)){if(s.computed&&!b.isStringLiteral(s.property))return!1;n.push(s.object),n.push(s.property);continue}return!1}if(r[i]!==s.value)return!1}if(++i>r.length)return!1}return!0}},r.removeComments=function(e){for(var t=b.COMMENT_KEYS,r=Array.isArray(t),n=0,t=r?t:(0,i.default)(t);;){var s;if(r){if(n>=t.length)break;s=t[n++]}else{if((n=t.next()).done)break;s=n.value}var a=s;delete e[a]}return e},r.inheritsComments=function(e,t){return _(e,t),D(e,t),C(e,t),e},r.inheritTrailingComments=_,r.inheritLeadingComments=D,r.inheritInnerComments=C,r.inherits=function(e,t){if(!e||!t)return e;for(var r=b.INHERIT_KEYS.optional,n=Array.isArray(r),s=0,r=n?r:(0,i.default)(r);;){var a;if(n){if(s>=r.length)break;a=r[s++]}else{if((s=r.next()).done)break;a=s.value}var o=a;null==e[o]&&(e[o]=t[o])}for(var u in t)"_"===u[0]&&(e[u]=t[u]);for(var l=b.INHERIT_KEYS.force,c=Array.isArray(l),h=0,l=c?l:(0,i.default)(l);;){var p;if(c){if(h>=l.length)break;p=l[h++]}else{if((h=l.next()).done)break;p=h.value}var f=p;e[f]=t[f]}return b.inheritsComments(e,t),e},r.assertNode=function(e){if(!P(e))throw new TypeError("Not a valid node "+(e&&e.type))},r.isNode=P,r.traverseFast=F,r.removeProperties=M,r.removePropertiesDeep=function(e,t){return F(e,M,t),e};var u=e("./retrievers");Object.defineProperty(r,"getBindingIdentifiers",{enumerable:!0,get:function(){return u.getBindingIdentifiers}}),Object.defineProperty(r,"getOuterBindingIdentifiers",{enumerable:!0,get:function(){return u.getOuterBindingIdentifiers}});var l=e("./validators");Object.defineProperty(r,"isBinding",{enumerable:!0,get:function(){return l.isBinding}}),Object.defineProperty(r,"isReferenced",{enumerable:!0,get:function(){return l.isReferenced}}),Object.defineProperty(r,"isValidIdentifier",{enumerable:!0,get:function(){return l.isValidIdentifier}}),Object.defineProperty(r,"isLet",{enumerable:!0,get:function(){return l.isLet}}),Object.defineProperty(r,"isBlockScoped",{enumerable:!0,get:function(){return l.isBlockScoped}}),Object.defineProperty(r,"isVar",{enumerable:!0,get:function(){return l.isVar}}),Object.defineProperty(r,"isSpecifierDefault",{enumerable:!0,get:function(){return l.isSpecifierDefault}}),Object.defineProperty(r,"isScope",{enumerable:!0,get:function(){return l.isScope}}),Object.defineProperty(r,"isImmutable",{enumerable:!0,get:function(){return l.isImmutable}}),Object.defineProperty(r,"isNodesEquivalent",{enumerable:!0,get:function(){return l.isNodesEquivalent}});var c=e("./converters");Object.defineProperty(r,"toComputedKey",{enumerable:!0,get:function(){return c.toComputedKey}}),Object.defineProperty(r,"toSequenceExpression",{enumerable:!0,get:function(){return c.toSequenceExpression}}),Object.defineProperty(r,"toKeyAlias",{enumerable:!0,get:function(){return c.toKeyAlias}}),Object.defineProperty(r,"toIdentifier",{enumerable:!0,get:function(){return c.toIdentifier}}),Object.defineProperty(r,"toBindingIdentifierName",{enumerable:!0,get:function(){return c.toBindingIdentifierName}}),Object.defineProperty(r,"toStatement",{enumerable:!0,get:function(){return c.toStatement}}),Object.defineProperty(r,"toExpression",{enumerable:!0,get:function(){return c.toExpression}}),Object.defineProperty(r,"toBlock",{enumerable:!0,get:function(){return c.toBlock}}),Object.defineProperty(r,"valueToNode",{enumerable:!0,get:function(){return c.valueToNode}});var h=e("./flow");Object.defineProperty(r,"createUnionTypeAnnotation",{enumerable:!0,get:function(){return h.createUnionTypeAnnotation}}),Object.defineProperty(r,"removeTypeDuplicates",{enumerable:!0,get:function(){return h.removeTypeDuplicates}}),Object.defineProperty(r,"createTypeAnnotationBasedOnTypeof",{enumerable:!0,get:function(){return h.createTypeAnnotationBasedOnTypeof}});var p=g(e("to-fast-properties")),f=g(e("lodash/clone")),d=g(e("lodash/uniq"));e("./definitions/init");var m=e("./definitions"),y=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./react"));function g(e){return e&&e.__esModule?e:{default:e}}var b=r;function v(e){var t=b["is"+e];t||(t=b["is"+e]=function(t,r){return b.is(e,t,r)}),b["assert"+e]=function(r,n){if(!t(r,n=n||{}))throw new Error("Expected type "+(0,a.default)(e)+" with option "+(0,a.default)(n))}}for(var x in r.VISITOR_KEYS=m.VISITOR_KEYS,r.ALIAS_KEYS=m.ALIAS_KEYS,r.NODE_FIELDS=m.NODE_FIELDS,r.BUILDER_KEYS=m.BUILDER_KEYS,r.DEPRECATED_KEYS=m.DEPRECATED_KEYS,r.react=y,b.VISITOR_KEYS)v(x);b.FLIPPED_ALIAS_KEYS={},(0,s.default)(b.ALIAS_KEYS).forEach(function(e){b.ALIAS_KEYS[e].forEach(function(t){(b.FLIPPED_ALIAS_KEYS[t]=b.FLIPPED_ALIAS_KEYS[t]||[]).push(e)})}),(0,s.default)(b.FLIPPED_ALIAS_KEYS).forEach(function(e){b[e.toUpperCase()+"_TYPES"]=b.FLIPPED_ALIAS_KEYS[e],v(e)});r.TYPES=(0,s.default)(b.VISITOR_KEYS).concat((0,s.default)(b.FLIPPED_ALIAS_KEYS)).concat((0,s.default)(b.DEPRECATED_KEYS));function E(e,t){if(e===t)return!0;if(b.ALIAS_KEYS[t])return!1;var r=b.FLIPPED_ALIAS_KEYS[t];if(r){if(r[0]===e)return!0;var n=r,s=Array.isArray(n),a=0;for(n=s?n:(0,i.default)(n);;){var o;if(s){if(a>=n.length)break;o=n[a++]}else{if((a=n.next()).done)break;o=a.value}if(e===o)return!0}}return!1}(0,s.default)(b.BUILDER_KEYS).forEach(function(e){var t=b.BUILDER_KEYS[e];function r(){if(arguments.length>t.length)throw new Error("t."+e+": Too many arguments passed. Received "+arguments.length+" but can receive no more than "+t.length);var r={};r.type=e;var n=0,s=t,a=Array.isArray(s),o=0;for(s=a?s:(0,i.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var l=u,c=b.NODE_FIELDS[e][l],h=arguments[n++];void 0===h&&(h=(0,f.default)(c.default)),r[l]=h}for(var p in r)A(r,p,r[p]);return r}b[e]=r,b[e[0].toLowerCase()+e.slice(1)]=r});var w=function(e){var t=b.DEPRECATED_KEYS[e];function r(r){return function(){return console.trace("The node type "+e+" has been renamed to "+t),r.apply(this,arguments)}}b[e]=b[e[0].toLowerCase()+e.slice(1)]=r(b[t]),b["is"+e]=r(b["is"+t]),b["assert"+e]=r(b["assert"+t])};for(var S in b.DEPRECATED_KEYS)w(S);function A(e,t,r){if(e){var n=b.NODE_FIELDS[e.type];if(n){var i=n[t];i&&i.validate&&(i.optional&&null==r||i.validate(e,t,r))}}}function T(e){if(!e)return e;var t={};for(var r in e)"_"!==r[0]&&(t[r]=e[r]);return t}function _(e,t){k("trailingComments",e,t)}function D(e,t){k("leadingComments",e,t)}function C(e,t){k("innerComments",e,t)}function k(e,t,r){t&&r&&(t[e]=(0,d.default)([].concat(t[e],r[e]).filter(Boolean)))}function P(e){return!(!e||!m.VISITOR_KEYS[e.type])}function F(e,t,r){if(e){var n=b.VISITOR_KEYS[e.type];if(n){t(e,r=r||{});var s=n,a=Array.isArray(s),o=0;for(s=a?s:(0,i.default)(s);;){var u;if(a){if(o>=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var l=e[u];if(Array.isArray(l)){var c=l,h=Array.isArray(c),p=0;for(c=h?c:(0,i.default)(c);;){var f;if(h){if(p>=c.length)break;f=c[p++]}else{if((p=c.next()).done)break;f=p.value}F(f,t,r)}}else F(l,t,r)}}}}(0,p.default)(b),(0,p.default)(b.VISITOR_KEYS);var O=["tokens","start","end","loc","raw","rawValue"],N=b.COMMENT_KEYS.concat(["comments"]).concat(O);function M(e,t){var r=(t=t||{}).preserveComments?O:N,s=Array.isArray(r),a=0;for(r=s?r:(0,i.default)(r);;){var o;if(s){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var u=o;null!=e[u]&&(e[u]=void 0)}for(var l in e)"_"===l[0]&&null!=e[l]&&(e[l]=void 0);var c=(0,n.default)(e),h=Array.isArray(c),p=0;for(c=h?c:(0,i.default)(c);;){var f;if(h){if(p>=c.length)break;f=c[p++]}else{if((p=c.next()).done)break;f=p.value}e[f]=null}}},{"./constants":132,"./converters":133,"./definitions":138,"./definitions/init":139,"./flow":142,"./react":144,"./retrievers":145,"./validators":146,"babel-runtime/core-js/get-iterator":120,"babel-runtime/core-js/json/stringify":121,"babel-runtime/core-js/object/get-own-property-symbols":125,"babel-runtime/core-js/object/keys":126,"lodash/clone":569,"lodash/uniq":589,"to-fast-properties":147}],144:[function(e,t,r){"use strict";r.__esModule=!0,r.isReactComponent=void 0,r.isCompatTag=function(e){return!!e&&/^[a-z]|\-/.test(e)},r.buildChildren=function(e){for(var t=[],r=0;r=0)return!0}else if(s===e)return!0}return!1},r.isReferenced=function(e,t){switch(t.type){case"BindExpression":return t.object===e||t.callee===e;case"MemberExpression":case"JSXMemberExpression":return!(t.property!==e||!t.computed)||t.object===e;case"MetaProperty":return!1;case"ObjectProperty":if(t.key===e)return t.computed;case"VariableDeclarator":return t.id!==e;case"ArrowFunctionExpression":case"FunctionDeclaration":case"FunctionExpression":for(var r=t.params,n=Array.isArray(r),i=0,r=n?r:(0,s.default)(r);;){var a;if(n){if(i>=r.length)break;a=r[i++]}else{if((i=r.next()).done)break;a=i.value}var o=a;if(o===e)return!1}return t.id!==e;case"ExportSpecifier":return!t.source&&t.local===e;case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":return!1;case"JSXAttribute":return t.name!==e;case"ClassProperty":return t.key===e?t.computed:t.value===e;case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":case"ImportSpecifier":return!1;case"ClassDeclaration":case"ClassExpression":return t.id!==e;case"ClassMethod":case"ObjectMethod":return t.key===e&&t.computed;case"LabeledStatement":return!1;case"CatchClause":return t.param!==e;case"RestElement":return!1;case"AssignmentExpression":case"AssignmentPattern":return t.right===e;case"ObjectPattern":case"ArrayPattern":return!1}return!0},r.isValidIdentifier=function(e){return"string"==typeof e&&!o.default.keyword.isReservedWordES6(e,!0)&&("await"!==e&&o.default.keyword.isIdentifierNameES6(e))},r.isLet=function(e){return u.isVariableDeclaration(e)&&("var"!==e.kind||e[l.BLOCK_SCOPED_SYMBOL])},r.isBlockScoped=function(e){return u.isFunctionDeclaration(e)||u.isClassDeclaration(e)||u.isLet(e)},r.isVar=function(e){return u.isVariableDeclaration(e,{kind:"var"})&&!e[l.BLOCK_SCOPED_SYMBOL]},r.isSpecifierDefault=function(e){return u.isImportDefaultSpecifier(e)||u.isIdentifier(e.imported||e.exported,{name:"default"})},r.isScope=function(e,t){if(u.isBlockStatement(e)&&u.isFunction(t,{body:e}))return!1;return u.isScopable(e)},r.isImmutable=function(e){if(u.isType(e.type,"Immutable"))return!0;if(u.isIdentifier(e))return"undefined"===e.name;return!1},r.isNodesEquivalent=function e(t,r){if("object"!==(void 0===t?"undefined":(0,i.default)(t))||"object"!==(void 0===t?"undefined":(0,i.default)(t))||null==t||null==r)return t===r;if(t.type!==r.type)return!1;var a=(0,n.default)(u.NODE_FIELDS[t.type]||t.type);for(var o=a,l=Array.isArray(o),c=0,o=l?o:(0,s.default)(o);;){var h;if(l){if(c>=o.length)break;h=o[c++]}else{if((c=o.next()).done)break;h=c.value}var p=h;if((0,i.default)(t[p])!==(0,i.default)(r[p]))return!1;if(Array.isArray(t[p])){if(!Array.isArray(r[p]))return!1;if(t[p].length!==r[p].length)return!1;for(var f=0;f=o.length)break;d=o[f++]}else{if((f=o.next()).done)break;d=f.value}var m=d;e[m]=n}}}for(var y in u(e),delete e.__esModule,function(e){for(var t in e)if(!h(t)){var r=e[t];"function"==typeof r&&(e[t]={enter:r})}}(e),c(e),e)if(!h(y)){var g=e[y],b=s.FLIPPED_ALIAS_KEYS[y],v=s.DEPRECATED_KEYS[y];if(v&&(console.trace("Visitor defined for "+y+" but it has been renamed to "+v),b=[v]),b){delete e[y];for(var x=b,E=Array.isArray(x),w=0,x=E?x:(0,i.default)(x);;){var S;if(E){if(w>=x.length)break;S=x[w++]}else{if((w=x.next()).done)break;S=w.value}var A=S,T=e[A];T?p(T,g):e[A]=(0,a.default)(g)}}}for(var _ in e)h(_)||c(e[_]);return e},r.verify=u;var s=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types")),a=o(e("lodash.clone"));function o(e){return e&&e.__esModule?e:{default:e}}function u(e){if(!e._verified){if("function"==typeof e)throw new Error("You passed `traverse()` a function when it expected a visitor object, are you sure you didn't mean `{ enter: Function }`?");for(var t in e)if("enter"!==t&&"exit"!==t||l(t,e[t]),!h(t)){if(s.TYPES.indexOf(t)<0)throw new Error("You gave us a visitor for the node type "+t+" but it's not a valid type");var r=e[t];if("object"===(void 0===r?"undefined":(0,n.default)(r)))for(var i in r){if("enter"!==i&&"exit"!==i)throw new Error("You passed `traverse()` a visitor object with the property "+t+" that has the invalid property "+i);l(t+"."+i,r[i])}}e._verified=!0}}function l(e,t){var r=[].concat(t),s=Array.isArray(r),a=0;for(r=s?r:(0,i.default)(r);;){var o;if(s){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var u=o;if("function"!=typeof u)throw new TypeError("Non-function found defined in "+e+" with type "+(void 0===u?"undefined":(0,n.default)(u)))}}function c(e){e.enter&&!Array.isArray(e.enter)&&(e.enter=[e.enter]),e.exit&&!Array.isArray(e.exit)&&(e.exit=[e.exit])}function h(e){return"_"===e[0]||("enter"===e||"exit"===e||"shouldSkip"===e||("blacklist"===e||"noScope"===e||"skipKeys"===e))}function p(e,t){for(var r in t)e[r]=[].concat(e[r]||[],t[r])}},{"babel-runtime/core-js/get-iterator":120,"babel-runtime/helpers/typeof":131,"babel-types":143,"lodash.clone":463}],149:[function(e,t,r){"use strict";r.__esModule=!0;var n=a(e("babel-runtime/core-js/get-iterator"));r.simple=function(e,t,r){if(!e)return;t=(0,s.default)(t),function e(s){if(s){var a=t[s.type]||{},o=a.enter,u=a.exit;if(o)for(var l=o,c=Array.isArray(l),h=0,l=c?l:(0,n.default)(l);;){var p;if(c){if(h>=l.length)break;p=l[h++]}else{if((h=l.next()).done)break;p=h.value}var f=p;f(s,r)}for(var d=i.VISITOR_KEYS[s.type]||[],m=Array.isArray(d),y=0,d=m?d:(0,n.default)(d);;){var g;if(m){if(y>=d.length)break;g=d[y++]}else{if((y=d.next()).done)break;g=y.value}var b=g,v=s[b];if(Array.isArray(v))for(var x=v,E=Array.isArray(x),w=0,x=E?x:(0,n.default)(x);;){var S;if(E){if(w>=x.length)break;S=x[w++]}else{if((w=x.next()).done)break;S=w.value}var A=S;e(A)}else e(v)}if(u)for(var T=u,_=Array.isArray(T),D=0,T=_?T:(0,n.default)(T);;){var C;if(_){if(D>=T.length)break;C=T[D++]}else{if((D=T.next()).done)break;C=D.value}var k=C;k(s,r)}}}(e)},r.ancestor=function(e,t,r){if(!e)return;t=(0,s.default)(t);var a=[];!function e(s){if(s){var o=t[s.type]||{},u=o.enter,l=o.exit,c=s!=a[a.length-1];if(c&&a.push(s),u)for(var h=u,p=Array.isArray(h),f=0,h=p?h:(0,n.default)(h);;){var d;if(p){if(f>=h.length)break;d=h[f++]}else{if((f=h.next()).done)break;d=f.value}var m=d;m(s,r||a,a)}for(var y=i.VISITOR_KEYS[s.type]||[],g=Array.isArray(y),b=0,y=g?y:(0,n.default)(y);;){var v;if(g){if(b>=y.length)break;v=y[b++]}else{if((b=y.next()).done)break;v=b.value}var x=v,E=s[x];if(Array.isArray(E))for(var w=E,S=Array.isArray(w),A=0,w=S?w:(0,n.default)(w);;){var T;if(S){if(A>=w.length)break;T=w[A++]}else{if((A=w.next()).done)break;T=A.value}var _=T;e(_)}else e(E)}if(l)for(var D=l,C=Array.isArray(D),k=0,D=C?D:(0,n.default)(D);;){var P;if(C){if(k>=D.length)break;P=D[k++]}else{if((k=D.next()).done)break;P=k.value}var F=P;F(s,r||a,a)}c&&a.pop()}}(e)},r.recursive=function(e,t,r){if(!e)return;t=(0,s.default)(t),function e(s){if(s){var a=t[s.type]||{},o=a.enter;if(o&&o.length)for(var u=o,l=Array.isArray(u),c=0,u=l?u:(0,n.default)(u);;){var h;if(l){if(c>=u.length)break;h=u[c++]}else{if((c=u.next()).done)break;h=c.value}var p=h;p(s,r,e)}else for(var f=i.VISITOR_KEYS[s.type]||[],d=Array.isArray(f),m=0,f=d?f:(0,n.default)(f);;){var y;if(d){if(m>=f.length)break;y=f[m++]}else{if((m=f.next()).done)break;y=m.value}var g=y,b=s[g];if(Array.isArray(b))for(var v=b,x=Array.isArray(v),E=0,v=x?v:(0,n.default)(v);;){var w;if(x){if(E>=v.length)break;w=v[E++]}else{if((E=v.next()).done)break;w=E.value}var S=w;e(S)}else e(b)}}}(e)};var i=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("babel-types")),s=a(e("./explode.js"));function a(e){return e&&e.__esModule?e:{default:e}}},{"./explode.js":148,"babel-runtime/core-js/get-iterator":120,"babel-types":143}],150:[function(e,t,r){"use strict";function n(e){return e=e.split(" "),function(t){return e.indexOf(t)>=0}}Object.defineProperty(r,"__esModule",{value:!0});var i={6:n("enum await"),strict:n("implements interface let package private protected public static yield"),strictBind:n("eval arguments")},s=n("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 let const class extends export import yield super"),a="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",o="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",u=new RegExp("["+a+"]"),l=new RegExp("["+a+o+"]");a=o=null;var c=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,17,26,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,26,45,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,785,52,76,44,33,24,27,35,42,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,54,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,86,25,391,63,32,0,449,56,264,8,2,36,18,0,50,29,881,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,881,68,12,0,67,12,65,0,32,6124,20,754,9486,1,3071,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,4149,196,60,67,1213,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,42710,42,4148,12,221,3,5761,10591,541],h=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,1306,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,52,0,13,2,49,13,10,2,4,9,83,11,7,0,161,11,6,9,7,3,57,0,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,87,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,423,9,838,7,2,7,17,9,57,21,2,13,19882,9,135,4,60,6,26,9,1016,45,17,3,19723,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,2214,6,110,6,6,9,792487,239];function p(e,t){for(var r=65536,n=0;ne)return!1;if((r+=t[n+1])>=e)return!0}}function f(e){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&u.test(String.fromCharCode(e)):p(e,c)))}function d(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&l.test(String.fromCharCode(e)):p(e,c)||p(e,h))))}var m={sourceType:"script",sourceFilename:void 0,startLine:1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,plugins:[],strictMode:null};var y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},g=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},b=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)},v=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},x=!0,E=function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};g(this,e),this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop||null,this.updateContext=null},w=function(e){function t(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return g(this,t),n.keyword=r,v(this,e.call(this,r,n))}return b(t,e),t}(E),S=function(e){function t(r,n){return g(this,t),v(this,e.call(this,r,{beforeExpr:x,binop:n}))}return b(t,e),t}(E),A={num:new E("num",{startsExpr:!0}),regexp:new E("regexp",{startsExpr:!0}),string:new E("string",{startsExpr:!0}),name:new E("name",{startsExpr:!0}),eof:new E("eof"),bracketL:new E("[",{beforeExpr:x,startsExpr:!0}),bracketR:new E("]"),braceL:new E("{",{beforeExpr:x,startsExpr:!0}),braceBarL:new E("{|",{beforeExpr:x,startsExpr:!0}),braceR:new E("}"),braceBarR:new E("|}"),parenL:new E("(",{beforeExpr:x,startsExpr:!0}),parenR:new E(")"),comma:new E(",",{beforeExpr:x}),semi:new E(";",{beforeExpr:x}),colon:new E(":",{beforeExpr:x}),doubleColon:new E("::",{beforeExpr:x}),dot:new E("."),question:new E("?",{beforeExpr:x}),arrow:new E("=>",{beforeExpr:x}),template:new E("template"),ellipsis:new E("...",{beforeExpr:x}),backQuote:new E("`",{startsExpr:!0}),dollarBraceL:new E("${",{beforeExpr:x,startsExpr:!0}),at:new E("@"),eq:new E("=",{beforeExpr:x,isAssign:!0}),assign:new E("_=",{beforeExpr:x,isAssign:!0}),incDec:new E("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new E("prefix",{beforeExpr:x,prefix:!0,startsExpr:!0}),logicalOR:new S("||",1),logicalAND:new S("&&",2),bitwiseOR:new S("|",3),bitwiseXOR:new S("^",4),bitwiseAND:new S("&",5),equality:new S("==/!=",6),relational:new S(">",7),bitShift:new S("<>>",8),plusMin:new E("+/-",{beforeExpr:x,binop:9,prefix:!0,startsExpr:!0}),modulo:new S("%",10),star:new S("*",10),slash:new S("/",10),exponent:new E("**",{beforeExpr:x,binop:11,rightAssociative:!0})},T={break:new w("break"),case:new w("case",{beforeExpr:x}),catch:new w("catch"),continue:new w("continue"),debugger:new w("debugger"),default:new w("default",{beforeExpr:x}),do:new w("do",{isLoop:!0,beforeExpr:x}),else:new w("else",{beforeExpr:x}),finally:new w("finally"),for:new w("for",{isLoop:!0}),function:new w("function",{startsExpr:!0}),if:new w("if"),return:new w("return",{beforeExpr:x}),switch:new w("switch"),throw:new w("throw",{beforeExpr:x}),try:new w("try"),var:new w("var"),let:new w("let"),const:new w("const"),while:new w("while",{isLoop:!0}),with:new w("with"),new:new w("new",{beforeExpr:x,startsExpr:!0}),this:new w("this",{startsExpr:!0}),super:new w("super",{startsExpr:!0}),class:new w("class"),extends:new w("extends",{beforeExpr:x}),export:new w("export"),import:new w("import",{startsExpr:!0}),yield:new w("yield",{beforeExpr:x,startsExpr:!0}),null:new w("null",{startsExpr:!0}),true:new w("true",{startsExpr:!0}),false:new w("false",{startsExpr:!0}),in:new w("in",{beforeExpr:x,binop:7}),instanceof:new w("instanceof",{beforeExpr:x,binop:7}),typeof:new w("typeof",{beforeExpr:x,prefix:!0,startsExpr:!0}),void:new w("void",{beforeExpr:x,prefix:!0,startsExpr:!0}),delete:new w("delete",{beforeExpr:x,prefix:!0,startsExpr:!0})};Object.keys(T).forEach(function(e){A["_"+e]=T[e]});var _=/\r\n?|\n|\u2028|\u2029/,D=new RegExp(_.source,"g");function C(e){return 10===e||13===e||8232===e||8233===e}var k=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,P=function e(t,r,n,i){g(this,e),this.token=t,this.isExpr=!!r,this.preserveSpace=!!n,this.override=i},F={braceStatement:new P("{",!1),braceExpression:new P("{",!0),templateQuasi:new P("${",!0),parenStatement:new P("(",!1),parenExpression:new P("(",!0),template:new P("`",!0,!0,function(e){return e.readTmplToken()}),functionExpression:new P("function",!0)};A.parenR.updateContext=A.braceR.updateContext=function(){if(1!==this.state.context.length){var e=this.state.context.pop();e===F.braceStatement&&this.curContext()===F.functionExpression?(this.state.context.pop(),this.state.exprAllowed=!1):e===F.templateQuasi?this.state.exprAllowed=!0:this.state.exprAllowed=!e.isExpr}else this.state.exprAllowed=!0},A.name.updateContext=function(e){this.state.exprAllowed=!1,e!==A._let&&e!==A._const&&e!==A._var||_.test(this.input.slice(this.state.end))&&(this.state.exprAllowed=!0)},A.braceL.updateContext=function(e){this.state.context.push(this.braceIsBlock(e)?F.braceStatement:F.braceExpression),this.state.exprAllowed=!0},A.dollarBraceL.updateContext=function(){this.state.context.push(F.templateQuasi),this.state.exprAllowed=!0},A.parenL.updateContext=function(e){var t=e===A._if||e===A._for||e===A._with||e===A._while;this.state.context.push(t?F.parenStatement:F.parenExpression),this.state.exprAllowed=!0},A.incDec.updateContext=function(){},A._function.updateContext=function(){this.curContext()!==F.braceStatement&&this.state.context.push(F.functionExpression),this.state.exprAllowed=!1},A.backQuote.updateContext=function(){this.curContext()===F.template?this.state.context.pop():this.state.context.push(F.template),this.state.exprAllowed=!1};var O=function e(t,r){g(this,e),this.line=t,this.column=r},N=function e(t,r){g(this,e),this.start=t,this.end=r};var M=function(){function e(){g(this,e)}return e.prototype.init=function(e,t){return this.strict=!1!==e.strictMode&&"module"===e.sourceType,this.input=t,this.potentialArrowAt=-1,this.inMethod=this.inFunction=this.inGenerator=this.inAsync=this.inPropertyName=this.inType=this.inClassProperty=this.noAnonFunctionType=!1,this.labels=[],this.decorators=[],this.tokens=[],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.pos=this.lineStart=0,this.curLine=e.startLine,this.type=A.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=[F.braceStatement],this.exprAllowed=!0,this.containsEsc=this.containsOctal=!1,this.octalPosition=null,this.invalidTemplateEscapePosition=null,this.exportedIdentifiers=[],this},e.prototype.curPosition=function(){return new O(this.curLine,this.pos-this.lineStart)},e.prototype.clone=function(t){var r=new e;for(var n in this){var i=this[n];t&&"context"!==n||!Array.isArray(i)||(i=i.slice()),r[n]=i}return r},e}(),I=function e(t){g(this,e),this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new N(t.startLoc,t.endLoc)};function B(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}var j=function(){function e(t,r){g(this,e),this.state=new M,this.state.init(t,r)}return e.prototype.next=function(){this.isLookahead||this.state.tokens.push(new I(this.state)),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()},e.prototype.eat=function(e){return!!this.match(e)&&(this.next(),!0)},e.prototype.match=function(e){return this.state.type===e},e.prototype.isKeyword=function(e){return s(e)},e.prototype.lookahead=function(){var e=this.state;this.state=e.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;var t=this.state.clone(!0);return this.state=e,t},e.prototype.setStrict=function(e){if(this.state.strict=e,this.match(A.num)||this.match(A.string)){for(this.state.pos=this.state.start;this.state.pos=this.input.length?this.finishToken(A.eof):e.override?e.override(this):this.readToken(this.fullCharCodeAtPos())},e.prototype.readToken=function(e){return f(e)||92===e?this.readWord():this.getTokenFromCode(e)},e.prototype.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.state.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.state.pos+1)-56613888},e.prototype.pushComment=function(e,t,r,n,i,s){var a={type:e?"CommentBlock":"CommentLine",value:t,start:r,end:n,loc:new N(i,s)};this.isLookahead||(this.state.tokens.push(a),this.state.comments.push(a),this.addComment(a))},e.prototype.skipBlockComment=function(){var e=this.state.curPosition(),t=this.state.pos,r=this.input.indexOf("*/",this.state.pos+=2);-1===r&&this.raise(this.state.pos-2,"Unterminated comment"),this.state.pos=r+2,D.lastIndex=t;for(var n=void 0;(n=D.exec(this.input))&&n.index8&&e<14||e>=5760&&k.test(String.fromCharCode(e))))break e;++this.state.pos}}},e.prototype.finishToken=function(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();var r=this.state.type;this.state.type=e,this.state.value=t,this.updateContext(r)},e.prototype.readToken_dot=function(){var e=this.input.charCodeAt(this.state.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.state.pos+2);return 46===e&&46===t?(this.state.pos+=3,this.finishToken(A.ellipsis)):(++this.state.pos,this.finishToken(A.dot))},e.prototype.readToken_slash=function(){return this.state.exprAllowed?(++this.state.pos,this.readRegexp()):61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(A.assign,2):this.finishOp(A.slash,1)},e.prototype.readToken_mult_modulo=function(e){var t=42===e?A.star:A.modulo,r=1,n=this.input.charCodeAt(this.state.pos+1);return 42===n&&(r++,n=this.input.charCodeAt(this.state.pos+2),t=A.exponent),61===n&&(r++,t=A.assign),this.finishOp(t,r)},e.prototype.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?this.finishOp(124===e?A.logicalOR:A.logicalAND,2):61===t?this.finishOp(A.assign,2):124===e&&125===t&&this.hasPlugin("flow")?this.finishOp(A.braceBarR,2):this.finishOp(124===e?A.bitwiseOR:A.bitwiseAND,1)},e.prototype.readToken_caret=function(){return 61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(A.assign,2):this.finishOp(A.bitwiseXOR,1)},e.prototype.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.state.pos+1);return t===e?45===t&&62===this.input.charCodeAt(this.state.pos+2)&&_.test(this.input.slice(this.state.lastTokEnd,this.state.pos))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(A.incDec,2):61===t?this.finishOp(A.assign,2):this.finishOp(A.plusMin,1)},e.prototype.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.state.pos+1),r=1;return t===e?(r=62===e&&62===this.input.charCodeAt(this.state.pos+2)?3:2,61===this.input.charCodeAt(this.state.pos+r)?this.finishOp(A.assign,r+1):this.finishOp(A.bitShift,r)):33===t&&60===e&&45===this.input.charCodeAt(this.state.pos+2)&&45===this.input.charCodeAt(this.state.pos+3)?(this.inModule&&this.unexpected(),this.skipLineComment(4),this.skipSpace(),this.nextToken()):(61===t&&(r=2),this.finishOp(A.relational,r))},e.prototype.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.state.pos+1);return 61===t?this.finishOp(A.equality,61===this.input.charCodeAt(this.state.pos+2)?3:2):61===e&&62===t?(this.state.pos+=2,this.finishToken(A.arrow)):this.finishOp(61===e?A.eq:A.prefix,1)},e.prototype.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.state.pos,this.finishToken(A.parenL);case 41:return++this.state.pos,this.finishToken(A.parenR);case 59:return++this.state.pos,this.finishToken(A.semi);case 44:return++this.state.pos,this.finishToken(A.comma);case 91:return++this.state.pos,this.finishToken(A.bracketL);case 93:return++this.state.pos,this.finishToken(A.bracketR);case 123:return this.hasPlugin("flow")&&124===this.input.charCodeAt(this.state.pos+1)?this.finishOp(A.braceBarL,2):(++this.state.pos,this.finishToken(A.braceL));case 125:return++this.state.pos,this.finishToken(A.braceR);case 58:return this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(A.doubleColon,2):(++this.state.pos,this.finishToken(A.colon));case 63:return++this.state.pos,this.finishToken(A.question);case 64:return++this.state.pos,this.finishToken(A.at);case 96:return++this.state.pos,this.finishToken(A.backQuote);case 48:var t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(111===t||79===t)return this.readRadixNumber(8);if(98===t||66===t)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(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 126:return this.finishOp(A.prefix,1)}this.raise(this.state.pos,"Unexpected character '"+B(e)+"'")},e.prototype.finishOp=function(e,t){var r=this.input.slice(this.state.pos,this.state.pos+t);return this.state.pos+=t,this.finishToken(e,r)},e.prototype.readRegexp=function(){for(var e=this.state.pos,t=void 0,r=void 0;;){this.state.pos>=this.input.length&&this.raise(e,"Unterminated regular expression");var n=this.input.charAt(this.state.pos);if(_.test(n)&&this.raise(e,"Unterminated regular expression"),t)t=!1;else{if("["===n)r=!0;else if("]"===n&&r)r=!1;else if("/"===n&&!r)break;t="\\"===n}++this.state.pos}var i=this.input.slice(e,this.state.pos);++this.state.pos;var s=this.readWord1();if(s){/^[gmsiyu]*$/.test(s)||this.raise(e,"Invalid regular expression flag")}return this.finishToken(A.regexp,{pattern:i,flags:s})},e.prototype.readInt=function(e,t){for(var r=this.state.pos,n=0,i=0,s=null==t?1/0:t;i=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=e)break;++this.state.pos,n=n*e+o}return this.state.pos===r||null!=t&&this.state.pos-r!==t?null:n},e.prototype.readRadixNumber=function(e){this.state.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.state.start+2,"Expected number in radix "+e),f(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number"),this.finishToken(A.num,t)},e.prototype.readNumber=function(e){var t=this.state.pos,r=48===this.input.charCodeAt(t),n=!1;e||null!==this.readInt(10)||this.raise(t,"Invalid number"),r&&this.state.pos==t+1&&(r=!1);var i=this.input.charCodeAt(this.state.pos);46!==i||r||(++this.state.pos,this.readInt(10),n=!0,i=this.input.charCodeAt(this.state.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.state.pos))&&45!==i||++this.state.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),n=!0),f(this.fullCharCodeAtPos())&&this.raise(this.state.pos,"Identifier directly after number");var s=this.input.slice(t,this.state.pos),a=void 0;return n?a=parseFloat(s):r&&1!==s.length?this.state.strict?this.raise(t,"Invalid number"):a=/[89]/.test(s)?parseInt(s,10):parseInt(s,8):a=parseInt(s,10),this.finishToken(A.num,a)},e.prototype.readCodePoint=function(e){var t=void 0;if(123===this.input.charCodeAt(this.state.pos)){var r=++this.state.pos;if(t=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,e),++this.state.pos,null===t)--this.state.invalidTemplateEscapePosition;else if(t>1114111){if(!e)return this.state.invalidTemplateEscapePosition=r-2,null;this.raise(r,"Code point out of bounds")}}else t=this.readHexChar(4,e);return t},e.prototype.readString=function(e){for(var t="",r=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var n=this.input.charCodeAt(this.state.pos);if(n===e)break;92===n?(t+=this.input.slice(r,this.state.pos),t+=this.readEscapedChar(!1),r=this.state.pos):(C(n)&&this.raise(this.state.start,"Unterminated string constant"),++this.state.pos)}return t+=this.input.slice(r,this.state.pos++),this.finishToken(A.string,t)},e.prototype.readTmplToken=function(){for(var e="",t=this.state.pos,r=!1;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated template");var n=this.input.charCodeAt(this.state.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(A.template)?36===n?(this.state.pos+=2,this.finishToken(A.dollarBraceL)):(++this.state.pos,this.finishToken(A.backQuote)):(e+=this.input.slice(t,this.state.pos),this.finishToken(A.template,r?null:e));if(92===n){e+=this.input.slice(t,this.state.pos);var i=this.readEscapedChar(!0);null===i?r=!0:e+=i,t=this.state.pos}else if(C(n)){switch(e+=this.input.slice(t,this.state.pos),++this.state.pos,n){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}++this.state.curLine,this.state.lineStart=this.state.pos,t=this.state.pos}else++this.state.pos}},e.prototype.readEscapedChar=function(e){var t=!e,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\n";case 114:return"\r";case 120:var n=this.readHexChar(2,t);return null===n?null:String.fromCharCode(n);case 117:var i=this.readCodePoint(t);return null===i?null:B(i);case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:return this.state.lineStart=this.state.pos,++this.state.curLine,"";default:if(r>=48&&r<=55){var s=this.state.pos-1,a=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],o=parseInt(a,8);if(o>255&&(a=a.slice(0,-1),o=parseInt(a,8)),o>0){if(e)return this.state.invalidTemplateEscapePosition=s,null;this.state.strict?this.raise(s,"Octal literal in strict mode"):this.state.containsOctal||(this.state.containsOctal=!0,this.state.octalPosition=s)}return this.state.pos+=a.length-1,String.fromCharCode(o)}return String.fromCharCode(r)}},e.prototype.readHexChar=function(e,t){var r=this.state.pos,n=this.readInt(16,e);return null===n&&(t?this.raise(r,"Bad character escape sequence"):(this.state.pos=r-1,this.state.invalidTemplateEscapePosition=r-1)),n},e.prototype.readWord1=function(){this.state.containsEsc=!1;for(var e="",t=!0,r=this.state.pos;this.state.pos-1)||!!this.plugins[e]},t.prototype.extend=function(e,t){this[e]=t(this[e])},t.prototype.loadAllPlugins=function(){var e=this,t=Object.keys(L).filter(function(e){return"flow"!==e&&"estree"!==e});t.push("flow"),t.forEach(function(t){var r=L[t];r&&r(e)})},t.prototype.loadPlugins=function(e){if(e.indexOf("*")>=0)return this.loadAllPlugins(),{"*":!0};var t={};e.indexOf("flow")>=0&&(e=e.filter(function(e){return"flow"!==e})).push("flow"),e.indexOf("estree")>=0&&(e=e.filter(function(e){return"estree"!==e})).unshift("estree");var r=e,n=Array.isArray(r),i=0;for(r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;if(!t[a]){t[a]=!0;var o=L[a];o&&o(this)}}return t},t.prototype.parse=function(){var e=this.startNode(),t=this.startNode();return this.nextToken(),this.parseTopLevel(e,t)},t}(j),U=V.prototype;U.addExtra=function(e,t,r){e&&((e.extra=e.extra||{})[t]=r)},U.isRelational=function(e){return this.match(A.relational)&&this.state.value===e},U.expectRelational=function(e){this.isRelational(e)?this.next():this.unexpected(null,A.relational)},U.isContextual=function(e){return this.match(A.name)&&this.state.value===e},U.eatContextual=function(e){return this.state.value===e&&this.eat(A.name)},U.expectContextual=function(e,t){this.eatContextual(e)||this.unexpected(null,t)},U.canInsertSemicolon=function(){return this.match(A.eof)||this.match(A.braceR)||_.test(this.input.slice(this.state.lastTokEnd,this.state.start))},U.isLineTerminator=function(){return this.eat(A.semi)||this.canInsertSemicolon()},U.semicolon=function(){this.isLineTerminator()||this.unexpected(null,A.semi)},U.expect=function(e,t){return this.eat(e)||this.unexpected(t,e)},U.unexpected=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Unexpected token";t&&"object"===(void 0===t?"undefined":y(t))&&t.label&&(t="Unexpected token, expected "+t.label),this.raise(null!=e?e:this.state.start,t)};var z=V.prototype;z.parseTopLevel=function(e,t){return t.sourceType=this.options.sourceType,this.parseBlockBody(t,!0,!0,A.eof),e.program=this.finishNode(t,"Program"),e.comments=this.state.comments,e.tokens=this.state.tokens,this.finishNode(e,"File")};var $={kind:"loop"},H={kind:"switch"};z.stmtToDirective=function(e){var t=e.expression,r=this.startNodeAt(t.start,t.loc.start),n=this.startNodeAt(e.start,e.loc.start),i=this.input.slice(t.start,t.end),s=r.value=i.slice(1,-1);return this.addExtra(r,"raw",i),this.addExtra(r,"rawValue",s),n.value=this.finishNodeAt(r,"DirectiveLiteral",t.end,t.loc.end),this.finishNodeAt(n,"Directive",e.end,e.loc.end)},z.parseStatement=function(e,t){this.match(A.at)&&this.parseDecorators(!0);var r=this.state.type,n=this.startNode();switch(r){case A._break:case A._continue:return this.parseBreakContinueStatement(n,r.keyword);case A._debugger:return this.parseDebuggerStatement(n);case A._do:return this.parseDoStatement(n);case A._for:return this.parseForStatement(n);case A._function:return e||this.unexpected(),this.parseFunctionStatement(n);case A._class:return e||this.unexpected(),this.parseClass(n,!0);case A._if:return this.parseIfStatement(n);case A._return:return this.parseReturnStatement(n);case A._switch:return this.parseSwitchStatement(n);case A._throw:return this.parseThrowStatement(n);case A._try:return this.parseTryStatement(n);case A._let:case A._const:e||this.unexpected();case A._var:return this.parseVarStatement(n,r);case A._while:return this.parseWhileStatement(n);case A._with:return this.parseWithStatement(n);case A.braceL:return this.parseBlock();case A.semi:return this.parseEmptyStatement(n);case A._export:case A._import:if(this.hasPlugin("dynamicImport")&&this.lookahead().type===A.parenL)break;return this.options.allowImportExportEverywhere||(t||this.raise(this.state.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.state.start,"'import' and 'export' may appear only with 'sourceType: \"module\"'")),r===A._import?this.parseImport(n):this.parseExport(n);case A.name:if("async"===this.state.value){var i=this.state.clone();if(this.next(),this.match(A._function)&&!this.canInsertSemicolon())return this.expect(A._function),this.parseFunction(n,!0,!1,!0);this.state=i}}var s=this.state.value,a=this.parseExpression();return r===A.name&&"Identifier"===a.type&&this.eat(A.colon)?this.parseLabeledStatement(n,s,a):this.parseExpressionStatement(n,a)},z.takeDecorators=function(e){this.state.decorators.length&&(e.decorators=this.state.decorators,this.state.decorators=[])},z.parseDecorators=function(e){for(;this.match(A.at);){var t=this.parseDecorator();this.state.decorators.push(t)}e&&this.match(A._export)||this.match(A._class)||this.raise(this.state.start,"Leading decorators must be attached to a class declaration")},z.parseDecorator=function(){this.hasPlugin("decorators")||this.unexpected();var e=this.startNode();return this.next(),e.expression=this.parseMaybeAssign(),this.finishNode(e,"Decorator")},z.parseBreakContinueStatement=function(e,t){var r="break"===t;this.next(),this.isLineTerminator()?e.label=null:this.match(A.name)?(e.label=this.parseIdentifier(),this.semicolon()):this.unexpected();var n=void 0;for(n=0;n=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}a.name===t&&this.raise(r.start,"Label '"+t+"' is already declared")}for(var o=this.state.type.isLoop?"loop":this.match(A._switch)?"switch":null,u=this.state.labels.length-1;u>=0;u--){var l=this.state.labels[u];if(l.statementStart!==e.start)break;l.statementStart=this.state.start,l.kind=o}return this.state.labels.push({name:t,kind:o,statementStart:this.state.start}),e.body=this.parseStatement(!0),this.state.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")},z.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},z.parseBlock=function(e){var t=this.startNode();return this.expect(A.braceL),this.parseBlockBody(t,e,!1,A.braceR),this.finishNode(t,"BlockStatement")},z.isValidDirective=function(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized},z.parseBlockBody=function(e,t,r,n){e.body=[],e.directives=[];for(var i=!1,s=void 0,a=void 0;!this.eat(n);){i||!this.state.containsOctal||a||(a=this.state.octalPosition);var o=this.parseStatement(!0,r);if(t&&!i&&this.isValidDirective(o)){var u=this.stmtToDirective(o);e.directives.push(u),void 0===s&&"use strict"===u.value.value&&(s=this.state.strict,this.setStrict(!0),a&&this.raise(a,"Octal literal in strict mode"))}else i=!0,e.body.push(o)}!1===s&&this.setStrict(!1)},z.parseFor=function(e,t){return e.init=t,this.expect(A.semi),e.test=this.match(A.semi)?null:this.parseExpression(),this.expect(A.semi),e.update=this.match(A.parenR)?null:this.parseExpression(),this.expect(A.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,"ForStatement")},z.parseForIn=function(e,t,r){var n=void 0;return r?(this.eatContextual("of"),n="ForAwaitStatement"):(n=this.match(A._in)?"ForInStatement":"ForOfStatement",this.next()),e.left=t,e.right=this.parseExpression(),this.expect(A.parenR),e.body=this.parseStatement(!1),this.state.labels.pop(),this.finishNode(e,n)},z.parseVar=function(e,t,r){for(e.declarations=[],e.kind=r.keyword;;){var n=this.startNode();if(this.parseVarHead(n),this.eat(A.eq)?n.init=this.parseMaybeAssign(t):r!==A._const||this.match(A._in)||this.isContextual("of")?"Identifier"===n.id.type||t&&(this.match(A._in)||this.isContextual("of"))?n.init=null:this.raise(this.state.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(A.comma))break}return e},z.parseVarHead=function(e){e.id=this.parseBindingAtom(),this.checkLVal(e.id,!0,void 0,"variable declaration")},z.parseFunction=function(e,t,r,n,i){var s=this.state.inMethod;return this.state.inMethod=!1,this.initFunction(e,n),this.match(A.star)&&(e.async&&!this.hasPlugin("asyncGenerators")?this.unexpected():(e.generator=!0,this.next())),!t||i||this.match(A.name)||this.match(A._yield)||this.unexpected(),(this.match(A.name)||this.match(A._yield))&&(e.id=this.parseBindingIdentifier()),this.parseFunctionParams(e),this.parseFunctionBody(e,r),this.state.inMethod=s,this.finishNode(e,t?"FunctionDeclaration":"FunctionExpression")},z.parseFunctionParams=function(e){this.expect(A.parenL),e.params=this.parseBindingList(A.parenR)},z.parseClass=function(e,t,r){return this.next(),this.takeDecorators(e),this.parseClassId(e,t,r),this.parseClassSuper(e),this.parseClassBody(e),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},z.isClassProperty=function(){return this.match(A.eq)||this.match(A.semi)||this.match(A.braceR)},z.isClassMethod=function(){return this.match(A.parenL)},z.isNonstaticConstructor=function(e){return!(e.computed||e.static||"constructor"!==e.key.name&&"constructor"!==e.key.value)},z.parseClassBody=function(e){var t=this.state.strict;this.state.strict=!0;var r=!1,n=!1,i=[],s=this.startNode();for(s.body=[],this.expect(A.braceL);!this.eat(A.braceR);)if(this.eat(A.semi))i.length>0&&this.raise(this.state.lastTokEnd,"Decorators must not be followed by a semicolon");else if(this.match(A.at))i.push(this.parseDecorator());else{var a=this.startNode();if(i.length&&(a.decorators=i,i=[]),a.static=!1,this.match(A.name)&&"static"===this.state.value){var o=this.parseIdentifier(!0);if(this.isClassMethod()){a.kind="method",a.computed=!1,a.key=o,this.parseClassMethod(s,a,!1,!1);continue}if(this.isClassProperty()){a.computed=!1,a.key=o,s.body.push(this.parseClassProperty(a));continue}a.static=!0}if(this.eat(A.star))a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be a generator"),a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.parseClassMethod(s,a,!0,!1);else{var u=this.match(A.name),l=this.parsePropertyName(a);if(a.computed||!a.static||"prototype"!==a.key.name&&"prototype"!==a.key.value||this.raise(a.key.start,"Classes may not have static property named prototype"),this.isClassMethod())this.isNonstaticConstructor(a)?(n?this.raise(l.start,"Duplicate constructor in the same class"):a.decorators&&this.raise(a.start,"You can't attach decorators to a class constructor"),n=!0,a.kind="constructor"):a.kind="method",this.parseClassMethod(s,a,!1,!1);else if(this.isClassProperty())this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),s.body.push(this.parseClassProperty(a));else if(u&&"async"===l.name&&!this.isLineTerminator()){var c=this.hasPlugin("asyncGenerators")&&this.eat(A.star);a.kind="method",this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't be an async function"),this.parseClassMethod(s,a,c,!0)}else!u||"get"!==l.name&&"set"!==l.name||this.isLineTerminator()&&this.match(A.star)?this.hasPlugin("classConstructorCall")&&u&&"call"===l.name&&this.match(A.name)&&"constructor"===this.state.value?(r?this.raise(a.start,"Duplicate constructor call in the same class"):a.decorators&&this.raise(a.start,"You can't attach decorators to a class constructor"),r=!0,a.kind="constructorCall",this.parsePropertyName(a),this.parseClassMethod(s,a,!1,!1)):this.isLineTerminator()?(this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Classes may not have a non-static field named 'constructor'"),s.body.push(this.parseClassProperty(a))):this.unexpected():(a.kind=l.name,this.parsePropertyName(a),this.isNonstaticConstructor(a)&&this.raise(a.key.start,"Constructor can't have get/set modifier"),this.parseClassMethod(s,a,!1,!1),this.checkGetterSetterParamCount(a))}}i.length&&this.raise(this.state.start,"You have trailing decorators with no method"),e.body=this.finishNode(s,"ClassBody"),this.state.strict=t},z.parseClassProperty=function(e){return this.state.inClassProperty=!0,this.match(A.eq)?(this.hasPlugin("classProperties")||this.unexpected(),this.next(),e.value=this.parseMaybeAssign()):e.value=null,this.semicolon(),this.state.inClassProperty=!1,this.finishNode(e,"ClassProperty")},z.parseClassMethod=function(e,t,r,n){this.parseMethod(t,r,n),e.body.push(this.finishNode(t,"ClassMethod"))},z.parseClassId=function(e,t,r){this.match(A.name)?e.id=this.parseIdentifier():r||!t?e.id=null:this.unexpected()},z.parseClassSuper=function(e){e.superClass=this.eat(A._extends)?this.parseExprSubscripts():null},z.parseExport=function(e){if(this.next(),this.match(A.star)){var t=this.startNode();if(this.next(),!this.hasPlugin("exportExtensions")||!this.eatContextual("as"))return this.parseExportFrom(e,!0),this.finishNode(e,"ExportAllDeclaration");t.exported=this.parseIdentifier(),e.specifiers=[this.finishNode(t,"ExportNamespaceSpecifier")],this.parseExportSpecifiersMaybe(e),this.parseExportFrom(e,!0)}else if(this.hasPlugin("exportExtensions")&&this.isExportDefaultSpecifier()){var r=this.startNode();if(r.exported=this.parseIdentifier(!0),e.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],this.match(A.comma)&&this.lookahead().type===A.star){this.expect(A.comma);var n=this.startNode();this.expect(A.star),this.expectContextual("as"),n.exported=this.parseIdentifier(),e.specifiers.push(this.finishNode(n,"ExportNamespaceSpecifier"))}else this.parseExportSpecifiersMaybe(e);this.parseExportFrom(e,!0)}else{if(this.eat(A._default)){var i=this.startNode(),s=!1;return this.eat(A._function)?i=this.parseFunction(i,!0,!1,!1,!0):this.match(A._class)?i=this.parseClass(i,!0,!0):(s=!0,i=this.parseMaybeAssign()),e.declaration=i,s&&this.semicolon(),this.checkExport(e,!0,!0),this.finishNode(e,"ExportDefaultDeclaration")}this.shouldParseExportDeclaration()?(e.specifiers=[],e.source=null,e.declaration=this.parseExportDeclaration(e)):(e.declaration=null,e.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(e))}return this.checkExport(e,!0),this.finishNode(e,"ExportNamedDeclaration")},z.parseExportDeclaration=function(){return this.parseStatement(!0)},z.isExportDefaultSpecifier=function(){if(this.match(A.name))return"async"!==this.state.value;if(!this.match(A._default))return!1;var e=this.lookahead();return e.type===A.comma||e.type===A.name&&"from"===e.value},z.parseExportSpecifiersMaybe=function(e){this.eat(A.comma)&&(e.specifiers=e.specifiers.concat(this.parseExportSpecifiers()))},z.parseExportFrom=function(e,t){this.eatContextual("from")?(e.source=this.match(A.string)?this.parseExprAtom():this.unexpected(),this.checkExport(e)):t?this.unexpected():e.source=null,this.semicolon()},z.shouldParseExportDeclaration=function(){return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"let"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isContextual("async")},z.checkExport=function(e,t,r){if(t)if(r)this.checkDuplicateExports(e,"default");else if(e.specifiers&&e.specifiers.length){var n=e.specifiers,i=Array.isArray(n),s=0;for(n=i?n:n[Symbol.iterator]();;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}var o=a;this.checkDuplicateExports(o,o.exported.name)}}else if(e.declaration)if("FunctionDeclaration"===e.declaration.type||"ClassDeclaration"===e.declaration.type)this.checkDuplicateExports(e,e.declaration.id.name);else if("VariableDeclaration"===e.declaration.type){var u=e.declaration.declarations,l=Array.isArray(u),c=0;for(u=l?u:u[Symbol.iterator]();;){var h;if(l){if(c>=u.length)break;h=u[c++]}else{if((c=u.next()).done)break;h=c.value}var p=h;this.checkDeclaration(p.id)}}if(this.state.decorators.length){var f=e.declaration&&("ClassDeclaration"===e.declaration.type||"ClassExpression"===e.declaration.type);e.declaration&&f||this.raise(e.start,"You can only use decorators on an export when exporting a class"),this.takeDecorators(e.declaration)}},z.checkDeclaration=function(e){if("ObjectPattern"===e.type){var t=e.properties,r=Array.isArray(t),n=0;for(t=r?t:t[Symbol.iterator]();;){var i;if(r){if(n>=t.length)break;i=t[n++]}else{if((n=t.next()).done)break;i=n.value}var s=i;this.checkDeclaration(s)}}else if("ArrayPattern"===e.type){var a=e.elements,o=Array.isArray(a),u=0;for(a=o?a:a[Symbol.iterator]();;){var l;if(o){if(u>=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;c&&this.checkDeclaration(c)}}else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type||"RestProperty"===e.type?this.checkDeclaration(e.argument):"Identifier"===e.type&&this.checkDuplicateExports(e,e.name)},z.checkDuplicateExports=function(e,t){this.state.exportedIdentifiers.indexOf(t)>-1&&this.raiseDuplicateExportError(e,t),this.state.exportedIdentifiers.push(t)},z.raiseDuplicateExportError=function(e,t){this.raise(e.start,"default"===t?"Only one default export allowed per module.":"`"+t+"` has already been exported. Exported identifiers must be unique.")},z.parseExportSpecifiers=function(){var e=[],t=!0,r=void 0;for(this.expect(A.braceL);!this.eat(A.braceR);){if(t)t=!1;else if(this.expect(A.comma),this.eat(A.braceR))break;var n=this.match(A._default);n&&!r&&(r=!0);var i=this.startNode();i.local=this.parseIdentifier(n),i.exported=this.eatContextual("as")?this.parseIdentifier(!0):i.local.__clone(),e.push(this.finishNode(i,"ExportSpecifier"))}return r&&!this.isContextual("from")&&this.unexpected(),e},z.parseImport=function(e){return this.eat(A._import),this.match(A.string)?(e.specifiers=[],e.source=this.parseExprAtom()):(e.specifiers=[],this.parseImportSpecifiers(e),this.expectContextual("from"),e.source=this.match(A.string)?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},z.parseImportSpecifiers=function(e){var t=!0;if(this.match(A.name)){var r=this.state.start,n=this.state.startLoc;if(e.specifiers.push(this.parseImportSpecifierDefault(this.parseIdentifier(),r,n)),!this.eat(A.comma))return}if(this.match(A.star)){var i=this.startNode();return this.next(),this.expectContextual("as"),i.local=this.parseIdentifier(),this.checkLVal(i.local,!0,void 0,"import namespace specifier"),void e.specifiers.push(this.finishNode(i,"ImportNamespaceSpecifier"))}for(this.expect(A.braceL);!this.eat(A.braceR);){if(t)t=!1;else if(this.eat(A.colon)&&this.unexpected(null,"ES2015 named imports do not destructure. Use another statement for destructuring after the import."),this.expect(A.comma),this.eat(A.braceR))break;this.parseImportSpecifier(e)}},z.parseImportSpecifier=function(e){var t=this.startNode();t.imported=this.parseIdentifier(!0),this.eatContextual("as")?t.local=this.parseIdentifier():(this.checkReservedWord(t.imported.name,t.start,!0,!0),t.local=t.imported.__clone()),this.checkLVal(t.local,!0,void 0,"import specifier"),e.specifiers.push(this.finishNode(t,"ImportSpecifier"))},z.parseImportSpecifierDefault=function(e,t,r){var n=this.startNodeAt(t,r);return n.local=e,this.checkLVal(n.local,!0,void 0,"default import specifier"),this.finishNode(n,"ImportDefaultSpecifier")};var W=V.prototype;W.toAssignable=function(e,t,r){if(e)switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":e.type="ObjectPattern";var n=e.properties,i=Array.isArray(n),s=0;for(n=i?n:n[Symbol.iterator]();;){var a;if(i){if(s>=n.length)break;a=n[s++]}else{if((s=n.next()).done)break;a=s.value}var o=a;"ObjectMethod"===o.type?"get"===o.kind||"set"===o.kind?this.raise(o.key.start,"Object pattern can't contain getter or setter"):this.raise(o.key.start,"Object pattern can't contain methods"):this.toAssignable(o,t,"object destructuring pattern")}break;case"ObjectProperty":this.toAssignable(e.value,t,r);break;case"SpreadProperty":e.type="RestProperty";var u=e.argument;this.toAssignable(u,t,r);break;case"ArrayExpression":e.type="ArrayPattern",this.toAssignableList(e.elements,t,r);break;case"AssignmentExpression":"="===e.operator?(e.type="AssignmentPattern",delete e.operator):this.raise(e.left.end,"Only '=' operator can be used for specifying default value.");break;case"MemberExpression":if(!t)break;default:var l="Invalid left-hand side"+(r?" in "+r:"expression");this.raise(e.start,l)}return e},W.toAssignableList=function(e,t,r){var n=e.length;if(n){var i=e[n-1];if(i&&"RestElement"===i.type)--n;else if(i&&"SpreadElement"===i.type){i.type="RestElement";var s=i.argument;this.toAssignable(s,t,r),"Identifier"!==s.type&&"MemberExpression"!==s.type&&"ArrayPattern"!==s.type&&this.unexpected(s.start),--n}}for(var a=0;a=s.length)break;u=s[o++]}else{if((o=s.next()).done)break;u=o.value}var l=u;"ObjectProperty"===l.type&&(l=l.value),this.checkLVal(l,t,r,"object destructuring pattern")}break;case"ArrayPattern":var c=e.elements,h=Array.isArray(c),p=0;for(c=h?c:c[Symbol.iterator]();;){var f;if(h){if(p>=c.length)break;f=c[p++]}else{if((p=c.next()).done)break;f=p.value}var d=f;d&&this.checkLVal(d,t,r,"array destructuring pattern")}break;case"AssignmentPattern":this.checkLVal(e.left,t,r,"assignment pattern");break;case"RestProperty":this.checkLVal(e.argument,t,r,"rest property");break;case"RestElement":this.checkLVal(e.argument,t,r,"rest element");break;default:var m=(t?"Binding invalid":"Invalid")+" left-hand side"+(n?" in "+n:"expression");this.raise(e.start,m)}};var K=V.prototype;K.checkPropClash=function(e,t){if(!e.computed&&!e.kind){var r=e.key;"__proto__"===("Identifier"===r.type?r.name:String(r.value))&&(t.proto&&this.raise(r.start,"Redefinition of __proto__ property"),t.proto=!0)}},K.getExpression=function(){this.nextToken();var e=this.parseExpression();return this.match(A.eof)||this.unexpected(),e},K.parseExpression=function(e,t){var r=this.state.start,n=this.state.startLoc,i=this.parseMaybeAssign(e,t);if(this.match(A.comma)){var s=this.startNodeAt(r,n);for(s.expressions=[i];this.eat(A.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.toReferencedList(s.expressions),this.finishNode(s,"SequenceExpression")}return i},K.parseMaybeAssign=function(e,t,r,n){var i=this.state.start,s=this.state.startLoc;if(this.match(A._yield)&&this.state.inGenerator){var a=this.parseYield();return r&&(a=r.call(this,a,i,s)),a}var o=void 0;t?o=!1:(t={start:0},o=!0),(this.match(A.parenL)||this.match(A.name))&&(this.state.potentialArrowAt=this.state.start);var u=this.parseMaybeConditional(e,t,n);if(r&&(u=r.call(this,u,i,s)),this.state.type.isAssign){var l=this.startNodeAt(i,s);if(l.operator=this.state.value,l.left=this.match(A.eq)?this.toAssignable(u,void 0,"assignment expression"):u,t.start=0,this.checkLVal(u,void 0,void 0,"assignment expression"),u.extra&&u.extra.parenthesized){var c=void 0;"ObjectPattern"===u.type?c="`({a}) = 0` use `({a} = 0)`":"ArrayPattern"===u.type&&(c="`([a]) = 0` use `([a] = 0)`"),c&&this.raise(u.start,"You're trying to assign to a parenthesized expression, eg. instead of "+c)}return this.next(),l.right=this.parseMaybeAssign(e),this.finishNode(l,"AssignmentExpression")}return o&&t.start&&this.unexpected(t.start),u},K.parseMaybeConditional=function(e,t,r){var n=this.state.start,i=this.state.startLoc,s=this.parseExprOps(e,t);return t&&t.start?s:this.parseConditional(s,e,n,i,r)},K.parseConditional=function(e,t,r,n){if(this.eat(A.question)){var i=this.startNodeAt(r,n);return i.test=e,i.consequent=this.parseMaybeAssign(),this.expect(A.colon),i.alternate=this.parseMaybeAssign(t),this.finishNode(i,"ConditionalExpression")}return e},K.parseExprOps=function(e,t){var r=this.state.start,n=this.state.startLoc,i=this.parseMaybeUnary(t);return t&&t.start?i:this.parseExprOp(i,r,n,-1,e)},K.parseExprOp=function(e,t,r,n,i){var s=this.state.type.binop;if(!(null==s||i&&this.match(A._in))&&s>n){var a=this.startNodeAt(t,r);a.left=e,a.operator=this.state.value,"**"!==a.operator||"UnaryExpression"!==e.type||!e.extra||e.extra.parenthesizedArgument||e.extra.parenthesized||this.raise(e.argument.start,"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.");var o=this.state.type;this.next();var u=this.state.start,l=this.state.startLoc;return a.right=this.parseExprOp(this.parseMaybeUnary(),u,l,o.rightAssociative?s-1:s,i),this.finishNode(a,o===A.logicalOR||o===A.logicalAND?"LogicalExpression":"BinaryExpression"),this.parseExprOp(a,t,r,n,i)}return e},K.parseMaybeUnary=function(e){if(this.state.type.prefix){var t=this.startNode(),r=this.match(A.incDec);t.operator=this.state.value,t.prefix=!0,this.next();var n=this.state.type;return t.argument=this.parseMaybeUnary(),this.addExtra(t,"parenthesizedArgument",!(n!==A.parenL||t.argument.extra&&t.argument.extra.parenthesized)),e&&e.start&&this.unexpected(e.start),r?this.checkLVal(t.argument,void 0,void 0,"prefix operation"):this.state.strict&&"delete"===t.operator&&"Identifier"===t.argument.type&&this.raise(t.start,"Deleting local variable in strict mode"),this.finishNode(t,r?"UpdateExpression":"UnaryExpression")}var i=this.state.start,s=this.state.startLoc,a=this.parseExprSubscripts(e);if(e&&e.start)return a;for(;this.state.type.postfix&&!this.canInsertSemicolon();){var o=this.startNodeAt(i,s);o.operator=this.state.value,o.prefix=!1,o.argument=a,this.checkLVal(a,void 0,void 0,"postfix operation"),this.next(),a=this.finishNode(o,"UpdateExpression")}return a},K.parseExprSubscripts=function(e){var t=this.state.start,r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(e);return"ArrowFunctionExpression"===i.type&&i.start===n?i:e&&e.start?i:this.parseSubscripts(i,t,r)},K.parseSubscripts=function(e,t,r,n){for(;;){if(!n&&this.eat(A.doubleColon)){var i=this.startNodeAt(t,r);return i.object=e,i.callee=this.parseNoCallExpr(),this.parseSubscripts(this.finishNode(i,"BindExpression"),t,r,n)}if(this.eat(A.dot)){var s=this.startNodeAt(t,r);s.object=e,s.property=this.parseIdentifier(!0),s.computed=!1,e=this.finishNode(s,"MemberExpression")}else if(this.eat(A.bracketL)){var a=this.startNodeAt(t,r);a.object=e,a.property=this.parseExpression(),a.computed=!0,this.expect(A.bracketR),e=this.finishNode(a,"MemberExpression")}else if(!n&&this.match(A.parenL)){var o=this.state.potentialArrowAt===e.start&&"Identifier"===e.type&&"async"===e.name&&!this.canInsertSemicolon();this.next();var u=this.startNodeAt(t,r);if(u.callee=e,u.arguments=this.parseCallExpressionArguments(A.parenR,o),"Import"===u.callee.type&&1!==u.arguments.length&&this.raise(u.start,"import() requires exactly one argument"),e=this.finishNode(u,"CallExpression"),o&&this.shouldParseAsyncArrow())return this.parseAsyncArrowFromCallExpression(this.startNodeAt(t,r),u);this.toReferencedList(u.arguments)}else{if(!this.match(A.backQuote))return e;var l=this.startNodeAt(t,r);l.tag=e,l.quasi=this.parseTemplate(!0),e=this.finishNode(l,"TaggedTemplateExpression")}}},K.parseCallExpressionArguments=function(e,t){for(var r=[],n=void 0,i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(A.comma),this.eat(e))break;this.match(A.parenL)&&!n&&(n=this.state.start),r.push(this.parseExprListItem(!1,t?{start:0}:void 0,t?{start:0}:void 0))}return t&&n&&this.shouldParseAsyncArrow()&&this.unexpected(),r},K.shouldParseAsyncArrow=function(){return this.match(A.arrow)},K.parseAsyncArrowFromCallExpression=function(e,t){return this.expect(A.arrow),this.parseArrowExpression(e,t.arguments,!0)},K.parseNoCallExpr=function(){var e=this.state.start,t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,t,!0)},K.parseExprAtom=function(e){var t=this.state.potentialArrowAt===this.state.start,r=void 0;switch(this.state.type){case A._super:return this.state.inMethod||this.state.inClassProperty||this.options.allowSuperOutsideMethod||this.raise(this.state.start,"'super' outside of function or class"),r=this.startNode(),this.next(),this.match(A.parenL)||this.match(A.bracketL)||this.match(A.dot)||this.unexpected(),this.match(A.parenL)&&"constructor"!==this.state.inMethod&&!this.options.allowSuperOutsideMethod&&this.raise(r.start,"super() outside of class constructor"),this.finishNode(r,"Super");case A._import:return this.hasPlugin("dynamicImport")||this.unexpected(),r=this.startNode(),this.next(),this.match(A.parenL)||this.unexpected(null,A.parenL),this.finishNode(r,"Import");case A._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case A._yield:this.state.inGenerator&&this.unexpected();case A.name:r=this.startNode();var n="await"===this.state.value&&this.state.inAsync,i=this.shouldAllowYieldIdentifier(),s=this.parseIdentifier(n||i);if("await"===s.name){if(this.state.inAsync||this.inModule)return this.parseAwait(r)}else{if("async"===s.name&&this.match(A._function)&&!this.canInsertSemicolon())return this.next(),this.parseFunction(r,!1,!1,!0);if(t&&"async"===s.name&&this.match(A.name)){var a=[this.parseIdentifier()];return this.expect(A.arrow),this.parseArrowExpression(r,a,!0)}}return t&&!this.canInsertSemicolon()&&this.eat(A.arrow)?this.parseArrowExpression(r,[s]):s;case A._do:if(this.hasPlugin("doExpressions")){var o=this.startNode();this.next();var u=this.state.inFunction,l=this.state.labels;return this.state.labels=[],this.state.inFunction=!1,o.body=this.parseBlock(!1,!0),this.state.inFunction=u,this.state.labels=l,this.finishNode(o,"DoExpression")}case A.regexp:var c=this.state.value;return(r=this.parseLiteral(c.value,"RegExpLiteral")).pattern=c.pattern,r.flags=c.flags,r;case A.num:return this.parseLiteral(this.state.value,"NumericLiteral");case A.string:return this.parseLiteral(this.state.value,"StringLiteral");case A._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case A._true:case A._false:return(r=this.startNode()).value=this.match(A._true),this.next(),this.finishNode(r,"BooleanLiteral");case A.parenL:return this.parseParenAndDistinguishExpression(null,null,t);case A.bracketL:return r=this.startNode(),this.next(),r.elements=this.parseExprList(A.bracketR,!0,e),this.toReferencedList(r.elements),this.finishNode(r,"ArrayExpression");case A.braceL:return this.parseObj(!1,e);case A._function:return this.parseFunctionExpression();case A.at:this.parseDecorators();case A._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case A._new:return this.parseNew();case A.backQuote:return this.parseTemplate(!1);case A.doubleColon:r=this.startNode(),this.next(),r.object=null;var h=r.callee=this.parseNoCallExpr();if("MemberExpression"===h.type)return this.finishNode(r,"BindExpression");this.raise(h.start,"Binding should be performed on object property.");default:this.unexpected()}},K.parseFunctionExpression=function(){var e=this.startNode(),t=this.parseIdentifier(!0);return this.state.inGenerator&&this.eat(A.dot)&&this.hasPlugin("functionSent")?this.parseMetaProperty(e,t,"sent"):this.parseFunction(e,!1)},K.parseMetaProperty=function(e,t,r){return e.meta=t,e.property=this.parseIdentifier(!0),e.property.name!==r&&this.raise(e.property.start,"The only valid meta property for new is "+t.name+"."+r),this.finishNode(e,"MetaProperty")},K.parseLiteral=function(e,t,r,n){r=r||this.state.start,n=n||this.state.startLoc;var i=this.startNodeAt(r,n);return this.addExtra(i,"rawValue",e),this.addExtra(i,"raw",this.input.slice(r,this.state.end)),i.value=e,this.next(),this.finishNode(i,t)},K.parseParenExpression=function(){this.expect(A.parenL);var e=this.parseExpression();return this.expect(A.parenR),e},K.parseParenAndDistinguishExpression=function(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;var n=void 0;this.expect(A.parenL);for(var i=this.state.start,s=this.state.startLoc,a=[],o={start:0},u={start:0},l=!0,c=void 0,h=void 0;!this.match(A.parenR);){if(l)l=!1;else if(this.expect(A.comma,u.start||null),this.match(A.parenR)){h=this.state.start;break}if(this.match(A.ellipsis)){var p=this.state.start,f=this.state.startLoc;c=this.state.start,a.push(this.parseParenItem(this.parseRest(),p,f));break}a.push(this.parseMaybeAssign(!1,o,this.parseParenItem,u))}var d=this.state.start,m=this.state.startLoc;this.expect(A.parenR);var y=this.startNodeAt(e,t);if(r&&this.shouldParseArrow()&&(y=this.parseArrow(y))){var g=a,b=Array.isArray(g),v=0;for(g=b?g:g[Symbol.iterator]();;){var x;if(b){if(v>=g.length)break;x=g[v++]}else{if((v=g.next()).done)break;x=v.value}var E=x;E.extra&&E.extra.parenthesized&&this.unexpected(E.extra.parenStart)}return this.parseArrowExpression(y,a)}return a.length||this.unexpected(this.state.lastTokStart),h&&this.unexpected(h),c&&this.unexpected(c),o.start&&this.unexpected(o.start),u.start&&this.unexpected(u.start),a.length>1?((n=this.startNodeAt(i,s)).expressions=a,this.toReferencedList(n.expressions),this.finishNodeAt(n,"SequenceExpression",d,m)):n=a[0],this.addExtra(n,"parenthesized",!0),this.addExtra(n,"parenStart",e),n},K.shouldParseArrow=function(){return!this.canInsertSemicolon()},K.parseArrow=function(e){if(this.eat(A.arrow))return e},K.parseParenItem=function(e){return e},K.parseNew=function(){var e=this.startNode(),t=this.parseIdentifier(!0);if(this.eat(A.dot)){var r=this.parseMetaProperty(e,t,"target");return this.state.inFunction||this.raise(r.property.start,"new.target can only be used in functions"),r}return e.callee=this.parseNoCallExpr(),this.eat(A.parenL)?(e.arguments=this.parseExprList(A.parenR),this.toReferencedList(e.arguments)):e.arguments=[],this.finishNode(e,"NewExpression")},K.parseTemplateElement=function(e){var t=this.startNode();return null===this.state.value&&(e&&this.hasPlugin("templateInvalidEscapes")?this.state.invalidTemplateEscapePosition=null:this.raise(this.state.invalidTemplateEscapePosition,"Invalid escape sequence in template")),t.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),t.tail=this.match(A.backQuote),this.finishNode(t,"TemplateElement")},K.parseTemplate=function(e){var t=this.startNode();this.next(),t.expressions=[];var r=this.parseTemplateElement(e);for(t.quasis=[r];!r.tail;)this.expect(A.dollarBraceL),t.expressions.push(this.parseExpression()),this.expect(A.braceR),t.quasis.push(r=this.parseTemplateElement(e));return this.next(),this.finishNode(t,"TemplateLiteral")},K.parseObj=function(e,t){var r=[],n=Object.create(null),i=!0,s=this.startNode();s.properties=[],this.next();for(var a=null;!this.eat(A.braceR);){if(i)i=!1;else if(this.expect(A.comma),this.eat(A.braceR))break;for(;this.match(A.at);)r.push(this.parseDecorator());var o=this.startNode(),u=!1,l=!1,c=void 0,h=void 0;if(r.length&&(o.decorators=r,r=[]),this.hasPlugin("objectRestSpread")&&this.match(A.ellipsis)){if((o=this.parseSpread(e?{start:0}:void 0)).type=e?"RestProperty":"SpreadProperty",e&&this.toAssignable(o.argument,!0,"object pattern"),s.properties.push(o),!e)continue;var p=this.state.start;if(null===a){if(this.eat(A.braceR))break;if(this.match(A.comma)&&this.lookahead().type===A.braceR)continue;a=p;continue}this.unexpected(a,"Cannot have multiple rest elements when destructuring")}if(o.method=!1,o.shorthand=!1,(e||t)&&(c=this.state.start,h=this.state.startLoc),e||(u=this.eat(A.star)),!e&&this.isContextual("async")){u&&this.unexpected();var f=this.parseIdentifier();this.match(A.colon)||this.match(A.parenL)||this.match(A.braceR)||this.match(A.eq)||this.match(A.comma)?(o.key=f,o.computed=!1):(l=!0,this.hasPlugin("asyncGenerators")&&(u=this.eat(A.star)),this.parsePropertyName(o))}else this.parsePropertyName(o);this.parseObjPropValue(o,c,h,u,l,e,t),this.checkPropClash(o,n),o.shorthand&&this.addExtra(o,"shorthand",!0),s.properties.push(o)}return null!==a&&this.unexpected(a,"The rest element has to be the last element when destructuring"),r.length&&this.raise(this.state.start,"You have trailing decorators with no property"),this.finishNode(s,e?"ObjectPattern":"ObjectExpression")},K.isGetterOrSetterMethod=function(e,t){return!t&&!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&(this.match(A.string)||this.match(A.num)||this.match(A.bracketL)||this.match(A.name)||this.state.type.keyword)},K.checkGetterSetterParamCount=function(e){var t="get"===e.kind?0:1;if(e.params.length!==t){var r=e.start;"get"===e.kind?this.raise(r,"getter should have no params"):this.raise(r,"setter should have exactly one param")}},K.parseObjectMethod=function(e,t,r,n){return r||t||this.match(A.parenL)?(n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,r),this.finishNode(e,"ObjectMethod")):this.isGetterOrSetterMethod(e,n)?((t||r)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),this.parseMethod(e),this.checkGetterSetterParamCount(e),this.finishNode(e,"ObjectMethod")):void 0},K.parseObjectProperty=function(e,t,r,n,i){return this.eat(A.colon)?(e.value=n?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,i),this.finishNode(e,"ObjectProperty")):e.computed||"Identifier"!==e.key.type?void 0:(this.checkReservedWord(e.key.name,e.key.start,!0,!0),n?e.value=this.parseMaybeDefault(t,r,e.key.__clone()):this.match(A.eq)&&i?(i.start||(i.start=this.state.start),e.value=this.parseMaybeDefault(t,r,e.key.__clone())):e.value=e.key.__clone(),e.shorthand=!0,this.finishNode(e,"ObjectProperty"))},K.parseObjPropValue=function(e,t,r,n,i,s,a){var o=this.parseObjectMethod(e,n,i,s)||this.parseObjectProperty(e,t,r,s,a);return o||this.unexpected(),o},K.parsePropertyName=function(e){if(this.eat(A.bracketL))e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(A.bracketR);else{e.computed=!1;var t=this.state.inPropertyName;this.state.inPropertyName=!0,e.key=this.match(A.num)||this.match(A.string)?this.parseExprAtom():this.parseIdentifier(!0),this.state.inPropertyName=t}return e.key},K.initFunction=function(e,t){e.id=null,e.generator=!1,e.expression=!1,e.async=!!t},K.parseMethod=function(e,t,r){var n=this.state.inMethod;return this.state.inMethod=e.kind||!0,this.initFunction(e,r),this.expect(A.parenL),e.params=this.parseBindingList(A.parenR),e.generator=!!t,this.parseFunctionBody(e),this.state.inMethod=n,e},K.parseArrowExpression=function(e,t,r){return this.initFunction(e,r),e.params=this.toAssignableList(t,!0,"arrow function parameters"),this.parseFunctionBody(e,!0),this.finishNode(e,"ArrowFunctionExpression")},K.isStrictBody=function(e,t){if(!t&&e.body.directives.length){var r=e.body.directives,n=Array.isArray(r),i=0;for(r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}if("use strict"===s.value.value)return!0}}return!1},K.parseFunctionBody=function(e,t){var r=t&&!this.match(A.braceL),n=this.state.inAsync;if(this.state.inAsync=e.async,r)e.body=this.parseMaybeAssign(),e.expression=!0;else{var i=this.state.inFunction,s=this.state.inGenerator,a=this.state.labels;this.state.inFunction=!0,this.state.inGenerator=e.generator,this.state.labels=[],e.body=this.parseBlock(!0),e.expression=!1,this.state.inFunction=i,this.state.inGenerator=s,this.state.labels=a}this.state.inAsync=n;var o=this.isStrictBody(e,r),u=this.state.strict||t||o;if(o&&e.id&&"Identifier"===e.id.type&&"yield"===e.id.name&&this.raise(e.id.start,"Binding yield in strict mode"),u){var l=Object.create(null),c=this.state.strict;o&&(this.state.strict=!0),e.id&&this.checkLVal(e.id,!0,void 0,"function name");var h=e.params,p=Array.isArray(h),f=0;for(h=p?h:h[Symbol.iterator]();;){var d;if(p){if(f>=h.length)break;d=h[f++]}else{if((f=h.next()).done)break;d=f.value}var m=d;o&&"Identifier"!==m.type&&this.raise(m.start,"Non-simple parameter in strict mode"),this.checkLVal(m,!0,l,"function parameter list")}this.state.strict=c}},K.parseExprList=function(e,t,r){for(var n=[],i=!0;!this.eat(e);){if(i)i=!1;else if(this.expect(A.comma),this.eat(e))break;n.push(this.parseExprListItem(t,r))}return n},K.parseExprListItem=function(e,t,r){return e&&this.match(A.comma)?null:this.match(A.ellipsis)?this.parseSpread(t):this.parseMaybeAssign(!1,t,this.parseParenItem,r)},K.parseIdentifier=function(e){var t=this.startNode();return e||this.checkReservedWord(this.state.value,this.state.start,!!this.state.type.keyword,!1),this.match(A.name)?t.name=this.state.value:this.state.type.keyword?t.name=this.state.type.keyword:this.unexpected(),!e&&"await"===t.name&&this.state.inAsync&&this.raise(t.start,"invalid use of await inside of an async function"),t.loc.identifierName=t.name,this.next(),this.finishNode(t,"Identifier")},K.checkReservedWord=function(e,t,r,n){(this.isReservedWord(e)||r&&this.isKeyword(e))&&this.raise(t,e+" is a reserved word"),this.state.strict&&(i.strict(e)||n&&i.strictBind(e))&&this.raise(t,e+" is a reserved word in strict mode")},K.parseAwait=function(e){return this.state.inAsync||this.unexpected(),this.match(A.star)&&this.raise(e.start,"await* has been removed from the async functions proposal. Use Promise.all() instead."),e.argument=this.parseMaybeUnary(),this.finishNode(e,"AwaitExpression")},K.parseYield=function(){var e=this.startNode();return this.next(),this.match(A.semi)||this.canInsertSemicolon()||!this.match(A.star)&&!this.state.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(A.star),e.argument=this.parseMaybeAssign()),this.finishNode(e,"YieldExpression")};var Y=V.prototype,J=["leadingComments","trailingComments","innerComments"],G=function(){function e(t,r,n){g(this,e),this.type="",this.start=t,this.end=0,this.loc=new N(r),n&&(this.loc.filename=n)}return e.prototype.__clone=function(){var t=new e;for(var r in this)J.indexOf(r)<0&&(t[r]=this[r]);return t},e}();function X(e,t,r,n){return e.type=t,e.end=r,e.loc.end=n,this.processComment(e),e}function Q(e){return e[e.length-1]}Y.startNode=function(){return new G(this.state.start,this.state.startLoc,this.filename)},Y.startNodeAt=function(e,t){return new G(e,t,this.filename)},Y.finishNode=function(e,t){return X.call(this,e,t,this.state.lastTokEnd,this.state.lastTokEndLoc)},Y.finishNodeAt=function(e,t,r,n){return X.call(this,e,t,r,n)},V.prototype.raise=function(e,t){var r=function(e,t){for(var r=1,n=0;;){D.lastIndex=n;var i=D.exec(e);if(!(i&&i.index0)){var t=this.state.commentStack,r=void 0,n=void 0,i=void 0,s=void 0,a=void 0;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=e.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else{var o=Q(t);t.length>0&&o.trailingComments&&o.trailingComments[0].start>=e.end&&(i=o.trailingComments,o.trailingComments=null)}for(t.length>0&&Q(t).start>=e.start&&(r=t.pop());t.length>0&&Q(t).start>=e.start;)n=t.pop();if(!n&&r&&(n=r),r&&this.state.leadingComments.length>0){var u=Q(this.state.leadingComments);if("ObjectProperty"===r.type){if(u.start>=e.start&&this.state.commentPreviousNode){for(a=0;a0&&(r.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}else if("CallExpression"===e.type&&e.arguments&&e.arguments.length){var l=Q(e.arguments);l&&u.start>=l.start&&u.end<=e.end&&this.state.commentPreviousNode&&this.state.leadingComments.length>0&&(l.trailingComments=this.state.leadingComments,this.state.leadingComments=[])}}if(n){if(n.leadingComments)if(n!==e&&Q(n.leadingComments).end<=e.start)e.leadingComments=n.leadingComments,n.leadingComments=null;else for(s=n.leadingComments.length-2;s>=0;--s)if(n.leadingComments[s].end<=e.start){e.leadingComments=n.leadingComments.splice(0,s+1);break}}else if(this.state.leadingComments.length>0)if(Q(this.state.leadingComments).end<=e.start){if(this.state.commentPreviousNode)for(a=0;a0&&(e.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(s=0;se.start);s++);e.leadingComments=this.state.leadingComments.slice(0,s),0===e.leadingComments.length&&(e.leadingComments=null),0===(i=this.state.leadingComments.slice(s)).length&&(i=null)}this.state.commentPreviousNode=e,i&&(i.length&&i[0].start>=e.start&&Q(i).end<=e.end?e.innerComments=i:e.trailingComments=i),t.push(e)}};var ee=V.prototype;function te(e){return e&&"Property"===e.type&&"init"===e.kind&&!1===e.method}ee.estreeParseRegExpLiteral=function(e){var t=e.pattern,r=e.flags,n=null;try{n=new RegExp(t,r)}catch(e){}var i=this.estreeParseLiteral(n);return i.regex={pattern:t,flags:r},i},ee.estreeParseLiteral=function(e){return this.parseLiteral(e,"Literal")},ee.directiveToStmt=function(e){var t=e.value,r=this.startNodeAt(e.start,e.loc.start),n=this.startNodeAt(t.start,t.loc.start);return n.value=t.value,n.raw=t.extra.raw,r.expression=this.finishNodeAt(n,"Literal",t.end,t.loc.end),r.directive=t.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",e.end,e.loc.end)};var re=["any","mixed","empty","bool","boolean","number","string","void","null"],ne=V.prototype;ne.flowParseTypeInitialiser=function(e){var t=this.state.inType;this.state.inType=!0,this.expect(e||A.colon);var r=this.flowParseType();return this.state.inType=t,r},ne.flowParsePredicate=function(){var e=this.startNode(),t=this.state.startLoc,r=this.state.start;this.expect(A.modulo);var n=this.state.startLoc;return this.expectContextual("checks"),t.line===n.line&&t.column===n.column-1||this.raise(r,"Spaces between ´%´ and ´checks´ are not allowed here."),this.eat(A.parenL)?(e.expression=this.parseExpression(),this.expect(A.parenR),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")},ne.flowParseTypeAndPredicateInitialiser=function(){var e=this.state.inType;this.state.inType=!0,this.expect(A.colon);var t=null,r=null;return this.match(A.modulo)?(this.state.inType=e,r=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(A.modulo)&&(r=this.flowParsePredicate())),[t,r]},ne.flowParseDeclareClass=function(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")},ne.flowParseDeclareFunction=function(e){this.next();var t=e.id=this.parseIdentifier(),r=this.startNode(),n=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(A.parenL);var i=this.flowParseFunctionTypeParams();r.params=i.params,r.rest=i.rest,this.expect(A.parenR);var s,a=this.flowParseTypeAndPredicateInitialiser();return r.returnType=a[0],s=a[1],n.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),n.predicate=s,t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.finishNode(t,t.type),this.semicolon(),this.finishNode(e,"DeclareFunction")},ne.flowParseDeclare=function(e){return this.match(A._class)?this.flowParseDeclareClass(e):this.match(A._function)?this.flowParseDeclareFunction(e):this.match(A._var)?this.flowParseDeclareVariable(e):this.isContextual("module")?this.lookahead().type===A.dot?this.flowParseDeclareModuleExports(e):this.flowParseDeclareModule(e):this.isContextual("type")?this.flowParseDeclareTypeAlias(e):this.isContextual("opaque")?this.flowParseDeclareOpaqueType(e):this.isContextual("interface")?this.flowParseDeclareInterface(e):this.match(A._export)?this.flowParseDeclareExportDeclaration(e):void this.unexpected()},ne.flowParseDeclareExportDeclaration=function(e){if(this.expect(A._export),this.isContextual("opaque"))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");throw this.unexpected()},ne.flowParseDeclareVariable=function(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(),this.semicolon(),this.finishNode(e,"DeclareVariable")},ne.flowParseDeclareModule=function(e){this.next(),this.match(A.string)?e.id=this.parseExprAtom():e.id=this.parseIdentifier();var t=e.body=this.startNode(),r=t.body=[];for(this.expect(A.braceL);!this.match(A.braceR);){var n=this.startNode();if(this.match(A._import)){var i=this.lookahead();"type"!==i.value&&"typeof"!==i.value&&this.unexpected(null,"Imports within a `declare module` body must always be `import type` or `import typeof`"),this.parseImport(n)}else this.expectContextual("declare","Only declares and type imports are allowed inside declare module"),n=this.flowParseDeclare(n,!0);r.push(n)}return this.expect(A.braceR),this.finishNode(t,"BlockStatement"),this.finishNode(e,"DeclareModule")},ne.flowParseDeclareModuleExports=function(e){return this.expectContextual("module"),this.expect(A.dot),this.expectContextual("exports"),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")},ne.flowParseDeclareTypeAlias=function(e){return this.next(),this.flowParseTypeAlias(e),this.finishNode(e,"DeclareTypeAlias")},ne.flowParseDeclareOpaqueType=function(e){return this.next(),this.flowParseOpaqueType(e,!0),this.finishNode(e,"DeclareOpaqueType")},ne.flowParseDeclareInterface=function(e){return this.next(),this.flowParseInterfaceish(e),this.finishNode(e,"DeclareInterface")},ne.flowParseInterfaceish=function(e){if(e.id=this.parseIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],e.mixins=[],this.eat(A._extends))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(A.comma));if(this.isContextual("mixins")){this.next();do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(A.comma))}e.body=this.flowParseObjectType(!0,!1,!1)},ne.flowParseInterfaceExtends=function(){var e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")},ne.flowParseInterface=function(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")},ne.flowParseRestrictedIdentifier=function(e){return re.indexOf(this.state.value)>-1&&this.raise(this.state.start,"Cannot overwrite primitive type "+this.state.value),this.parseIdentifier(e)},ne.flowParseTypeAlias=function(e){return e.id=this.flowParseRestrictedIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(A.eq),this.semicolon(),this.finishNode(e,"TypeAlias")},ne.flowParseOpaqueType=function(e,t){return this.expectContextual("type"),e.id=this.flowParseRestrictedIdentifier(),this.isRelational("<")?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(A.colon)&&(e.supertype=this.flowParseTypeInitialiser(A.colon)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(A.eq)),this.semicolon(),this.finishNode(e,"OpaqueType")},ne.flowParseTypeParameter=function(){var e=this.startNode(),t=this.flowParseVariance(),r=this.flowParseTypeAnnotatableIdentifier();return e.name=r.name,e.variance=t,e.bound=r.typeAnnotation,this.match(A.eq)&&(this.eat(A.eq),e.default=this.flowParseType()),this.finishNode(e,"TypeParameter")},ne.flowParseTypeParameterDeclaration=function(){var e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.isRelational("<")||this.match(A.jsxTagStart)?this.next():this.unexpected();do{t.params.push(this.flowParseTypeParameter()),this.isRelational(">")||this.expect(A.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")},ne.flowParseTypeParameterInstantiation=function(){var e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expectRelational("<");!this.isRelational(">");)e.params.push(this.flowParseType()),this.isRelational(">")||this.expect(A.comma);return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")},ne.flowParseObjectPropertyKey=function(){return this.match(A.num)||this.match(A.string)?this.parseExprAtom():this.parseIdentifier(!0)},ne.flowParseObjectTypeIndexer=function(e,t,r){return e.static=t,this.expect(A.bracketL),this.lookahead().type===A.colon?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(A.bracketR),e.value=this.flowParseTypeInitialiser(),e.variance=r,this.flowObjectTypeSemicolon(),this.finishNode(e,"ObjectTypeIndexer")},ne.flowParseObjectTypeMethodish=function(e){for(e.params=[],e.rest=null,e.typeParameters=null,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(A.parenL);!this.match(A.parenR)&&!this.match(A.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(A.parenR)||this.expect(A.comma);return this.eat(A.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),this.expect(A.parenR),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")},ne.flowParseObjectTypeMethod=function(e,t,r,n){var i=this.startNodeAt(e,t);return i.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e,t)),i.static=r,i.key=n,i.optional=!1,this.flowObjectTypeSemicolon(),this.finishNode(i,"ObjectTypeProperty")},ne.flowParseObjectTypeCallProperty=function(e,t){var r=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(r),this.flowObjectTypeSemicolon(),this.finishNode(e,"ObjectTypeCallProperty")},ne.flowParseObjectType=function(e,t,r){var n=this.state.inType;this.state.inType=!0;var i=this.startNode(),s=void 0,a=void 0,o=!1;i.callProperties=[],i.properties=[],i.indexers=[];var u=void 0,l=void 0;for(t&&this.match(A.braceBarL)?(this.expect(A.braceBarL),u=A.braceBarR,l=!0):(this.expect(A.braceL),u=A.braceR,l=!1),i.exact=l;!this.match(u);){var c=!1,h=this.state.start,p=this.state.startLoc;s=this.startNode(),e&&this.isContextual("static")&&this.lookahead().type!==A.colon&&(this.next(),o=!0);var f=this.state.start,d=this.flowParseVariance();this.match(A.bracketL)?i.indexers.push(this.flowParseObjectTypeIndexer(s,o,d)):this.match(A.parenL)||this.isRelational("<")?(d&&this.unexpected(f),i.callProperties.push(this.flowParseObjectTypeCallProperty(s,o))):this.match(A.ellipsis)?(r||this.unexpected(null,"Spread operator cannot appear in class or interface definitions"),d&&this.unexpected(d.start,"Spread properties cannot have variance"),this.expect(A.ellipsis),s.argument=this.flowParseType(),this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(s,"ObjectTypeSpreadProperty"))):(a=this.flowParseObjectPropertyKey(),this.isRelational("<")||this.match(A.parenL)?(d&&this.unexpected(d.start),i.properties.push(this.flowParseObjectTypeMethod(h,p,o,a))):(this.eat(A.question)&&(c=!0),s.key=a,s.value=this.flowParseTypeInitialiser(),s.optional=c,s.static=o,s.variance=d,this.flowObjectTypeSemicolon(),i.properties.push(this.finishNode(s,"ObjectTypeProperty")))),o=!1}this.expect(u);var m=this.finishNode(i,"ObjectTypeAnnotation");return this.state.inType=n,m},ne.flowObjectTypeSemicolon=function(){this.eat(A.semi)||this.eat(A.comma)||this.match(A.braceR)||this.match(A.braceBarR)||this.unexpected()},ne.flowParseQualifiedTypeIdentifier=function(e,t,r){e=e||this.state.start,t=t||this.state.startLoc;for(var n=r||this.parseIdentifier();this.eat(A.dot);){var i=this.startNodeAt(e,t);i.qualification=n,i.id=this.parseIdentifier(),n=this.finishNode(i,"QualifiedTypeIdentifier")}return n},ne.flowParseGenericType=function(e,t,r){var n=this.startNodeAt(e,t);return n.typeParameters=null,n.id=this.flowParseQualifiedTypeIdentifier(e,t,r),this.isRelational("<")&&(n.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(n,"GenericTypeAnnotation")},ne.flowParseTypeofType=function(){var e=this.startNode();return this.expect(A._typeof),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")},ne.flowParseTupleType=function(){var e=this.startNode();for(e.types=[],this.expect(A.bracketL);this.state.pos0&&void 0!==arguments[0]?arguments[0]:[],rest:null};!this.match(A.parenR)&&!this.match(A.ellipsis);)e.params.push(this.flowParseFunctionTypeParam()),this.match(A.parenR)||this.expect(A.comma);return this.eat(A.ellipsis)&&(e.rest=this.flowParseFunctionTypeParam()),e},ne.flowIdentToTypeAnnotation=function(e,t,r,n){switch(n.name){case"any":return this.finishNode(r,"AnyTypeAnnotation");case"void":return this.finishNode(r,"VoidTypeAnnotation");case"bool":case"boolean":return this.finishNode(r,"BooleanTypeAnnotation");case"mixed":return this.finishNode(r,"MixedTypeAnnotation");case"empty":return this.finishNode(r,"EmptyTypeAnnotation");case"number":return this.finishNode(r,"NumberTypeAnnotation");case"string":return this.finishNode(r,"StringTypeAnnotation");default:return this.flowParseGenericType(e,t,n)}},ne.flowParsePrimaryType=function(){var e=this.state.start,t=this.state.startLoc,r=this.startNode(),n=void 0,i=void 0,s=!1,a=this.state.noAnonFunctionType;switch(this.state.type){case A.name:return this.flowIdentToTypeAnnotation(e,t,r,this.parseIdentifier());case A.braceL:return this.flowParseObjectType(!1,!1,!0);case A.braceBarL:return this.flowParseObjectType(!1,!0,!0);case A.bracketL:return this.flowParseTupleType();case A.relational:if("<"===this.state.value)return r.typeParameters=this.flowParseTypeParameterDeclaration(),this.expect(A.parenL),n=this.flowParseFunctionTypeParams(),r.params=n.params,r.rest=n.rest,this.expect(A.parenR),this.expect(A.arrow),r.returnType=this.flowParseType(),this.finishNode(r,"FunctionTypeAnnotation");break;case A.parenL:if(this.next(),!this.match(A.parenR)&&!this.match(A.ellipsis))if(this.match(A.name)){var o=this.lookahead().type;s=o!==A.question&&o!==A.colon}else s=!0;if(s){if(this.state.noAnonFunctionType=!1,i=this.flowParseType(),this.state.noAnonFunctionType=a,this.state.noAnonFunctionType||!(this.match(A.comma)||this.match(A.parenR)&&this.lookahead().type===A.arrow))return this.expect(A.parenR),i;this.eat(A.comma)}return n=i?this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(i)]):this.flowParseFunctionTypeParams(),r.params=n.params,r.rest=n.rest,this.expect(A.parenR),this.expect(A.arrow),r.returnType=this.flowParseType(),r.typeParameters=null,this.finishNode(r,"FunctionTypeAnnotation");case A.string:return this.parseLiteral(this.state.value,"StringLiteralTypeAnnotation");case A._true:case A._false:return r.value=this.match(A._true),this.next(),this.finishNode(r,"BooleanLiteralTypeAnnotation");case A.plusMin:if("-"===this.state.value)return this.next(),this.match(A.num)||this.unexpected(null,"Unexpected token, expected number"),this.parseLiteral(-this.state.value,"NumericLiteralTypeAnnotation",r.start,r.loc.start);this.unexpected();case A.num:return this.parseLiteral(this.state.value,"NumericLiteralTypeAnnotation");case A._null:return r.value=this.match(A._null),this.next(),this.finishNode(r,"NullLiteralTypeAnnotation");case A._this:return r.value=this.match(A._this),this.next(),this.finishNode(r,"ThisTypeAnnotation");case A.star:return this.next(),this.finishNode(r,"ExistentialTypeParam");default:if("typeof"===this.state.type.keyword)return this.flowParseTypeofType()}this.unexpected()},ne.flowParsePostfixType=function(){for(var e=this.state.start,t=this.state.startLoc,r=this.flowParsePrimaryType();!this.canInsertSemicolon()&&this.match(A.bracketL);){var n=this.startNodeAt(e,t);n.elementType=r,this.expect(A.bracketL),this.expect(A.bracketR),r=this.finishNode(n,"ArrayTypeAnnotation")}return r},ne.flowParsePrefixType=function(){var e=this.startNode();return this.eat(A.question)?(e.typeAnnotation=this.flowParsePrefixType(),this.finishNode(e,"NullableTypeAnnotation")):this.flowParsePostfixType()},ne.flowParseAnonFunctionWithoutParens=function(){var e=this.flowParsePrefixType();if(!this.state.noAnonFunctionType&&this.eat(A.arrow)){var t=this.startNodeAt(e.start,e.loc.start);return t.params=[this.reinterpretTypeAsFunctionTypeParam(e)],t.rest=null,t.returnType=this.flowParseType(),t.typeParameters=null,this.finishNode(t,"FunctionTypeAnnotation")}return e},ne.flowParseIntersectionType=function(){var e=this.startNode();this.eat(A.bitwiseAND);var t=this.flowParseAnonFunctionWithoutParens();for(e.types=[t];this.eat(A.bitwiseAND);)e.types.push(this.flowParseAnonFunctionWithoutParens());return 1===e.types.length?t:this.finishNode(e,"IntersectionTypeAnnotation")},ne.flowParseUnionType=function(){var e=this.startNode();this.eat(A.bitwiseOR);var t=this.flowParseIntersectionType();for(e.types=[t];this.eat(A.bitwiseOR);)e.types.push(this.flowParseIntersectionType());return 1===e.types.length?t:this.finishNode(e,"UnionTypeAnnotation")},ne.flowParseType=function(){var e=this.state.inType;this.state.inType=!0;var t=this.flowParseUnionType();return this.state.inType=e,t},ne.flowParseTypeAnnotation=function(){var e=this.startNode();return e.typeAnnotation=this.flowParseTypeInitialiser(),this.finishNode(e,"TypeAnnotation")},ne.flowParseTypeAndPredicateAnnotation=function(){var e=this.startNode(),t=this.flowParseTypeAndPredicateInitialiser();return e.typeAnnotation=t[0],e.predicate=t[1],this.finishNode(e,"TypeAnnotation")},ne.flowParseTypeAnnotatableIdentifier=function(){var e=this.flowParseRestrictedIdentifier();return this.match(A.colon)&&(e.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(e,e.type)),e},ne.typeCastToParameter=function(e){return e.expression.typeAnnotation=e.typeAnnotation,this.finishNodeAt(e.expression,e.expression.type,e.typeAnnotation.end,e.typeAnnotation.loc.end)},ne.flowParseVariance=function(){var e=null;return this.match(A.plusMin)&&("+"===this.state.value?e="plus":"-"===this.state.value&&(e="minus"),this.next()),e};var ie=String.fromCodePoint;if(!ie){var se=String.fromCharCode,ae=Math.floor;ie=function(){var e=[],t=void 0,r=void 0,n=-1,i=arguments.length;if(!i)return"";for(var s="";++n1114111||ae(a)!=a)throw RangeError("Invalid code point: "+a);a<=65535?e.push(a):(t=55296+((a-=65536)>>10),r=a%1024+56320,e.push(t,r)),(n+1==i||e.length>16384)&&(s+=se.apply(null,e),e.length=0)}return s}}var oe=ie,ue={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},le=/^[\da-fA-F]+$/,ce=/^\d+$/;F.j_oTag=new P("... ",!0,!0),A.jsxName=new E("jsxName"),A.jsxText=new E("jsxText",{beforeExpr:!0}),A.jsxTagStart=new E("jsxTagStart",{startsExpr:!0}),A.jsxTagEnd=new E("jsxTagEnd"),A.jsxTagStart.updateContext=function(){this.state.context.push(F.j_expr),this.state.context.push(F.j_oTag),this.state.exprAllowed=!1},A.jsxTagEnd.updateContext=function(e){var t=this.state.context.pop();t===F.j_oTag&&e===A.slash||t===F.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===F.j_expr):this.state.exprAllowed=!0};var he=V.prototype;function pe(e){return"JSXIdentifier"===e.type?e.name:"JSXNamespacedName"===e.type?e.namespace.name+":"+e.name.name:"JSXMemberExpression"===e.type?pe(e.object)+"."+pe(e.property):void 0}he.jsxReadToken=function(){for(var e="",t=this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated JSX contents");var r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(A.jsxTagStart)):this.getTokenFromCode(r):(e+=this.input.slice(t,this.state.pos),this.finishToken(A.jsxText,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;default:C(r)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}},he.jsxReadNewLine=function(e){var t=this.input.charCodeAt(this.state.pos),r=void 0;return++this.state.pos,13===t&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=e?"\n":"\r\n"):r=String.fromCharCode(t),++this.state.curLine,this.state.lineStart=this.state.pos,r},he.jsxReadString=function(e){for(var t="",r=++this.state.pos;;){this.state.pos>=this.input.length&&this.raise(this.state.start,"Unterminated string constant");var n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadEntity(),r=this.state.pos):C(n)?(t+=this.input.slice(r,this.state.pos),t+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return t+=this.input.slice(r,this.state.pos++),this.finishToken(A.string,t)},he.jsxReadEntity=function(){for(var e="",t=0,r=void 0,n=this.input[this.state.pos],i=++this.state.pos;this.state.pos")}return r.openingElement=i,r.closingElement=s,r.children=n,this.match(A.relational)&&"<"===this.state.value&&this.raise(this.state.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(r,"JSXElement")},he.jsxParseElement=function(){var e=this.state.start,t=this.state.startLoc;return this.next(),this.jsxParseElementAt(e,t)};L.estree=function(e){e.extend("checkDeclaration",function(e){return function(t){te(t)?this.checkDeclaration(t.value):e.call(this,t)}}),e.extend("checkGetterSetterParamCount",function(){return function(e){var t="get"===e.kind?0:1;if(e.value.params.length!==t){var r=e.start;"get"===e.kind?this.raise(r,"getter should have no params"):this.raise(r,"setter should have exactly one param")}}}),e.extend("checkLVal",function(e){return function(t,r,n){var i=this;switch(t.type){case"ObjectPattern":t.properties.forEach(function(e){i.checkLVal("Property"===e.type?e.value:e,r,n,"object destructuring pattern")});break;default:for(var s=arguments.length,a=Array(s>3?s-3:0),o=3;o0){var r=e.body.body,n=Array.isArray(r),i=0;for(r=n?r:r[Symbol.iterator]();;){var s;if(n){if(i>=r.length)break;s=r[i++]}else{if((i=r.next()).done)break;s=i.value}var a=s;if("ExpressionStatement"!==a.type||"Literal"!==a.expression.type)break;if("use strict"===a.expression.value)return!0}}return!1}}),e.extend("isValidDirective",function(){return function(e){return!("ExpressionStatement"!==e.type||"Literal"!==e.expression.type||"string"!=typeof e.expression.value||e.expression.extra&&e.expression.extra.parenthesized)}}),e.extend("stmtToDirective",function(e){return function(t){var r=e.call(this,t),n=t.expression.value;return r.value.value=n,r}}),e.extend("parseBlockBody",function(e){return function(t){for(var r=this,n=arguments.length,i=Array(n>1?n-1:0),s=1;s1?n-1:0),s=1;s2?n-2:0),s=2;s=a.length)break;l=a[u++]}else{if((u=a.next()).done)break;l=u.value}var c=l;"get"===c.kind||"set"===c.kind?this.raise(c.key.start,"Object pattern can't contain getter or setter"):c.method?this.raise(c.key.start,"Object pattern can't contain methods"):this.toAssignable(c,r,"object destructuring pattern")}return t}return e.call.apply(e,[this,t,r].concat(i))}})},L.flow=function(e){e.extend("parseFunctionBody",function(e){return function(t,r){return this.match(A.colon)&&!r&&(t.returnType=this.flowParseTypeAndPredicateAnnotation()),e.call(this,t,r)}}),e.extend("parseStatement",function(e){return function(t,r){if(this.state.strict&&this.match(A.name)&&"interface"===this.state.value){var n=this.startNode();return this.next(),this.flowParseInterface(n)}return e.call(this,t,r)}}),e.extend("parseExpressionStatement",function(e){return function(t,r){if("Identifier"===r.type)if("declare"===r.name){if(this.match(A._class)||this.match(A.name)||this.match(A._function)||this.match(A._var)||this.match(A._export))return this.flowParseDeclare(t)}else if(this.match(A.name)){if("interface"===r.name)return this.flowParseInterface(t);if("type"===r.name)return this.flowParseTypeAlias(t);if("opaque"===r.name)return this.flowParseOpaqueType(t,!1)}return e.call(this,t,r)}}),e.extend("shouldParseExportDeclaration",function(e){return function(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||e.call(this)}}),e.extend("isExportDefaultSpecifier",function(e){return function(){return(!this.match(A.name)||"type"!==this.state.value&&"interface"!==this.state.value&&"opaque"!==this.state.value)&&e.call(this)}}),e.extend("parseConditional",function(e){return function(t,r,n,i,s){if(s&&this.match(A.question)){var a=this.state.clone();try{return e.call(this,t,r,n,i)}catch(e){if(e instanceof SyntaxError)return this.state=a,s.start=e.pos||this.state.start,t;throw e}}return e.call(this,t,r,n,i)}}),e.extend("parseParenItem",function(e){return function(t,r,n){if(t=e.call(this,t,r,n),this.eat(A.question)&&(t.optional=!0),this.match(A.colon)){var i=this.startNodeAt(r,n);return i.expression=t,i.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(i,"TypeCastExpression")}return t}}),e.extend("parseExport",function(e){return function(t){return"ExportNamedDeclaration"===(t=e.call(this,t)).type&&(t.exportKind=t.exportKind||"value"),t}}),e.extend("parseExportDeclaration",function(e){return function(t){if(this.isContextual("type")){t.exportKind="type";var r=this.startNode();return this.next(),this.match(A.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(r)}if(this.isContextual("opaque")){t.exportKind="type";var n=this.startNode();return this.next(),this.flowParseOpaqueType(n,!1)}if(this.isContextual("interface")){t.exportKind="type";var i=this.startNode();return this.next(),this.flowParseInterface(i)}return e.call(this,t)}}),e.extend("parseClassId",function(e){return function(t){e.apply(this,arguments),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}}),e.extend("isKeyword",function(e){return function(t){return(!this.state.inType||"void"!==t)&&e.call(this,t)}}),e.extend("readToken",function(e){return function(t){return!this.state.inType||62!==t&&60!==t?e.call(this,t):this.finishOp(A.relational,1)}}),e.extend("jsx_readToken",function(e){return function(){if(!this.state.inType)return e.call(this)}}),e.extend("toAssignable",function(e){return function(t,r,n){return"TypeCastExpression"===t.type?e.call(this,this.typeCastToParameter(t),r,n):e.call(this,t,r,n)}}),e.extend("toAssignableList",function(e){return function(t,r,n){for(var i=0;i2?n-2:0),s=2;s0?a-4:a;for(r=0;r>16&255,u[c++]=t>>8&255,u[c++]=255&t;2===o&&(t=i[e.charCodeAt(r)]<<2|i[e.charCodeAt(r+1)]>>4,u[c++]=255&t);1===o&&(t=i[e.charCodeAt(r)]<<10|i[e.charCodeAt(r+1)]<<4|i[e.charCodeAt(r+2)]>>2,u[c++]=t>>8&255,u[c++]=255&t);return u},r.fromByteArray=function(e){for(var t,r=e.length,i=r%3,s=[],a=0,o=r-i;ao?o:a+16383));1===i?(t=e[r-1],s.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[r-2]<<8)+e[r-1],s.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return s.join("")};for(var n=[],i=[],s="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,u=a.length;o0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var i,s,a=[],o=t;o>18&63]+n[s>>12&63]+n[s>>6&63]+n[63&s]);return a.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},{}],152:[function(e,t,r){const{URL:n}=e("url"),i=["a","an","and","at","but","by","for","in","nor","of","on","or","so","the","to","up","yet","v","v.","vs","vs."],s=["(","[","{",'"',"'","_"];function a(e){if(0===e.length)return e;const t=[...e],r=t.shift();return-1!==s.indexOf(r)?`${r}${a(t)}`:`${r.toUpperCase()}${t.join("")}`}t.exports=function(e="",{excludedWords:t=[],useDefaultExcludedWords:r=!0}={}){e.toUpperCase()===e&&(e=e.toLowerCase()),r&&t.push(...i);const s=e.trim().split(/\s+/);return s.map((e,r,i)=>{const o=0===r,u=r===s.length-1,l=/.+@.+\..+/.test(e),c=/^(\/[\w.]+)+/.test(e),h=/^\w+\.\w{1,3}$/.test(e),p=/(?![-‑–—])[a-z]+[A-Z].*/.test(e),f=r>1?i[r-1]:"",d=r>1&&":"===[...f].pop();if(l||function(e){try{const t=new n(e);return Boolean(t.hostname)}catch(e){return!1}}(e)||c||h||p)return e;const m=e.match(/[-‑–—]/g);if(m){const r=m.length>1,[n]=m;return e.split(n).map(e=>r&&-1!==t.indexOf(e.toLowerCase())?e:a(e)).join(n)}return-1!==e.indexOf("/")?e.split("/").map(a).join("/"):o||u?a(e):d||-1===t.indexOf(e.toLowerCase())?a(e):e.toLowerCase()}).join(" ")}},{url:735}],153:[function(e,t,r){!function(t,r){"use strict";function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function i(e,t,r){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(r=t,t=10),this._init(e||0,t||10,r||"be"))}var s;"object"==typeof t?t.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{s=e("buffer").Buffer}catch(e){}function a(e,t,r){for(var n=0,i=Math.min(e.length,r),s=t;s=49&&a<=54?a-49+10:a>=17&&a<=22?a-17+10:15&a}return n}function o(e,t,r,n){for(var i=0,s=Math.min(e.length,r),a=t;a=49?o-49+10:o>=17?o-17+10:o}return i}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return e.cmp(t)<0?e:t},i.prototype._init=function(e,t,r){if("number"==typeof e)return this._initNumber(e,t,r);if("object"==typeof e)return this._initArray(e,t,r);"hex"===t&&(t=16);var n=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&n++,16===t?this._parseHex(e,n):this._parseBase(e,t,n),"-"===e[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initNumber=function(e,t,r){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),t,r)},i.prototype._initArray=function(e,t,r){if(e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var n=0;n=0;n-=3)s=e[n]|e[n-1]<<8|e[n-2]<<16,this.words[i]|=s<>>26-a&67108863,(a+=24)>=26&&(a-=26,i++);else if("le"===r)for(n=0,i=0;n>>26-a&67108863,(a+=24)>=26&&(a-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var r=0;r=t;r-=6)i=a(e,r,r+6),this.words[n]|=i<>>26-s&4194303,(s+=24)>=26&&(s-=26,n++);r+6!==t&&(i=a(e,t,r+6),this.words[n]|=i<>>26-s&4194303),this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var s=e.length-r,a=s%n,u=Math.min(s,s-a)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],c=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],s=0|t.words[0],a=i*s,o=67108863&a,u=a/67108864|0;r.words[0]=o;for(var l=1;l>>26,h=67108863&u,p=Math.min(l,t.length-1),f=Math.max(0,l-e.length+1);f<=p;f++){var d=l-f|0;c+=(a=(i=0|e.words[d])*(s=0|t.words[f])+h)/67108864|0,h=67108863&a}r.words[l]=0|h,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(e,t){var r;if(t=0|t||1,16===(e=e||10)||"hex"===e){r="";for(var n=0,i=0,s=0;s>>24-n&16777215)||s!==this.length-1?u[6-o.length]+o+r:o+r,(n+=2)>=26&&(n-=26,s--)}for(0!==i&&(r=i.toString(16)+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(e===(0|e)&&e>=2&&e<=36){var h=l[e],p=c[e];r="";var f=this.clone();for(f.negative=0;!f.isZero();){var d=f.modn(p).toString(e);r=(f=f.idivn(p)).isZero()?d+r:u[h-d.length]+d+r}for(this.isZero()&&(r="0"+r);r.length%t!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length,0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return this.toArrayLike(s,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,r){var n=this.byteLength(),i=r||Math.max(1,n);this.strip();var s,a,o="le"===t,u=new e(i),l=this.clone();if(o){for(a=0;!l.isZero();a++)s=l.andln(255),l.iushrn(8),u[a]=s;for(;a=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return 0==(8191&t)&&(r+=13,t>>>=13),0==(127&t)&&(r+=7,t>>>=7),0==(15&t)&&(r+=4,t>>>=4),0==(3&t)&&(r+=2,t>>>=2),0==(1&t)&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){var t,r;this.length>e.length?(t=this,r=e):(t=e,r=this);for(var n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){var t=0|Math.ceil(e/26),r=e%26;this._expand(t),r>0&&t--;for(var n=0;n0&&(this.words[n]=~this.words[n]&67108863>>26-r),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){var r=e/26|0,n=e%26;return this._expand(r+1),this.words[r]=t?this.words[r]|1<e.length?(r=this,n=e):(r=e,n=this);for(var i=0,s=0;s>>26;for(;0!==i&&s>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;se.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var r,n,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=e):(r=e,n=this);for(var s=0,a=0;a>26,this.words[a]=67108863&t;for(;0!==s&&a>26,this.words[a]=67108863&t;if(0===s&&a>>13,f=0|a[1],d=8191&f,m=f>>>13,y=0|a[2],g=8191&y,b=y>>>13,v=0|a[3],x=8191&v,E=v>>>13,w=0|a[4],S=8191&w,A=w>>>13,T=0|a[5],_=8191&T,D=T>>>13,C=0|a[6],k=8191&C,P=C>>>13,F=0|a[7],O=8191&F,N=F>>>13,M=0|a[8],I=8191&M,B=M>>>13,j=0|a[9],L=8191&j,R=j>>>13,V=0|o[0],U=8191&V,z=V>>>13,$=0|o[1],H=8191&$,q=$>>>13,W=0|o[2],K=8191&W,Y=W>>>13,J=0|o[3],G=8191&J,X=J>>>13,Q=0|o[4],Z=8191&Q,ee=Q>>>13,te=0|o[5],re=8191&te,ne=te>>>13,ie=0|o[6],se=8191&ie,ae=ie>>>13,oe=0|o[7],ue=8191&oe,le=oe>>>13,ce=0|o[8],he=8191&ce,pe=ce>>>13,fe=0|o[9],de=8191&fe,me=fe>>>13;r.negative=e.negative^t.negative,r.length=19;var ye=(l+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,z))+Math.imul(p,U)|0))<<13)|0;l=((s=Math.imul(p,z))+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,z))+Math.imul(m,U)|0,s=Math.imul(m,z);var ge=(l+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,q)|0)+Math.imul(p,H)|0))<<13)|0;l=((s=s+Math.imul(p,q)|0)+(i>>>13)|0)+(ge>>>26)|0,ge&=67108863,n=Math.imul(g,U),i=(i=Math.imul(g,z))+Math.imul(b,U)|0,s=Math.imul(b,z),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,q)|0)+Math.imul(m,H)|0,s=s+Math.imul(m,q)|0;var be=(l+(n=n+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(p,K)|0))<<13)|0;l=((s=s+Math.imul(p,Y)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,n=Math.imul(x,U),i=(i=Math.imul(x,z))+Math.imul(E,U)|0,s=Math.imul(E,z),n=n+Math.imul(g,H)|0,i=(i=i+Math.imul(g,q)|0)+Math.imul(b,H)|0,s=s+Math.imul(b,q)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(m,K)|0,s=s+Math.imul(m,Y)|0;var ve=(l+(n=n+Math.imul(h,G)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(p,G)|0))<<13)|0;l=((s=s+Math.imul(p,X)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,n=Math.imul(S,U),i=(i=Math.imul(S,z))+Math.imul(A,U)|0,s=Math.imul(A,z),n=n+Math.imul(x,H)|0,i=(i=i+Math.imul(x,q)|0)+Math.imul(E,H)|0,s=s+Math.imul(E,q)|0,n=n+Math.imul(g,K)|0,i=(i=i+Math.imul(g,Y)|0)+Math.imul(b,K)|0,s=s+Math.imul(b,Y)|0,n=n+Math.imul(d,G)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(m,G)|0,s=s+Math.imul(m,X)|0;var xe=(l+(n=n+Math.imul(h,Z)|0)|0)+((8191&(i=(i=i+Math.imul(h,ee)|0)+Math.imul(p,Z)|0))<<13)|0;l=((s=s+Math.imul(p,ee)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,n=Math.imul(_,U),i=(i=Math.imul(_,z))+Math.imul(D,U)|0,s=Math.imul(D,z),n=n+Math.imul(S,H)|0,i=(i=i+Math.imul(S,q)|0)+Math.imul(A,H)|0,s=s+Math.imul(A,q)|0,n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,Y)|0)+Math.imul(E,K)|0,s=s+Math.imul(E,Y)|0,n=n+Math.imul(g,G)|0,i=(i=i+Math.imul(g,X)|0)+Math.imul(b,G)|0,s=s+Math.imul(b,X)|0,n=n+Math.imul(d,Z)|0,i=(i=i+Math.imul(d,ee)|0)+Math.imul(m,Z)|0,s=s+Math.imul(m,ee)|0;var Ee=(l+(n=n+Math.imul(h,re)|0)|0)+((8191&(i=(i=i+Math.imul(h,ne)|0)+Math.imul(p,re)|0))<<13)|0;l=((s=s+Math.imul(p,ne)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,n=Math.imul(k,U),i=(i=Math.imul(k,z))+Math.imul(P,U)|0,s=Math.imul(P,z),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,q)|0)+Math.imul(D,H)|0,s=s+Math.imul(D,q)|0,n=n+Math.imul(S,K)|0,i=(i=i+Math.imul(S,Y)|0)+Math.imul(A,K)|0,s=s+Math.imul(A,Y)|0,n=n+Math.imul(x,G)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(E,G)|0,s=s+Math.imul(E,X)|0,n=n+Math.imul(g,Z)|0,i=(i=i+Math.imul(g,ee)|0)+Math.imul(b,Z)|0,s=s+Math.imul(b,ee)|0,n=n+Math.imul(d,re)|0,i=(i=i+Math.imul(d,ne)|0)+Math.imul(m,re)|0,s=s+Math.imul(m,ne)|0;var we=(l+(n=n+Math.imul(h,se)|0)|0)+((8191&(i=(i=i+Math.imul(h,ae)|0)+Math.imul(p,se)|0))<<13)|0;l=((s=s+Math.imul(p,ae)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,z))+Math.imul(N,U)|0,s=Math.imul(N,z),n=n+Math.imul(k,H)|0,i=(i=i+Math.imul(k,q)|0)+Math.imul(P,H)|0,s=s+Math.imul(P,q)|0,n=n+Math.imul(_,K)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(D,K)|0,s=s+Math.imul(D,Y)|0,n=n+Math.imul(S,G)|0,i=(i=i+Math.imul(S,X)|0)+Math.imul(A,G)|0,s=s+Math.imul(A,X)|0,n=n+Math.imul(x,Z)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(E,Z)|0,s=s+Math.imul(E,ee)|0,n=n+Math.imul(g,re)|0,i=(i=i+Math.imul(g,ne)|0)+Math.imul(b,re)|0,s=s+Math.imul(b,ne)|0,n=n+Math.imul(d,se)|0,i=(i=i+Math.imul(d,ae)|0)+Math.imul(m,se)|0,s=s+Math.imul(m,ae)|0;var Se=(l+(n=n+Math.imul(h,ue)|0)|0)+((8191&(i=(i=i+Math.imul(h,le)|0)+Math.imul(p,ue)|0))<<13)|0;l=((s=s+Math.imul(p,le)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,n=Math.imul(I,U),i=(i=Math.imul(I,z))+Math.imul(B,U)|0,s=Math.imul(B,z),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,q)|0)+Math.imul(N,H)|0,s=s+Math.imul(N,q)|0,n=n+Math.imul(k,K)|0,i=(i=i+Math.imul(k,Y)|0)+Math.imul(P,K)|0,s=s+Math.imul(P,Y)|0,n=n+Math.imul(_,G)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(D,G)|0,s=s+Math.imul(D,X)|0,n=n+Math.imul(S,Z)|0,i=(i=i+Math.imul(S,ee)|0)+Math.imul(A,Z)|0,s=s+Math.imul(A,ee)|0,n=n+Math.imul(x,re)|0,i=(i=i+Math.imul(x,ne)|0)+Math.imul(E,re)|0,s=s+Math.imul(E,ne)|0,n=n+Math.imul(g,se)|0,i=(i=i+Math.imul(g,ae)|0)+Math.imul(b,se)|0,s=s+Math.imul(b,ae)|0,n=n+Math.imul(d,ue)|0,i=(i=i+Math.imul(d,le)|0)+Math.imul(m,ue)|0,s=s+Math.imul(m,le)|0;var Ae=(l+(n=n+Math.imul(h,he)|0)|0)+((8191&(i=(i=i+Math.imul(h,pe)|0)+Math.imul(p,he)|0))<<13)|0;l=((s=s+Math.imul(p,pe)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,z))+Math.imul(R,U)|0,s=Math.imul(R,z),n=n+Math.imul(I,H)|0,i=(i=i+Math.imul(I,q)|0)+Math.imul(B,H)|0,s=s+Math.imul(B,q)|0,n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,Y)|0)+Math.imul(N,K)|0,s=s+Math.imul(N,Y)|0,n=n+Math.imul(k,G)|0,i=(i=i+Math.imul(k,X)|0)+Math.imul(P,G)|0,s=s+Math.imul(P,X)|0,n=n+Math.imul(_,Z)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(D,Z)|0,s=s+Math.imul(D,ee)|0,n=n+Math.imul(S,re)|0,i=(i=i+Math.imul(S,ne)|0)+Math.imul(A,re)|0,s=s+Math.imul(A,ne)|0,n=n+Math.imul(x,se)|0,i=(i=i+Math.imul(x,ae)|0)+Math.imul(E,se)|0,s=s+Math.imul(E,ae)|0,n=n+Math.imul(g,ue)|0,i=(i=i+Math.imul(g,le)|0)+Math.imul(b,ue)|0,s=s+Math.imul(b,le)|0,n=n+Math.imul(d,he)|0,i=(i=i+Math.imul(d,pe)|0)+Math.imul(m,he)|0,s=s+Math.imul(m,pe)|0;var Te=(l+(n=n+Math.imul(h,de)|0)|0)+((8191&(i=(i=i+Math.imul(h,me)|0)+Math.imul(p,de)|0))<<13)|0;l=((s=s+Math.imul(p,me)|0)+(i>>>13)|0)+(Te>>>26)|0,Te&=67108863,n=Math.imul(L,H),i=(i=Math.imul(L,q))+Math.imul(R,H)|0,s=Math.imul(R,q),n=n+Math.imul(I,K)|0,i=(i=i+Math.imul(I,Y)|0)+Math.imul(B,K)|0,s=s+Math.imul(B,Y)|0,n=n+Math.imul(O,G)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(N,G)|0,s=s+Math.imul(N,X)|0,n=n+Math.imul(k,Z)|0,i=(i=i+Math.imul(k,ee)|0)+Math.imul(P,Z)|0,s=s+Math.imul(P,ee)|0,n=n+Math.imul(_,re)|0,i=(i=i+Math.imul(_,ne)|0)+Math.imul(D,re)|0,s=s+Math.imul(D,ne)|0,n=n+Math.imul(S,se)|0,i=(i=i+Math.imul(S,ae)|0)+Math.imul(A,se)|0,s=s+Math.imul(A,ae)|0,n=n+Math.imul(x,ue)|0,i=(i=i+Math.imul(x,le)|0)+Math.imul(E,ue)|0,s=s+Math.imul(E,le)|0,n=n+Math.imul(g,he)|0,i=(i=i+Math.imul(g,pe)|0)+Math.imul(b,he)|0,s=s+Math.imul(b,pe)|0;var _e=(l+(n=n+Math.imul(d,de)|0)|0)+((8191&(i=(i=i+Math.imul(d,me)|0)+Math.imul(m,de)|0))<<13)|0;l=((s=s+Math.imul(m,me)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,Y))+Math.imul(R,K)|0,s=Math.imul(R,Y),n=n+Math.imul(I,G)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(B,G)|0,s=s+Math.imul(B,X)|0,n=n+Math.imul(O,Z)|0,i=(i=i+Math.imul(O,ee)|0)+Math.imul(N,Z)|0,s=s+Math.imul(N,ee)|0,n=n+Math.imul(k,re)|0,i=(i=i+Math.imul(k,ne)|0)+Math.imul(P,re)|0,s=s+Math.imul(P,ne)|0,n=n+Math.imul(_,se)|0,i=(i=i+Math.imul(_,ae)|0)+Math.imul(D,se)|0,s=s+Math.imul(D,ae)|0,n=n+Math.imul(S,ue)|0,i=(i=i+Math.imul(S,le)|0)+Math.imul(A,ue)|0,s=s+Math.imul(A,le)|0,n=n+Math.imul(x,he)|0,i=(i=i+Math.imul(x,pe)|0)+Math.imul(E,he)|0,s=s+Math.imul(E,pe)|0;var De=(l+(n=n+Math.imul(g,de)|0)|0)+((8191&(i=(i=i+Math.imul(g,me)|0)+Math.imul(b,de)|0))<<13)|0;l=((s=s+Math.imul(b,me)|0)+(i>>>13)|0)+(De>>>26)|0,De&=67108863,n=Math.imul(L,G),i=(i=Math.imul(L,X))+Math.imul(R,G)|0,s=Math.imul(R,X),n=n+Math.imul(I,Z)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(B,Z)|0,s=s+Math.imul(B,ee)|0,n=n+Math.imul(O,re)|0,i=(i=i+Math.imul(O,ne)|0)+Math.imul(N,re)|0,s=s+Math.imul(N,ne)|0,n=n+Math.imul(k,se)|0,i=(i=i+Math.imul(k,ae)|0)+Math.imul(P,se)|0,s=s+Math.imul(P,ae)|0,n=n+Math.imul(_,ue)|0,i=(i=i+Math.imul(_,le)|0)+Math.imul(D,ue)|0,s=s+Math.imul(D,le)|0,n=n+Math.imul(S,he)|0,i=(i=i+Math.imul(S,pe)|0)+Math.imul(A,he)|0,s=s+Math.imul(A,pe)|0;var Ce=(l+(n=n+Math.imul(x,de)|0)|0)+((8191&(i=(i=i+Math.imul(x,me)|0)+Math.imul(E,de)|0))<<13)|0;l=((s=s+Math.imul(E,me)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,n=Math.imul(L,Z),i=(i=Math.imul(L,ee))+Math.imul(R,Z)|0,s=Math.imul(R,ee),n=n+Math.imul(I,re)|0,i=(i=i+Math.imul(I,ne)|0)+Math.imul(B,re)|0,s=s+Math.imul(B,ne)|0,n=n+Math.imul(O,se)|0,i=(i=i+Math.imul(O,ae)|0)+Math.imul(N,se)|0,s=s+Math.imul(N,ae)|0,n=n+Math.imul(k,ue)|0,i=(i=i+Math.imul(k,le)|0)+Math.imul(P,ue)|0,s=s+Math.imul(P,le)|0,n=n+Math.imul(_,he)|0,i=(i=i+Math.imul(_,pe)|0)+Math.imul(D,he)|0,s=s+Math.imul(D,pe)|0;var ke=(l+(n=n+Math.imul(S,de)|0)|0)+((8191&(i=(i=i+Math.imul(S,me)|0)+Math.imul(A,de)|0))<<13)|0;l=((s=s+Math.imul(A,me)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,n=Math.imul(L,re),i=(i=Math.imul(L,ne))+Math.imul(R,re)|0,s=Math.imul(R,ne),n=n+Math.imul(I,se)|0,i=(i=i+Math.imul(I,ae)|0)+Math.imul(B,se)|0,s=s+Math.imul(B,ae)|0,n=n+Math.imul(O,ue)|0,i=(i=i+Math.imul(O,le)|0)+Math.imul(N,ue)|0,s=s+Math.imul(N,le)|0,n=n+Math.imul(k,he)|0,i=(i=i+Math.imul(k,pe)|0)+Math.imul(P,he)|0,s=s+Math.imul(P,pe)|0;var Pe=(l+(n=n+Math.imul(_,de)|0)|0)+((8191&(i=(i=i+Math.imul(_,me)|0)+Math.imul(D,de)|0))<<13)|0;l=((s=s+Math.imul(D,me)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,n=Math.imul(L,se),i=(i=Math.imul(L,ae))+Math.imul(R,se)|0,s=Math.imul(R,ae),n=n+Math.imul(I,ue)|0,i=(i=i+Math.imul(I,le)|0)+Math.imul(B,ue)|0,s=s+Math.imul(B,le)|0,n=n+Math.imul(O,he)|0,i=(i=i+Math.imul(O,pe)|0)+Math.imul(N,he)|0,s=s+Math.imul(N,pe)|0;var Fe=(l+(n=n+Math.imul(k,de)|0)|0)+((8191&(i=(i=i+Math.imul(k,me)|0)+Math.imul(P,de)|0))<<13)|0;l=((s=s+Math.imul(P,me)|0)+(i>>>13)|0)+(Fe>>>26)|0,Fe&=67108863,n=Math.imul(L,ue),i=(i=Math.imul(L,le))+Math.imul(R,ue)|0,s=Math.imul(R,le),n=n+Math.imul(I,he)|0,i=(i=i+Math.imul(I,pe)|0)+Math.imul(B,he)|0,s=s+Math.imul(B,pe)|0;var Oe=(l+(n=n+Math.imul(O,de)|0)|0)+((8191&(i=(i=i+Math.imul(O,me)|0)+Math.imul(N,de)|0))<<13)|0;l=((s=s+Math.imul(N,me)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,n=Math.imul(L,he),i=(i=Math.imul(L,pe))+Math.imul(R,he)|0,s=Math.imul(R,pe);var Ne=(l+(n=n+Math.imul(I,de)|0)|0)+((8191&(i=(i=i+Math.imul(I,me)|0)+Math.imul(B,de)|0))<<13)|0;l=((s=s+Math.imul(B,me)|0)+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863;var Me=(l+(n=Math.imul(L,de))|0)+((8191&(i=(i=Math.imul(L,me))+Math.imul(R,de)|0))<<13)|0;return l=((s=Math.imul(R,me))+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,u[0]=ye,u[1]=ge,u[2]=be,u[3]=ve,u[4]=xe,u[5]=Ee,u[6]=we,u[7]=Se,u[8]=Ae,u[9]=Te,u[10]=_e,u[11]=De,u[12]=Ce,u[13]=ke,u[14]=Pe,u[15]=Fe,u[16]=Oe,u[17]=Ne,u[18]=Me,0!==l&&(u[19]=l,r.length++),r};function f(e,t,r){return(new d).mulp(e,t,r)}function d(e,t){this.x=e,this.y=t}Math.imul||(p=h),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?p(this,e,t):r<63?h(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,s=0;s>>26)|0)>>>26,a&=67108863}r.words[s]=o,n=a,a=i}return 0!==n?r.words[s]=n:r.length--,r.strip()}(this,e,t):f(this,e,t)},d.prototype.makeRBT=function(e){for(var t=new Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},d.prototype.permute=function(e,t,r,n,i,s){for(var a=0;a>>=1)i++;return 1<>>=13,r[2*s+1]=8191&i,i>>>=13;for(s=2*t;s>=26,t+=n/67108864|0,t+=i>>>26,this.words[r]=67108863&i}return 0!==t&&(this.words[r]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n>>26-r<<26-r;if(0!==r){var s=0;for(t=0;t>>26-r}s&&(this.words[t]=s,this.length++)}if(0!==n){for(t=this.length-1;t>=0;t--)this.words[t+n]=this.words[t];for(t=0;t>>i<s)for(this.length-=s,u=0;u=0&&(0!==l||u>=n);u--){var c=0|this.words[u];this.words[u]=l<<26-i|c>>>i,l=c&a}return o&&0!==l&&(o.words[o.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,r){return this.iushrn(e,t,r)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){var t=e%26,r=(e-t)/26,n=1<>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(o/67108864|0),this.words[n+r]=67108863&i}for(;n>26,this.words[n+r]=67108863&i;if(0===a)return this.strip();for(a=0,n=0;n>26,this.words[n]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r=(this.length,e.length),n=this.clone(),s=e,a=0|s.words[s.length-1];0!==(r=26-this._countBits(a))&&(s=s.ushln(r),n.iushln(r),a=0|s.words[s.length-1]);var o,u=n.length-s.length;if("mod"!==t){(o=new i(null)).length=u+1,o.words=new Array(o.length);for(var l=0;l=0;h--){var p=67108864*(0|n.words[s.length+h])+(0|n.words[s.length+h-1]);for(p=Math.min(p/a|0,67108863),n._ishlnsubmul(s,p,h);0!==n.negative;)p--,n.negative=0,n._ishlnsubmul(s,1,h),n.isZero()||(n.negative^=1);o&&(o.words[h]=p)}return o&&o.strip(),n.strip(),"div"!==t&&0!==r&&n.iushrn(r),{div:o||null,mod:n}},i.prototype.divmod=function(e,t,r){return this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(a=this.neg().divmod(e,t),"mod"!==t&&(n=a.div.neg()),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.iadd(e)),{div:n,mod:s}):0===this.negative&&0!==e.negative?(a=this.divmod(e.neg(),t),"mod"!==t&&(n=a.div.neg()),{div:n,mod:a.mod}):0!=(this.negative&e.negative)?(a=this.neg().divmod(e.neg(),t),"div"!==t&&(s=a.mod.neg(),r&&0!==s.negative&&s.isub(e)),{div:a.div,mod:s}):e.length>this.length||this.cmp(e)<0?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t);var n,s,a},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),s=r.cmp(n);return s<0||1===i&&0===s?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){for(var t=(1<<26)%e,r=0,n=this.length-1;n>=0;n--)r=(t*r+(0|this.words[n]))%e;return r},i.prototype.idivn=function(e){for(var t=0,r=this.length-1;r>=0;r--){var n=(0|this.words[r])+67108864*t;this.words[r]=n/e|0,t=n%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n=new i(1),s=new i(0),a=new i(0),o=new i(1),u=0;t.isEven()&&r.isEven();)t.iushrn(1),r.iushrn(1),++u;for(var l=r.clone(),c=t.clone();!t.isZero();){for(var h=0,p=1;0==(t.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(t.iushrn(h);h-- >0;)(n.isOdd()||s.isOdd())&&(n.iadd(l),s.isub(c)),n.iushrn(1),s.iushrn(1);for(var f=0,d=1;0==(r.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(r.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(l),o.isub(c)),a.iushrn(1),o.iushrn(1);t.cmp(r)>=0?(t.isub(r),n.isub(a),s.isub(o)):(r.isub(t),a.isub(n),o.isub(s))}return{a:a,b:o,gcd:r.iushln(u)}},i.prototype._invmp=function(e){var t=this,r=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var n,s=new i(1),a=new i(0),o=r.clone();t.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,l=1;0==(t.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(t.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(o),s.iushrn(1);for(var c=0,h=1;0==(r.words[0]&h)&&c<26;++c,h<<=1);if(c>0)for(r.iushrn(c);c-- >0;)a.isOdd()&&a.iadd(o),a.iushrn(1);t.cmp(r)>=0?(t.isub(r),s.isub(a)):(r.isub(t),a.isub(s))}return(n=0===t.cmpn(1)?s:a).cmpn(0)<0&&n.iadd(e),n},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var s=t;t=r,r=s}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){var t=e%26,r=(e-t)/26,n=1<>>26,a&=67108863,this.words[s]=a}return 0!==i&&(this.words[s]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,r=e<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)t=1;else{r&&(e=-e);var n=0|this.words[0];t=n===e?0:ne.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return-1===this.cmpn(e)},i.prototype.lt=function(e){return-1===this.cmp(e)},i.prototype.lten=function(e){return this.cmpn(e)<=0},i.prototype.lte=function(e){return this.cmp(e)<=0},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return this._forceRed(e)},i.prototype.redAdd=function(e){return this.red.add(this,e)},i.prototype.redIAdd=function(e){return this.red.iadd(this,e)},i.prototype.redSub=function(e){return this.red.sub(this,e)},i.prototype.redISub=function(e){return this.red.isub(this,e)},i.prototype.redShl=function(e){return this.red.shl(this,e)},i.prototype.redMul=function(e){return this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function y(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function v(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function x(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else this.m=e,this.prime=null}function w(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var e=new i(null);return e.words=new Array(Math.ceil(this.n/13)),e},y.prototype.ireduce=function(e){var t,r=e;do{this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(t>this.n);var n=t0?r.isub(this.p):r.strip(),r},y.prototype.split=function(e,t){e.iushrn(this.n,0,t)},y.prototype.imulK=function(e){return e.imul(this.k)},n(g,y),g.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=s}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},g.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new g;else if("p224"===e)t=new b;else if("p192"===e)t=new v;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new x}return m[e]=t,t},E.prototype._verify1=function(e){},E.prototype._verify2=function(e,t){},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();if(3===this.m.andln(3)){var t=this.m.add(new i(1)).iushrn(2);return this.pow(e,t)}for(var r=this.m.subn(1),n=0;!r.isZero()&&0===r.andln(1);)n++,r.iushrn(1);var s=new i(1).toRed(this),a=s.redNeg(),o=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,o).cmp(a);)u.redIAdd(a);for(var l=this.pow(u,r),c=this.pow(e,r.addn(1).iushrn(1)),h=this.pow(e,r),p=n;0!==h.cmp(s);){for(var f=h,d=0;0!==f.cmp(s);d++)f=f.redSqr();var m=this.pow(l,new i(1).iushln(p-d-1));c=c.redMul(m),l=m.redSqr(),h=h.redMul(l),p=d}return c},E.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},E.prototype.pow=function(e,t){if(t.isZero())return new i(1).toRed(this);if(0===t.cmpn(1))return e.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=e;for(var n=2;n=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var h=l>>c&1;s!==r[0]&&(s=this.sqr(s)),0!==h||0!==a?(a<<=1,a|=h,(4===++o||0===n&&0===c)&&(s=this.mul(s,r[a]),o=0,a=0)):o=0}u=26}return s},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new w(e)},n(w,E),w.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},w.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},w.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},w.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),s=r.isub(n).iushrn(this.shift),a=s;return s.cmp(this.m)>=0?a=s.isub(this.m):s.cmpn(0)<0&&(a=s.iadd(this.m)),a._forceRed(this)},w.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===t||t,this)},{buffer:155}],154:[function(e,t,r){var n;function i(e){this.rand=e}if(t.exports=function(e){return n||(n=new i(null)),n.generate(e)},t.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r>>24]^c[d>>>16&255]^h[m>>>8&255]^p[255&y]^t[g++],a=l[d>>>24]^c[m>>>16&255]^h[y>>>8&255]^p[255&f]^t[g++],o=l[m>>>24]^c[y>>>16&255]^h[f>>>8&255]^p[255&d]^t[g++],u=l[y>>>24]^c[f>>>16&255]^h[d>>>8&255]^p[255&m]^t[g++],f=s,d=a,m=o,y=u;return s=(n[f>>>24]<<24|n[d>>>16&255]<<16|n[m>>>8&255]<<8|n[255&y])^t[g++],a=(n[d>>>24]<<24|n[m>>>16&255]<<16|n[y>>>8&255]<<8|n[255&f])^t[g++],o=(n[m>>>24]<<24|n[y>>>16&255]<<16|n[f>>>8&255]<<8|n[255&d])^t[g++],u=(n[y>>>24]<<24|n[f>>>16&255]<<16|n[d>>>8&255]<<8|n[255&m])^t[g++],[s>>>=0,a>>>=0,o>>>=0,u>>>=0]}var o=[0,1,2,4,8,16,32,64,128,27,54],u=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var r=[],n=[],i=[[],[],[],[]],s=[[],[],[],[]],a=0,o=0,u=0;u<256;++u){var l=o^o<<1^o<<2^o<<3^o<<4;l=l>>>8^255&l^99,r[a]=l,n[l]=a;var c=e[a],h=e[c],p=e[h],f=257*e[l]^16843008*l;i[0][a]=f<<24|f>>>8,i[1][a]=f<<16|f>>>16,i[2][a]=f<<8|f>>>24,i[3][a]=f,f=16843009*p^65537*h^257*c^16843008*a,s[0][l]=f<<24|f>>>8,s[1][l]=f<<16|f>>>16,s[2][l]=f<<8|f>>>24,s[3][l]=f,0===a?a=o=1:(a=c^e[e[e[p^c]]],o^=e[e[o]])}return{SBOX:r,INV_SBOX:n,SUB_MIX:i,INV_SUB_MIX:s}}();function l(e){this._key=i(e),this._reset()}l.blockSize=16,l.keySize=32,l.prototype.blockSize=l.blockSize,l.prototype.keySize=l.keySize,l.prototype._reset=function(){for(var e=this._key,t=e.length,r=t+6,n=4*(r+1),i=[],s=0;s>>24,a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a],a^=o[s/t|0]<<24):t>6&&s%t==4&&(a=u.SBOX[a>>>24]<<24|u.SBOX[a>>>16&255]<<16|u.SBOX[a>>>8&255]<<8|u.SBOX[255&a]),i[s]=i[s-t]^a}for(var l=[],c=0;c>>24]]^u.INV_SUB_MIX[1][u.SBOX[p>>>16&255]]^u.INV_SUB_MIX[2][u.SBOX[p>>>8&255]]^u.INV_SUB_MIX[3][u.SBOX[255&p]]}this._nRounds=r,this._keySchedule=i,this._invKeySchedule=l},l.prototype.encryptBlockRaw=function(e){return a(e=i(e),this._keySchedule,u.SUB_MIX,u.SBOX,this._nRounds)},l.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),r=n.allocUnsafe(16);return r.writeUInt32BE(t[0],0),r.writeUInt32BE(t[1],4),r.writeUInt32BE(t[2],8),r.writeUInt32BE(t[3],12),r},l.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var r=a(e,this._invKeySchedule,u.INV_SUB_MIX,u.INV_SBOX,this._nRounds),s=n.allocUnsafe(16);return s.writeUInt32BE(r[0],0),s.writeUInt32BE(r[3],4),s.writeUInt32BE(r[2],8),s.writeUInt32BE(r[1],12),s},l.prototype.scrub=function(){s(this._keySchedule),s(this._invKeySchedule),s(this._key)},t.exports.AES=l},{"safe-buffer":689}],157:[function(e,t,r){var n=e("./aes"),i=e("safe-buffer").Buffer,s=e("cipher-base"),a=e("inherits"),o=e("./ghash"),u=e("buffer-xor"),l=e("./incr32");function c(e,t,r,a){s.call(this);var u=i.alloc(4,0);this._cipher=new n.AES(t);var c=this._cipher.encryptBlock(u);this._ghash=new o(c),r=function(e,t,r){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var n=new o(r),s=t.length,a=s%16;n.update(t),a&&(a=16-a,n.update(i.alloc(a,0))),n.update(i.alloc(8,0));var u=8*s,c=i.alloc(8);c.writeUIntBE(u,0,8),n.update(c),e._finID=n.state;var h=i.from(e._finID);return l(h),h}(this,r,c),this._prev=i.from(r),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=a,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}a(c,s),c.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var r=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(r),this._len+=e.length,r},c.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=u(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var r=0;e.length!==t.length&&r++;for(var n=Math.min(e.length,t.length),i=0;i16)throw new Error("unable to decrypt data");var r=-1;for(;++r16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t}else if(this.cache.length>=16)return t=this.cache.slice(0,16),this.cache=this.cache.slice(16),t;return null},h.prototype.flush=function(){if(this.cache.length)return this.cache},r.createDecipher=function(e,t){var r=s[e.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var n=l(t,!1,r.key,r.iv);return p(e,n.key,n.iv)},r.createDecipheriv=p},{"./aes":156,"./authCipher":157,"./modes":169,"./streamCipher":172,"cipher-base":189,evp_bytestokey:435,inherits:455,"safe-buffer":689}],160:[function(e,t,r){var n=e("./modes"),i=e("./authCipher"),s=e("safe-buffer").Buffer,a=e("./streamCipher"),o=e("cipher-base"),u=e("./aes"),l=e("evp_bytestokey");function c(e,t,r){o.call(this),this._cache=new p,this._cipher=new u.AES(t),this._prev=s.from(r),this._mode=e,this._autopadding=!0}e("inherits")(c,o),c.prototype._update=function(e){var t,r;this._cache.add(e);for(var n=[];t=this._cache.get();)r=this._mode.encrypt(this,t),n.push(r);return s.concat(n)};var h=s.alloc(16,16);function p(){this.cache=s.allocUnsafe(0)}function f(e,t,r){var o=n[e.toLowerCase()];if(!o)throw new TypeError("invalid suite type");if("string"==typeof t&&(t=s.from(t)),t.length!==o.key/8)throw new TypeError("invalid key length "+t.length);if("string"==typeof r&&(r=s.from(r)),"GCM"!==o.mode&&r.length!==o.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===o.type?new a(o.module,t,r):"auth"===o.type?new i(o.module,t,r):new c(o.module,t,r)}c.prototype._final=function(){var e=this._cache.flush();if(this._autopadding)return e=this._mode.encrypt(this,e),this._cipher.scrub(),e;if(!e.equals(h))throw this._cipher.scrub(),new Error("data not multiple of block length")},c.prototype.setAutoPadding=function(e){return this._autopadding=!!e,this},p.prototype.add=function(e){this.cache=s.concat([this.cache,e])},p.prototype.get=function(){if(this.cache.length>15){var e=this.cache.slice(0,16);return this.cache=this.cache.slice(16),e}return null},p.prototype.flush=function(){for(var e=16-this.cache.length,t=s.allocUnsafe(e),r=-1;++r>>0,0),t.writeUInt32BE(e[1]>>>0,4),t.writeUInt32BE(e[2]>>>0,8),t.writeUInt32BE(e[3]>>>0,12),t}function a(e){this.h=e,this.state=n.alloc(16,0),this.cache=n.allocUnsafe(0)}a.prototype.ghash=function(e){for(var t=-1;++t0;t--)n[t]=n[t]>>>1|(1&n[t-1])<<31;n[0]=n[0]>>>1,r&&(n[0]=n[0]^225<<24)}this.state=s(i)},a.prototype.update=function(e){var t;for(this.cache=n.concat([this.cache,e]);this.cache.length>=16;)t=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(t)},a.prototype.final=function(e,t){return this.cache.length&&this.ghash(n.concat([this.cache,i],16)),this.ghash(s([0,e,0,t])),this.state},t.exports=a},{"safe-buffer":689}],162:[function(e,t,r){t.exports=function(e){for(var t,r=e.length;r--;){if(255!==(t=e.readUInt8(r))){t++,e.writeUInt8(t,r);break}e.writeUInt8(0,r)}}},{}],163:[function(e,t,r){var n=e("buffer-xor");r.encrypt=function(e,t){var r=n(t,e._prev);return e._prev=e._cipher.encryptBlock(r),e._prev},r.decrypt=function(e,t){var r=e._prev;e._prev=t;var i=e._cipher.decryptBlock(t);return n(i,r)}},{"buffer-xor":185}],164:[function(e,t,r){var n=e("safe-buffer").Buffer,i=e("buffer-xor");function s(e,t,r){var s=t.length,a=i(t,e._cache);return e._cache=e._cache.slice(s),e._prev=n.concat([e._prev,r?t:a]),a}r.encrypt=function(e,t,r){for(var i,a=n.allocUnsafe(0);t.length;){if(0===e._cache.length&&(e._cache=e._cipher.encryptBlock(e._prev),e._prev=n.allocUnsafe(0)),!(e._cache.length<=t.length)){a=n.concat([a,s(e,t,r)]);break}i=e._cache.length,a=n.concat([a,s(e,t.slice(0,i),r)]),t=t.slice(i)}return a}},{"buffer-xor":185,"safe-buffer":689}],165:[function(e,t,r){var n=e("safe-buffer").Buffer;function i(e,t,r){for(var n,i,a=-1,o=0;++a<8;)n=t&1<<7-a?128:0,o+=(128&(i=e._cipher.encryptBlock(e._prev)[0]^n))>>a%8,e._prev=s(e._prev,r?n:i);return o}function s(e,t){var r=e.length,i=-1,s=n.allocUnsafe(e.length);for(e=n.concat([e,n.from([t])]);++i>7;return s}r.encrypt=function(e,t,r){for(var s=t.length,a=n.allocUnsafe(s),o=-1;++o=0||!r.umod(e.prime1)||!r.umod(e.prime2);)r=new n(i(t));return r}t.exports=s,s.getr=a}).call(this,e("buffer").Buffer)},{"bn.js":153,buffer:186,randombytes:650}],177:[function(e,t,r){t.exports=e("./browser/algorithms.json")},{"./browser/algorithms.json":178}],178:[function(e,t,r){t.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}},{}],179:[function(e,t,r){t.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}},{}],180:[function(e,t,r){(function(r){var n=e("create-hash"),i=e("stream"),s=e("inherits"),a=e("./sign"),o=e("./verify"),u=e("./algorithms.json");function l(e){i.Writable.call(this);var t=u[e];if(!t)throw new Error("Unknown message digest");this._hashType=t.hash,this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function c(e){i.Writable.call(this);var t=u[e];if(!t)throw new Error("Unknown message digest");this._hash=n(t.hash),this._tag=t.id,this._signType=t.sign}function h(e){return new l(e)}function p(e){return new c(e)}Object.keys(u).forEach(function(e){u[e].id=new r(u[e].id,"hex"),u[e.toLowerCase()]=u[e]}),s(l,i.Writable),l.prototype._write=function(e,t,r){this._hash.update(e),r()},l.prototype.update=function(e,t){return"string"==typeof e&&(e=new r(e,t)),this._hash.update(e),this},l.prototype.sign=function(e,t){this.end();var r=this._hash.digest(),n=a(r,e,this._hashType,this._signType,this._tag);return t?n.toString(t):n},s(c,i.Writable),c.prototype._write=function(e,t,r){this._hash.update(e),r()},c.prototype.update=function(e,t){return"string"==typeof e&&(e=new r(e,t)),this._hash.update(e),this},c.prototype.verify=function(e,t,n){"string"==typeof t&&(t=new r(t,n)),this.end();var i=this._hash.digest();return o(t,i,e,this._signType,this._tag)},t.exports={Sign:h,Verify:p,createSign:h,createVerify:p}}).call(this,e("buffer").Buffer)},{"./algorithms.json":178,"./sign":181,"./verify":182,buffer:186,"create-hash":396,inherits:455,stream:711}],181:[function(e,t,r){(function(r){var n=e("create-hmac"),i=e("browserify-rsa"),s=e("elliptic").ec,a=e("bn.js"),o=e("parse-asn1"),u=e("./curves.json");function l(e,t,i,s){if((e=new r(e.toArray())).length0&&r.ishrn(n),r}function h(e,t,i){var s,a;do{for(s=new r(0);8*s.length=t)throw new Error("invalid sig")}t.exports=function(e,t,u,l,c){var h=s(u);if("ec"===h.type){if("ecdsa"!==l&&"ecdsa/rsa"!==l)throw new Error("wrong public key type");return function(e,t,r){var n=a[r.data.algorithm.curve.join(".")];if(!n)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var s=new i(n),o=r.data.subjectPrivateKey.data;return s.verify(t,e,o)}(e,t,h)}if("dsa"===h.type){if("dsa"!==l)throw new Error("wrong public key type");return function(e,t,r){var i=r.data.p,a=r.data.q,u=r.data.g,l=r.data.pub_key,c=s.signature.decode(e,"der"),h=c.s,p=c.r;o(h,a),o(p,a);var f=n.mont(i),d=h.invm(a);return 0===u.toRed(f).redPow(new n(t).mul(d).mod(a)).fromRed().mul(l.toRed(f).redPow(p.mul(d).mod(a)).fromRed()).mod(i).mod(a).cmp(p)}(e,t,h)}if("rsa"!==l&&"ecdsa/rsa"!==l)throw new Error("wrong public key type");t=r.concat([c,t]);for(var p=h.modulus.byteLength(),f=[1],d=0;t.length+f.length+2>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function o(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function u(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function l(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function c(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function p(e){return e.toString(this.encoding)}function f(e){return e&&e.length?this.write(e):""}r.StringDecoder=s,s.prototype.write=function(e){if(0===e.length)return"";var t,r;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0)return i>0&&(e.lastNeed=i-1),i;if(--n=0)return i>0&&(e.lastNeed=i-2),i;if(--n=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},s.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},{"safe-buffer":689}],185:[function(e,t,r){(function(e){t.exports=function(t,r){for(var n=Math.min(t.length,r.length),i=new e(n),s=0;sa)throw new RangeError('The value "'+e+'" is invalid for option "size"');var r=new Uint8Array(e);return Object.setPrototypeOf(r,t.prototype),r}function t(e,t,r){if("number"==typeof e){if("string"==typeof t)throw new TypeError('The "string" argument must be of type string. Received type number');return c(e)}return u(e,t,r)}function u(e,r,n){if("string"==typeof e)return function(e,r){"string"==typeof r&&""!==r||(r="utf8");if(!t.isEncoding(r))throw new TypeError("Unknown encoding: "+r);var n=0|f(e,r),i=o(n),s=i.write(e,r);s!==n&&(i=i.slice(0,s));return i}(e,r);if(ArrayBuffer.isView(e))return h(e);if(null==e)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(R(e,ArrayBuffer)||e&&R(e.buffer,ArrayBuffer))return function(e,r,n){if(r<0||e.byteLength=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return 0|e}function f(e,r){if(t.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||R(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var n=e.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===n)return 0;for(var s=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(s)return i?-1:B(e).length;r=(""+r).toLowerCase(),s=!0}}function d(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function m(e,r,n,i,s){if(0===e.length)return-1;if("string"==typeof n?(i=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=s?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(s)return-1;n=e.length-1}else if(n<0){if(!s)return-1;n=0}if("string"==typeof r&&(r=t.from(r,i)),t.isBuffer(r))return 0===r.length?-1:y(e,r,n,i,s);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?s?Uint8Array.prototype.indexOf.call(e,r,n):Uint8Array.prototype.lastIndexOf.call(e,r,n):y(e,[r],n,i,s);throw new TypeError("val must be string, number or Buffer")}function y(e,t,r,n,i){var s,a=1,o=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,o/=2,u/=2,r/=2}function l(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var c=-1;for(s=r;so&&(r=o-u),s=r;s>=0;s--){for(var h=!0,p=0;pi&&(n=i):n=i;var s=t.length;n>s/2&&(n=s/2);for(var a=0;a>8,i=r%256,s.push(i),s.push(n);return s}(t,e.length-r),e,r,n)}function S(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function A(e,t,r){r=Math.min(e.length,r);for(var n=[],i=t;i239?4:l>223?3:l>191?2:1;if(i+h<=r)switch(h){case 1:l<128&&(c=l);break;case 2:128==(192&(s=e[i+1]))&&(u=(31&l)<<6|63&s)>127&&(c=u);break;case 3:s=e[i+1],a=e[i+2],128==(192&s)&&128==(192&a)&&(u=(15&l)<<12|(63&s)<<6|63&a)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:s=e[i+1],a=e[i+2],o=e[i+3],128==(192&s)&&128==(192&a)&&128==(192&o)&&(u=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)>65535&&u<1114112&&(c=u)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(e){var t=e.length;if(t<=T)return String.fromCharCode.apply(String,e);var r="",n=0;for(;nthis.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return C(this,t,r);case"utf8":case"utf-8":return A(this,t,r);case"ascii":return _(this,t,r);case"latin1":case"binary":return D(this,t,r);case"base64":return S(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}.apply(this,arguments)},t.prototype.toLocaleString=t.prototype.toString,t.prototype.equals=function(e){if(!t.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===t.compare(this,e)},t.prototype.inspect=function(){var e="",t=r.INSPECT_MAX_BYTES;return e=this.toString("hex",0,t).replace(/(.{2})/g,"$1 ").trim(),this.length>t&&(e+=" ... "),""},s&&(t.prototype[s]=t.prototype.inspect),t.prototype.compare=function(e,r,n,i,s){if(R(e,Uint8Array)&&(e=t.from(e,e.offset,e.byteLength)),!t.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===r&&(r=0),void 0===n&&(n=e?e.length:0),void 0===i&&(i=0),void 0===s&&(s=this.length),r<0||n>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(this===e)return 0;for(var a=(s>>>=0)-(i>>>=0),o=(n>>>=0)-(r>>>=0),u=Math.min(a,o),l=this.slice(i,s),c=e.slice(r,n),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-t;if((void 0===r||r>i)&&(r=i),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var s=!1;;)switch(n){case"hex":return g(this,e,t,r);case"utf8":case"utf-8":return b(this,e,t,r);case"ascii":return v(this,e,t,r);case"latin1":case"binary":return x(this,e,t,r);case"base64":return E(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,e,t,r);default:if(s)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),s=!0}},t.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var T=4096;function _(e,t,r){var n="";r=Math.min(e.length,r);for(var i=t;in)&&(r=n);for(var i="",s=t;sr)throw new RangeError("Trying to access beyond buffer length")}function F(e,r,n,i,s,a){if(!t.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>s||re.length)throw new RangeError("Index out of range")}function O(e,t,r,n,i,s){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function N(e,t,r,n,s){return t=+t,r>>>=0,s||O(e,0,r,4),i.write(e,t,r,n,23,4),r+4}function M(e,t,r,n,s){return t=+t,r>>>=0,s||O(e,0,r,8),i.write(e,t,r,n,52,8),r+8}t.prototype.slice=function(e,r){var n=this.length;(e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r>>=0,t>>>=0,r||P(e,t,this.length);for(var n=this[e],i=1,s=0;++s>>=0,t>>>=0,r||P(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},t.prototype.readUInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),this[e]},t.prototype.readUInt16LE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]|this[e+1]<<8},t.prototype.readUInt16BE=function(e,t){return e>>>=0,t||P(e,2,this.length),this[e]<<8|this[e+1]},t.prototype.readUInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},t.prototype.readUInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},t.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||P(e,t,this.length);for(var n=this[e],i=1,s=0;++s=(i*=128)&&(n-=Math.pow(2,8*t)),n},t.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||P(e,t,this.length);for(var n=t,i=1,s=this[e+--n];n>0&&(i*=256);)s+=this[e+--n]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},t.prototype.readInt8=function(e,t){return e>>>=0,t||P(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},t.prototype.readInt16LE=function(e,t){e>>>=0,t||P(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt16BE=function(e,t){e>>>=0,t||P(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},t.prototype.readInt32LE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},t.prototype.readInt32BE=function(e,t){return e>>>=0,t||P(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},t.prototype.readFloatLE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!0,23,4)},t.prototype.readFloatBE=function(e,t){return e>>>=0,t||P(e,4,this.length),i.read(this,e,!1,23,4)},t.prototype.readDoubleLE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!0,52,8)},t.prototype.readDoubleBE=function(e,t){return e>>>=0,t||P(e,8,this.length),i.read(this,e,!1,52,8)},t.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t>>>=0,r>>>=0,n)||F(this,e,t,r,Math.pow(2,8*r)-1,0);var i=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,n)||F(this,e,t,r,Math.pow(2,8*r)-1,0);var i=r-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+r},t.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,1,255,0),this[t]=255&e,t+1},t.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},t.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);F(this,e,t,r,i-1,-i)}var s=0,a=1,o=0;for(this[t]=255&e;++s>0)-o&255;return t+r},t.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);F(this,e,t,r,i-1,-i)}var s=r-1,a=1,o=0;for(this[t+s]=255&e;--s>=0&&(a*=256);)e<0&&0===o&&0!==this[t+s+1]&&(o=1),this[t+s]=(e/a>>0)-o&255;return t+r},t.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},t.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},t.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},t.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},t.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||F(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},t.prototype.writeFloatLE=function(e,t,r){return N(this,e,t,!0,r)},t.prototype.writeFloatBE=function(e,t,r){return N(this,e,t,!1,r)},t.prototype.writeDoubleLE=function(e,t,r){return M(this,e,t,!0,r)},t.prototype.writeDoubleBE=function(e,t,r){return M(this,e,t,!1,r)},t.prototype.copy=function(e,r,n,i){if(!t.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),i||0===i||(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r=0;--a)e[a+r]=this[a+n];else Uint8Array.prototype.set.call(e,this.subarray(n,i),r);return s},t.prototype.fill=function(e,r,n,i){if("string"==typeof e){if("string"==typeof r?(i=r,r=0,n=this.length):"string"==typeof n&&(i=n,n=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!t.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===e.length){var s=e.charCodeAt(0);("utf8"===i&&s<128||"latin1"===i)&&(e=s)}}else"number"==typeof e?e&=255:"boolean"==typeof e&&(e=Number(e));if(r<0||this.length>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=r;a55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function j(e){return n.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(I,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function L(e,t,r,n){for(var i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function R(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}function V(e){return e!=e}var U=function(){for(var e=new Array(256),t=0;t<16;++t)for(var r=16*t,n=0;n<16;++n)e[r+n]="0123456789abcdef"[t]+"0123456789abcdef"[n];return e}()}).call(this,e("buffer").Buffer)},{"base64-js":151,buffer:186,ieee754:454}],187:[function(e,t,r){t.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},{}],188:[function(e,t,r){"use strict";var n=e("is-regex"),i=(r=t.exports=o).TOKEN_TYPES={LINE_COMMENT:"//",BLOCK_COMMENT:"/**/",SINGLE_QUOTE:"'",DOUBLE_QUOTE:'"',TEMPLATE_QUOTE:"`",REGEXP:"//g"},s=r.BRACKETS={"(":")","{":"}","[":"]"},a={")":"(","}":"{","]":"["};function o(e,t,n){n=n||{},t=t||r.defaultState();for(var i=n.start||0,s=n.end||e.length,a=i;a0?h.errors:null,t):t})})}E.process=function(e,t){var r=t.to;return delete t.to,new E(Object.assign({returnPromise:!0,rebaseTo:r},t)).minify(e).then(function(e){return{css:e.styles}})},E.prototype.minify=function(e,t,r){var n=this.options;return n.returnPromise?new Promise(function(r,i){w(e,n,t,function(e,t){return e?i(e):r(t)})}):w(e,n,t,r)}}).call(this,e("_process"))},{"./optimizer/level-0/optimize":193,"./optimizer/level-1/optimize":194,"./optimizer/level-2/optimize":213,"./optimizer/validator":241,"./options/compatibility":243,"./options/fetch":244,"./options/format":245,"./options/inline":248,"./options/inline-request":246,"./options/inline-timeout":247,"./options/optimization-level":249,"./options/rebase":251,"./options/rebase-to":250,"./reader/input-source-map-tracker":255,"./reader/read-sources":261,"./writer/simple":283,"./writer/source-maps":284,_process:619}],192:[function(e,t,r){t.exports={ASTERISK:"asterisk",BANG:"bang",BACKSLASH:"backslash",UNDERSCORE:"underscore"}},{}],193:[function(e,t,r){t.exports=function(e){return e}},{}],194:[function(e,t,r){var n=e("./shorten-hex"),i=e("./shorten-hsl"),s=e("./shorten-rgb"),a=e("./sort-selectors"),o=e("./tidy-rules"),u=e("./tidy-block"),l=e("./tidy-at-rule"),c=e("../hack"),h=e("../remove-unused"),p=e("../restore-from-optimizing"),f=e("../wrap-for-optimizing").all,d=e("../../options/optimization-level").OptimizationLevel,m=e("../../tokenizer/token"),y=e("../../tokenizer/marker"),g=e("../../utils/format-position"),b=e("../../utils/split"),v=e("../../writer/one-time").rules,x="ignore-property",E="@charset",w=new RegExp("^"+E,"i"),S=e("../../options/rounding-precision").DEFAULT,A=/(?:^|\s|\()(-?\d+)px/,T=/^(\-?[\d\.]+)(m?s)$/,_=/[0-9a-f]/i,D=/^(?:\-chrome\-|\-[\w\-]+\w|\w[\w\-]+\w|\-\-\S+)$/,C=/^@import/i,k=/^('.*'|".*")$/,P=/^['"][a-zA-Z][a-zA-Z\d\-_]+['"]$/,F=/^url\(/i,O=/^--\S+$/;function N(e){return e&&"-"==e[1][0]&&parseFloat(e[1])<0}function M(e){return k.test(e)}function I(e){return F.test(e)}function B(e){return e.replace(F,"url(").replace(/\\?\n|\\?\r\n/g,"")}function j(e){var t=e.value;1==t.length&&"none"==t[0][1]&&(t[0][1]="0 0"),1==t.length&&"transparent"==t[0][1]&&(t[0][1]="0 0")}function L(e){var t,r=e.value;3==r.length&&"/"==r[1][1]&&r[0][1]==r[2][1]?t=1:5==r.length&&"/"==r[2][1]&&r[0][1]==r[3][1]&&r[1][1]==r[4][1]?t=2:7==r.length&&"/"==r[3][1]&&r[0][1]==r[4][1]&&r[1][1]==r[5][1]&&r[2][1]==r[6][1]?t=3:9==r.length&&"/"==r[4][1]&&r[0][1]==r[5][1]&&r[1][1]==r[6][1]&&r[2][1]==r[7][1]&&r[3][1]==r[8][1]&&(t=4),t&&(e.value.splice(t),e.dirty=!0)}function R(e,t,r){return-1===t.indexOf("#")&&-1==t.indexOf("rgb")&&-1==t.indexOf("hsl")?n(t):(t=t.replace(/rgb\((\-?\d+),(\-?\d+),(\-?\d+)\)/g,function(e,t,r,n){return s(t,r,n)}).replace(/hsl\((-?\d+),(-?\d+)%?,(-?\d+)%?\)/g,function(e,t,r,n){return i(t,r,n)}).replace(/(^|[^='"])#([0-9a-f]{6})/gi,function(e,t,r,n,i){var s=i[n+e.length];return s&&_.test(s)?e:r[0]==r[1]&&r[2]==r[3]&&r[4]==r[5]?(t+"#"+r[0]+r[2]+r[4]).toLowerCase():(t+"#"+r).toLowerCase()}).replace(/(^|[^='"])#([0-9a-f]{3})/gi,function(e,t,r){return t+"#"+r.toLowerCase()}).replace(/(rgb|rgba|hsl|hsla)\(([^\)]+)\)/g,function(e,t,r){var n=r.split(",");return"hsl"==t&&3==n.length||"hsla"==t&&4==n.length||"rgb"==t&&3==n.length&&r.indexOf("%")>0||"rgba"==t&&4==n.length&&r.indexOf("%")>0?(-1==n[1].indexOf("%")&&(n[1]+="%"),-1==n[2].indexOf("%")&&(n[2]+="%"),t+"("+n.join(",")+")"):e}),r.colors.opacity&&-1==e.indexOf("background")&&(t=t.replace(/(?:rgba|hsla)\(0,0%?,0%?,0\)/g,function(e){return b(t,",").pop().indexOf("gradient(")>-1?e:"transparent"})),n(t))}function V(e){1==e.value.length&&(e.value[0][1]=e.value[0][1].replace(/progid:DXImageTransform\.Microsoft\.(Alpha|Chroma)(\W)/,function(e,t,r){return t.toLowerCase()+r})),e.value[0][1]=e.value[0][1].replace(/,(\S)/g,", $1").replace(/ ?= ?/g,"=")}function U(e,t){var r=e.value[t][1];"normal"==r?r="400":"bold"==r&&(r="700"),e.value[t][1]=r}function z(e){var t,r=e.value;4==r.length&&"0"===r[0][1]&&"0"===r[1][1]&&"0"===r[2][1]&&"0"===r[3][1]&&(t=e.name.indexOf("box-shadow")>-1?2:1),t&&(e.value.splice(t),e.dirty=!0)}function $(e){var t=e.value;1==t.length&&"none"==t[0][1]&&(t[0][1]="0")}function H(e,t,r){return A.test(t)?t.replace(A,function(e,t){var n,i=parseInt(t);return 0===i?e:(r.properties.shorterLengthUnits&&r.units.pt&&3*i%4==0&&(n=3*i/4+"pt"),r.properties.shorterLengthUnits&&r.units.pc&&i%16==0&&(n=i/16+"pc"),r.properties.shorterLengthUnits&&r.units.in&&i%96==0&&(n=i/96+"in"),n&&(n=e.substring(0,e.indexOf(t))+n),n&&n.length0&&("height"==e||"max-height"==e||"width"==e||"max-width"==e)?t:t.replace(r,"$10$2").replace(r,"$10$2")}function Y(e,t){return e.indexOf("filter")>-1||-1==t.indexOf(" ")||0===t.indexOf("expression")?t:t.indexOf(y.SINGLE_QUOTE)>-1||t.indexOf(y.DOUBLE_QUOTE)>-1?t:((t=t.replace(/\s+/g," ")).indexOf("calc")>-1&&(t=t.replace(/\) ?\/ ?/g,")/ ")),t.replace(/(\(;?)\s+/g,"$1").replace(/\s+(;?\))/g,"$1").replace(/, /g,","))}function J(e,t){return-1==t.indexOf("0deg")?t:t.replace(/\(0deg\)/g,"(0)")}function G(e,t){return-1==t.indexOf("0")?t:(t.indexOf("-")>-1&&(t=t.replace(/([^\w\d\-]|^)\-0([^\.]|$)/g,"$10$2").replace(/([^\w\d\-]|^)\-0([^\.]|$)/g,"$10$2")),t.replace(/(^|\s)0+([1-9])/g,"$1$2").replace(/(^|\D)\.0+(\D|$)/g,"$10$2").replace(/(^|\D)\.0+(\D|$)/g,"$10$2").replace(/\.([1-9]*)0+(\D|$)/g,function(e,t,r){return(t.length>0?".":"")+t+r}).replace(/(^|\D)0\.(\d)/g,"$1.$2"))}function X(e,t){return"content"==e||e.indexOf("font-variation-settings")>-1||e.indexOf("font-feature-settings")>-1||e.indexOf("grid-")>-1?t:P.test(t)?t.substring(1,t.length-1):t}function Q(e){return!/^url\(['"].+['"]\)$/.test(e)||/^url\(['"].*[\*\s\(\)'"].*['"]\)$/.test(e)||/^url\(['"]data:[^;]+;charset/.test(e)?e:e.replace(/["']/g,"")}function Z(e,t,r,n){var i=n(e,t,v(r));return void 0===i?t:!1===i?x:i}function ee(e,t,r){var n,i,s,a,o,u,l=r.options,y=l.level[d.One],b=f(t,!0);e:for(var v=0,E=b.length;v0&&y.optimizeBorderRadius?L(n):"filter"==i&&y.optimizeFilter&&l.compatibility.properties.ieFilters?V(n):"font-weight"==i&&y.optimizeFontWeight?U(n,0):"outline"==i&&y.optimizeOutline&&$(n)}p(b),h(b),function(e,t){var r,n;for(n=0;n-1||0===t.indexOf("alpha")||0===t.indexOf("chroma"))}t.exports=function e(t,r){var n=r.options,i=n.level[d.One],s=n.compatibility.selectors.ie7Hack,c=n.compatibility.selectors.adjacentSpace,h=n.compatibility.properties.spaceAfterClosingBrace,p=n.format,f=!1,y=!1;n.unitsRegexp=n.unitsRegexp||function(e){var t=["px","em","ex","cm","mm","in","pt","pc","%"];return["ch","rem","vh","vm","vmax","vmin","vw"].forEach(function(r){e.compatibility.units[r]&&t.push(r)}),new RegExp("(^|\\s|\\(|,)0(?:"+t.join("|")+")(\\W|$)","g")}(n),n.precision=n.precision||function(e){var t,r,n={matcher:null,units:{}},i=[];for(t in e)(r=e[t])!=S&&(n.units[t]={},n.units[t].value=r,n.units[t].multiplier=Math.pow(10,r),i.push(t));return i.length>0&&(n.enabled=!0,n.decimalPointMatcher=new RegExp("(\\d)\\.($|"+i.join("|")+")($|W)","g"),n.zeroMatcher=new RegExp("(\\d*)(\\.\\d+)("+i.join("|")+")","g")),n}(i.roundingPrecision),n.commentsKept=n.commentsKept||0;for(var g=0,b=t.length;g1?a(v[1],i.selectorsSortingMethod):v[1],ee(v[1],v[2],r),y=!0}(v[0]==m.COMMENT&&0===v[1].length||i.removeEmpty&&(0===v[1].length||v[2]&&0===v[2].length))&&(t.splice(g,1),g--,b--)}return i.cleanupCharsets&&f&&function(e){for(var t=!1,r=0,n=e.length;r-1,r=e.replace(u,c);return r!=e&&(r=r.replace(u,c)),t?r.replace(l,h):r}},{}],196:[function(e,t,r){function n(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+6*(t-e)*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}t.exports=function(e,t,r){var i=function(e,t,r){var i,s,a;if((e%=360)<0&&(e+=360),e=~~e/360,t<0?t=0:t>100&&(t=100),r<0?r=0:r>100&&(r=100),r=~~r/100,0==(t=~~t/100))i=s=a=r;else{var o=r<.5?r*(1+t):r+t-r*t,u=2*r-o;i=n(u,o,e+1/3),s=n(u,o,e),a=n(u,o,e-1/3)}return[~~(255*i),~~(255*s),~~(255*a)]}(e,t,r),s=i[0].toString(16),a=i[1].toString(16),o=i[2].toString(16);return"#"+(1==s.length?"0":"")+s+(1==a.length?"0":"")+a+(1==o.length?"0":"")+o}},{}],197:[function(e,t,r){t.exports=function(e,t,r){return"#"+("00000"+(Math.max(0,Math.min(parseInt(e),255))<<16|Math.max(0,Math.min(parseInt(t),255))<<8|Math.max(0,Math.min(parseInt(r),255))).toString(16)).slice(-6)}},{}],198:[function(e,t,r){var n=e("../../utils/natural-compare");function i(e,t){return n(e[1],t[1])}function s(e,t){return e[1]>t[1]?1:-1}t.exports=function(e,t){switch(t){case"natural":return e.sort(i);case"standard":return e.sort(s);case"none":case!1:return e}}},{"../../utils/natural-compare":278}],199:[function(e,t,r){t.exports=function(e){return e.replace(/\s+/g," ").replace(/url\(\s+/g,"url(").replace(/\s+\)/g,")").trim()}},{}],200:[function(e,t,r){var n=/^@media\W/;t.exports=function(e,t){var r,i;for(i=e.length-1;i>=0;i--)r=!t&&n.test(e[i][1]),e[i][1]=e[i][1].replace(/\n|\r\n/g," ").replace(/\s+/g," ").replace(/(,|:|\() /g,"$1").replace(/ \)/g,")").replace(/'([a-zA-Z][a-zA-Z\d\-_]+)'/,"$1").replace(/"([a-zA-Z][a-zA-Z\d\-_]+)"/,"$1").replace(r?/\) /g:null,")");return e}},{}],201:[function(e,t,r){var n=e("../../options/format").Spaces,i=e("../../tokenizer/marker"),s=e("../../utils/format-position"),a=/[\s"'][iI]\s*\]/,o=/([\d\w])([iI])\]/g,u=/="([a-zA-Z][a-zA-Z\d\-_]+)"([iI])/g,l=/="([a-zA-Z][a-zA-Z\d\-_]+)"(\s|\])/g,c=/^(?:(?:)\s*)+/,h=/='([a-zA-Z][a-zA-Z\d\-_]+)'([iI])/g,p=/='([a-zA-Z][a-zA-Z\d\-_]+)'(\s|\])/g,f=/[>\+~]/,d=/\s/,m="*+html ",y="*:first-child+html ",g="<";function b(e){var t,r,n,s,a=!1,o=!1;for(n=0,s=e.length;n0)&&!h||b&&A&&!h||(u||s)&&(y||w>0)&&h||(g&&A&&!_?(E.pop(),E.push(r)):g&&!A&&_?(E.push(i.SPACE),E.push(r)):b?E.push(i.SPACE):E.push(r))}else E.push(r),m=!0;else E.push(r),p=!0;else E.push(r),w--;else E.push(r),w++;else E.push(r),y=!1;else E.push(r),y=!0;c=l,l=r==i.BACK_SLASH,S=g,A=b}return T?E.join("").replace(o,"$1 $2]"):E.join("")}t.exports=function(e,t,r,n,i){var a,o=[],f=[];function d(e,t){return i.push("HTML comment '"+t+"' at "+s(e[2][0])+". Removing."),""}for(var g=0,x=e.length;g0&&(w=w.replace(/\+nav(\S|$)/,"+ nav$1")),t&&w.indexOf(m)>-1||t&&w.indexOf(y)>-1||(w.indexOf("*")>-1&&(w=w.replace(/\*([:#\.\[])/g,"$1").replace(/^(\:first\-child)?\+html/,"*$1+html")),f.indexOf(w)>-1||(E[1]=w,f.push(w),o.push(E))))}return 1==o.length&&0===o[0][1].length&&(i.push("Empty selector '"+o[0][1]+"' at "+s(o[0][2][0])+". Ignoring."),o=[]),o}},{"../../options/format":245,"../../tokenizer/marker":267,"../../utils/format-position":271}],202:[function(e,t,r){var n=e("./invalid-property-error"),i=e("../wrap-for-optimizing").single,s=e("../../tokenizer/token"),a=e("../../tokenizer/marker"),o=e("../../utils/format-position");function u(e){var t,r;for(t=0,r=e.length;t=0;o--){var u=i([s.PROPERTY,[s.PROPERTY_NAME,r[o]]]);u.value=[a[o]],n.unshift(u)}return n}function h(e,t,r){for(var n,i,s,a=t[e.name],o=[l(a.components[0],0,t),l(a.components[1],0,t),l(a.components[2],0,t)],u=0;u<3;u++){var c=o[u];c.name.indexOf("color")>0?n=c:c.name.indexOf("style")>0?i=c:s=c}if(1==e.value.length&&"inherit"==e.value[0][1]||3==e.value.length&&"inherit"==e.value[0][1]&&"inherit"==e.value[1][1]&&"inherit"==e.value[2][1])return n.value=i.value=s.value=[e.value[0]],o;var h,p,f=e.value.slice(0);return f.length>0&&(h=(p=f.filter(function(e){return function(t){return"inherit"!=t[1]&&(e.isWidth(t[1])||e.isUnit(t[1])&&!e.isDynamicUnit(t[1]))&&!e.isStyleKeyword(t[1])&&!e.isColorFunction(t[1])}}(r))).length>1&&("none"==p[0][1]||"auto"==p[0][1])?p[1]:p[0])&&(s.value=[h],f.splice(f.indexOf(h),1)),f.length>0&&(h=f.filter(function(e){return function(t){return"inherit"!=t[1]&&e.isStyleKeyword(t[1])&&!e.isColorFunction(t[1])}}(r))[0])&&(i.value=[h],f.splice(f.indexOf(h),1)),f.length>0&&(h=f.filter(function(e){return function(t){return"invert"==t[1]||e.isColor(t[1])||e.isPrefixed(t[1])}}(r))[0])&&(n.value=[h],f.splice(f.indexOf(h),1)),o}t.exports={animation:function(e,t,r){var i,s,a,c=l(e.name+"-duration",0,t),h=l(e.name+"-timing-function",0,t),p=l(e.name+"-delay",0,t),f=l(e.name+"-iteration-count",0,t),d=l(e.name+"-direction",0,t),m=l(e.name+"-fill-mode",0,t),y=l(e.name+"-play-state",0,t),g=l(e.name+"-name",0,t),b=[c,h,p,f,d,m,y,g],v=e.value,x=!1,E=!1,w=!1,S=!1,A=!1,T=!1,_=!1,D=!1;if(1==e.value.length&&"inherit"==e.value[0][1])return c.value=h.value=p.value=f.value=d.value=m.value=y.value=g.value=e.value,b;if(v.length>1&&u(v))throw new n("Invalid animation values at "+o(v[0][2][0])+". Ignoring.");for(s=0,a=v.length;s=0;w--){var S=y[w];if(r.isBackgroundAttachmentKeyword(S[1]))h.value=[S],E=!0;else if(r.isBackgroundClipKeyword(S[1])||r.isBackgroundOriginKeyword(S[1]))b?(p.value=[S],v=!0):(f.value=[S],b=!0),E=!0;else if(r.isBackgroundRepeatKeyword(S[1]))x?c.value.unshift(S):(c.value=[S],x=!0),E=!0;else if(r.isBackgroundPositionKeyword(S[1])||r.isBackgroundSizeKeyword(S[1])||r.isUnit(S[1])||r.isDynamicUnit(S[1])){if(w>0){var A=y[w-1];A[1]==a.FORWARD_SLASH?u.value=[S]:w>1&&y[w-2][1]==a.FORWARD_SLASH?(u.value=[A,S],w-=2):(g||(s.value=[]),s.value.unshift(S),g=!0)}else g||(s.value=[]),s.value.unshift(S),g=!0;E=!0}else d.value[0][1]!=t[d.name].defaultValue&&"none"!=d.value[0][1]||!r.isColor(S[1])&&!r.isPrefixed(S[1])?(r.isUrl(S[1])||r.isFunction(S[1]))&&(i.value=[S],E=!0):(d.value=[S],E=!0)}if(b&&!v&&(p.value=f.value.slice(0)),!E)throw new n("Invalid background value at "+o(y[0][2][0])+". Ignoring.");return m},border:h,borderRadius:function(e,t){for(var r=e.value,i=-1,s=0,u=r.length;s-1?r.slice(0,i):r.slice(0),h.components=c(h,t);var p=l(e.name,0,t);p.value=i>-1?r.slice(i+1):r.slice(0),p.components=c(p,t);for(var f=0;f<4;f++)h.components[f].multiplex=!0,h.components[f].value=h.components[f].value.concat(p.components[f].value);return h.components},font:function(e,t,r){var i,s,c,h,p=l("font-style",0,t),f=l("font-variant",0,t),d=l("font-weight",0,t),m=l("font-stretch",0,t),y=l("font-size",0,t),g=l("line-height",0,t),b=l("font-family",0,t),v=[p,f,d,m,y,g,b],x=e.value,E=0,w=!1,S=!1,A=!1,T=!1,_=!1,D=!1;if(!x[E])throw new n("Missing font values at "+o(e.all[e.position][1][2][0])+". Ignoring.");if(1==x.length&&"inherit"==x[0][1])return p.value=f.value=d.value=m.value=y.value=g.value=b.value=x,v;if(1==x.length&&(r.isFontKeyword(x[0][1])||r.isGlobal(x[0][1])||r.isPrefixed(x[0][1])))return x[0][1]=a.INTERNAL+x[0][1],p.value=f.value=d.value=m.value=y.value=g.value=b.value=x,v;if(x.length<2||!function(e,t){var r,n,i;for(n=0,i=e.length;n1&&u(x))throw new n("Invalid font values at "+o(x[0][2][0])+". Ignoring.");for(;E<4;){if(i=r.isFontStretchKeyword(x[E][1])||r.isGlobal(x[E][1]),s=r.isFontStyleKeyword(x[E][1])||r.isGlobal(x[E][1]),c=r.isFontVariantKeyword(x[E][1])||r.isGlobal(x[E][1]),h=r.isFontWeightKeyword(x[E][1])||r.isGlobal(x[E][1]),s&&!S)p.value=[x[E]],S=!0;else if(c&&!A)f.value=[x[E]],A=!0;else if(h&&!T)d.value=[x[E]],T=!0;else{if(!i||w){if(s&&S||c&&A||h&&T||i&&w)throw new n("Invalid font style / variant / weight / stretch value at "+o(x[0][2][0])+". Ignoring.");break}m.value=[x[E]],w=!0}E++}if(!(r.isFontSizeKeyword(x[E][1])||r.isUnit(x[E][1])&&!r.isDynamicUnit(x[E][1])))throw new n("Missing font size at "+o(x[0][2][0])+". Ignoring.");if(y.value=[x[E]],_=!0,!x[++E])throw new n("Missing font family at "+o(x[0][2][0])+". Ignoring.");for(_&&x[E]&&x[E][1]==a.FORWARD_SLASH&&x[E+1]&&(r.isLineHeightKeyword(x[E+1][1])||r.isUnit(x[E+1][1])||r.isNumber(x[E+1][1]))&&(g.value=[x[E+1]],E++,E++),b.value=[];x[E];)x[E][1]==a.COMMA?D=!1:(D?b.value[b.value.length-1][1]+=a.SPACE+x[E][1]:b.value.push(x[E]),D=!0),E++;if(0===b.value.length)throw new n("Missing font family at "+o(x[0][2][0])+". Ignoring.");return v},fourValues:c,listStyle:function(e,t,r){var n=l("list-style-type",0,t),i=l("list-style-position",0,t),s=l("list-style-image",0,t),a=[n,i,s];if(1==e.value.length&&"inherit"==e.value[0][1])return n.value=i.value=s.value=[e.value[0]],a;var o=e.value.slice(0),u=o.length,c=0;for(c=0,u=o.length;c0&&(r.isListStyleTypeKeyword(o[0][1])||r.isIdentifier(o[0][1]))&&(n.value=[o[0]]),a},multiplex:function(e){return function(t,r,n){var i,o,u,c,h=[],p=t.value;for(i=0,u=p.length;i1&&u(m))throw new n("Invalid animation values at "+o(m[0][2][0])+". Ignoring.");for(s=0,a=m.length;s=0;r--){var n=s(e.components[r]);n.value=e.components[r].value.slice(0),t.components.unshift(n)}return t.dirty=!0,t.value=e.value.slice(0),t},shallow:s}},{"../../tokenizer/token":268,"../wrap-for-optimizing":242}],205:[function(e,t,r){var n=e("./break-up"),i=e("./can-override"),s=e("./restore"),a=e("../../utils/override"),o={animation:{canOverride:i.generic.components([i.generic.time,i.generic.timingFunction,i.generic.time,i.property.animationIterationCount,i.property.animationDirection,i.property.animationFillMode,i.property.animationPlayState,i.property.animationName]),components:["animation-duration","animation-timing-function","animation-delay","animation-iteration-count","animation-direction","animation-fill-mode","animation-play-state","animation-name"],breakUp:n.multiplex(n.animation),defaultValue:"none",restore:s.multiplex(s.withoutDefaults),shorthand:!0,vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-delay":{canOverride:i.generic.time,componentOf:["animation"],defaultValue:"0s",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-direction":{canOverride:i.property.animationDirection,componentOf:["animation"],defaultValue:"normal",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-duration":{canOverride:i.generic.time,componentOf:["animation"],defaultValue:"0s",intoMultiplexMode:"real",keepUnlessDefault:"animation-delay",vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-fill-mode":{canOverride:i.property.animationFillMode,componentOf:["animation"],defaultValue:"none",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-iteration-count":{canOverride:i.property.animationIterationCount,componentOf:["animation"],defaultValue:"1",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-name":{canOverride:i.property.animationName,componentOf:["animation"],defaultValue:"none",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-play-state":{canOverride:i.property.animationPlayState,componentOf:["animation"],defaultValue:"running",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"animation-timing-function":{canOverride:i.generic.timingFunction,componentOf:["animation"],defaultValue:"ease",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},background:{canOverride:i.generic.components([i.generic.image,i.property.backgroundPosition,i.property.backgroundSize,i.property.backgroundRepeat,i.property.backgroundAttachment,i.property.backgroundOrigin,i.property.backgroundClip,i.generic.color]),components:["background-image","background-position","background-size","background-repeat","background-attachment","background-origin","background-clip","background-color"],breakUp:n.multiplex(n.background),defaultValue:"0 0",restore:s.multiplex(s.background),shortestValue:"0",shorthand:!0},"background-attachment":{canOverride:i.property.backgroundAttachment,componentOf:["background"],defaultValue:"scroll",intoMultiplexMode:"real"},"background-clip":{canOverride:i.property.backgroundClip,componentOf:["background"],defaultValue:"border-box",intoMultiplexMode:"real",shortestValue:"border-box"},"background-color":{canOverride:i.generic.color,componentOf:["background"],defaultValue:"transparent",intoMultiplexMode:"real",multiplexLastOnly:!0,nonMergeableValue:"none",shortestValue:"red"},"background-image":{canOverride:i.generic.image,componentOf:["background"],defaultValue:"none",intoMultiplexMode:"default"},"background-origin":{canOverride:i.property.backgroundOrigin,componentOf:["background"],defaultValue:"padding-box",intoMultiplexMode:"real",shortestValue:"border-box"},"background-position":{canOverride:i.property.backgroundPosition,componentOf:["background"],defaultValue:["0","0"],doubleValues:!0,intoMultiplexMode:"real",shortestValue:"0"},"background-repeat":{canOverride:i.property.backgroundRepeat,componentOf:["background"],defaultValue:["repeat"],doubleValues:!0,intoMultiplexMode:"real"},"background-size":{canOverride:i.property.backgroundSize,componentOf:["background"],defaultValue:["auto"],doubleValues:!0,intoMultiplexMode:"real",shortestValue:"0 0"},bottom:{canOverride:i.property.bottom,defaultValue:"auto"},border:{breakUp:n.border,canOverride:i.generic.components([i.generic.unit,i.property.borderStyle,i.generic.color]),components:["border-width","border-style","border-color"],defaultValue:"none",overridesShorthands:["border-bottom","border-left","border-right","border-top"],restore:s.withoutDefaults,shorthand:!0,shorthandComponents:!0},"border-bottom":{breakUp:n.border,canOverride:i.generic.components([i.generic.unit,i.property.borderStyle,i.generic.color]),components:["border-bottom-width","border-bottom-style","border-bottom-color"],defaultValue:"none",restore:s.withoutDefaults,shorthand:!0},"border-bottom-color":{canOverride:i.generic.color,componentOf:["border-bottom","border-color"],defaultValue:"none"},"border-bottom-left-radius":{canOverride:i.generic.unit,componentOf:["border-radius"],defaultValue:"0",vendorPrefixes:["-moz-","-o-"]},"border-bottom-right-radius":{canOverride:i.generic.unit,componentOf:["border-radius"],defaultValue:"0",vendorPrefixes:["-moz-","-o-"]},"border-bottom-style":{canOverride:i.property.borderStyle,componentOf:["border-bottom","border-style"],defaultValue:"none"},"border-bottom-width":{canOverride:i.generic.unit,componentOf:["border-bottom","border-width"],defaultValue:"medium",oppositeTo:"border-top-width",shortestValue:"0"},"border-collapse":{canOverride:i.property.borderCollapse,defaultValue:"separate"},"border-color":{breakUp:n.fourValues,canOverride:i.generic.components([i.generic.color,i.generic.color,i.generic.color,i.generic.color]),componentOf:["border"],components:["border-top-color","border-right-color","border-bottom-color","border-left-color"],defaultValue:"none",restore:s.fourValues,shortestValue:"red",shorthand:!0},"border-left":{breakUp:n.border,canOverride:i.generic.components([i.generic.unit,i.property.borderStyle,i.generic.color]),components:["border-left-width","border-left-style","border-left-color"],defaultValue:"none",restore:s.withoutDefaults,shorthand:!0},"border-left-color":{canOverride:i.generic.color,componentOf:["border-color","border-left"],defaultValue:"none"},"border-left-style":{canOverride:i.property.borderStyle,componentOf:["border-left","border-style"],defaultValue:"none"},"border-left-width":{canOverride:i.generic.unit,componentOf:["border-left","border-width"],defaultValue:"medium",oppositeTo:"border-right-width",shortestValue:"0"},"border-radius":{breakUp:n.borderRadius,canOverride:i.generic.components([i.generic.unit,i.generic.unit,i.generic.unit,i.generic.unit]),components:["border-top-left-radius","border-top-right-radius","border-bottom-right-radius","border-bottom-left-radius"],defaultValue:"0",restore:s.borderRadius,shorthand:!0,vendorPrefixes:["-moz-","-o-"]},"border-right":{breakUp:n.border,canOverride:i.generic.components([i.generic.unit,i.property.borderStyle,i.generic.color]),components:["border-right-width","border-right-style","border-right-color"],defaultValue:"none",restore:s.withoutDefaults,shorthand:!0},"border-right-color":{canOverride:i.generic.color,componentOf:["border-color","border-right"],defaultValue:"none"},"border-right-style":{canOverride:i.property.borderStyle,componentOf:["border-right","border-style"],defaultValue:"none"},"border-right-width":{canOverride:i.generic.unit,componentOf:["border-right","border-width"],defaultValue:"medium",oppositeTo:"border-left-width",shortestValue:"0"},"border-style":{breakUp:n.fourValues,canOverride:i.generic.components([i.property.borderStyle,i.property.borderStyle,i.property.borderStyle,i.property.borderStyle]),componentOf:["border"],components:["border-top-style","border-right-style","border-bottom-style","border-left-style"],defaultValue:"none",restore:s.fourValues,shorthand:!0},"border-top":{breakUp:n.border,canOverride:i.generic.components([i.generic.unit,i.property.borderStyle,i.generic.color]),components:["border-top-width","border-top-style","border-top-color"],defaultValue:"none",restore:s.withoutDefaults,shorthand:!0},"border-top-color":{canOverride:i.generic.color,componentOf:["border-color","border-top"],defaultValue:"none"},"border-top-left-radius":{canOverride:i.generic.unit,componentOf:["border-radius"],defaultValue:"0",vendorPrefixes:["-moz-","-o-"]},"border-top-right-radius":{canOverride:i.generic.unit,componentOf:["border-radius"],defaultValue:"0",vendorPrefixes:["-moz-","-o-"]},"border-top-style":{canOverride:i.property.borderStyle,componentOf:["border-style","border-top"],defaultValue:"none"},"border-top-width":{canOverride:i.generic.unit,componentOf:["border-top","border-width"],defaultValue:"medium",oppositeTo:"border-bottom-width",shortestValue:"0"},"border-width":{breakUp:n.fourValues,canOverride:i.generic.components([i.generic.unit,i.generic.unit,i.generic.unit,i.generic.unit]),componentOf:["border"],components:["border-top-width","border-right-width","border-bottom-width","border-left-width"],defaultValue:"medium",restore:s.fourValues,shortestValue:"0",shorthand:!0},clear:{canOverride:i.property.clear,defaultValue:"none"},color:{canOverride:i.generic.color,defaultValue:"transparent",shortestValue:"red"},cursor:{canOverride:i.property.cursor,defaultValue:"auto"},display:{canOverride:i.property.display},float:{canOverride:i.property.float,defaultValue:"none"},font:{breakUp:n.font,canOverride:i.generic.components([i.property.fontStyle,i.property.fontVariant,i.property.fontWeight,i.property.fontStretch,i.generic.unit,i.generic.unit,i.property.fontFamily]),components:["font-style","font-variant","font-weight","font-stretch","font-size","line-height","font-family"],restore:s.font,shorthand:!0},"font-family":{canOverride:i.property.fontFamily,defaultValue:"user|agent|specific"},"font-size":{canOverride:i.generic.unit,defaultValue:"medium",shortestValue:"0"},"font-stretch":{canOverride:i.property.fontStretch,defaultValue:"normal"},"font-style":{canOverride:i.property.fontStyle,defaultValue:"normal"},"font-variant":{canOverride:i.property.fontVariant,defaultValue:"normal"},"font-weight":{canOverride:i.property.fontWeight,defaultValue:"normal",shortestValue:"400"},height:{canOverride:i.generic.unit,defaultValue:"auto",shortestValue:"0"},left:{canOverride:i.property.left,defaultValue:"auto"},"line-height":{canOverride:i.generic.unitOrNumber,defaultValue:"normal",shortestValue:"0"},"list-style":{canOverride:i.generic.components([i.property.listStyleType,i.property.listStylePosition,i.property.listStyleImage]),components:["list-style-type","list-style-position","list-style-image"],breakUp:n.listStyle,restore:s.withoutDefaults,defaultValue:"outside",shortestValue:"none",shorthand:!0},"list-style-image":{canOverride:i.generic.image,componentOf:["list-style"],defaultValue:"none"},"list-style-position":{canOverride:i.property.listStylePosition,componentOf:["list-style"],defaultValue:"outside",shortestValue:"inside"},"list-style-type":{canOverride:i.property.listStyleType,componentOf:["list-style"],defaultValue:"decimal|disc",shortestValue:"none"},margin:{breakUp:n.fourValues,canOverride:i.generic.components([i.generic.unit,i.generic.unit,i.generic.unit,i.generic.unit]),components:["margin-top","margin-right","margin-bottom","margin-left"],defaultValue:"0",restore:s.fourValues,shorthand:!0},"margin-bottom":{canOverride:i.generic.unit,componentOf:["margin"],defaultValue:"0",oppositeTo:"margin-top"},"margin-left":{canOverride:i.generic.unit,componentOf:["margin"],defaultValue:"0",oppositeTo:"margin-right"},"margin-right":{canOverride:i.generic.unit,componentOf:["margin"],defaultValue:"0",oppositeTo:"margin-left"},"margin-top":{canOverride:i.generic.unit,componentOf:["margin"],defaultValue:"0",oppositeTo:"margin-bottom"},outline:{canOverride:i.generic.components([i.generic.color,i.property.outlineStyle,i.generic.unit]),components:["outline-color","outline-style","outline-width"],breakUp:n.outline,restore:s.withoutDefaults,defaultValue:"0",shorthand:!0},"outline-color":{canOverride:i.generic.color,componentOf:["outline"],defaultValue:"invert",shortestValue:"red"},"outline-style":{canOverride:i.property.outlineStyle,componentOf:["outline"],defaultValue:"none"},"outline-width":{canOverride:i.generic.unit,componentOf:["outline"],defaultValue:"medium",shortestValue:"0"},overflow:{canOverride:i.property.overflow,defaultValue:"visible"},"overflow-x":{canOverride:i.property.overflow,defaultValue:"visible"},"overflow-y":{canOverride:i.property.overflow,defaultValue:"visible"},padding:{breakUp:n.fourValues,canOverride:i.generic.components([i.generic.unit,i.generic.unit,i.generic.unit,i.generic.unit]),components:["padding-top","padding-right","padding-bottom","padding-left"],defaultValue:"0",restore:s.fourValues,shorthand:!0},"padding-bottom":{canOverride:i.generic.unit,componentOf:["padding"],defaultValue:"0",oppositeTo:"padding-top"},"padding-left":{canOverride:i.generic.unit,componentOf:["padding"],defaultValue:"0",oppositeTo:"padding-right"},"padding-right":{canOverride:i.generic.unit,componentOf:["padding"],defaultValue:"0",oppositeTo:"padding-left"},"padding-top":{canOverride:i.generic.unit,componentOf:["padding"],defaultValue:"0",oppositeTo:"padding-bottom"},position:{canOverride:i.property.position,defaultValue:"static"},right:{canOverride:i.property.right,defaultValue:"auto"},"text-align":{canOverride:i.property.textAlign,defaultValue:"left|right"},"text-decoration":{canOverride:i.property.textDecoration,defaultValue:"none"},"text-overflow":{canOverride:i.property.textOverflow,defaultValue:"none"},"text-shadow":{canOverride:i.property.textShadow,defaultValue:"none"},top:{canOverride:i.property.top,defaultValue:"auto"},transform:{canOverride:i.property.transform,vendorPrefixes:["-moz-","-ms-","-webkit-"]},transition:{breakUp:n.multiplex(n.transition),canOverride:i.generic.components([i.property.transitionProperty,i.generic.time,i.generic.timingFunction,i.generic.time]),components:["transition-property","transition-duration","transition-timing-function","transition-delay"],defaultValue:"none",restore:s.multiplex(s.withoutDefaults),shorthand:!0,vendorPrefixes:["-moz-","-o-","-webkit-"]},"transition-delay":{canOverride:i.generic.time,componentOf:["transition"],defaultValue:"0s",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"transition-duration":{canOverride:i.generic.time,componentOf:["transition"],defaultValue:"0s",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"transition-property":{canOverride:i.generic.propertyName,componentOf:["transition"],defaultValue:"all",intoMultiplexMode:"placeholder",placeholderValue:"_",vendorPrefixes:["-moz-","-o-","-webkit-"]},"transition-timing-function":{canOverride:i.generic.timingFunction,componentOf:["transition"],defaultValue:"ease",intoMultiplexMode:"real",vendorPrefixes:["-moz-","-o-","-webkit-"]},"vertical-align":{canOverride:i.property.verticalAlign,defaultValue:"baseline"},visibility:{canOverride:i.property.visibility,defaultValue:"visible"},"white-space":{canOverride:i.property.whiteSpace,defaultValue:"normal"},width:{canOverride:i.generic.unit,defaultValue:"auto",shortestValue:"0"},"z-index":{canOverride:i.property.zIndex,defaultValue:"auto"}};function u(e,t){var r=a(o[e],{});return"componentOf"in r&&(r.componentOf=r.componentOf.map(function(e){return t+e})),"components"in r&&(r.components=r.components.map(function(e){return t+e})),"keepUnlessDefault"in r&&(r.keepUnlessDefault=t+r.keepUnlessDefault),r}var l={};for(var c in o){var h=o[c];if("vendorPrefixes"in h){for(var p=0;p0?"border-radius":"border-collapse"==e||"border-spacing"==e||"border-image"==e?e:0===e.indexOf("border-")&&/^border\-\w+\-\w+$/.test(e)?e.match(/border\-\w+/)[0]:0===e.indexOf("border-")&&/^border\-\w+$/.test(e)?"border":0===e.indexOf("text-")?e:"-chrome-"==e?e:e.replace(/^\-\w+\-/,"").match(/([a-zA-Z]+)/)[0].toLowerCase()}t.exports=function e(t){var r,o,u,l,c,h,p=[];if(t[0]==n.RULE)for(r=!/[\.\+>~]/.test(i(t[1])),c=0,h=t[2].length;c\+~]/,c=[":after",":before",":first-letter",":first-line",":lang"],h=["::after","::before","::first-letter","::first-line"],p={DOUBLE_QUOTE:"double-quote",SINGLE_QUOTE:"single-quote",ROOT:"root"};function f(e){return s.test(e)}function d(e){var t,r,i,s,a,o,u=[],c=[],h=p.ROOT,f=0,d=!1,m=!1;for(a=0,o=e.length;a0&&d&&u.push(c.join("")),u}function m(e,t,r,i,s){return function(e,t,r){var i,s,a,o;for(a=0,o=e.length;a-1?i.substring(0,i.indexOf(n.OPEN_ROUND_BRACKET)):i,-1===t.indexOf(s)&&-1===r.indexOf(s))return!1;return!0}(t,r,i)&&function(e){var t,r,i,s,a,o;for(a=0,o=e.length;a-1)?t.substring(0,i):t,s&&-1==u.indexOf(r))return!1;if(!s&&u.indexOf(r)>-1)return!1}return!0}(t)&&(t.length<2||!function(e,t){var r,i,s,a,u,l,c,h,p=0;for(c=0,h=t.length;c-1?r.substring(0,r.indexOf(n.OPEN_ROUND_BRACKET)):r,l=s.indexOf(n.OPEN_ROUND_BRACKET)>-1?s.substring(0,s.indexOf(n.OPEN_ROUND_BRACKET)):s,u!=o||l!=o))return!0;return!1}(e,t))&&(t.length<2||s&&function(e){var t,r,n,i=0;for(r=0,n=e.length;r-1?1:0:i+=c.indexOf(t)>-1?1:0,i>1)return!1;var s;return!0}(t))}t.exports=function(e,t,r,s){var a,o,u,l=i(e,n.COMMA);for(o=0,u=l.length;o-1&&!m(a,d(a),t,r,s))return!1;return!0}},{"../../tokenizer/marker":267,"../../utils/split":280}],209:[function(e,t,r){var n=e("./is-mergeable"),i=e("./properties/optimize"),s=e("../level-1/sort-selectors"),a=e("../level-1/tidy-rules"),o=e("../../options/optimization-level").OptimizationLevel,u=e("../../writer/one-time").body,l=e("../../writer/one-time").rules,c=e("../../tokenizer/token");t.exports=function(e,t){for(var r=[null,[],[]],h=t.options,p=h.compatibility.selectors.adjacentSpace,f=h.level[o.One].selectorsSortingMethod,d=h.compatibility.selectors.mergeablePseudoClasses,m=h.compatibility.selectors.mergeablePseudoElements,y=h.compatibility.selectors.mergeLimit,g=h.compatibility.selectors.multiplePseudoMerging,b=0,v=e.length;b1?s(r[1],f):r[1],x[2]=[]):r=x:r=[null,[],[]]}}},{"../../options/optimization-level":249,"../../tokenizer/token":268,"../../writer/one-time":282,"../level-1/sort-selectors":198,"../level-1/tidy-rules":201,"./is-mergeable":208,"./properties/optimize":220}],210:[function(e,t,r){var n=e("./reorderable").canReorder,i=e("./reorderable").canReorderSingle,s=e("./extract-properties"),a=e("./rules-overlap"),o=e("../../writer/one-time").rules,u=e("../../options/optimization-level").OptimizationLevel,l=e("../../tokenizer/token");function c(e,t,r){var n,s,o,u,l,c,h,p;for(l=0,c=e.length;l=0;p--){var f=e[p];if(f[0]==l.NESTED_BLOCK){var d=o(f[1]),m=a[d];m||(m=[],a[d]=m),m.push(p)}}for(var y in a){var g=a[y];e:for(var b=g.length-1;b>0;b--){var v=g[b],x=e[v],E=g[b-1],w=e[E];t:for(var S=1;S>=-1;S-=2){for(var A=1==S,T=A?v+1:E-1,_=A?E:v,D=A?1:-1,C=A?x:w,k=A?w:x,P=s(C);T!=_;){var F=s(e[T]);if(T+=D,!(r&&c(P,F,i)||n(P,F,i)))continue t}k[2]=A?C[2].concat(k[2]):k[2].concat(C[2]),C[2]=[],h.push(k);continue e}}}return h}},{"../../options/optimization-level":249,"../../tokenizer/token":268,"../../writer/one-time":282,"./extract-properties":206,"./reorderable":231,"./rules-overlap":235}],211:[function(e,t,r){var n=e("./is-mergeable"),i=e("../level-1/sort-selectors"),s=e("../level-1/tidy-rules"),a=e("../../options/optimization-level").OptimizationLevel,o=e("../../writer/one-time").body,u=e("../../writer/one-time").rules,l=e("../../tokenizer/token");function c(e){var t=u(e[1]);return t.indexOf("__")>-1||t.indexOf("--")>-1}function h(e){return e.replace(/--[^ ,>\+~:]+/g,"")}function p(e,t){var r=h(u(e[1]));for(var n in t){var i=t[n],s=h(u(i[1]));(s.indexOf(r)>-1||r.indexOf(s)>-1)&&delete t[n]}}t.exports=function(e,t){for(var r,h=t.options,f=h.level[a.Two].mergeSemantically,d=h.compatibility.selectors.adjacentSpace,m=h.level[a.One].selectorsSortingMethod,y=h.compatibility.selectors.mergeablePseudoClasses,g=h.compatibility.selectors.mergeablePseudoElements,b=h.compatibility.selectors.multiplePseudoMerging,v={},x=e.length-1;x>=0;x--){var E=e[x];if(E[0]==l.RULE){E[2].length>0&&!f&&(r=u(E[1]),/\.|\*| :/.test(r))&&(v={}),E[2].length>0&&f&&c(E)&&p(E,v);var w=o(E[2]),S=v[w];S&&n(u(E[1]),y,g,b)&&n(u(S[1]),y,g,b)&&(E[2].length>0?(E[1]=s(S[1].concat(E[1]),!1,d,!1,t.warnings),E[1]=E[1].length>1?i(E[1],m):E[1]):E[1]=S[1].concat(E[1]),S[2]=[],v[w]=null),v[o(E[2])]=E}}}},{"../../options/optimization-level":249,"../../tokenizer/token":268,"../../writer/one-time":282,"../level-1/sort-selectors":198,"../level-1/tidy-rules":201,"./is-mergeable":208}],212:[function(e,t,r){var n=e("./reorderable").canReorder,i=e("./extract-properties"),s=e("./properties/optimize"),a=e("../../writer/one-time").rules,o=e("../../tokenizer/token");t.exports=function(e,t){var r,u=t.cache.specificity,l={},c=[];for(r=e.length-1;r>=0;r--)if(e[r][0]==o.RULE&&0!==e[r][2].length){var h=a(e[r][1]);l[h]=[r].concat(l[h]||[]),2==l[h].length&&c.push(h)}for(r=c.length-1;r>=0;r--){var p=l[c[r]];e:for(var f=p.length-1;f>0;f--){var d=p[f-1],m=e[d],y=p[f],g=e[y];t:for(var b=1;b>=-1;b-=2){for(var v=1==b,x=v?d+1:y-1,E=v?y:d,w=v?1:-1,S=v?m:g,A=v?g:m,T=i(S);x!=E;){var _=i(e[x]);x+=w;var D=v?n(T,_,u):n(_,T,u);if(!D&&!v)continue e;if(!D&&v)continue t}v?(Array.prototype.push.apply(S[2],A[2]),A[2]=S[2]):Array.prototype.push.apply(A[2],S[2]),s(A[2],!0,!0,t),S[2]=[]}}}}},{"../../tokenizer/token":268,"../../writer/one-time":282,"./extract-properties":206,"./properties/optimize":220,"./reorderable":231}],213:[function(e,t,r){var n=e("./merge-adjacent"),i=e("./merge-media-queries"),s=e("./merge-non-adjacent-by-body"),a=e("./merge-non-adjacent-by-selector"),o=e("./reduce-non-adjacent"),u=e("./remove-duplicate-font-at-rules"),l=e("./remove-duplicate-media-queries"),c=e("./remove-duplicates"),h=e("./remove-unused-at-rules"),p=e("./restructure"),f=e("./properties/optimize"),d=e("../../options/optimization-level").OptimizationLevel,m=e("../../tokenizer/token");function y(e,t,r){var g,b,v=t.options.level[d.Two];if(function(e,t){for(var r=0,n=e.length;r=0;b--)y(g[b][2],t,!1);return v.removeEmpty&&function e(t){for(var r=0,n=t.length;r=0;t--)if("inherit"==e.value[t][1])return!0;return!1}},{}],217:[function(e,t,r){var n=e("../compactable");function i(e,t){var r=n[e.name];return"components"in r&&r.components.indexOf(t.name)>-1}t.exports=function(e,t,r){return i(e,t)||!r&&!!n[e.name].shorthandComponents&&function(e,t){return e.components.some(function(e){return i(e,t)})}(e,t)}},{"../compactable":205}],218:[function(e,t,r){var n=e("../../../tokenizer/marker");t.exports=function(e){return"font"!=e.name||-1==e.value[0][1].indexOf(n.INTERNAL)}},{"../../../tokenizer/marker":267}],219:[function(e,t,r){var n=e("./every-values-pair"),i=e("./has-inherit"),s=e("./populate-components"),a=e("../compactable"),o=e("../clone").deep,u=e("../restore-with-components"),l=e("../../restore-from-optimizing"),c=e("../../wrap-for-optimizing").single,h=e("../../../writer/one-time").body,p=e("../../../tokenizer/token");function f(e,t,r,n){var i,s,o,u=e[t];for(i in r)void 0!==u&&i==u.name||(s=a[i],o=r[i],u&&d(r,i,u)?delete r[i]:s.components.length>Object.keys(o).length||m(o)||y(o,i,n)&&g(o)&&(b(o)?v(e,o,i,n):A(e,o,i,n)))}function d(e,t,r){var n,i=a[t],s=a[r.name];if("overridesShorthands"in i&&i.overridesShorthands.indexOf(r.name)>-1)return!0;if(s&&"componentOf"in s)for(n in e[t])if(s.componentOf.indexOf(n)>-1)return!0;return!1}function m(e){var t,r;for(r in e){if(void 0!==t&&e[r].important!=t)return!0;t=e[r].important}return!1}function y(e,t,r){var i,o,u,l,h=a[t],f=[p.PROPERTY,[p.PROPERTY_NAME,t],[p.PROPERTY_VALUE,h.defaultValue]],d=c(f);for(s([d],r,[]),u=0,l=h.components.length;u=0&&(e[i].name!=r||e[i].unused||n++,!(n>1));i--);return n>1}function C(e,t){for(var r=0,n=e.components.length;r=0;A--)if(F(f=e[A])&&!f.block){p=c[f.name].canOverride;t:for(_=A-1;_>=0;_--)if(F(d=e[_])&&!d.block&&!d.unused&&!f.unused&&(!d.hack||f.hack||f.important)&&(d.hack||d.important||!f.hack)&&(d.important!=f.important||d.hack[0]==f.hack[0])&&!(d.important==f.important&&(d.hack[0]!=f.hack[0]||d.hack[1]&&d.hack[1]!=f.hack[1])||n(f)||O(d,f)))if(f.shorthand&&a(f,d)){if(!f.important&&d.important)continue;if(!l([d],f.components))continue;if(!k(h.isFunction,d)&&C(f,h))continue;if(!o(f)){d.unused=!0;continue}m=s(f,d),p=c[d.name].canOverride,i(p.bind(null,h),d,m)&&(d.unused=!0)}else if(f.shorthand&&u(f,d)){if(!f.important&&d.important)continue;if(!l([d],f.components))continue;if(!k(h.isFunction,d)&&C(f,h))continue;for(N=(y=d.shorthand?d.components:[d]).length-1;N>=0;N--)if(g=y[N],v=s(f,g),p=c[g.name].canOverride,!i(p.bind(null,h),d,v))continue t;d.unused=!0}else if(t&&d.shorthand&&!f.shorthand&&a(d,f,!0)){if(f.important&&!d.important)continue;if(!f.important&&d.important){f.unused=!0;continue}if(D(e,A-1,d.name))continue;if(C(d,h))continue;if(!o(d))continue;if(m=s(d,f),i(p.bind(null,h),m,f)){var M=!r.properties.backgroundClipMerging&&m.name.indexOf("background-clip")>-1||!r.properties.backgroundOriginMerging&&m.name.indexOf("background-origin")>-1||!r.properties.backgroundSizeMerging&&m.name.indexOf("background-size")>-1,I=c[f.name].nonMergeableValue===f.value[0][1];if(M||I)continue;if(!r.properties.merging&&b(d,h))continue;if(m.value[0][1]!=f.value[0][1]&&(n(d)||n(f)))continue;if(P(d,f))continue;!d.multiplex&&f.multiplex&&S(d,T(f)),E(m,f),d.dirty=!0}}else if(t&&d.shorthand&&f.shorthand&&d.name==f.name){if(!d.multiplex&&f.multiplex)continue;if(!f.important&&d.important){f.unused=!0;continue e}if(f.important&&!d.important){d.unused=!0;continue}if(!o(f)){d.unused=!0;continue}for(N=d.components.length-1;N>=0;N--){var B=d.components[N],j=f.components[N];if(p=c[B.name].canOverride,!i(p.bind(null,h),B,j))continue e}w(d,f),d.dirty=!0}else if(t&&d.shorthand&&f.shorthand&&a(d,f)){if(!d.important&&f.important)continue;if(m=s(d,f),p=c[f.name].canOverride,!i(p.bind(null,h),m,f))continue;if(d.important&&!f.important){f.unused=!0;continue}if(c[f.name].restore(f,c).length>1)continue;E(m=s(d,f),f),f.dirty=!0}else if(d.name==f.name){if(x=!0,f.shorthand)for(N=f.components.length-1;N>=0&&x;N--)g=d.components[N],v=f.components[N],p=c[v.name].canOverride,x=x&&i(p.bind(null,h),g,v);else p=c[f.name].canOverride,x=i(p.bind(null,h),d,f);if(d.important&&!f.important&&x){f.unused=!0;continue}if(!d.important&&f.important&&x){d.unused=!0;continue}if(!x)continue;d.unused=!0}}}},{"../../../tokenizer/marker":267,"../../../tokenizer/token":268,"../../../writer/one-time":282,"../../restore-from-optimizing":240,"../clone":204,"../compactable":205,"../restore-with-components":232,"./every-values-pair":214,"./find-component-in":215,"./has-inherit":216,"./is-component-of":217,"./is-mergeable-shorthand":218,"./overrides-non-component-shorthand":222,"./vendor-prefixes":225}],222:[function(e,t,r){var n=e("../compactable");t.exports=function(e,t){return e.name in n&&"overridesShorthands"in n[e.name]&&n[e.name].overridesShorthands.indexOf(t.name)>-1}},{"../compactable":205}],223:[function(e,t,r){var n=e("../compactable"),i=e("../invalid-property-error");t.exports=function(e,t,r){for(var s,a,o,u=e.length-1;u>=0;u--){var l=e[u],c=n[l.name];if(c&&c.shorthand){l.shorthand=!0,l.dirty=!0;try{if(l.components=c.breakUp(l,n,t),c.shorthandComponents)for(a=0,o=l.components.length;a0?l.multiplex=l.components[0].multiplex:l.unused=!0}}}},{"../compactable":205,"../invalid-property-error":207}],224:[function(e,t,r){var n=e("./vendor-prefixes").same;t.exports=function(e,t,r,i,s){return!(!n(t,r)||s&&e.isVariable(t)!==e.isVariable(r))}},{"./vendor-prefixes":225}],225:[function(e,t,r){var n=/(?:^|\W)(\-\w+\-)/g;function i(e){for(var t,r=[];null!==(t=n.exec(e));)-1==r.indexOf(t[0])&&r.push(t[0]);return r}t.exports={unique:i,same:function(e,t){return i(e).sort().join(",")==i(t).sort().join(",")}}},{}],226:[function(e,t,r){var n=e("./is-mergeable"),i=e("./properties/optimize"),s=e("../../utils/clone-array"),a=e("../../tokenizer/token"),o=e("../../writer/one-time").body,u=e("../../writer/one-time").rules;function l(e){for(var t=[],r=0;r=0;c--)if(!r.filterOut(c,o)){var h=t[c].where,p=e[h],f=s(p[2]);o=o.concat(f),u.push(f),l.push(h)}i(o,!0,!1,a);for(var d=l.length,m=o.length-1,y=d-1;y>=0;)if((0===y||o[m]&&u[y].indexOf(o[m])>-1)&&m>-1)m--;else{var g=o.splice(m+1);r.callback(e[l[y]],g,d,y),y--}}t.exports=function(e,t){for(var r=t.options,i=r.compatibility.selectors.mergeablePseudoClasses,s=r.compatibility.selectors.mergeablePseudoElements,h=r.compatibility.selectors.multiplePseudoMerging,p={},f=[],d=e.length-1;d>=0;d--){var m=e[d];if(m[0]==a.RULE&&0!==m[2].length)for(var y=u(m[1]),g=m[1].length>1&&n(y,i,s,h),b=l(m[1]),v=g?[y].concat(b):[y],x=0,E=v.length;x0,isComplex:g&&0===x})}}!function(e,t,r,n,i){function s(e,t){return h[e].isPartial&&0===t.length}function a(e,t,r,n){h[r-n-1].isPartial||(e[2]=t)}for(var o=0,u=t.length;o-1?t[2]=[]:u.push(r))}},{"../../tokenizer/token":268,"../../writer/one-time":282}],228:[function(e,t,r){var n=e("../../tokenizer/token"),i=e("../../writer/one-time").all,s=e("../../writer/one-time").rules;t.exports=function(e){var t,r,a,o,u,l={};for(o=0,u=e.length;o=0;p--)r=e[u[t][p]],a=i(r[2]),o.indexOf(a)>-1?r[2]=[]:o.push(a)}}},{"../../tokenizer/token":268,"../../writer/one-time":282}],230:[function(e,t,r){var n=e("./properties/populate-components"),i=e("../wrap-for-optimizing").single,s=e("../restore-from-optimizing"),a=e("../../tokenizer/token"),o=/^(\-moz\-|\-o\-|\-webkit\-)?animation-name$/,u=/^(\-moz\-|\-o\-|\-webkit\-)?animation$/,l=/^@(\-moz\-|\-o\-|\-webkit\-)?keyframes /,c=/\s{0,31}!important$/,h=/^(['"]?)(.*)\1$/;function p(e){return e.replace(h,"$2").replace(c,"")}function f(e,t,r,n){var i,s,o,u,l,c={};for(u=0,l=e.length;u=0;n--)for(var i=e.length-1;i>=0;i--)if(!o(e[i],t[n],r))return!1;return!0},canReorderSingle:o}},{"./rules-overlap":235,"./specificities-overlap":236}],232:[function(e,t,r){var n=e("./compactable");t.exports=function(e){var t=n[e.name];return t&&t.shorthand?t.restore(e,n):e.value}},{"./compactable":205}],233:[function(e,t,r){var n=e("./clone").shallow,i=e("../../tokenizer/token"),s=e("../../tokenizer/marker");function a(e){for(var t=0,r=e.length;t=0;p--){var f=u[p],d=h(f);if("background-clip"==f.name){var m=u[p-1],y=h(m);o=!(n=f.value[0][1]==m.value[0][1])&&(y&&!d||!y&&!d||!y&&d&&f.value[0][1]!=m.value[0][1]),n?c(m):o&&(c(f),c(m)),p--}else if("background-size"==f.name){var g=u[p-1],b=h(g);o=!(n=!b&&d)&&(b&&!d||!b&&!d),n?c(g):o?(c(f),l.unshift([i.PROPERTY_VALUE,s.FORWARD_SLASH]),c(g)):1==g.value.length&&c(g),p--}else{if(d||t[f.name].multiplexLastOnly&&!r)continue;c(f)}}return 0===l.length&&1==e.value.length&&"0"==e.value[0][1]&&l.push(e.value[0]),0===l.length&&l.push([i.PROPERTY_VALUE,t[e.name].defaultValue]),a(l)?[l[0]]:l},borderRadius:function(e,t){if(e.multiplex){for(var r=n(e),a=n(e),u=0;u<4;u++){var l=e.components[u],c=n(e);c.value=[l.value[0]],r.components.push(c);var h=n(e);h.value=[l.value[1]||l.value[0]],a.components.push(h)}var p=o(r),f=o(a);return p.length!=f.length||p[0][1]!=f[0][1]||p.length>1&&p[1][1]!=f[1][1]||p.length>2&&p[2][1]!=f[2][1]||p.length>3&&p[3][1]!=f[3][1]?p.concat([[i.PROPERTY_VALUE,s.FORWARD_SLASH]]).concat(f):p}return o(e)},font:function(e,t){var r,n=e.components,o=[],u=0,l=0;if(0===e.value[0][1].indexOf(s.INTERNAL))return e.value[0][1]=e.value[0][1].substring(s.INTERNAL.length),e.value;for(;u<4;)(r=n[u]).value[0][1]!=t[r.name].defaultValue&&Array.prototype.push.apply(o,r.value),u++;for(Array.prototype.push.apply(o,n[u].value),n[++u].value[0][1]!=t[n[u].name].defaultValue&&(Array.prototype.push.apply(o,[[i.PROPERTY_VALUE,s.FORWARD_SLASH]]),Array.prototype.push.apply(o,n[u].value)),u++;n[u].value[l];)o.push(n[u].value[l]),n[u].value[l+1]&&o.push([i.PROPERTY_VALUE,s.COMMA]),l++;return a(o)?[o[0]]:o},fourValues:o,multiplex:function(e){return function(t,r){if(!t.multiplex)return e(t,r,!0);var a,o,u=0,l=[],c={};for(a=0,o=t.components[0].value.length;a=0;s--){var o=r[s],l=t[o.name];(o.value[0][1]!=l.defaultValue||"keepUnlessDefault"in l&&!u(r,t,l.keepUnlessDefault))&&n.unshift(o.value[0])}return 0===n.length&&n.push([i.PROPERTY_VALUE,t[e.name].defaultValue]),a(n)?[n[0]]:n}}},{"../../tokenizer/marker":267,"../../tokenizer/token":268,"./clone":204}],234:[function(e,t,r){var n=e("./reorderable").canReorderSingle,i=e("./extract-properties"),s=e("./is-mergeable"),a=e("./tidy-rule-duplicates"),o=e("../../tokenizer/token"),u=e("../../utils/clone-array"),l=e("../../writer/one-time").body,c=e("../../writer/one-time").rules;function h(e,t){return e>t?1:-1}t.exports=function(e,t){var r,p,f,d=t.options,m=d.compatibility.selectors.mergeablePseudoClasses,y=d.compatibility.selectors.mergeablePseudoElements,g=d.compatibility.selectors.mergeLimit,b=d.compatibility.selectors.multiplePseudoMerging,v=t.cache.specificity,x={},E=[],w={},S=[],A=2,T="%";function _(e,t){var r=function(e){for(var t=[],r=0,n=e.length;r=0;t--)if(r.indexOf(s[t])>-1){n.push(i);break}}for(t=n.length-1;t>=0;t--)delete w[n[t]]}function C(e){for(var t=[],r=[],n=e.length-1;n>=0;n--)s(c(e[n][1]),m,y,b)&&(r.unshift(e[n]),e[n][2].length>0&&-1==t.indexOf(e[n])&&t.push(e[n]));return t.length>1?r:[]}function k(e,t){var r=t[0],n=t[1],i=t[4],s=r.length+n.length+1,o=[],u=[],l=C(x[i]);if(!(l.length<2)){var c=F(l,s,1),h=c[0];if(h[1]>0)return function(e,t,r){for(var n=r.length-1;n>=0;n--){var i=_(t,r[n][0]);if(w[i].length>1&&I(e,w[i])){D(i);break}}}(e,t,c);for(var p=h[0].length-1;p>=0;p--)o=h[0][p][1].concat(o),u.unshift(h[0][p]);N(e,[t],o=a(o),u)}}function P(e,t){return e[1]>t[1]?1:e[1]==t[1]?0:-1}function F(e,t,r){return function e(t,r,n,i){var s=[[t,O(t,r,n)]];if(t.length>2&&i>0)for(var a=t.length-1;a>=0;a--){var o=Array.prototype.slice.call(t,0);o.splice(a,1),s=s.concat(e(o,r,n,i-1))}return s}(e,t,r,A-1).sort(P)}function O(e,t,r){for(var n=0,i=e.length-1;i>=0;i--)n+=e[i][2].length>r?c(e[i][1]).length:-1;return n-(e.length-1)*t+1}function N(t,r,n,i){var s,a,u,c,h=[];for(s=i.length-1;s>=0;s--){var p=i[s];for(a=p[2].length-1;a>=0;a--){var f=p[2][a];for(u=0,c=r.length;u=0;s--)h.unshift(r[s][3]);var b=[o.RULE,n,h];e.splice(t,0,b)}function M(e,t){var r=t[4],n=x[r];n&&n.length>1&&(function(e,t){var r,n,i=[],s=[],a=t[4],o=C(x[a]);if(!(o.length<2)){e:for(var u in x){var l=x[u];for(r=o.length-1;r>=0;r--)if(-1==l.indexOf(o[r]))continue e;i.push(u)}if(i.length<2)return!1;for(r=i.length-1;r>=0;r--)for(n=E.length-1;n>=0;n--)if(E[n][4]==i[r]){s.unshift([E[n],o]);break}return I(e,s)}}(e,t)||k(e,t))}function I(e,t){for(var r,n=0,i=[],s=t.length-1;s>=0;s--)n+=(r=t[s][0])[4].length+(s>0?1:0),i.push(r);var o=F(t[0][1],n,i.length)[0];if(o[1]>0)return!1;var u=[],l=[];for(s=o[0].length-1;s>=0;s--)u=o[0][s][1].concat(u),l.unshift(o[0][s]);for(N(e,i,u=a(u),l),s=i.length-1;s>=0;s--){r=i[s];var c=E.indexOf(r);delete x[r[4]],c>-1&&-1==S.indexOf(c)&&S.push(c)}return!0}function B(e,t,r){if(e[0]!=t[0])return!1;var n=t[4],i=x[n];return i&&i.indexOf(r)>-1}for(var j=e.length-1;j>=0;j--){var L,R,V,U,z,$=e[j];if($[0]==o.RULE)L=!0;else{if($[0]!=o.NESTED_BLOCK)continue;L=!1}var H=E.length,q=i($);S=[];var W=[];for(R=q.length-1;R>=0;R--)for(V=R-1;V>=0;V--)if(!n(q[R],q[V],v)){W.push(R);break}for(R=q.length-1;R>=0;R--){var K=q[R],Y=!1;for(V=0;V-1)){var G=K[4];Y&&E[z][5].length+K[5].length>g?(M(j+1,E[z]),E.splice(z,1),x[G]=[$],Y=!1):(x[G]=x[G]||[],x[G].push($)),Y?E[z]=(r=E[z],p=K,f=void 0,(f=u(r))[5]=f[5].concat(p[5]),f):E.push(K)}}for(R=0,U=(S=S.sort(h)).length;R",DOT:".",HASH:"#",NON_ADJACENT_SIBLING:"~",PSEUDO:":"},s=/[a-zA-Z]/,a=":not(",o=/[\s,\(>~\+]/;function u(e,t){return e.indexOf(a,t)===t}t.exports=function(e){var t,r,a,l,c,h,p,f=[0,0,0],d=0,m=!1,y=!1;for(h=0,p=e.length;h0&&!m||(t==n.OPEN_ROUND_BRACKET?d++:t==n.CLOSE_ROUND_BRACKET&&1==d?(d--,m=!1):t==n.CLOSE_ROUND_BRACKET?d--:t==i.HASH?f[0]++:t==i.DOT||t==n.OPEN_SQUARE_BRACKET?f[1]++:t!=i.PSEUDO||y||u(e,h)?t==i.PSEUDO?m=!0:(0===h||c)&&s.test(t)&&f[2]++:(f[1]++,m=!1))}else l=!0;else a=!0;r=t==n.BACK_SLASH,y=t==i.PSEUDO,c=!r&&o.test(t)}return f}},{"../../tokenizer/marker":267}],238:[function(e,t,r){function n(e,t){return e[1]>t[1]?1:-1}t.exports=function(e){for(var t=[],r=[],i=0,s=e.length;i=0;t--){var r=e[t];r.unused&&r.all.splice(r.position,1)}}},{}],240:[function(e,t,r){var n=e("./hack"),i=e("../tokenizer/marker"),s="*",a="\\",o="!important",u="_",l="!ie";function c(e){e.value[e.value.length-1][1]+=o}function h(e){e.hack[0]==n.UNDERSCORE?e.name=u+e.name:e.hack[0]==n.ASTERISK?e.name=s+e.name:e.hack[0]==n.BACKSLASH?e.value[e.value.length-1][1]+=a+e.hack[1]:e.hack[0]==n.BANG&&(e.value[e.value.length-1][1]+=i.SPACE+l)}t.exports=function(e,t){var r,n,i,s;for(s=e.length-1;s>=0;s--)(r=e[s]).unused||(r.dirty||r.important||r.hack)&&(t?(n=t(r),r.value=n):n=r.value,r.important&&c(r),r.hack&&h(r),"all"in r&&((i=r.all[r.position])[1][1]=r.name,i.splice(2,i.length-1),Array.prototype.push.apply(i,n)))}},{"../tokenizer/marker":267,"./hack":192}],241:[function(e,t,r){var n=new RegExp("^(\\-moz\\-|\\-webkit\\-)?calc\\([^\\)]+\\)$","i"),i=/[0-9]/,s=new RegExp("^(var\\(\\-\\-[^\\)]+\\)|[A-Z]+(\\-|[A-Z]|[0-9])+\\(.*?\\)|\\-(\\-|[A-Z]|[0-9])+\\(.*?\\))$","i"),a=/^hsl\(\s{0,31}[\-\.]?\d+\s{0,31},\s{0,31}\.?\d+%\s{0,31},\s{0,31}\.?\d+%\s{0,31}\)|hsla\(\s{0,31}[\-\.]?\d+\s{0,31},\s{0,31}\.?\d+%\s{0,31},\s{0,31}\.?\d+%\s{0,31},\s{0,31}\.?\d+\s{0,31}\)$/,o=/^(\-[a-z0-9_][a-z0-9\-_]*|[a-z][a-z0-9\-_]*)$/i,u=/^[a-z]+$/i,l=/^-([a-z0-9]|-)*$/i,c=/^rgb\(\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31}\)|rgba\(\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\d]{1,3}\s{0,31},\s{0,31}[\.\d]+\s{0,31}\)$/,h=/^(cubic\-bezier|steps)\([^\)]+\)$/,p=["ms","s"],f=/^url\([\s\S]+\)$/i,d=new RegExp("^var\\(\\-\\-[^\\)]+\\)$","i"),m=/^#[0-9a-f]{8}$/i,y=/^#[0-9a-f]{4}$/i,g=/^#[0-9a-f]{6}$/i,b=/^#[0-9a-f]{3}$/i,v=".",x="-",E="+",w={"^":["inherit","initial","unset"],"*-style":["auto","dashed","dotted","double","groove","hidden","inset","none","outset","ridge","solid"],"*-timing-function":["ease","ease-in","ease-in-out","ease-out","linear","step-end","step-start"],"animation-direction":["alternate","alternate-reverse","normal","reverse"],"animation-fill-mode":["backwards","both","forwards","none"],"animation-iteration-count":["infinite"],"animation-name":["none"],"animation-play-state":["paused","running"],"background-attachment":["fixed","inherit","local","scroll"],"background-clip":["border-box","content-box","inherit","padding-box","text"],"background-origin":["border-box","content-box","inherit","padding-box"],"background-position":["bottom","center","left","right","top"],"background-repeat":["no-repeat","inherit","repeat","repeat-x","repeat-y","round","space"],"background-size":["auto","cover","contain"],"border-collapse":["collapse","inherit","separate"],bottom:["auto"],clear:["both","left","none","right"],color:["transparent"],cursor:["all-scroll","auto","col-resize","crosshair","default","e-resize","help","move","n-resize","ne-resize","no-drop","not-allowed","nw-resize","pointer","progress","row-resize","s-resize","se-resize","sw-resize","text","vertical-text","w-resize","wait"],display:["block","inline","inline-block","inline-table","list-item","none","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group"],float:["left","none","right"],left:["auto"],font:["caption","icon","menu","message-box","small-caption","status-bar","unset"],"font-size":["large","larger","medium","small","smaller","x-large","x-small","xx-large","xx-small"],"font-stretch":["condensed","expanded","extra-condensed","extra-expanded","normal","semi-condensed","semi-expanded","ultra-condensed","ultra-expanded"],"font-style":["italic","normal","oblique"],"font-variant":["normal","small-caps"],"font-weight":["100","200","300","400","500","600","700","800","900","bold","bolder","lighter","normal"],"line-height":["normal"],"list-style-position":["inside","outside"],"list-style-type":["armenian","circle","decimal","decimal-leading-zero","disc","decimal|disc","georgian","lower-alpha","lower-greek","lower-latin","lower-roman","none","square","upper-alpha","upper-latin","upper-roman"],overflow:["auto","hidden","scroll","visible"],position:["absolute","fixed","relative","static"],right:["auto"],"text-align":["center","justify","left","left|right","right"],"text-decoration":["line-through","none","overline","underline"],"text-overflow":["clip","ellipsis"],top:["auto"],"vertical-align":["baseline","bottom","middle","sub","super","text-bottom","text-top","top"],visibility:["collapse","hidden","visible"],"white-space":["normal","nowrap","pre"],width:["inherit","initial","medium","thick","thin"]},S=["%","ch","cm","em","ex","in","mm","pc","pt","px","rem","vh","vm","vmax","vmin","vw"];function A(e){return"auto"!=e&&(F("color")(e)||function(e){return b.test(e)||y.test(e)||g.test(e)||m.test(e)}(e)||T(e)||function(e){return u.test(e)}(e))}function T(e){return N(e)||C(e)}function _(e){return n.test(e)}function D(e){return s.test(e)}function C(e){return a.test(e)}function k(e){return o.test(e)}function P(e){return"none"==e||"inherit"==e||R(e)}function F(e){return function(t){return w[e].indexOf(t)>-1}}function O(e){return U(e)==e.length}function N(e){return c.test(e)}function M(e){return l.test(e)}function I(e){return O(e)&&parseFloat(e)>=0}function B(e){return d.test(e)}function j(e){var t=U(e);return t==e.length&&0===parseInt(e)||t>-1&&p.indexOf(e.slice(t+1))>-1}function L(e,t){var r=U(t);return r==t.length&&0===parseInt(t)||r>-1&&e.indexOf(t.slice(r+1))>-1||"auto"==t||"inherit"==t}function R(e){return f.test(e)}function V(e){return"auto"==e||O(e)||F("^")(e)}function U(e){var t,r,n,s=!1,a=!1;for(r=0,n=e.length;r0&&a&&(t==E||t==x))return r-1;if(t!=v||s){if(t==v&&s)return r-1;if(i.test(t))continue;return r-1}s=!0}else a=!0;return r}t.exports=function(e){var t,r=S.slice(0).filter(function(t){return!(t in e.units)||!0===e.units[t]});return{colorOpacity:e.colors.opacity,isAnimationDirectionKeyword:F("animation-direction"),isAnimationFillModeKeyword:F("animation-fill-mode"),isAnimationIterationCountKeyword:F("animation-iteration-count"),isAnimationNameKeyword:F("animation-name"),isAnimationPlayStateKeyword:F("animation-play-state"),isTimingFunction:(t=F("*-timing-function"),function(e){return t(e)||h.test(e)}),isBackgroundAttachmentKeyword:F("background-attachment"),isBackgroundClipKeyword:F("background-clip"),isBackgroundOriginKeyword:F("background-origin"),isBackgroundPositionKeyword:F("background-position"),isBackgroundRepeatKeyword:F("background-repeat"),isBackgroundSizeKeyword:F("background-size"),isColor:A,isColorFunction:T,isDynamicUnit:_,isFontKeyword:F("font"),isFontSizeKeyword:F("font-size"),isFontStretchKeyword:F("font-stretch"),isFontStyleKeyword:F("font-style"),isFontVariantKeyword:F("font-variant"),isFontWeightKeyword:F("font-weight"),isFunction:D,isGlobal:F("^"),isHslColor:C,isIdentifier:k,isImage:P,isKeyword:F,isLineHeightKeyword:F("line-height"),isListStylePositionKeyword:F("list-style-position"),isListStyleTypeKeyword:F("list-style-type"),isNumber:O,isPrefixed:M,isPositiveNumber:I,isRgbColor:N,isStyleKeyword:F("*-style"),isTime:j,isUnit:L.bind(null,r),isUrl:R,isVariable:B,isWidth:F("width"),isZIndex:V}}},{}],242:[function(e,t,r){var n=e("./hack"),i=e("../tokenizer/marker"),s=e("../tokenizer/token"),a={ASTERISK:"*",BACKSLASH:"\\",BANG:"!",BANG_SUFFIX_PATTERN:/!\w+$/,IMPORTANT_TOKEN:"!important",IMPORTANT_TOKEN_PATTERN:new RegExp("!important$","i"),IMPORTANT_WORD:"important",IMPORTANT_WORD_PATTERN:new RegExp("important$","i"),SUFFIX_BANG_PATTERN:/!$/,UNDERSCORE:"_",VARIABLE_REFERENCE_PATTERN:/var\(--.+\)$/};function o(e){var t,r,n;for(t=2,r=e.length;t0&&!i[1].match(a.IMPORTANT_WORD_PATTERN)&&a.BANG_SUFFIX_PATTERN.test(i[1])?t=[n.BANG]:i[1].indexOf(a.BACKSLASH)>0&&i[1].indexOf(a.BACKSLASH)==i[1].length-a.BACKSLASH.length-1?t=[n.BACKSLASH,i[1].substring(i[1].indexOf(a.BACKSLASH)+1)]:0===i[1].indexOf(a.BACKSLASH)&&2==i[1].length&&(t=[n.BACKSLASH,i[1].substring(1)]):t=[n.BANG],t}(e);return r[0]==n.ASTERISK||r[0]==n.UNDERSCORE?function(e){e[1][1]=e[1][1].substring(1)}(e):r[0]!=n.BACKSLASH&&r[0]!=n.BANG||function(e,t){var r=e[e.length-1];r[1]=r[1].substring(0,r[1].indexOf(t[0]==n.BACKSLASH?a.BACKSLASH:a.BANG)).trim(),0===r[1].length&&e.pop()}(e,r),{block:e[2]&&e[2][0]==s.PROPERTY_BLOCK,components:[],dirty:!1,hack:r,important:t,name:e[1][1],multiplex:e.length>3&&l(e),position:0,shorthand:!1,unused:!1,value:e.slice(2)}}t.exports={all:function(e,t,r){var n,i,a,u=[];for(a=e.length-1;a>=0;a--)(i=e[a])[0]==s.PROPERTY&&(!t&&o(i)||r&&r.indexOf(i[1][1])>-1||((n=c(i)).all=e,n.position=a,u.unshift(n)));return u},single:c}},{"../tokenizer/marker":267,"../tokenizer/token":268,"./hack":192}],243:[function(e,t,r){var n={"*":{colors:{opacity:!0},properties:{backgroundClipMerging:!0,backgroundOriginMerging:!0,backgroundSizeMerging:!0,colors:!0,ieBangHack:!1,ieFilters:!1,iePrefixHack:!1,ieSuffixHack:!1,merging:!0,shorterLengthUnits:!1,spaceAfterClosingBrace:!0,urlQuotes:!1,zeroUnits:!0},selectors:{adjacentSpace:!1,ie7Hack:!1,mergeablePseudoClasses:[":active",":after",":before",":empty",":checked",":disabled",":empty",":enabled",":first-child",":first-letter",":first-line",":first-of-type",":focus",":hover",":lang",":last-child",":last-of-type",":link",":not",":nth-child",":nth-last-child",":nth-last-of-type",":nth-of-type",":only-child",":only-of-type",":root",":target",":visited"],mergeablePseudoElements:["::after","::before","::first-letter","::first-line"],mergeLimit:8191,multiplePseudoMerging:!0},units:{ch:!0,in:!0,pc:!0,pt:!0,rem:!0,vh:!0,vm:!0,vmax:!0,vmin:!0,vw:!0}}};function i(e,t){for(var r in e){var n=e[r];"object"!=typeof n||Array.isArray(n)?t[r]=r in t?t[r]:n:t[r]=i(n,t[r]||{})}return t}n.ie11=n["*"],n.ie10=n["*"],n.ie9=i(n["*"],{properties:{ieFilters:!0,ieSuffixHack:!0}}),n.ie8=i(n.ie9,{colors:{opacity:!1},properties:{backgroundClipMerging:!1,backgroundOriginMerging:!1,backgroundSizeMerging:!1,iePrefixHack:!0,merging:!1},selectors:{mergeablePseudoClasses:[":after",":before",":first-child",":first-letter",":focus",":hover",":visited"],mergeablePseudoElements:[]},units:{ch:!1,rem:!1,vh:!1,vm:!1,vmax:!1,vmin:!1,vw:!1}}),n.ie7=i(n.ie8,{properties:{ieBangHack:!0},selectors:{ie7Hack:!0,mergeablePseudoClasses:[":first-child",":first-letter",":hover",":visited"]}}),t.exports=function(e){return i(n["*"],function(e){if("object"==typeof e)return e;if(!/[,\+\-]/.test(e))return n[e]||n["*"];var t=e.split(","),r=t[0]in n?n[t.shift()]:n["*"];return e={},t.forEach(function(t){var r="+"==t[0],n=t.substring(1).split("."),i=n[0],s=n[1];e[i]=e[i]||{},e[i][s]=r}),i(r,e)}(e))}},{}],244:[function(e,t,r){var n=e("../reader/load-remote-resource");t.exports=function(e){return e||n}},{"../reader/load-remote-resource":258}],245:[function(e,t,r){var n=e("os").EOL,i=e("../utils/override"),s={AfterAtRule:"afterAtRule",AfterBlockBegins:"afterBlockBegins",AfterBlockEnds:"afterBlockEnds",AfterComment:"afterComment",AfterProperty:"afterProperty",AfterRuleBegins:"afterRuleBegins",AfterRuleEnds:"afterRuleEnds",BeforeBlockEnds:"beforeBlockEnds",BetweenSelectors:"betweenSelectors"},a={CarriageReturnLineFeed:"\r\n",LineFeed:"\n",System:n},o={Space:" ",Tab:"\t"},u={AroundSelectorRelation:"aroundSelectorRelation",BeforeBlockBegins:"beforeBlockBegins",BeforeValue:"beforeValue"},l={breaks:x(!1),breakWith:a.System,indentBy:0,indentWith:o.Space,spaces:E(!1),wrapAt:!1,semicolonAfterLastProperty:!1},c="beautify",h="keep-breaks",p=";",f=":",d=",",m="=",y="false",g="off",b="true",v="on";function x(e){var t={};return t[s.AfterAtRule]=e,t[s.AfterBlockBegins]=e,t[s.AfterBlockEnds]=e,t[s.AfterComment]=e,t[s.AfterProperty]=e,t[s.AfterRuleBegins]=e,t[s.AfterRuleEnds]=e,t[s.BeforeBlockEnds]=e,t[s.BetweenSelectors]=e,t}function E(e){var t={};return t[u.AroundSelectorRelation]=e,t[u.BeforeBlockBegins]=e,t[u.BeforeValue]=e,t}function w(e){switch(e){case"windows":case"crlf":case a.CarriageReturnLineFeed:return a.CarriageReturnLineFeed;case"unix":case"lf":case a.LineFeed:return a.LineFeed;default:return n}}function S(e){switch(e){case"space":return o.Space;case"tab":return o.Tab;default:return e}}t.exports={Breaks:s,Spaces:u,formatFrom:function(e){return void 0!==e&&!1!==e&&("object"==typeof e&&"breakWith"in e&&(e=i(e,{breakWith:w(e.breakWith)})),"object"==typeof e&&"indentBy"in e&&(e=i(e,{indentBy:parseInt(e.indentBy)})),"object"==typeof e&&"indentWith"in e&&(e=i(e,{indentWith:S(e.indentWith)})),"object"==typeof e?i(l,e):"object"==typeof e?i(l,e):"string"==typeof e&&e==c?i(l,{breaks:x(!0),indentBy:2,spaces:E(!0)}):"string"==typeof e&&e==h?i(l,{breaks:{afterAtRule:!0,afterBlockBegins:!0,afterBlockEnds:!0,afterComment:!0,afterRuleEnds:!0,beforeBlockEnds:!0}}):"string"==typeof e?i(l,e.split(p).reduce(function(e,t){var r=t.split(f),n=r[0],i=r[1];return"breaks"==n||"spaces"==n?e[n]=i.split(d).reduce(function(e,t){var r=t.split(m),n=r[0],i=r[1];return e[n]=function(e){switch(e){case y:case g:return!1;case b:case v:return!0;default:return e}}(i),e},{}):"indentBy"==n||"wrapAt"==n?e[n]=parseInt(i):"indentWith"==n?e[n]=S(i):"breakWith"==n&&(e[n]=w(i)),e},{})):l)}}},{"../utils/override":279,os:604}],246:[function(e,t,r){(function(r){var n=e("url"),i=e("../utils/override");t.exports=function(e){return i((t=r.env.HTTP_PROXY||r.env.http_proxy)?{hostname:n.parse(t).hostname,port:parseInt(n.parse(t).port)}:{},e||{});var t}}).call(this,e("_process"))},{"../utils/override":279,_process:619,url:735}],247:[function(e,t,r){var n=5e3;t.exports=function(e){return e||n}},{}],248:[function(e,t,r){t.exports=function(e){return Array.isArray(e)?e:!1===e?["none"]:void 0===e?["local"]:e.split(",")}},{}],249:[function(e,t,r){var n=e("./rounding-precision").roundingPrecisionFrom,i=e("../utils/override"),s={Zero:"0",One:"1",Two:"2"},a={};a[s.Zero]={},a[s.One]={cleanupCharsets:!0,normalizeUrls:!0,optimizeBackground:!0,optimizeBorderRadius:!0,optimizeFilter:!0,optimizeFontWeight:!0,optimizeOutline:!0,removeEmpty:!0,removeNegativePaddings:!0,removeQuotes:!0,removeWhitespace:!0,replaceMultipleZeros:!0,replaceTimeUnits:!0,replaceZeroUnits:!0,roundingPrecision:n(void 0),selectorsSortingMethod:"standard",specialComments:"all",tidyAtRules:!0,tidyBlockScopes:!0,tidySelectors:!0,transform:function(){}},a[s.Two]={mergeAdjacentRules:!0,mergeIntoShorthands:!0,mergeMedia:!0,mergeNonAdjacentRules:!0,mergeSemantically:!1,overrideProperties:!0,removeEmpty:!0,reduceNonAdjacentRules:!0,removeDuplicateFontRules:!0,removeDuplicateMediaBlocks:!0,removeDuplicateRules:!0,removeUnusedAtRules:!1,restructureRules:!1,skipProperties:[]};var o="*",u="all",l="false",c="off",h="true",p="on",f=",",d=";",m=":";function y(e,t){var r,n=i(a[e],{});for(r in n)"boolean"==typeof n[r]&&(n[r]=t);return n}function g(e){switch(e){case l:case c:return!1;case h:case p:return!0;default:return e}}function b(e,t){return e.split(d).reduce(function(e,r){var n=r.split(m),s=n[0],a=g(n[1]);return o==s||u==s?e=i(e,y(t,a)):e[s]=a,e},{})}t.exports={OptimizationLevel:s,optimizationLevelFrom:function(e){var t=i(a,{}),r=s.Zero,l=s.One,c=s.Two;return void 0===e?(delete t[c],t):("string"==typeof e&&(e=parseInt(e)),"number"==typeof e&&e===parseInt(c)?t:"number"==typeof e&&e===parseInt(l)?(delete t[c],t):"number"==typeof e&&e===parseInt(r)?(delete t[c],delete t[l],t):("object"==typeof e&&(e=function(e){var t,r,n=i(e,{});for(r=0;r<=2;r++)(t=""+r)in n&&(void 0===n[t]||!1===n[t])&&delete n[t],t in n&&!0===n[t]&&(n[t]={}),t in n&&"string"==typeof n[t]&&(n[t]=b(n[t],t));return n}(e)),l in e&&"roundingPrecision"in e[l]&&(e[l].roundingPrecision=n(e[l].roundingPrecision)),c in e&&"skipProperties"in e[c]&&"string"==typeof e[c].skipProperties&&(e[c].skipProperties=e[c].skipProperties.split(f)),(r in e||l in e||c in e)&&(t[r]=i(t[r],e[r])),l in e&&o in e[l]&&(t[l]=i(t[l],y(l,g(e[l][o]))),delete e[l][o]),l in e&&u in e[l]&&(t[l]=i(t[l],y(l,g(e[l][u]))),delete e[l][u]),l in e||c in e?t[l]=i(t[l],e[l]):delete t[l],c in e&&o in e[c]&&(t[c]=i(t[c],y(c,g(e[c][o]))),delete e[c][o]),c in e&&u in e[c]&&(t[c]=i(t[c],y(c,g(e[c][u]))),delete e[c][u]),c in e?t[c]=i(t[c],e[c]):delete t[c],t))}}},{"../utils/override":279,"./rounding-precision":252}],250:[function(e,t,r){(function(r){var n=e("path");t.exports=function(e){return e?n.resolve(e):r.cwd()}}).call(this,e("_process"))},{_process:619,path:610}],251:[function(e,t,r){t.exports=function(e){return void 0===e||!!e}},{}],252:[function(e,t,r){var n=e("../utils/override"),i=/^\d+$/,s=["*","all"],a="off",o=",",u="=";function l(e){return{ch:e,cm:e,em:e,ex:e,in:e,mm:e,pc:e,pt:e,px:e,q:e,rem:e,vh:e,vmax:e,vmin:e,vw:e,"%":e}}t.exports={DEFAULT:a,roundingPrecisionFrom:function(e){return n(l(a),function(e){return null==e?{}:"boolean"==typeof e?{}:"number"==typeof e&&-1==e?l(a):"number"==typeof e?l(e):"string"==typeof e&&i.test(e)?l(parseInt(e)):"string"==typeof e&&e==a?l(a):"object"==typeof e?e:e.split(o).reduce(function(e,t){var r=t.split(u),i=r[0],o=parseInt(r[1]);return(isNaN(o)||-1==o)&&(o=a),s.indexOf(i)>-1?e=n(e,l(o)):e[i]=o,e},{})}(e))}}},{"../utils/override":279}],253:[function(e,t,r){(function(r,n){var i=e("fs"),s=e("path"),a=e("./is-allowed-resource"),o=e("./match-data-uri"),u=e("./rebase-local-map"),l=e("./rebase-remote-map"),c=e("../tokenizer/token"),h=e("../utils/has-protocol"),p=e("../utils/is-data-uri-resource"),f=e("../utils/is-remote-resource"),d=/^\/\*# sourceMappingURL=(\S+) \*\/$/;function m(e){var t,r,n,i=[],s=y(e.sourceTokens[0]);for(n=e.sourceTokens.length;e.index0?m(n):r(e)}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer)},{"../tokenizer/token":268,"../utils/has-protocol":272,"../utils/is-data-uri-resource":273,"../utils/is-remote-resource":277,"./is-allowed-resource":256,"./match-data-uri":259,"./rebase-local-map":262,"./rebase-remote-map":263,buffer:186,fs:183,path:610}],254:[function(e,t,r){var n=e("../utils/split"),i=/^\(/,s=/\)$/,a=/^@import/i,o=/['"]\s*/,u=/\s*['"]/,l=/^url\(\s*/i,c=/\s*\)/i;t.exports=function(e){var t,r;return t=e.replace(a,"").trim().replace(l,"(").replace(c,")").replace(o,"").replace(u,""),[(r=n(t," "))[0].replace(i,"").replace(s,""),r.slice(1).join(" ")]}},{"../utils/split":280}],255:[function(e,t,r){var n=e("source-map").SourceMapConsumer;function i(e){return e}function s(e,t){return t in e}function a(e,t,r,n){for(var i,s,o=t[0],u=t[1],l=t[2],c={line:o,column:u+r};!i&&c.column>u;)c.column--,i=e[l].originalPositionFor(c);return!i||i.column<0?t:null===i.line&&o>1&&n>0?a(e,[o-1,u,l],r,n-1):null!==i.line?[(s=i).line,s.column,s.source]:t}function o(e,t,r){e[t]=new n(r)}t.exports=function(){var e={};return{all:i.bind(null,e),isTracking:s.bind(null,e),originalPositionFor:a.bind(null,e),track:o.bind(null,e)}}},{"source-map":709}],256:[function(e,t,r){var n=e("path"),i=e("url"),s=e("../utils/is-remote-resource"),a=e("../utils/has-protocol"),o="http:";function u(e){return s(e)||i.parse(o+"//"+e).host==e}t.exports=function e(t,r,s){var l,c,h,p,f,d,m=!r;if(0===s.length)return!1;for(r&&!a(t)&&(t=o+t),l=r?i.parse(t).host:t,c=r?t:n.resolve(t),d=0;d399)return h(n.statusCode,null);if(n.statusCode>299)return e(s.resolve(t,n.headers.location),r,c,h);n.on("data",function(e){i.push(e.toString())}),n.on("end",function(){var e=i.join("");h(null,e)})}}).on("error",function(e){d||(d=!0,h(e.message,null))}).on("timeout",function(){d||(d=!0,h("timeout",null))}).setTimeout(c)}},{"../utils/is-http-resource":274,"../utils/is-https-resource":275,"../utils/override":279,http:712,https:453,url:735}],259:[function(e,t,r){var n=/^data:(\S*?)?(;charset=[^;]+)?(;[^,]+?)?,(.+)/;t.exports=function(e){return n.exec(e)}},{}],260:[function(e,t,r){var n="/",i=/\\/g;t.exports=function(e){return e.replace(i,n)}},{}],261:[function(e,t,r){(function(r,n){var i=e("fs"),s=e("path"),a=e("./apply-source-maps"),o=e("./extract-import-url-and-media"),u=e("./is-allowed-resource"),l=e("./load-original-sources"),c=e("./normalize-path"),h=e("./rebase"),p=e("./rebase-local-map"),f=e("./rebase-remote-map"),d=e("./restore-import"),m=e("../tokenizer/tokenize"),y=e("../tokenizer/token"),g=e("../tokenizer/marker"),b=e("../utils/has-protocol"),v=e("../utils/is-import"),x=e("../utils/is-remote-resource"),E="uri:unknown";function w(e,t,r){return t.source=void 0,t.sourcesContent[void 0]=e,t.stats.originalSize+=e.length,D(e,t,{inline:t.options.inline},r)}function S(e,t,r){var n,i,s;for(n in e)s=e[n],i=A(n),r.push(_(i)),t.sourcesContent[i]=s.styles,s.sourceMap&&T(s.sourceMap,i,t);return r}function A(e){var t,r,n=s.resolve("");return x(e)?e:(t=s.isAbsolute(e)?e:s.resolve(e),r=s.relative(n,t),c(r))}function T(e,t,r){var n="string"==typeof e?JSON.parse(e):e,i=x(t)?f(n,t):p(n,t||E,r.options.rebaseTo);r.inputSourceMapTracker.track(t,i)}function _(e){return d("url("+e+")","")+g.SEMICOLON}function D(e,t,r,n){var i,a={};return t.source?x(t.source)?(a.fromBase=t.source,a.toBase=t.source):s.isAbsolute(t.source)?(a.fromBase=s.dirname(t.source),a.toBase=t.options.rebaseTo):(a.fromBase=s.dirname(s.resolve(t.source)),a.toBase=t.options.rebaseTo):(a.fromBase=s.resolve(""),a.toBase=t.options.rebaseTo),i=m(e,t),i=h(i,t.options.rebase,t.validator,a),function(e){return!(1==e.length&&"none"==e[0])}(r.inline)?function(e,t,r,n){return C({afterContent:!1,callback:n,errors:t.errors,externalContext:t,fetch:t.options.fetch,inlinedStylesheets:r.inlinedStylesheets||t.inlinedStylesheets,inline:r.inline,inlineRequest:t.options.inlineRequest,inlineTimeout:t.options.inlineTimeout,isRemote:r.isRemote||!1,localOnly:t.localOnly,outputTokens:[],rebaseTo:t.options.rebaseTo,sourceTokens:e,warnings:t.warnings})}(i,t,r,n):n(i)}function C(e){var t,r,n;for(r=0,n=e.sourceTokens.length;r-1)return i.warnings.push('Ignoring remote @import of "'+e+'" as it has already been imported.'),i.sourceTokens=i.sourceTokens.slice(1),C(i);if(i.localOnly&&i.afterContent)return i.warnings.push('Ignoring remote @import of "'+e+'" as no callback given and after other content.'),i.sourceTokens=i.sourceTokens.slice(1),C(i);if(l)return i.warnings.push('Skipping remote @import of "'+e+'" as no protocol given.'),i.outputTokens=i.outputTokens.concat(i.sourceTokens.slice(0,1)),i.sourceTokens=i.sourceTokens.slice(1),C(i);if(i.localOnly&&!o)return i.warnings.push('Skipping remote @import of "'+e+'" as no callback given.'),i.outputTokens=i.outputTokens.concat(i.sourceTokens.slice(0,1)),i.sourceTokens=i.sourceTokens.slice(1),C(i);if(!s&&i.afterContent)return i.warnings.push('Ignoring remote @import of "'+e+'" as resource is not allowed and after other content.'),i.sourceTokens=i.sourceTokens.slice(1),C(i);if(!s)return i.warnings.push('Skipping remote @import of "'+e+'" as resource is not allowed.'),i.outputTokens=i.outputTokens.concat(i.sourceTokens.slice(0,1)),i.sourceTokens=i.sourceTokens.slice(1),C(i);function c(s,o){return s?(i.errors.push('Broken @import declaration of "'+e+'" - '+s),n.nextTick(function(){i.outputTokens=i.outputTokens.concat(i.sourceTokens.slice(0,1)),i.sourceTokens=i.sourceTokens.slice(1),C(i)})):(i.inline=i.externalContext.options.inline,i.isRemote=!0,i.externalContext.source=a,i.externalContext.sourcesContent[e]=o,i.externalContext.stats.originalSize+=o.length,D(o,i.externalContext,i,function(e){return e=P(e,t,r),i.outputTokens=i.outputTokens.concat(e),i.sourceTokens=i.sourceTokens.slice(1),C(i)}))}return i.inlinedStylesheets.push(e),o?c(null,i.externalContext.sourcesContent[e]):i.fetch(e,i.inlineRequest,i.inlineTimeout,c)}(a,l,h,t):function(e,t,r,n){var a,o=s.resolve(""),l=s.isAbsolute(e)?s.resolve(o,"/"==e[0]?e.substring(1):e):s.resolve(n.rebaseTo,e),h=s.relative(o,l),p=u(e,!1,n.inline),f=c(h),d=f in n.externalContext.sourcesContent;if(n.inlinedStylesheets.indexOf(l)>-1)n.warnings.push('Ignoring local @import of "'+e+'" as it has already been imported.');else if(d||i.existsSync(l)&&i.statSync(l).isFile())if(!p&&n.afterContent)n.warnings.push('Ignoring local @import of "'+e+'" as resource is not allowed and after other content.');else if(n.afterContent)n.warnings.push('Ignoring local @import of "'+e+'" as after other content.');else{if(p)return a=d?n.externalContext.sourcesContent[f]:i.readFileSync(l,"utf-8"),n.inlinedStylesheets.push(l),n.inline=n.externalContext.options.inline,n.externalContext.source=f,n.externalContext.sourcesContent[f]=a,n.externalContext.stats.originalSize+=a.length,D(a,n.externalContext,n,function(e){return e=P(e,t,r),n.outputTokens=n.outputTokens.concat(e),n.sourceTokens=n.sourceTokens.slice(1),C(n)});n.warnings.push('Skipping local @import of "'+e+'" as resource is not allowed.'),n.outputTokens=n.outputTokens.concat(n.sourceTokens.slice(0,1))}else n.errors.push('Ignoring local @import of "'+e+'" as resource is missing.');return n.sourceTokens=n.sourceTokens.slice(1),C(n)}(a,l,h,t)}function P(e,t,r){return t?[[y.NESTED_BLOCK,[[y.NESTED_BLOCK_SCOPE,"@media "+t,r]],e]]:e}t.exports=function(e,t,n){return function(e,t,n){return"string"==typeof e?w(e,t,n):r.isBuffer(e)?w(e.toString(),t,n):Array.isArray(e)?function(e,t,r){return D(e.reduce(function(e,r){return"string"==typeof r?(n=r,(i=e).push(_(A(n))),i):S(r,t,e);var n,i},[]).join(""),t,{inline:["all"]},r)}(e,t,n):"object"==typeof e?function(e,t,r){return D(S(e,t,[]).join(""),t,{inline:["all"]},r)}(e,t,n):void 0}(e,t,function(e){return a(e,t,function(){return l(t,function(){return n(e)})})})}}).call(this,{isBuffer:e("../../../is-buffer/index.js")},e("_process"))},{"../../../is-buffer/index.js":456,"../tokenizer/marker":267,"../tokenizer/token":268,"../tokenizer/tokenize":269,"../utils/has-protocol":272,"../utils/is-import":276,"../utils/is-remote-resource":277,"./apply-source-maps":253,"./extract-import-url-and-media":254,"./is-allowed-resource":256,"./load-original-sources":257,"./normalize-path":260,"./rebase":264,"./rebase-local-map":262,"./rebase-remote-map":263,"./restore-import":265,_process:619,fs:183,path:610}],262:[function(e,t,r){var n=e("path");t.exports=function(e,t,r){var i=n.resolve(""),s=n.resolve(i,t),a=n.dirname(s);return e.sources=e.sources.map(function(e){return n.relative(r,n.resolve(a,e))}),e}},{path:610}],263:[function(e,t,r){var n=e("path"),i=e("url");t.exports=function(e,t){var r=n.dirname(t);return e.sources=e.sources.map(function(e){return i.resolve(r,e)}),e}},{path:610,url:735}],264:[function(e,t,r){var n=e("./extract-import-url-and-media"),i=e("./restore-import"),s=e("./rewrite-url"),a=e("../tokenizer/token"),o=e("../utils/is-import"),u=/^\/\*# sourceMappingURL=(\S+) \*\/$/;function l(e,t,r){if(o(e[1])){var a=n(e[1]),u=s(a[0],r),l=a[1];e[1]=i(u,l)}}function c(e,t){var r=u.exec(e[1]);r&&-1===r[1].indexOf("data:")&&(e[1]=e[1].replace(r[1],s(r[1],t,!0)))}function h(e,t,r){var n,i,a,o,u,l;for(a=0,o=e.length;a-1?s:e.indexOf(s)>-1?a:(t=e,d.test(t)||function(e){return h.test(e)}(e)?a:"");var t}t.exports=function(e,t,r){var n=e.replace(p,"").replace(f,"").trim(),i=n.replace(l,"").replace(c,"").trim(),h=n[0]==a||n[0]==s?n[0]:v(i);return r?y(i,t):o+h+y(i,t)+h+u}}).call(this,e("_process"))},{_process:619,path:610,url:735}],267:[function(e,t,r){t.exports={ASTERISK:"*",AT:"@",BACK_SLASH:"\\",CARRIAGE_RETURN:"\r",CLOSE_CURLY_BRACKET:"}",CLOSE_ROUND_BRACKET:")",CLOSE_SQUARE_BRACKET:"]",COLON:":",COMMA:",",DOUBLE_QUOTE:'"',EXCLAMATION:"!",FORWARD_SLASH:"/",INTERNAL:"-clean-css-",NEW_LINE_NIX:"\n",OPEN_CURLY_BRACKET:"{",OPEN_ROUND_BRACKET:"(",OPEN_SQUARE_BRACKET:"[",SEMICOLON:";",SINGLE_QUOTE:"'",SPACE:" ",TAB:"\t",UNDERSCORE:"_"}},{}],268:[function(e,t,r){t.exports={AT_RULE:"at-rule",AT_RULE_BLOCK:"at-rule-block",AT_RULE_BLOCK_SCOPE:"at-rule-block-scope",COMMENT:"comment",NESTED_BLOCK:"nested-block",NESTED_BLOCK_SCOPE:"nested-block-scope",PROPERTY:"property",PROPERTY_BLOCK:"property-block",PROPERTY_NAME:"property-name",PROPERTY_VALUE:"property-value",RAW:"raw",RULE:"rule",RULE_SCOPE:"rule-scope"}},{}],269:[function(e,t,r){var n=e("./marker"),i=e("./token"),s=e("../utils/format-position"),a={BLOCK:"block",COMMENT:"comment",DOUBLE_QUOTE:"double-quote",RULE:"rule",SINGLE_QUOTE:"single-quote"},o=["@charset","@import"],u=["@-moz-document","@document","@-moz-keyframes","@-ms-keyframes","@-o-keyframes","@-webkit-keyframes","@keyframes","@media","@supports"],l=/\/\* clean\-css ignore:end \*\/$/,c=/^\/\* clean\-css ignore:start \*\//,h=["@bottom-center","@bottom-left","@bottom-left-corner","@bottom-right","@bottom-right-corner","@left-bottom","@left-middle","@left-top","@right-bottom","@right-middle","@right-top","@top-center","@top-left","@top-left-corner","@top-right","@top-right-corner"],p=["@footnote","@footnotes","@left","@page-float-bottom","@page-float-top","@right"],f=/^\[\s{0,31}\d+\s{0,31}\]$/,d=/[\s\(]/,m=/[\s|\}]*$/;function y(e){return c.test(e.join("")+n.FORWARD_SLASH)}function g(e){return l.test(e.join("")+n.FORWARD_SLASH)}function b(e,t,r,n){var i=e[2];return r.inputSourceMapTracker.isTracking(i)?r.inputSourceMapTracker.originalPositionFor(e,t.length,n):e}function v(e){var t=e[0]==n.AT||e[0]==n.UNDERSCORE,r=e.join("").split(d)[0];return t&&u.indexOf(r)>-1?i.NESTED_BLOCK:t&&o.indexOf(r)>-1?i.AT_RULE:t?i.AT_RULE_BLOCK:i.RULE}function x(e){return e==i.RULE?i.RULE_SCOPE:e==i.NESTED_BLOCK?i.NESTED_BLOCK_SCOPE:e==i.AT_RULE_BLOCK?i.AT_RULE_BLOCK_SCOPE:void 0}function E(e){var t=e.join("").trim();return h.indexOf(t)>-1||p.indexOf(t)>-1}function w(e){return f.test(e.join("")+n.CLOSE_SQUARE_BRACKET)}t.exports=function(e,t){return function e(t,r,o,u){for(var l,c,h,p,f,d,S,A,T,_,D,C,k,P,F,O,N=[],M=N,I=[],B=[],j=o.level,L=[],R=[],V=[],U=0,z=!1,$=!1,H=!1,q=!1,W=!1,K=o.position;K.index1)B.push(p),R.push(Y),V.push(R.slice(0,R.length-2)),R=R.slice(R.length-2),p=[K.line,K.column-1,K.source],L.push(j),j=a.COMMENT;else if(C)L.push(j),j=a.COMMENT,R.push(Y);else if(k&&y(R))f=R.join("").trim()+Y,l=[i.COMMENT,f,[b(p,f,r)]],M.push(l),H=!0,p=B.pop()||null,R=V.pop()||[];else if(k&&g(R))f=R.join("")+Y,O=f.lastIndexOf(n.FORWARD_SLASH+n.ASTERISK),d=f.substring(0,O),l=[i.RAW,d,[b(p,d,r)]],M.push(l),d=f.substring(O),p=[K.line,K.column-d.length+1,K.source],l=[i.COMMENT,d,[b(p,d,r)]],M.push(l),H=!1,j=L.pop(),p=B.pop()||null,R=V.pop()||[];else if(k)f=R.join("").trim()+Y,l=[i.COMMENT,f,[b(p,f,r)]],M.push(l),j=L.pop(),p=B.pop()||null,R=V.pop()||[];else if(P&&t[K.index+1]!=n.ASTERISK)r.warnings.push("Unexpected '*/' at "+s([K.line,K.column,K.source])+"."),R=[];else if(Y!=n.SINGLE_QUOTE||S)if(Y==n.SINGLE_QUOTE&&j==a.SINGLE_QUOTE)j=L.pop(),R.push(Y);else if(Y!=n.DOUBLE_QUOTE||S)if(Y==n.DOUBLE_QUOTE&&j==a.DOUBLE_QUOTE)j=L.pop(),R.push(Y);else if(!C&&!k&&Y!=n.CLOSE_ROUND_BRACKET&&Y!=n.OPEN_ROUND_BRACKET&&j!=a.COMMENT&&!S&&U>0)R.push(Y);else if(Y!=n.OPEN_ROUND_BRACKET||S||j==a.COMMENT||q)if(Y!=n.CLOSE_ROUND_BRACKET||S||j==a.COMMENT||q)if(Y==n.SEMICOLON&&j==a.BLOCK&&R[0]==n.AT)f=R.join("").trim(),N.push([i.AT_RULE,f,[b(p,f,r)]]),R=[];else if(Y==n.COMMA&&j==a.BLOCK&&c)f=R.join("").trim(),c[1].push([x(c[0]),f,[b(p,f,r,c[1].length)]]),R=[];else if(Y==n.COMMA&&j==a.BLOCK&&v(R)==i.AT_RULE)R.push(Y);else if(Y==n.COMMA&&j==a.BLOCK)c=[v(R),[],[]],f=R.join("").trim(),c[1].push([x(c[0]),f,[b(p,f,r,0)]]),R=[];else if(Y==n.OPEN_CURLY_BRACKET&&j==a.BLOCK&&c&&c[0]==i.NESTED_BLOCK)f=R.join("").trim(),c[1].push([i.NESTED_BLOCK_SCOPE,f,[b(p,f,r)]]),N.push(c),L.push(j),K.column++,K.index++,R=[],c[2]=e(t,r,o,!0),c=null;else if(Y==n.OPEN_CURLY_BRACKET&&j==a.BLOCK&&v(R)==i.NESTED_BLOCK)f=R.join("").trim(),(c=c||[i.NESTED_BLOCK,[],[]])[1].push([i.NESTED_BLOCK_SCOPE,f,[b(p,f,r)]]),N.push(c),L.push(j),K.column++,K.index++,R=[],c[2]=e(t,r,o,!0),c=null;else if(Y==n.OPEN_CURLY_BRACKET&&j==a.BLOCK)f=R.join("").trim(),(c=c||[v(R),[],[]])[1].push([x(c[0]),f,[b(p,f,r,c[1].length)]]),M=c[2],N.push(c),L.push(j),j=a.RULE,R=[];else if(Y==n.OPEN_CURLY_BRACKET&&j==a.RULE&&q)I.push(c),c=[i.PROPERTY_BLOCK,[]],h.push(c),M=c[1],L.push(j),j=a.RULE,q=!1;else if(Y==n.OPEN_CURLY_BRACKET&&j==a.RULE&&E(R))f=R.join("").trim(),I.push(c),(c=[i.AT_RULE_BLOCK,[],[]])[1].push([i.AT_RULE_BLOCK_SCOPE,f,[b(p,f,r)]]),M.push(c),M=c[2],L.push(j),j=a.RULE,R=[];else if(Y!=n.COLON||j!=a.RULE||q)if(Y==n.SEMICOLON&&j==a.RULE&&h&&I.length>0&&R.length>0&&R[0]==n.AT)f=R.join("").trim(),c[1].push([i.AT_RULE,f,[b(p,f,r)]]),R=[];else if(Y==n.SEMICOLON&&j==a.RULE&&h&&R.length>0)f=R.join("").trim(),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),h=null,q=!1,R=[];else if(Y==n.SEMICOLON&&j==a.RULE&&h&&0===R.length)h=null,q=!1;else if(Y==n.SEMICOLON&&j==a.RULE&&R.length>0&&R[0]==n.AT)f=R.join(""),M.push([i.AT_RULE,f,[b(p,f,r)]]),q=!1,R=[];else if(Y==n.SEMICOLON&&j==a.RULE&&W)W=!1,R=[];else if(Y==n.SEMICOLON&&j==a.RULE&&0===R.length);else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.RULE&&h&&q&&R.length>0&&I.length>0)f=R.join(""),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),h=null,c=I.pop(),M=c[2],j=L.pop(),q=!1,R=[];else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.RULE&&h&&R.length>0&&R[0]==n.AT&&I.length>0)f=R.join(""),c[1].push([i.AT_RULE,f,[b(p,f,r)]]),h=null,c=I.pop(),M=c[2],j=L.pop(),q=!1,R=[];else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.RULE&&h&&I.length>0)h=null,c=I.pop(),M=c[2],j=L.pop(),q=!1;else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.RULE&&h&&R.length>0)f=R.join(""),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),h=null,c=I.pop(),M=N,j=L.pop(),q=!1,R=[];else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.RULE&&R.length>0&&R[0]==n.AT)h=null,c=null,f=R.join("").trim(),M.push([i.AT_RULE,f,[b(p,f,r)]]),M=N,j=L.pop(),q=!1,R=[];else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.RULE&&L[L.length-1]==a.RULE)h=null,c=I.pop(),M=c[2],j=L.pop(),q=!1,W=!0,R=[];else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.RULE)h=null,c=null,M=N,j=L.pop(),q=!1;else if(Y==n.CLOSE_CURLY_BRACKET&&j==a.BLOCK&&!u&&K.index<=t.length-1)r.warnings.push("Unexpected '}' at "+s([K.line,K.column,K.source])+"."),R.push(Y);else{if(Y==n.CLOSE_CURLY_BRACKET&&j==a.BLOCK)break;Y==n.OPEN_ROUND_BRACKET&&j==a.RULE&&q?(R.push(Y),U++):Y==n.CLOSE_ROUND_BRACKET&&j==a.RULE&&q&&1==U?(R.push(Y),f=R.join("").trim(),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),U--,R=[]):Y==n.CLOSE_ROUND_BRACKET&&j==a.RULE&&q?(R.push(Y),U--):Y==n.FORWARD_SLASH&&t[K.index+1]!=n.ASTERISK&&j==a.RULE&&q&&R.length>0?(f=R.join("").trim(),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),h.push([i.PROPERTY_VALUE,Y,[[K.line,K.column,K.source]]]),R=[]):Y==n.FORWARD_SLASH&&t[K.index+1]!=n.ASTERISK&&j==a.RULE&&q?(h.push([i.PROPERTY_VALUE,Y,[[K.line,K.column,K.source]]]),R=[]):Y==n.COMMA&&j==a.RULE&&q&&R.length>0?(f=R.join("").trim(),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),h.push([i.PROPERTY_VALUE,Y,[[K.line,K.column,K.source]]]),R=[]):Y==n.COMMA&&j==a.RULE&&q?(h.push([i.PROPERTY_VALUE,Y,[[K.line,K.column,K.source]]]),R=[]):Y==n.CLOSE_SQUARE_BRACKET&&h&&h.length>1&&R.length>0&&w(R)?(R.push(Y),f=R.join("").trim(),h[h.length-1][1]+=f,R=[]):(A||T&&!_)&&j==a.RULE&&q&&h&&R.length>0?(f=R.join("").trim(),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),R=[]):_&&j==a.RULE&&q&&h&&R.length>1?(f=R.join("").trim(),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),R=[]):_&&j==a.RULE&&q?R=[]:1==R.length&&_?R.pop():(R.length>0||!A&&!T&&!_&&!D)&&R.push(Y)}else f=R.join("").trim(),h=[i.PROPERTY,[i.PROPERTY_NAME,f,[b(p,f,r)]]],M.push(h),q=!0,R=[];else R.push(Y),U--;else R.push(Y),U++;else L.push(j),j=a.DOUBLE_QUOTE,R.push(Y);else L.push(j),j=a.SINGLE_QUOTE,R.push(Y);else R.push(Y);else R.push(Y);F=!F&&Y==n.BACK_SLASH,z=C,$=k,K.line=_||T||D?K.line+1:K.line,K.column=_||T||D?0:K.column+1}return q&&r.warnings.push("Missing '}' at "+s([K.line,K.column,K.source])+"."),q&&R.length>0&&(f=R.join("").replace(m,""),h.push([i.PROPERTY_VALUE,f,[b(p,f,r)]]),R=[]),R.length>0&&r.warnings.push("Invalid character(s) '"+R.join("")+"' at "+s(p)+". Ignoring."),N}(e,t,{level:a.BLOCK,position:{source:t.source||void 0,line:1,column:0,index:0}},!1)}},{"../utils/format-position":271,"./marker":267,"./token":268}],270:[function(e,t,r){t.exports=function e(t){for(var r=t.slice(0),n=0,i=r.length;ns?1:-1;return u.length>l.length?1:u.length==l.length?0:-1}},{}],279:[function(e,t,r){t.exports=function e(t,r){var n,i,s,a={};for(n in t)s=t[n],Array.isArray(s)?a[n]=s.slice(0):a[n]="object"==typeof s&&null!==s?e(s,{}):s;for(i in r)s=r[i],i in a&&Array.isArray(s)?a[i]=s.slice(0):a[i]=i in a&&"object"==typeof s&&null!==s?e(a[i],s):s;return a}},{}],280:[function(e,t,r){var n=e("../tokenizer/marker");t.exports=function(e,t){var r,i=n.OPEN_ROUND_BRACKET,s=n.CLOSE_ROUND_BRACKET,a=0,o=0,u=0,l=e.length,c=[];if(-1==e.indexOf(t))return[e];if(-1==e.indexOf(i))return e.split(t);for(;o0&&o+1=0&&e[t][0]==o.COMMENT;t--);return t}(t),n=0,i=t.length;ne.format.wrapAt&&(a(e,e.format.breakWith),e.output.push(e.format.breakWith))}function a(e,t){var r=t.split("\n");e.line+=r.length-1,e.column=r.length>1?0:e.column+r.pop().length}t.exports=function(e,t){var r={column:0,format:t.options.format,indentBy:0,indentWith:"",line:1,output:[],spaceAfterClosingBrace:t.options.compatibility.properties.spaceAfterClosingBrace,store:i,wrap:t.options.format.wrapAt?s:function(){}};return n(r,e),{styles:r.output.join("")}}},{"./helpers":281}],284:[function(e,t,r){(function(r){var n=e("source-map").SourceMapGenerator,i=e("./helpers").all,s=e("../utils/is-remote-resource"),a="win32"==r.platform,o=/\//g,u="$stdin",l="\\";function c(e,t){var r="string"==typeof t,n=r?t:t[1],i=r?null:t[2];(0,e.wrap)(e,n),p(e,n,i),e.output.push(n)}function h(e,t){e.column+t.length>e.format.wrapAt&&(p(e,e.format.breakWith,!1),e.output.push(e.format.breakWith))}function p(e,t,r){var n=t.split("\n");r&&function(e,t){for(var r=0,n=t.length;r1?0:e.column+n.pop().length}function f(e,t){var r=t[0],n=t[1],i=t[2],c=i,h=c||u;a&&c&&!s(c)&&(h=c.replace(o,l)),e.outputMap.addMapping({generated:{line:e.line,column:e.column},source:h,original:{line:r,column:n}}),e.inlineSources&&i in e.sourcesContent&&e.outputMap.setSourceContent(h,e.sourcesContent[i])}t.exports=function(e,t){var r={column:0,format:t.options.format,indentBy:0,indentWith:"",inlineSources:t.options.sourceMapInlineSources,line:1,output:[],outputMap:new n,sourcesContent:t.sourcesContent,spaceAfterClosingBrace:t.options.compatibility.properties.spaceAfterClosingBrace,store:c,wrap:t.options.format.wrapAt?h:function(){}};return i(r,e),{sourceMap:r.outputMap,styles:r.output.join("")}}}).call(this,e("_process"))},{"../utils/is-remote-resource":277,"./helpers":281,_process:619,"source-map":709}],285:[function(e,t,r){(function(n){!function(e){if("object"==typeof r&&void 0!==t)t.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:void 0!==n?n:"undefined"!=typeof self?self:this).nlp=e()}}(function(){return function(){return function t(r,n,i){function s(o,u){if(!n[o]){if(!r[o]){var l="function"==typeof e&&e;if(!u&&l)return l(o,!0);if(a)return a(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var h=n[o]={exports:{}};r[o][0].call(h.exports,function(e){return s(r[o][1][e]||e)},h,h.exports,t,r,n,i)}return n[o].exports}for(var a="function"==typeof e&&e,o=0;o=0;r--,s*=36){let n=e.charCodeAt(r)-48;n>10&&(n-=7),t+=n*s}return t};const a=function(e,t,r){const n=s(t);return n{let s=e.nodes[n];"!"===s[0]&&(t.push(i),s=s.slice(1));const o=s.split(/([A-Z0-9,]+)/g);for(let s=0;s{const r=t.split("¦");return e[r[0]]=r[1],e},{}),r={};return Object.keys(t).forEach(function(e){const n=o(t[e]);"true"===e&&(e=!0);for(let t=0;t (http://spencermounta.in)",name:"compromise",description:"natural language processing in the browser",version:"11.14.3",main:"./builds/compromise.js",unpkg:"./builds/compromise.min.js",types:"types",repository:{type:"git",url:"git://github.com/nlp-compromise/compromise.git"},scripts:{test:'tape "./test/unit/**/*.test.js" | tap-dancer',"test:spec":'tape "./test/unit/**/*.test.js" | tap-spec',testb:'TESTENV=prod tape "./test/unit/**/*.test.js" | tap-dancer',buildTest:"TESTENV=prod node ./scripts/test.js","test:types":"dtslint types",browserTest:"node ./scripts/browserTest.js",benchmark:"node ./scripts/benchmark.js",build:"node ./scripts/build/index.js",pack:"node ./scripts/pack.js",prepublishOnly:"node ./scripts/prepublish && npm run test:types",postpublish:"node ./scripts/postpublish",watch:"amble ./scratch.js",filesize:"node ./scripts/lib/filesize.js",coverage:"node ./scripts/postpublish/coverage.js",lint:"node ./scripts/prepublish/linter.js"},files:["builds/","docs/","types/index.d.ts"],prettier:{trailingComma:"none",tabWidth:2,semi:!0,singleQuote:!0,printWidth:100},dependencies:{"efrt-unpack":"2.2.0"},devDependencies:{"@babel/core":"7.5.5","@babel/preset-env":"7.5.5",amble:"0.0.7",babelify:"10.0.0",babili:"0.1.4",browserify:"16.5.0",chalk:"2.4.2",codecov:"3.5.0","compromise-plugin":"0.0.9",derequire:"2.0.6",dtslint:"0.9.3",nyc:"14.1.1",shelljs:"0.8.3","tap-dancer":"0.2.0",tape:"4.11.0",terser:"4.2.1"},license:"MIT"}},{}],3:[function(e,t,r){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var i=e("./tags"),s={reset:"[0m",red:"[31m",green:"[32m",yellow:"[33m",blue:"[34m",magenta:"[35m",cyan:"[36m",black:"[30m"};void 0===t&&Object.keys(s).forEach(function(e){s[e]=""}),r.ensureString=function(e){return"string"==typeof e?e:"number"==typeof e?String(e):""},r.ensureObject=function(e){return"object"!==n(e)?{}:null===e||e instanceof Array?{}:e},r.titleCase=function(e){return e.charAt(0).toUpperCase()+e.substr(1)},r.copy=function(e){var t={};return e=r.ensureObject(e),Object.keys(e).forEach(function(r){t[r]=e[r]}),t},r.extend=function(e,t){e=r.copy(e);for(var n=Object.keys(t),i=0;i "+t,i+=n.leftPad(r||"",15),console.log("%c"+i," color: #a2c99c")},untag:function(e,t,r){var i=e.normal||"["+e.silent_term+"]";i=n.leftPad("'"+i+"'",12),i+=" ~* "+t,i+=" "+(r||""),console.log("%c"+i," color: #b66a6a")}}},{"../fns":3}],6:[function(e,t,r){"use strict";var n=e("./client"),i=e("./server"),s=!1;t.exports={enable:function(e){void 0===e&&(e=!0),s=e},tag:function(e,t,r){!0!==s&&"tagger"!==s||("undefined"!=typeof window?n.tag(e,t,r):i.tag(e,t,r))},unTag:function(e,t,r){!0!==s&&"tagger"!==s||("undefined"!=typeof window?n.untag(e,t,r):i.untag(e,t,r))}}},{"./client":5,"./server":7}],7:[function(e,t,r){"use strict";var n=e("../fns");t.exports={tag:function(e,t,r){var i=e.normal||"["+e.silent_term+"]";i=n.yellow(i),i=n.leftPad("'"+i+"'",20),i+=" -> "+n.printTag(t),i=n.leftPad(i,54),console.log(" "+i+"("+n.cyan(r||"")+")")},untag:function(e,t,r){var i="-"+e.normal+"-";i=n.red(i),i=n.leftPad(i,20),i+=" ~* "+n.red(t),i=n.leftPad(i,54),console.log(" "+i+"("+n.red(r||"")+")")}}},{"../fns":3}],8:[function(e,t,r){"use strict";t.exports={fns:e("./fns"),Terms:e("./terms")}},{"./fns":3,"./terms":165}],9:[function(e,t,r){"use strict";var n=e("../../text");t.exports=n.makeSubset({stripPeriods:function(){return this.list.forEach(function(e){e.terms.forEach(function(e){var t=e._text.split(".");t.length>2&&(e.text=t.join(""))})}),this},addPeriods:function(){return this.list.forEach(function(e){e.terms.forEach(function(e){if(e._text.split(".").length>2){var t=e._text.replace(/\./g,"");e.text=t.split("").join(".")+"."}})}),this},data:function(){return this.terms().list.map(function(e){var t=e.terms[0],r=t.text.toUpperCase().replace(/\./g,"").split("");return{periods:r.join("."),normal:r.join(""),text:t.text}})}},function(e,t){return e=e.match("#Acronym"),"number"==typeof t&&(e=e.get(t)),e})},{"../../text":192}],10:[function(e,t,r){"use strict";var n=e("../../text"),i=e("./methods"),s={data:function(){var e=this;return this.list.map(function(t){var r=t.out("normal"),n={normal:r,text:e.out("text"),comparative:"more "+r,superlative:"most "+r,adverbForm:null,nounForm:null};return!0===function(e,t){return!(!e||e.length<=3)&&("Comparable"===t[e]||"Adjective"!==t[e]&&-1===e.indexOf(" "))}(r,e.world().words)&&(n.comparative=i.toComparative(r)||n.comparative,n.superlative=i.toSuperlative(r)||n.superlative,n.adverbForm=i.toAdverb(r),n.nounForm=i.toNoun(r)),n})}};t.exports=n.makeSubset(s,function(e,t){return e=e.match("#Adjective"),"number"==typeof t&&(e=e.get(t)),e})},{"../../text":192,"./methods":11}],11:[function(e,t,r){"use strict";t.exports={toNoun:e("./toNoun"),toSuperlative:e("./toSuperlative"),toComparative:e("./toComparative"),toAdverb:e("./toAdverb"),toVerb:e("./toVerb")}},{"./toAdverb":12,"./toComparative":13,"./toNoun":14,"./toSuperlative":15,"./toVerb":16}],12:[function(e,t,r){"use strict";var n=[/airs$/,/ll$/,/ee.$/,/ile$/,/y$/],i=e("../../../world/more-data/irregularAdjectives").toAdverb,s=[{reg:/al$/i,repl:"ally"},{reg:/ly$/i,repl:"ly"},{reg:/(.{3})y$/i,repl:"$1ily"},{reg:/que$/i,repl:"quely"},{reg:/ue$/i,repl:"uly"},{reg:/ic$/i,repl:"ically"},{reg:/ble$/i,repl:"bly"},{reg:/l$/i,repl:"ly"}];t.exports=function(e){if(!0===i.hasOwnProperty(e))return i[e];for(var t=0;t0)},o=function(e){return!!(e&&e>1e3&&e<3e3)};t.exports=function(e){var t={month:null,date:null,weekday:null,year:null,named:null,time:null},r=e.match("(#Holiday|today|tomorrow|yesterday)");if(r.found&&(t.named=r.out("normal")),(r=e.match("#Month")).found&&(t.month=s.index(r.list[0].terms[0])),(r=e.match("#WeekDay")).found&&(t.weekday=i.index(r.list[0].terms[0])),(r=e.match("#Time")).found&&(t.time=n(e),e.not("#Time")),(r=e.match("#Month #Value #Year")).found){var u=r.values().numbers();a(u[0])&&(t.date=u[0]);var l=parseInt(e.match("#Year").out("normal"),10);o(l)&&(t.year=l)}if(!r.found){if((r=e.match("#Month #Value")).found){var c=r.values().numbers()[0];a(c)&&(t.date=c)}if((r=e.match("#Month #Year")).found){var h=parseInt(e.match("#Year").out("normal"),10);o(h)&&(t.year=h)}}if((r=e.match("#Value of #Month")).found){var p=r.values().numbers()[0];a(p)&&(t.date=p)}return t}},{"./month":27,"./parseTime":29,"./weekday":31}],29:[function(e,t,r){"use strict";var n=/([12]?[0-9]) ?(am|pm)/i,i=/([12]?[0-9]):([0-9][0-9]) ?(am|pm)?/i,s=function(e){return!!(e&&e>0&&e<25)};t.exports=function(e){var t={logic:null,hour:null,minute:null,second:null,timezone:null},r=e.match("(by|before|for|during|at|until|after) #Time").firstTerm();return r.found&&(t.logic=r.out("normal")),e.match("#Time").terms().list.forEach(function(e){var r,a=e.terms[0],o=a.text.match(n);null!==o&&(t.hour=parseInt(o[1],10),"pm"===o[2]&&(t.hour+=12),!1===s(t.hour)&&(t.hour=null)),null!==(o=a.text.match(i))&&(t.hour=parseInt(o[1],10),t.minute=parseInt(o[2],10),(r=t.minute)&&r>0&&r<60||(t.minute=null),"pm"===o[3]&&(t.hour+=12),!1===s(t.hour)&&(t.hour=null))}),t}},{}],30:[function(e,t,r){"use strict";r.longDays={sunday:0,monday:1,tuesday:2,wednesday:3,thursday:4,friday:5,saturday:6},r.shortDays={sun:0,mon:1,tues:2,wed:3,weds:3,thurs:4,fri:5,sat:6}},{}],31:[function(e,t,r){"use strict";var n=e("./data"),i=n.shortDays,s=n.longDays;t.exports={index:function(e){if(e.tags.WeekDay){if(void 0!==s[e.normal])return s[e.normal];if(void 0!==i[e.normal])return i[e.normal]}return null},toShortForm:function(e){if(e.tags.WeekDay&&void 0!==s[e.normal]){var t=Object.keys(i);e.text=t[s[e.normal]]}return e},toLongForm:function(e){if(e.tags.WeekDay&&void 0!==i[e.normal]){var t=Object.keys(s);e.text=t[i[e.normal]]}return e}}},{"./data":30}],32:[function(e,t,r){"use strict";var n=e("./index"),i=e("./getGrams"),s=function(e,t,r){n.call(this,e,t,r)};s.prototype=Object.create(n.prototype),s.find=function(e,t,r){var n={size:[1,2,3,4],edge:"end"};r&&(n.size=[r]);var a=i(e,n);return(e=new s(a)).sort(),"number"==typeof t&&(e=e.get(t)),e},t.exports=s},{"./getGrams":33,"./index":35}],33:[function(e,t,r){"use strict";var n=e("./gram"),i=function(e){return e.terms.filter(function(e){return""!==e._text})};t.exports=function(e,t){(t=t||{}).size=t.size||[1,2,3],"number"==typeof t.size&&(t.size=[t.size]);var r={};return t.size.forEach(function(s){e.list.forEach(function(e){var a,o,u=[];"start"===t.edge?(a=s,u=(o=i(e)).lengtht.count?-1:e.count===t.count&&(e.size>t.size||e.key.length>t.key.length)?-1:1}),e},a={data:function(){return this.list.map(function(e){return{normal:e.out("normal"),count:e.count,size:e.size}})},unigrams:function(){return this.list=this.list.filter(function(e){return 1===e.size}),this},bigrams:function(){return this.list=this.list.filter(function(e){return 2===e.size}),this},trigrams:function(){return this.list=this.list.filter(function(e){return 3===e.size}),this},sort:function(){return s(this)}};t.exports=n.makeSubset(a,function(e,t){var r=[];"number"==typeof t&&(t={n:t});for(var a=(t=t||{}).max||4,o=1;o<=a;o++)r.push(o);t.size&&(r=[t.size]);var u=i(e,{size:r});return e=new n(u),e=s(e),void 0!==t.n&&(e=e.get(t.n)),e})},{"../../text":192,"./getGrams":33}],36:[function(e,t,r){"use strict";var n=e("./index"),i=e("./getGrams"),s=function(e,t,r){n.call(this,e,t,r)};s.prototype=Object.create(n.prototype),s.find=function(e,t,r){var n={size:[1,2,3,4],edge:"start"};r&&(n.size=[r]);var a=i(e,n);return(e=new s(a)).sort(),"number"==typeof t&&(e=e.get(t)),e},t.exports=s},{"./getGrams":33,"./index":35}],37:[function(e,t,r){"use strict";t.exports=function(e){if(!e.tags.Noun)return!1;if(e.tags.Plural)return!0;for(var t=["Pronoun","Place","Value","Person","Month","WeekDay","RelativeDay","Holiday"],r=0;r3}},{"./hasPlural":37,"./methods/data/indicators":41}],40:[function(e,t,r){"use strict";var n={hour:"an",heir:"an",heirloom:"an",honest:"an",honour:"an",honor:"an",uber:"an"},i={a:!0,e:!0,f:!0,h:!0,i:!0,l:!0,m:!0,n:!0,o:!0,r:!0,s:!0,x:!0},s=[/^onc?e/i,/^u[bcfhjkqrstn][aeiou]/i,/^eul/i];t.exports=function(e){var t=e.normal;if(e.tags.Person)return"";if(e.tags.Plural)return"the";if(n.hasOwnProperty(t))return n[t];var r=t.substr(0,1);if(e.isAcronym()&&i.hasOwnProperty(r))return"an";for(var a=0;a1){var s=this.not("(#Acronym|#Honorific)");this.firstName=s.first(),this.lastName=s.last()}return this};s.prototype=Object.create(n.prototype);var a={data:function(){return{text:this.out("text"),normal:this.out("normal"),firstName:this.firstName.out("normal"),middleName:this.middleName.out("normal"),nickName:this.nickName.out("normal"),lastName:this.lastName.out("normal"),genderGuess:this.guessGender(),pronoun:this.pronoun(),honorifics:this.honorifics.out("array")}},guessGender:function(){if(this.honorifics.match("(mr|mister|sr|sir|jr)").found)return"Male";if(this.honorifics.match("(mrs|miss|ms|misses|mme|mlle)").found)return"Female";if(this.firstName.match("#MaleName").found)return"Male";if(this.firstName.match("#FemaleName").found)return"Female";var e=this.firstName.out("normal");return i(e)},pronoun:function(){var e=this.firstName.out("normal"),t=this.guessGender(e);return"Male"===t?"he":"Female"===t?"she":"they"},root:function(){var e=this.firstName.out("root"),t=this.lastName.out("root");return e&&t?e+" "+t:t||e||this.out("root")}};Object.keys(a).forEach(function(e){s.prototype[e]=a[e]}),t.exports=s},{"../../paths":8,"./guessGender":48}],51:[function(e,t,r){"use strict";var n=e("../../text");t.exports=n.makeSubset({strip:function(){return this.list.forEach(function(e){var t=e.terms[e.terms.length-1];t.text=t.text.replace(/'s$/,""),t.unTag("Possessive",".strip()")}),this}},function(e,t){return e=(e=e.match("#Possessive+")).splitAfter("#Comma"),"number"==typeof t&&(e=e.get(t)),e})},{"../../text":192}],52:[function(e,t,r){"use strict";var n=e("../../text"),i=e("./sentence"),s={toPastTense:function(){return this.list=this.list.map(function(e){return e=e.toPastTense(),new i(e.terms,e.world,e.refText,e.refTerms)}),this},toPresentTense:function(){return this.list=this.list.map(function(e){return e=e.toPresentTense(),new i(e.terms,e.world,e.refText,e.refTerms)}),this},toFutureTense:function(){return this.list=this.list.map(function(e){return e=e.toFutureTense(),new i(e.terms,e.world,e.refText,e.refTerms)}),this},toContinuous:function(){return this.list=this.list.map(function(e){return e=e.toContinuous(),new i(e.terms,e.world,e.refText,e.refTerms)}),this},toNegative:function(){return this.list=this.list.map(function(e){return e=e.toNegative(),new i(e.terms,e.world,e.refText,e.refTerms)}),this},toPositive:function(){return this.list=this.list.map(function(e){return e=e.toPositive(),new i(e.terms,e.world,e.refText,e.refTerms)}),this},isPassive:function(){return this.list=this.list.filter(function(e){return e.isPassive()}),this},isQuestion:function(){return this.questions()},prepend:function(e){return this.list=this.list.map(function(t){return t.prepend(e)}),this},append:function(e){return this.list=this.list.map(function(t){return t.append(e)}),this},toExclamation:function(){return this.list.forEach(function(e){e.setPunctuation("!")}),this},toQuestion:function(){return this.list.forEach(function(e){e.setPunctuation("?")}),this},toStatement:function(){return this.list.forEach(function(e){e.setPunctuation(".")}),this}};t.exports=n.makeSubset(s,function(e,t){return e=e.all(),"number"==typeof t&&(e=e.get(t)),e.list=e.list.map(function(e){return new i(e.terms,e.world,e.refText,e.refTerms)}),e})},{"../../text":192,"./sentence":54}],53:[function(e,t,r){"use strict";t.exports=function(e){var t=e.getPunctuation(),r=e.match("*").splitAfter("#Comma");return!(!0!==/\?/.test(t)&&(/\.\.$/.test(e.out("text"))||e.has("^#QuestionWord")&&e.has("#Comma")||!e.has("^#QuestionWord")&&!e.has("^(do|does|did|is|was|can|could|will|would|may) #Noun")&&!e.has("^(have|must) you")&&!r.has("^#QuestionWord")&&!r.has("(do|does|is|was) #Noun+ #Adverb? (#Adjective|#Infinitive)$")))}},{}],54:[function(e,t,r){"use strict";var n=e("../../paths").Terms,i=e("./toNegative"),s=e("./toPositive"),a=e("../verbs/verb"),o=e("./smartInsert"),u=function(e){var t=e.match("#Condition"),r=e.not("#Condition"),n=r.match("#VerbPhrase+").first(),i=n.out("normal"),s=r.match("#Determiner? #Adjective+? #Noun "+i).first().not("#VerbPhrase"),o=r.match(i+" #Preposition? #Determiner? #Noun").first().not("#VerbPhrase");return e.conditions=t,e.subject=s,e.verb=n,e.object=o,e.verb.found&&(e.verb=new a(e.verb.list[0].terms,e.world,e.refText,e.refTerms)),e},l=function(e){e.found&&e.contractions().expand()},c={toSingular:function(){return this.match("#Noun").match("!#Pronoun").firstTerm().things().toSingular(),this},toPlural:function(){return this.match("#Noun").match("!#Pronoun").firstTerm().things().toPlural(),this},mainVerb:function(){return u(this),this.verb.found?this.verb:null},toPastTense:function(){var e=this.mainVerb();if(e){var t=e.out("root");e.toPastTense();var r=this.match("#Contraction "+t);l(r);var n=e.out("root");return this.parentTerms.replace(t,n)}return this},toPresentTense:function(){var e,t=this.mainVerb();if(t){var r=t.out("normal");if(!0==!(!(e=this).subject.found||!e.subject.has("(i|we)")))this.has("(am|will|did) "+r)&&function(e){e.terms=e.terms.filter(function(e){if(e.silent_term){if("am"===e.silent_term||"will"===e.silent_term||"did"===e.silent_term)return!1;e.text=e.silent_term,e.silent_term=null,e.unTag("Contraction"),!0===e.tags.TitleCase&&e.toTitleCase()}return!0})}(this),t.toInfinitive();else{t.toPresentTense();var n=this.match("#Contraction "+r);l(n)}var i=t.out("normal");return this.parentTerms.replace(r,i)}return this},toFutureTense:function(){var e=this.mainVerb();if(e){var t=e.clone();e.toFutureTense();var r=this.match("#Contraction "+t.out("normal"));l(r);var n=e.out("normal");return this.parentTerms.replace(t,n)}return this},toContinuous:function(){var e=this.mainVerb();if(e){var t=e.clone();e.toGerund();var r=this.match("#Contraction "+t.out("normal"));l(r);var n=e.out("normal");return this.parentTerms.replace(t,n)}return this},isNegative:function(){return 1===this.match("#Negative").list.length},toNegative:function(){return this.isNegative()?this:i(this)},toPositive:function(){return this.isNegative()?s(this):this},append:function(e){return o.append(this,e)},prepend:function(e){return o.prepend(this,e)},isPassive:function(){return this.match("was #Adverb? #PastTense #Adverb? by").found}},h=function(e,t,r,i){n.call(this,e,t,r,i),u(this)};h.prototype=Object.create(n.prototype),Object.keys(c).forEach(function(e){h.prototype[e]=c[e]}),t.exports=h},{"../../paths":8,"../verbs/verb":94,"./smartInsert":55,"./toNegative":56,"./toPositive":57}],55:[function(e,t,r){"use strict";var n=/^[A-Z]/;t.exports={append:function(e,t){var r=e.terms[e.terms.length-1],n=e.getPunctuation();n&&r.killPunctuation(),e.insertAt(e.terms.length,t);var i=e.terms[e.terms.length-1];return n&&(i.text+=n),r.whitespace.after&&(i.whitespace.after=r.whitespace.after,r.whitespace.after=""),e},prepend:function(e,t){var r=e.terms[0];e.insertAt(0,t),n.test(r.text)&&(!1===r.needsTitleCase()&&r.toLowerCase(),e.terms[0].toTitleCase());return e}}},{}],56:[function(e,t,r){"use strict";var n={everyone:"no one",everybody:"nobody",someone:"no one",somebody:"nobody",always:"never"};t.exports=function(e){var t=e.match("(everyone|everybody|someone|somebody|always)").first();if(t.found&&n[t.out("normal")]){var r=t.out("normal");return(e=e.match(r).replaceWith(n[r]).list[0]).parentTerms}var i=e.mainVerb();return i&&i.toNegative(),e}},{}],57:[function(e,t,r){"use strict";var n={never:"always",nothing:"everything"};t.exports=function(e){var t=e.match("(never|nothing)").first();if(t.found){var r=t.out("normal");if(n[r])return(e=e.match(r).replaceWith(n[r],!0).list[0]).parentTerms}return e.delete("#Negative"),e}},{}],58:[function(e,t,r){"use strict";var n=e("../../text"),i=e("../../paths").Terms,s={data:function(){return this.list.map(function(e){var t=e.terms[0];return{spaceBefore:t.whitespace.before,text:t.text,spaceAfter:t.whitespace.after,normal:t.normal,implicit:t.silent_term,bestTag:t.bestTag(),tags:Object.keys(t.tags)}})}};t.exports=n.makeSubset(s,function(e,t){var r=[];return e.list.forEach(function(t){t.terms.forEach(function(n){r.push(new i([n],t.world,e))})}),e=new n(r,e.world,e.parent),"number"==typeof t&&(e=e.get(t)),e})},{"../../paths":8,"../../text":192}],59:[function(e,t,r){"use strict";var n=e("./numOrdinal"),i=e("./textOrdinal"),s=e("./textCardinal"),a=e("./niceNumber"),o={nice:function(e){return a(e)},ordinal:function(e){return n(e)},cardinal:function(e){return String(e)},niceOrdinal:function(e){return e=n(e),e=a(e)},text:function(e){return s(e).join(" ")},textOrdinal:function(e){return i(e)}};t.exports=o},{"./niceNumber":60,"./numOrdinal":61,"./textCardinal":62,"./textOrdinal":63}],60:[function(e,t,r){"use strict";t.exports=function(e){if(!e&&0!==e)return null;for(var t=(e=String(e)).split("."),r=t[0],n=t.length>1?"."+t[1]:"",i=/(\d+)(\d{3})/;i.test(r);)r=r.replace(i,"$1,$2");return r+n}},{}],61:[function(e,t,r){"use strict";var n=e("./toString");t.exports=function(e){if(!e&&0!==e)return null;var t=e%100;if(t>10&&t<20)return String(e)+"th";var r={0:"th",1:"st",2:"nd",3:"rd"},i=n(e),s=i.slice(i.length-1,i.length);return i+=r[s]?r[s]:"th"}},{"./toString":64}],62:[function(e,t,r){"use strict";var n=e("./toString"),i=[["ninety",90],["eighty",80],["seventy",70],["sixty",60],["fifty",50],["forty",40],["thirty",30],["twenty",20]],s=["","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"],a=[[1e24,"septillion"],[1e21,"sextillion"],[1e18,"quintillion"],[1e15,"quadrillion"],[1e12,"trillion"],[1e9,"billion"],[1e8,"hundred million"],[1e6,"million"],[1e5,"hundred thousand"],[1e3,"thousand"],[100,"hundred"],[1,"one"]],o=function(e){var t=[];if(e>100)return t;for(var r=0;r=i[r][1]&&(e-=i[r][1],t.push(i[r][0]));return s[e]&&t.push(s[e]),t};t.exports=function(e){if(e>1e21)return[String(e)];var t=[];e<0&&(t.push("negative"),e=Math.abs(e));for(var r=function(e){var t=e,r=[];return a.forEach(function(n){if(e>=n[0]){var i=Math.floor(t/n[0]);t-=i*n[0],i&&r.push({unit:n[1],count:i})}}),r}(e),i=0;i1&&t.push("and")),(t=t.concat(o(r[i].count))).push(s)}return 0===(t=(t=t.concat(function(e){var t=["zero","one","two","three","four","five","six","seven","eight","nine"],r=[],i=n(e).match(/\.([0-9]+)/);if(!i||!i[0])return r;r.push("point");for(var s=i[0].split(""),a=0;ae}),this},lessThan:function(e){return e=s(e),this.list=this.list.filter(function(t){return null!==e&&t.number()e&&ns[a].length)return n[s[a]];return null}},{"./suffix_rules":88}],88:[function(e,t,r){"use strict";for(var n={Gerund:["ing"],Actor:["erer"],Infinitive:["ate","ize","tion","rify","then","ress","ify","age","nce","ect","ise","ine","ish","ace","ash","ure","tch","end","ack","and","ute","ade","ock","ite","ase","ose","use","ive","int","nge","lay","est","ain","ant","ent","eed","er","le","own","unk","ung","en"],PastTense:["ed","lt","nt","pt","ew","ld"],PresentTense:["rks","cks","nks","ngs","mps","tes","zes","ers","les","acks","ends","ands","ocks","lays","eads","lls","els","ils","ows","nds","ays","ams","ars","ops","ffs","als","urs","lds","ews","ips","es","ts","ns","s"]},i={},s=Object.keys(n),a=s.length,o=0;o1&&!0===i.test(e.text)&&e.canBe("RomanNumeral")}(r)&&r.tag("RomanNumeral","is-roman-numeral"),!0===/[0-9]\+$/.test(r.text)&&r.tag("NumericValue","number-plus")}),e}},{}],100:[function(e,t,r){"use strict";var n=e("./rules/emoji_regex"),i=e("./rules/emoticon_list"),s=function(e){return":"===e.text.charAt(0)&&(null!==e.text.match(/:.?$/)&&(!e.text.match(" ")&&!(e.text.length>35)))},a=function(e){var t=e.text.replace(/^[:;]/,":");return!0===i.hasOwnProperty(t)};t.exports=function(e){for(var t=0;t0;o-=1){var u=i+" "+s.slice(0,o).join(" ");if(!0===n.hasOwnProperty(u))return e.slice(t,t+o+1).tag(n[u],"multi-lexicon-"+u),o}return 0};t.exports=function(e){e.world.cache=e.world.cache||{};for(var t=e.world.cache.firstWords||{},r=0;r1;n-=1){var s=e.normal.substr(t-n,t);if(void 0!==i[n][s])return i[n][s]}return null},o=function(e){var t=e.normal.charAt(e.normal.length-1);if(void 0===n[t])return null;for(var r=n[t],i=0;i1e3&&r<3e3&&e.terms[0].tag("Year",t)})},u=function(e,t){!0===e.found&&e.list.forEach(function(e){var r=parseInt(e.terms[0].normal,10);r&&r>1900&&r<2030&&e.terms[0].tag("Year",t)})};t.exports=function(e){var t="(january|april|may|june|summer|autumn|jan|sep)";e.has(t)&&(e.match("#Infinitive #Determiner? #Adjective? #Noun? (to|for) ".concat(t)).lastTerm().tag("Person","ambig-person"),e.match("#Infinitive ".concat(t)).lastTerm().tag("Person","infinitive-person"),e.match("".concat(t," #PresentTense (to|for)")).firstTerm().tag("Person","ambig-active"),e.match("".concat(t," #Modal")).firstTerm().tag("Person","ambig-modal"),e.match("#Modal ".concat(t)).lastTerm().tag("Person","modal-ambig"),e.match("(that|with|for) ".concat(t)).term(1).tag("Person","that-month"),e.match("#Copula ".concat(t)).term(1).tag("Person","is-may"),e.match("".concat(t," #Copula")).term(0).tag("Person","may-is"),e.match("".concat(t," the? #Value")).term(0).tag("Month","person-value"),e.match("#Date ".concat(t)).term(1).tag("Month","correction-may"),e.match("".concat(t," the? #Value")).firstTerm().tag("Month","may-5th"),e.match("#Value of ".concat(t)).lastTerm().tag("Month","5th-of-may"),e.match("".concat(n," ").concat(t)).ifNo("#Holiday").term(1).tag("Month","preps-month"),e.match("(next|this|last) ".concat(t)).term(1).tag("Month","correction-may"));var r="(may|march)";if(e.has(r)&&(e.match("#Adverb ".concat(r)).lastTerm().tag("Infinitive","ambig-verb"),e.match("".concat(r," #Adverb")).lastTerm().tag("Infinitive","ambig-verb"),e.match("".concat(n," ").concat(r)).lastTerm().tag("Month","in-month"),e.match("(next|this|last) ".concat(r)).lastTerm().tag("Month","this-month"),e.match("".concat(r," the? #Value")).firstTerm().tag("Month","march-5th"),e.match("#Value of? ".concat(r)).lastTerm().tag("Month","5th-of-march"),e.match("[".concat(r,"] .? #Date")).lastTerm().tag("Month","march-and-feb"),e.match("#Date .? [".concat(r,"]")).lastTerm().tag("Month","feb-and-march"),e.has("march")&&(e.match("march (up|down|back|to|toward)").term(0).tag("Infinitive","march-to"),e.match("#Modal march").term(1).tag("Infinitive","must-march"))),e.has("sun")&&(e.match("sun #Date").firstTerm().tag("WeekDay","sun-feb"),e.match("sun the #Ordinal").tag("Date").firstTerm().tag("WeekDay","sun-the-5th"),e.match("#Determiner sun").lastTerm().tag("Singular","the-sun")),e.has("sat")&&(e.match("sat #Date").firstTerm().tag("WeekDay","sat-feb"),e.match("".concat(n," sat")).lastTerm().tag("WeekDay","sat")),e.has("#Month")&&(e.match("#Month #DateRange+").tag("Date","correction-numberRange"),e.match("#Value of #Month").tag("Date","value-of-month"),e.match("#Cardinal #Month").tag("Date","cardinal-month"),e.match("#Month #Value to #Value").tag("Date","value-to-value"),e.match("#Month the #Value").tag("Date","month-the-value")),e.match("in the (night|evening|morning|afternoon|day|daytime)").tag("Time","in-the-night"),e.match("(#Value|#Time) (am|pm)").tag("Time","value-ampm"),e.has("#Value")){e.match("for #Value #Duration").tag("Date","for-x-duration"),e.match("#Value #Abbreviation").tag("Value","value-abbr"),e.match("a #Value").if("(hundred|thousand|million|billion|trillion|quadrillion|quintillion|sextillion|septillion)").tag("Value","a-value"),e.match("(minus|negative) #Value").tag("Value","minus-value"),e.match("#Value grand").tag("Value","value-grand"),e.match("(half|quarter) #Ordinal").tag("Value","half-ordinal"),e.match("(hundred|thousand|million|billion|trillion|quadrillion|quintillion|sextillion|septillion) and #Value").tag("Value","magnitude-and-value"),e.match("#Value (point|decimal) #Value").tag("Value","value-point-value"),e.match("".concat(n,"? #Value #Duration")).tag("Date","value-duration"),e.match("(#WeekDay|#Month) #Value").ifNo("#Money").tag("Date","date-value"),e.match("#Value (#WeekDay|#Month)").ifNo("#Money").tag("Date","value-date");var l=e.match("#TextValue #TextValue");l.found&&l.has("#Date")&&l.tag("#Date","textvalue-date"),e.match("#Value #Duration #Conjunction").tag("Date","val-duration-conjunction"),e.match("#Value #Duration old").unTag("Date","val-years-old")}if(e.has(a)&&(e.match("".concat(n,"? ").concat(i," ").concat(a)).tag("Date","thisNext-season"),e.match("the? ".concat(s," of ").concat(a)).tag("Date","section-season")),e.has("#Date")&&(e.match("#Date the? #Ordinal").tag("Date","correction-date"),e.match("".concat(i," #Date")).tag("Date","thisNext-date"),e.match("due? (by|before|after|until) #Date").tag("Date","by-date"),e.match("#Date (by|before|after|at|@|about) #Cardinal").not("^#Date").tag("Time","date-before-Cardinal"),e.match("#Date (am|pm)").term(1).unTag("Verb").unTag("Copula").tag("Time","date-am"),e.match("(last|next|this|previous|current|upcoming|coming|the) #Date").tag("Date","next-feb"),e.match("#Date (#Preposition|to) #Date").tag("Date","date-prep-date"),e.match("the? ".concat(s," of #Date")).tag("Date","section-of-date"),e.match("#Ordinal #Duration in #Date").tag("Date","duration-in-date"),e.match("(early|late) (at|in)? the? #Date").tag("Time","early-evening")),e.has("#Cardinal")){var c=e.match("#Date #Value #Cardinal").lastTerm();o(c,"date-value-year"),c=e.match("#Date+ #Cardinal").lastTerm(),o(c,"date-year"),c=e.match("#Month #Value #Cardinal").lastTerm(),o(c,"month-value-year"),c=e.match("#Month #Value to #Value #Cardinal").lastTerm(),o(c,"month-range-year"),c=e.match("(in|of|by|during|before|starting|ending|for|year) #Cardinal").lastTerm(),o(c,"in-year"),c=e.match("(q1|q2|q3|q4) [#Cardinal]"),o(c,"in-year"),c=e.match("#Ordinal quarter [#Cardinal]"),o(c,"in-year"),c=e.match("the year [#Cardinal]"),o(c,"in-year"),c=e.match("it (is|was) [#Cardinal]"),u(c,"in-year"),c=e.match("#Cardinal !#Plural").firstTerm(),u(c,"year-unsafe")}if(e.has("#Date")){e.has("#Time")&&(e.match("#Cardinal #Time").not("#Year").tag("Time","value-time"),e.match("(by|before|after|at|@|about) #Time").tag("Time","preposition-time"),e.match("#Time (eastern|pacific|central|mountain)").term(1).tag("Time","timezone"),e.match("#Time (est|pst|gmt)").term(1).tag("Time","timezone abbr"));var h=e.match("#Date+").splitOn("Clause");!1===h.has("(#Year|#Time)")&&h.match("#Value (#Month|#Weekday) #Value").lastTerm().unTag("Date")}return e}},{}],110:[function(e,t,r){"use strict";var n={do:!0,"don't":!0,does:!0,"doesn't":!0,will:!0,wont:!0,"won't":!0,have:!0,"haven't":!0,had:!0,"hadn't":!0,not:!0};t.exports=function(e){for(var t=0;t0&&o.tags.Conjunction)a=!0;else{if(o.tags[n]){if(o.tags.Comma){s+=1,i=0;continue}if(s>0&&a)return e.slice(r,t).tag("List"),!0}if((i+=1)>5)return!1;if("Value"===n)return!0}}return!1};t.exports=function(e){for(var t=0;t28);o++){for(var u=-1,l=0;l0&&(s(r)||s(e.terms[t-1]))&&e.terms[t-1].tags.Value){var a=new i("",e.world);return a.silent_term="to",e.insertAt(t,a),e.terms[t-1].tag("NumberRange","number-number1"),e.terms[t].tag("NumberRange","number-number2"),e.terms[t].whitespace.before="",e.terms[t].whitespace.after="",e.terms[t+1].tag("NumberRange","number-number3"),e}if(r.tags.NumberRange){var o=r.text.split(/(-|–|—)/);o[1]="to",(e=n(e,o,t)).terms[t].tag(["NumberRange","NumericValue"],"numRange-1"),e.terms[t+1].tag(["NumberRange","Preposition"],"numRange-silent"),e.terms[t+2].tag(["NumberRange","NumericValue"],"numRange-3"),t+=2}}}return e}},{"../../../term":143,"./fix":128}],128:[function(e,t,r){"use strict";var n=e("../../../term"),i={not:"Negative",will:"Verb",would:"Modal",have:"Verb",are:"Copula",is:"Copula",am:"Verb"},s=function(e){i[e.silent_term]&&e.tag(i[e.silent_term])};t.exports=function(e,t,r){var i=e.terms[r];if(i.silent_term=t[0],i.tag("Contraction","tagger-contraction"),t[1]){var a=new n("",e.world);a.silent_term=t[1],a.tag("Contraction","tagger-contraction"),e.insertAt(r+1,a),a.whitespace.before="",a.whitespace.after="",s(a)}if(t[2]){var o=new n("",e.world);o.silent_term=t[2],e.insertAt(r+2,o),o.tag("Contraction","tagger-contraction"),s(o)}return e}},{"../../../term":143}],129:[function(e,t,r){"use strict";var n=/^([a-z]+)'([a-z][a-z]?)$/i,i=/[a-z]s'$/i,s={re:1,ve:1,ll:1,t:1,s:1,d:1,m:1};t.exports=function(e){if("can't"===e.normal)return{start:"can",end:"n't"};var t=e.normal.match(n);return t&&t[1]&&1===s[t[2]]?("t"===t[2]&&t[1].match(/[a-z]n$/)&&(t[1]=t[1].replace(/n$/,""),t[2]="n't"),!0===e.tags.TitleCase&&(t[1]=t[1].replace(/^[a-z]/,function(e){return e.toUpperCase()})),{start:t[1],end:t[2]}):!0===i.test(e.text)?{start:e.normal.replace(/s'?$/,""),end:""}:null}},{}],130:[function(e,t,r){"use strict";t.exports=/(?:0\u20E3\n1\u20E3|2\u20E3|3\u20E3|4\u20E3|5\u20E3|6\u20E3|7\u20E3|8\u20E3|9\u20E3|#\u20E3|\*\u20E3|\uD83C(?:\uDDE6\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF2|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFD|\uDDFF)|\uDDE7\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFC|\uDDFE|\uDDFF)|\uDDE8\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDE9\uD83C(?:\uDDEA|\uDDEC|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDFF)|\uDDEA\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDED|\uDDF7|\uDDF8|\uDDF9|\uDDFA)|\uDDEB\uD83C(?:\uDDEE|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDF7)|\uDDEC\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF1|\uDDF2|\uDDF3|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFE)|\uDDED\uD83C(?:\uDDF0|\uDDF2|\uDDF3|\uDDF7|\uDDF9|\uDDFA)|\uDDEE\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9)|\uDDEF\uD83C(?:\uDDEA|\uDDF2|\uDDF4|\uDDF5)|\uDDF0\uD83C(?:\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDF2|\uDDF3|\uDDF5|\uDDF7|\uDDFC|\uDDFE|\uDDFF)|\uDDF1\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDEE|\uDDF0|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFE)|\uDDF2\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDF3\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFF)|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C(?:\uDDE6|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF7|\uDDF8|\uDDF9|\uDDFC|\uDDFE)|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C(?:\uDDEA|\uDDF4|\uDDF8|\uDDFA|\uDDFC)|\uDDF8\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDE9|\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFD|\uDDFE|\uDDFF)|\uDDF9\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF9|\uDDFB|\uDDFC|\uDDFF)|\uDDFA\uD83C(?:\uDDE6|\uDDEC|\uDDF2|\uDDF8|\uDDFE|\uDDFF)|\uDDFB\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDEE|\uDDF3|\uDDFA)|\uDDFC\uD83C(?:\uDDEB|\uDDF8)|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C(?:\uDDEA|\uDDF9)|\uDDFF\uD83C(?:\uDDE6|\uDDF2|\uDDFC)))|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]/g},{}],131:[function(e,t,r){"use strict";t.exports={":(":!0,":)":!0,":P":!0,":p":!0,":O":!0,":3":!0,":|":!0,":/":!0,":\\":!0,":$":!0,":*":!0,":@":!0,":-(":!0,":-)":!0,":-P":!0,":-p":!0,":-O":!0,":-3":!0,":-|":!0,":-/":!0,":-\\":!0,":-$":!0,":-*":!0,":-@":!0,":^(":!0,":^)":!0,":^P":!0,":^p":!0,":^O":!0,":^3":!0,":^|":!0,":^/":!0,":^\\":!0,":^$":!0,":^*":!0,":^@":!0,"):":!0,"(:":!0,"$:":!0,"*:":!0,")-:":!0,"(-:":!0,"$-:":!0,"*-:":!0,")^:":!0,"(^:":!0,"$^:":!0,"*^:":!0,"<3":!0,"3":!0,"<\\3":!0}},{}],132:[function(e,t,r){"use strict";t.exports={beforeThisWord:{there:"Verb",me:"Verb",man:"Adjective",only:"Verb",him:"Verb",were:"Noun",took:"Noun",himself:"Verb",went:"Noun",who:"Noun",jr:"Person"},afterThisWord:{i:"Verb",first:"Noun",it:"Verb",there:"Verb",not:"Verb",because:"Noun",if:"Noun",but:"Noun",who:"Verb",this:"Noun",his:"Noun",when:"Noun",you:"Verb",very:"Adjective",old:"Noun",never:"Verb",before:"Noun"},beforeThisPos:{Copula:"Noun",PastTense:"Noun",Conjunction:"Noun",Modal:"Noun",PluperfectTense:"Noun",PerfectTense:"Verb"},afterThisPos:{Adjective:"Noun",Possessive:"Noun",Determiner:"Noun",Adverb:"Verb",Pronoun:"Verb",Value:"Noun",Ordinal:"Noun",Modal:"Verb",Superlative:"Noun",Demonym:"Noun",Honorific:"Person"}}},{}],133:[function(e,t,r){"use strict";var n="Adjective",i="Infinitive",s="Singular",a="PastTense",o="Expression",u="LastName";t.exports={a:[[/.[aeiou]na$/,"Noun"],[/.[oau][wvl]ska$/,u],[/.[^aeiou]ica$/,s],[/^([hyj]a)+$/,o]],c:[[/.[^aeiou]ic$/,n]],d:[[/.[ia]sed$/,n],[/.[gt]led$/,n],[/.[aeiou][td]ed$/,a],[/.[^aeiou]led$/,a],[/[^aeiou]ard$/,s],[/[aeiou][^aeiou]id$/,n],[/[aeiou]c?ked$/,a],[/[^aeiou][aeiou][tvx]ed$/,a],[/[aeiou]red$/,a],[/.[vrl]id$/,n]],e:[[/.[lnr]ize$/,i],[/.[^aeiou]ise$/,i],[/.[aeiou]te$/,i],[/.[^aeiou][ai]ble$/,n],[/.[^aeiou]eable$/,n],[/.[^aeiou]ive$/,n]],h:[[/.[^aeiouf]ish$/,n],[/.v[iy]ch$/,u],[/^ug?h+$/,o],[/^uh[ -]?oh$/,o]],i:[[/.[oau][wvl]ski$/,u]],k:[[/^(k)+$/,o]],l:[[/.[gl]ial$/,n],[/.[^aeiou]ful$/,n],[/.[nrtumcd]al$/,n],[/.[^aeiou][ei]al$/,n]],m:[[/.[^aeiou]ium$/,s],[/[^aeiou]ism$/,s],[/^h*u*m+$/,o],[/^\d+ ?[ap]m$/,"Date"]],n:[[/.[lsrnpb]ian$/,n],[/[^aeiou]ician$/,"Actor"],[/okin$/,"Gerund"]],o:[[/^no+$/,o],[/^(yo)+$/,o],[/^woo+[pt]?$/,o]],r:[[/.[ilk]er$/,"Comparative"],[/[aeiou][pns]er$/,s],[/[^i]fer$/,i],[/.[^aeiou][ao]pher$/,"Actor"]],t:[[/.[di]est$/,"Superlative"],[/.[icldtgrv]ent$/,n],[/[aeiou].*ist$/,n],[/^[a-z]et$/,"Verb"]],s:[[/.[rln]ates$/,"PresentTense"],[/.[^z]ens$/,"Verb"],[/.[lstrn]us$/,s],[/[aeiou][^aeiou]is$/,s],[/[a-z]\'s$/,"Noun"],[/^yes+$/,o]],v:[[/.[^aeiou][ai][kln]ov$/,u]],y:[[/.[cts]hy$/,n],[/.[st]ty$/,n],[/.[gk]y$/,n],[/.[tnl]ary$/,n],[/.[oe]ry$/,s],[/[rdntkbhs]ly$/,"Adverb"],[/...lly$/,"Adverb"],[/[bszmp]{2}y$/,n],[/.(gg|bb|zz)ly$/,n],[/.[aeiou]my$/,n],[/[ea]{2}zy$/,n],[/.[^aeiou]ity$/,s]]}},{}],134:[function(e,t,r){"use strict";var n="Adjective",i="Infinitive",s="PresentTense",a="Singular",o="PastTense",u="Adverb",l="Plural",c="Verb",h="LastName";t.exports=[null,null,{ea:a,ia:"Noun",ic:n,ly:u,"'n":c,"'t":c},{que:n,lar:n,ike:n,ffy:n,nny:n,rmy:n,azy:n,oid:n,mum:n,ous:n,end:c,sis:a,rol:a,ize:i,ify:i,zes:s,nes:s,ing:"Gerund"," so":u,"'ll":"Modal","'re":"Copula"},{teen:"Value",tors:"Noun",amed:o,ched:o,ends:c,oses:s,fies:s,ects:s,nded:o,cede:i,tage:i,gate:i,vice:a,tion:a,cted:o,ette:a,some:n,llen:n,ried:n,gone:n,made:n,fore:u,less:u,ices:l,ions:l,ints:l,aped:o,lked:o,ould:"Modal",tive:"Actor",sson:h,czyk:h,chuk:h,enko:h,akis:h,nsen:h},{fully:u,where:u,wards:u,urned:o,tized:o,eased:o,ances:l,tures:l,ports:l,ettes:l,ities:l,rough:n,bound:n,tieth:"Ordinal",ishes:s,tches:s,nssen:h,marek:h},{keeper:"Actor",logist:"Actor",auskas:h,teenth:"Value"},{sdottir:h,opoulos:h}]},{}],135:[function(e,t,r){"use strict";t.exports=function(e){var t=Object.keys(e);t.forEach(function(r){e[r].downward=[];for(var n=0;n3&&!0===a.test(e.normal)&&!1===s.test(e.normal)&&!1===e.isAcronym()||!0===o.test(e.normal)&&!1===e.tags.hasOwnProperty("Value")&&!0===/[a-z][0-9][a-z]/.test(e.normal)))}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e}},{"./bestTag":145,"./normalize/isAcronym":148}],148:[function(e,t,r){"use strict";var n=/([A-Z]\.)+[A-Z]?,?$/,i=/^[A-Z]\.,?$/,s=/[A-Z]{2}('s|,)?$/;t.exports=function(e){return!0===n.test(e)||!0===i.test(e)||!0===s.test(e)}},{}],149:[function(e,t,r){"use strict";var n=e("./unicode"),i=e("./isAcronym");r.normalize=function(e){var t=e=(e=(e=e||"").toLowerCase()).trim();return e=(e=(e=(e=(e=(e=(e=n(e)).replace(/^[#@]/,"")).replace(/[,;.!?]+$/,"")).replace(/[\u0027\u0060\u00B4\u2018\u2019\u201A\u201B\u2032\u2035\u2039\u203A]+/g,"'")).replace(/[\u0022\u00AB\u00BB\u201C\u201D\u201E\u201F\u2033\u2034\u2036\u2037\u2E42\u301D\u301E\u301F\uFF02]+/g,'"')).replace(/\u2026/g,"...")).replace(/\u2013/g,"-"),!0===/[a-z][^aeiou]in['’]$/.test(e)&&(e=e.replace(/in['’]$/,"ing")),!0===/^(re|un)-?[^aeiou]./.test(e)&&(e=e.replace("-","")),!1===/^[:;]/.test(e)&&(e=(e=(e=e.replace(/\.{3,}$/g,"")).replace(/['",\.!:;\?\)]+$/g,"")).replace(/^['"\(]+/g,"")),""===(e=e.trim())&&(e=t),e},r.addNormal=function(e){var t=e._text||"";t=r.normalize(t),i(e._text)&&(t=t.replace(/\./g,"")),t=t.replace(/([0-9]),([0-9])/g,"$1$2"),e.normal=t}},{"./isAcronym":148,"./unicode":151}],150:[function(e,t,r){"use strict";t.exports=function(e){var t=e.normal||e.silent_term||"";t=(t=t.replace(/'s\b/,"")).replace(/'$/,""),e.root=t}},{}],151:[function(e,t,r){"use strict";var n={"!":"¡","?":"¿Ɂ",'"':'“”"❝❞',"'":"‘‛❛❜","-":"—–",a:"ªÀÁÂÃÄÅàáâãäåĀāĂ㥹ǍǎǞǟǠǡǺǻȀȁȂȃȦȧȺΆΑΔΛάαλАДадѦѧӐӑӒӓƛɅæ",b:"ßþƀƁƂƃƄƅɃΒβϐϦБВЪЬбвъьѢѣҌҍҔҕƥƾ",c:"¢©ÇçĆćĈĉĊċČčƆƇƈȻȼͻͼͽϲϹϽϾϿЄСсєҀҁҪҫ",d:"ÐĎďĐđƉƊȡƋƌǷ",e:"ÈÉÊËèéêëĒēĔĕĖėĘęĚěƎƏƐǝȄȅȆȇȨȩɆɇΈΕΞΣέεξϱϵ϶ЀЁЕЭеѐёҼҽҾҿӖӗӘәӚӛӬӭ",f:"ƑƒϜϝӺӻҒғӶӷſ",g:"ĜĝĞğĠġĢģƓǤǥǦǧǴǵ",h:"ĤĥĦħƕǶȞȟΉΗЂЊЋНнђћҢңҤҥҺһӉӊ",I:"ÌÍÎÏ",i:"ìíîïĨĩĪīĬĭĮįİıƖƗȈȉȊȋΊΐΪίιϊІЇії",j:"ĴĵǰȷɈɉϳЈј",k:"ĶķĸƘƙǨǩΚκЌЖКжкќҚқҜҝҞҟҠҡ",l:"ĹĺĻļĽľĿŀŁłƚƪǀǏǐȴȽΙӀӏ",m:"ΜϺϻМмӍӎ",n:"ÑñŃńŅņŇňʼnŊŋƝƞǸǹȠȵΝΠήηϞЍИЙЛПийлпѝҊҋӅӆӢӣӤӥπ",o:"ÒÓÔÕÖØðòóôõöøŌōŎŏŐőƟƠơǑǒǪǫǬǭǾǿȌȍȎȏȪȫȬȭȮȯȰȱΌΘΟθοσόϕϘϙϬϭϴОФоѲѳӦӧӨөӪӫ¤ƍΏ",p:"ƤƿΡρϷϸϼРрҎҏÞ",q:"Ɋɋ",r:"ŔŕŖŗŘřƦȐȑȒȓɌɍЃГЯгяѓҐґ",s:"ŚśŜŝŞşŠšƧƨȘșȿςϚϛϟϨϩЅѕ",t:"ŢţŤťŦŧƫƬƭƮȚțȶȾΓΤτϮϯТт҂Ҭҭ",u:"µÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųƯưƱƲǓǔǕǖǗǘǙǚǛǜȔȕȖȗɄΰμυϋύϑЏЦЧцџҴҵҶҷӋӌӇӈ",v:"νѴѵѶѷ",w:"ŴŵƜωώϖϢϣШЩшщѡѿ",x:"×ΧχϗϰХхҲҳӼӽӾӿ",y:"ÝýÿŶŷŸƳƴȲȳɎɏΎΥΫγψϒϓϔЎУучўѰѱҮүҰұӮӯӰӱӲӳ",z:"ŹźŻżŽžƩƵƶȤȥɀΖζ"},i={};Object.keys(n).forEach(function(e){n[e].split("").forEach(function(t){i[t]=e})});t.exports=function(e){var t=e.split("");return t.forEach(function(e,r){i[e]&&(t[r]=i[e])}),t.join("")}},{}],152:[function(e,t,r){"use strict";var n=e("../../paths"),i=n.fns,s=n.tags;t.exports=function(e){for(var t="silver",r=Object.keys(e.tags),n=0;n":">","&":"&",'"':""","'":"'"," ":" "};return e.replace(/[<>&"' ]/g,function(e){return t[e]})};t.exports=function(e){var t=Object.keys(e.tags).filter(function(e){return"Term"!==e});t=(t=t.map(function(e){return"nl-"+e})).join(" ");var r=function(e){var t,r="(?:[^\"'>]|\"[^\"]*\"|'[^']*')*",n=new RegExp("<(?:!--(?:(?:-*[^->])*--+|-?)|script\\b"+r+">[\\s\\S]*?[\\s\\S]*?","gi");do{t=e,e=e.replace(n,"")}while(e!==t);return e.replace(/'+(r=n(r))+"";return n(e.whitespace.before)+i+n(e.whitespace.after)}},{}],155:[function(e,t,r){"use strict";var n=e("../../paths").fns;t.exports=function(e){var t=Object.keys(e.tags).map(function(e){return n.printTag(e)}).join(", "),r=e.text;r="'"+n.yellow(r||"-")+"'";var i="";e.silent_term&&(i="["+e.silent_term+"]"),r=n.leftPad(r,20),r+=n.leftPad(i,8),console.log(" "+r+" - "+t)}},{"../../paths":161}],156:[function(e,t,r){"use strict";var n=/([a-z0-9 ])([,:;.!?]+)$/i;t.exports=function(e){var t={getPunctuation:function(){var e=this.text.match(n);return e?e[2]:(e=this.whitespace.after.match(n))?e[2]:null},setPunctuation:function(e){return this.killPunctuation(),this.text+=e,","===e&&(this.tags.Comma=!0),this},hasComma:function(){return","===this.getPunctuation()},killPunctuation:function(){return this.text=this._text.replace(n,"$1"),delete this.tags.Comma,delete this.tags.ClauseEnd,this}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e}},{}],157:[function(e,t,r){"use strict";t.exports=function e(t,r){var n=t.world.tags;if(void 0===n[r])return!0;for(var i=n[r].notA||[],s=0;s0&&(r[r.length-1]+=y),r.map(function(e){return new n(e,t)})}},{"../term":143}],164:[function(e,t,r){"use strict";t.exports={parent:{get:function(){return this.refText||this},set:function(e){return this.refText=e,this}},parentTerms:{get:function(){return this.refTerms||this},set:function(e){return this.refTerms=e,this}},dirty:{get:function(){for(var e=0;e0}},length:{get:function(){return this.terms.length}},isA:{get:function(){return"Terms"}},whitespace:{get:function(){var e=this;return{before:function(t){return e.firstTerm().whitespace.before=t,e},after:function(t){return e.lastTerm().whitespace.after=t,e}}}}}},{}],165:[function(e,t,r){"use strict";var n=e("./build"),i=e("./getters"),s=e("../world"),a=function(e,t,r,n){var a=this;this.terms=e,this.world=t||s,this.refText=r,this._refTerms=n,this.get=function(e){return a.terms[e]};for(var o=Object.keys(i),u=0;u0);r++){var s=i(this,r,t);if(s)return s}return null},has:function(e){return null!==this.matchOne(e)}};return Object.keys(t).forEach(function(r){e.prototype[r]=t[r]}),e}},{"../../text":192,"./lib":170,"./lib/startHere":174,"./lib/syntax":175}],167:[function(e,t,r){"use strict";t.exports=function(e,t){t.capture?e.captureGroup=!0:e.captureGroup=void 0}},{}],168:[function(e,t,r){"use strict";t.exports=function(e){var t=[];return e.forEach(function(e){if(0!==e.filter(function(e){return!0===e.captureGroup}).length){for(var r=[],n=0;n0&&(t.push(r),r=[]);r.length>0&&t.push(r)}else t.push(e)}),t}},{}],169:[function(e,t,r){"use strict";t.exports=function(e,t){for(var r=0;r0&&t[0]&&t[0].starting);l+=1){var c=i(e,l,t,r);c&&c.length>0&&(u.push(c),l+=c.length-1)}return u=a(u)}},{"./captureGroup":168,"./fastPass":169,"./startHere":174,"./syntax":175}],171:[function(e,t,r){"use strict";var n=e("./applyCaptureGroup");t.exports=function(e,t,r){if(!e||!t)return!1;var i=function(e,t){if(!e||!t)return!1;if(!0===t.anyOne)return!0;if(void 0!==t.tag)return e.tags[t.tag];if(void 0!==t.id)return t.id===e.uid;if(void 0!==t.normal)return t.normal===e.normal||t.normal===e.silent_term;if(!0===t.suffix&&void 0!==t.partial){var r=e.normal.length;return e.normal.substr(r-t.partial.length,r)===t.partial}if(!0===t.prefix&&void 0!==t.partial)return e.normal.substr(0,t.partial.length)===t.partial;if(!0===t.infix&&t.partial)return-1!==e.normal.indexOf(t.partial);if(void 0!==t.regex)return t.regex.test(e.normal)||t.regex.test(e.text);if(void 0!==t.oneOf){for(var n=0;n0)return null;if(!0===p.ending&&l!==e.length-1&&!p.minMax)return null;if(!0!==p.astrix)if(void 0===r[c].minMax)if(!0!==p.optional)if(i(h,p,u)){if(l+=1,!0===p.consecutive){var d=r[c+1];l=o(e,l,p,d)}}else if(!h.silent_term||h.normal){var m=n(h,r,c,u);if(null===m){if(!0!==p.optional)return null}else c=m,l+=1}else{if(0===c)return null;l+=1,c-=1}else{var y=r[c+1];l=o(e,l,p,y)}else for(var g=r[c].minMax.min||0,b=r[c].minMax.max,v=r[c+1],x=0;x