-
Notifications
You must be signed in to change notification settings - Fork 0
/
detect-import-require-v2.0.0.js
1 lines (1 loc) · 214 KB
/
detect-import-require-v2.0.0.js
1
!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).detectImportRequire=e()}}(function(){return function(){return function e(t,n,r){function i(u,a){if(!n[u]){if(!t[u]){var o="function"==typeof require&&require;if(!a&&o)return o(u,!0);if(s)return s(u,!0);var l=new Error("Cannot find module '"+u+"'");throw l.code="MODULE_NOT_FOUND",l}var p=n[u]={exports:{}};t[u][0].call(p.exports,function(e){return i(t[u][1][e]||e)},p,p.exports,e,t,n,r)}return n[u].exports}for(var s="function"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}}()({1:[function(e,t,n){var r=e("acorn"),i=e("escodegen"),s=e("defined"),u=e("is-buffer"),a=e("ast-types"),o=/\brequire\b/,l=/\bimport\b/,p=/\b(import|require)\b/;function c(e,t){if(t=t||{},u(e)&&(e=e.toString()),"string"!=typeof e&&!e)throw new Error("src option must be a string, Buffer or AST");var n,c,h,f=s(t.imports,!0),d=s(t.requires,!0),m={strings:[],expressions:[],nodes:[]};if("string"==typeof e){e=e||"";var D=p;if(f&&!d?D=l:d&&!f&&(D=o),!D.test(e))return m;n=r.parse(e,{ecmaVersion:6,sourceType:"module",allowReserved:!0,allowReturnOutsideFunction:!0,allowHashBang:!0})}else n=e;return f&&(c=function(e){var t=e.node;"Literal"===t.source.type&&m.strings.push(t.source.value),m.nodes.push(t),this.traverse(e)}),d&&(h=function(e){var t=e.node;if(!function(e){return"Identifier"===e.callee.type&&"require"===e.callee.name}(t))return!1;t.arguments.length&&("Literal"===t.arguments[0].type?m.strings.push(t.arguments[0].value):m.expressions.push(i.generate(t.arguments[0]))),m.nodes.push(t),this.traverse(e)}),a.visit(n,{visitImportDeclaration:c,visitCallExpression:h}),m}t.exports=function(e,t){return c(e,t).strings},t.exports.find=c},{acorn:2,"ast-types":19,defined:20,escodegen:21,"is-buffer":29}],2:[function(e,t,n){var r;r=this,function(e){"use strict";var t={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",7:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},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",r={5:n,6:n+" const class extends export import super"},i="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠ-ࢴࢶ-ࢽऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿕ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞮꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭥꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",s="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࣔ-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఃా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഁ-ഃാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ංඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ູົຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭ᳲ-᳴᳸᳹᷀-᷵᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱꤀-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_",u=new RegExp("["+i+"]"),a=new RegExp("["+i+s+"]");i=s=null;var o=[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],l=[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 n=65536,r=0;r<t.length;r+=2){if((n+=t[r])>e)return!1;if((n+=t[r+1])>=e)return!0}}function c(e,t){return e<65?36===e:e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&u.test(String.fromCharCode(e)):!1!==t&&p(e,o)))}function h(e,t){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||(e<=65535?e>=170&&a.test(String.fromCharCode(e)):!1!==t&&(p(e,o)||p(e,l)))))}var f=function(e,t){void 0===t&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};function d(e,t){return new f(e,{beforeExpr:!0,binop:t})}var m={beforeExpr:!0},D={startsExpr:!0},g={};function E(e,t){return void 0===t&&(t={}),t.keyword=e,g[e]=new f(e,t)}var A={num:new f("num",D),regexp:new f("regexp",D),string:new f("string",D),name:new f("name",D),eof:new f("eof"),bracketL:new f("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new f("]"),braceL:new f("{",{beforeExpr:!0,startsExpr:!0}),braceR:new f("}"),parenL:new f("(",{beforeExpr:!0,startsExpr:!0}),parenR:new f(")"),comma:new f(",",m),semi:new f(";",m),colon:new f(":",m),dot:new f("."),question:new f("?",m),arrow:new f("=>",m),template:new f("template"),ellipsis:new f("...",m),backQuote:new f("`",D),dollarBraceL:new f("${",{beforeExpr:!0,startsExpr:!0}),eq:new f("=",{beforeExpr:!0,isAssign:!0}),assign:new f("_=",{beforeExpr:!0,isAssign:!0}),incDec:new f("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new f("prefix",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:d("||",1),logicalAND:d("&&",2),bitwiseOR:d("|",3),bitwiseXOR:d("^",4),bitwiseAND:d("&",5),equality:d("==/!=",6),relational:d("</>",7),bitShift:d("<</>>",8),plusMin:new f("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:d("%",10),star:d("*",10),slash:d("/",10),starstar:new f("**",{beforeExpr:!0}),_break:E("break"),_case:E("case",m),_catch:E("catch"),_continue:E("continue"),_debugger:E("debugger"),_default:E("default",m),_do:E("do",{isLoop:!0,beforeExpr:!0}),_else:E("else",m),_finally:E("finally"),_for:E("for",{isLoop:!0}),_function:E("function",D),_if:E("if"),_return:E("return",m),_switch:E("switch"),_throw:E("throw",m),_try:E("try"),_var:E("var"),_const:E("const"),_while:E("while",{isLoop:!0}),_with:E("with"),_new:E("new",{beforeExpr:!0,startsExpr:!0}),_this:E("this",D),_super:E("super",D),_class:E("class"),_extends:E("extends",m),_export:E("export"),_import:E("import"),_null:E("null",D),_true:E("true",D),_false:E("false",D),_in:E("in",{beforeExpr:!0,binop:7}),_instanceof:E("instanceof",{beforeExpr:!0,binop:7}),_typeof:E("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:E("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:E("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},C=/\r\n?|\n|\u2028|\u2029/,y=new RegExp(C.source,"g");function b(e){return 10===e||13===e||8232===e||8233==e}var F=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/,x=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function v(e){return"[object Array]"===Object.prototype.toString.call(e)}function B(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var S=function(e,t){this.line=e,this.column=t};S.prototype.offset=function(e){return new S(this.line,this.column+e)};var w=function(e,t,n){this.start=t,this.end=n,null!==e.sourceFile&&(this.source=e.sourceFile)};function k(e,t){for(var n=1,r=0;;){y.lastIndex=r;var i=y.exec(e);if(!(i&&i.index<t))return new S(n,t-r);++n,r=i.index+i[0].length}}var _={ecmaVersion:6,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowHashBang:!1,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1,plugins:{}};function T(e){var t={};for(var n in _)t[n]=e&&B(e,n)?e[n]:_[n];if(null==t.allowReserved&&(t.allowReserved=t.ecmaVersion<5),v(t.onToken)){var r=t.onToken;t.onToken=function(e){return r.push(e)}}return v(t.onComment)&&(t.onComment=function(e,t){return function(n,r,i,s,u,a){var o={type:n?"Block":"Line",value:r,start:i,end:s};e.locations&&(o.loc=new w(this,u,a)),e.ranges&&(o.range=[i,s]),t.push(o)}}(t,t.onComment)),t}var P={};function L(e){return new RegExp("^("+e.replace(/ /g,"|")+")$")}var N=function(e,n,i){this.options=e=T(e),this.sourceFile=e.sourceFile,this.keywords=L(r[e.ecmaVersion>=6?6:5]);var s=e.allowReserved?"":t[e.ecmaVersion]+("module"==e.sourceType?" await":"");this.reservedWords=L(s);var u=(s?s+" ":"")+t.strict;this.reservedWordsStrict=L(u),this.reservedWordsStrictBind=L(u+" "+t.strictBind),this.input=String(n),this.containsEsc=!1,this.loadPlugins(e.plugins),i?(this.pos=i,this.lineStart=Math.max(0,this.input.lastIndexOf("\n",i)),this.curLine=this.input.slice(0,this.lineStart).split(C).length):(this.pos=this.lineStart=0,this.curLine=1),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=this.initialContext(),this.exprAllowed=!0,this.strict=this.inModule="module"===e.sourceType,this.potentialArrowAt=-1,this.inFunction=this.inGenerator=!1,this.labels=[],0===this.pos&&e.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2)};N.prototype.isKeyword=function(e){return this.keywords.test(e)},N.prototype.isReservedWord=function(e){return this.reservedWords.test(e)},N.prototype.extend=function(e,t){this[e]=t(this[e])},N.prototype.loadPlugins=function(e){for(var t in e){var n=P[t];if(!n)throw new Error("Plugin '"+t+"' not found");n(this,e[t])}},N.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)};var I=N.prototype;I.isUseStrict=function(e){return this.options.ecmaVersion>=5&&"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"use strict"===e.expression.raw.slice(1,-1)},I.eat=function(e){return this.type===e&&(this.next(),!0)},I.isContextual=function(e){return this.type===A.name&&this.value===e},I.eatContextual=function(e){return this.value===e&&this.eat(A.name)},I.expectContextual=function(e){this.eatContextual(e)||this.unexpected()},I.canInsertSemicolon=function(){return this.type===A.eof||this.type===A.braceR||C.test(this.input.slice(this.lastTokEnd,this.start))},I.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},I.semicolon=function(){this.eat(A.semi)||this.insertSemicolon()||this.unexpected()},I.afterTrailingComma=function(e){if(this.type==e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),this.next(),!0},I.expect=function(e){this.eat(e)||this.unexpected()},I.unexpected=function(e){this.raise(null!=e?e:this.start,"Unexpected token")};var O=function(){this.shorthandAssign=0,this.trailingComma=0};I.checkPatternErrors=function(e,t){var n=e&&e.trailingComma;if(!t)return!!n;n&&this.raise(n,"Comma is not permitted after the rest element")},I.checkExpressionErrors=function(e,t){var n=e&&e.shorthandAssign;if(!t)return!!n;n&&this.raise(n,"Shorthand property assignments are valid only in destructuring patterns")};var M=N.prototype;M.parseTopLevel=function(e){var t=!0;for(e.body||(e.body=[]);this.type!==A.eof;){var n=this.parseStatement(!0,!0);e.body.push(n),t&&(this.isUseStrict(n)&&this.setStrict(!0),t=!1)}return this.next(),this.options.ecmaVersion>=6&&(e.sourceType=this.options.sourceType),this.finishNode(e,"Program")};var R={kind:"loop"},j={kind:"switch"};M.isLet=function(){if(this.type!==A.name||this.options.ecmaVersion<6||"let"!=this.value)return!1;x.lastIndex=this.pos;var e=x.exec(this.input),t=this.pos+e[0].length,n=this.input.charCodeAt(t);if(91===n||123==n)return!0;if(c(n,!0)){for(var r=t+1;h(this.input.charCodeAt(r),!0);++r);var i=this.input.slice(t,r);if(!this.isKeyword(i))return!0}return!1},M.parseStatement=function(e,t){var n,r=this.type,i=this.startNode();switch(this.isLet()&&(r=A._var,n="let"),r){case A._break:case A._continue:return this.parseBreakContinueStatement(i,r.keyword);case A._debugger:return this.parseDebuggerStatement(i);case A._do:return this.parseDoStatement(i);case A._for:return this.parseForStatement(i);case A._function:return!e&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i);case A._class:return e||this.unexpected(),this.parseClass(i,!0);case A._if:return this.parseIfStatement(i);case A._return:return this.parseReturnStatement(i);case A._switch:return this.parseSwitchStatement(i);case A._throw:return this.parseThrowStatement(i);case A._try:return this.parseTryStatement(i);case A._const:case A._var:return n=n||this.value,e||"var"==n||this.unexpected(),this.parseVarStatement(i,n);case A._while:return this.parseWhileStatement(i);case A._with:return this.parseWithStatement(i);case A.braceL:return this.parseBlock();case A.semi:return this.parseEmptyStatement(i);case A._export:case A._import:return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),r===A._import?this.parseImport(i):this.parseExport(i);default:var s=this.value,u=this.parseExpression();return r===A.name&&"Identifier"===u.type&&this.eat(A.colon)?this.parseLabeledStatement(i,s,u):this.parseExpressionStatement(i,u)}},M.parseBreakContinueStatement=function(e,t){var n="break"==t;this.next(),this.eat(A.semi)||this.insertSemicolon()?e.label=null:this.type!==A.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var r=0;r<this.labels.length;++r){var i=this.labels[r];if(null==e.label||i.name===e.label.name){if(null!=i.kind&&(n||"loop"===i.kind))break;if(e.label&&n)break}}return r===this.labels.length&&this.raise(e.start,"Unsyntactic "+t),this.finishNode(e,n?"BreakStatement":"ContinueStatement")},M.parseDebuggerStatement=function(e){return this.next(),this.semicolon(),this.finishNode(e,"DebuggerStatement")},M.parseDoStatement=function(e){return this.next(),this.labels.push(R),e.body=this.parseStatement(!1),this.labels.pop(),this.expect(A._while),e.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(A.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")},M.parseForStatement=function(e){if(this.next(),this.labels.push(R),this.expect(A.parenL),this.type===A.semi)return this.parseFor(e,null);var t=this.isLet();if(this.type===A._var||this.type===A._const||t){var n=this.startNode(),r=t?"let":this.value;return this.next(),this.parseVar(n,!0,r),this.finishNode(n,"VariableDeclaration"),!(this.type===A._in||this.options.ecmaVersion>=6&&this.isContextual("of"))||1!==n.declarations.length||"var"!==r&&n.declarations[0].init?this.parseFor(e,n):this.parseForIn(e,n)}var i=new O,s=this.parseExpression(!0,i);return this.type===A._in||this.options.ecmaVersion>=6&&this.isContextual("of")?(this.checkPatternErrors(i,!0),this.toAssignable(s),this.checkLVal(s),this.parseForIn(e,s)):(this.checkExpressionErrors(i,!0),this.parseFor(e,s))},M.parseFunctionStatement=function(e){return this.next(),this.parseFunction(e,!0)},M.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement(!1),e.alternate=this.eat(A._else)?this.parseStatement(!1):null,this.finishNode(e,"IfStatement")},M.parseReturnStatement=function(e){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(A.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")},M.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(A.braceL),this.labels.push(j);for(var t,n=!1;this.type!=A.braceR;)if(this.type===A._case||this.type===A._default){var r=this.type===A._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),r?t.test=this.parseExpression():(n&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),n=!0,t.test=null),this.expect(A.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(!0));return t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")},M.parseThrowStatement=function(e){return this.next(),C.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};var q=[];M.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===A._catch){var t=this.startNode();this.next(),this.expect(A.parenL),t.param=this.parseBindingAtom(),this.checkLVal(t.param,!0),this.expect(A.parenR),t.body=this.parseBlock(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(A._finally)?this.parseBlock():null,e.handler||e.finalizer||this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")},M.parseVarStatement=function(e,t){return this.next(),this.parseVar(e,!1,t),this.semicolon(),this.finishNode(e,"VariableDeclaration")},M.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(R),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"WhileStatement")},M.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement(!1),this.finishNode(e,"WithStatement")},M.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")},M.parseLabeledStatement=function(e,t,n){for(var r=0;r<this.labels.length;++r)this.labels[r].name===t&&this.raise(n.start,"Label '"+t+"' is already declared");for(var i=this.type.isLoop?"loop":this.type===A._switch?"switch":null,s=this.labels.length-1;s>=0;s--){var u=this.labels[s];if(u.statementStart!=e.start)break;u.statementStart=this.start,u.kind=i}return this.labels.push({name:t,kind:i,statementStart:this.start}),e.body=this.parseStatement(!0),this.labels.pop(),e.label=n,this.finishNode(e,"LabeledStatement")},M.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")},M.parseBlock=function(e){var t,n=this.startNode(),r=!0;for(n.body=[],this.expect(A.braceL);!this.eat(A.braceR);){var i=this.parseStatement(!0);n.body.push(i),r&&e&&this.isUseStrict(i)&&(t=this.strict,this.setStrict(this.strict=!0)),r=!1}return!1===t&&this.setStrict(!1),this.finishNode(n,"BlockStatement")},M.parseFor=function(e,t){return e.init=t,this.expect(A.semi),e.test=this.type===A.semi?null:this.parseExpression(),this.expect(A.semi),e.update=this.type===A.parenR?null:this.parseExpression(),this.expect(A.parenR),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,"ForStatement")},M.parseForIn=function(e,t){var n=this.type===A._in?"ForInStatement":"ForOfStatement";return this.next(),e.left=t,e.right=this.parseExpression(),this.expect(A.parenR),e.body=this.parseStatement(!1),this.labels.pop(),this.finishNode(e,n)},M.parseVar=function(e,t,n){for(e.declarations=[],e.kind=n;;){var r=this.startNode();if(this.parseVarId(r),this.eat(A.eq)?r.init=this.parseMaybeAssign(t):"const"!==n||this.type===A._in||this.options.ecmaVersion>=6&&this.isContextual("of")?"Identifier"==r.id.type||t&&(this.type===A._in||this.isContextual("of"))?r.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),e.declarations.push(this.finishNode(r,"VariableDeclarator")),!this.eat(A.comma))break}return e},M.parseVarId=function(e){e.id=this.parseBindingAtom(),this.checkLVal(e.id,!0)},M.parseFunction=function(e,t,n){this.initFunction(e),this.options.ecmaVersion>=6&&(e.generator=this.eat(A.star));var r=this.inGenerator;return this.inGenerator=e.generator,(t||this.type===A.name)&&(e.id=this.parseIdent()),this.parseFunctionParams(e),this.parseFunctionBody(e,n),this.inGenerator=r,this.finishNode(e,t?"FunctionDeclaration":"FunctionExpression")},M.parseFunctionParams=function(e){this.expect(A.parenL),e.params=this.parseBindingList(A.parenR,!1,!1,!0)},M.parseClass=function(e,t){this.next(),this.parseClassId(e,t),this.parseClassSuper(e);var n=this.startNode(),r=!1;for(n.body=[],this.expect(A.braceL);!this.eat(A.braceR);)if(!this.eat(A.semi)){var i=this.startNode(),s=this.eat(A.star),u=this.type===A.name&&"static"===this.value;this.parsePropertyName(i),i.static=u&&this.type!==A.parenL,i.static&&(s&&this.unexpected(),s=this.eat(A.star),this.parsePropertyName(i)),i.kind="method";var a=!1;if(!i.computed){var o=i.key;s||"Identifier"!==o.type||this.type===A.parenL||"get"!==o.name&&"set"!==o.name||(a=!0,i.kind=o.name,o=this.parsePropertyName(i)),!i.static&&("Identifier"===o.type&&"constructor"===o.name||"Literal"===o.type&&"constructor"===o.value)&&(r&&this.raise(o.start,"Duplicate constructor in the same class"),a&&this.raise(o.start,"Constructor can't have get/set modifier"),s&&this.raise(o.start,"Constructor can't be a generator"),i.kind="constructor",r=!0)}if(this.parseClassMethod(n,i,s),a){var l="get"===i.kind?0:1;if(i.value.params.length!==l){var p=i.value.start;"get"===i.kind?this.raiseRecoverable(p,"getter should have no params"):this.raiseRecoverable(p,"setter should have exactly one param")}"set"===i.kind&&"RestElement"===i.value.params[0].type&&this.raise(i.value.params[0].start,"Setter cannot use rest params")}}return e.body=this.finishNode(n,"ClassBody"),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")},M.parseClassMethod=function(e,t,n){t.value=this.parseMethod(n),e.body.push(this.finishNode(t,"MethodDefinition"))},M.parseClassId=function(e,t){e.id=this.type===A.name?this.parseIdent():t?this.unexpected():null},M.parseClassSuper=function(e){e.superClass=this.eat(A._extends)?this.parseExprSubscripts():null},M.parseExport=function(e){if(this.next(),this.eat(A.star))return this.expectContextual("from"),e.source=this.type===A.string?this.parseExprAtom():this.unexpected(),this.semicolon(),this.finishNode(e,"ExportAllDeclaration");if(this.eat(A._default)){var t=this.type==A.parenL,n=this.parseMaybeAssign(),r=!0;return t||"FunctionExpression"!=n.type&&"ClassExpression"!=n.type||(r=!1,n.id&&(n.type="FunctionExpression"==n.type?"FunctionDeclaration":"ClassDeclaration")),e.declaration=n,r&&this.semicolon(),this.finishNode(e,"ExportDefaultDeclaration")}if(this.shouldParseExportStatement())e.declaration=this.parseStatement(!0),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(),this.eatContextual("from"))e.source=this.type===A.string?this.parseExprAtom():this.unexpected();else{for(var i=0;i<e.specifiers.length;i++)(this.keywords.test(e.specifiers[i].local.name)||this.reservedWords.test(e.specifiers[i].local.name))&&this.unexpected(e.specifiers[i].local.start);e.source=null}this.semicolon()}return this.finishNode(e,"ExportNamedDeclaration")},M.shouldParseExportStatement=function(){return this.type.keyword||this.isLet()},M.parseExportSpecifiers=function(){var e=[],t=!0;for(this.expect(A.braceL);!this.eat(A.braceR);){if(t)t=!1;else if(this.expect(A.comma),this.afterTrailingComma(A.braceR))break;var n=this.startNode();n.local=this.parseIdent(this.type===A._default),n.exported=this.eatContextual("as")?this.parseIdent(!0):n.local,e.push(this.finishNode(n,"ExportSpecifier"))}return e},M.parseImport=function(e){return this.next(),this.type===A.string?(e.specifiers=q,e.source=this.parseExprAtom()):(e.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),e.source=this.type===A.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(e,"ImportDeclaration")},M.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===A.name){var n=this.startNode();if(n.local=this.parseIdent(),this.checkLVal(n.local,!0),e.push(this.finishNode(n,"ImportDefaultSpecifier")),!this.eat(A.comma))return e}if(this.type===A.star){var r=this.startNode();return this.next(),this.expectContextual("as"),r.local=this.parseIdent(),this.checkLVal(r.local,!0),e.push(this.finishNode(r,"ImportNamespaceSpecifier")),e}for(this.expect(A.braceL);!this.eat(A.braceR);){if(t)t=!1;else if(this.expect(A.comma),this.afterTrailingComma(A.braceR))break;var i=this.startNode();i.imported=this.parseIdent(!0),this.eatContextual("as")?i.local=this.parseIdent():(i.local=i.imported,this.isKeyword(i.local.name)&&this.unexpected(i.local.start),this.reservedWordsStrict.test(i.local.name)&&this.raise(i.local.start,"The keyword '"+i.local.name+"' is reserved")),this.checkLVal(i.local,!0),e.push(this.finishNode(i,"ImportSpecifier"))}return e};var V=N.prototype;V.toAssignable=function(e,t){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":break;case"ObjectExpression":e.type="ObjectPattern";for(var n=0;n<e.properties.length;n++){var r=e.properties[n];"init"!==r.kind&&this.raise(r.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(r.value,t)}break;case"ArrayExpression":e.type="ArrayPattern",this.toAssignableList(e.elements,t);break;case"AssignmentExpression":if("="!==e.operator){this.raise(e.left.end,"Only '=' operator can be used for specifying default value.");break}e.type="AssignmentPattern",delete e.operator;case"AssignmentPattern":"YieldExpression"===e.right.type&&this.raise(e.right.start,"Yield expression cannot be a default value");break;case"ParenthesizedExpression":e.expression=this.toAssignable(e.expression,t);break;case"MemberExpression":if(!t)break;default:this.raise(e.start,"Assigning to rvalue")}return e},V.toAssignableList=function(e,t){var n=e.length;if(n){var r=e[n-1];if(r&&"RestElement"==r.type)--n;else if(r&&"SpreadElement"==r.type){r.type="RestElement";var i=r.argument;this.toAssignable(i,t),"Identifier"!==i.type&&"MemberExpression"!==i.type&&"ArrayPattern"!==i.type&&this.unexpected(i.start),--n}t&&r&&"RestElement"===r.type&&"Identifier"!==r.argument.type&&this.unexpected(r.argument.start)}for(var s=0;s<n;s++){var u=e[s];u&&this.toAssignable(u,t)}return e},V.parseSpread=function(e){var t=this.startNode();return this.next(),t.argument=this.parseMaybeAssign(!1,e),this.finishNode(t,"SpreadElement")},V.parseRest=function(e){var t=this.startNode();return this.next(),t.argument=e?this.type===A.name?this.parseIdent():this.unexpected():this.type===A.name||this.type===A.bracketL?this.parseBindingAtom():this.unexpected(),this.finishNode(t,"RestElement")},V.parseBindingAtom=function(){if(this.options.ecmaVersion<6)return this.parseIdent();switch(this.type){case A.name:return this.parseIdent();case A.bracketL:var e=this.startNode();return this.next(),e.elements=this.parseBindingList(A.bracketR,!0,!0),this.finishNode(e,"ArrayPattern");case A.braceL:return this.parseObj(!0);default:this.unexpected()}},V.parseBindingList=function(e,t,n,r){for(var i=[],s=!0;!this.eat(e);)if(s?s=!1:this.expect(A.comma),t&&this.type===A.comma)i.push(null);else{if(n&&this.afterTrailingComma(e))break;if(this.type===A.ellipsis){var u=this.parseRest(r);this.parseBindingListItem(u),i.push(u),this.type===A.comma&&this.raise(this.start,"Comma is not permitted after the rest element"),this.expect(e);break}var a=this.parseMaybeDefault(this.start,this.startLoc);this.parseBindingListItem(a),i.push(a)}return i},V.parseBindingListItem=function(e){return e},V.parseMaybeDefault=function(e,t,n){if(n=n||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(A.eq))return n;var r=this.startNodeAt(e,t);return r.left=n,r.right=this.parseMaybeAssign(),this.finishNode(r,"AssignmentPattern")},V.checkLVal=function(e,t,n){switch(e.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(e.name)&&this.raiseRecoverable(e.start,(t?"Binding ":"Assigning to ")+e.name+" in strict mode"),n&&(B(n,e.name)&&this.raiseRecoverable(e.start,"Argument name clash"),n[e.name]=!0);break;case"MemberExpression":t&&this.raiseRecoverable(e.start,(t?"Binding":"Assigning to")+" member expression");break;case"ObjectPattern":for(var r=0;r<e.properties.length;r++)this.checkLVal(e.properties[r].value,t,n);break;case"ArrayPattern":for(var i=0;i<e.elements.length;i++){var s=e.elements[i];s&&this.checkLVal(s,t,n)}break;case"AssignmentPattern":this.checkLVal(e.left,t,n);break;case"RestElement":this.checkLVal(e.argument,t,n);break;case"ParenthesizedExpression":this.checkLVal(e.expression,t,n);break;default:this.raise(e.start,(t?"Binding":"Assigning to")+" rvalue")}};var U=N.prototype;U.checkPropClash=function(e,t){if(!(this.options.ecmaVersion>=6&&(e.computed||e.method||e.shorthand))){var n,r=e.key;switch(r.type){case"Identifier":n=r.name;break;case"Literal":n=String(r.value);break;default:return}var i=e.kind;if(this.options.ecmaVersion>=6)"__proto__"===n&&"init"===i&&(t.proto&&this.raiseRecoverable(r.start,"Redefinition of __proto__ property"),t.proto=!0);else{var s=t[n="$"+n];if(s){var u="init"!==i;(!this.strict&&!u||!s[i])&&u^s.init||this.raiseRecoverable(r.start,"Redefinition of property")}else s=t[n]={init:!1,get:!1,set:!1};s[i]=!0}}},U.parseExpression=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeAssign(e,t);if(this.type===A.comma){var s=this.startNodeAt(n,r);for(s.expressions=[i];this.eat(A.comma);)s.expressions.push(this.parseMaybeAssign(e,t));return this.finishNode(s,"SequenceExpression")}return i},U.parseMaybeAssign=function(e,t,n){if(this.inGenerator&&this.isContextual("yield"))return this.parseYield();var r=!1;t||(t=new O,r=!0);var i=this.start,s=this.startLoc;this.type!=A.parenL&&this.type!=A.name||(this.potentialArrowAt=this.start);var u=this.parseMaybeConditional(e,t);if(n&&(u=n.call(this,u,i,s)),this.type.isAssign){this.checkPatternErrors(t,!0),r||O.call(t);var a=this.startNodeAt(i,s);return a.operator=this.value,a.left=this.type===A.eq?this.toAssignable(u):u,t.shorthandAssign=0,this.checkLVal(u),this.next(),a.right=this.parseMaybeAssign(e),this.finishNode(a,"AssignmentExpression")}return r&&this.checkExpressionErrors(t,!0),u},U.parseMaybeConditional=function(e,t){var n=this.start,r=this.startLoc,i=this.parseExprOps(e,t);if(this.checkExpressionErrors(t))return i;if(this.eat(A.question)){var s=this.startNodeAt(n,r);return s.test=i,s.consequent=this.parseMaybeAssign(),this.expect(A.colon),s.alternate=this.parseMaybeAssign(e),this.finishNode(s,"ConditionalExpression")}return i},U.parseExprOps=function(e,t){var n=this.start,r=this.startLoc,i=this.parseMaybeUnary(t,!1);return this.checkExpressionErrors(t)?i:this.parseExprOp(i,n,r,-1,e)},U.parseExprOp=function(e,t,n,r,i){var s=this.type.binop;if(null!=s&&(!i||this.type!==A._in)&&s>r){var u=this.type===A.logicalOR||this.type===A.logicalAND,a=this.value;this.next();var o=this.start,l=this.startLoc,p=this.parseExprOp(this.parseMaybeUnary(null,!1),o,l,s,i),c=this.buildBinary(t,n,e,p,a,u);return this.parseExprOp(c,t,n,r,i)}return e},U.buildBinary=function(e,t,n,r,i,s){var u=this.startNodeAt(e,t);return u.left=n,u.operator=i,u.right=r,this.finishNode(u,s?"LogicalExpression":"BinaryExpression")},U.parseMaybeUnary=function(e,t){var n,r=this.start,i=this.startLoc;if(this.type.prefix){var s=this.startNode(),u=this.type===A.incDec;s.operator=this.value,s.prefix=!0,this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),u?this.checkLVal(s.argument):this.strict&&"delete"===s.operator&&"Identifier"===s.argument.type?this.raiseRecoverable(s.start,"Deleting local variable in strict mode"):t=!0,n=this.finishNode(s,u?"UpdateExpression":"UnaryExpression")}else{if(n=this.parseExprSubscripts(e),this.checkExpressionErrors(e))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var a=this.startNodeAt(r,i);a.operator=this.value,a.prefix=!1,a.argument=n,this.checkLVal(n),this.next(),n=this.finishNode(a,"UpdateExpression")}}return!t&&this.eat(A.starstar)?this.buildBinary(r,i,n,this.parseMaybeUnary(null,!1),"**",!1):n},U.parseExprSubscripts=function(e){var t=this.start,n=this.startLoc,r=this.parseExprAtom(e),i="ArrowFunctionExpression"===r.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd);return this.checkExpressionErrors(e)||i?r:this.parseSubscripts(r,t,n)},U.parseSubscripts=function(e,t,n,r){for(;;)if(this.eat(A.dot)){var i=this.startNodeAt(t,n);i.object=e,i.property=this.parseIdent(!0),i.computed=!1,e=this.finishNode(i,"MemberExpression")}else if(this.eat(A.bracketL)){var s=this.startNodeAt(t,n);s.object=e,s.property=this.parseExpression(),s.computed=!0,this.expect(A.bracketR),e=this.finishNode(s,"MemberExpression")}else if(!r&&this.eat(A.parenL)){var u=this.startNodeAt(t,n);u.callee=e,u.arguments=this.parseExprList(A.parenR,!1),e=this.finishNode(u,"CallExpression")}else{if(this.type!==A.backQuote)return e;var a=this.startNodeAt(t,n);a.tag=e,a.quasi=this.parseTemplate(),e=this.finishNode(a,"TaggedTemplateExpression")}},U.parseExprAtom=function(e){var t,n=this.potentialArrowAt==this.start;switch(this.type){case A._super:this.inFunction||this.raise(this.start,"'super' outside of function or class");case A._this:var r=this.type===A._this?"ThisExpression":"Super";return t=this.startNode(),this.next(),this.finishNode(t,r);case A.name:var i=this.start,s=this.startLoc,u=this.parseIdent(this.type!==A.name);return n&&!this.canInsertSemicolon()&&this.eat(A.arrow)?this.parseArrowExpression(this.startNodeAt(i,s),[u]):u;case A.regexp:var a=this.value;return(t=this.parseLiteral(a.value)).regex={pattern:a.pattern,flags:a.flags},t;case A.num:case A.string:return this.parseLiteral(this.value);case A._null:case A._true:case A._false:return(t=this.startNode()).value=this.type===A._null?null:this.type===A._true,t.raw=this.type.keyword,this.next(),this.finishNode(t,"Literal");case A.parenL:return this.parseParenAndDistinguishExpression(n);case A.bracketL:return t=this.startNode(),this.next(),t.elements=this.parseExprList(A.bracketR,!0,!0,e),this.finishNode(t,"ArrayExpression");case A.braceL:return this.parseObj(!1,e);case A._function:return t=this.startNode(),this.next(),this.parseFunction(t,!1);case A._class:return this.parseClass(this.startNode(),!1);case A._new:return this.parseNew();case A.backQuote:return this.parseTemplate();default:this.unexpected()}},U.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),this.next(),this.finishNode(t,"Literal")},U.parseParenExpression=function(){this.expect(A.parenL);var e=this.parseExpression();return this.expect(A.parenR),e},U.parseParenAndDistinguishExpression=function(e){var t,n=this.start,r=this.startLoc;if(this.options.ecmaVersion>=6){this.next();for(var i,s,u=this.start,a=this.startLoc,o=[],l=!0,p=new O;this.type!==A.parenR;){if(l?l=!1:this.expect(A.comma),this.type===A.ellipsis){i=this.start,o.push(this.parseParenItem(this.parseRest()));break}this.type!==A.parenL||s||(s=this.start),o.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var c=this.start,h=this.startLoc;if(this.expect(A.parenR),e&&!this.canInsertSemicolon()&&this.eat(A.arrow))return this.checkPatternErrors(p,!0),s&&this.unexpected(s),this.parseParenArrowList(n,r,o);o.length||this.unexpected(this.lastTokStart),i&&this.unexpected(i),this.checkExpressionErrors(p,!0),o.length>1?((t=this.startNodeAt(u,a)).expressions=o,this.finishNodeAt(t,"SequenceExpression",c,h)):t=o[0]}else t=this.parseParenExpression();if(this.options.preserveParens){var f=this.startNodeAt(n,r);return f.expression=t,this.finishNode(f,"ParenthesizedExpression")}return t},U.parseParenItem=function(e){return e},U.parseParenArrowList=function(e,t,n){return this.parseArrowExpression(this.startNodeAt(e,t),n)};var W=[];U.parseNew=function(){var e=this.startNode(),t=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(A.dot))return e.meta=t,e.property=this.parseIdent(!0),"target"!==e.property.name&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is new.target"),this.inFunction||this.raiseRecoverable(e.start,"new.target can only be used in functions"),this.finishNode(e,"MetaProperty");var n=this.start,r=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(),n,r,!0),this.eat(A.parenL)?e.arguments=this.parseExprList(A.parenR,!1):e.arguments=W,this.finishNode(e,"NewExpression")},U.parseTemplateElement=function(){var e=this.startNode();return e.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),e.tail=this.type===A.backQuote,this.finishNode(e,"TemplateElement")},U.parseTemplate=function(){var e=this.startNode();this.next(),e.expressions=[];var t=this.parseTemplateElement();for(e.quasis=[t];!t.tail;)this.expect(A.dollarBraceL),e.expressions.push(this.parseExpression()),this.expect(A.braceR),e.quasis.push(t=this.parseTemplateElement());return this.next(),this.finishNode(e,"TemplateLiteral")},U.parseObj=function(e,t){var n=this.startNode(),r=!0,i={};for(n.properties=[],this.next();!this.eat(A.braceR);){if(r)r=!1;else if(this.expect(A.comma),this.afterTrailingComma(A.braceR))break;var s,u,a,o=this.startNode();this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(e||t)&&(u=this.start,a=this.startLoc),e||(s=this.eat(A.star))),this.parsePropertyName(o),this.parsePropertyValue(o,e,s,u,a,t),this.checkPropClash(o,i),n.properties.push(this.finishNode(o,"Property"))}return this.finishNode(n,e?"ObjectPattern":"ObjectExpression")},U.parsePropertyValue=function(e,t,n,r,i,s){if(this.eat(A.colon))e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,s),e.kind="init";else if(this.options.ecmaVersion>=6&&this.type===A.parenL)t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(n);else if(this.options.ecmaVersion>=5&&!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&this.type!=A.comma&&this.type!=A.braceR){(n||t)&&this.unexpected(),e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var u="get"===e.kind?0:1;if(e.value.params.length!==u){var a=e.value.start;"get"===e.kind?this.raiseRecoverable(a,"getter should have no params"):this.raiseRecoverable(a,"setter should have exactly one param")}"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")}else this.options.ecmaVersion>=6&&!e.computed&&"Identifier"===e.key.type?((this.keywords.test(e.key.name)||(this.strict?this.reservedWordsStrictBind:this.reservedWords).test(e.key.name)||this.inGenerator&&"yield"==e.key.name)&&this.raiseRecoverable(e.key.start,"'"+e.key.name+"' can not be used as shorthand property"),e.kind="init",t?e.value=this.parseMaybeDefault(r,i,e.key):this.type===A.eq&&s?(s.shorthandAssign||(s.shorthandAssign=this.start),e.value=this.parseMaybeDefault(r,i,e.key)):e.value=e.key,e.shorthand=!0):this.unexpected()},U.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(A.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(A.bracketR),e.key;e.computed=!1}return e.key=this.type===A.num||this.type===A.string?this.parseExprAtom():this.parseIdent(!0)},U.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=!1,e.expression=!1)},U.parseMethod=function(e){var t=this.startNode(),n=this.inGenerator;return this.inGenerator=e,this.initFunction(t),this.expect(A.parenL),t.params=this.parseBindingList(A.parenR,!1,!1),this.options.ecmaVersion>=6&&(t.generator=e),this.parseFunctionBody(t,!1),this.inGenerator=n,this.finishNode(t,"FunctionExpression")},U.parseArrowExpression=function(e,t){var n=this.inGenerator;return this.inGenerator=!1,this.initFunction(e),e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0),this.inGenerator=n,this.finishNode(e,"ArrowFunctionExpression")},U.parseFunctionBody=function(e,t){var n=t&&this.type!==A.braceL;if(n)e.body=this.parseMaybeAssign(),e.expression=!0;else{var r=this.inFunction,i=this.labels;this.inFunction=!0,this.labels=[],e.body=this.parseBlock(!0),e.expression=!1,this.inFunction=r,this.labels=i}var s=!n&&e.body.body.length&&this.isUseStrict(e.body.body[0])?e.body.body[0]:null;if(this.strict||s){var u=this.strict;this.strict=!0,e.id&&this.checkLVal(e.id,!0),this.checkParams(e,s),this.strict=u}else t&&this.checkParams(e,s)},U.checkParams=function(e,t){for(var n={},r=0;r<e.params.length;r++)t&&this.options.ecmaVersion>=7&&"Identifier"!==e.params[r].type&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list"),this.checkLVal(e.params[r],!0,n)},U.parseExprList=function(e,t,n,r){for(var i=[],s=!0;!this.eat(e);){if(s)s=!1;else if(this.expect(A.comma),t&&this.afterTrailingComma(e))break;var u;n&&this.type===A.comma?u=null:this.type===A.ellipsis?(u=this.parseSpread(r),this.type===A.comma&&r&&!r.trailingComma&&(r.trailingComma=this.lastTokStart)):u=this.parseMaybeAssign(!1,r),i.push(u)}return i},U.parseIdent=function(e){var t=this.startNode();return e&&"never"==this.options.allowReserved&&(e=!1),this.type===A.name?(!e&&(this.strict?this.reservedWordsStrict:this.reservedWords).test(this.value)&&(this.options.ecmaVersion>=6||-1==this.input.slice(this.start,this.end).indexOf("\\"))&&this.raiseRecoverable(this.start,"The keyword '"+this.value+"' is reserved"),!e&&this.inGenerator&&"yield"===this.value&&this.raiseRecoverable(this.start,"Can not use 'yield' as identifier inside a generator"),t.name=this.value):e&&this.type.keyword?t.name=this.type.keyword:this.unexpected(),this.next(),this.finishNode(t,"Identifier")},U.parseYield=function(){var e=this.startNode();return this.next(),this.type==A.semi||this.canInsertSemicolon()||this.type!=A.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(A.star),e.argument=this.parseMaybeAssign()),this.finishNode(e,"YieldExpression")};var X=N.prototype;X.raise=function(e,t){var n=k(this.input,e);t+=" ("+n.line+":"+n.column+")";var r=new SyntaxError(t);throw r.pos=e,r.loc=n,r.raisedAt=this.pos,r},X.raiseRecoverable=X.raise,X.curPosition=function(){if(this.options.locations)return new S(this.curLine,this.pos-this.lineStart)};var z=function(e,t,n){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new w(e,n)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},G=N.prototype;function J(e,t,n,r){return e.type=t,e.end=n,this.options.locations&&(e.loc.end=r),this.options.ranges&&(e.range[1]=n),e}G.startNode=function(){return new z(this,this.start,this.startLoc)},G.startNodeAt=function(e,t){return new z(this,e,t)},G.finishNode=function(e,t){return J.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)},G.finishNodeAt=function(e,t,n,r){return J.call(this,e,t,n,r)};var $=function(e,t,n,r){this.token=e,this.isExpr=!!t,this.preserveSpace=!!n,this.override=r},Y={b_stat:new $("{",!1),b_expr:new $("{",!0),b_tmpl:new $("${",!0),p_stat:new $("(",!1),p_expr:new $("(",!0),q_tmpl:new $("`",!0,!0,function(e){return e.readTmplToken()}),f_expr:new $("function",!0)},K=N.prototype;K.initialContext=function(){return[Y.b_stat]},K.braceIsBlock=function(e){if(e===A.colon){var t=this.curContext();if(t===Y.b_stat||t===Y.b_expr)return!t.isExpr}return e===A._return?C.test(this.input.slice(this.lastTokEnd,this.start)):e===A._else||e===A.semi||e===A.eof||e===A.parenR||(e==A.braceL?this.curContext()===Y.b_stat:!this.exprAllowed)},K.updateContext=function(e){var t,n=this.type;n.keyword&&e==A.dot?this.exprAllowed=!1:(t=n.updateContext)?t.call(this,e):this.exprAllowed=n.beforeExpr},A.parenR.updateContext=A.braceR.updateContext=function(){if(1!=this.context.length){var e=this.context.pop();e===Y.b_stat&&this.curContext()===Y.f_expr?(this.context.pop(),this.exprAllowed=!1):this.exprAllowed=e===Y.b_tmpl||!e.isExpr}else this.exprAllowed=!0},A.braceL.updateContext=function(e){this.context.push(this.braceIsBlock(e)?Y.b_stat:Y.b_expr),this.exprAllowed=!0},A.dollarBraceL.updateContext=function(){this.context.push(Y.b_tmpl),this.exprAllowed=!0},A.parenL.updateContext=function(e){var t=e===A._if||e===A._for||e===A._with||e===A._while;this.context.push(t?Y.p_stat:Y.p_expr),this.exprAllowed=!0},A.incDec.updateContext=function(){},A._function.updateContext=function(e){e.beforeExpr&&e!==A.semi&&e!==A._else&&(e!==A.colon&&e!==A.braceL||this.curContext()!==Y.b_stat)&&this.context.push(Y.f_expr),this.exprAllowed=!1},A.backQuote.updateContext=function(){this.curContext()===Y.q_tmpl?this.context.pop():this.context.push(Y.q_tmpl),this.exprAllowed=!1};var H=function(e){this.type=e.type,this.value=e.value,this.start=e.start,this.end=e.end,e.options.locations&&(this.loc=new w(e,e.startLoc,e.endLoc)),e.options.ranges&&(this.range=[e.start,e.end])},Q=N.prototype,Z="object"==typeof Packages&&"[object JavaPackage]"==Object.prototype.toString.call(Packages);function ee(e,t,n,r){try{return new RegExp(e,t)}catch(e){if(void 0!==n)throw e instanceof SyntaxError&&r.raise(n,"Error parsing regular expression: "+e.message),e}}Q.next=function(){this.options.onToken&&this.options.onToken(new H(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Q.getToken=function(){return this.next(),new H(this)},"undefined"!=typeof Symbol&&(Q[Symbol.iterator]=function(){var e=this;return{next:function(){var t=e.getToken();return{done:t.type===A.eof,value:t}}}}),Q.setStrict=function(e){if(this.strict=e,this.type===A.num||this.type===A.string){if(this.pos=this.start,this.options.locations)for(;this.pos<this.lineStart;)this.lineStart=this.input.lastIndexOf("\n",this.lineStart-2)+1,--this.curLine;this.nextToken()}},Q.curContext=function(){return this.context[this.context.length-1]},Q.nextToken=function(){var e=this.curContext();return e&&e.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(A.eof):e.override?e.override(this):void this.readToken(this.fullCharCodeAtPos())},Q.readToken=function(e){return c(e,this.options.ecmaVersion>=6)||92===e?this.readWord():this.getTokenFromCode(e)},Q.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);return e<=55295||e>=57344?e:(e<<10)+this.input.charCodeAt(this.pos+1)-56613888},Q.skipBlockComment=function(){var e,t=this.options.onComment&&this.curPosition(),n=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(y.lastIndex=n;(e=y.exec(this.input))&&e.index<this.pos;)++this.curLine,this.lineStart=e.index+e[0].length;this.options.onComment&&this.options.onComment(!0,this.input.slice(n+2,r),n,this.pos,t,this.curPosition())},Q.skipLineComment=function(e){for(var t=this.pos,n=this.options.onComment&&this.curPosition(),r=this.input.charCodeAt(this.pos+=e);this.pos<this.input.length&&10!==r&&13!==r&&8232!==r&&8233!==r;)++this.pos,r=this.input.charCodeAt(this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(t+e,this.pos),t,this.pos,n,this.curPosition())},Q.skipSpace=function(){e:for(;this.pos<this.input.length;){var e=this.input.charCodeAt(this.pos);switch(e){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break e}break;default:if(!(e>8&&e<14||e>=5760&&F.test(String.fromCharCode(e))))break e;++this.pos}}},Q.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var n=this.type;this.type=e,this.value=t,this.updateContext(n)},Q.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===e&&46===t?(this.pos+=3,this.finishToken(A.ellipsis)):(++this.pos,this.finishToken(A.dot))},Q.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===e?this.finishOp(A.assign,2):this.finishOp(A.slash,1)},Q.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),n=1,r=42===e?A.star:A.modulo;return this.options.ecmaVersion>=7&&42===t&&(++n,r=A.starstar,t=this.input.charCodeAt(this.pos+2)),61===t?this.finishOp(A.assign,n+1):this.finishOp(r,n)},Q.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?this.finishOp(124===e?A.logicalOR:A.logicalAND,2):61===t?this.finishOp(A.assign,2):this.finishOp(124===e?A.bitwiseOR:A.bitwiseAND,1)},Q.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(A.assign,2):this.finishOp(A.bitwiseXOR,1)},Q.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?45==t&&62==this.input.charCodeAt(this.pos+2)&&C.test(this.input.slice(this.lastTokEnd,this.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)},Q.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),n=1;return t===e?(n=62===e&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+n)?this.finishOp(A.assign,n+1):this.finishOp(A.bitShift,n)):33==t&&60==e&&45==this.input.charCodeAt(this.pos+2)&&45==this.input.charCodeAt(this.pos+3)?(this.inModule&&this.unexpected(),this.skipLineComment(4),this.skipSpace(),this.nextToken()):(61===t&&(n=2),this.finishOp(A.relational,n))},Q.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return 61===t?this.finishOp(A.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===e&&62===t&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(A.arrow)):this.finishOp(61===e?A.eq:A.prefix,1)},Q.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(A.parenL);case 41:return++this.pos,this.finishToken(A.parenR);case 59:return++this.pos,this.finishToken(A.semi);case 44:return++this.pos,this.finishToken(A.comma);case 91:return++this.pos,this.finishToken(A.bracketL);case 93:return++this.pos,this.finishToken(A.bracketR);case 123:return++this.pos,this.finishToken(A.braceL);case 125:return++this.pos,this.finishToken(A.braceR);case 58:return++this.pos,this.finishToken(A.colon);case 63:return++this.pos,this.finishToken(A.question);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(A.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(120===t||88===t)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){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_exp(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.pos,"Unexpected character '"+ne(e)+"'")},Q.finishOp=function(e,t){var n=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,n)};var te=!!ee("","u");function ne(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}Q.readRegexp=function(){for(var e,t,n=this,r=this.pos;;){n.pos>=n.input.length&&n.raise(r,"Unterminated regular expression");var i=n.input.charAt(n.pos);if(C.test(i)&&n.raise(r,"Unterminated regular expression"),e)e=!1;else{if("["===i)t=!0;else if("]"===i&&t)t=!1;else if("/"===i&&!t)break;e="\\"===i}++n.pos}var s=this.input.slice(r,this.pos);++this.pos;var u=this.readWord1(),a=s,o="";if(u){var l=/^[gim]*$/;this.options.ecmaVersion>=6&&(l=/^[gimuy]*$/),l.test(u)||this.raise(r,"Invalid regular expression flag"),u.indexOf("u")>=0&&(te?o="u":(a=(a=a.replace(/\\u\{([0-9a-fA-F]+)\}/g,function(e,t,i){return(t=Number("0x"+t))>1114111&&n.raise(r+i+3,"Code point out of bounds"),"x"})).replace(/\\u([a-fA-F0-9]{4})|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"),o=o.replace("u","")))}var p=null;return Z||(ee(a,o,r,this),p=ee(s,u)),this.finishToken(A.regexp,{pattern:s,flags:u,value:p})},Q.readInt=function(e,t){for(var n=this.pos,r=0,i=0,s=null==t?1/0:t;i<s;++i){var u,a=this.input.charCodeAt(this.pos);if((u=a>=97?a-97+10:a>=65?a-65+10:a>=48&&a<=57?a-48:1/0)>=e)break;++this.pos,r=r*e+u}return this.pos===n||null!=t&&this.pos-n!==t?null:r},Q.readRadixNumber=function(e){this.pos+=2;var t=this.readInt(e);return null==t&&this.raise(this.start+2,"Expected number in radix "+e),c(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(A.num,t)},Q.readNumber=function(e){var t=this.pos,n=!1,r=48===this.input.charCodeAt(this.pos);e||null!==this.readInt(10)||this.raise(t,"Invalid number");var i=this.input.charCodeAt(this.pos);46===i&&(++this.pos,this.readInt(10),n=!0,i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(t,"Invalid number"),n=!0),c(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s,u=this.input.slice(t,this.pos);return n?s=parseFloat(u):r&&1!==u.length?/[89]/.test(u)||this.strict?this.raise(t,"Invalid number"):s=parseInt(u,8):s=parseInt(u,10),this.finishToken(A.num,s)},Q.readCodePoint=function(){var e;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var t=++this.pos;e=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,e>1114111&&this.raise(t,"Code point out of bounds")}else e=this.readHexChar(4);return e},Q.readString=function(e){for(var t="",n=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var r=this.input.charCodeAt(this.pos);if(r===e)break;92===r?(t+=this.input.slice(n,this.pos),t+=this.readEscapedChar(!1),n=this.pos):(b(r)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(n,this.pos++),this.finishToken(A.string,t)},Q.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var n=this.input.charCodeAt(this.pos);if(96===n||36===n&&123===this.input.charCodeAt(this.pos+1))return this.pos===this.start&&this.type===A.template?36===n?(this.pos+=2,this.finishToken(A.dollarBraceL)):(++this.pos,this.finishToken(A.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(A.template,e));if(92===n)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(b(n)){switch(e+=this.input.slice(t,this.pos),++this.pos,n){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:e+="\n";break;default:e+=String.fromCharCode(n)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}},Q.readEscapedChar=function(e){var t=this.input.charCodeAt(++this.pos);switch(++this.pos,t){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return ne(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";default:if(t>=48&&t<=55){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(n,8);return r>255&&(n=n.slice(0,-1),r=parseInt(n,8)),"0"!==n&&(this.strict||e)&&this.raise(this.pos-2,"Octal literal in strict mode"),this.pos+=n.length-1,String.fromCharCode(r)}return String.fromCharCode(t)}},Q.readHexChar=function(e){var t=this.pos,n=this.readInt(16,e);return null===n&&this.raise(t,"Bad character escape sequence"),n},Q.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,n=this.pos,r=this.options.ecmaVersion>=6;this.pos<this.input.length;){var i=this.fullCharCodeAtPos();if(h(i,r))this.pos+=i<=65535?1:2;else{if(92!==i)break;this.containsEsc=!0,e+=this.input.slice(n,this.pos);var s=this.pos;117!=this.input.charCodeAt(++this.pos)&&this.raise(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var u=this.readCodePoint();(t?c:h)(u,r)||this.raise(s,"Invalid Unicode escape"),e+=ne(u),n=this.pos}t=!1}return e+this.input.slice(n,this.pos)},Q.readWord=function(){var e=this.readWord1(),t=A.name;return(this.options.ecmaVersion>=6||!this.containsEsc)&&this.keywords.test(e)&&(t=g[e]),this.finishToken(t,e)},e.version="3.3.0",e.parse=function(e,t){return new N(t,e).parse()},e.parseExpressionAt=function(e,t,n){var r=new N(n,e,t);return r.nextToken(),r.parseExpression()},e.tokenizer=function(e,t){return new N(t,e)},e.Parser=N,e.plugins=P,e.defaultOptions=_,e.Position=S,e.SourceLocation=w,e.getLineInfo=k,e.Node=z,e.TokenType=f,e.tokTypes=A,e.TokContext=$,e.tokContexts=Y,e.isIdentifierChar=h,e.isIdentifierStart=c,e.Token=H,e.isNewLine=b,e.lineBreak=C,e.lineBreakG=y,Object.defineProperty(e,"__esModule",{value:!0})}("object"==typeof n&&void 0!==t?n:r.acorn=r.acorn||{})},{}],3:[function(e,t,n){e("./es7");var r=e("../lib/types"),i=e("../lib/shared").defaults,s=r.Type.def,u=r.Type.or;s("Noop").bases("Node").build(),s("DoExpression").bases("Expression").build("body").field("body",[s("Statement")]),s("Super").bases("Expression").build(),s("BindExpression").bases("Expression").build("object","callee").field("object",u(s("Expression"),null)).field("callee",s("Expression")),s("Decorator").bases("Node").build("expression").field("expression",s("Expression")),s("Property").field("decorators",u([s("Decorator")],null),i.null),s("MethodDefinition").field("decorators",u([s("Decorator")],null),i.null),s("MetaProperty").bases("Expression").build("meta","property").field("meta",s("Identifier")).field("property",s("Identifier")),s("ParenthesizedExpression").bases("Expression").build("expression").field("expression",s("Expression")),s("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",s("Identifier")),s("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),s("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),s("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",u(s("Declaration"),s("Expression"))),s("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",u(s("Declaration"),null)).field("specifiers",[s("ExportSpecifier")],i.emptyArray).field("source",u(s("Literal"),null),i.null),s("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",s("Identifier")),s("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("ExportAllDeclaration").bases("Declaration").build("exported","source").field("exported",u(s("Identifier"),null)).field("source",s("Literal")),s("CommentBlock").bases("Comment").build("value","leading","trailing"),s("CommentLine").bases("Comment").build("value","leading","trailing")},{"../lib/shared":17,"../lib/types":18,"./es7":7}],4:[function(e,t,n){var r=e("../lib/types").Type,i=r.def,s=r.or,u=e("../lib/shared"),a=u.defaults,o=u.geq;i("Printable").field("loc",s(i("SourceLocation"),null),a.null,!0),i("Node").bases("Printable").field("type",String).field("comments",s([i("Comment")],null),a.null,!0),i("SourceLocation").build("start","end","source").field("start",i("Position")).field("end",i("Position")).field("source",s(String,null),a.null),i("Position").build("line","column").field("line",o(1)).field("column",o(0)),i("File").bases("Node").build("program").field("program",i("Program")),i("Program").bases("Node").build("body").field("body",[i("Statement")]),i("Function").bases("Node").field("id",s(i("Identifier"),null),a.null).field("params",[i("Pattern")]).field("body",i("BlockStatement")),i("Statement").bases("Node"),i("EmptyStatement").bases("Statement").build(),i("BlockStatement").bases("Statement").build("body").field("body",[i("Statement")]),i("ExpressionStatement").bases("Statement").build("expression").field("expression",i("Expression")),i("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Statement")).field("alternate",s(i("Statement"),null),a.null),i("LabeledStatement").bases("Statement").build("label","body").field("label",i("Identifier")).field("body",i("Statement")),i("BreakStatement").bases("Statement").build("label").field("label",s(i("Identifier"),null),a.null),i("ContinueStatement").bases("Statement").build("label").field("label",s(i("Identifier"),null),a.null),i("WithStatement").bases("Statement").build("object","body").field("object",i("Expression")).field("body",i("Statement")),i("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",i("Expression")).field("cases",[i("SwitchCase")]).field("lexical",Boolean,a.false),i("ReturnStatement").bases("Statement").build("argument").field("argument",s(i("Expression"),null)),i("ThrowStatement").bases("Statement").build("argument").field("argument",i("Expression")),i("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",i("BlockStatement")).field("handler",s(i("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[i("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[i("CatchClause")],a.emptyArray).field("finalizer",s(i("BlockStatement"),null),a.null),i("CatchClause").bases("Node").build("param","guard","body").field("param",i("Pattern")).field("guard",s(i("Expression"),null),a.null).field("body",i("BlockStatement")),i("WhileStatement").bases("Statement").build("test","body").field("test",i("Expression")).field("body",i("Statement")),i("DoWhileStatement").bases("Statement").build("body","test").field("body",i("Statement")).field("test",i("Expression")),i("ForStatement").bases("Statement").build("init","test","update","body").field("init",s(i("VariableDeclaration"),i("Expression"),null)).field("test",s(i("Expression"),null)).field("update",s(i("Expression"),null)).field("body",i("Statement")),i("ForInStatement").bases("Statement").build("left","right","body").field("left",s(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("DebuggerStatement").bases("Statement").build(),i("Declaration").bases("Statement"),i("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",i("Identifier")),i("FunctionExpression").bases("Function","Expression").build("id","params","body"),i("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",s("var","let","const")).field("declarations",[i("VariableDeclarator")]),i("VariableDeclarator").bases("Node").build("id","init").field("id",i("Pattern")).field("init",s(i("Expression"),null)),i("Expression").bases("Node","Pattern"),i("ThisExpression").bases("Expression").build(),i("ArrayExpression").bases("Expression").build("elements").field("elements",[s(i("Expression"),null)]),i("ObjectExpression").bases("Expression").build("properties").field("properties",[i("Property")]),i("Property").bases("Node").build("kind","key","value").field("kind",s("init","get","set")).field("key",s(i("Literal"),i("Identifier"))).field("value",i("Expression")),i("SequenceExpression").bases("Expression").build("expressions").field("expressions",[i("Expression")]);var l=s("-","+","!","~","typeof","void","delete");i("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",l).field("argument",i("Expression")).field("prefix",Boolean,a.true);var p=s("==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof","..");i("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",p).field("left",i("Expression")).field("right",i("Expression"));var c=s("=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&=");i("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",c).field("left",i("Pattern")).field("right",i("Expression"));var h=s("++","--");i("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",h).field("argument",i("Expression")).field("prefix",Boolean);var f=s("||","&&");i("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",f).field("left",i("Expression")).field("right",i("Expression")),i("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",i("Expression")).field("consequent",i("Expression")).field("alternate",i("Expression")),i("NewExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("CallExpression").bases("Expression").build("callee","arguments").field("callee",i("Expression")).field("arguments",[i("Expression")]),i("MemberExpression").bases("Expression").build("object","property","computed").field("object",i("Expression")).field("property",s(i("Identifier"),i("Expression"))).field("computed",Boolean,function(){var e=this.property.type;return"Literal"===e||"MemberExpression"===e||"BinaryExpression"===e}),i("Pattern").bases("Node"),i("SwitchCase").bases("Node").build("test","consequent").field("test",s(i("Expression"),null)).field("consequent",[i("Statement")]),i("Identifier").bases("Node","Expression","Pattern").build("name").field("name",String),i("Literal").bases("Node","Expression").build("value").field("value",s(String,Boolean,null,Number,RegExp)).field("regex",s({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}),i("Comment").bases("Printable").field("value",String).field("leading",Boolean,a.true).field("trailing",Boolean,a.false)},{"../lib/shared":17,"../lib/types":18}],5:[function(e,t,n){e("./core");var r=e("../lib/types"),i=r.Type.def,s=r.Type.or;i("XMLDefaultDeclaration").bases("Declaration").field("namespace",i("Expression")),i("XMLAnyName").bases("Expression"),i("XMLQualifiedIdentifier").bases("Expression").field("left",s(i("Identifier"),i("XMLAnyName"))).field("right",s(i("Identifier"),i("Expression"))).field("computed",Boolean),i("XMLFunctionQualifiedIdentifier").bases("Expression").field("right",s(i("Identifier"),i("Expression"))).field("computed",Boolean),i("XMLAttributeSelector").bases("Expression").field("attribute",i("Expression")),i("XMLFilterExpression").bases("Expression").field("left",i("Expression")).field("right",i("Expression")),i("XMLElement").bases("XML","Expression").field("contents",[i("XML")]),i("XMLList").bases("XML","Expression").field("contents",[i("XML")]),i("XML").bases("Node"),i("XMLEscape").bases("XML").field("expression",i("Expression")),i("XMLText").bases("XML").field("text",String),i("XMLStartTag").bases("XML").field("contents",[i("XML")]),i("XMLEndTag").bases("XML").field("contents",[i("XML")]),i("XMLPointTag").bases("XML").field("contents",[i("XML")]),i("XMLName").bases("XML").field("contents",s(String,[i("XML")])),i("XMLAttribute").bases("XML").field("value",String),i("XMLCdata").bases("XML").field("contents",String),i("XMLComment").bases("XML").field("contents",String),i("XMLProcessingInstruction").bases("XML").field("target",String).field("contents",s(String,null))},{"../lib/types":18,"./core":4}],6:[function(e,t,n){e("./core");var r=e("../lib/types"),i=r.Type.def,s=r.Type.or,u=e("../lib/shared").defaults;i("Function").field("generator",Boolean,u.false).field("expression",Boolean,u.false).field("defaults",[s(i("Expression"),null)],u.emptyArray).field("rest",s(i("Identifier"),null),u.null),i("RestElement").bases("Pattern").build("argument").field("argument",i("Pattern")),i("SpreadElementPattern").bases("Pattern").build("argument").field("argument",i("Pattern")),i("FunctionDeclaration").build("id","params","body","generator","expression"),i("FunctionExpression").build("id","params","body","generator","expression"),i("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,u.null).field("body",s(i("BlockStatement"),i("Expression"))).field("generator",!1,u.false),i("YieldExpression").bases("Expression").build("argument","delegate").field("argument",s(i("Expression"),null)).field("delegate",Boolean,u.false),i("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",i("Expression")).field("blocks",[i("ComprehensionBlock")]).field("filter",s(i("Expression"),null)),i("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",i("Expression")).field("blocks",[i("ComprehensionBlock")]).field("filter",s(i("Expression"),null)),i("ComprehensionBlock").bases("Node").build("left","right","each").field("left",i("Pattern")).field("right",i("Expression")).field("each",Boolean),i("Property").field("key",s(i("Literal"),i("Identifier"),i("Expression"))).field("value",s(i("Expression"),i("Pattern"))).field("method",Boolean,u.false).field("shorthand",Boolean,u.false).field("computed",Boolean,u.false),i("PropertyPattern").bases("Pattern").build("key","pattern").field("key",s(i("Literal"),i("Identifier"),i("Expression"))).field("pattern",i("Pattern")).field("computed",Boolean,u.false),i("ObjectPattern").bases("Pattern").build("properties").field("properties",[s(i("PropertyPattern"),i("Property"))]),i("ArrayPattern").bases("Pattern").build("elements").field("elements",[s(i("Pattern"),null)]),i("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",s("constructor","method","get","set")).field("key",s(i("Literal"),i("Identifier"),i("Expression"))).field("value",i("Function")).field("computed",Boolean,u.false).field("static",Boolean,u.false),i("SpreadElement").bases("Node").build("argument").field("argument",i("Expression")),i("ArrayExpression").field("elements",[s(i("Expression"),i("SpreadElement"),i("RestElement"),null)]),i("NewExpression").field("arguments",[s(i("Expression"),i("SpreadElement"))]),i("CallExpression").field("arguments",[s(i("Expression"),i("SpreadElement"))]),i("AssignmentPattern").bases("Pattern").build("left","right").field("left",i("Pattern")).field("right",i("Expression"));var a=s(i("MethodDefinition"),i("VariableDeclarator"),i("ClassPropertyDefinition"),i("ClassProperty"));i("ClassProperty").bases("Declaration").build("key").field("key",s(i("Literal"),i("Identifier"),i("Expression"))).field("computed",Boolean,u.false),i("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",a),i("ClassBody").bases("Declaration").build("body").field("body",[a]),i("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",s(i("Identifier"),null)).field("body",i("ClassBody")).field("superClass",s(i("Expression"),null),u.null),i("ClassExpression").bases("Expression").build("id","body","superClass").field("id",s(i("Identifier"),null),u.null).field("body",i("ClassBody")).field("superClass",s(i("Expression"),null),u.null).field("implements",[i("ClassImplements")],u.emptyArray),i("ClassImplements").bases("Node").build("id").field("id",i("Identifier")).field("superClass",s(i("Expression"),null),u.null),i("Specifier").bases("Node"),i("ModuleSpecifier").bases("Specifier").field("local",s(i("Identifier"),null),u.null).field("id",s(i("Identifier"),null),u.null).field("name",s(i("Identifier"),null),u.null),i("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",i("Expression")).field("quasi",i("TemplateLiteral")),i("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[i("TemplateElement")]).field("expressions",[i("Expression")]),i("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean)},{"../lib/shared":17,"../lib/types":18,"./core":4}],7:[function(e,t,n){e("./es6");var r=e("../lib/types"),i=r.Type.def,s=r.Type.or,u=(r.builtInTypes,e("../lib/shared").defaults);i("Function").field("async",Boolean,u.false),i("SpreadProperty").bases("Node").build("argument").field("argument",i("Expression")),i("ObjectExpression").field("properties",[s(i("Property"),i("SpreadProperty"))]),i("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",i("Pattern")),i("ObjectPattern").field("properties",[s(i("Property"),i("PropertyPattern"),i("SpreadPropertyPattern"))]),i("AwaitExpression").bases("Expression").build("argument","all").field("argument",s(i("Expression"),null)).field("all",Boolean,u.false)},{"../lib/shared":17,"../lib/types":18,"./es6":6}],8:[function(e,t,n){e("./es7");var r=e("../lib/types"),i=e("../lib/shared").defaults,s=r.Type.def,u=r.Type.or;s("VariableDeclaration").field("declarations",[u(s("VariableDeclarator"),s("Identifier"))]),s("Property").field("value",u(s("Expression"),s("Pattern"))),s("ArrayPattern").field("elements",[u(s("Pattern"),s("SpreadElement"),null)]),s("ObjectPattern").field("properties",[u(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"))]),s("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),s("ExportBatchSpecifier").bases("Specifier").build(),s("ImportSpecifier").bases("ModuleSpecifier").build("id","name"),s("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("id"),s("ImportDefaultSpecifier").bases("ModuleSpecifier").build("id"),s("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",u(s("Declaration"),s("Expression"),null)).field("specifiers",[u(s("ExportSpecifier"),s("ExportBatchSpecifier"))],i.emptyArray).field("source",u(s("Literal"),null),i.null),s("ImportDeclaration").bases("Declaration").build("specifiers","source").field("specifiers",[u(s("ImportSpecifier"),s("ImportNamespaceSpecifier"),s("ImportDefaultSpecifier"))],i.emptyArray).field("source",s("Literal")),s("Block").bases("Comment").build("value","leading","trailing"),s("Line").bases("Comment").build("value","leading","trailing")},{"../lib/shared":17,"../lib/types":18,"./es7":7}],9:[function(e,t,n){e("./es7");var r=e("../lib/types"),i=r.Type.def,s=r.Type.or,u=e("../lib/shared").defaults;i("Type").bases("Node"),i("AnyTypeAnnotation").bases("Type").build(),i("MixedTypeAnnotation").bases("Type").build(),i("VoidTypeAnnotation").bases("Type").build(),i("NumberTypeAnnotation").bases("Type").build(),i("NumberLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Number).field("raw",String),i("StringTypeAnnotation").bases("Type").build(),i("StringLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",String).field("raw",String),i("BooleanTypeAnnotation").bases("Type").build(),i("BooleanLiteralTypeAnnotation").bases("Type").build("value","raw").field("value",Boolean).field("raw",String),i("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",i("Type")),i("NullableTypeAnnotation").bases("Type").build("typeAnnotation").field("typeAnnotation",i("Type")),i("NullLiteralTypeAnnotation").bases("Type").build(),i("NullTypeAnnotation").bases("Type").build(),i("ThisTypeAnnotation").bases("Type").build(),i("ExistsTypeAnnotation").bases("Type").build(),i("FunctionTypeAnnotation").bases("Type").build("params","returnType","rest","typeParameters").field("params",[i("FunctionTypeParam")]).field("returnType",i("Type")).field("rest",s(i("FunctionTypeParam"),null)).field("typeParameters",s(i("TypeParameterDeclaration"),null)),i("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",i("Identifier")).field("typeAnnotation",i("Type")).field("optional",Boolean),i("ArrayTypeAnnotation").bases("Type").build("elementType").field("elementType",i("Type")),i("ObjectTypeAnnotation").bases("Type").build("properties","indexers","callProperties").field("properties",[i("ObjectTypeProperty")]).field("indexers",[i("ObjectTypeIndexer")],u.emptyArray).field("callProperties",[i("ObjectTypeCallProperty")],u.emptyArray),i("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",s(i("Literal"),i("Identifier"))).field("value",i("Type")).field("optional",Boolean),i("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",i("Identifier")).field("key",i("Type")).field("value",i("Type")),i("ObjectTypeCallProperty").bases("Node").build("value").field("value",i("FunctionTypeAnnotation")).field("static",Boolean,u.false),i("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",s(i("Identifier"),i("QualifiedTypeIdentifier"))).field("id",i("Identifier")),i("GenericTypeAnnotation").bases("Type").build("id","typeParameters").field("id",s(i("Identifier"),i("QualifiedTypeIdentifier"))).field("typeParameters",s(i("TypeParameterInstantiation"),null)),i("MemberTypeAnnotation").bases("Type").build("object","property").field("object",i("Identifier")).field("property",s(i("MemberTypeAnnotation"),i("GenericTypeAnnotation"))),i("UnionTypeAnnotation").bases("Type").build("types").field("types",[i("Type")]),i("IntersectionTypeAnnotation").bases("Type").build("types").field("types",[i("Type")]),i("TypeofTypeAnnotation").bases("Type").build("argument").field("argument",i("Type")),i("Identifier").field("typeAnnotation",s(i("TypeAnnotation"),null),u.null),i("TypeParameterDeclaration").bases("Node").build("params").field("params",[i("TypeParameter")]),i("TypeParameterInstantiation").bases("Node").build("params").field("params",[i("Type")]),i("TypeParameter").bases("Type").build("name","variance","bound").field("name",String).field("variance",s("plus","minus",null),u.null).field("bound",s(i("TypeAnnotation"),null),u.null),i("Function").field("returnType",s(i("TypeAnnotation"),null),u.null).field("typeParameters",s(i("TypeParameterDeclaration"),null),u.null),i("ClassProperty").build("key","value","typeAnnotation","static").field("value",s(i("Expression"),null)).field("typeAnnotation",s(i("TypeAnnotation"),null)).field("static",Boolean,u.false),i("ClassImplements").field("typeParameters",s(i("TypeParameterInstantiation"),null),u.null),i("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",i("Identifier")).field("typeParameters",s(i("TypeParameterDeclaration"),null),u.null).field("body",i("ObjectTypeAnnotation")).field("extends",[i("InterfaceExtends")]),i("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),i("InterfaceExtends").bases("Node").build("id").field("id",i("Identifier")).field("typeParameters",s(i("TypeParameterInstantiation"),null)),i("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",i("Identifier")).field("typeParameters",s(i("TypeParameterDeclaration"),null)).field("right",i("Type")),i("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),i("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",i("Expression")).field("typeAnnotation",i("TypeAnnotation")),i("TupleTypeAnnotation").bases("Type").build("types").field("types",[i("Type")]),i("DeclareVariable").bases("Statement").build("id").field("id",i("Identifier")),i("DeclareFunction").bases("Statement").build("id").field("id",i("Identifier")),i("DeclareClass").bases("InterfaceDeclaration").build("id"),i("DeclareModule").bases("Statement").build("id","body").field("id",s(i("Identifier"),i("Literal"))).field("body",i("BlockStatement")),i("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",s(i("DeclareVariable"),i("DeclareFunction"),i("DeclareClass"),i("Type"),null)).field("specifiers",[s(i("ExportSpecifier"),i("ExportBatchSpecifier"))],u.emptyArray).field("source",s(i("Literal"),null),u.null)},{"../lib/shared":17,"../lib/types":18,"./es7":7}],10:[function(e,t,n){e("./es7");var r=e("../lib/types"),i=r.Type.def,s=r.Type.or,u=e("../lib/shared").defaults;i("JSXAttribute").bases("Node").build("name","value").field("name",s(i("JSXIdentifier"),i("JSXNamespacedName"))).field("value",s(i("Literal"),i("JSXExpressionContainer"),null),u.null),i("JSXIdentifier").bases("Identifier").build("name").field("name",String),i("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",i("JSXIdentifier")).field("name",i("JSXIdentifier")),i("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",s(i("JSXIdentifier"),i("JSXMemberExpression"))).field("property",i("JSXIdentifier")).field("computed",Boolean,u.false);var a=s(i("JSXIdentifier"),i("JSXNamespacedName"),i("JSXMemberExpression"));i("JSXSpreadAttribute").bases("Node").build("argument").field("argument",i("Expression"));var o=[s(i("JSXAttribute"),i("JSXSpreadAttribute"))];i("JSXExpressionContainer").bases("Expression").build("expression").field("expression",i("Expression")),i("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",i("JSXOpeningElement")).field("closingElement",s(i("JSXClosingElement"),null),u.null).field("children",[s(i("JSXElement"),i("JSXExpressionContainer"),i("JSXText"),i("Literal"))],u.emptyArray).field("name",a,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",o,function(){return this.openingElement.attributes},!0),i("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",a).field("attributes",o,u.emptyArray).field("selfClosing",Boolean,u.false),i("JSXClosingElement").bases("Node").build("name").field("name",a),i("JSXText").bases("Literal").build("value").field("value",String),i("JSXEmptyExpression").bases("Expression").build()},{"../lib/shared":17,"../lib/types":18,"./es7":7}],11:[function(e,t,n){e("./core");var r=e("../lib/types"),i=r.Type.def,s=r.Type.or,u=e("../lib/shared"),a=u.geq,o=u.defaults;i("Function").field("body",s(i("BlockStatement"),i("Expression"))),i("ForInStatement").build("left","right","body","each").field("each",Boolean,o.false),i("ForOfStatement").bases("Statement").build("left","right","body").field("left",s(i("VariableDeclaration"),i("Expression"))).field("right",i("Expression")).field("body",i("Statement")),i("LetStatement").bases("Statement").build("head","body").field("head",[i("VariableDeclarator")]).field("body",i("Statement")),i("LetExpression").bases("Expression").build("head","body").field("head",[i("VariableDeclarator")]).field("body",i("Expression")),i("GraphExpression").bases("Expression").build("index","expression").field("index",a(0)).field("expression",i("Literal")),i("GraphIndexExpression").bases("Expression").build("index").field("index",a(0))},{"../lib/shared":17,"../lib/types":18,"./core":4}],12:[function(e,t,n){var r=e("../main"),i=r.getFieldNames,s=r.getFieldValue,u=r.builtInTypes.array,a=r.builtInTypes.object,o=r.builtInTypes.Date,l=r.builtInTypes.RegExp,p=Object.prototype.hasOwnProperty;function c(e,t,n){return u.check(n)?n.length=0:n=null,f(e,t,n)}function h(e){return/[_$a-z][_$a-z0-9]*/i.test(e)?"."+e:"["+JSON.stringify(e)+"]"}function f(e,t,n){return e===t||(u.check(e)?function(e,t,n){u.assert(e);var r=e.length;if(!u.check(t)||t.length!==r)return n&&n.push("length"),!1;for(var i=0;i<r;++i){if(n&&n.push(i),i in e!=i in t)return!1;if(!f(e[i],t[i],n))return!1;if(n){var s=n.pop();if(s!==i)throw new Error(""+s)}}return!0}(e,t,n):a.check(e)?function(e,t,n){if(a.assert(e),!a.check(t))return!1;if(e.type!==t.type)return n&&n.push("type"),!1;var r=i(e),u=r.length,o=i(t),l=o.length;if(u===l){for(var c=0;c<u;++c){var h=r[c],d=s(e,h),m=s(t,h);if(n&&n.push(h),!f(d,m,n))return!1;if(n){var D=n.pop();if(D!==h)throw new Error(""+D)}}return!0}if(!n)return!1;var g=Object.create(null);for(c=0;c<u;++c)g[r[c]]=!0;for(c=0;c<l;++c){if(h=o[c],!p.call(g,h))return n.push(h),!1;delete g[h]}for(h in g){n.push(h);break}return!1}(e,t,n):o.check(e)?o.check(t)&&+e==+t:l.check(e)?l.check(t)&&e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.ignoreCase===t.ignoreCase:e==t)}c.assert=function(e,t){var n=[];if(!c(e,t,n)){if(0!==n.length)throw new Error("Nodes differ in the following path: "+n.map(h).join(""));if(e!==t)throw new Error("Nodes must be equal")}},t.exports=c},{"../main":19}],13:[function(e,t,n){var r=e("./types"),i=r.namedTypes,s=r.builders,u=r.builtInTypes.number,a=r.builtInTypes.array,o=e("./path"),l=e("./scope");function p(e,t,n){if(!(this instanceof p))throw new Error("NodePath constructor cannot be invoked without 'new'");o.call(this,e,t,n)}var c=p.prototype=Object.create(o.prototype,{constructor:{value:p,enumerable:!1,writable:!0,configurable:!0}});function h(e){return i.BinaryExpression.check(e)||i.LogicalExpression.check(e)}Object.defineProperties(c,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),c.replace=function(){return delete this.node,delete this.parent,delete this.scope,o.prototype.replace.apply(this,arguments)},c.prune=function(){var e=this.parent;return this.replace(),function(e){if(i.VariableDeclaration.check(e.node)){var t=e.get("declarations").value;if(!t||0===t.length)return e.prune()}else if(i.ExpressionStatement.check(e.node)){if(!e.get("expression").value)return e.prune()}else i.IfStatement.check(e.node)&&function(e){var t=e.get("test").value,n=e.get("alternate").value,r=e.get("consequent").value;if(r||n){if(!r&&n){var u=s.unaryExpression("!",t,!0);i.UnaryExpression.check(t)&&"!"===t.operator&&(u=t.argument),e.get("test").replace(u),e.get("consequent").replace(n),e.get("alternate").replace()}}else{var a=s.expressionStatement(t);e.replace(a)}}(e);return e}(e)},c._computeNode=function(){var e=this.value;if(i.Node.check(e))return e;var t=this.parentPath;return t&&t.node||null},c._computeParent=function(){var e=this.value,t=this.parentPath;if(!i.Node.check(e)){for(;t&&!i.Node.check(t.value);)t=t.parentPath;t&&(t=t.parentPath)}for(;t&&!i.Node.check(t.value);)t=t.parentPath;return t||null},c._computeScope=function(){var e=this.value,t=this.parentPath,n=t&&t.scope;return i.Node.check(e)&&l.isEstablishedBy(e)&&(n=new l(this,n)),n||null},c.getValueProperty=function(e){return r.getFieldValue(this.value,e)},c.needsParens=function(e){if(!(s=this.parentPath))return!1;var t=this.value;if(!i.Expression.check(t))return!1;if("Identifier"===t.type)return!1;for(;!i.Node.check(s.value);)if(!(s=s.parentPath))return!1;var n=s.value;switch(t.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return"MemberExpression"===n.type&&"object"===this.name&&n.object===t;case"BinaryExpression":case"LogicalExpression":switch(n.type){case"CallExpression":return"callee"===this.name&&n.callee===t;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return"object"===this.name&&n.object===t;case"BinaryExpression":case"LogicalExpression":var r=n.operator,s=f[r],a=t.operator,o=f[a];if(s>o)return!0;if(s===o&&"right"===this.name){if(n.right!==t)throw new Error("Nodes must be equal");return!0}default:return!1}case"SequenceExpression":switch(n.type){case"ForStatement":return!1;case"ExpressionStatement":return"expression"!==this.name;default:return!0}case"YieldExpression":switch(n.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"===n.type&&u.check(t.value)&&"object"===this.name&&n.object===t;case"AssignmentExpression":case"ConditionalExpression":switch(n.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return"callee"===this.name&&n.callee===t;case"ConditionalExpression":return"test"===this.name&&n.test===t;case"MemberExpression":return"object"===this.name&&n.object===t;default:return!1}default:if("NewExpression"===n.type&&"callee"===this.name&&n.callee===t)return d(t)}return!(!0===e||this.canBeFirstInStatement()||!this.firstInStatement())};var f={};function d(e){return!!i.CallExpression.check(e)||(a.check(e)?e.some(d):!!i.Node.check(e)&&r.someField(e,function(e,t){return d(t)}))}[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(e,t){e.forEach(function(e){f[e]=t})}),c.canBeFirstInStatement=function(){var e=this.node;return!i.FunctionExpression.check(e)&&!i.ObjectExpression.check(e)},c.firstInStatement=function(){return function(e){for(var t,n;e.parent;e=e.parent){if(t=e.node,n=e.parent.node,i.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(i.ExpressionStatement.check(n)&&"expression"===e.name){if(n.expression!==t)throw new Error("Nodes must be equal");return!0}if(i.SequenceExpression.check(n)&&"expressions"===e.parent.name&&0===e.name){if(n.expressions[0]!==t)throw new Error("Nodes must be equal")}else if(i.CallExpression.check(n)&&"callee"===e.name){if(n.callee!==t)throw new Error("Nodes must be equal")}else if(i.MemberExpression.check(n)&&"object"===e.name){if(n.object!==t)throw new Error("Nodes must be equal")}else if(i.ConditionalExpression.check(n)&&"test"===e.name){if(n.test!==t)throw new Error("Nodes must be equal")}else if(h(n)&&"left"===e.name){if(n.left!==t)throw new Error("Nodes must be equal")}else{if(!i.UnaryExpression.check(n)||n.prefix||"argument"!==e.name)return!1;if(n.argument!==t)throw new Error("Nodes must be equal")}}return!0}(this)},t.exports=p},{"./path":15,"./scope":16,"./types":18}],14:[function(e,t,n){var r=e("./types"),i=e("./node-path"),s=(r.namedTypes.Printable,r.builtInTypes.array),u=r.builtInTypes.object,a=r.builtInTypes.function,o=Object.prototype.hasOwnProperty;function l(){if(!(this instanceof l))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=function(e){var t=Object.create(null);for(var n in e)/^visit[A-Z]/.test(n)&&(t[n.slice("visit".length)]=!0);for(var i=r.computeSupertypeLookupTable(t),s=Object.create(null),u=(t=Object.keys(i)).length,o=0;o<u;++o){var l=t[o];n="visit"+i[l],a.check(e[n])&&(s[l]=n)}return s}(this),this._shouldVisitComments=o.call(this._methodNameTable,"Block")||o.call(this._methodNameTable,"Line"),this.Context=function(e){function t(n){if(!(this instanceof t))throw new Error("");if(!(this instanceof l))throw new Error("");if(!(n instanceof i))throw new Error("");Object.defineProperty(this,"visitor",{value:e,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=n,this.needToCallTraverse=!0,Object.seal(this)}if(!(e instanceof l))throw new Error("");var n=t.prototype=Object.create(e);return n.constructor=t,p(n,f),t}(this),this._visiting=!1,this._changeReported=!1}function p(e,t){for(var n in t)o.call(t,n)&&(e[n]=t[n]);return e}l.fromMethodsObject=function(e){if(e instanceof l)return e;if(!u.check(e))return new l;function t(){if(!(this instanceof t))throw new Error("Visitor constructor cannot be invoked without 'new'");l.call(this)}var n=t.prototype=Object.create(c);return n.constructor=t,p(n,e),p(t,l),a.assert(t.fromMethodsObject),a.assert(t.visit),new t},l.visit=function(e,t){return l.fromMethodsObject(t).visit(e)};var c=l.prototype;function h(e,t){if(!(e instanceof i))throw new Error("");if(!(t instanceof l))throw new Error("");var n=e.value;if(s.check(n))e.each(t.visitWithoutReset,t);else if(u.check(n)){var a=r.getFieldNames(n);t._shouldVisitComments&&n.comments&&a.indexOf("comments")<0&&a.push("comments");for(var p=a.length,c=[],h=0;h<p;++h){var f=a[h];o.call(n,f)||(n[f]=r.getFieldValue(n,f)),c.push(e.get(f))}for(h=0;h<p;++h)t.visitWithoutReset(c[h])}else;return e.value}c.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var e=arguments.length,t=new Array(e),n=0;n<e;++n)t[n]=arguments[n];t[0]instanceof i||(t[0]=new i({root:t[0]}).get("root")),this.reset.apply(this,t);try{var r=this.visitWithoutReset(t[0]),s=!0}finally{if(this._visiting=!1,!s&&this._abortRequested)return t[0].value}return r},c.AbortRequest=function(){},c.abort=function(){var e=this;e._abortRequested=!0;var t=new e.AbortRequest;throw t.cancel=function(){e._abortRequested=!1},t},c.reset=function(e){},c.visitWithoutReset=function(e){if(this instanceof this.Context)return this.visitor.visitWithoutReset(e);if(!(e instanceof i))throw new Error("");var t=e.value,n=t&&"object"==typeof t&&"string"==typeof t.type&&this._methodNameTable[t.type];if(!n)return h(e,this);var r=this.acquireContext(e);try{return r.invokeVisitorMethod(n)}finally{this.releaseContext(r)}},c.acquireContext=function(e){return 0===this._reusableContextStack.length?new this.Context(e):this._reusableContextStack.pop().reset(e)},c.releaseContext=function(e){if(!(e instanceof this.Context))throw new Error("");this._reusableContextStack.push(e),e.currentPath=null},c.reportChanged=function(){this._changeReported=!0},c.wasChangeReported=function(){return this._changeReported};var f=Object.create(null);f.reset=function(e){if(!(this instanceof this.Context))throw new Error("");if(!(e instanceof i))throw new Error("");return this.currentPath=e,this.needToCallTraverse=!0,this},f.invokeVisitorMethod=function(e){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof i))throw new Error("");var t=this.visitor[e].call(this,this.currentPath);if(!1===t?this.needToCallTraverse=!1:void 0!==t&&(this.currentPath=this.currentPath.replace(t)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),!1!==this.needToCallTraverse)throw new Error("Must either call this.traverse or return false in "+e);var n=this.currentPath;return n&&n.value},f.traverse=function(e,t){if(!(this instanceof this.Context))throw new Error("");if(!(e instanceof i))throw new Error("");if(!(this.currentPath instanceof i))throw new Error("");return this.needToCallTraverse=!1,h(e,l.fromMethodsObject(t||this.visitor))},f.visit=function(e,t){if(!(this instanceof this.Context))throw new Error("");if(!(e instanceof i))throw new Error("");if(!(this.currentPath instanceof i))throw new Error("");return this.needToCallTraverse=!1,l.fromMethodsObject(t||this.visitor).visitWithoutReset(e)},f.reportChanged=function(){this.visitor.reportChanged()},f.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},t.exports=l},{"./node-path":13,"./types":18}],15:[function(e,t,n){var r=Object.prototype.hasOwnProperty,i=e("./types"),s=i.builtInTypes.array,u=i.builtInTypes.number,a=Array.prototype;a.slice,a.map;function o(e,t,n){if(!(this instanceof o))throw new Error("Path constructor cannot be invoked without 'new'");if(t){if(!(t instanceof o))throw new Error("")}else t=null,n=null;this.value=e,this.parentPath=t,this.name=n,this.__childCache=null}var l=o.prototype;function p(e){return e.__childCache||(e.__childCache=Object.create(null))}function c(e,t){var n=p(e),i=e.getValueProperty(t),s=n[t];return r.call(n,t)&&s.value===i||(s=n[t]=new e.constructor(i,e,t)),s}function h(){}function f(e,t,n,i){if(s.assert(e.value),0===t)return h;var a=e.value.length;if(a<1)return h;var o=arguments.length;2===o?(n=0,i=a):3===o?(n=Math.max(n,0),i=a):(n=Math.max(n,0),i=Math.min(i,a)),u.assert(n),u.assert(i);for(var l=Object.create(null),c=p(e),f=n;f<i;++f)if(r.call(e.value,f)){var d=e.get(f);if(d.name!==f)throw new Error("");var m=f+t;d.name=m,l[m]=d,delete c[f]}return delete c.length,function(){for(var t in l){var n=l[t];if(n.name!==+t)throw new Error("");c[t]=n,e.value[t]=n.value}}}l.getValueProperty=function(e){return this.value[e]},l.get=function(e){for(var t=this,n=arguments,r=n.length,i=0;i<r;++i)t=c(t,n[i]);return t},l.each=function(e,t){var n=[],i=this.value.length,s=0;for(s=0;s<i;++s)r.call(this.value,s)&&(n[s]=this.get(s));for(t=t||this,s=0;s<i;++s)r.call(n,s)&&e.call(t,n[s])},l.map=function(e,t){var n=[];return this.each(function(t){n.push(e.call(this,t))},t),n},l.filter=function(e,t){var n=[];return this.each(function(t){e.call(this,t)&&n.push(t)},t),n},l.shift=function(){var e=f(this,-1),t=this.value.shift();return e(),t},l.unshift=function(e){var t=f(this,arguments.length),n=this.value.unshift.apply(this.value,arguments);return t(),n},l.push=function(e){return s.assert(this.value),delete p(this).length,this.value.push.apply(this.value,arguments)},l.pop=function(){s.assert(this.value);var e=p(this);return delete e[this.value.length-1],delete e.length,this.value.pop()},l.insertAt=function(e,t){var n=arguments.length,r=f(this,n-1,e);if(r===h)return this;e=Math.max(e,0);for(var i=1;i<n;++i)this.value[e+i-1]=arguments[i];return r(),this},l.insertBefore=function(e){for(var t=this.parentPath,n=arguments.length,r=[this.name],i=0;i<n;++i)r.push(arguments[i]);return t.insertAt.apply(t,r)},l.insertAfter=function(e){for(var t=this.parentPath,n=arguments.length,r=[this.name+1],i=0;i<n;++i)r.push(arguments[i]);return t.insertAt.apply(t,r)},l.replace=function(e){var t=[],n=this.parentPath.value,r=p(this.parentPath),i=arguments.length;if(function(e){if(!(e instanceof o))throw new Error("");var t=e.parentPath;if(!t)return e;var n=t.value,r=p(t);if(n[e.name]===e.value)r[e.name]=e;else if(s.check(n)){var i=n.indexOf(e.value);i>=0&&(r[e.name=i]=e)}else n[e.name]=e.value,r[e.name]=e;if(n[e.name]!==e.value)throw new Error("");if(e.parentPath.get(e.name)!==e)throw new Error("")}(this),s.check(n)){for(var u=n.length,a=f(this.parentPath,i-1,this.name+1),l=[this.name,1],c=0;c<i;++c)l.push(arguments[c]);if(n.splice.apply(n,l)[0]!==this.value)throw new Error("");if(n.length!==u-1+i)throw new Error("");if(a(),0===i)delete this.value,delete r[this.name],this.__childCache=null;else{if(n[this.name]!==e)throw new Error("");for(this.value!==e&&(this.value=e,this.__childCache=null),c=0;c<i;++c)t.push(this.parentPath.get(this.name+c));if(t[0]!==this)throw new Error("")}}else if(1===i)this.value!==e&&(this.__childCache=null),this.value=n[this.name]=e,t.push(this);else{if(0!==i)throw new Error("Could not replace path");delete n[this.name],delete this.value,this.__childCache=null}return t},t.exports=o},{"./types":18}],16:[function(e,t,n){var r=e("./types"),i=r.Type,s=r.namedTypes,u=s.Node,a=s.Expression,o=r.builtInTypes.array,l=Object.prototype.hasOwnProperty,p=r.builders;function c(t,n){if(!(this instanceof c))throw new Error("Scope constructor cannot be invoked without 'new'");if(!(t instanceof e("./node-path")))throw new Error("");var r;if(f.assert(t.value),n){if(!(n instanceof c))throw new Error("");r=n.depth+1}else n=null,r=0;Object.defineProperties(this,{path:{value:t},node:{value:t.value},isGlobal:{value:!n,enumerable:!0},depth:{value:r},parent:{value:n},bindings:{value:{}},types:{value:{}}})}var h=[s.Program,s.Function,s.CatchClause],f=i.or.apply(i,h);c.isEstablishedBy=function(e){return f.check(e)};var d=c.prototype;function m(e,t,n){var i=e.value;e.parent&&s.FunctionExpression.check(e.parent.node)&&e.parent.node.id&&g(e.parent.get("id"),t),i&&(o.check(i)?e.each(function(e){D(e,t,n)}):s.Function.check(i)?(e.get("params").each(function(e){g(e,t)}),D(e.get("body"),t,n)):s.TypeAlias&&s.TypeAlias.check(i)?function(e,t){var n=e.value;s.Pattern.assert(n),s.Identifier.check(n)&&(l.call(t,n.name)?t[n.name].push(e):t[n.name]=[e])}(e.get("id"),n):s.VariableDeclarator.check(i)?(g(e.get("id"),t),D(e.get("init"),t,n)):"ImportSpecifier"===i.type||"ImportNamespaceSpecifier"===i.type||"ImportDefaultSpecifier"===i.type?g(e.get(i.local?"local":i.name?"name":"id"),t):u.check(i)&&!a.check(i)&&r.eachField(i,function(r,i){var s=e.get(r);if(!function(e,t){if(e.value===t)return!0;if(Array.isArray(e.value)&&0===e.value.length&&Array.isArray(t)&&0===t.length)return!0;return!1}(s,i))throw new Error("");D(s,t,n)}))}function D(e,t,n){var r=e.value;if(!r||a.check(r));else if(s.FunctionDeclaration.check(r))g(e.get("id"),t);else if(s.ClassDeclaration&&s.ClassDeclaration.check(r))g(e.get("id"),t);else if(f.check(r)){if(s.CatchClause.check(r)){var i=r.param.name,u=l.call(t,i);m(e.get("body"),t,n),u||delete t[i]}}else m(e,t,n)}function g(e,t){var n=e.value;s.Pattern.assert(n),s.Identifier.check(n)?l.call(t,n.name)?t[n.name].push(e):t[n.name]=[e]:s.ObjectPattern&&s.ObjectPattern.check(n)?e.get("properties").each(function(e){var n=e.value;s.Pattern.check(n)?g(e,t):s.Property.check(n)?g(e.get("value"),t):s.SpreadProperty&&s.SpreadProperty.check(n)&&g(e.get("argument"),t)}):s.ArrayPattern&&s.ArrayPattern.check(n)?e.get("elements").each(function(e){var n=e.value;s.Pattern.check(n)?g(e,t):s.SpreadElement&&s.SpreadElement.check(n)&&g(e.get("argument"),t)}):s.PropertyPattern&&s.PropertyPattern.check(n)?g(e.get("pattern"),t):(s.SpreadElementPattern&&s.SpreadElementPattern.check(n)||s.SpreadPropertyPattern&&s.SpreadPropertyPattern.check(n))&&g(e.get("argument"),t)}d.didScan=!1,d.declares=function(e){return this.scan(),l.call(this.bindings,e)},d.declaresType=function(e){return this.scan(),l.call(this.types,e)},d.declareTemporary=function(e){if(e){if(!/^[a-z$_]/i.test(e))throw new Error("")}else e="t$";e+=this.depth.toString(36)+"$",this.scan();for(var t=0;this.declares(e+t);)++t;var n=e+t;return this.bindings[n]=r.builders.identifier(n)},d.injectTemporary=function(e,t){e||(e=this.declareTemporary());var n=this.path.get("body");return s.BlockStatement.check(n.value)&&(n=n.get("body")),n.unshift(p.variableDeclaration("var",[p.variableDeclarator(e,t||null)])),e},d.scan=function(e){if(e||!this.didScan){for(var t in this.bindings)delete this.bindings[t];n=this.path,r=this.bindings,i=this.types,u=n.value,f.assert(u),s.CatchClause.check(u)?g(n.get("param"),r):m(n,r,i),this.didScan=!0}var n,r,i,u},d.getBindings=function(){return this.scan(),this.bindings},d.getTypes=function(){return this.scan(),this.types},d.lookup=function(e){for(var t=this;t&&!t.declares(e);t=t.parent);return t},d.lookupType=function(e){for(var t=this;t&&!t.declaresType(e);t=t.parent);return t},d.getGlobalScope=function(){for(var e=this;!e.isGlobal;)e=e.parent;return e},t.exports=c},{"./node-path":13,"./types":18}],17:[function(e,t,n){var r=e("../lib/types"),i=r.Type,s=r.builtInTypes,u=s.number;n.geq=function(e){return new i(function(t){return u.check(t)&&t>=e},u+" >= "+e)},n.defaults={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){}};var a=i.or(s.string,s.number,s.boolean,s.null,s.undefined);n.isPrimitive=new i(function(e){if(null===e)return!0;var t=typeof e;return!("object"===t||"function"===t)},a.toString())},{"../lib/types":18}],18:[function(e,t,n){var r=Array.prototype,i=r.slice,s=(r.map,r.forEach,Object.prototype),u=s.toString,a=u.call(function(){}),o=u.call(""),l=s.hasOwnProperty;function p(e,t){var n=this;if(!(n instanceof p))throw new Error("Type constructor cannot be invoked without 'new'");if(u.call(e)!==a)throw new Error(e+" is not a function");var r=u.call(t);if(r!==a&&r!==o)throw new Error(t+" is neither a function nor a string");Object.defineProperties(n,{name:{value:t},check:{value:function(t,r){var i=e.call(n,t,r);return!i&&r&&u.call(r)===a&&r(n,t),i}}})}var c=p.prototype;function h(e){return C.check(e)?"{"+Object.keys(e).map(function(t){return t+": "+e[t]}).join(", ")+"}":A.check(e)?"["+e.map(h).join(", ")+"]":JSON.stringify(e)}n.Type=p,c.assert=function(e,t){if(!this.check(e,t)){var n=h(e);throw new Error(n+" does not match type "+this)}return!0},c.toString=function(){var e=this.name;return g.check(e)?e:E.check(e)?e.call(this)+"":e+" type"};var f=[],d=[],m={};function D(e,t){var n=u.call(e),r=new p(function(e){return u.call(e)===n},t);return m[t]=r,e&&"function"==typeof e.constructor&&(f.push(e.constructor),d.push(r)),r}n.builtInTypes=m;var g=D("truthy","string"),E=D(function(){},"function"),A=D([],"array"),C=D({},"object"),y=(D(/./,"RegExp"),D(new Date,"Date"),D(3,"number")),b=(D(!0,"boolean"),D(null,"null"),D(void 0,"undefined"));function F(e,t){if(e instanceof p)return e;if(e instanceof S)return e.type;if(A.check(e))return p.fromArray(e);if(C.check(e))return p.fromObject(e);if(E.check(e)){var n=f.indexOf(e);return n>=0?d[n]:new p(e,t)}return new p(function(t){return t===e},b.check(t)?function(){return e+""}:t)}function x(e,t,n,r){if(!(this instanceof x))throw new Error("Field constructor cannot be invoked without 'new'");g.assert(e);var i={name:{value:e},type:{value:t=F(t)},hidden:{value:!!r}};E.check(n)&&(i.defaultFn={value:n}),Object.defineProperties(this,i)}p.or=function(){for(var e=[],t=arguments.length,n=0;n<t;++n)e.push(F(arguments[n]));return new p(function(n,r){for(var i=0;i<t;++i)if(e[i].check(n,r))return!0;return!1},function(){return e.join(" | ")})},p.fromArray=function(e){if(!A.check(e))throw new Error("");if(1!==e.length)throw new Error("only one element type is permitted for typed arrays");return F(e[0]).arrayOf()},c.arrayOf=function(){var e=this;return new p(function(t,n){return A.check(t)&&t.every(function(t){return e.check(t,n)})},function(){return"["+e+"]"})},p.fromObject=function(e){var t=Object.keys(e).map(function(t){return new x(t,e[t])});return new p(function(e,n){return C.check(e)&&t.every(function(t){return t.type.check(e[t.name],n)})},function(){return"{ "+t.join(", ")+" }"})};var v=x.prototype;v.toString=function(){return JSON.stringify(this.name)+": "+this.type},v.getValue=function(e){var t=e[this.name];return b.check(t)?(this.defaultFn&&(t=this.defaultFn.call(e)),t):t},p.def=function(e){return g.assert(e),l.call(B,e)?B[e]:B[e]=new S(e)};var B=Object.create(null);function S(e){var t=this;if(!(t instanceof S))throw new Error("Def constructor cannot be invoked without 'new'");Object.defineProperties(t,{typeName:{value:e},baseNames:{value:[]},ownFields:{value:Object.create(null)},allSupertypes:{value:Object.create(null)},supertypeList:{value:[]},allFields:{value:Object.create(null)},fieldNames:{value:[]},type:{value:new p(function(e,n){return t.check(e,n)},e)}})}S.fromValue=function(e){if(e&&"object"==typeof e){var t=e.type;if("string"==typeof t&&l.call(B,t)){var n=B[t];if(n.finalized)return n}}return null};var w=S.prototype;w.isSupertypeOf=function(e){if(e instanceof S){if(!0!==this.finalized||!0!==e.finalized)throw new Error("");return l.call(e.allSupertypes,this.typeName)}throw new Error(e+" is not a Def")},n.getSupertypeNames=function(e){if(!l.call(B,e))throw new Error("");var t=B[e];if(!0!==t.finalized)throw new Error("");return t.supertypeList.slice(1)},n.computeSupertypeLookupTable=function(e){for(var t={},n=Object.keys(B),r=n.length,i=0;i<r;++i){var s=n[i],u=B[s];if(!0!==u.finalized)throw new Error(""+s);for(var a=0;a<u.supertypeList.length;++a){var o=u.supertypeList[a];if(l.call(e,o)){t[s]=o;break}}}return t},w.checkAllFields=function(e,t){var n=this.allFields;if(!0!==this.finalized)throw new Error(""+this.typeName);return C.check(e)&&Object.keys(n).every(function(r){var i=n[r],s=i.type,u=i.getValue(e);return s.check(u,t)})},w.check=function(e,t){if(!0!==this.finalized)throw new Error("prematurely checking unfinalized type "+this.typeName);if(!C.check(e))return!1;var n=S.fromValue(e);return n?t&&n===this?this.checkAllFields(e,t):!!this.isSupertypeOf(n)&&(!t||n.checkAllFields(e,t)&&this.checkAllFields(e,!1)):("SourceLocation"===this.typeName||"Position"===this.typeName)&&this.checkAllFields(e,t)},w.bases=function(){var e=i.call(arguments),t=this.baseNames;if(this.finalized){if(e.length!==t.length)throw new Error("");for(var n=0;n<e.length;n++)if(e[n]!==t[n])throw new Error("");return this}return e.forEach(function(e){g.assert(e),t.indexOf(e)<0&&t.push(e)}),this},Object.defineProperty(w,"buildable",{value:!1});var k={};n.builders=k;var _={};n.defineMethod=function(e,t){var n=_[e];return b.check(t)?delete _[e]:(E.assert(t),Object.defineProperty(_,e,{enumerable:!0,configurable:!0,value:t})),n};var T=g.arrayOf();function P(e){return e.replace(/^[A-Z]+/,function(e){var t=e.length;switch(t){case 0:return"";case 1:return e.toLowerCase();default:return e.slice(0,t-1).toLowerCase()+e.charAt(t-1)}})}function L(e){return(e=P(e)).replace(/(Expression)?$/,"Statement")}w.build=function(){var e=this,t=i.call(arguments);return T.assert(t),Object.defineProperty(e,"buildParams",{value:t,writable:!1,enumerable:!1,configurable:!0}),e.buildable?e:(e.field("type",String,function(){return e.typeName}),Object.defineProperty(e,"buildable",{value:!0}),Object.defineProperty(k,P(e.typeName),{enumerable:!0,value:function(){var t=arguments,n=t.length,r=Object.create(_);if(!e.finalized)throw new Error("attempting to instantiate unfinalized type "+e.typeName);function i(i,s){if(!l.call(r,i)){var u=e.allFields;if(!l.call(u,i))throw new Error(""+i);var a,o=u[i],p=o.type;if(y.check(s)&&s<n)a=t[s];else{if(!o.defaultFn){var c="no value or default function given for field "+JSON.stringify(i)+" of "+e.typeName+"("+e.buildParams.map(function(e){return u[e]}).join(", ")+")";throw new Error(c)}a=o.defaultFn.call(r)}if(!p.check(a))throw new Error(h(a)+" does not match field "+o+" of type "+e.typeName);r[i]=a}}if(e.buildParams.forEach(function(e,t){i(e,t)}),Object.keys(e.allFields).forEach(function(e){i(e)}),r.type!==e.typeName)throw new Error("");return r}}),e)},n.getBuilderName=P,n.getStatementBuilderName=L,w.field=function(e,t,n,r){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(e)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[e]=new x(e,t,n,r),this)};var N={};function I(e){var t=S.fromValue(e);if(t)return t.fieldNames.slice(0);if("type"in e)throw new Error("did not recognize object of type "+JSON.stringify(e.type));return Object.keys(e)}function O(e,t){var n=S.fromValue(e);if(n){var r=n.allFields[t];if(r)return r.getValue(e)}return e[t]}function M(e,t){return Object.keys(t).forEach(function(n){e[n]=t[n]}),e}n.namedTypes=N,n.getFieldNames=I,n.getFieldValue=O,n.eachField=function(e,t,n){I(e).forEach(function(n){t.call(this,n,O(e,n))},n)},n.someField=function(e,t,n){return I(e).some(function(n){return t.call(this,n,O(e,n))},n)},Object.defineProperty(w,"finalized",{value:!1}),w.finalize=function(){var e=this;if(!e.finalized){var t=e.allFields,n=e.allSupertypes;for(var r in e.baseNames.forEach(function(r){var i=B[r];if(!(i instanceof S)){var s="unknown supertype name "+JSON.stringify(r)+" for subtype "+JSON.stringify(e.typeName);throw new Error(s)}i.finalize(),M(t,i.allFields),M(n,i.allSupertypes)}),M(t,e.ownFields),n[e.typeName]=e,e.fieldNames.length=0,t)l.call(t,r)&&!t[r].hidden&&e.fieldNames.push(r);Object.defineProperty(N,e.typeName,{enumerable:!0,value:e.type}),Object.defineProperty(e,"finalized",{value:!0}),function(e,t){t.length=0,t.push(e);for(var n=Object.create(null),r=0;r<t.length;++r){e=t[r];var i=B[e];if(!0!==i.finalized)throw new Error("");l.call(n,e)&&delete t[n[e]],n[e]=r,t.push.apply(t,i.baseNames)}for(var s=0,u=s,a=t.length;u<a;++u)l.call(t,u)&&(t[s++]=t[u]);t.length=s}(e.typeName,e.supertypeList),e.buildable&&e.supertypeList.lastIndexOf("Expression")>=0&&function(e){var t=L(e);if(k[t])return;var n=k[P(e)];if(!n)return;k[t]=function(){return k.expressionStatement(n.apply(k,arguments))}}(e.typeName)}},n.finalize=function(){Object.keys(B).forEach(function(e){B[e].finalize()})}},{}],19:[function(e,t,n){var r=e("./lib/types");e("./def/core"),e("./def/es6"),e("./def/es7"),e("./def/mozilla"),e("./def/e4x"),e("./def/jsx"),e("./def/flow"),e("./def/esprima"),e("./def/babel"),r.finalize(),n.Type=r.Type,n.builtInTypes=r.builtInTypes,n.namedTypes=r.namedTypes,n.builders=r.builders,n.defineMethod=r.defineMethod,n.getFieldNames=r.getFieldNames,n.getFieldValue=r.getFieldValue,n.eachField=r.eachField,n.someField=r.someField,n.getSupertypeNames=r.getSupertypeNames,n.astNodesAreEquivalent=e("./lib/equiv"),n.finalize=r.finalize,n.NodePath=e("./lib/node-path"),n.PathVisitor=e("./lib/path-visitor"),n.visit=n.PathVisitor.visit},{"./def/babel":3,"./def/core":4,"./def/e4x":5,"./def/es6":6,"./def/es7":7,"./def/esprima":8,"./def/flow":9,"./def/jsx":10,"./def/mozilla":11,"./lib/equiv":12,"./lib/node-path":13,"./lib/path-visitor":14,"./lib/types":18}],20:[function(e,t,n){t.exports=function(){for(var e=0;e<arguments.length;e++)if(void 0!==arguments[e])return arguments[e]}},{}],21:[function(e,t,n){(function(t){!function(){"use strict";var r,i,s,u,a,o,l,p,c,h,f,d,m,D,g,E,A,C,y,b,F,x,v,B,S,w;function k(e){return Y.Statement.hasOwnProperty(e.type)}a=e("estraverse"),o=e("esutils"),r=a.Syntax,s={"||":(i={Sequence:0,Yield:1,Assignment:1,Conditional:2,ArrowFunction:2,LogicalOR:3,LogicalAND:4,BitwiseOR:5,BitwiseXOR:6,BitwiseAND:7,Equality:8,Relational:9,BitwiseSHIFT:10,Additive:11,Multiplicative:12,Exponentiation:13,Await:14,Unary:14,Postfix:15,Call:16,New:17,TaggedTemplate:18,Member:19,Primary:20}).LogicalOR,"&&":i.LogicalAND,"|":i.BitwiseOR,"^":i.BitwiseXOR,"&":i.BitwiseAND,"==":i.Equality,"!=":i.Equality,"===":i.Equality,"!==":i.Equality,is:i.Equality,isnt:i.Equality,"<":i.Relational,">":i.Relational,"<=":i.Relational,">=":i.Relational,in:i.Relational,instanceof:i.Relational,"<<":i.BitwiseSHIFT,">>":i.BitwiseSHIFT,">>>":i.BitwiseSHIFT,"+":i.Additive,"-":i.Additive,"*":i.Multiplicative,"%":i.Multiplicative,"/":i.Multiplicative,"**":i.Exponentiation};var _=7,T=1;function P(e,t){var n="";for(t|=0;t>0;t>>>=1,e+=e)1&t&&(n+=e);return n}function L(e){var t=e.length;return t&&o.code.isLineTerminator(e.charCodeAt(t-1))}function N(e,t){var n;for(n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function I(e,t){var n,r;function i(e){return"object"==typeof e&&e instanceof Object&&!(e instanceof RegExp)}for(n in t)t.hasOwnProperty(n)&&(i(r=t[n])?i(e[n])?I(e[n],r):e[n]=I({},r):e[n]=r);return e}function O(e,t){return 8232==(-2&e)?(t?"u":"\\u")+(8232===e?"2028":"2029"):10===e||13===e?(t?"":"\\")+(10===e?"n":"r"):String.fromCharCode(e)}function M(e,t){var n;return 8===e?"\\b":12===e?"\\f":9===e?"\\t":(n=e.toString(16).toUpperCase(),c||e>255?"\\u"+"0000".slice(n.length)+n:0!==e||o.code.isDecimalDigit(t)?11===e?"\\x0B":"\\x"+"00".slice(n.length)+n:"\\0")}function R(e){if(92===e)return"\\\\";if(10===e)return"\\n";if(13===e)return"\\r";if(8232===e)return"\\u2028";if(8233===e)return"\\u2029";throw new Error("Incorrectly classified character")}function j(e,t){if(!x)return Array.isArray(e)?function e(t){var n,r,i,s="";for(n=0,r=t.length;n<r;++n)i=t[n],s+=Array.isArray(i)?e(i):i;return s}(e):e;if(null==t){if(e instanceof u)return e;t={}}return null==t.loc?new u(null,null,x,e,t.name||null):new u(t.loc.start.line,t.loc.start.column,!0===x?t.loc.source||null:x,e,t.name||null)}function q(){return g||" "}function V(e,t){var n,r,i,s;return 0===(n=j(e).toString()).length?[t]:0===(r=j(t).toString()).length?[e]:(i=n.charCodeAt(n.length-1),s=r.charCodeAt(0),(43===i||45===i)&&i===s||o.code.isIdentifierPartES5(i)&&o.code.isIdentifierPartES5(s)||47===i&&105===s?[e,q(),t]:o.code.isWhiteSpace(i)||o.code.isLineTerminator(i)||o.code.isWhiteSpace(s)||o.code.isLineTerminator(s)?[e,t]:[e,g,t])}function U(e){return[l,e]}function W(e){var t;t=l,e(l+=p),l=t}function X(e,t){if("Line"===e.type){if(L(e.value))return"//"+e.value;var n="//"+e.value;return B||(n+="\n"),n}return b.format.indent.adjustMultilineComment&&/[\n\r]/.test(e.value)?function(e,t){var n,r,i,s,u,a,p,c;for(n=e.split(/\r\n|[\r\n]/),a=Number.MAX_VALUE,r=1,i=n.length;r<i;++r){for(s=n[r],u=0;u<s.length&&o.code.isWhiteSpace(s.charCodeAt(u));)++u;a>u&&(a=u)}for(void 0!==t?(p=l,"*"===n[1][a]&&(t+=" "),l=t):(1&a&&--a,p=l),r=1,i=n.length;r<i;++r)c=j(U(n[r].slice(a))),n[r]=x?c.join(""):c;return l=p,n.join("\n")}("/*"+e.value+"*/",t):"/*"+e.value+"*/"}function z(e,t){var n,i,s,u,a,c,h,f,d,m,D,g;if(e.leadingComments&&e.leadingComments.length>0){if(u=t,B){for(t=[],f=(s=e.leadingComments[0]).extendedRange,d=s.range,(g=((D=v.substring(f[0],d[0])).match(/\n/g)||[]).length)>0?(t.push(P("\n",g)),t.push(U(X(s)))):(t.push(D),t.push(X(s))),m=d,n=1,i=e.leadingComments.length;n<i;n++)d=(s=e.leadingComments[n]).range,g=(v.substring(m[1],d[0]).match(/\n/g)||[]).length,t.push(P("\n",g)),t.push(U(X(s))),m=d;g=(v.substring(d[1],f[1]).match(/\n/g)||[]).length,t.push(P("\n",g))}else for(s=e.leadingComments[0],t=[],C&&e.type===r.Program&&0===e.body.length&&t.push("\n"),t.push(X(s)),L(j(t).toString())||t.push("\n"),n=1,i=e.leadingComments.length;n<i;++n)L(j(h=[X(s=e.leadingComments[n])]).toString())||h.push("\n"),t.push(U(h));t.push(U(u))}if(e.trailingComments)if(B)f=(s=e.trailingComments[0]).extendedRange,d=s.range,(g=((D=v.substring(f[0],d[0])).match(/\n/g)||[]).length)>0?(t.push(P("\n",g)),t.push(U(X(s)))):(t.push(D),t.push(X(s)));else for(a=!L(j(t).toString()),c=P(" ",function(e){var t;for(t=e.length-1;t>=0&&!o.code.isLineTerminator(e.charCodeAt(t));--t);return e.length-1-t}(j([l,t,p]).toString())),n=0,i=e.trailingComments.length;n<i;++n)s=e.trailingComments[n],a?(t=0===n?[t,p]:[t,c]).push(X(s,c)):t=[t,U(X(s))],n===i-1||L(j(t).toString())||(t=[t,"\n"]);return t}function G(e,t,n){var r,i=0;for(r=e;r<t;r++)"\n"===v[r]&&i++;for(r=1;r<i;r++)n.push(D)}function J(e,t,n){return t<n?["(",e,")"]:e}function $(e){var t,n,r;for(t=1,n=(r=e.split(/\r\n|\n/)).length;t<n;t++)r[t]=D+l+r[t];return r}function Y(){}function K(e){return j(e.name,e)}function H(e,t){return e.async?"async"+(t?q():g):""}function Q(e){return e.generator&&!b.moz.starlessGenerator?"*"+g:""}function Z(e){var t=e.value,n="";return t.async&&(n+=H(t,!e.computed)),t.generator&&(n+=Q(t)?"*":""),n}function ee(e){var t;if(t=new Y,k(e))return t.generateStatement(e,T);if(function(e){return Y.Expression.hasOwnProperty(e.type)}(e))return t.generateExpression(e,i.Sequence,_);throw new Error("Unknown node type: "+e.type)}Y.prototype.maybeBlock=function(e,t){var n,i,s=this;return i=!b.comment||!e.leadingComments,e.type===r.BlockStatement&&i?[g,this.generateStatement(e,t)]:e.type===r.EmptyStatement&&i?";":(W(function(){n=[D,U(s.generateStatement(e,t))]}),n)},Y.prototype.maybeBlockSuffix=function(e,t){var n=L(j(t).toString());return e.type!==r.BlockStatement||b.comment&&e.leadingComments||n?n?[t,l]:[t,D,l]:[t,g]},Y.prototype.generatePattern=function(e,t,n){return e.type===r.Identifier?K(e):this.generateExpression(e,t,n)},Y.prototype.generateFunctionParams=function(e){var t,n,s,u;if(u=!1,e.type!==r.ArrowFunctionExpression||e.rest||e.defaults&&0!==e.defaults.length||1!==e.params.length||e.params[0].type!==r.Identifier){for((s=e.type===r.ArrowFunctionExpression?[H(e,!1)]:[]).push("("),e.defaults&&(u=!0),t=0,n=e.params.length;t<n;++t)u&&e.defaults[t]?s.push(this.generateAssignment(e.params[t],e.defaults[t],"=",i.Assignment,_)):s.push(this.generatePattern(e.params[t],i.Assignment,_)),t+1<n&&s.push(","+g);e.rest&&(e.params.length&&s.push(","+g),s.push("..."),s.push(K(e.rest))),s.push(")")}else s=[H(e,!0),K(e.params[0])];return s},Y.prototype.generateFunctionBody=function(e){var t,n;return t=this.generateFunctionParams(e),e.type===r.ArrowFunctionExpression&&(t.push(g),t.push("=>")),e.expression?(t.push(g),"{"===(n=this.generateExpression(e.body,i.Assignment,_)).toString().charAt(0)&&(n=["(",n,")"]),t.push(n)):t.push(this.maybeBlock(e.body,9)),t},Y.prototype.generateIterationForStatement=function(e,t,n){var s=["for"+(t.await?q()+"await":"")+g+"("],u=this;return W(function(){t.left.type===r.VariableDeclaration?W(function(){s.push(t.left.kind+q()),s.push(u.generateStatement(t.left.declarations[0],0))}):s.push(u.generateExpression(t.left,i.Call,_)),s=V(s,e),s=[V(s,u.generateExpression(t.right,i.Assignment,_)),")"]}),s.push(this.maybeBlock(t.body,n)),s},Y.prototype.generatePropertyKey=function(e,t){var n=[];return t&&n.push("["),n.push(this.generateExpression(e,i.Assignment,_)),t&&n.push("]"),n},Y.prototype.generateAssignment=function(e,t,n,r,s){return i.Assignment<r&&(s|=1),J([this.generateExpression(e,i.Call,s),g+n+g,this.generateExpression(t,i.Assignment,s)],i.Assignment,r)},Y.prototype.semicolon=function(e){return!A&&32&e?"":";"},Y.Statement={BlockStatement:function(e,t){var n,r,i=["{",D],s=this;return W(function(){var u,a,o,l;for(0===e.body.length&&B&&(n=e.range)[1]-n[0]>2&&("\n"===(r=v.substring(n[0]+1,n[1]-1))[0]&&(i=["{"]),i.push(r)),l=T,8&t&&(l|=16),u=0,a=e.body.length;u<a;++u)B&&(0===u&&(e.body[0].leadingComments&&(n=e.body[0].leadingComments[0].extendedRange,"\n"===(r=v.substring(n[0],n[1]))[0]&&(i=["{"])),e.body[0].leadingComments||G(e.range[0],e.body[0].range[0],i)),u>0&&(e.body[u-1].trailingComments||e.body[u].leadingComments||G(e.body[u-1].range[1],e.body[u].range[0],i))),u===a-1&&(l|=32),o=e.body[u].leadingComments&&B?s.generateStatement(e.body[u],l):U(s.generateStatement(e.body[u],l)),i.push(o),L(j(o).toString())||B&&u<a-1&&e.body[u+1].leadingComments||i.push(D),B&&u===a-1&&(e.body[u].trailingComments||G(e.body[u].range[1],e.range[1],i))}),i.push(U("}")),i},BreakStatement:function(e,t){return e.label?"break "+e.label.name+this.semicolon(t):"break"+this.semicolon(t)},ContinueStatement:function(e,t){return e.label?"continue "+e.label.name+this.semicolon(t):"continue"+this.semicolon(t)},ClassBody:function(e,t){var n=["{",D],r=this;return W(function(t){var s,u;for(s=0,u=e.body.length;s<u;++s)n.push(t),n.push(r.generateExpression(e.body[s],i.Sequence,_)),s+1<u&&n.push(D)}),L(j(n).toString())||n.push(D),n.push(l),n.push("}"),n},ClassDeclaration:function(e,t){var n,r;return n=["class"],e.id&&(n=V(n,this.generateExpression(e.id,i.Sequence,_))),e.superClass&&(r=V("extends",this.generateExpression(e.superClass,i.Unary,_)),n=V(n,r)),n.push(g),n.push(this.generateStatement(e.body,33)),n},DirectiveStatement:function(e,t){return b.raw&&e.raw?e.raw+this.semicolon(t):function(e){var t,n,r,i;for(i="double"===d?'"':"'",t=0,n=e.length;t<n;++t){if(39===(r=e.charCodeAt(t))){i='"';break}if(34===r){i="'";break}92===r&&++t}return i+e+i}(e.directive)+this.semicolon(t)},DoWhileStatement:function(e,t){var n=V("do",this.maybeBlock(e.body,T));return V(n=this.maybeBlockSuffix(e.body,n),["while"+g+"(",this.generateExpression(e.test,i.Sequence,_),")"+this.semicolon(t)])},CatchClause:function(e,t){var n,r=this;return W(function(){var t;e.param?(n=["catch"+g+"(",r.generateExpression(e.param,i.Sequence,_),")"],e.guard&&(t=r.generateExpression(e.guard,i.Sequence,_),n.splice(2,0," if ",t))):n=["catch"]}),n.push(this.maybeBlock(e.body,T)),n},DebuggerStatement:function(e,t){return"debugger"+this.semicolon(t)},EmptyStatement:function(e,t){return";"},ExportDefaultDeclaration:function(e,t){var n,r=["export"];return n=32&t?33:T,r=V(r,"default"),r=k(e.declaration)?V(r,this.generateStatement(e.declaration,n)):V(r,this.generateExpression(e.declaration,i.Assignment,_)+this.semicolon(t))},ExportNamedDeclaration:function(e,t){var n,s=["export"],u=this;return n=32&t?33:T,e.declaration?V(s,this.generateStatement(e.declaration,n)):(e.specifiers&&(0===e.specifiers.length?s=V(s,"{"+g+"}"):e.specifiers[0].type===r.ExportBatchSpecifier?s=V(s,this.generateExpression(e.specifiers[0],i.Sequence,_)):(s=V(s,"{"),W(function(t){var n,r;for(s.push(D),n=0,r=e.specifiers.length;n<r;++n)s.push(t),s.push(u.generateExpression(e.specifiers[n],i.Sequence,_)),n+1<r&&s.push(","+D)}),L(j(s).toString())||s.push(D),s.push(l+"}")),e.source?s=V(s,["from"+g,this.generateExpression(e.source,i.Sequence,_),this.semicolon(t)]):s.push(this.semicolon(t))),s)},ExportAllDeclaration:function(e,t){return["export"+g,"*"+g,"from"+g,this.generateExpression(e.source,i.Sequence,_),this.semicolon(t)]},ExpressionStatement:function(e,t){var n,s;return 123===(s=j(n=[this.generateExpression(e.expression,i.Sequence,_)]).toString()).charCodeAt(0)||function(e){var t;return"class"===e.slice(0,5)&&(123===(t=e.charCodeAt(5))||o.code.isWhiteSpace(t)||o.code.isLineTerminator(t))}(s)||function(e){var t;return"function"===e.slice(0,8)&&(40===(t=e.charCodeAt(8))||o.code.isWhiteSpace(t)||42===t||o.code.isLineTerminator(t))}(s)||function(e){var t,n,r;if("async"!==e.slice(0,5))return!1;if(!o.code.isWhiteSpace(e.charCodeAt(5)))return!1;for(n=6,r=e.length;n<r&&o.code.isWhiteSpace(e.charCodeAt(n));++n);return n!==r&&"function"===e.slice(n,n+8)&&(40===(t=e.charCodeAt(n+8))||o.code.isWhiteSpace(t)||42===t||o.code.isLineTerminator(t))}(s)||y&&16&t&&e.expression.type===r.Literal&&"string"==typeof e.expression.value?n=["(",n,")"+this.semicolon(t)]:n.push(this.semicolon(t)),n},ImportDeclaration:function(e,t){var n,s,u=this;return 0===e.specifiers.length?["import",g,this.generateExpression(e.source,i.Sequence,_),this.semicolon(t)]:(n=["import"],s=0,e.specifiers[s].type===r.ImportDefaultSpecifier&&(n=V(n,[this.generateExpression(e.specifiers[s],i.Sequence,_)]),++s),e.specifiers[s]&&(0!==s&&n.push(","),e.specifiers[s].type===r.ImportNamespaceSpecifier?n=V(n,[g,this.generateExpression(e.specifiers[s],i.Sequence,_)]):(n.push(g+"{"),e.specifiers.length-s==1?(n.push(g),n.push(this.generateExpression(e.specifiers[s],i.Sequence,_)),n.push(g+"}"+g)):(W(function(t){var r,a;for(n.push(D),r=s,a=e.specifiers.length;r<a;++r)n.push(t),n.push(u.generateExpression(e.specifiers[r],i.Sequence,_)),r+1<a&&n.push(","+D)}),L(j(n).toString())||n.push(D),n.push(l+"}"+g)))),n=V(n,["from"+g,this.generateExpression(e.source,i.Sequence,_),this.semicolon(t)]))},VariableDeclarator:function(e,t){var n=1&t?_:6;return e.init?[this.generateExpression(e.id,i.Assignment,n),g,"=",g,this.generateExpression(e.init,i.Assignment,n)]:this.generatePattern(e.id,i.Assignment,n)},VariableDeclaration:function(e,t){var n,r,i,s,u,a=this;function o(){for(s=e.declarations[0],b.comment&&s.leadingComments?(n.push("\n"),n.push(U(a.generateStatement(s,u)))):(n.push(q()),n.push(a.generateStatement(s,u))),r=1,i=e.declarations.length;r<i;++r)s=e.declarations[r],b.comment&&s.leadingComments?(n.push(","+D),n.push(U(a.generateStatement(s,u)))):(n.push(","+g),n.push(a.generateStatement(s,u)))}return n=[e.kind],u=1&t?T:0,e.declarations.length>1?W(o):o(),n.push(this.semicolon(t)),n},ThrowStatement:function(e,t){return[V("throw",this.generateExpression(e.argument,i.Sequence,_)),this.semicolon(t)]},TryStatement:function(e,t){var n,r,i,s;if(n=["try",this.maybeBlock(e.block,T)],n=this.maybeBlockSuffix(e.block,n),e.handlers)for(r=0,i=e.handlers.length;r<i;++r)n=V(n,this.generateStatement(e.handlers[r],T)),(e.finalizer||r+1!==i)&&(n=this.maybeBlockSuffix(e.handlers[r].body,n));else{for(r=0,i=(s=e.guardedHandlers||[]).length;r<i;++r)n=V(n,this.generateStatement(s[r],T)),(e.finalizer||r+1!==i)&&(n=this.maybeBlockSuffix(s[r].body,n));if(e.handler)if(Array.isArray(e.handler))for(r=0,i=e.handler.length;r<i;++r)n=V(n,this.generateStatement(e.handler[r],T)),(e.finalizer||r+1!==i)&&(n=this.maybeBlockSuffix(e.handler[r].body,n));else n=V(n,this.generateStatement(e.handler,T)),e.finalizer&&(n=this.maybeBlockSuffix(e.handler.body,n))}return e.finalizer&&(n=V(n,["finally",this.maybeBlock(e.finalizer,T)])),n},SwitchStatement:function(e,t){var n,r,s,u,a,o=this;if(W(function(){n=["switch"+g+"(",o.generateExpression(e.discriminant,i.Sequence,_),")"+g+"{"+D]}),e.cases)for(a=T,s=0,u=e.cases.length;s<u;++s)s===u-1&&(a|=32),r=U(this.generateStatement(e.cases[s],a)),n.push(r),L(j(r).toString())||n.push(D);return n.push(U("}")),n},SwitchCase:function(e,t){var n,s,u,a,o,l=this;return W(function(){for(n=e.test?[V("case",l.generateExpression(e.test,i.Sequence,_)),":"]:["default:"],u=0,(a=e.consequent.length)&&e.consequent[0].type===r.BlockStatement&&(s=l.maybeBlock(e.consequent[0],T),n.push(s),u=1),u===a||L(j(n).toString())||n.push(D),o=T;u<a;++u)u===a-1&&32&t&&(o|=32),s=U(l.generateStatement(e.consequent[u],o)),n.push(s),u+1===a||L(j(s).toString())||n.push(D)}),n},IfStatement:function(e,t){var n,s,u=this;return W(function(){n=["if"+g+"(",u.generateExpression(e.test,i.Sequence,_),")"]}),s=T,32&t&&(s|=32),e.alternate?(n.push(this.maybeBlock(e.consequent,T)),n=this.maybeBlockSuffix(e.consequent,n),n=e.alternate.type===r.IfStatement?V(n,["else ",this.generateStatement(e.alternate,s)]):V(n,V("else",this.maybeBlock(e.alternate,s)))):n.push(this.maybeBlock(e.consequent,s)),n},ForStatement:function(e,t){var n,s=this;return W(function(){n=["for"+g+"("],e.init?e.init.type===r.VariableDeclaration?n.push(s.generateStatement(e.init,0)):(n.push(s.generateExpression(e.init,i.Sequence,6)),n.push(";")):n.push(";"),e.test?(n.push(g),n.push(s.generateExpression(e.test,i.Sequence,_)),n.push(";")):n.push(";"),e.update?(n.push(g),n.push(s.generateExpression(e.update,i.Sequence,_)),n.push(")")):n.push(")")}),n.push(this.maybeBlock(e.body,32&t?33:T)),n},ForInStatement:function(e,t){return this.generateIterationForStatement("in",e,32&t?33:T)},ForOfStatement:function(e,t){return this.generateIterationForStatement("of",e,32&t?33:T)},LabeledStatement:function(e,t){return[e.label.name+":",this.maybeBlock(e.body,32&t?33:T)]},Program:function(e,t){var n,r,i,s,u;for(s=e.body.length,n=[C&&s>0?"\n":""],u=17,i=0;i<s;++i)C||i!==s-1||(u|=32),B&&(0===i&&(e.body[0].leadingComments||G(e.range[0],e.body[i].range[0],n)),i>0&&(e.body[i-1].trailingComments||e.body[i].leadingComments||G(e.body[i-1].range[1],e.body[i].range[0],n))),r=U(this.generateStatement(e.body[i],u)),n.push(r),i+1<s&&!L(j(r).toString())&&(B&&e.body[i+1].leadingComments||n.push(D)),B&&i===s-1&&(e.body[i].trailingComments||G(e.body[i].range[1],e.range[1],n));return n},FunctionDeclaration:function(e,t){return[H(e,!0),"function",Q(e)||q(),e.id?K(e.id):"",this.generateFunctionBody(e)]},ReturnStatement:function(e,t){return e.argument?[V("return",this.generateExpression(e.argument,i.Sequence,_)),this.semicolon(t)]:["return"+this.semicolon(t)]},WhileStatement:function(e,t){var n,r=this;return W(function(){n=["while"+g+"(",r.generateExpression(e.test,i.Sequence,_),")"]}),n.push(this.maybeBlock(e.body,32&t?33:T)),n},WithStatement:function(e,t){var n,r=this;return W(function(){n=["with"+g+"(",r.generateExpression(e.object,i.Sequence,_),")"]}),n.push(this.maybeBlock(e.body,32&t?33:T)),n}},N(Y.prototype,Y.Statement),Y.Expression={SequenceExpression:function(e,t,n){var r,s,u;for(i.Sequence<t&&(n|=1),r=[],s=0,u=e.expressions.length;s<u;++s)r.push(this.generateExpression(e.expressions[s],i.Assignment,n)),s+1<u&&r.push(","+g);return J(r,i.Sequence,t)},AssignmentExpression:function(e,t,n){return this.generateAssignment(e.left,e.right,e.operator,t,n)},ArrowFunctionExpression:function(e,t,n){return J(this.generateFunctionBody(e),i.ArrowFunction,t)},ConditionalExpression:function(e,t,n){return i.Conditional<t&&(n|=1),J([this.generateExpression(e.test,i.LogicalOR,n),g+"?"+g,this.generateExpression(e.consequent,i.Assignment,n),g+":"+g,this.generateExpression(e.alternate,i.Assignment,n)],i.Conditional,t)},LogicalExpression:function(e,t,n){return this.BinaryExpression(e,t,n)},BinaryExpression:function(e,t,n){var r,u,a,l,p,c;return l=s[e.operator],u="**"===e.operator?i.Postfix:l,a="**"===e.operator?l:l+1,l<t&&(n|=1),r=47===(c=(p=this.generateExpression(e.left,u,n)).toString()).charCodeAt(c.length-1)&&o.code.isIdentifierPartES5(e.operator.charCodeAt(0))?[p,q(),e.operator]:V(p,e.operator),p=this.generateExpression(e.right,a,n),"/"===e.operator&&"/"===p.toString().charAt(0)||"<"===e.operator.slice(-1)&&"!--"===p.toString().slice(0,3)?(r.push(q()),r.push(p)):r=V(r,p),"in"!==e.operator||1&n?J(r,l,t):["(",r,")"]},CallExpression:function(e,t,n){var r,s,u;for((r=[this.generateExpression(e.callee,i.Call,3)]).push("("),s=0,u=e.arguments.length;s<u;++s)r.push(this.generateExpression(e.arguments[s],i.Assignment,_)),s+1<u&&r.push(","+g);return r.push(")"),2&n?J(r,i.Call,t):["(",r,")"]},NewExpression:function(e,t,n){var r,s,u,a,o;if(s=e.arguments.length,o=4&n&&!E&&0===s?5:1,r=V("new",this.generateExpression(e.callee,i.New,o)),!(4&n)||E||s>0){for(r.push("("),u=0,a=s;u<a;++u)r.push(this.generateExpression(e.arguments[u],i.Assignment,_)),u+1<a&&r.push(","+g);r.push(")")}return J(r,i.New,t)},MemberExpression:function(e,t,n){var s,u;return s=[this.generateExpression(e.object,i.Call,2&n?3:1)],e.computed?(s.push("["),s.push(this.generateExpression(e.property,i.Sequence,2&n?_:5)),s.push("]")):(e.object.type===r.Literal&&"number"==typeof e.object.value&&(u=j(s).toString()).indexOf(".")<0&&!/[eExX]/.test(u)&&o.code.isDecimalDigit(u.charCodeAt(u.length-1))&&!(u.length>=2&&48===u.charCodeAt(0))&&s.push(" "),s.push("."),s.push(K(e.property))),J(s,i.Member,t)},MetaProperty:function(e,t,n){var r;return(r=[]).push("string"==typeof e.meta?e.meta:K(e.meta)),r.push("."),r.push("string"==typeof e.property?e.property:K(e.property)),J(r,i.Member,t)},UnaryExpression:function(e,t,n){var r,s,u,a,l;return s=this.generateExpression(e.argument,i.Unary,_),""===g?r=V(e.operator,s):(r=[e.operator],e.operator.length>2?r=V(r,s):(l=(a=j(r).toString()).charCodeAt(a.length-1),u=s.toString().charCodeAt(0),(43===l||45===l)&&l===u||o.code.isIdentifierPartES5(l)&&o.code.isIdentifierPartES5(u)?(r.push(q()),r.push(s)):r.push(s))),J(r,i.Unary,t)},YieldExpression:function(e,t,n){var r;return r=e.delegate?"yield*":"yield",e.argument&&(r=V(r,this.generateExpression(e.argument,i.Yield,_))),J(r,i.Yield,t)},AwaitExpression:function(e,t,n){return J(V(e.all?"await*":"await",this.generateExpression(e.argument,i.Await,_)),i.Await,t)},UpdateExpression:function(e,t,n){return e.prefix?J([e.operator,this.generateExpression(e.argument,i.Unary,_)],i.Unary,t):J([this.generateExpression(e.argument,i.Postfix,_),e.operator],i.Postfix,t)},FunctionExpression:function(e,t,n){var r=[H(e,!0),"function"];return e.id?(r.push(Q(e)||q()),r.push(K(e.id))):r.push(Q(e)||g),r.push(this.generateFunctionBody(e)),r},ArrayPattern:function(e,t,n){return this.ArrayExpression(e,t,n,!0)},ArrayExpression:function(e,t,n,r){var s,u,a=this;return e.elements.length?(u=!r&&e.elements.length>1,s=["[",u?D:""],W(function(t){var n,r;for(n=0,r=e.elements.length;n<r;++n)e.elements[n]?(s.push(u?t:""),s.push(a.generateExpression(e.elements[n],i.Assignment,_))):(u&&s.push(t),n+1===r&&s.push(",")),n+1<r&&s.push(","+(u?D:g))}),u&&!L(j(s).toString())&&s.push(D),s.push(u?l:""),s.push("]"),s):"[]"},RestElement:function(e,t,n){return"..."+this.generatePattern(e.argument)},ClassExpression:function(e,t,n){var r,s;return r=["class"],e.id&&(r=V(r,this.generateExpression(e.id,i.Sequence,_))),e.superClass&&(s=V("extends",this.generateExpression(e.superClass,i.Unary,_)),r=V(r,s)),r.push(g),r.push(this.generateStatement(e.body,33)),r},MethodDefinition:function(e,t,n){var r,i;return r=e.static?["static"+g]:[],i="get"===e.kind||"set"===e.kind?[V(e.kind,this.generatePropertyKey(e.key,e.computed)),this.generateFunctionBody(e.value)]:[Z(e),this.generatePropertyKey(e.key,e.computed),this.generateFunctionBody(e.value)],V(r,i)},Property:function(e,t,n){return"get"===e.kind||"set"===e.kind?[e.kind,q(),this.generatePropertyKey(e.key,e.computed),this.generateFunctionBody(e.value)]:e.shorthand?"AssignmentPattern"===e.value.type?this.AssignmentPattern(e.value,i.Sequence,_):this.generatePropertyKey(e.key,e.computed):e.method?[Z(e),this.generatePropertyKey(e.key,e.computed),this.generateFunctionBody(e.value)]:[this.generatePropertyKey(e.key,e.computed),":"+g,this.generateExpression(e.value,i.Assignment,_)]},ObjectExpression:function(e,t,n){var r,s,u,a,o=this;return e.properties.length?(r=e.properties.length>1,W(function(){u=o.generateExpression(e.properties[0],i.Sequence,_)}),r||(a=j(u).toString(),/[\r\n]/g.test(a))?(W(function(t){var n,a;if(s=["{",D,t,u],r)for(s.push(","+D),n=1,a=e.properties.length;n<a;++n)s.push(t),s.push(o.generateExpression(e.properties[n],i.Sequence,_)),n+1<a&&s.push(","+D)}),L(j(s).toString())||s.push(D),s.push(l),s.push("}"),s):["{",g,u,g,"}"]):"{}"},AssignmentPattern:function(e,t,n){return this.generateAssignment(e.left,e.right,"=",t,n)},ObjectPattern:function(e,t,n){var s,u,a,o,p,c=this;if(!e.properties.length)return"{}";if(o=!1,1===e.properties.length)(p=e.properties[0]).type===r.Property&&p.value.type!==r.Identifier&&(o=!0);else for(u=0,a=e.properties.length;u<a;++u)if((p=e.properties[u]).type===r.Property&&!p.shorthand){o=!0;break}return s=["{",o?D:""],W(function(t){var n,r;for(n=0,r=e.properties.length;n<r;++n)s.push(o?t:""),s.push(c.generateExpression(e.properties[n],i.Sequence,_)),n+1<r&&s.push(","+(o?D:g))}),o&&!L(j(s).toString())&&s.push(D),s.push(o?l:""),s.push("}"),s},ThisExpression:function(e,t,n){return"this"},Super:function(e,t,n){return"super"},Identifier:function(e,t,n){return K(e)},ImportDefaultSpecifier:function(e,t,n){return K(e.id||e.local)},ImportNamespaceSpecifier:function(e,t,n){var r=["*"],i=e.id||e.local;return i&&r.push(g+"as"+q()+K(i)),r},ImportSpecifier:function(e,t,n){var r=e.imported,i=[r.name],s=e.local;return s&&s.name!==r.name&&i.push(q()+"as"+q()+K(s)),i},ExportSpecifier:function(e,t,n){var r=e.local,i=[r.name],s=e.exported;return s&&s.name!==r.name&&i.push(q()+"as"+q()+K(s)),i},Literal:function(e,t,n){var i;if(e.hasOwnProperty("raw")&&F&&b.raw)try{if((i=F(e.raw).body[0].expression).type===r.Literal&&i.value===e.value)return e.raw}catch(e){}return e.regex?"/"+e.regex.pattern+"/"+e.regex.flags:null===e.value?"null":"string"==typeof e.value?function(e){var t,n,r,i,s,u="",a=0,l=0;for(t=0,n=e.length;t<n;++t){if(39===(r=e.charCodeAt(t)))++a;else if(34===r)++l;else if(47===r&&c)u+="\\";else{if(o.code.isLineTerminator(r)||92===r){u+=R(r);continue}if(!o.code.isIdentifierPartES5(r)&&(c&&r<32||!c&&!m&&(r<32||r>126))){u+=M(r,e.charCodeAt(t+1));continue}}u+=String.fromCharCode(r)}if(s=(i=!("double"===d||"auto"===d&&l<a))?"'":'"',!(i?a:l))return s+u+s;for(e=u,u=s,t=0,n=e.length;t<n;++t)(39===(r=e.charCodeAt(t))&&i||34===r&&!i)&&(u+="\\"),u+=String.fromCharCode(r);return u+s}(e.value):"number"==typeof e.value?function(e){var t,n,r,i,s;if(e!=e)throw new Error("Numeric literal whose value is NaN");if(e<0||0===e&&1/e<0)throw new Error("Numeric literal whose value is negative");if(e===1/0)return c?"null":h?"1e400":"1e+400";if(t=""+e,!h||t.length<3)return t;for(n=t.indexOf("."),c||48!==t.charCodeAt(0)||1!==n||(n=0,t=t.slice(1)),r=t,t=t.replace("e+","e"),i=0,(s=r.indexOf("e"))>0&&(i=+r.slice(s+1),r=r.slice(0,s)),n>=0&&(i-=r.length-n-1,r=+(r.slice(0,n)+r.slice(n+1))+""),s=0;48===r.charCodeAt(r.length+s-1);)--s;return 0!==s&&(i-=s,r=r.slice(0,s)),0!==i&&(r+="e"+i),(r.length<t.length||f&&e>1e12&&Math.floor(e)===e&&(r="0x"+e.toString(16)).length<t.length)&&+r===e&&(t=r),t}(e.value):"boolean"==typeof e.value?e.value?"true":"false":function(e){var t,n,r,i,s,u,a,o;if(n=e.toString(),e.source){if(!(t=n.match(/\/([^\/]*)$/)))return n;for(r=t[1],n="",a=!1,o=!1,i=0,s=e.source.length;i<s;++i)u=e.source.charCodeAt(i),o?(n+=O(u,o),o=!1):(a?93===u&&(a=!1):47===u?n+="\\":91===u&&(a=!0),n+=O(u,o),o=92===u);return"/"+n+"/"+r}return n}(e.value)},GeneratorExpression:function(e,t,n){return this.ComprehensionExpression(e,t,n)},ComprehensionExpression:function(e,t,n){var s,u,a,o,l=this;return s=e.type===r.GeneratorExpression?["("]:["["],b.moz.comprehensionExpressionStartsWithAssignment&&(o=this.generateExpression(e.body,i.Assignment,_),s.push(o)),e.blocks&&W(function(){for(u=0,a=e.blocks.length;u<a;++u)o=l.generateExpression(e.blocks[u],i.Sequence,_),u>0||b.moz.comprehensionExpressionStartsWithAssignment?s=V(s,o):s.push(o)}),e.filter&&(s=V(s,"if"+g),o=this.generateExpression(e.filter,i.Sequence,_),s=V(s,["(",o,")"])),b.moz.comprehensionExpressionStartsWithAssignment||(o=this.generateExpression(e.body,i.Assignment,_),s=V(s,o)),s.push(e.type===r.GeneratorExpression?")":"]"),s},ComprehensionBlock:function(e,t,n){var s;return s=V(s=e.left.type===r.VariableDeclaration?[e.left.kind,q(),this.generateStatement(e.left.declarations[0],0)]:this.generateExpression(e.left,i.Call,_),e.of?"of":"in"),s=V(s,this.generateExpression(e.right,i.Sequence,_)),["for"+g+"(",s,")"]},SpreadElement:function(e,t,n){return["...",this.generateExpression(e.argument,i.Assignment,_)]},TaggedTemplateExpression:function(e,t,n){var r=3;return 2&n||(r=1),J([this.generateExpression(e.tag,i.Call,r),this.generateExpression(e.quasi,i.Primary,4)],i.TaggedTemplate,t)},TemplateElement:function(e,t,n){return e.value.raw},TemplateLiteral:function(e,t,n){var r,s,u;for(r=["`"],s=0,u=e.quasis.length;s<u;++s)r.push(this.generateExpression(e.quasis[s],i.Primary,_)),s+1<u&&(r.push("${"+g),r.push(this.generateExpression(e.expressions[s],i.Sequence,_)),r.push(g+"}"));return r.push("`"),r},ModuleSpecifier:function(e,t,n){return this.Literal(e,t,n)},ImportExpression:function(e,t,n){return J(["import(",this.generateExpression(e.source,i.Assignment,_),")"],i.Call,t)}},N(Y.prototype,Y.Expression),Y.prototype.generateExpression=function(e,t,n){var s,u;return u=e.type||r.Property,b.verbatim&&e.hasOwnProperty(b.verbatim)?function(e,t){var n;return j("string"==typeof(n=e[b.verbatim])?J($(n),i.Sequence,t):J($(n.content),null!=n.precedence?n.precedence:i.Sequence,t),e)}(e,t):(s=this[u](e,t,n),b.comment&&(s=z(e,s)),j(s,e))},Y.prototype.generateStatement=function(e,t){var n,i;return n=this[e.type](e,t),b.comment&&(n=z(e,n)),i=j(n).toString(),e.type!==r.Program||C||""!==D||"\n"!==i.charAt(i.length-1)||(n=x?j(n).replaceRight(/\s+$/,""):i.replace(/\s+$/,"")),j(n,e)},S={indent:{style:"",base:0},renumber:!0,hexadecimal:!0,quotes:"auto",escapeless:!0,compact:!0,parentheses:!1,semicolons:!1},w={indent:{style:" ",base:0,adjustMultilineComment:!1},newline:"\n",space:" ",json:!1,renumber:!1,hexadecimal:!1,quotes:"single",escapeless:!1,compact:!1,parentheses:!0,semicolons:!0,safeConcatenation:!1,preserveBlankLines:!1},n.version=e("./package.json").version,n.generate=function(r,i){var s,a,o={indent:null,base:null,parse:null,comment:!1,format:{indent:{style:" ",base:0,adjustMultilineComment:!1},newline:"\n",space:" ",json:!1,renumber:!1,hexadecimal:!1,quotes:"single",escapeless:!1,compact:!1,parentheses:!0,semicolons:!0,safeConcatenation:!1,preserveBlankLines:!1},moz:{comprehensionExpressionStartsWithAssignment:!1,starlessGenerator:!1},sourceMap:null,sourceMapRoot:null,sourceMapWithCode:!1,directive:!1,raw:!0,verbatim:null,sourceCode:null};return null!=i?("string"==typeof i.indent&&(o.format.indent.style=i.indent),"number"==typeof i.base&&(o.format.indent.base=i.base),i=I(o,i),p=i.format.indent.style,l="string"==typeof i.base?i.base:P(p,i.format.indent.base)):(p=(i=o).format.indent.style,l=P(p,i.format.indent.base)),c=i.format.json,h=i.format.renumber,f=!c&&i.format.hexadecimal,d=c?"double":i.format.quotes,m=i.format.escapeless,D=i.format.newline,g=i.format.space,i.format.compact&&(D=g=p=l=""),E=i.format.parentheses,A=i.format.semicolons,C=i.format.safeConcatenation,y=i.directive,F=c?null:i.parse,x=i.sourceMap,v=i.sourceCode,B=i.format.preserveBlankLines&&null!==v,b=i,x&&(u=n.browser?t.sourceMap.SourceNode:e("source-map").SourceNode),s=ee(r),x?(a=s.toStringWithSourceMap({file:i.file,sourceRoot:i.sourceMapRoot}),i.sourceContent&&a.map.setSourceContent(i.sourceMap,i.sourceContent),i.sourceMapWithCode?a:a.map.toString()):(a={code:s.toString(),map:null},i.sourceMapWithCode?a:a.code)},n.attachComments=a.attachComments,n.Precedence=I({},i),n.browser=!1,n.FORMAT_MINIFY=S,n.FORMAT_DEFAULTS=w}()}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./package.json":22,estraverse:23,esutils:28,"source-map":40}],22:[function(e,t,n){t.exports={_from:"escodegen@^1.7.0",_id:"[email protected]",_inBundle:!1,_integrity:"sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",_location:"/escodegen",_phantomChildren:{},_requested:{type:"range",registry:!0,raw:"escodegen@^1.7.0",name:"escodegen",escapedName:"escodegen",rawSpec:"^1.7.0",saveSpec:null,fetchSpec:"^1.7.0"},_requiredBy:["/"],_resolved:"https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",_shasum:"4e7b81fba61581dc97582ed78cab7f0e8d63f503",_spec:"escodegen@^1.7.0",_where:"/tmp/9631690733a5a94fde8ee7b6c27ecd7863f16077/package",bin:{esgenerate:"bin/esgenerate.js",escodegen:"bin/escodegen.js"},bugs:{url:"https://github.com/estools/escodegen/issues"},bundleDependencies:!1,dependencies:{esprima:"^4.0.1",estraverse:"^4.2.0",esutils:"^2.0.2",optionator:"^0.8.1","source-map":"~0.6.1"},deprecated:!1,description:"ECMAScript code generator",devDependencies:{acorn:"^7.1.0",bluebird:"^3.4.7","bower-registry-client":"^1.0.0",chai:"^3.5.0","commonjs-everywhere":"^0.9.7",gulp:"^3.8.10","gulp-eslint":"^3.0.1","gulp-mocha":"^3.0.1",semver:"^5.1.0"},engines:{node:">=4.0"},files:["LICENSE.BSD","README.md","bin","escodegen.js","package.json"],homepage:"http://github.com/estools/escodegen",license:"BSD-2-Clause",main:"escodegen.js",maintainers:[{name:"Yusuke Suzuki",email:"[email protected]",url:"http://github.com/Constellation"}],name:"escodegen",optionalDependencies:{"source-map":"~0.6.1"},repository:{type:"git",url:"git+ssh://[email protected]/estools/escodegen.git"},scripts:{build:"cjsify -a path: tools/entry-point.js > escodegen.browser.js","build-min":"cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js",lint:"gulp lint",release:"node tools/release.js",test:"gulp travis","unit-test":"gulp test"},version:"1.14.3"}},{}],23:[function(e,t,n){!function t(n){"use strict";var r,i,s,u,a,o;function l(e){var t,n,r={};for(t in e)e.hasOwnProperty(t)&&(n=e[t],r[t]="object"==typeof n&&null!==n?l(n):n);return r}function p(e,t){this.parent=e,this.key=t}function c(e,t,n,r){this.node=e,this.path=t,this.wrap=n,this.ref=r}function h(){}function f(e){return null!=e&&("object"==typeof e&&"string"==typeof e.type)}function d(e,t){return(e===r.ObjectExpression||e===r.ObjectPattern)&&"properties"===t}function m(e,t){return(new h).traverse(e,t)}function D(e,t){var n;return n=function(e,t){var n,r,i,s;for(r=e.length,i=0;r;)t(e[s=i+(n=r>>>1)])?r=n:(i=s+1,r-=n+1);return i}(t,function(t){return t.range[0]>e.range[0]}),e.extendedRange=[e.range[0],e.range[1]],n!==t.length&&(e.extendedRange[1]=t[n].range[0]),(n-=1)>=0&&(e.extendedRange[0]=t[n].range[1]),e}return r={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ComprehensionBlock:"ComprehensionBlock",ComprehensionExpression:"ComprehensionExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DebuggerStatement:"DebuggerStatement",DirectiveStatement:"DirectiveStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",ForOfStatement:"ForOfStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",GeneratorExpression:"GeneratorExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportExpression:"ImportExpression",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",ModuleSpecifier:"ModuleSpecifier",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"},s={AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AwaitExpression:["argument"],BlockStatement:["body"],BinaryExpression:["left","right"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ComprehensionBlock:["left","right"],ComprehensionExpression:["blocks","filter","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DirectiveStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExportAllDeclaration:["source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForStatement:["init","test","update","body"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],GeneratorExpression:["blocks","filter","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportExpression:["source"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],Literal:[],LabeledStatement:["label","body"],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],ModuleSpecifier:[],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],Program:["body"],Property:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],Super:[],SwitchStatement:["discriminant","cases"],SwitchCase:["test","consequent"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]},i={Break:u={},Skip:a={},Remove:o={}},p.prototype.replace=function(e){this.parent[this.key]=e},p.prototype.remove=function(){return Array.isArray(this.parent)?(this.parent.splice(this.key,1),!0):(this.replace(null),!1)},h.prototype.path=function(){var e,t,n,r,i;function s(e,t){if(Array.isArray(t))for(n=0,r=t.length;n<r;++n)e.push(t[n]);else e.push(t)}if(!this.__current.path)return null;for(i=[],e=2,t=this.__leavelist.length;e<t;++e)s(i,this.__leavelist[e].path);return s(i,this.__current.path),i},h.prototype.type=function(){return this.current().type||this.__current.wrap},h.prototype.parents=function(){var e,t,n;for(n=[],e=1,t=this.__leavelist.length;e<t;++e)n.push(this.__leavelist[e].node);return n},h.prototype.current=function(){return this.__current.node},h.prototype.__execute=function(e,t){var n,r;return r=void 0,n=this.__current,this.__current=t,this.__state=null,e&&(r=e.call(this,t.node,this.__leavelist[this.__leavelist.length-1].node)),this.__current=n,r},h.prototype.notify=function(e){this.__state=e},h.prototype.skip=function(){this.notify(a)},h.prototype.break=function(){this.notify(u)},h.prototype.remove=function(){this.notify(o)},h.prototype.__initialize=function(e,t){this.visitor=t,this.root=e,this.__worklist=[],this.__leavelist=[],this.__current=null,this.__state=null,this.__fallback=null,"iteration"===t.fallback?this.__fallback=Object.keys:"function"==typeof t.fallback&&(this.__fallback=t.fallback),this.__keys=s,t.keys&&(this.__keys=Object.assign(Object.create(this.__keys),t.keys))},h.prototype.traverse=function(e,t){var n,r,i,s,o,l,p,h,m,D,g,E;for(this.__initialize(e,t),E={},n=this.__worklist,r=this.__leavelist,n.push(new c(e,null,null,null)),r.push(new c(null,null,null,null));n.length;)if((i=n.pop())!==E){if(i.node){if(l=this.__execute(t.enter,i),this.__state===u||l===u)return;if(n.push(E),r.push(i),this.__state===a||l===a)continue;if(o=(s=i.node).type||i.wrap,!(D=this.__keys[o])){if(!this.__fallback)throw new Error("Unknown node type "+o+".");D=this.__fallback(s)}for(h=D.length;(h-=1)>=0;)if(g=s[p=D[h]])if(Array.isArray(g)){for(m=g.length;(m-=1)>=0;)if(g[m]){if(d(o,D[h]))i=new c(g[m],[p,m],"Property",null);else{if(!f(g[m]))continue;i=new c(g[m],[p,m],null,null)}n.push(i)}}else f(g)&&n.push(new c(g,p,null,null))}}else if(i=r.pop(),l=this.__execute(t.leave,i),this.__state===u||l===u)return},h.prototype.replace=function(e,t){var n,r,i,s,l,h,m,D,g,E,A,C,y;function b(e){var t,r,i,s;if(e.ref.remove())for(r=e.ref.key,s=e.ref.parent,t=n.length;t--;)if((i=n[t]).ref&&i.ref.parent===s){if(i.ref.key<r)break;--i.ref.key}}for(this.__initialize(e,t),A={},n=this.__worklist,r=this.__leavelist,h=new c(e,null,null,new p(C={root:e},"root")),n.push(h),r.push(h);n.length;)if((h=n.pop())!==A){if(void 0!==(l=this.__execute(t.enter,h))&&l!==u&&l!==a&&l!==o&&(h.ref.replace(l),h.node=l),this.__state!==o&&l!==o||(b(h),h.node=null),this.__state===u||l===u)return C.root;if((i=h.node)&&(n.push(A),r.push(h),this.__state!==a&&l!==a)){if(s=i.type||h.wrap,!(g=this.__keys[s])){if(!this.__fallback)throw new Error("Unknown node type "+s+".");g=this.__fallback(i)}for(m=g.length;(m-=1)>=0;)if(E=i[y=g[m]])if(Array.isArray(E)){for(D=E.length;(D-=1)>=0;)if(E[D]){if(d(s,g[m]))h=new c(E[D],[y,D],"Property",new p(E,D));else{if(!f(E[D]))continue;h=new c(E[D],[y,D],null,new p(E,D))}n.push(h)}}else f(E)&&n.push(new c(E,y,null,new p(i,y)))}}else if(h=r.pop(),void 0!==(l=this.__execute(t.leave,h))&&l!==u&&l!==a&&l!==o&&h.ref.replace(l),this.__state!==o&&l!==o||b(h),this.__state===u||l===u)return C.root;return C.root},n.version=e("./package.json").version,n.Syntax=r,n.traverse=m,n.replace=function(e,t){return(new h).replace(e,t)},n.attachComments=function(e,t,n){var r,s,u,a,o=[];if(!e.range)throw new Error("attachComments needs range information");if(!n.length){if(t.length){for(u=0,s=t.length;u<s;u+=1)(r=l(t[u])).extendedRange=[0,e.range[0]],o.push(r);e.leadingComments=o}return e}for(u=0,s=t.length;u<s;u+=1)o.push(D(l(t[u]),n));return a=0,m(e,{enter:function(e){for(var t;a<o.length&&!((t=o[a]).extendedRange[1]>e.range[0]);)t.extendedRange[1]===e.range[0]?(e.leadingComments||(e.leadingComments=[]),e.leadingComments.push(t),o.splice(a,1)):a+=1;return a===o.length?i.Break:o[a].extendedRange[0]>e.range[1]?i.Skip:void 0}}),a=0,m(e,{leave:function(e){for(var t;a<o.length&&(t=o[a],!(e.range[1]<t.extendedRange[0]));)e.range[1]===t.extendedRange[0]?(e.trailingComments||(e.trailingComments=[]),e.trailingComments.push(t),o.splice(a,1)):a+=1;return a===o.length?i.Break:o[a].extendedRange[0]>e.range[1]?i.Skip:void 0}}),e},n.VisitorKeys=s,n.VisitorOption=i,n.Controller=h,n.cloneEnvironment=function(){return t({})},n}(n)},{"./package.json":24}],24:[function(e,t,n){t.exports={_from:"estraverse@^4.2.0",_id:"[email protected]",_inBundle:!1,_integrity:"sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",_location:"/estraverse",_phantomChildren:{},_requested:{type:"range",registry:!0,raw:"estraverse@^4.2.0",name:"estraverse",escapedName:"estraverse",rawSpec:"^4.2.0",saveSpec:null,fetchSpec:"^4.2.0"},_requiredBy:["/escodegen","/escope","/eslint"],_resolved:"https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",_shasum:"398ad3f3c5a24948be7725e83d11a7de28cdbd1d",_spec:"estraverse@^4.2.0",_where:"/tmp/9631690733a5a94fde8ee7b6c27ecd7863f16077/package/node_modules/escodegen",bugs:{url:"https://github.com/estools/estraverse/issues"},bundleDependencies:!1,deprecated:!1,description:"ECMAScript JS AST traversal functions",devDependencies:{"babel-preset-env":"^1.6.1","babel-register":"^6.3.13",chai:"^2.1.1",espree:"^1.11.0",gulp:"^3.8.10","gulp-bump":"^0.2.2","gulp-filter":"^2.0.0","gulp-git":"^1.0.1","gulp-tag-version":"^1.3.0",jshint:"^2.5.6",mocha:"^2.1.0"},engines:{node:">=4.0"},homepage:"https://github.com/estools/estraverse",license:"BSD-2-Clause",main:"estraverse.js",maintainers:[{name:"Yusuke Suzuki",email:"[email protected]",url:"http://github.com/Constellation"}],name:"estraverse",repository:{type:"git",url:"git+ssh://[email protected]/estools/estraverse.git"},scripts:{lint:"jshint estraverse.js",test:"npm run-script lint && npm run-script unit-test","unit-test":"mocha --compilers js:babel-register"},version:"4.3.0"}},{}],25:[function(e,t,n){!function(){"use strict";function e(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function n(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}t.exports={isExpression:function(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1},isStatement:e,isIterationStatement:function(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1},isSourceElement:function(t){return e(t)||null!=t&&"FunctionDeclaration"===t.type},isProblematicIfStatement:function(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=n(t)}while(t);return!1},trailingStatement:n}}()},{}],26:[function(e,t,n){!function(){"use strict";var e,n,r,i,s,u;function a(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(Math.floor((e-65536)/1024)+55296)+String.fromCharCode((e-65536)%1024+56320)}for(n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},e={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),u=0;u<128;++u)i[u]=u>=97&&u<=122||u>=65&&u<=90||36===u||95===u;for(s=new Array(128),u=0;u<128;++u)s[u]=u>=97&&u<=122||u>=65&&u<=90||u>=48&&u<=57||36===u||95===u;t.exports={isDecimalDigit:function(e){return 48<=e&&e<=57},isHexDigit:function(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70},isOctalDigit:function(e){return e>=48&&e<=55},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStartES5:function(e){return e<128?i[e]:n.NonAsciiIdentifierStart.test(a(e))},isIdentifierPartES5:function(e){return e<128?s[e]:n.NonAsciiIdentifierPart.test(a(e))},isIdentifierStartES6:function(t){return t<128?i[t]:e.NonAsciiIdentifierStart.test(a(t))},isIdentifierPartES6:function(t){return t<128?s[t]:e.NonAsciiIdentifierPart.test(a(t))}}}()},{}],27:[function(e,t,n){!function(){"use strict";var n=e("./code");function r(e,t){return!(!t&&"yield"===e)&&i(e,t)}function i(e,t){if(t&&function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function s(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function u(e,t){return"null"===e||"true"===e||"false"===e||i(e,t)}function a(e){var t,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!n.isIdentifierStartES5(i))return!1;for(t=1,r=e.length;t<r;++t)if(i=e.charCodeAt(t),!n.isIdentifierPartES5(i))return!1;return!0}function o(e){var t,r,i,s,u;if(0===e.length)return!1;for(u=n.isIdentifierStartES6,t=0,r=e.length;t<r;++t){if(55296<=(i=e.charCodeAt(t))&&i<=56319){if(++t>=r)return!1;if(!(56320<=(s=e.charCodeAt(t))&&s<=57343))return!1;i=1024*(i-55296)+(s-56320)+65536}if(!u(i))return!1;u=n.isIdentifierPartES6}return!0}t.exports={isKeywordES5:r,isKeywordES6:i,isReservedWordES5:s,isReservedWordES6:u,isRestrictedWord:function(e){return"eval"===e||"arguments"===e},isIdentifierNameES5:a,isIdentifierNameES6:o,isIdentifierES5:function(e,t){return a(e)&&!s(e,t)},isIdentifierES6:function(e,t){return o(e)&&!u(e,t)}}}()},{"./code":26}],28:[function(e,t,n){!function(){"use strict";n.ast=e("./ast"),n.code=e("./code"),n.keyword=e("./keyword")}()},{"./ast":25,"./code":26,"./keyword":27}],29:[function(e,t,n){function r(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}t.exports=function(e){return null!=e&&(r(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&r(e.slice(0,0))}(e)||!!e._isBuffer)}},{}],30:[function(e,t,n){var r=e("./util"),i=Object.prototype.hasOwnProperty,s="undefined"!=typeof Map;function u(){this._array=[],this._set=s?new Map:Object.create(null)}u.fromArray=function(e,t){for(var n=new u,r=0,i=e.length;r<i;r++)n.add(e[r],t);return n},u.prototype.size=function(){return s?this._set.size:Object.getOwnPropertyNames(this._set).length},u.prototype.add=function(e,t){var n=s?e:r.toSetString(e),u=s?this.has(e):i.call(this._set,n),a=this._array.length;u&&!t||this._array.push(e),u||(s?this._set.set(e,a):this._set[n]=a)},u.prototype.has=function(e){if(s)return this._set.has(e);var t=r.toSetString(e);return i.call(this._set,t)},u.prototype.indexOf=function(e){if(s){var t=this._set.get(e);if(t>=0)return t}else{var n=r.toSetString(e);if(i.call(this._set,n))return this._set[n]}throw new Error('"'+e+'" is not in the set.')},u.prototype.at=function(e){if(e>=0&&e<this._array.length)return this._array[e];throw new Error("No element indexed by "+e)},u.prototype.toArray=function(){return this._array.slice()},n.ArraySet=u},{"./util":39}],31:[function(e,t,n){var r=e("./base64");n.encode=function(e){var t,n="",i=function(e){return e<0?1+(-e<<1):0+(e<<1)}(e);do{t=31&i,(i>>>=5)>0&&(t|=32),n+=r.encode(t)}while(i>0);return n},n.decode=function(e,t,n){var i,s,u,a,o=e.length,l=0,p=0;do{if(t>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(s=r.decode(e.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+e.charAt(t-1));i=!!(32&s),l+=(s&=31)<<p,p+=5}while(i);n.value=(a=(u=l)>>1,1==(1&u)?-a:a),n.rest=t}},{"./base64":32}],32:[function(e,t,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(e){if(0<=e&&e<r.length)return r[e];throw new TypeError("Must be between 0 and 63: "+e)},n.decode=function(e){return 65<=e&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43==e?62:47==e?63:-1}},{}],33:[function(e,t,n){n.GREATEST_LOWER_BOUND=1,n.LEAST_UPPER_BOUND=2,n.search=function(e,t,r,i){if(0===t.length)return-1;var s=function e(t,r,i,s,u,a){var o=Math.floor((r-t)/2)+t,l=u(i,s[o],!0);return 0===l?o:l>0?r-o>1?e(o,r,i,s,u,a):a==n.LEAST_UPPER_BOUND?r<s.length?r:-1:o:o-t>1?e(t,o,i,s,u,a):a==n.LEAST_UPPER_BOUND?o:t<0?-1:t}(-1,t.length,e,t,r,i||n.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&0===r(t[s],t[s-1],!0);)--s;return s}},{}],34:[function(e,t,n){var r=e("./util");function i(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}i.prototype.unsortedForEach=function(e,t){this._array.forEach(e,t)},i.prototype.add=function(e){var t,n,i,s,u,a;t=this._last,n=e,i=t.generatedLine,s=n.generatedLine,u=t.generatedColumn,a=n.generatedColumn,s>i||s==i&&a>=u||r.compareByGeneratedPositionsInflated(t,n)<=0?(this._last=e,this._array.push(e)):(this._sorted=!1,this._array.push(e))},i.prototype.toArray=function(){return this._sorted||(this._array.sort(r.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=i},{"./util":39}],35:[function(e,t,n){function r(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function i(e,t,n,s){if(n<s){var u=n-1;r(e,(p=n,c=s,Math.round(p+Math.random()*(c-p))),s);for(var a=e[s],o=n;o<s;o++)t(e[o],a)<=0&&r(e,u+=1,o);r(e,u+1,o);var l=u+1;i(e,t,n,l-1),i(e,t,l+1,s)}var p,c}n.quickSort=function(e,t){i(e,t,0,e.length-1)}},{}],36:[function(e,t,n){var r=e("./util"),i=e("./binary-search"),s=e("./array-set").ArraySet,u=e("./base64-vlq"),a=e("./quick-sort").quickSort;function o(e,t){var n=e;return"string"==typeof e&&(n=r.parseSourceMapInput(e)),null!=n.sections?new c(n,t):new l(n,t)}function l(e,t){var n=e;"string"==typeof e&&(n=r.parseSourceMapInput(e));var i=r.getArg(n,"version"),u=r.getArg(n,"sources"),a=r.getArg(n,"names",[]),o=r.getArg(n,"sourceRoot",null),l=r.getArg(n,"sourcesContent",null),p=r.getArg(n,"mappings"),c=r.getArg(n,"file",null);if(i!=this._version)throw new Error("Unsupported version: "+i);o&&(o=r.normalize(o)),u=u.map(String).map(r.normalize).map(function(e){return o&&r.isAbsolute(o)&&r.isAbsolute(e)?r.relative(o,e):e}),this._names=s.fromArray(a.map(String),!0),this._sources=s.fromArray(u,!0),this._absoluteSources=this._sources.toArray().map(function(e){return r.computeSourceURL(o,e,t)}),this.sourceRoot=o,this.sourcesContent=l,this._mappings=p,this._sourceMapURL=t,this.file=c}function p(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}function c(e,t){var n=e;"string"==typeof e&&(n=r.parseSourceMapInput(e));var i=r.getArg(n,"version"),u=r.getArg(n,"sections");if(i!=this._version)throw new Error("Unsupported version: "+i);this._sources=new s,this._names=new s;var a={line:-1,column:0};this._sections=u.map(function(e){if(e.url)throw new Error("Support for url field in sections not implemented.");var n=r.getArg(e,"offset"),i=r.getArg(n,"line"),s=r.getArg(n,"column");if(i<a.line||i===a.line&&s<a.column)throw new Error("Section offsets must be ordered and non-overlapping.");return a=n,{generatedOffset:{generatedLine:i+1,generatedColumn:s+1},consumer:new o(r.getArg(e,"map"),t)}})}o.fromSourceMap=function(e,t){return l.fromSourceMap(e,t)},o.prototype._version=3,o.prototype.__generatedMappings=null,Object.defineProperty(o.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}}),o.prototype.__originalMappings=null,Object.defineProperty(o.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}}),o.prototype._charIsMappingSeparator=function(e,t){var n=e.charAt(t);return";"===n||","===n},o.prototype._parseMappings=function(e,t){throw new Error("Subclasses must implement _parseMappings")},o.GENERATED_ORDER=1,o.ORIGINAL_ORDER=2,o.GREATEST_LOWER_BOUND=1,o.LEAST_UPPER_BOUND=2,o.prototype.eachMapping=function(e,t,n){var i,s=t||null;switch(n||o.GENERATED_ORDER){case o.GENERATED_ORDER:i=this._generatedMappings;break;case o.ORIGINAL_ORDER:i=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var u=this.sourceRoot;i.map(function(e){var t=null===e.source?null:this._sources.at(e.source);return{source:t=r.computeSourceURL(u,t,this._sourceMapURL),generatedLine:e.generatedLine,generatedColumn:e.generatedColumn,originalLine:e.originalLine,originalColumn:e.originalColumn,name:null===e.name?null:this._names.at(e.name)}},this).forEach(e,s)},o.prototype.allGeneratedPositionsFor=function(e){var t=r.getArg(e,"line"),n={source:r.getArg(e,"source"),originalLine:t,originalColumn:r.getArg(e,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var s=[],u=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,i.LEAST_UPPER_BOUND);if(u>=0){var a=this._originalMappings[u];if(void 0===e.column)for(var o=a.originalLine;a&&a.originalLine===o;)s.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++u];else for(var l=a.originalColumn;a&&a.originalLine===t&&a.originalColumn==l;)s.push({line:r.getArg(a,"generatedLine",null),column:r.getArg(a,"generatedColumn",null),lastColumn:r.getArg(a,"lastGeneratedColumn",null)}),a=this._originalMappings[++u]}return s},n.SourceMapConsumer=o,l.prototype=Object.create(o.prototype),l.prototype.consumer=o,l.prototype._findSourceIndex=function(e){var t,n=e;if(null!=this.sourceRoot&&(n=r.relative(this.sourceRoot,n)),this._sources.has(n))return this._sources.indexOf(n);for(t=0;t<this._absoluteSources.length;++t)if(this._absoluteSources[t]==e)return t;return-1},l.fromSourceMap=function(e,t){var n=Object.create(l.prototype),i=n._names=s.fromArray(e._names.toArray(),!0),u=n._sources=s.fromArray(e._sources.toArray(),!0);n.sourceRoot=e._sourceRoot,n.sourcesContent=e._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=e._file,n._sourceMapURL=t,n._absoluteSources=n._sources.toArray().map(function(e){return r.computeSourceURL(n.sourceRoot,e,t)});for(var o=e._mappings.toArray().slice(),c=n.__generatedMappings=[],h=n.__originalMappings=[],f=0,d=o.length;f<d;f++){var m=o[f],D=new p;D.generatedLine=m.generatedLine,D.generatedColumn=m.generatedColumn,m.source&&(D.source=u.indexOf(m.source),D.originalLine=m.originalLine,D.originalColumn=m.originalColumn,m.name&&(D.name=i.indexOf(m.name)),h.push(D)),c.push(D)}return a(n.__originalMappings,r.compareByOriginalPositions),n},l.prototype._version=3,Object.defineProperty(l.prototype,"sources",{get:function(){return this._absoluteSources.slice()}}),l.prototype._parseMappings=function(e,t){for(var n,i,s,o,l,c=1,h=0,f=0,d=0,m=0,D=0,g=e.length,E=0,A={},C={},y=[],b=[];E<g;)if(";"===e.charAt(E))c++,E++,h=0;else if(","===e.charAt(E))E++;else{for((n=new p).generatedLine=c,o=E;o<g&&!this._charIsMappingSeparator(e,o);o++);if(s=A[i=e.slice(E,o)])E+=i.length;else{for(s=[];E<o;)u.decode(e,E,C),l=C.value,E=C.rest,s.push(l);if(2===s.length)throw new Error("Found a source, but no line and column");if(3===s.length)throw new Error("Found a source and line, but no column");A[i]=s}n.generatedColumn=h+s[0],h=n.generatedColumn,s.length>1&&(n.source=m+s[1],m+=s[1],n.originalLine=f+s[2],f=n.originalLine,n.originalLine+=1,n.originalColumn=d+s[3],d=n.originalColumn,s.length>4&&(n.name=D+s[4],D+=s[4])),b.push(n),"number"==typeof n.originalLine&&y.push(n)}a(b,r.compareByGeneratedPositionsDeflated),this.__generatedMappings=b,a(y,r.compareByOriginalPositions),this.__originalMappings=y},l.prototype._findMapping=function(e,t,n,r,s,u){if(e[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+e[n]);if(e[r]<0)throw new TypeError("Column must be greater than or equal to 0, got "+e[r]);return i.search(e,t,s,u)},l.prototype.computeColumnSpans=function(){for(var e=0;e<this._generatedMappings.length;++e){var t=this._generatedMappings[e];if(e+1<this._generatedMappings.length){var n=this._generatedMappings[e+1];if(t.generatedLine===n.generatedLine){t.lastGeneratedColumn=n.generatedColumn-1;continue}}t.lastGeneratedColumn=1/0}},l.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,"line"),generatedColumn:r.getArg(e,"column")},n=this._findMapping(t,this._generatedMappings,"generatedLine","generatedColumn",r.compareByGeneratedPositionsDeflated,r.getArg(e,"bias",o.GREATEST_LOWER_BOUND));if(n>=0){var i=this._generatedMappings[n];if(i.generatedLine===t.generatedLine){var s=r.getArg(i,"source",null);null!==s&&(s=this._sources.at(s),s=r.computeSourceURL(this.sourceRoot,s,this._sourceMapURL));var u=r.getArg(i,"name",null);return null!==u&&(u=this._names.at(u)),{source:s,line:r.getArg(i,"originalLine",null),column:r.getArg(i,"originalColumn",null),name:u}}}return{source:null,line:null,column:null,name:null}},l.prototype.hasContentsOfAllSources=function(){return!!this.sourcesContent&&(this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(e){return null==e}))},l.prototype.sourceContentFor=function(e,t){if(!this.sourcesContent)return null;var n=this._findSourceIndex(e);if(n>=0)return this.sourcesContent[n];var i,s=e;if(null!=this.sourceRoot&&(s=r.relative(this.sourceRoot,s)),null!=this.sourceRoot&&(i=r.urlParse(this.sourceRoot))){var u=s.replace(/^file:\/\//,"");if("file"==i.scheme&&this._sources.has(u))return this.sourcesContent[this._sources.indexOf(u)];if((!i.path||"/"==i.path)&&this._sources.has("/"+s))return this.sourcesContent[this._sources.indexOf("/"+s)]}if(t)return null;throw new Error('"'+s+'" is not in the SourceMap.')},l.prototype.generatedPositionFor=function(e){var t=r.getArg(e,"source");if((t=this._findSourceIndex(t))<0)return{line:null,column:null,lastColumn:null};var n={source:t,originalLine:r.getArg(e,"line"),originalColumn:r.getArg(e,"column")},i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",r.compareByOriginalPositions,r.getArg(e,"bias",o.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===n.source)return{line:r.getArg(s,"generatedLine",null),column:r.getArg(s,"generatedColumn",null),lastColumn:r.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}},n.BasicSourceMapConsumer=l,c.prototype=Object.create(o.prototype),c.prototype.constructor=o,c.prototype._version=3,Object.defineProperty(c.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var n=0;n<this._sections[t].consumer.sources.length;n++)e.push(this._sections[t].consumer.sources[n]);return e}}),c.prototype.originalPositionFor=function(e){var t={generatedLine:r.getArg(e,"line"),generatedColumn:r.getArg(e,"column")},n=i.search(t,this._sections,function(e,t){var n=e.generatedLine-t.generatedOffset.generatedLine;return n||e.generatedColumn-t.generatedOffset.generatedColumn}),s=this._sections[n];return s?s.consumer.originalPositionFor({line:t.generatedLine-(s.generatedOffset.generatedLine-1),column:t.generatedColumn-(s.generatedOffset.generatedLine===t.generatedLine?s.generatedOffset.generatedColumn-1:0),bias:e.bias}):{source:null,line:null,column:null,name:null}},c.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(e){return e.consumer.hasContentsOfAllSources()})},c.prototype.sourceContentFor=function(e,t){for(var n=0;n<this._sections.length;n++){var r=this._sections[n].consumer.sourceContentFor(e,!0);if(r)return r}if(t)return null;throw new Error('"'+e+'" is not in the SourceMap.')},c.prototype.generatedPositionFor=function(e){for(var t=0;t<this._sections.length;t++){var n=this._sections[t];if(-1!==n.consumer._findSourceIndex(r.getArg(e,"source"))){var i=n.consumer.generatedPositionFor(e);if(i)return{line:i.line+(n.generatedOffset.generatedLine-1),column:i.column+(n.generatedOffset.generatedLine===i.line?n.generatedOffset.generatedColumn-1:0)}}}return{line:null,column:null}},c.prototype._parseMappings=function(e,t){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var i=this._sections[n],s=i.consumer._generatedMappings,u=0;u<s.length;u++){var o=s[u],l=i.consumer._sources.at(o.source);l=r.computeSourceURL(i.consumer.sourceRoot,l,this._sourceMapURL),this._sources.add(l),l=this._sources.indexOf(l);var p=null;o.name&&(p=i.consumer._names.at(o.name),this._names.add(p),p=this._names.indexOf(p));var c={source:l,generatedLine:o.generatedLine+(i.generatedOffset.generatedLine-1),generatedColumn:o.generatedColumn+(i.generatedOffset.generatedLine===o.generatedLine?i.generatedOffset.generatedColumn-1:0),originalLine:o.originalLine,originalColumn:o.originalColumn,name:p};this.__generatedMappings.push(c),"number"==typeof c.originalLine&&this.__originalMappings.push(c)}a(this.__generatedMappings,r.compareByGeneratedPositionsDeflated),a(this.__originalMappings,r.compareByOriginalPositions)},n.IndexedSourceMapConsumer=c},{"./array-set":30,"./base64-vlq":31,"./binary-search":33,"./quick-sort":35,"./util":39}],37:[function(e,t,n){var r=e("./base64-vlq"),i=e("./util"),s=e("./array-set").ArraySet,u=e("./mapping-list").MappingList;function a(e){e||(e={}),this._file=i.getArg(e,"file",null),this._sourceRoot=i.getArg(e,"sourceRoot",null),this._skipValidation=i.getArg(e,"skipValidation",!1),this._sources=new s,this._names=new s,this._mappings=new u,this._sourcesContents=null}a.prototype._version=3,a.fromSourceMap=function(e){var t=e.sourceRoot,n=new a({file:e.file,sourceRoot:t});return e.eachMapping(function(e){var r={generated:{line:e.generatedLine,column:e.generatedColumn}};null!=e.source&&(r.source=e.source,null!=t&&(r.source=i.relative(t,r.source)),r.original={line:e.originalLine,column:e.originalColumn},null!=e.name&&(r.name=e.name)),n.addMapping(r)}),e.sources.forEach(function(r){var s=r;null!==t&&(s=i.relative(t,r)),n._sources.has(s)||n._sources.add(s);var u=e.sourceContentFor(r);null!=u&&n.setSourceContent(r,u)}),n},a.prototype.addMapping=function(e){var t=i.getArg(e,"generated"),n=i.getArg(e,"original",null),r=i.getArg(e,"source",null),s=i.getArg(e,"name",null);this._skipValidation||this._validateMapping(t,n,r,s),null!=r&&(r=String(r),this._sources.has(r)||this._sources.add(r)),null!=s&&(s=String(s),this._names.has(s)||this._names.add(s)),this._mappings.add({generatedLine:t.line,generatedColumn:t.column,originalLine:null!=n&&n.line,originalColumn:null!=n&&n.column,source:r,name:s})},a.prototype.setSourceContent=function(e,t){var n=e;null!=this._sourceRoot&&(n=i.relative(this._sourceRoot,n)),null!=t?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[i.toSetString(n)]=t):this._sourcesContents&&(delete this._sourcesContents[i.toSetString(n)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},a.prototype.applySourceMap=function(e,t,n){var r=t;if(null==t){if(null==e.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');r=e.file}var u=this._sourceRoot;null!=u&&(r=i.relative(u,r));var a=new s,o=new s;this._mappings.unsortedForEach(function(t){if(t.source===r&&null!=t.originalLine){var s=e.originalPositionFor({line:t.originalLine,column:t.originalColumn});null!=s.source&&(t.source=s.source,null!=n&&(t.source=i.join(n,t.source)),null!=u&&(t.source=i.relative(u,t.source)),t.originalLine=s.line,t.originalColumn=s.column,null!=s.name&&(t.name=s.name))}var l=t.source;null==l||a.has(l)||a.add(l);var p=t.name;null==p||o.has(p)||o.add(p)},this),this._sources=a,this._names=o,e.sources.forEach(function(t){var r=e.sourceContentFor(t);null!=r&&(null!=n&&(t=i.join(n,t)),null!=u&&(t=i.relative(u,t)),this.setSourceContent(t,r))},this)},a.prototype._validateMapping=function(e,t,n,r){if(t&&"number"!=typeof t.line&&"number"!=typeof t.column)throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if((!(e&&"line"in e&&"column"in e&&e.line>0&&e.column>=0)||t||n||r)&&!(e&&"line"in e&&"column"in e&&t&&"line"in t&&"column"in t&&e.line>0&&e.column>=0&&t.line>0&&t.column>=0&&n))throw new Error("Invalid mapping: "+JSON.stringify({generated:e,source:n,original:t,name:r}))},a.prototype._serializeMappings=function(){for(var e,t,n,s,u=0,a=1,o=0,l=0,p=0,c=0,h="",f=this._mappings.toArray(),d=0,m=f.length;d<m;d++){if(e="",(t=f[d]).generatedLine!==a)for(u=0;t.generatedLine!==a;)e+=";",a++;else if(d>0){if(!i.compareByGeneratedPositionsInflated(t,f[d-1]))continue;e+=","}e+=r.encode(t.generatedColumn-u),u=t.generatedColumn,null!=t.source&&(s=this._sources.indexOf(t.source),e+=r.encode(s-c),c=s,e+=r.encode(t.originalLine-1-l),l=t.originalLine-1,e+=r.encode(t.originalColumn-o),o=t.originalColumn,null!=t.name&&(n=this._names.indexOf(t.name),e+=r.encode(n-p),p=n)),h+=e}return h},a.prototype._generateSourcesContent=function(e,t){return e.map(function(e){if(!this._sourcesContents)return null;null!=t&&(e=i.relative(t,e));var n=i.toSetString(e);return Object.prototype.hasOwnProperty.call(this._sourcesContents,n)?this._sourcesContents[n]:null},this)},a.prototype.toJSON=function(){var e={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(e.file=this._file),null!=this._sourceRoot&&(e.sourceRoot=this._sourceRoot),this._sourcesContents&&(e.sourcesContent=this._generateSourcesContent(e.sources,e.sourceRoot)),e},a.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=a},{"./array-set":30,"./base64-vlq":31,"./mapping-list":34,"./util":39}],38:[function(e,t,n){var r=e("./source-map-generator").SourceMapGenerator,i=e("./util"),s=/(\r?\n)/,u="$$$isSourceNode$$$";function a(e,t,n,r,i){this.children=[],this.sourceContents={},this.line=null==e?null:e,this.column=null==t?null:t,this.source=null==n?null:n,this.name=null==i?null:i,this[u]=!0,null!=r&&this.add(r)}a.fromStringWithSourceMap=function(e,t,n){var r=new a,u=e.split(s),o=0,l=function(){return e()+(e()||"");function e(){return o<u.length?u[o++]:void 0}},p=1,c=0,h=null;return t.eachMapping(function(e){if(null!==h){if(!(p<e.generatedLine)){var t=(n=u[o]||"").substr(0,e.generatedColumn-c);return u[o]=n.substr(e.generatedColumn-c),c=e.generatedColumn,f(h,t),void(h=e)}f(h,l()),p++,c=0}for(;p<e.generatedLine;)r.add(l()),p++;if(c<e.generatedColumn){var n=u[o]||"";r.add(n.substr(0,e.generatedColumn)),u[o]=n.substr(e.generatedColumn),c=e.generatedColumn}h=e},this),o<u.length&&(h&&f(h,l()),r.add(u.splice(o).join(""))),t.sources.forEach(function(e){var s=t.sourceContentFor(e);null!=s&&(null!=n&&(e=i.join(n,e)),r.setSourceContent(e,s))}),r;function f(e,t){if(null===e||void 0===e.source)r.add(t);else{var s=n?i.join(n,e.source):e.source;r.add(new a(e.originalLine,e.originalColumn,s,t,e.name))}}},a.prototype.add=function(e){if(Array.isArray(e))e.forEach(function(e){this.add(e)},this);else{if(!e[u]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);e&&this.children.push(e)}return this},a.prototype.prepend=function(e){if(Array.isArray(e))for(var t=e.length-1;t>=0;t--)this.prepend(e[t]);else{if(!e[u]&&"string"!=typeof e)throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+e);this.children.unshift(e)}return this},a.prototype.walk=function(e){for(var t,n=0,r=this.children.length;n<r;n++)(t=this.children[n])[u]?t.walk(e):""!==t&&e(t,{source:this.source,line:this.line,column:this.column,name:this.name})},a.prototype.join=function(e){var t,n,r=this.children.length;if(r>0){for(t=[],n=0;n<r-1;n++)t.push(this.children[n]),t.push(e);t.push(this.children[n]),this.children=t}return this},a.prototype.replaceRight=function(e,t){var n=this.children[this.children.length-1];return n[u]?n.replaceRight(e,t):"string"==typeof n?this.children[this.children.length-1]=n.replace(e,t):this.children.push("".replace(e,t)),this},a.prototype.setSourceContent=function(e,t){this.sourceContents[i.toSetString(e)]=t},a.prototype.walkSourceContents=function(e){for(var t=0,n=this.children.length;t<n;t++)this.children[t][u]&&this.children[t].walkSourceContents(e);var r=Object.keys(this.sourceContents);for(t=0,n=r.length;t<n;t++)e(i.fromSetString(r[t]),this.sourceContents[r[t]])},a.prototype.toString=function(){var e="";return this.walk(function(t){e+=t}),e},a.prototype.toStringWithSourceMap=function(e){var t={code:"",line:1,column:0},n=new r(e),i=!1,s=null,u=null,a=null,o=null;return this.walk(function(e,r){t.code+=e,null!==r.source&&null!==r.line&&null!==r.column?(s===r.source&&u===r.line&&a===r.column&&o===r.name||n.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name}),s=r.source,u=r.line,a=r.column,o=r.name,i=!0):i&&(n.addMapping({generated:{line:t.line,column:t.column}}),s=null,i=!1);for(var l=0,p=e.length;l<p;l++)10===e.charCodeAt(l)?(t.line++,t.column=0,l+1===p?(s=null,i=!1):i&&n.addMapping({source:r.source,original:{line:r.line,column:r.column},generated:{line:t.line,column:t.column},name:r.name})):t.column++}),this.walkSourceContents(function(e,t){n.setSourceContent(e,t)}),{code:t.code,map:n}},n.SourceNode=a},{"./source-map-generator":37,"./util":39}],39:[function(e,t,n){n.getArg=function(e,t,n){if(t in e)return e[t];if(3===arguments.length)return n;throw new Error('"'+t+'" is a required argument.')};var r=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,i=/^data:.+\,.+$/;function s(e){var t=e.match(r);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function u(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}function a(e){var t=e,r=s(e);if(r){if(!r.path)return e;t=r.path}for(var i,a=n.isAbsolute(t),o=t.split(/\/+/),l=0,p=o.length-1;p>=0;p--)"."===(i=o[p])?o.splice(p,1):".."===i?l++:l>0&&(""===i?(o.splice(p+1,l),l=0):(o.splice(p,2),l--));return""===(t=o.join("/"))&&(t=a?"/":"."),r?(r.path=t,u(r)):t}function o(e,t){""===e&&(e="."),""===t&&(t=".");var n=s(t),r=s(e);if(r&&(e=r.path||"/"),n&&!n.scheme)return r&&(n.scheme=r.scheme),u(n);if(n||t.match(i))return t;if(r&&!r.host&&!r.path)return r.host=t,u(r);var o="/"===t.charAt(0)?t:a(e.replace(/\/+$/,"")+"/"+t);return r?(r.path=o,u(r)):o}n.urlParse=s,n.urlGenerate=u,n.normalize=a,n.join=o,n.isAbsolute=function(e){return"/"===e.charAt(0)||r.test(e)},n.relative=function(e,t){""===e&&(e="."),e=e.replace(/\/$/,"");for(var n=0;0!==t.indexOf(e+"/");){var r=e.lastIndexOf("/");if(r<0)return t;if((e=e.slice(0,r)).match(/^([^\/]+:\/)?\/*$/))return t;++n}return Array(n+1).join("../")+t.substr(e.length+1)};var l=!("__proto__"in Object.create(null));function p(e){return e}function c(e){if(!e)return!1;var t=e.length;if(t<9)return!1;if(95!==e.charCodeAt(t-1)||95!==e.charCodeAt(t-2)||111!==e.charCodeAt(t-3)||116!==e.charCodeAt(t-4)||111!==e.charCodeAt(t-5)||114!==e.charCodeAt(t-6)||112!==e.charCodeAt(t-7)||95!==e.charCodeAt(t-8)||95!==e.charCodeAt(t-9))return!1;for(var n=t-10;n>=0;n--)if(36!==e.charCodeAt(n))return!1;return!0}function h(e,t){return e===t?0:null===e?1:null===t?-1:e>t?1:-1}n.toSetString=l?p:function(e){return c(e)?"$"+e:e},n.fromSetString=l?p:function(e){return c(e)?e.slice(1):e},n.compareByOriginalPositions=function(e,t,n){var r=h(e.source,t.source);return 0!==r?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)||n?r:0!=(r=e.generatedColumn-t.generatedColumn)?r:0!=(r=e.generatedLine-t.generatedLine)?r:h(e.name,t.name)},n.compareByGeneratedPositionsDeflated=function(e,t,n){var r=e.generatedLine-t.generatedLine;return 0!==r?r:0!=(r=e.generatedColumn-t.generatedColumn)||n?r:0!==(r=h(e.source,t.source))?r:0!=(r=e.originalLine-t.originalLine)?r:0!=(r=e.originalColumn-t.originalColumn)?r:h(e.name,t.name)},n.compareByGeneratedPositionsInflated=function(e,t){var n=e.generatedLine-t.generatedLine;return 0!==n?n:0!=(n=e.generatedColumn-t.generatedColumn)?n:0!==(n=h(e.source,t.source))?n:0!=(n=e.originalLine-t.originalLine)?n:0!=(n=e.originalColumn-t.originalColumn)?n:h(e.name,t.name)},n.parseSourceMapInput=function(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))},n.computeSourceURL=function(e,t,n){if(t=t||"",e&&("/"!==e[e.length-1]&&"/"!==t[0]&&(e+="/"),t=e+t),n){var r=s(n);if(!r)throw new Error("sourceMapURL could not be parsed");if(r.path){var i=r.path.lastIndexOf("/");i>=0&&(r.path=r.path.substring(0,i+1))}t=o(u(r),t)}return a(t)}},{}],40:[function(e,t,n){n.SourceMapGenerator=e("./lib/source-map-generator").SourceMapGenerator,n.SourceMapConsumer=e("./lib/source-map-consumer").SourceMapConsumer,n.SourceNode=e("./lib/source-node").SourceNode},{"./lib/source-map-consumer":36,"./lib/source-map-generator":37,"./lib/source-node":38}]},{},[1])(1)});