// All material copyright ESRI, All Rights Reserved, unless otherwise specified.
// See http://js.arcgis.com/3.23/esri/copyright.txt for details.
//>>built
(function(S,G){"function"===typeof define&&define.amd?define("esri/arcade/lib/esprima",["exports"],G):"undefined"!==typeof exports?G(exports):G(S.esprima={})})(this,function(S){function G(a,b){if(!a)throw Error("ASSERT: "+b);}function H(a){return 48<=a&&57>=a}function ia(a){return 0<="0123456789abcdefABCDEF".indexOf(a)}function T(a){return 0<="01234567".indexOf(a)}function Z(a){return 10===a||13===a||8232===a||8233===a}function O(a){return 36===a||95===a||65<=a&&90>=a||97<=a&&122>=a||92===a||128<=
a&&ja.NonAsciiIdentifierStart.test(String.fromCharCode(a))}function ka(a){return 36===a||95===a||65<=a&&90>=a||97<=a&&122>=a||48<=a&&57>=a||92===a||128<=a&&ja.NonAsciiIdentifierPart.test(String.fromCharCode(a))}function Ma(a){a=a.toLowerCase();switch(a.length){case 2:return"if"===a||"in"===a;case 3:return"var"===a||"for"===a;case 4:return"else"===a;case 5:return"break"===a;case 6:return"return"===a;case 8:return"function"===a.toLowerCase()||"continue"===a;default:return!1}}function la(a,b,d,c,q){G("number"===
typeof d,"Comment must have valid position");l.lastCommentStart>=d||(l.lastCommentStart=d,a={type:a,value:b},e.range&&(a.range=[d,c]),e.loc&&(a.loc=q),e.comments.push(a),e.attachComment&&(e.leadingComments.push(a),e.trailingComments.push(a)))}function ma(a){var b,d,u;b=c-a;for(d={start:{line:m,column:c-r-a}};c<z;)if(u=f.charCodeAt(c),++c,Z(u)){e.comments&&(a=f.slice(b+a,c-1),d.end={line:m,column:c-r-1},la("Line",a,b,c-1,d));13===u&&10===f.charCodeAt(c)&&++c;++m;r=c;return}e.comments&&(a=f.slice(b+
a,c),d.end={line:m,column:c-r},la("Line",a,b,c,d))}function P(){var a,b;for(b=0===c;c<z;)if(a=f.charCodeAt(c),32===a||9===a||11===a||12===a||160===a||5760<=a&&0<=[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(a))++c;else if(Z(a))++c,13===a&&10===f.charCodeAt(c)&&++c,++m,r=c,b=!0;else if(47===a)if(a=f.charCodeAt(c+1),47===a)++c,++c,ma(2),b=!0;else if(42===a){++c;++c;a:{var d=a=void 0,u=void 0,u=void 0;e.comments&&(a=c-2,d={start:{line:m,column:c-r-
2}});for(;c<z;)if(u=f.charCodeAt(c),Z(u))13===u&&10===f.charCodeAt(c+1)&&++c,++m,++c,r=c,c>=z&&v();else{if(42===u&&47===f.charCodeAt(c+1)){++c;++c;e.comments&&(u=f.slice(a+2,c-2),d.end={line:m,column:c-r},la("Block",u,a,c,d));break a}++c}v()}}else break;else if(b&&45===a)if(45===f.charCodeAt(c+1)&&62===f.charCodeAt(c+2))c+=3,ma(3);else break;else if(60===a)if("!--"===f.slice(c+1,c+4))++c,++c,++c,++c,ma(4);else break;else break}function na(a){var b,d,u=0;b="u"===a?4:2;for(a=0;a<b;++a)if(c<z&&ia(f[c]))d=
f[c++],u=16*u+"0123456789abcdef".indexOf(d.toLowerCase());else return"";return String.fromCharCode(u)}function ta(){var a,b;a=f.charCodeAt(c++);b=String.fromCharCode(a);92===a&&(117!==f.charCodeAt(c)&&v(),++c,(a=na("u"))&&"\\"!==a&&O(a.charCodeAt(0))||v(),b=a);for(;c<z;){a=f.charCodeAt(c);if(!ka(a))break;++c;b+=String.fromCharCode(a);92===a&&(b=b.substr(0,b.length-1),117!==f.charCodeAt(c)&&v(),++c,(a=na("u"))&&"\\"!==a&&ka(a.charCodeAt(0))||v(),b+=a)}return b}function L(){var a=c,b=f.charCodeAt(c),
d,u=f[c];switch(b){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++c,e.tokenize&&(40===b?e.openParenToken=e.tokens.length:123===b&&(e.openCurlyToken=e.tokens.length)),{type:g.Punctuator,value:String.fromCharCode(b),lineNumber:m,lineStart:r,start:a,end:c};default:if(d=f.charCodeAt(c+1),61===d)switch(b){case 43:case 45:case 47:case 60:case 62:case 94:case 124:case 37:case 38:case 42:return c+=2,{type:g.Punctuator,value:String.fromCharCode(b)+
String.fromCharCode(d),lineNumber:m,lineStart:r,start:a,end:c};case 33:case 61:return c+=2,61===f.charCodeAt(c)&&++c,{type:g.Punctuator,value:f.slice(a,c),lineNumber:m,lineStart:r,start:a,end:c}}}b=f.substr(c,4);if("\x3e\x3e\x3e\x3d"===b)return c+=4,{type:g.Punctuator,value:b,lineNumber:m,lineStart:r,start:a,end:c};b=b.substr(0,3);if("\x3e\x3e\x3e"===b||"\x3c\x3c\x3d"===b||"\x3e\x3e\x3d"===b)return c+=3,{type:g.Punctuator,value:b,lineNumber:m,lineStart:r,start:a,end:c};b=b.substr(0,2);if(u===b[1]&&
0<="+-\x3c\x3e\x26|".indexOf(u)||"\x3d\x3e"===b)return c+=2,{type:g.Punctuator,value:b,lineNumber:m,lineStart:r,start:a,end:c};if(0<="\x3c\x3e\x3d!+-*%\x26|^/".indexOf(u))return++c,{type:g.Punctuator,value:u,lineNumber:m,lineStart:r,start:a,end:c};v()}function ua(){var a,b,d;d=f[c];G(H(d.charCodeAt(0))||"."===d,"Numeric literal must start with a decimal digit or a decimal point");b=c;a="";if("."!==d){a=f[c++];d=f[c];if("0"===a){if("x"===d||"X"===d){++c;for(a="";c<z&&ia(f[c]);)a+=f[c++];0===a.length&&
v();O(f.charCodeAt(c))&&v();return{type:g.NumericLiteral,value:parseInt("0x"+a,16),lineNumber:m,lineStart:r,start:b,end:c}}if("b"===d||"B"===d){++c;for(d="";c<z;){a=f[c];if("0"!==a&&"1"!==a)break;d+=f[c++]}0===d.length&&v();c<z&&(a=f.charCodeAt(c),(O(a)||H(a))&&v());return{type:g.NumericLiteral,value:parseInt(d,2),lineNumber:m,lineStart:r,start:b,end:c}}if("o"===d||"O"===d||T(d)){T(d)?(d=!0,a="0"+f[c++]):(d=!1,++c,a="");for(;c<z&&T(f[c]);)a+=f[c++];d||0!==a.length||v();(O(f.charCodeAt(c))||H(f.charCodeAt(c)))&&
v();return{type:g.NumericLiteral,value:parseInt(a,8),octal:d,lineNumber:m,lineStart:r,start:b,end:c}}d&&H(d.charCodeAt(0))&&v()}for(;H(f.charCodeAt(c));)a+=f[c++];d=f[c]}if("."===d){for(a+=f[c++];H(f.charCodeAt(c));)a+=f[c++];d=f[c]}if("e"===d||"E"===d){a+=f[c++];d=f[c];if("+"===d||"-"===d)a+=f[c++];if(H(f.charCodeAt(c)))for(;H(f.charCodeAt(c));)a+=f[c++];else v()}O(f.charCodeAt(c))&&v();return{type:g.NumericLiteral,value:parseFloat(a),lineNumber:m,lineStart:r,start:b,end:c}}function va(){h=null;
P();I("Regular Expression language structures not supported")}function U(){P();va()}function Na(){var a;a=e.tokens[e.tokens.length-1];if(!a)return U();if("Punctuator"===a.type){if("]"===a.value)return L();if(")"===a.value)return a=e.tokens[e.openParenToken-1],!a||"Keyword"!==a.type||"if"!==a.value.toLowerCase()&&"while"!==a.value.toLowerCase()&&"for"!==a.value.toLowerCase()&&"with"!==a.value.toLowerCase()?L():U();if("}"===a.value){if(e.tokens[e.openCurlyToken-3]&&"Keyword"===e.tokens[e.openCurlyToken-
3].type){if(a=e.tokens[e.openCurlyToken-4],!a)return L()}else if(e.tokens[e.openCurlyToken-4]&&"Keyword"===e.tokens[e.openCurlyToken-4].type){if(a=e.tokens[e.openCurlyToken-5],!a)return U()}else return L();if(0<=wa.indexOf(a.value))return L()}return U()}return"Keyword"===a.type&&"this"!==a.value?U():L()}function oa(){var a;P();if(c>=z)return{type:g.EOF,lineNumber:m,lineStart:r,start:c,end:c};a=f.charCodeAt(c);if(O(a)){var b;a=c;if(92===f.charCodeAt(c))b=ta();else a:{var d;for(b=c++;c<z;){d=f.charCodeAt(c);
if(92===d){c=b;b=ta();break a}if(ka(d))++c;else break}b=f.slice(b,c)}return{type:1===b.length?g.Identifier:Ma(b)?g.Keyword:"null"===b.toLowerCase()?g.NullLiteral:"true"===b.toLowerCase()||"false"===b.toLowerCase()?g.BooleanLiteral:g.Identifier,value:b,lineNumber:m,lineStart:r,start:a,end:c}}if(40===a||41===a||59===a)return L();if(39===a||34===a){var u="",q,w,h;d=!1;var k,l;k=m;l=r;a=f[c];G("'"===a||'"'===a,"String literal must starts with a quote");b=c;for(++c;c<z;)if(q=f[c++],q===a){a="";break}else if("\\"===
q)if((q=f[c++])&&Z(q.charCodeAt(0)))++m,"\r"===q&&"\n"===f[c]&&++c,r=c;else switch(q){case "u":case "x":if("{"===f[c]){++c;w=q=void 0;q=f[c];w=0;for("}"===q&&v();c<z;){q=f[c++];if(!ia(q))break;w=16*w+"0123456789abcdef".indexOf(q.toLowerCase())}(1114111<w||"}"!==q)&&v();q=65535>=w?String.fromCharCode(w):String.fromCharCode((w-65536>>10)+55296,(w-65536&1023)+56320);u+=q}else h=c,(w=na(q))?u+=w:(c=h,u+=q);break;case "n":u+="\n";break;case "r":u+="\r";break;case "t":u+="\t";break;case "b":u+="\b";break;
case "f":u+="\f";break;case "v":u+="\x0B";break;default:T(q)?(w="01234567".indexOf(q),0!==w&&(d=!0),c<z&&T(f[c])&&(d=!0,w=8*w+"01234567".indexOf(f[c++]),0<="0123".indexOf(q)&&c<z&&T(f[c])&&(w=8*w+"01234567".indexOf(f[c++]))),u+=String.fromCharCode(w)):u+=q}else if(Z(q.charCodeAt(0)))break;else u+=q;""!==a&&v();return{type:g.StringLiteral,value:u,octal:d,startLineNumber:k,startLineStart:l,lineNumber:m,lineStart:r,start:b,end:c}}return 46===a?H(f.charCodeAt(c+1))?ua():L():H(a)?ua():e.tokenize&&47===
a?Na():L()}function xa(){var a,b,d;P();a={start:{line:m,column:c-r}};b=oa();a.end={line:m,column:c-r};b.type!==g.EOF&&(d=f.slice(b.start,b.end),a={type:E[b.type],value:d,range:[b.start,b.end],loc:a},b.regex&&(a.regex={pattern:b.regex.pattern,flags:b.regex.flags}),e.tokens.push(a));return b}function n(){var a;a=h;c=a.end;m=a.lineNumber;r=a.lineStart;h="undefined"!==typeof e.tokens?xa():oa();c=a.end;m=a.lineNumber;r=a.lineStart;return a}function pa(){var a,b,d;a=c;b=m;d=r;h="undefined"!==typeof e.tokens?
xa():oa();c=a;m=b;r=d}function ya(){this.line=m;this.column=c-r}function Oa(){this.start=new ya;this.end=null}function Pa(a){this.start=a.type===g.StringLiteral?{line:a.startLineNumber,column:a.start-a.startLineStart}:{line:a.lineNumber,column:a.start-a.lineStart};this.end=null}function B(){c=h.start;h.type===g.StringLiteral?(m=h.startLineNumber,r=h.startLineStart):(m=h.lineNumber,r=h.lineStart);e.range&&(this.range=[c,0]);e.loc&&(this.loc=new Oa)}function A(a){e.range&&(this.range=[a.start,0]);e.loc&&
(this.loc=new Pa(a))}function ba(){var a,b,d,u;a=c;b=m;d=r;P();u=m!==b;c=a;m=b;r=d;return u}function ca(a,b,d){var c=Error("Line "+a+": "+d);c.index=b;c.lineNumber=a;c.column=b-r+1;c.description=d;return c}function I(a){var b,d;b=Array.prototype.slice.call(arguments,1);d=a.replace(/%(\d)/g,function(a,d){G(d<b.length,"Message reference must be in range");return b[d]});throw ca(m,c,d);}function J(a){var b,d;b=Array.prototype.slice.call(arguments,1);d=a.replace(/%(\d)/g,function(a,d){G(d<b.length,"Message reference must be in range");
return b[d]});d=ca(m,c,d);if(e.errors)e.errors.push(d);else throw d;}function za(a,b){var d=x.UnexpectedToken;a&&(d=b?b:a.type===g.EOF?x.UnexpectedEOS:a.type===g.Identifier?x.UnexpectedIdentifier:a.type===g.NumericLiteral?x.UnexpectedNumber:a.type===g.StringLiteral?x.UnexpectedString:x.UnexpectedToken);d=d.replace("%0",a?a.value:"ILLEGAL");return a&&"number"===typeof a.lineNumber?ca(a.lineNumber,a.start,d):ca(m,c,d)}function v(a,b){throw za(a,b);}function K(a,b){var d=za(a,b);if(e.errors)e.errors.push(d);
else throw d;}function t(a){var b=n();b.type===g.Punctuator&&b.value===a||v(b)}function Aa(){var a;e.errors?(a=h,a.type===g.Punctuator&&","===a.value?n():a.type===g.Punctuator&&";"===a.value?(n(),K(a)):K(a,x.UnexpectedToken)):t(",")}function M(a){var b=n();b.type===g.Keyword&&b.value.toLowerCase()===a.toLowerCase()||v(b)}function k(a){return h.type===g.Punctuator&&h.value===a}function F(a){return h.type===g.Keyword&&h.value.toLowerCase()===a.toLowerCase()}function Q(){var a;59===f.charCodeAt(c)||
k(";")?n():(a=m,P(),m===a&&(h.type===g.EOF||k("}")||v(h)))}function da(a){return a.type===p.Identifier||a.type===p.MemberExpression}function ea(a,b){var d,c,e=new B;d=y;c=fa();y=d;return e.finishFunctionExpression(null,a,[],c)}function Ba(){var a,b;a=y;y=!0;b=qa();b=ea(b.params);y=a;return b}function ga(){var a,b=new B;a=n();return a.type===g.StringLiteral||a.type===g.NumericLiteral?(y&&a.octal&&K(a,x.StrictOctalLiteral),b.finishLiteral(a)):b.finishIdentifier(a.value)}function Qa(){var a,b,d,c=new B;
a=h;if(a.type===g.Identifier)return b=ga(),"get"!==a.value||k(":")||k("(")?"set"!==a.value||k(":")||k("(")?k(":")?(n(),a=C(),c.finishProperty("init",b,a,!1,!1)):k("(")?(a=Ba(),c.finishProperty("init",b,a,!0,!1)):c.finishProperty("init",b,b,!1,!0):(b=ga(),t("("),a=h,a.type!==g.Identifier?(t(")"),K(a),a=ea([])):(d=[R()],t(")"),a=ea(d,a)),c.finishProperty("set",b,a,!1,!1)):(b=ga(),t("("),t(")"),a=ea([]),c.finishProperty("get",b,a,!1,!1));if(a.type===g.EOF||a.type===g.Punctuator)v(a);else{b=ga();if(k(":"))return n(),
a=C(),c.finishProperty("init",b,a,!1,!1);if(k("("))return a=Ba(),c.finishProperty("init",b,a,!0,!1);v(n())}}function ra(a){var b=[],d,c,e={},f=String,g=new B;for(!0!==a&&t("{");!k("}");)a=Qa(),d=a.key.type===p.Identifier?a.key.name:f(a.key.value),c="init"===a.kind?N.Data:"get"===a.kind?N.Get:N.Set,d="$"+d,Object.prototype.hasOwnProperty.call(e,d)?(e[d]===N.Data?y&&c===N.Data?J(x.StrictDuplicateProperty):c!==N.Data&&J(x.AccessorDataProperty):c===N.Data?J(x.AccessorDataProperty):e[d]&c&&J(x.AccessorGetSet),
e[d]|=c):e[d]=c,b.push(a),k("}")||Aa();t("}");return g.finishObjectExpression(b)}function Ca(){var a,b,d,c;if(k("("))return t("("),k(")")?(n(),b=W.ArrowParameterPlaceHolder):(++l.parenthesisCount,b=D(),t(")")),b;if(k("[")){b=[];var q=new B;for(t("[");!k("]");)k(",")?(n(),b.push(null)):(b.push(C()),k("]")||t(","));n();return q.finishArrayExpression(b)}if(k("{"))return ra();a=h.type;c=new B;if(a===g.Identifier)d=c.finishIdentifier(n().value);else if(a===g.StringLiteral||a===g.NumericLiteral)y&&h.octal&&
K(h,x.StrictOctalLiteral),d=c.finishLiteral(n());else if(a===g.Keyword){if(F("function")){c=null;var f;d=[];var p=[],m,r=new B;M("function");k("(")||(c=R());f=qa(b);d=f.params;p=f.defaults;a=f.stricted;b=f.firstRestricted;f.message&&(q=f.message);m=y;f=fa();y&&b&&v(b,q);y&&a&&K(a,q);y=m;return r.finishFunctionExpression(c,d,p,f)}F("this")?(n(),d=c.finishThisExpression()):v(n())}else a===g.BooleanLiteral?(b=n(),b.value="true"===b.value.toLowerCase(),d=c.finishLiteral(b)):a===g.NullLiteral?(b=n(),b.value=
null,d=c.finishLiteral(b)):k("/")||k("/\x3d")?(d="undefined"!==typeof e.tokens?c.finishLiteral(U()):c.finishLiteral(va()),pa()):v(n());return d}function Da(){var a=[];t("(");if(!k(")"))for(;c<z;){a.push(C());if(k(")"))break;Aa()}t(")");return a}function Ea(){t(".");var a,b=new B;a=n();a.type===g.Identifier||a.type===g.Keyword||a.type===g.BooleanLiteral||a.type===g.NullLiteral||v(a);return b.finishIdentifier(a.value)}function Fa(){var a;t("[");a=D();t("]");return a}function Ga(){var a,b,d=new B;M("new");
var c;G(l.allowIn,"callee of new expression always allow in keyword.");c=h;for(a=F("new")?Ga():Ca();;)if(k("["))b=Fa(),a=(new A(c)).finishMemberExpression("[",a,b);else if(k("."))b=Ea(),a=(new A(c)).finishMemberExpression(".",a,b);else break;b=k("(")?Da():[];return d.finishNewExpression(a,b)}function Ha(){var a,b,d=h,c,e=l.allowIn;b=h;l.allowIn=!0;for(a=F("new")?Ga():Ca();;)if(k("."))c=Ea(),a=(new A(b)).finishMemberExpression(".",a,c);else if(k("("))c=Da(),a=(new A(b)).finishCallExpression(a,c);else if(k("["))c=
Fa(),a=(new A(b)).finishMemberExpression("[",a,c);else break;l.allowIn=e;h.type!==g.Punctuator||!k("++")&&!k("--")||ba()||(da(a)||J(x.InvalidLHSInAssignment),b=n(),a=(new A(d)).finishPostfixExpression(b.value,a));return a}function X(){var a,b,d;h.type!==g.Punctuator&&h.type!==g.Keyword?b=Ha():k("++")||k("--")?(d=h,a=n(),b=X(),da(b)||J(x.InvalidLHSInAssignment),b=(new A(d)).finishUnaryExpression(a.value,b)):k("+")||k("-")||k("~")||k("!")?(d=h,a=n(),b=X(),b=(new A(d)).finishUnaryExpression(a.value,
b)):F("delete")||F("void")||F("typeof")?(d=h,a=n(),b=X(),b=(new A(d)).finishUnaryExpression(a.value,b),y&&"delete"===b.operator&&b.argument.type===p.Identifier&&J(x.StrictDelete)):b=Ha();return b}function Ia(a,b){var d=0;if(a.type!==g.Punctuator&&a.type!==g.Keyword)return 0;switch(a.value){case "||":d=1;break;case "\x26\x26":d=2;break;case "|":d=3;break;case "^":d=4;break;case "\x26":d=5;break;case "\x3d\x3d":case "!\x3d":case "\x3d\x3d\x3d":case "!\x3d\x3d":d=6;break;case "\x3c":case "\x3e":case "\x3c\x3d":case "\x3e\x3d":case "instanceof":d=
7;break;case "in":d=b?7:0;break;case "\x3c\x3c":case "\x3e\x3e":case "\x3e\x3e\x3e":d=8;break;case "+":case "-":d=9;break;case "*":case "/":case "%":d=11}return d}function Ra(){var a,b,d,c,e,f;a=h;b=X();if(b===W.ArrowParameterPlaceHolder)return b;d=h;c=Ia(d,l.allowIn);if(0===c)return b;d.prec=c;n();a=[a,h];f=X();for(e=[b,d,f];0<(c=Ia(h,l.allowIn));){for(;2<e.length&&c<=e[e.length-2].prec;)f=e.pop(),d=e.pop().value,b=e.pop(),a.pop(),b=(new A(a[a.length-1])).finishBinaryExpression(d,b,f),e.push(b);
d=n();d.prec=c;e.push(d);a.push(h);b=X();e.push(b)}c=e.length-1;b=e[c];for(a.pop();1<c;)b=(new A(a.pop())).finishBinaryExpression(e[c-1].value,e[c-2],b),c-=2;return b}function ha(a){var b,d,c,e,f,g,h;e=[];f=[];g=0;h={paramSet:{}};b=0;for(d=a.length;b<d;b+=1)if(c=a[b],c.type===p.Identifier)e.push(c),f.push(null),sa(h,c,c.name);else if(c.type===p.AssignmentExpression)e.push(c.left),f.push(c.right),++g,sa(h,c.left,c.left.name);else return null;h.message===x.StrictParamDupe&&(a=y?h.stricted:h.firstRestricted,
v(a,h.message));0===g&&(f=[]);return{params:e,defaults:f,rest:null,stricted:h.stricted,firstRestricted:h.firstRestricted,message:h.message}}function C(){var a,b,d,c,e;a=l.parenthesisCount;b=e=h;var f,m;m=h;d=Ra();d!==W.ArrowParameterPlaceHolder&&k("?")&&(n(),f=l.allowIn,l.allowIn=!0,b=C(),l.allowIn=f,t(":"),f=C(),d=(new A(m)).finishConditionalExpression(d,b,f));if(d===W.ArrowParameterPlaceHolder||k("\x3d\x3e"))if(l.parenthesisCount===a||l.parenthesisCount===a+1)if(d.type===p.Identifier?c=ha([d]):
d.type===p.AssignmentExpression?c=ha([d]):d.type===p.SequenceExpression?c=ha(d.expressions):d===W.ArrowParameterPlaceHolder&&(c=ha([])),c)return a=c,e=new A(e),t("\x3d\x3e"),c=y,d=k("{")?fa():C(),y&&a.firstRestricted&&v(a.firstRestricted,a.message),y&&a.stricted&&K(a.stricted,a.message),y=c,e.finishArrowFunctionExpression(a.params,a.defaults,d,d.type!==p.BlockStatement);h.type!==g.Punctuator?a=!1:(a=h.value,a="\x3d"===a||"*\x3d"===a||"/\x3d"===a||"%\x3d"===a||"+\x3d"===a||"-\x3d"===a||"\x3c\x3c\x3d"===
a||"\x3e\x3e\x3d"===a||"\x3e\x3e\x3e\x3d"===a||"\x26\x3d"===a||"^\x3d"===a||"|\x3d"===a);a&&(da(d)||J(x.InvalidLHSInAssignment),b=n(),a=C(),d=(new A(e)).finishAssignmentExpression(b.value,d,a));return d}function D(){var a,b=h;a=C();if(k(",")){for(a=[a];c<z&&k(",");)n(),a.push(C());a=(new A(b)).finishSequenceExpression(a)}return a}function R(){var a,b=new B;a=n();a.type!==g.Identifier&&v(a);return b.finishIdentifier(a.value)}function Sa(a){var b=null,d,c=new B;d=R();"const"===a?(t("\x3d"),b=C()):k("\x3d")&&
(n(),b=C());return c.finishVariableDeclarator(d,b)}function Ja(a){var b=[];do{b.push(Sa(a));if(!k(","))break;n()}while(c<z);return b}function Y(a){var b=h.type,d,e;b===g.EOF&&v(h);if(b===g.Punctuator&&"{"===h.value){if(a){t("{");var q=h;a=c;d=m;e=r;n();b=k(":");h=q;c=a;m=d;r=e;if((h.type===g.Identifier||h.type===g.StringLiteral)&&b)return ra(!0);a=new B;for(d=[];c<z&&!k("}");){e=aa();if("undefined"===typeof e)break;d.push(e)}t("}");return a.finishBlockStatement(d)}return ra()}a=new B;if(b===g.Punctuator)switch(h.value){case ";":return a=
new B,t(";"),a.finishEmptyStatement();case "(":return d=D(),Q(),a.finishExpressionStatement(d)}else if(b===g.Keyword)switch(h.value.toLowerCase()){case "break":return d=null,M("break"),59===f.charCodeAt(c)?(n(),l.inIteration||l.inSwitch||I(x.IllegalBreak),a=a.finishBreakStatement(null)):ba()?(l.inIteration||l.inSwitch||I(x.IllegalBreak),a=a.finishBreakStatement(null)):(h.type===g.Identifier&&(d=R(),e="$"+d.name,Object.prototype.hasOwnProperty.call(l.labelSet,e)||I(x.UnknownLabel,d.name)),Q(),null!==
d||l.inIteration||l.inSwitch||I(x.IllegalBreak),a=a.finishBreakStatement(d)),a;case "continue":return d=null,M("continue"),59===f.charCodeAt(c)?(n(),l.inIteration||I(x.IllegalContinue),a=a.finishContinueStatement(null)):ba()?(l.inIteration||I(x.IllegalContinue),a=a.finishContinueStatement(null)):(h.type===g.Identifier&&(d=R(),e="$"+d.name,Object.prototype.hasOwnProperty.call(l.labelSet,e)||I(x.UnknownLabel,d.name)),Q(),null!==d||l.inIteration||I(x.IllegalContinue),a=a.finishContinueStatement(d)),
a;case "for":var w,V,y;V=l.allowIn;w=b=q=null;M("for");t("(");if(k(";"))n();else{if(F("var")){l.allowIn=!1;var A=new B;w=n();y=Ja();w=A.finishVariableDeclaration(y,w.value);l.allowIn=V;1===w.declarations.length&&F("in")&&(n(),d=w,e=D(),w=null)}else l.allowIn=!1,w=D(),l.allowIn=V,F("in")&&(da(w)||J(x.InvalidLHSInForIn),n(),d=w,e=D(),w=null);"undefined"===typeof d&&t(";")}"undefined"===typeof d&&(k(";")||(b=D()),t(";"),k(")")||(q=D()));t(")");y=l.inIteration;l.inIteration=!0;V=Y(!0);l.inIteration=y;
return"undefined"===typeof d?a.finishForStatement(w,b,q,V):a.finishForInStatement(d,e,V);case "function":return Ka(a);case "if":return M("if"),t("("),d=D(),t(")"),e=Y(!0),F("else")?(n(),b=Y(!0)):b=null,a.finishIfStatement(d,e,b);case "return":return d=null,M("return"),l.inFunctionBody||J(x.IllegalReturn),32===f.charCodeAt(c)&&O(f.charCodeAt(c+1))?(d=D(),Q(),a=a.finishReturnStatement(d)):ba()?a=a.finishReturnStatement(null):(k(";")||k("}")||h.type===g.EOF||(d=D()),Q(),a=a.finishReturnStatement(d)),
a;case "var":return M("var"),d=Ja(),Q(),a.finishVariableDeclaration(d,"var")}d=D();if(d.type===p.Identifier&&k(":"))return n(),b="$"+d.name,Object.prototype.hasOwnProperty.call(l.labelSet,b)&&I(x.Redeclaration,"Label",d.name),l.labelSet[b]=!0,e=Y(!1),delete l.labelSet[b],a.finishLabeledStatement(d,e);Q();return a.finishExpressionStatement(d)}function fa(){var a,b=[],d,e,q,w,m,n=new B;for(t("{");c<z&&h.type===g.StringLiteral;){d=h;a=aa();b.push(a);if(a.expression.type!==p.Literal)break;a=f.slice(d.start+
1,d.end-1);"use strict"===a?(y=!0,e&&K(e,x.StrictOctalLiteral)):!e&&d.octal&&(e=d)}d=l.labelSet;e=l.inIteration;q=l.inSwitch;w=l.inFunctionBody;m=l.parenthesizedCount;l.labelSet={};l.inIteration=!1;l.inSwitch=!1;l.inFunctionBody=!0;for(l.parenthesizedCount=0;c<z&&!k("}");){a=aa();if("undefined"===typeof a)break;b.push(a)}t("}");l.labelSet=d;l.inIteration=e;l.inSwitch=q;l.inFunctionBody=w;l.parenthesizedCount=m;return n.finishBlockStatement(b)}function sa(a,b,d){d="$"+d;y?Object.prototype.hasOwnProperty.call(a.paramSet,
d)&&(a.stricted=b,a.message=x.StrictParamDupe):!a.firstRestricted&&Object.prototype.hasOwnProperty.call(a.paramSet,d)&&(a.firstRestricted=b,a.message=x.StrictParamDupe);a.paramSet[d]=!0}function qa(a){a={params:[],defaultCount:0,defaults:[],firstRestricted:a};t("(");if(!k(")"))for(a.paramSet={};c<z;){var b=a,d=void 0,e=void 0,f=void 0,d=h,e=R();sa(b,d,d.value);k("\x3d")&&(n(),f=C(),++b.defaultCount);b.params.push(e);b.defaults.push(f);if(k(")"))break;t(",")}t(")");0===a.defaultCount&&(a.defaults=
[]);return{params:a.params,defaults:a.defaults,stricted:a.stricted,firstRestricted:a.firstRestricted,message:a.message}}function Ka(){var a,b=[],d=[],c,e,f,g,h,k=new B;M("function");a=R();c=qa(f);b=c.params;d=c.defaults;e=c.stricted;f=c.firstRestricted;c.message&&(g=c.message);h=y;c=fa();y&&f&&v(f,g);y&&e&&K(e,g);y=h;return k.finishFunctionDeclaration(a,b,d,c)}function aa(){if(h.type===g.Keyword)return"function"===h.value.toLowerCase()?Ka():Y(!1);if(h.type!==g.EOF)return Y(!1)}function La(){var a,
b,c,f=[];for(a=0;a<e.tokens.length;++a)b=e.tokens[a],c={type:b.type,value:b.value},b.regex&&(c.regex={pattern:b.regex.pattern,flags:b.regex.flags}),e.range&&(c.range=b.range),e.loc&&(c.loc=b.loc),f.push(c);e.tokens=f}var g,E,wa,p,W,N,x,ja,f,y,c,m,r,z,h,l,e;g={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8,RegularExpression:9};E={};E[g.BooleanLiteral]="Boolean";E[g.EOF]="\x3cend\x3e";E[g.Identifier]="Identifier";E[g.Keyword]="Keyword";E[g.NullLiteral]=
"Null";E[g.NumericLiteral]="Numeric";E[g.Punctuator]="Punctuator";E[g.StringLiteral]="String";E[g.RegularExpression]="RegularExpression";wa="( { [ in typeof instanceof new return case delete throw void \x3d +\x3d -\x3d *\x3d /\x3d %\x3d \x3c\x3c\x3d \x3e\x3e\x3d \x3e\x3e\x3e\x3d \x26\x3d |\x3d ^\x3d , + - * / % ++ -- \x3c\x3c \x3e\x3e \x3e\x3e\x3e \x26 | ^ ! ~ \x26\x26 || ? : \x3d\x3d\x3d \x3d\x3d \x3e\x3d \x3c\x3d \x3c \x3e !\x3d !\x3d\x3d".split(" ");p={AssignmentExpression:"AssignmentExpression",
ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",
Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator"};W={ArrowParameterPlaceHolder:{type:"ArrowParameterPlaceHolder"}};N={Data:1,Get:2,Set:4};x={UnexpectedToken:"Unexpected token %0",
UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",
NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",
StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",
StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"};ja={NonAsciiIdentifierStart:RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0-\u08b2\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"),
NonAsciiIdentifierPart:RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0-\u08b2\u08e4-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d01-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1cf8\u1cf9\u1d00-\u1df5\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua69d\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua7ad\ua7b0\ua7b1\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab5f\uab64\uab65\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2d\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]")};
A.prototype=B.prototype={processComment:function(){var a,b,c,f=e.bottomRightStack,g,h,k=f[f.length-1];if(!(this.type===p.Program&&0<this.body.length)){if(0<e.trailingComments.length){c=[];for(g=e.trailingComments.length-1;0<=g;--g)h=e.trailingComments[g],h.range[0]>=this.range[1]&&(c.unshift(h),e.trailingComments.splice(g,1));e.trailingComments=[]}else k&&k.trailingComments&&k.trailingComments[0].range[0]>=this.range[1]&&(c=k.trailingComments,delete k.trailingComments);if(k)for(;k&&k.range[0]>=this.range[0];)a=
k,k=f.pop();if(a)a.leadingComments&&a.leadingComments[a.leadingComments.length-1].range[1]<=this.range[0]&&(this.leadingComments=a.leadingComments,a.leadingComments=void 0);else if(0<e.leadingComments.length)for(b=[],g=e.leadingComments.length-1;0<=g;--g)h=e.leadingComments[g],h.range[1]<=this.range[0]&&(b.unshift(h),e.leadingComments.splice(g,1));b&&0<b.length&&(this.leadingComments=b);c&&0<c.length&&(this.trailingComments=c);f.push(this)}},finish:function(){e.range&&(this.range[1]=c);e.loc&&(this.loc.end=
new ya,e.source&&(this.loc.source=e.source));e.attachComment&&this.processComment()},finishArrayExpression:function(a){this.type=p.ArrayExpression;this.elements=a;this.finish();return this},finishAssignmentExpression:function(a,b,c){this.type=p.AssignmentExpression;this.operator=a;this.left=b;this.right=c;this.finish();return this},finishBinaryExpression:function(a,b,c){this.type="||"===a||"\x26\x26"===a?p.LogicalExpression:p.BinaryExpression;this.operator=a;this.left=b;this.right=c;this.finish();
return this},finishBlockStatement:function(a){this.type=p.BlockStatement;this.body=a;this.finish();return this},finishBreakStatement:function(a){this.type=p.BreakStatement;this.label=a;this.finish();return this},finishCallExpression:function(a,b){this.type=p.CallExpression;this.callee=a;this.arguments=b;this.finish();return this},finishConditionalExpression:function(a,b,c){this.type=p.ConditionalExpression;this.test=a;this.consequent=b;this.alternate=c;this.finish();return this},finishContinueStatement:function(a){this.type=
p.ContinueStatement;this.label=a;this.finish();return this},finishEmptyStatement:function(){this.type=p.EmptyStatement;this.finish();return this},finishExpressionStatement:function(a){this.type=p.ExpressionStatement;this.expression=a;this.finish();return this},finishForStatement:function(a,b,c,e){this.type=p.ForStatement;this.init=a;this.test=b;this.update=c;this.body=e;this.finish();return this},finishForInStatement:function(a,b,c){this.type=p.ForInStatement;this.left=a;this.right=b;this.body=c;
this.each=!1;this.finish();return this},finishFunctionDeclaration:function(a,b,c,e){this.type=p.FunctionDeclaration;this.id=a;this.params=b;this.defaults=c;this.body=e;this.rest=null;this.expression=this.generator=!1;this.finish();return this},finishFunctionExpression:function(a,b,c,e){this.type=p.FunctionExpression;this.id=a;this.params=b;this.defaults=c;this.body=e;this.rest=null;this.expression=this.generator=!1;this.finish();return this},finishIdentifier:function(a){this.type=p.Identifier;this.name=
a;this.finish();return this},finishIfStatement:function(a,b,c){this.type=p.IfStatement;this.test=a;this.consequent=b;this.alternate=c;this.finish();return this},finishLiteral:function(a){this.type=p.Literal;this.value=a.value;this.raw=f.slice(a.start,a.end);a.regex&&(this.regex=a.regex);this.finish();return this},finishMemberExpression:function(a,b,c){this.type=p.MemberExpression;this.computed="["===a;this.object=b;this.property=c;this.finish();return this},finishObjectExpression:function(a){this.type=
p.ObjectExpression;this.properties=a;this.finish();return this},finishPostfixExpression:function(a,b){this.type=p.UpdateExpression;this.operator=a;this.argument=b;this.prefix=!1;this.finish();return this},finishProgram:function(a){this.type=p.Program;this.body=a;this.finish();return this},finishProperty:function(a,b,c,e,f){this.type=p.Property;this.key=b;this.value=c;this.kind=a;this.method=e;this.shorthand=f;this.finish();return this},finishReturnStatement:function(a){this.type=p.ReturnStatement;
this.argument=a;this.finish();return this},finishUnaryExpression:function(a,b){this.type="++"===a||"--"===a?p.UpdateExpression:p.UnaryExpression;this.operator=a;this.argument=b;this.prefix=!0;this.finish();return this},finishVariableDeclaration:function(a,b){this.type=p.VariableDeclaration;this.declarations=a;this.kind=b;this.finish();return this},finishVariableDeclarator:function(a,b){this.type=p.VariableDeclarator;this.id=a;this.init=b;this.finish();return this}};S.version="2.0.0-dev";S.tokenize=
function(a,b){var d,k;d=String;"string"===typeof a||a instanceof String||(a=d(a));f=a;c=0;m=0<f.length?1:0;r=0;z=f.length;h=null;l={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1,lastCommentStart:-1};e={};b=b||{};b.tokens=!0;e.tokens=[];e.tokenize=!0;e.openParenToken=-1;e.openCurlyToken=-1;e.range="boolean"===typeof b.range&&b.range;e.loc="boolean"===typeof b.loc&&b.loc;"boolean"===typeof b.comment&&b.comment&&(e.comments=[]);"boolean"===typeof b.tolerant&&b.tolerant&&(e.errors=
[]);try{pa();if(h.type===g.EOF)return e.tokens;for(n();h.type!==g.EOF;)try{n()}catch(q){if(e.errors){e.errors.push(q);break}else throw q;}La();k=e.tokens;"undefined"!==typeof e.comments&&(k.comments=e.comments);"undefined"!==typeof e.errors&&(k.errors=e.errors)}catch(q){throw q;}finally{e={}}return k};S.parse=function(a,b){var d,k;k=String;"string"===typeof a||a instanceof String||(a=k(a));f=a;c=0;m=0<f.length?1:0;r=0;z=f.length;h=null;l={allowIn:!0,labelSet:{},parenthesisCount:0,inFunctionBody:!1,
inIteration:!1,inSwitch:!1,lastCommentStart:-1};e={};"undefined"!==typeof b&&(e.range="boolean"===typeof b.range&&b.range,e.loc="boolean"===typeof b.loc&&b.loc,e.attachComment="boolean"===typeof b.attachComment&&b.attachComment,e.loc&&null!==b.source&&void 0!==b.source&&(e.source=k(b.source)),"boolean"===typeof b.tokens&&b.tokens&&(e.tokens=[]),"boolean"===typeof b.comment&&b.comment&&(e.comments=[]),"boolean"===typeof b.tolerant&&b.tolerant&&(e.errors=[]),e.attachComment&&(e.range=!0,e.comments=
[],e.bottomRightStack=[],e.trailingComments=[],e.leadingComments=[]));try{var q;P();pa();q=new B;y=!1;var n;k=[];for(var t,v,A;c<z;){t=h;if(t.type!==g.StringLiteral)break;n=aa();k.push(n);if(n.expression.type!==p.Literal)break;v=f.slice(t.start+1,t.end-1);"use strict"===v?(y=!0,A&&K(A,x.StrictOctalLiteral)):!A&&t.octal&&(A=t)}for(;c<z;){n=aa();if("undefined"===typeof n)break;k.push(n)}d=q.finishProgram(k);"undefined"!==typeof e.comments&&(d.comments=e.comments);"undefined"!==typeof e.tokens&&(La(),
d.tokens=e.tokens);"undefined"!==typeof e.errors&&(d.errors=e.errors)}catch(Ta){throw Ta;}finally{e={}}return d};S.Syntax=function(){var a,b={};"function"===typeof Object.create&&(b=Object.create(null));for(a in p)p.hasOwnProperty(a)&&(b[a]=p[a]);"function"===typeof Object.freeze&&Object.freeze(b);return b}()});