-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathchiffon.min.js
10 lines (10 loc) · 26.6 KB
/
chiffon.min.js
1
2
3
4
5
6
7
8
9
10
/*!
* Chiffon v2.5.4 - A small ECMAScript parser, tokenizer and minifier written in JavaScript.
* Copyright (c) 2015-2016 polygon planet <polygon.planet.aqua@gmail.com>
* @license MIT
*/
!function(a,b,c){"undefined"!=typeof exports?"undefined"!=typeof module&&module.exports?module.exports=c():exports[a]=c():"function"==typeof define&&define.amd?define(c):b[a]=c()}("Chiffon",this,function(){"use strict";function a(a){return new RegExp("(/[*][\\s\\S]*?[*]/|//[^"+D+"]*|<!--[^"+D+"]*|(?:^|"+E+")(?:"+F+")?-->[^"+D+"]*"+(a===u?"":"|"+J+G)+'|"(?:\\\\\\r\\n|\\\\[\\s\\S]|[^"'+D+"\\\\])*\"|'(?:\\\\\\r\\n|\\\\[\\s\\S]|[^'"+D+"\\\\])*'"+(a===x?"":"|"+I+G)+"|0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)|(?:\\d+(?:[.]\\d*)?|[.]\\d+)(?:[eE][+-]?\\d+)?|[1-9]\\d*|0[0-7]+|"+H+(a===s?"":"|"+F)+"|"+E+"|"+(a===u?"[\\s\\S]":K)+")","g")}function b(a){return 65535>=a?q(a):(a-=65536,q((a>>10)+55296,a%1024+56320))}function c(a){return 10===a||13===a||8232===a||8233===a}function d(a){return!U.test(a)}function e(a){return a>=48&&57>=a}function f(a){var b=a.charCodeAt(0);return b>=48&&55>=b}function g(a){return o.call(arguments,1).forEach(function(b){for(var c=Object.keys(b),d=0,e=c.length;e>d;d++){var f=c[d];a[f]=b[f]}}),a}function h(a){this.ad=g({},a||{}),this.line=1,this.index=0,this.ah=0}function i(a){this.ad=g({},a||{})}function j(a){this.ad=g({},a||{},da)}function k(a){this.ad=g({},a||{})}var l={},m=Array.prototype,n=m.push,o=m.slice,p=m.splice,q=String.fromCharCode,r="Comment",s="WhiteSpace",t="LineTerminator",u="Template",v="String",w="Punctuator",x="RegularExpression",y="Numeric",z="Identifier",A="Null",B="Boolean",C="Keyword",D="\\r\\n\\u2028\\u2029",E="(?:\\r\\n|["+D+"])",F="(?:(?!["+D+"])\\s)+",G="(?=\\s*(?:(?!\\s*[/\\\\<>*%`^\"'\\w$-])[^/\\\\<>*%`^'\"({[\\w$-]|[!=]==?|[|][|]|&&|/[*/]|[,.;:!?)}\\]"+D+"]|$))",H="(?:>>>=?|[.]{3}|<<=|===|!==|>>=|[+][+](?=[+])|--(?=-)|[=!<>*%+/&|^-]=|&&|[|][|]|[+][+]|--|<<|>>|=>|[-+*/%<>=&|^~!?:;,.()[\\]{}])",I="(?:/(?![*/])(?:\\\\[\\s\\S]|\\[(?:\\\\[\\s\\S]|[^\\]"+D+"\\\\])*\\]|[^/"+D+"\\\\])+/(?:[gimuy]+\\b|))",J="`(?:\\\\[\\s\\S]|[$][{](?:\\\\[\\s\\S]|[^{}\\\\]|[{](?:[^{}]*(?:[{][^{}]*[}])?)*[}])*[}]|[^`\\\\])*`",K="(?:\\\\u(?:[0-9a-fA-F]{4}|[{][0-9a-fA-F]+[}])|[^\\s\\\\+/%*=&|^~<>!?:;,.()[\\]{}'\"`@#-])+",L="typeof|in|void|case|instanceof|yield|throw|delete|else|return|do",M="if|while|for|with",N=new RegExp("^(?:"+M+"|"+L+"|var|function|this|new|break|catch|finally|try|default|continue|switch|const|export|import|class|extends|debugger|super|let|static|enum|await|implements|package|protected|interface|private|public)$"),O=new RegExp(E),P=new RegExp("^"+K+"$"),Q=new RegExp("^"+K),R=new RegExp(K+"$"),S=/^[+-]/,T=/[+-]$/,U=/[^{}()[\]<>=!+*%\/&|^~?:;,.-]/,V=new RegExp("^"+F),W=new RegExp("(?:(?:^(?:"+L+")$)|(?:(?![.\\]])"+H+"$))"),X=new RegExp("^(?:"+M+")$"),Y=a(s),Z=a(u),$=a(x),_=a();D=E=F=G=H=I=J=K=L=M=null,h.prototype={ae:function(a,b){for(var c,d,e,f,g,h,i,j,k,l,m,n=0;n<a.length;n++)if(d=a[n],e=d.length,0!==e){if(h=this.line,i=this.index-this.ah,m=null,l=this.bc(d),this.ad.loc&&(l===v||l===r&&"*"===d.charAt(1)?(g=d.split(O),g.length>1&&(this.line+=g.length-1,this.ah=this.index+e-g.pop().length)):l===t&&(this.line++,this.ah=this.index+e)),l===x){if(this.ap(a,n,b,d)){n--;continue}f=d.lastIndexOf("/"),m={pattern:d.substr(1,f-1),flags:d.substring(f+1)}}else if(l===u){this.ak(d,b,i);continue}this.index+=e,l&&(this.ad.parse&&l===t?k=!0:l===r&&!this.ad.comment||l===s&&!this.ad.whiteSpace||l===t&&!this.ad.lineTerminator||(c={type:l,value:d},k&&(c.hasLineTerminator=!0),k=!1,m&&(c.regex=m),this.ad.range&&(c.range=[this.index-e,this.index]),this.ad.loc&&(j=this.index-this.ah,this.ai(c,h,i,this.line,j)),b[b.length]=c))}},bc:function(a){var b,f=a.length,g=a.charAt(0);switch(g){case'"':case"'":return v;case"/":return 1===f?w:(g=a.charAt(1),"/"===g||"*"===g?r:2===f&&"="===g?w:x);case".":return 1===f?w:(g=a.charAt(1),"."===g?w:y);case"<":return f>1&&"!"===a.charAt(1)?r:w;case"-":return 3>f?w:r;case"`":return u;case"}":return 1===f?w:u;default:if("true"===a||"false"===a)return B;if("null"===a)return A;if(V.test(g))return s;if(d(g))return w;if(b=g.charCodeAt(0),c(b))return t;if(e(b))return y;if(N.test(a))return C;if(P.test(a))return z}},ai:function(a,b,c,d,e){a.loc={start:{line:b,column:c},end:{line:d,column:e}}},ak:function(a,b,c){var d=this.al(a,c),e=this.am(d);n.apply(b,e)},am:function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];if("tmp-source"===e.type){var f=g({},e.ag,{type:u}),h=this.ac(e.value,f);n.apply(b,h)}else b[b.length]=e}return b},al:function(a,b){for(var d,e,f,g,h,i,j,k,l=a.match(Z),m=this.line,n=m,o=this.index,p=[this.ah],q=[],r=0,s="",t=u,v=0,w=0,x=0,y=l.length;y>x;g=l[x++]){var z=l[x],A=z.length;if(c(z.charCodeAt(0))&&(m++,p[p.length]=o+w+A),h){switch(z){case"{":v++;break;case"}":v--}0===v&&y>x+1&&"}"===l[x+1]&&(j=!0,t="tmp-source",h=!1)}else"\\"===z?"\\"===g?r++:r=1:"$"===z?i="\\"!==g||r%2===0:"{"===z&&i&&"$"===g&&(j=!0,t=u,h=!0);s+=z,x===y-1&&(j=!0,t=u),j&&(k={type:t,value:s},d=o+w+A,e=this.ao(p,d),f=d-e,t===u?(this.ad.range&&(k.range=[d-s.length,d]),this.ad.loc&&this.ai(k,n,b,m,f),b=f+A):(d=o+w+A-s.length,e=this.ao(p,d),k.ag={line:n,index:d,ah:e},b=f),q[q.length]=k,s="",n=m,j=!1),w+=A}return this.line=n,this.index=d,this.ah=e,q},ao:function(a,b){for(var c=a.length-1;c>=0;--c){var d=a[c];if(b>=d)return d}},ap:function(a,b,c,d){for(var e=c.length;--e>=0;){var f=c[e],g=f.type;if(g!==r&&g!==s&&g!==t){var h=f.value;if(g===w){if(")"===h){if(this.aq(c,e+1))break}else if(W.test(h))break}else if(g===C&&W.test(h)||g===u&&"${"===h.slice(-2))break;var i=d.match($);return p.apply(a,[b,1].concat(i)),!0}}return!1},aq:function(a,b){for(var c,d,e,f=0;--b>=0;)if(c=a[b],c.type===w)if(d=c.value,"("===d){if(0===--f)return e=a[b-1],e&&e.type===C&&X.test(e.value)?!0:!1}else")"===d&&f++;return!1},ac:function(a,b){var c=new h(this.ad);return g(c,b),c.tokenize(a)},tokenize:function(a){if(null==a)return[];a=""+a;var b;b=this.ad.whiteSpace||this.ad.range||this.ad.loc?_:Y;var c=[],d=a.match(b);return d&&this.ae(d,c),c}};var aa=l.tokenize=function(a,b){return new h(b).tokenize(a)};i.prototype={untokenize:function(a){for(var b,c=[],d=0,e=a.length;e>d;b=a[d++]){var f=a[d],g=f.type,h=f.value;if(b&&!this.ad.unsafe){var i,j=b.value;i=g===w?S.test(h)&&T.test(j):Q.test(h)&&R.test(j),c[c.length]=(i?" ":"")+h}else c[c.length]=h}return c.join("")}};var ba=l.untokenize=function(a,b){return new i(b).untokenize(a)},ca={},da={maxLineLen:32e3};j.prototype={init:function(){this.index=0,this.ar=0,this.at()},as:function(){return this.index++,this.at()},at:function(){return this.length=this.af.length,this.an=this.af[this.index-1]||{},this.aj=this.af[this.index]||ca,this.value=this.aj.value,this.type=this.aj.type,this.au=this.af[this.index+1]||ca,this.aj},av:function(a){null==a&&(a=this.index),this.af.splice(a,1),this.at()},bd:function(a){this.af.splice(this.index+1,0,a),this.as()},aw:function(a){for(a=a||t;this.type===a;)this.av()},ax:function(){for(this.init(),this.aw();this.index<this.length;){if(this.type===t){if(this.an.type===w||this.an.type===t||this.au.type===w){this.aw();continue}if(this.au.type===t){this.as(),this.aw();continue}}this.as()}},ay:function(){for(this.init();this.index<this.length;)this.type===t?this.ar=0:(this.ar+=this.value.length,this.ar>=this.ad.maxLineLen&&(this.type!==w||T.test(this.value)||(this.bd({type:t,value:"\n"}),this.ar=0))),this.as()},az:function(){this.ax(),this.ay()},minify:function(a){return this.af=aa(a,{lineTerminator:!0}),this.init(),this.az(),ba(this.af)}};var ea=(l.minify=function(a,b){return new j(b).minify(a);
},"AssignmentExpression"),fa="AssignmentPattern",ga="ArrayExpression",ha="ArrayPattern",ia="ArrowFunctionExpression",ja="ArrowParameters",ka="BlockStatement",la="BinaryExpression",ma="BreakStatement",na="CallExpression",oa="CatchClause",pa="ClassBody",qa="ClassDeclaration",ra="ClassExpression",sa="ConditionalExpression",ta="ContinueStatement",ua="DoWhileStatement",va="DebuggerStatement",wa="EmptyStatement",xa="ExportAllDeclaration",ya="ExportDefaultDeclaration",za="ExportNamedDeclaration",Aa="ExportSpecifier",Ba="ExpressionStatement",Ca="ForStatement",Da="ForOfStatement",Ea="ForInStatement",Fa="FunctionDeclaration",Ga="FunctionExpression",Ha="IfStatement",Ia="ImportDeclaration",Ja="ImportDefaultSpecifier",Ka="ImportNamespaceSpecifier",La="ImportSpecifier",Ma="Literal",Na="LabeledStatement",Oa="LogicalExpression",Pa="MemberExpression",Qa="MethodDefinition",Ra="NewExpression",Sa="ObjectExpression",Ta="ObjectPattern",Ua="Program",Va="Property",Wa="RestElement",Xa="ReturnStatement",Ya="SequenceExpression",Za="SpreadElement",$a="Super",_a="SwitchCase",ab="SwitchStatement",bb="TaggedTemplateExpression",cb="TemplateElement",db="TemplateLiteral",eb="ThisExpression",fb="ThrowStatement",gb="TryStatement",hb="UnaryExpression",ib="UpdateExpression",jb="VariableDeclaration",kb="VariableDeclarator",lb="WhileStatement",mb="WithStatement",nb="YieldExpression",ob=/^(?:[-+*%\/&|]?=|>>>?=|<<=)$/,pb=/^(?:[-+!~]|\+\+|--|typeof|void|delete)$/,qb=/^0[0-7]+$/;k.prototype={as:function(){this.aj===ca&&this.bf(),this.aj=this.af[++this.index]||ca,this.value=this.aj.value,this.type=this.aj.type},au:function(){return this.af[this.index+1]||ca},be:function(a){this.value!==a&&this.bf()},bg:function(a){this.type!==a&&this.bf()},bh:function(a){this.value!==a&&this.bf(),this.as()},bi:function(a){this.type!==a&&this.bf(),this.as()},bj:function(){return";"===this.value?(this.as(),!0):"}"===this.value||this.aj.hasLineTerminator||this.aj===ca?!0:void this.bf()},bf:function(){var a="Unexpected";if(this.aj===ca)a+=" end of input";else{var b=this.value||"";b.length>16&&(b=b.substr(0,16)+"..."),a+=" token '"+b+"'"}this.bk(a)},bk:function(a){var b=this.aj.loc;throw b&&(a+=" at line "+b.start.line+" column "+b.start.column),new Error(a)},dy:function(a){var b={};return this.dz(b),b.type=a,b},ec:function(a){if(this.ed&&this.ed.expr===a){var b=this.ed.dy,c=this.ed.ee;return this.ed=null,this.dz(a,b),this.ef(a,c)}return this.ef(a)},dz:function(a,b){if(b=b||this.aj,b===ca&&(0===this.length?b=this.eg():this.bf()),this.ad.range&&(a.range=a.range||[],a.range[0]=b.range[0]),this.ad.loc){var c=b.loc;a.loc=a.loc||{},a.loc.start={line:c.start.line,column:c.start.column}}return a},ef:function(a,b){return b=b||this.af[this.index-1],b||(0===this.length?b=this.eg():this.bf()),this.ad.range&&(a.range[1]=b.range[1]),this.ad.loc&&(a.loc.end={line:b.loc.end.line,column:b.loc.end.column}),a},eg:function(){return{range:[0,0],loc:{start:{line:0,column:0},end:{line:0,column:0}}}},bl:function(a){var b,c=0,d=a.charAt(c++);if("0"===d&&(d=a.charAt(c++),b=a.substring(c),"."!==d)){switch(d.toLowerCase()){case"x":return parseInt(b,16);case"o":return parseInt(b,8);case"b":return parseInt(b,2)}if(qb.test(a))return parseInt(d+b,8)}return parseFloat(a)},bm:function(a){for(var d,e,g,h,i,j,k="",l=1,m=a.length-1;m>l;){if(d=a.charAt(l++),"\\"===d){if(m>l&&(e=a.charCodeAt(l),c(e))){l++,13===e&&m>l&&10===a.charCodeAt(l)&&l++;continue}switch(d=a.charAt(l++)){case"b":d="\b";break;case"t":d="\t";break;case"r":d="\r";break;case"n":d="\n";break;case"v":d="\x0B";break;case"f":d="\f";break;case"u":case"x":"u"===d&&m>l&&"{"===a.charAt(l)?(l++,i=a.indexOf("}",l),~i||this.bf(),g=a.substring(l,i),l=i+1):(j="u"===d?4:2,g=a.substr(l,j),l+=j),d=b(parseInt(g,16));break;default:if(f(d)){h=d;do{if(d=a.charAt(l),!f(d))break;h+=d}while(l++<m&&h.length<3);h.length>0&&"0"===h.charAt(0)&&(h=h.substring(1)),d=q(parseInt(h,8))}}}k+=d}return k},bn:function(){var a,b,c=this.dy(Ma),d=this.value;switch(this.type){case y:a=this.bl(d);break;case v:a=this.bm(d);break;case x:b=this.aj.regex;try{a=new RegExp(b.pattern,b.flags)}catch(e){a=null}break;case B:a="true"===d;break;case A:a=null;break;default:this.bf()}return this.as(),c.value=a,c.raw=d,b&&(c.regex=b),this.ec(c)},bo:function(a){var b=this.dy(z),c=this.value;return a?this.as():this.bi(z),b.name=c,this.ec(b)},el:function(a,b,c,d,e){for(this.bh(a);this.value!==b;)c[c.length]=d.apply(this,e),this.value!==b&&this.bh(",");return this.bh(b),c},bp:function(){switch(this.type){case y:case v:case x:case B:case A:return this.bn();case z:return this.bo();case C:return this.bq();case w:return this.br();case u:return this.eh();default:this.bf()}},bq:function(){switch(this.value){case"function":return this.bs();case"class":return this.fm();case"this":return this.bt()}this.bf()},bt:function(){var a=this.dy(eb);return this.bh("this"),this.ec(a)},br:function(){switch(this.value){case"{":return this.bu();case"[":return this.bv();case"(":return this.ei();default:this.bf()}},ei:function(){var a=this.dy();if(this.bh("("),")"===this.value)return this.as(),this.be("=>"),{type:ja,params:[],dy:a};var b=this.dy(),c=this.bw(!0);if(this.ed={expr:c,dy:b,ee:this.af[this.index-1]},this.bh(")"),"=>"===this.value){var d=[];c.type===Ya?d=c.expressions:c.type===z?d=[c]:this.bf(),c={type:ja,params:d,dy:a}}return c},bu:function(){var a=this.dy(Sa);return a.properties=this.el("{","}",[],this.bx),this.ec(a)},bx:function(){var a;return a="get"===this.value||"set"===this.value?this.by():this.bz()},bz:function(){var a,b=this.dy(Va),c=!1;"*"===this.value?(a=!0,this.as()):"["===this.value&&(c=!0);var d,e=this.cc();return":"===this.value?(this.as(),d=this.cd(!0)):"("===this.value?d=this.ce({expression:!0,generator:a}):e.type===z?d="="===this.value?this.ex(e):e:this.bf(),b.key=e,b.computed=c,b.value=d,b.kind="init",this.ec(b)},by:function(){var a,b,c=this.dy(Va),d=this.au(),e=!1,f="init";return":"===d.value?(a=this.cc(),this.as(),b=this.cd(!0)):"("===d.value?(a=this.cc(),b=this.ce({expression:!0})):(f=this.value,this.as(),"["===this.value&&(e=!0),e||this.type===z||this.type===C||this.type===v||this.type===y?(a=this.cc(),b=this.ce({cf:"get"===f,cg:"set"===f,expression:!0})):this.bf()),c.key=a,c.computed=e,c.value=b,c.kind=f,this.ec(c)},cc:function(){var a;switch(this.type){case v:case y:return this.bn();case w:if("["===this.value)return this.as(),a=this.cd(),this.bh("]"),a;break;case C:case z:case B:case A:return this.bo(!0)}this.bf()},bv:function(){var a=this.dy(ga),b=[];
for(this.bh("[");"]"!==this.value;)","!==this.value?("..."===this.value?b[b.length]=this.em():b[b.length]=this.cd(!0),"]"!==this.value&&this.bh(",")):(this.as(),b[b.length]=null);return this.bh("]"),a.elements=b,this.ec(a)},em:function(){var a=this.en();return a.type=Za,a},bw:function(a){var b=this.dy(Ya),c=this.cd(a);if(","!==this.value)return c;var d=[c];do this.as(),d[d.length]=this.cd(a);while(","===this.value);return b.expressions=d,this.ec(b)},fs:function(a){var b,c;switch(a.type){case ea:a.type=fa,this.fs(a.left);break;case ga:for(a.type=ha,b=0,c=a.elements.length;c>b;b++)null!==a.elements[b]&&this.fs(a.elements[b]);break;case Sa:for(a.type=Ta,b=0,c=a.properties.length;c>b;b++)this.fs(a.properties[b].value)}},cd:function(a){if(this.fj&&"yield"===this.value)return this.fk();var b=this.dy(ea),c=this.ch(a);if("=>"===this.value||c.type===ja)return c.type===z&&(c.params=[g({},c)],c.dy=b),this.eo(c);if(!ob.test(this.value))return c;this.fs(c);var d=this.value;this.as();var e=this.cd(a);return b.operator=d,b.left=c,b.right=e,this.ec(b)},ch:function(a){var b=this.dy(sa),c=this.ci(a);if("?"!==this.value)return c;this.bh("?");var d=this.cd(!0);this.bh(":");var e=this.cd(a);return b.test=c,b.consequent=d,b.alternate=e,this.ec(b)},eo:function(a){var b=this.dy(ia);this.dz(b,a.dy),this.bh("=>");var c,d=a.params||[],e=!1;return"{"===this.value?c=this.ct():(c=this.cd(!0),e=!0),b.params=d,b.body=c,b.expression=e,this.ec(b)},fk:function(){var a=this.dy(nb),b=null,c=!1;return this.bh("yield"),this.aj.hasLineTerminator||("*"===this.value?(c=!0,this.as(),b=this.cd(!0)):";"!==this.value&&"}"!==this.value&&this.aj!==ca&&(b=this.cd(!0))),a.argument=b,a.delegate=c,this.ec(a)},cj:function(a){switch(this.value){case"*":case"/":case"%":return 1;case"+":case"-":return 2;case"<<":case">>":case">>>":return 3;case"<":case">":case"<=":case">=":case"instanceof":return 4;case"in":return a?4:0;case"==":case"!=":case"===":case"!==":return 5;case"&":return 6;case"^":return 7;case"|":return 8;case"&&":return 9;case"||":return 10;default:return 0}},ci:function(a,b){null==b&&(b=10);var c=this.dy(),d=this.ck(),e=this.cj(a);if(!e)return d;for(var f,g,h,i=1;10>=i;i++){for(;(e=this.cj(a))===i;)g=this.value,h=this.dy(9>i?la:Oa),this.dz(h,c),h.operator=g,h.left=d,this.as(),f=1===e?this.ck():this.ci(a,e-1),h.right=f,d=this.ec(h);if(e>b)break}return this.dz(d,c),this.ec(d)},ck:function(){var a=this.value;if(!pb.test(a))return this.cl();var b="++"===a||"--"===a,c=this.dy(b?ib:hb);this.as();var d=this.ck();return c.operator=a,c.argument=d,c.prefix=!0,this.ec(c)},cl:function(){var a=this.dy(ib),b=this.cm(!0),c=this.value;return"++"===c||"--"===c?(this.as(),a.operator=c,a.argument=b,a.prefix=!1,this.ec(a)):b},cm:function(a){var b,c=this.dy();for(b="super"===this.value?this.fn():"new"===this.value?this.cn():this.bp();;)if("."===this.value)b=this.co(b,c);else if("["===this.value)b=this.cp(b,c);else if(a&&"("===this.value)b=this.cq(b,c);else{if(this.type!==u||"`"!==this.value.charAt(0))break;b=this.ej(b,c)}return b},fn:function(){var a=this.dy($a);return this.bh("super"),this.ec(a)},cn:function(){var a=this.dy(Ra);this.as();var b=this.cm(!1);return a.callee=b,a.arguments=[],"("===this.value&&this.cr(a),this.ec(a)},cq:function(a,b){var c=this.dy(na);return this.dz(c,b),c.callee=a,c.arguments=[],this.cr(c),this.ec(c)},cp:function(a,b){var c=this.dy(Pa);return this.dz(c,b),this.as(),c.computed=!0,c.object=a,c.property=this.bw(!0),this.bh("]"),this.ec(c)},co:function(a,b){var c=this.dy(Pa);return this.dz(c,b),this.as(),c.computed=!1,c.object=a,c.property=this.bo(),this.ec(c)},cr:function(a){return this.el("(",")",a.arguments,this.cd,[!0]),a},eh:function(){for(var a=this.dy(db),b=this.ek(),c=[b],d=[];!b.tail;)d[d.length]=this.bw(),b=this.ek(),c[c.length]=b;return a.quasis=c,a.expressions=d,this.ec(a)},ek:function(){var a,b=this.dy(cb),c=!1;this.bg(u),"`"===this.value.slice(-1)&&(c=!0);var d=c?-1:-2;a=this.value.slice(1,d);var e=this.bm("`"+a+"`");return this.as(),b.tail=c,b.value={cooked:e,raw:a},this.ec(b)},ej:function(a,b){var c=this.dy(bb);this.dz(c,b);var d=this.eh();return c.tag=a,c.quasi=d,this.ec(c)},cs:function(){switch(this.value){case"{":return this.ct();case"var":case"let":case"const":return this.cu(this.value);case";":return this.cv();case"if":return this.cw();case"continue":return this.cx();case"break":return this.cy();case"return":return this.cz();case"with":return this.dc();case"throw":return this.dd();case"try":return this.de();case"debugger":return this.df();case"function":return this.dg();case"class":return this.fo();case"switch":return this.dh();case"do":return this.di();case"while":return this.dj();case"for":return this.dk();case"import":return this.ep();case"export":return this.eq();default:return this.dl()}},dm:function(a,b){for(;this.value!==b;)a[a.length]=this.cs()},ct:function(){var a=this.dy(ka);this.bh("{");var b=[];return this.dm(b,"}"),this.bh("}"),a.body=b,this.ec(a)},cu:function(a,b){var c=this.dy(jb),d=!b,e=this.dn(d);return b||this.bj(),c.declarations=e,c.kind=a,this.ec(c)},dn:function(a){var b=[];do b[b.length]=this.dp(a);while(","===this.value);return b},dp:function(a){this.as();var b=this.dy(kb),c=this.er(),d=null;return"="===this.value&&(this.as(),d=this.cd(a)),b.id=c,b.init=d,this.ec(b)},dg:function(){return this.es()},bs:function(){return this.es(!0)},es:function(a){var b=this.dy(),c=!1;return this.bh("function"),"*"===this.value&&(c=!0,this.as()),this.ce({node:b,generator:c,expression:a})},ce:function(a){a=a||{};var b=a.node||this.dy();
b.type=a.expression?Ga:Fa,b.id=null,b.params=[],b.defaults=[],b.body=null,b.generator=!!a.generator,b.expression=!1,a.cf?(this.bh("("),this.bh(")")):a.cg?this.dq(b):(this.type===z&&(b.id=this.bo()),this.dq(b));var c=this.fj;return this.fj=b.generator,b.body=this.ct(),this.fj=c,this.ec(b)},dq:function(a){for(this.bh("(");")"!==this.value&&this.et(a););a.fl?delete a.fl:a.defaults.length=0,this.bh(")")},et:function(a){var b=a.params,c=a.defaults;if("..."===this.value)return b[b.length]=this.en(),c[c.length]=null,!1;var d=this.eu();return d.type===fa?(b[b.length]=d.left,c[c.length]=d.right,a.fl=!0):(b[b.length]=d,c[c.length]=null),")"!==this.value&&this.bh(","),!0},en:function(){var a=this.dy(Wa);this.bh("...");var b=this.bo();return a.argument=b,this.ec(a)},er:function(){return this.type===z?this.bo():"{"===this.value?this.ev():"["===this.value?this.ew():void this.bf()},eu:function(){var a=this.er();return"="===this.value?this.ex(a):a},ex:function(a){this.bh("=");var b=this.dy(fa);this.dz(b,a);var c=this.cd(!0);return b.left=a,b.right=c,this.ec(b)},ew:function(){var a=this.dy(ha),b=[];for(this.bh("[");"]"!==this.value;){if(","===this.value)b[b.length]=null;else{if("..."===this.value){b[b.length]=this.en();break}b[b.length]=this.eu()}"]"!==this.value&&this.bh(",")}return this.bh("]"),a.elements=b,this.ec(a)},ev:function(){var a=this.dy(Ta);return a.properties=this.el("{","}",[],this.ey),this.ec(a)},ey:function(){var a,b,c=this.dy(Va);return this.type===z?(a=this.bo(),"="===this.value?(b=this.ex(a),this.dz(b,c)):":"!==this.value&&(b=a)):a=this.cc(),b||(this.bh(":"),b=this.eu()),c.key=a,c.value=b,c.kind="init",this.ec(c)},cw:function(){var a=this.dy(Ha);this.bh("if"),this.bh("(");var b=this.bw(!0);this.bh(")");var c=this.cs(),d=null;return"else"===this.value&&(this.as(),d=this.cs()),a.test=b,a.consequent=c,a.alternate=d,this.ec(a)},cv:function(){var a=this.dy(wa);return this.bh(";"),this.ec(a)},cx:function(){var a=this.dy(ta);this.bh("continue");var b=null;return this.type!==z||this.aj.hasLineTerminator||(b=this.bo()),this.bj(),a.label=b,this.ec(a)},cy:function(){var a=this.dy(ma);this.bh("break");var b=null;return this.type!==z||this.aj.hasLineTerminator||(b=this.bo()),this.bj(),a.label=b,this.ec(a)},cz:function(){var a=this.dy(Xa);this.bh("return");var b=null;return";"===this.value||"}"===this.value||this.aj.hasLineTerminator||this.aj===ca||(b=this.bw(!0)),this.bj(),a.argument=b,this.ec(a)},dc:function(){var a=this.dy(mb);this.bh("with"),this.bh("(");var b=this.bw(!0);return this.bh(")"),a.object=b,a.body=this.cs(),this.ec(a)},dd:function(){var a=this.dy(fb);this.bh("throw"),this.aj.hasLineTerminator&&this.bf();var b=this.bw(!0);return this.bj(),a.argument=b,this.ec(a)},de:function(){var a,b,c=this.dy(gb),d=null,e=null;this.bh("try");var f=this.ct();return"catch"===this.value&&(a=!0,d=this.dr()),"finally"===this.value&&(b=!0,this.as(),e=this.ct()),a||b||this.bf(),c.block=f,c.handler=d,c.finalizer=e,this.ec(c)},dr:function(){var a=this.dy(oa);this.bh("catch"),this.bh("(");var b=this.er();this.bh(")");var c=this.ct();return a.param=b,a.body=c,this.ec(a)},df:function(){var a=this.dy(va);return this.bh("debugger"),this.bj(),this.ec(a)},dh:function(){var a=this.dy(ab);this.bh("switch"),this.bh("(");var b=this.bw(!0),c=[];for(this.bh(")"),this.bh("{");"}"!==this.value;)c[c.length]=this.ds();return this.bh("}"),a.discriminant=b,a.cases=c,this.ec(a)},ds:function(){var a=this.dy(_a),b=null,c=[];for("case"===this.value?(this.as(),b=this.bw(!0)):this.bh("default"),this.bh(":");"}"!==this.value&&"case"!==this.value&&"default"!==this.value&&this.aj!==ca;)c[c.length]=this.cs();return a.test=b,a.consequent=c,this.ec(a)},dj:function(){var a=this.dy(lb);this.bh("while"),this.bh("(");var b=this.bw(!0);return this.bh(")"),a.test=b,a.body=this.cs(),this.ec(a)},di:function(){var a=this.dy(ua);this.bh("do");var b=this.cs();this.bh("while"),this.bh("(");var c=this.bw(!0);return this.bh(")"),this.bj(),a.body=b,a.test=c,this.ec(a)},dk:function(){var a=this.dy(Ca);this.bh("for"),this.bh("(");var b=null;if(";"!==this.value&&(b="var"===this.value||"let"===this.value||"const"===this.value?this.dt(a):this.du(a),b.type===Ea||b.type===Da))return b;this.bh(";");var c=null;";"!==this.value&&(c=this.bw(!0)),this.bh(";");var d=null;")"!==this.value&&(d=this.bw(!0)),this.bh(")");var e=this.cs();return a.init=b,a.test=c,a.update=d,a.body=e,this.ec(a)},du:function(a){var b=this.bw(!1);return"in"===this.value?this.dv(b,a):"of"===this.value?this.dw(b,a):b},dt:function(a){var b=this.value,c=this.cu(b,!0);return"in"===this.value?this.dv(c,a):"of"===this.value?this.dw(c,a):c},dv:function(a,b){b.type=Ea,this.bh("in");var c=this.bw(!0);this.bh(")");var d=this.cs();return b.left=a,b.right=c,b.body=d,b.each=!1,this.ec(b)},dw:function(a,b){b.type=Da,this.bh("of");var c=this.bw(!0);this.bh(")");var d=this.cs();return b.left=a,b.right=c,b.body=d,this.ec(b)},ep:function(){var a=this.dy(Ia);return this.bh("import"),a.specifiers=this.ez(),"from"===this.value&&this.as(),this.bg(v),a.source=this.bn(),this.bj(),this.ec(a)},ez:function(){var a=[];if(this.type===v)return a;if(this.type===z){if("from"===this.value&&this.bf(),a[a.length]=this.fc(),","!==this.value)return a;this.as()}if("*"===this.value){if(a[a.length]=this.fd(),","!==this.value)return a;this.as()}return"{"===this.value&&this.el("{","}",a,this.fe),a},fe:function(){var a,b=this.dy(La),c=this.bo();return"as"===this.value&&(this.as(),a=this.bo()),b.local=a||c,b.imported=c,this.ec(b)},fd:function(){var a=this.dy(Ka);return this.bh("*"),this.bh("as"),a.local=this.bo(),this.ec(a)},fc:function(){
var a=this.dy(Ja);return a.local=this.bo(),this.ec(a)},eq:function(){var a=this.dy();return this.bh("export"),"default"===this.value?this.ff(a):"*"===this.value?this.fg(a):this.fh(a)},ff:function(a){a.type=ya,this.bh("default");var b,c;return"function"===this.value?(b=this.dg(),c=!0):b=this.cd(!0),c||this.bj(),a.declaration=b,this.ec(a)},fg:function(a){return a.type=xa,this.bh("*"),this.bh("from"),this.bg(v),a.source=this.bn(),this.bj(),this.ec(a)},fh:function(a){a.type=za;var b=null,c=[],d=null;return this.type===C?b=this.cs():(this.el("{","}",c,this.fi),"from"===this.value&&(this.as(),this.bg(v),d=this.bn()),this.bj()),a.declaration=b,a.specifiers=c,a.source=d,this.ec(a)},fi:function(){var a,b=this.dy(Aa),c=this.bo();return"as"===this.value&&(this.as(),a=this.bo()),b.exported=a||c,b.local=c,this.ec(b)},fo:function(){return this.fp()},fm:function(){return this.fp(!0)},fp:function(a){var b=this.dy(a?ra:qa);this.bh("class");var c=null;this.type===z&&(c=this.bo());var d=null;return"extends"===this.value&&(this.as(),d=this.cm(!0)),b.id=c,b.superClass=d,b.body=this.fq(),this.ec(b)},fq:function(){var a=this.dy(pa),b=[];for(this.bh("{");"}"!==this.value;)";"!==this.value?b[b.length]=this.fr():this.as();return this.bh("}"),a.body=b,this.ec(a)},fr:function(){var a=this.dy(Qa),b=!1;"static"===this.value&&(b=!0,this.as());var c=this.bx();return this.dz(c,a),c.type=Qa,c["static"]=b,"constructor"===c.key.name?c.kind="constructor":"init"===c.kind&&(c.kind="method"),this.ec(c)},dl:function(){var a=this.dx();if(a)return a;var b=this.dy(Ba),c=this.bw(!0);return this.bj(),b.expression=c,this.ec(b)},dx:function(){if(this.type===z&&":"===this.au().value){var a=this.dy(Na),b=this.bo();this.as();var c=this.cs();return a.label=b,a.body=c,this.ec(a)}},parse:function(a){a=null==a?"":""+a,this.af=aa(a,{range:this.ad.range,loc:this.ad.loc,parse:!0}),this.length=this.af.length,this.index=-1,this.as();var b=this.dy(Ua);return b.body=[],this.dm(b.body),this.ec(b)}};l.parse=function(a,b){return new k(b).parse(a)};return l});