Skip to content

Instantly share code, notes, and snippets.

@JamesKyburz
Created November 28, 2016 08:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JamesKyburz/c840e047c278ebd356245739af605432 to your computer and use it in GitHub Desktop.
Save JamesKyburz/c840e047c278ebd356245739af605432 to your computer and use it in GitHub Desktop.
coffee-script-1.11-1.js
/**
* CoffeeScript Compiler v1.11.1
* http://coffeescript.org
*
* Copyright 2011, Jeremy Ashkenas
* Released under the MIT License
*/
(function(root){var CoffeeScript=function(){function require(e){return require[e]}return require["./helpers"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s;e.starts=function(e,t,n){return t===e.substr(n,t.length)},e.ends=function(e,t,n){var i;return i=t.length,t===e.substr(e.length-i-(n||0),i)},e.repeat=o=function(e,t){var n;for(n="";t>0;)1&t&&(n+=e),t>>>=1,e+=e;return n},e.compact=function(e){var t,n,i,r;for(r=[],t=0,i=e.length;i>t;t++)n=e[t],n&&r.push(n);return r},e.count=function(e,t){var n,i;if(n=i=0,!t.length)return 1/0;for(;i=1+e.indexOf(t,i);)n++;return n},e.merge=function(e,t){return n(n({},e),t)},n=e.extend=function(e,t){var n,i;for(n in t)i=t[n],e[n]=i;return e},e.flatten=i=function(e){var t,n,r,o;for(n=[],r=0,o=e.length;o>r;r++)t=e[r],"[object Array]"===Object.prototype.toString.call(t)?n=n.concat(i(t)):n.push(t);return n},e.del=function(e,t){var n;return n=e[t],delete e[t],n},e.some=null!=(r=Array.prototype.some)?r:function(e){var t,n,i,r;for(r=this,n=0,i=r.length;i>n;n++)if(t=r[n],e(t))return!0;return!1},e.invertLiterate=function(e){var t,n,i;return i=!0,n=function(){var n,r,o,s;for(o=e.split("\n"),s=[],n=0,r=o.length;r>n;n++)t=o[n],i&&/^([ ]{4}|[ ]{0,3}\t)/.test(t)?s.push(t):(i=/^\s*$/.test(t))?s.push(t):s.push("# "+t);return s}(),n.join("\n")},t=function(e,t){return t?{first_line:e.first_line,first_column:e.first_column,last_line:t.last_line,last_column:t.last_column}:e},e.addLocationDataFn=function(e,n){return function(i){return"object"==typeof i&&i.updateLocationDataIfMissing&&i.updateLocationDataIfMissing(t(e,n)),i}},e.locationDataToString=function(e){var t;return"2"in e&&"first_line"in e[2]?t=e[2]:"first_line"in e&&(t=e),t?t.first_line+1+":"+(t.first_column+1)+"-"+(t.last_line+1+":"+(t.last_column+1)):"No location data"},e.baseFileName=function(e,t,n){var i,r;return null==t&&(t=!1),null==n&&(n=!1),r=n?/\\|\//:/\//,i=e.split(r),e=i[i.length-1],t&&e.indexOf(".")>=0?(i=e.split("."),i.pop(),"coffee"===i[i.length-1]&&i.length>1&&i.pop(),i.join(".")):e},e.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md)$/.test(e)},e.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},e.throwSyntaxError=function(e,t){var n;throw n=new SyntaxError(e),n.location=t,n.toString=s,n.stack=""+n,n},e.updateSyntaxError=function(e,t,n){return e.toString===s&&(e.code||(e.code=t),e.filename||(e.filename=n),e.stack=""+e),e},s=function(){var e,t,n,i,r,s,a,c,l,u,h,p,d,f,m;return this.code&&this.location?(h=this.location,a=h.first_line,s=h.first_column,l=h.last_line,c=h.last_column,null==l&&(l=a),null==c&&(c=s),r=this.filename||"[stdin]",e=this.code.split("\n")[a],m=s,i=a===l?c+1:e.length,u=e.slice(0,m).replace(/[^\s]/g," ")+o("^",i-m),"undefined"!=typeof process&&null!==process&&(n=(null!=(p=process.stdout)?p.isTTY:void 0)&&!(null!=(d=process.env)?d.NODE_DISABLE_COLORS:void 0)),(null!=(f=this.colorful)?f:n)&&(t=function(e){return""+e+""},e=e.slice(0,m)+t(e.slice(m,i))+e.slice(i),u=t(u)),r+":"+(a+1)+":"+(s+1)+": error: "+this.message+"\n"+e+"\n"+u):Error.prototype.toString.call(this)},e.nameWhitespaceCharacter=function(e){switch(e){case" ":return"space";case"\n":return"newline";case"\r":return"carriage return";case" ":return"tab";default:return e}}}.call(this),t.exports}(),require["./rewriter"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},w=[].slice;for(f=function(e,t,n){var i;return i=[e,t],i.generated=!0,n&&(i.origin=n),i},e.Rewriter=function(){function e(){}return e.prototype.rewrite=function(e){return this.tokens=e,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addLocationDataToGeneratedTokens(),this.tokens},e.prototype.scanTokens=function(e){var t,n,i;for(i=this.tokens,t=0;n=i[t];)t+=e.call(this,n,t,i);return!0},e.prototype.detectEnd=function(e,t,n){var i,s,a,c,l;for(l=this.tokens,i=0;c=l[e];){if(0===i&&t.call(this,c,e))return n.call(this,c,e);if(!c||0>i)return n.call(this,c,e-1);s=c[0],k.call(o,s)>=0?i+=1:(a=c[0],k.call(r,a)>=0&&(i-=1)),e+=1}return e-1},e.prototype.removeLeadingNewlines=function(){var e,t,n,i,r;for(i=this.tokens,e=t=0,n=i.length;n>t&&(r=i[e][0],"TERMINATOR"===r);e=++t);return e?this.tokens.splice(0,e):void 0},e.prototype.closeOpenCalls=function(){var e,t;return t=function(e,t){var n;return")"===(n=e[0])||"CALL_END"===n||"OUTDENT"===e[0]&&")"===this.tag(t-1)},e=function(e,t){return this.tokens["OUTDENT"===e[0]?t-1:t][0]="CALL_END"},this.scanTokens(function(n,i){return"CALL_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.closeOpenIndexes=function(){var e,t;return t=function(e){var t;return"]"===(t=e[0])||"INDEX_END"===t},e=function(e){return e[0]="INDEX_END"},this.scanTokens(function(n,i){return"INDEX_START"===n[0]&&this.detectEnd(i+1,t,e),1})},e.prototype.indexOfTag=function(){var e,t,n,i,r,o,s;for(t=arguments[0],r=arguments.length>=2?w.call(arguments,1):[],e=0,n=i=0,o=r.length;o>=0?o>i:i>o;n=o>=0?++i:--i){for(;"HERECOMMENT"===this.tag(t+n+e);)e+=2;if(null!=r[n]&&("string"==typeof r[n]&&(r[n]=[r[n]]),s=this.tag(t+n+e),0>k.call(r[n],s)))return-1}return t+n+e-1},e.prototype.looksObjectish=function(e){var t,n;return this.indexOfTag(e,"@",null,":")>-1||this.indexOfTag(e,null,":")>-1?!0:(n=this.indexOfTag(e,o),n>-1&&(t=null,this.detectEnd(n+1,function(e){var t;return t=e[0],k.call(r,t)>=0},function(e,n){return t=n}),":"===this.tag(t+1))?!0:!1)},e.prototype.findTagsBackwards=function(e,t){var n,i,s,a,c,l,u;for(n=[];e>=0&&(n.length||(a=this.tag(e),0>k.call(t,a)&&(c=this.tag(e),0>k.call(o,c)||this.tokens[e].generated)&&(l=this.tag(e),0>k.call(h,l))));)i=this.tag(e),k.call(r,i)>=0&&n.push(this.tag(e)),s=this.tag(e),k.call(o,s)>=0&&n.length&&n.pop(),e-=1;return u=this.tag(e),k.call(t,u)>=0},e.prototype.addImplicitBracesAndParens=function(){var e,t;return e=[],t=null,this.scanTokens(function(i,u,p){var d,m,g,b,y,v,w,T,N,L,C,F,E,D,_,x,S,I,R,A,O,$,P,M,j,B,V,U;if(U=i[0],C=(F=u>0?p[u-1]:[])[0],N=(p.length-1>u?p[u+1]:[])[0],P=function(){return e[e.length-1]},M=u,g=function(e){return u-M+e},b=function(){var e,t;return null!=(e=P())?null!=(t=e[2])?t.ours:void 0:void 0},y=function(){var e;return b()&&"("===(null!=(e=P())?e[0]:void 0)},w=function(){var e;return b()&&"{"===(null!=(e=P())?e[0]:void 0)},v=function(){var e;return b&&"CONTROL"===(null!=(e=P())?e[0]:void 0)},j=function(t){var n;return n=null!=t?t:u,e.push(["(",n,{ours:!0}]),p.splice(n,0,f("CALL_START","(")),null==t?u+=1:void 0},d=function(){return e.pop(),p.splice(u,0,f("CALL_END",")",["","end of input",i[2]])),u+=1},B=function(t,n){var r,o;return null==n&&(n=!0),r=null!=t?t:u,e.push(["{",r,{sameLine:!0,startsLine:n,ours:!0}]),o=new String("{"),o.generated=!0,p.splice(r,0,f("{",o,i)),null==t?u+=1:void 0},m=function(t){return t=null!=t?t:u,e.pop(),p.splice(t,0,f("}","}",i)),u+=1},y()&&("IF"===U||"TRY"===U||"FINALLY"===U||"CATCH"===U||"CLASS"===U||"SWITCH"===U))return e.push(["CONTROL",u,{ours:!0}]),g(1);if("INDENT"===U&&b()){if("=>"!==C&&"->"!==C&&"["!==C&&"("!==C&&","!==C&&"{"!==C&&"TRY"!==C&&"ELSE"!==C&&"="!==C)for(;y();)d();return v()&&e.pop(),e.push([U,u]),g(1)}if(k.call(o,U)>=0)return e.push([U,u]),g(1);if(k.call(r,U)>=0){for(;b();)y()?d():w()?m():e.pop();t=e.pop()}if((k.call(c,U)>=0&&i.spaced||"?"===U&&u>0&&!p[u-1].spaced)&&(k.call(s,N)>=0||k.call(l,N)>=0&&!(null!=(E=p[u+1])?E.spaced:void 0)&&!(null!=(D=p[u+1])?D.newLine:void 0)))return"?"===U&&(U=i[0]="FUNC_EXIST"),j(u+1),g(2);if(k.call(c,U)>=0&&this.indexOfTag(u+1,"INDENT")>-1&&this.looksObjectish(u+2)&&!this.findTagsBackwards(u,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return j(u+1),e.push(["INDENT",u+2]),g(3);if(":"===U){for(R=function(){var e;switch(!1){case e=this.tag(u-1),0>k.call(r,e):return t[1];case"@"!==this.tag(u-2):return u-2;default:return u-1}}.call(this);"HERECOMMENT"===this.tag(R-2);)R-=2;return this.insideForDeclaration="FOR"===N,V=0===R||(_=this.tag(R-1),k.call(h,_)>=0)||p[R-1].newLine,P()&&(x=P(),$=x[0],O=x[1],("{"===$||"INDENT"===$&&"{"===this.tag(O-1))&&(V||","===this.tag(R-1)||"{"===this.tag(R-1)))?g(1):(B(R,!!V),g(2))}if(w()&&k.call(h,U)>=0&&(P()[2].sameLine=!1),T="OUTDENT"===C||F.newLine,k.call(a,U)>=0||k.call(n,U)>=0&&T)for(;b();)if(S=P(),$=S[0],O=S[1],I=S[2],A=I.sameLine,V=I.startsLine,y()&&","!==C)d();else if(w()&&!this.insideForDeclaration&&A&&"TERMINATOR"!==U&&":"!==C)m();else{if(!w()||"TERMINATOR"!==U||","===C||V&&this.looksObjectish(u+1))break;if("HERECOMMENT"===N)return g(1);m()}if(!(","!==U||this.looksObjectish(u+1)||!w()||this.insideForDeclaration||"TERMINATOR"===N&&this.looksObjectish(u+2)))for(L="OUTDENT"===N?1:0;w();)m(u+L);return g(1)})},e.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(e,t,n){var i,r,o,s,a,c;return e[2]?1:e.generated||e.explicit?("{"===e[0]&&(o=null!=(a=n[t+1])?a[2]:void 0)?(r=o.first_line,i=o.first_column):(s=null!=(c=n[t-1])?c[2]:void 0)?(r=s.last_line,i=s.last_column):r=i=0,e[2]={first_line:r,first_column:i,last_line:r,last_column:i},1):1})},e.prototype.normalizeLines=function(){var e,t,r,o,s;return s=r=o=null,t=function(e,t){var r,o,a,c;return";"!==e[1]&&(r=e[0],k.call(p,r)>=0)&&!("TERMINATOR"===e[0]&&(o=this.tag(t+1),k.call(i,o)>=0))&&!("ELSE"===e[0]&&"THEN"!==s)&&!!("CATCH"!==(a=e[0])&&"FINALLY"!==a||"->"!==s&&"=>"!==s)||(c=e[0],k.call(n,c)>=0&&this.tokens[t-1].newLine)},e=function(e,t){return this.tokens.splice(","===this.tag(t-1)?t-1:t,0,o)},this.scanTokens(function(n,a,c){var l,u,h,p,f,m;if(m=n[0],"TERMINATOR"===m){if("ELSE"===this.tag(a+1)&&"OUTDENT"!==this.tag(a-1))return c.splice.apply(c,[a,1].concat(w.call(this.indentation()))),1;if(h=this.tag(a+1),k.call(i,h)>=0)return c.splice(a,1),0}if("CATCH"===m)for(l=u=1;2>=u;l=++u)if("OUTDENT"===(p=this.tag(a+l))||"TERMINATOR"===p||"FINALLY"===p)return c.splice.apply(c,[a+l,0].concat(w.call(this.indentation()))),2+l;return k.call(d,m)>=0&&"INDENT"!==this.tag(a+1)&&("ELSE"!==m||"IF"!==this.tag(a+1))?(s=m,f=this.indentation(c[a]),r=f[0],o=f[1],"THEN"===s&&(r.fromThen=!0),c.splice(a+1,0,r),this.detectEnd(a+2,t,e),"THEN"===m&&c.splice(a,1),1):1})},e.prototype.tagPostfixConditionals=function(){var e,t,n;return n=null,t=function(e,t){var n,i;return i=e[0],n=this.tokens[t-1][0],"TERMINATOR"===i||"INDENT"===i&&0>k.call(d,n)},e=function(e){return"INDENT"!==e[0]||e.generated&&!e.fromThen?n[0]="POST_"+n[0]:void 0},this.scanTokens(function(i,r){return"IF"!==i[0]?1:(n=i,this.detectEnd(r+1,t,e),1)})},e.prototype.indentation=function(e){var t,n;return t=["INDENT",2],n=["OUTDENT",2],e?(t.generated=n.generated=!0,t.origin=n.origin=e):t.explicit=n.explicit=!0,[t,n]},e.prototype.generate=f,e.prototype.tag=function(e){var t;return null!=(t=this.tokens[e])?t[0]:void 0},e}(),t=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["REGEX_START","REGEX_END"]],e.INVERSES=u={},o=[],r=[],m=0,b=t.length;b>m;m++)y=t[m],g=y[0],v=y[1],o.push(u[v]=g),r.push(u[g]=v);i=["CATCH","THEN","ELSE","FINALLY"].concat(r),c=["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],s=["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","UNDEFINED","NULL","BOOL","UNARY","YIELD","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"],l=["+","-"],a=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],d=["ELSE","->","=>","TRY","FINALLY","THEN"],p=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],h=["TERMINATOR","INDENT","OUTDENT"],n=[".","?.","::","?::"]}.call(this),t.exports}(),require["./lexer"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k,w,T,N,L,C,F,E,D,_,x,S,I,R,A,O,$,P,M,j,B,V,U,H,G,q,Y,X,W,J,z,K,Q,Z,et,tt,nt,it,rt,ot,st,at,ct,lt,ut,ht=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},pt=[].slice;st=require("./rewriter"),B=st.Rewriter,w=st.INVERSES,at=require("./helpers"),tt=at.count,lt=at.starts,et=at.compact,ct=at.repeat,nt=at.invertLiterate,ot=at.locationDataToString,ut=at.throwSyntaxError,e.Lexer=D=function(){function e(){}return e.prototype.tokenize=function(e,t){var n,i,r,o;for(null==t&&(t={}),this.literate=t.literate,this.indent=0,this.baseIndent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.ends=[],this.tokens=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.chunkLine=t.line||0,this.chunkColumn=t.column||0,e=this.clean(e),r=0;this.chunk=e.slice(r);)if(n=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),o=this.getLineAndColumnFromChunk(n),this.chunkLine=o[0],this.chunkColumn=o[1],r+=n,t.untilBalanced&&0===this.ends.length)return{tokens:this.tokens,index:r};return this.closeIndentation(),(i=this.ends.pop())&&this.error("missing "+i.tag,i.origin[2]),t.rewrite===!1?this.tokens:(new B).rewrite(this.tokens)},e.prototype.clean=function(e){return e.charCodeAt(0)===t&&(e=e.slice(1)),e=e.replace(/\r/g,"").replace(J,""),Z.test(e)&&(e="\n"+e,this.chunkLine--),this.literate&&(e=nt(e)),e},e.prototype.identifierToken=function(){var e,t,n,i,r,c,l,u,h,p,d,f,m,g,y;return(l=b.exec(this.chunk))?(c=l[0],i=l[1],t=l[2],r=i.length,u=void 0,"own"===i&&"FOR"===this.tag()?(this.token("OWN",i),i.length):"from"===i&&"YIELD"===this.tag()?(this.token("FROM",i),i.length):"as"!==i||!this.seenImport||"IDENTIFIER"!==this.tag()&&"*"!==this.value()?"as"===i&&this.seenExport&&"IDENTIFIER"===this.tag()?(this.token("AS",i),i.length):"default"===i&&this.seenExport?(this.token("DEFAULT",i),i.length):(p=this.tokens,h=p[p.length-1],g=t||null!=h&&("."===(d=h[0])||"?."===d||"::"===d||"?::"===d||!h.spaced&&"@"===h[0])?"PROPERTY":"IDENTIFIER","IDENTIFIER"===g&&(ht.call(N,i)>=0||ht.call(a,i)>=0)&&(g=i.toUpperCase(),"WHEN"===g&&(f=this.tag(),ht.call(C,f)>=0)?g="LEADING_WHEN":"FOR"===g?this.seenFor=!0:"UNLESS"===g?g="IF":"IMPORT"===g?this.seenImport=!0:"EXPORT"===g?this.seenExport=!0:ht.call(z,g)>=0?g="UNARY":ht.call(M,g)>=0&&("INSTANCEOF"!==g&&this.seenFor?(g="FOR"+g,this.seenFor=!1):(g="RELATION","!"===this.value()&&(u=this.tokens.pop(),i="!"+i)))),"IDENTIFIER"===g&&ht.call(j,i)>=0&&this.error("reserved word '"+i+"'",{length:i.length}),"PROPERTY"!==g&&(ht.call(o,i)>=0&&(e=i,i=s[i]),g=function(){switch(i){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"&&":case"||":return"LOGIC";case"true":case"false":return"BOOL";case"break":case"continue":case"debugger":return"STATEMENT";default:return g}}()),y=this.token(g,i,0,r),e&&(y.origin=[g,e,y[2]]),u&&(m=[u[2].first_line,u[2].first_column],y[2].first_line=m[0],y[2].first_column=m[1]),t&&(n=c.lastIndexOf(":"),this.token(":",":",n,t.length)),c.length):("*"===this.value()&&(this.tokens[this.tokens.length-1][0]="IMPORT_ALL"),this.token("AS",i),i.length)):0},e.prototype.numberToken=function(){var e,t,n,i,r,o,s;if(!(n=I.exec(this.chunk)))return 0;switch(i=n[0],t=i.length,!1){case!/^0[BOX]/.test(i):this.error("radix prefix in '"+i+"' must be lowercase",{offset:1});break;case!/^(?!0x).*E/.test(i):this.error("exponential notation in '"+i+"' must be indicated with a lowercase 'e'",{offset:i.indexOf("E")});break;case!/^0\d*[89]/.test(i):this.error("decimal literal '"+i+"' must not be prefixed with '0'",{length:t});break;case!/^0\d+/.test(i):this.error("octal literal '"+i+"' must be prefixed with '0o'",{length:t})}return e=function(){switch(i.charAt(1)){case"b":return 2;case"o":return 8;case"x":return 16;default:return null}}(),r=null!=e?parseInt(i.slice(2),e):parseFloat(i),("b"===(o=i.charAt(1))||"o"===o)&&(i="0x"+r.toString(16)),s=Infinity===r?"INFINITY":"NUMBER",this.token(s,i,0,t),t},e.prototype.stringToken=function(){var e,t,n,i,r,o,s,a,c,l,u,h,m,g,b,y;if(u=(X.exec(this.chunk)||[])[0],!u)return 0;if(this.tokens.length&&"from"===this.value()&&(this.seenImport||this.seenExport)&&(this.tokens[this.tokens.length-1][0]="FROM"),g=function(){switch(u){case"'":return Y;case'"':return G;case"'''":return f;case'"""':return p}}(),o=3===u.length,h=this.matchWithInterpolations(g,u),y=h.tokens,r=h.index,e=y.length-1,n=u.charAt(0),o){for(a=null,i=function(){var e,t,n;for(n=[],s=e=0,t=y.length;t>e;s=++e)b=y[s],"NEOSTRING"===b[0]&&n.push(b[1]);return n}().join("#{}");l=d.exec(i);)t=l[1],(null===a||(m=t.length)>0&&a.length>m)&&(a=t);a&&(c=RegExp("\\n"+a,"g")),this.mergeInterpolationTokens(y,{delimiter:n},function(t){return function(n,i){return n=t.formatString(n),c&&(n=n.replace(c,"\n")),0===i&&(n=n.replace(L,"")),i===e&&(n=n.replace(W,"")),n}}(this))}else this.mergeInterpolationTokens(y,{delimiter:n},function(t){return function(n,i){return n=t.formatString(n),n=n.replace(U,function(t,r){return 0===i&&0===r||i===e&&r+t.length===n.length?"":" "})}}(this));return r},e.prototype.commentToken=function(){var e,t,n;return(n=this.chunk.match(c))?(e=n[0],t=n[1],t&&((n=h.exec(e))&&this.error("block comments cannot contain "+n[0],{offset:n.index,length:n[0].length}),t.indexOf("\n")>=0&&(t=t.replace(RegExp("\\n"+ct(" ",this.indent),"g"),"\n")),this.token("HERECOMMENT",t,0,e.length)),e.length):0},e.prototype.jsToken=function(){var e,t;return"`"===this.chunk.charAt(0)&&(e=T.exec(this.chunk))?(this.token("JS",(t=e[0]).slice(1,-1),0,t.length),t.length):0},e.prototype.regexToken=function(){var e,t,n,r,o,s,a,c,l,u,h,p,d;switch(!1){case!(s=P.exec(this.chunk)):this.error("regular expressions cannot begin with "+s[2],{offset:s.index+s[1].length});break;case!(s=this.matchWithInterpolations(m,"///")):d=s.tokens,o=s.index;break;case!(s=O.exec(this.chunk)):if(p=s[0],e=s[1],t=s[2],this.validateEscapes(e,{isRegex:!0,offsetInChunk:1}),o=p.length,l=this.tokens,c=l[l.length-1],c)if(c.spaced&&(u=c[0],ht.call(i,u)>=0)){if(!t||A.test(p))return 0}else if(h=c[0],ht.call(S,h)>=0)return 0;t||this.error("missing / (unclosed regex)");break;default:return 0}switch(r=$.exec(this.chunk.slice(o))[0],n=o+r.length,a=this.makeToken("REGEX",null,0,n),!1){case!!Q.test(r):this.error("invalid regular expression flags "+r,{offset:o,length:r.length});break;case!(p||1===d.length):null==e&&(e=this.formatHeregex(d[0][1])),this.token("REGEX",""+this.makeDelimitedLiteral(e,{delimiter:"/"})+r,0,n,a);break;default:this.token("REGEX_START","(",0,0,a),this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),this.mergeInterpolationTokens(d,{delimiter:'"',"double":!0},this.formatHeregex),r&&(this.token(",",",",o,0),this.token("STRING",'"'+r+'"',o,r.length)),this.token(")",")",n,0),this.token("REGEX_END",")",n,0)}return n},e.prototype.lineToken=function(){var e,t,n,i,r;if(!(n=x.exec(this.chunk)))return 0;if(t=n[0],this.seenFor=!1,r=t.length-1-t.lastIndexOf("\n"),i=this.unfinished(),r-this.indebt===this.indent)return i?this.suppressNewlines():this.newlineToken(0),t.length;if(r>this.indent){if(i)return this.indebt=r-this.indent,this.suppressNewlines(),t.length;if(!this.tokens.length)return this.baseIndent=this.indent=r,t.length;e=r-this.indent+this.outdebt,this.token("INDENT",e,t.length-r,r),this.indents.push(e),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.indebt=0,this.indent=r}else this.baseIndent>r?this.error("missing indentation",{offset:t.length}):(this.indebt=0,this.outdentToken(this.indent-r,i,t.length));return t.length},e.prototype.outdentToken=function(e,t,n){var i,r,o,s;for(i=this.indent-e;e>0;)o=this.indents[this.indents.length-1],o?o===this.outdebt?(e-=this.outdebt,this.outdebt=0):this.outdebt>o?(this.outdebt-=o,e-=o):(r=this.indents.pop()+this.outdebt,n&&(s=this.chunk[n],ht.call(y,s)>=0)&&(i-=r-e,e=r),this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",e,0,n),e-=r):e=0;for(r&&(this.outdebt-=e);";"===this.value();)this.tokens.pop();return"TERMINATOR"===this.tag()||t||this.token("TERMINATOR","\n",n,0),this.indent=i,this},e.prototype.whitespaceToken=function(){var e,t,n,i;return(e=Z.exec(this.chunk))||(t="\n"===this.chunk.charAt(0))?(i=this.tokens,n=i[i.length-1],n&&(n[e?"spaced":"newLine"]=!0),e?e[0].length:0):0},e.prototype.newlineToken=function(e){for(;";"===this.value();)this.tokens.pop();return"TERMINATOR"!==this.tag()&&this.token("TERMINATOR","\n",e,0),this},e.prototype.suppressNewlines=function(){return"\\"===this.value()&&this.tokens.pop(),this},e.prototype.literalToken=function(){var e,t,n,o,s,a,c,h,p,d,f,m,g;if((e=R.exec(this.chunk))?(g=e[0],r.test(g)&&this.tagParameters()):g=this.chunk.charAt(0),f=g,s=this.tokens,o=s[s.length-1],o&&ht.call(["="].concat(pt.call(u)),g)>=0&&(d=!1,"="!==g||"||"!==(a=o[1])&&"&&"!==a||o.spaced||(o[0]="COMPOUND_ASSIGN",o[1]+="=",o=this.tokens[this.tokens.length-2],d=!0),o&&"PROPERTY"!==o[0]&&(n=null!=(c=o.origin)?c:o,t=it(o[1],n[1]),t&&this.error(t,n[2])),d))return g.length;if(";"===g)this.seenFor=this.seenImport=this.seenExport=!1,f="TERMINATOR";else if("*"===g&&"EXPORT"===o[0])f="EXPORT_ALL";else if(ht.call(_,g)>=0)f="MATH";else if(ht.call(l,g)>=0)f="COMPARE";else if(ht.call(u,g)>=0)f="COMPOUND_ASSIGN";else if(ht.call(z,g)>=0)f="UNARY";else if(ht.call(K,g)>=0)f="UNARY_MATH";else if(ht.call(V,g)>=0)f="SHIFT";else if(ht.call(E,g)>=0||"?"===g&&(null!=o?o.spaced:void 0))f="LOGIC";else if(o&&!o.spaced)if("("===g&&(h=o[0],ht.call(i,h)>=0))"?"===o[0]&&(o[0]="FUNC_EXIST"),f="CALL_START";else if("["===g&&(p=o[0],ht.call(v,p)>=0))switch(f="INDEX_START",o[0]){case"?":o[0]="INDEX_SOAK"}switch(m=this.makeToken(f,g),g){case"(":case"{":case"[":this.ends.push({tag:w[g],origin:m});break;case")":case"}":case"]":this.pair(g)}return this.tokens.push(m),g.length},e.prototype.tagParameters=function(){var e,t,n,i;if(")"!==this.tag())return this;for(t=[],i=this.tokens,e=i.length,i[--e][0]="PARAM_END";n=i[--e];)switch(n[0]){case")":t.push(n);break;case"(":case"CALL_START":if(!t.length)return"("===n[0]?(n[0]="PARAM_START",this):this;t.pop()}return this},e.prototype.closeIndentation=function(){return this.outdentToken(this.indent)},e.prototype.matchWithInterpolations=function(t,n){var i,r,o,s,a,c,l,u,h,p,d,f,m,g,b;if(b=[],u=n.length,this.chunk.slice(0,u)!==n)return null;for(m=this.chunk.slice(u);;){if(g=t.exec(m)[0],this.validateEscapes(g,{isRegex:"/"===n.charAt(0),offsetInChunk:u}),b.push(this.makeToken("NEOSTRING",g,u)),m=m.slice(g.length),u+=g.length,"#{"!==m.slice(0,2))break;p=this.getLineAndColumnFromChunk(u+1),c=p[0],r=p[1],d=(new e).tokenize(m.slice(1),{line:c,column:r,untilBalanced:!0}),l=d.tokens,s=d.index,s+=1,h=l[0],i=l[l.length-1],h[0]=h[1]="(",i[0]=i[1]=")",i.origin=["","end of interpolation",i[2]],"TERMINATOR"===(null!=(f=l[1])?f[0]:void 0)&&l.splice(1,1),b.push(["TOKENS",l]),m=m.slice(s),u+=s}return m.slice(0,n.length)!==n&&this.error("missing "+n,{length:n.length}),o=b[0],a=b[b.length-1],o[2].first_column-=n.length,a[2].last_column+=n.length,0===a[1].length&&(a[2].last_column-=1),{tokens:b,index:u+n.length}},e.prototype.mergeInterpolationTokens=function(e,t,n){var i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y;for(e.length>1&&(h=this.token("STRING_START","(",0,0)),o=this.tokens.length,s=a=0,l=e.length;l>a;s=++a){switch(g=e[s],m=g[0],y=g[1],m){case"TOKENS":if(2===y.length)continue;u=y[0],b=y;break;case"NEOSTRING":if(i=n(g[1],s),0===i.length){if(0!==s)continue;r=this.tokens.length}2===s&&null!=r&&this.tokens.splice(r,2),g[0]="STRING",g[1]=this.makeDelimitedLiteral(i,t),u=g,b=[g]}this.tokens.length>o&&(p=this.token("+","+"),p[2]={first_line:u[2].first_line,first_column:u[2].first_column,last_line:u[2].first_line,last_column:u[2].first_column}),(d=this.tokens).push.apply(d,b)}return h?(c=e[e.length-1],h.origin=["STRING",null,{first_line:h[2].first_line,first_column:h[2].first_column,last_line:c[2].last_line,last_column:c[2].last_column}],f=this.token("STRING_END",")"),f[2]={first_line:c[2].last_line,first_column:c[2].last_column,last_line:c[2].last_line,last_column:c[2].last_column}):void 0},e.prototype.pair=function(e){var t,n,i,r,o;return i=this.ends,n=i[i.length-1],e!==(o=null!=n?n.tag:void 0)?("OUTDENT"!==o&&this.error("unmatched "+e),r=this.indents,t=r[r.length-1],this.outdentToken(t,!0),this.pair(e)):this.ends.pop()},e.prototype.getLineAndColumnFromChunk=function(e){var t,n,i,r,o;return 0===e?[this.chunkLine,this.chunkColumn]:(o=e>=this.chunk.length?this.chunk:this.chunk.slice(0,+(e-1)+1||9e9),i=tt(o,"\n"),t=this.chunkColumn,i>0?(r=o.split("\n"),n=r[r.length-1],t=n.length):t+=o.length,[this.chunkLine+i,t])},e.prototype.makeToken=function(e,t,n,i){var r,o,s,a,c;return null==n&&(n=0),null==i&&(i=t.length),o={},s=this.getLineAndColumnFromChunk(n),o.first_line=s[0],o.first_column=s[1],r=i>0?i-1:0,a=this.getLineAndColumnFromChunk(n+r),o.last_line=a[0],o.last_column=a[1],c=[e,t,o]},e.prototype.token=function(e,t,n,i,r){var o;return o=this.makeToken(e,t,n,i),r&&(o.origin=r),this.tokens.push(o),o},e.prototype.tag=function(){var e,t;return e=this.tokens,t=e[e.length-1],null!=t?t[0]:void 0},e.prototype.value=function(){var e,t;return e=this.tokens,t=e[e.length-1],null!=t?t[1]:void 0},e.prototype.unfinished=function(){var e;return F.test(this.chunk)||"\\"===(e=this.tag())||"."===e||"?."===e||"?::"===e||"UNARY"===e||"MATH"===e||"UNARY_MATH"===e||"+"===e||"-"===e||"**"===e||"SHIFT"===e||"RELATION"===e||"COMPARE"===e||"LOGIC"===e||"THROW"===e||"EXTENDS"===e},e.prototype.formatString=function(e){return e.replace(q,"$1")},e.prototype.formatHeregex=function(e){return e.replace(g,"$1$2")},e.prototype.validateEscapes=function(e,t){var n,i,r,o,s,a,c,l;return null==t&&(t={}),o=k.exec(e),!o||(o[0],n=o[1],a=o[2],i=o[3],l=o[4],t.isRegex&&a&&"0"!==a.charAt(0))?void 0:(s=a?"octal escape sequences are not allowed":"invalid escape sequence",r="\\"+(a||i||l),this.error(s+" "+r,{offset:(null!=(c=t.offsetInChunk)?c:0)+o.index+n.length,length:r.length}))},e.prototype.makeDelimitedLiteral=function(e,t){var n;return null==t&&(t={}),""===e&&"/"===t.delimiter&&(e="(?:)"),n=RegExp("(\\\\\\\\)|(\\\\0(?=[1-7]))|\\\\?("+t.delimiter+")|\\\\?(?:(\\n)|(\\r)|(\\u2028)|(\\u2029))|(\\\\.)","g"),e=e.replace(n,function(e,n,i,r,o,s,a,c,l){switch(!1){case!n:return t.double?n+n:n;case!i:return"\\x00";case!r:return"\\"+r;case!o:return"\\n";case!s:return"\\r";case!a:return"\\u2028";case!c:return"\\u2029";case!l:return t.double?"\\"+l:l}}),""+t.delimiter+e+t.delimiter},e.prototype.error=function(e,t){var n,i,r,o,s,a;return null==t&&(t={}),r="first_line"in t?t:(s=this.getLineAndColumnFromChunk(null!=(o=t.offset)?o:0),i=s[0],n=s[1],s,{first_line:i,first_column:n,last_column:n+(null!=(a=t.length)?a:1)-1}),ut(e,r)},e}(),it=function(e,t){switch(null==t&&(t=e),!1){case 0>ht.call(pt.call(N).concat(pt.call(a)),e):return"keyword '"+t+"' can't be assigned";case 0>ht.call(H,e):return"'"+t+"' can't be assigned";case 0>ht.call(j,e):return"reserved word '"+t+"' can't be assigned";default:return!1}},e.isUnassignable=it,N=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"],a=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when"],s={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},o=function(){var e;e=[];for(rt in s)e.push(rt);return e}(),a=a.concat(o),j=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"],H=["arguments","eval"],e.JS_FORBIDDEN=N.concat(j).concat(H),t=65279,b=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/,I=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,R=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/,Z=/^[^\n\S]+/,c=/^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,r=/^[-=]>/,x=/^(?:\n[^\n\S]*)+/,T=/^`[^\\`]*(?:\\.[^\\`]*)*`/,X=/^(?:'''|"""|'|")/,Y=/^(?:[^\\']|\\[\s\S])*/,G=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/,f=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,p=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/,q=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g,U=/\s*\n\s*/g,d=/\n+([^\n\S]*)(?=\S)/g,O=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,$=/^\w*/,Q=/^(?!.*(.).*\1)[imgy]*$/,m=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/,g=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g,P=/^(\/|\/{3}\s*)(\*)/,A=/^\/=?\s/,h=/\*\//,F=/^\s*(?:,|\??\.(?![.\d])|::)/,k=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/,L=/^[^\n\S]*\n/,W=/\n[^\n\S]*$/,J=/\s+$/,u=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="],z=["NEW","TYPEOF","DELETE","DO"],K=["!","~"],E=["&&","||","&","|","^"],V=["<<",">>",">>>"],l=["==","!=","<",">","<=",">="],_=["*","/","%","//","%%"],M=["IN","OF","INSTANCEOF"],n=["TRUE","FALSE"],i=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER"],v=i.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::"]),S=v.concat(["++","--"]),C=["INDENT","OUTDENT","TERMINATOR"],y=[")","}","]"]}.call(this),t.exports}(),require["./parser"]=function(){var e={},t={exports:e},n=function(){function e(){this.yy={}}var t=function(e,t,n,i){for(n=n||{},i=e.length;i--;n[e[i]]=t);return n},n=[1,22],i=[1,25],r=[1,83],o=[1,79],s=[1,84],a=[1,85],c=[1,81],l=[1,82],u=[1,56],h=[1,58],p=[1,59],d=[1,60],f=[1,61],m=[1,62],g=[1,49],b=[1,50],y=[1,32],v=[1,68],k=[1,69],w=[1,78],T=[1,47],N=[1,51],L=[1,52],C=[1,67],F=[1,65],E=[1,66],D=[1,64],_=[1,42],x=[1,48],S=[1,63],I=[1,73],R=[1,74],A=[1,75],O=[1,76],$=[1,46],P=[1,72],M=[1,34],j=[1,35],B=[1,36],V=[1,37],U=[1,38],H=[1,39],G=[1,86],q=[1,6,32,42,131],Y=[1,96],X=[1,89],W=[1,88],J=[1,87],z=[1,90],K=[1,91],Q=[1,92],Z=[1,93],et=[1,94],tt=[1,95],nt=[1,99],it=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],rt=[1,105],ot=[1,106],st=[1,107],at=[1,108],ct=[1,110],lt=[1,111],ut=[1,104],ht=[2,161],pt=[1,6,32,42,131,133,135,139,155],dt=[2,27],ft=[1,118],mt=[1,116],gt=[1,6,31,32,42,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],bt=[2,94],yt=[1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],vt=[2,73],kt=[1,123],wt=[1,128],Tt=[1,129],Nt=[1,131],Lt=[1,6,31,32,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],Ct=[2,91],Ft=[1,6,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],Et=[2,63],Dt=[1,161],_t=[1,173],xt=[1,175],St=[1,170],It=[1,177],Rt=[1,179],At=[1,6,31,32,42,55,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,155,158,159,160,161,162,163,164,165,166,167,168,169],Ot=[2,110],$t=[1,6,31,32,42,58,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],Pt=[1,229],Mt=[1,228],jt=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155],Bt=[2,71],Vt=[1,238],Ut=[6,31,32,65,70],Ht=[6,31,32,55,65,70,73],Gt=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,163,165,166,167,168],qt=[82,83,84,85,87,90,113,114],Yt=[1,257],Xt=[2,62],Wt=[1,267],Jt=[1,273],zt=[2,182],Kt=[1,6,31,32,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,146,147,155,158,159,162,163,164,165,166,167,168],Qt=[1,283],Zt=[6,31,32,70,115,120],en=[1,6,31,32,42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,146,147,155,158,159,160,161,162,163,164,165,166,167,168,169],tn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,140,155],nn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,134,140,155],rn=[146,147],on=[70,146,147],sn=[6,31,94],an=[1,296],cn=[6,31,32,70,94],ln=[6,31,32,58,70,94],un=[6,31,32,55,58,70,94],hn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,165,166,167,168],pn=[12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,89,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,148,154,156,157,158,159,160,161],dn=[2,171],fn=[6,31,32],mn=[2,72],gn=[1,308],bn=[1,309],yn=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,128,131,133,134,135,139,140,150,152,155,158,159,162,163,164,165,166,167,168],vn=[32,150,152],kn=[1,6,32,42,65,70,73,89,94,115,120,122,131,134,140,155],wn=[1,335],Tn=[1,340],Nn=[1,6,32,42,131,155],Ln=[2,86],Cn=[1,350],Fn=[1,351],En=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,150,155,158,159,162,163,164,165,166,167,168],Dn=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,140,155],_n=[1,363],xn=[1,364],Sn=[6,31,32,94],In=[6,31,32,70],Rn=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],An=[31,70],On=[1,390],$n=[1,391],Pn=[1,396],Mn=[1,397],jn={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,YieldReturn:9,Return:10,Comment:11,STATEMENT:12,Import:13,Export:14,Value:15,Invocation:16,Code:17,Operation:18,Assign:19,If:20,Try:21,While:22,For:23,Switch:24,Class:25,Throw:26,Yield:27,YIELD:28,FROM:29,Block:30,INDENT:31,OUTDENT:32,Identifier:33,IDENTIFIER:34,Property:35,PROPERTY:36,AlphaNumeric:37,NUMBER:38,String:39,STRING:40,STRING_START:41,STRING_END:42,Regex:43,REGEX:44,REGEX_START:45,REGEX_END:46,Literal:47,JS:48,UNDEFINED:49,NULL:50,BOOL:51,INFINITY:52,NAN:53,Assignable:54,"=":55,AssignObj:56,ObjAssignable:57,":":58,SimpleObjAssignable:59,ThisProperty:60,RETURN:61,HERECOMMENT:62,PARAM_START:63,ParamList:64,PARAM_END:65,FuncGlyph:66,"->":67,"=>":68,OptComma:69,",":70,Param:71,ParamVar:72,"...":73,Array:74,Object:75,Splat:76,SimpleAssignable:77,Accessor:78,Parenthetical:79,Range:80,This:81,".":82,"?.":83,"::":84,"?::":85,Index:86,INDEX_START:87,IndexValue:88,INDEX_END:89,INDEX_SOAK:90,Slice:91,"{":92,AssignList:93,"}":94,CLASS:95,EXTENDS:96,IMPORT:97,ImportDefaultSpecifier:98,ImportNamespaceSpecifier:99,ImportSpecifierList:100,ImportSpecifier:101,AS:102,IMPORT_ALL:103,EXPORT:104,ExportSpecifierList:105,DEFAULT:106,EXPORT_ALL:107,ExportSpecifier:108,OptFuncExist:109,Arguments:110,Super:111,SUPER:112,FUNC_EXIST:113,CALL_START:114,CALL_END:115,ArgList:116,THIS:117,"@":118,"[":119,"]":120,RangeDots:121,"..":122,Arg:123,SimpleArgs:124,TRY:125,Catch:126,FINALLY:127,CATCH:128,THROW:129,"(":130,")":131,WhileSource:132,WHILE:133,WHEN:134,UNTIL:135,Loop:136,LOOP:137,ForBody:138,FOR:139,BY:140,ForStart:141,ForSource:142,ForVariables:143,OWN:144,ForValue:145,FORIN:146,FOROF:147,SWITCH:148,Whens:149,ELSE:150,When:151,LEADING_WHEN:152,IfBlock:153,IF:154,POST_IF:155,UNARY:156,UNARY_MATH:157,"-":158,"+":159,"--":160,"++":161,"?":162,MATH:163,"**":164,SHIFT:165,COMPARE:166,LOGIC:167,RELATION:168,COMPOUND_ASSIGN:169,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",12:"STATEMENT",28:"YIELD",29:"FROM",31:"INDENT",32:"OUTDENT",34:"IDENTIFIER",36:"PROPERTY",38:"NUMBER",40:"STRING",41:"STRING_START",42:"STRING_END",44:"REGEX",45:"REGEX_START",46:"REGEX_END",48:"JS",49:"UNDEFINED",50:"NULL",51:"BOOL",52:"INFINITY",53:"NAN",55:"=",58:":",61:"RETURN",62:"HERECOMMENT",63:"PARAM_START",65:"PARAM_END",67:"->",68:"=>",70:",",73:"...",82:".",83:"?.",84:"::",85:"?::",87:"INDEX_START",89:"INDEX_END",90:"INDEX_SOAK",92:"{",94:"}",95:"CLASS",96:"EXTENDS",97:"IMPORT",102:"AS",103:"IMPORT_ALL",104:"EXPORT",106:"DEFAULT",107:"EXPORT_ALL",112:"SUPER",113:"FUNC_EXIST",114:"CALL_START",115:"CALL_END",117:"THIS",118:"@",119:"[",120:"]",122:"..",125:"TRY",127:"FINALLY",128:"CATCH",129:"THROW",130:"(",131:")",133:"WHILE",134:"WHEN",135:"UNTIL",137:"LOOP",139:"FOR",140:"BY",144:"OWN",146:"FORIN",147:"FOROF",148:"SWITCH",150:"ELSE",152:"LEADING_WHEN",154:"IF",155:"POST_IF",156:"UNARY",157:"UNARY_MATH",158:"-",159:"+",160:"--",161:"++",162:"?",163:"MATH",164:"**",165:"SHIFT",166:"COMPARE",167:"LOGIC",168:"RELATION",169:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[8,1],[8,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[27,1],[27,2],[27,3],[30,2],[30,3],[33,1],[35,1],[37,1],[37,1],[39,1],[39,3],[43,1],[43,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[19,3],[19,4],[19,5],[56,1],[56,3],[56,5],[56,3],[56,5],[56,1],[59,1],[59,1],[59,1],[57,1],[57,1],[10,2],[10,1],[9,3],[9,2],[11,1],[17,5],[17,2],[66,1],[66,1],[69,0],[69,1],[64,0],[64,1],[64,3],[64,4],[64,6],[71,1],[71,2],[71,3],[71,1],[72,1],[72,1],[72,1],[72,1],[76,2],[77,1],[77,2],[77,2],[77,1],[54,1],[54,1],[54,1],[15,1],[15,1],[15,1],[15,1],[15,1],[78,2],[78,2],[78,2],[78,2],[78,1],[78,1],[86,3],[86,2],[88,1],[88,1],[75,4],[93,0],[93,1],[93,3],[93,4],[93,6],[25,1],[25,2],[25,3],[25,4],[25,2],[25,3],[25,4],[25,5],[13,2],[13,4],[13,4],[13,5],[13,7],[13,6],[13,9],[100,1],[100,3],[100,4],[100,4],[100,6],[101,1],[101,3],[98,1],[99,3],[14,3],[14,5],[14,2],[14,4],[14,5],[14,6],[14,3],[14,4],[14,7],[105,1],[105,3],[105,4],[105,4],[105,6],[108,1],[108,3],[108,3],[16,3],[16,3],[16,1],[111,1],[111,2],[109,0],[109,1],[110,2],[110,4],[81,1],[81,1],[60,2],[74,2],[74,4],[121,1],[121,1],[80,5],[91,3],[91,2],[91,2],[91,1],[116,1],[116,3],[116,4],[116,4],[116,6],[123,1],[123,1],[123,1],[124,1],[124,3],[21,2],[21,3],[21,4],[21,5],[126,3],[126,3],[126,2],[26,2],[79,3],[79,5],[132,2],[132,4],[132,2],[132,4],[22,2],[22,2],[22,2],[22,1],[136,2],[136,2],[23,2],[23,2],[23,2],[138,2],[138,4],[138,2],[141,2],[141,3],[145,1],[145,1],[145,1],[145,1],[143,1],[143,3],[142,2],[142,2],[142,4],[142,4],[142,4],[142,6],[142,6],[24,5],[24,7],[24,4],[24,6],[149,1],[149,2],[151,3],[151,4],[153,3],[153,5],[20,1],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,4],[18,3]],performAction:function(e,t,n,i,r,o,s){var a=o.length-1;
switch(r){case 1:return this.$=i.addLocationDataFn(s[a],s[a])(new i.Block);case 2:return this.$=o[a];case 3:this.$=i.addLocationDataFn(s[a],s[a])(i.Block.wrap([o[a]]));break;case 4:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-2].push(o[a]));break;case 5:this.$=o[a-1];break;case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 35:case 40:case 42:case 56:case 57:case 58:case 59:case 60:case 61:case 71:case 72:case 82:case 83:case 84:case 85:case 90:case 91:case 94:case 98:case 104:case 158:case 182:case 183:case 185:case 215:case 216:case 232:case 238:this.$=o[a];break;case 11:this.$=i.addLocationDataFn(s[a],s[a])(new i.StatementLiteral(o[a]));break;case 27:this.$=i.addLocationDataFn(s[a],s[a])(new i.Op(o[a],new i.Value(new i.Literal(""))));break;case 28:case 242:case 243:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op(o[a-1],o[a]));break;case 29:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op(o[a-2].concat(o[a-1]),o[a]));break;case 30:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Block);break;case 31:case 105:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-1]);break;case 32:this.$=i.addLocationDataFn(s[a],s[a])(new i.IdentifierLiteral(o[a]));break;case 33:this.$=i.addLocationDataFn(s[a],s[a])(new i.PropertyName(o[a]));break;case 34:this.$=i.addLocationDataFn(s[a],s[a])(new i.NumberLiteral(o[a]));break;case 36:this.$=i.addLocationDataFn(s[a],s[a])(new i.StringLiteral(o[a]));break;case 37:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.StringWithInterpolations(o[a-1]));break;case 38:this.$=i.addLocationDataFn(s[a],s[a])(new i.RegexLiteral(o[a]));break;case 39:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.RegexWithInterpolations(o[a-1].args));break;case 41:this.$=i.addLocationDataFn(s[a],s[a])(new i.PassthroughLiteral(o[a]));break;case 43:this.$=i.addLocationDataFn(s[a],s[a])(new i.UndefinedLiteral);break;case 44:this.$=i.addLocationDataFn(s[a],s[a])(new i.NullLiteral);break;case 45:this.$=i.addLocationDataFn(s[a],s[a])(new i.BooleanLiteral(o[a]));break;case 46:this.$=i.addLocationDataFn(s[a],s[a])(new i.InfinityLiteral(o[a]));break;case 47:this.$=i.addLocationDataFn(s[a],s[a])(new i.NaNLiteral);break;case 48:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(o[a-2],o[a]));break;case 49:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Assign(o[a-3],o[a]));break;case 50:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(o[a-4],o[a-1]));break;case 51:case 87:case 92:case 93:case 95:case 96:case 97:case 217:case 218:this.$=i.addLocationDataFn(s[a],s[a])(new i.Value(o[a]));break;case 52:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(i.addLocationDataFn(s[a-2])(new i.Value(o[a-2])),o[a],"object",{operatorToken:i.addLocationDataFn(s[a-1])(new i.Literal(o[a-1]))}));break;case 53:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(i.addLocationDataFn(s[a-4])(new i.Value(o[a-4])),o[a-1],"object",{operatorToken:i.addLocationDataFn(s[a-3])(new i.Literal(o[a-3]))}));break;case 54:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(i.addLocationDataFn(s[a-2])(new i.Value(o[a-2])),o[a],null,{operatorToken:i.addLocationDataFn(s[a-1])(new i.Literal(o[a-1]))}));break;case 55:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(i.addLocationDataFn(s[a-4])(new i.Value(o[a-4])),o[a-1],null,{operatorToken:i.addLocationDataFn(s[a-3])(new i.Literal(o[a-3]))}));break;case 62:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Return(o[a]));break;case 63:this.$=i.addLocationDataFn(s[a],s[a])(new i.Return);break;case 64:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.YieldReturn(o[a]));break;case 65:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.YieldReturn);break;case 66:this.$=i.addLocationDataFn(s[a],s[a])(new i.Comment(o[a]));break;case 67:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Code(o[a-3],o[a],o[a-1]));break;case 68:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Code([],o[a],o[a-1]));break;case 69:this.$=i.addLocationDataFn(s[a],s[a])("func");break;case 70:this.$=i.addLocationDataFn(s[a],s[a])("boundfunc");break;case 73:case 110:this.$=i.addLocationDataFn(s[a],s[a])([]);break;case 74:case 111:case 130:case 148:case 177:case 219:this.$=i.addLocationDataFn(s[a],s[a])([o[a]]);break;case 75:case 112:case 131:case 149:case 178:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-2].concat(o[a]));break;case 76:case 113:case 132:case 150:case 179:this.$=i.addLocationDataFn(s[a-3],s[a])(o[a-3].concat(o[a]));break;case 77:case 114:case 134:case 152:case 181:this.$=i.addLocationDataFn(s[a-5],s[a])(o[a-5].concat(o[a-2]));break;case 78:this.$=i.addLocationDataFn(s[a],s[a])(new i.Param(o[a]));break;case 79:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Param(o[a-1],null,!0));break;case 80:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Param(o[a-2],o[a]));break;case 81:case 184:this.$=i.addLocationDataFn(s[a],s[a])(new i.Expansion);break;case 86:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Splat(o[a-1]));break;case 88:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a-1].add(o[a]));break;case 89:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Value(o[a-1],[].concat(o[a])));break;case 99:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Access(o[a]));break;case 100:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Access(o[a],"soak"));break;case 101:this.$=i.addLocationDataFn(s[a-1],s[a])([i.addLocationDataFn(s[a-1])(new i.Access(new i.PropertyName("prototype"))),i.addLocationDataFn(s[a])(new i.Access(o[a]))]);break;case 102:this.$=i.addLocationDataFn(s[a-1],s[a])([i.addLocationDataFn(s[a-1])(new i.Access(new i.PropertyName("prototype"),"soak")),i.addLocationDataFn(s[a])(new i.Access(o[a]))]);break;case 103:this.$=i.addLocationDataFn(s[a],s[a])(new i.Access(new i.PropertyName("prototype")));break;case 106:this.$=i.addLocationDataFn(s[a-1],s[a])(i.extend(o[a],{soak:!0}));break;case 107:this.$=i.addLocationDataFn(s[a],s[a])(new i.Index(o[a]));break;case 108:this.$=i.addLocationDataFn(s[a],s[a])(new i.Slice(o[a]));break;case 109:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Obj(o[a-2],o[a-3].generated));break;case 115:this.$=i.addLocationDataFn(s[a],s[a])(new i.Class);break;case 116:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Class(null,null,o[a]));break;case 117:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Class(null,o[a]));break;case 118:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Class(null,o[a-1],o[a]));break;case 119:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Class(o[a]));break;case 120:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Class(o[a-1],null,o[a]));break;case 121:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Class(o[a-2],o[a]));break;case 122:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Class(o[a-3],o[a-1],o[a]));break;case 123:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.ImportDeclaration(null,o[a]));break;case 124:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ImportDeclaration(new i.ImportClause(o[a-2],null),o[a]));break;case 125:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ImportDeclaration(new i.ImportClause(null,o[a-2]),o[a]));break;case 126:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.ImportDeclaration(new i.ImportClause(null,new i.ImportSpecifierList([])),o[a]));break;case 127:this.$=i.addLocationDataFn(s[a-6],s[a])(new i.ImportDeclaration(new i.ImportClause(null,new i.ImportSpecifierList(o[a-4])),o[a]));break;case 128:this.$=i.addLocationDataFn(s[a-5],s[a])(new i.ImportDeclaration(new i.ImportClause(o[a-4],o[a-2]),o[a]));break;case 129:this.$=i.addLocationDataFn(s[a-8],s[a])(new i.ImportDeclaration(new i.ImportClause(o[a-7],new i.ImportSpecifierList(o[a-4])),o[a]));break;case 133:case 151:case 164:case 180:this.$=i.addLocationDataFn(s[a-3],s[a])(o[a-2]);break;case 135:this.$=i.addLocationDataFn(s[a],s[a])(new i.ImportSpecifier(o[a]));break;case 136:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ImportSpecifier(o[a-2],o[a]));break;case 137:this.$=i.addLocationDataFn(s[a],s[a])(new i.ImportDefaultSpecifier(o[a]));break;case 138:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ImportNamespaceSpecifier(new i.Literal(o[a-2]),o[a]));break;case 139:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportNamedDeclaration(new i.ExportSpecifierList([])));break;case 140:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.ExportNamedDeclaration(new i.ExportSpecifierList(o[a-2])));break;case 141:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.ExportNamedDeclaration(o[a]));break;case 142:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ExportNamedDeclaration(new i.Assign(o[a-2],o[a],null,{moduleDeclaration:"export"})));break;case 143:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.ExportNamedDeclaration(new i.Assign(o[a-3],o[a],null,{moduleDeclaration:"export"})));break;case 144:this.$=i.addLocationDataFn(s[a-5],s[a])(new i.ExportNamedDeclaration(new i.Assign(o[a-4],o[a-1],null,{moduleDeclaration:"export"})));break;case 145:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportDefaultDeclaration(o[a]));break;case 146:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.ExportAllDeclaration(new i.Literal(o[a-2]),o[a]));break;case 147:this.$=i.addLocationDataFn(s[a-6],s[a])(new i.ExportNamedDeclaration(new i.ExportSpecifierList(o[a-4]),o[a]));break;case 153:this.$=i.addLocationDataFn(s[a],s[a])(new i.ExportSpecifier(o[a]));break;case 154:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportSpecifier(o[a-2],o[a]));break;case 155:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.ExportSpecifier(o[a-2],new i.Literal(o[a])));break;case 156:case 157:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Call(o[a-2],o[a],o[a-1]));break;case 159:this.$=i.addLocationDataFn(s[a],s[a])(new i.SuperCall);break;case 160:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.SuperCall(o[a]));break;case 161:this.$=i.addLocationDataFn(s[a],s[a])(!1);break;case 162:this.$=i.addLocationDataFn(s[a],s[a])(!0);break;case 163:this.$=i.addLocationDataFn(s[a-1],s[a])([]);break;case 165:case 166:this.$=i.addLocationDataFn(s[a],s[a])(new i.Value(new i.ThisLiteral));break;case 167:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Value(i.addLocationDataFn(s[a-1])(new i.ThisLiteral),[i.addLocationDataFn(s[a])(new i.Access(o[a]))],"this"));break;case 168:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Arr([]));break;case 169:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Arr(o[a-2]));break;case 170:this.$=i.addLocationDataFn(s[a],s[a])("inclusive");break;case 171:this.$=i.addLocationDataFn(s[a],s[a])("exclusive");break;case 172:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Range(o[a-3],o[a-1],o[a-2]));break;case 173:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Range(o[a-2],o[a],o[a-1]));break;case 174:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Range(o[a-1],null,o[a]));break;case 175:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Range(null,o[a],o[a-1]));break;case 176:this.$=i.addLocationDataFn(s[a],s[a])(new i.Range(null,null,o[a]));break;case 186:this.$=i.addLocationDataFn(s[a-2],s[a])([].concat(o[a-2],o[a]));break;case 187:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Try(o[a]));break;case 188:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Try(o[a-1],o[a][0],o[a][1]));break;case 189:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Try(o[a-2],null,null,o[a]));break;case 190:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Try(o[a-3],o[a-2][0],o[a-2][1],o[a]));break;case 191:this.$=i.addLocationDataFn(s[a-2],s[a])([o[a-1],o[a]]);break;case 192:this.$=i.addLocationDataFn(s[a-2],s[a])([i.addLocationDataFn(s[a-1])(new i.Value(o[a-1])),o[a]]);break;case 193:this.$=i.addLocationDataFn(s[a-1],s[a])([null,o[a]]);break;case 194:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Throw(o[a]));break;case 195:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Parens(o[a-1]));break;case 196:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Parens(o[a-2]));break;case 197:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(o[a]));break;case 198:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.While(o[a-2],{guard:o[a]}));break;case 199:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(o[a],{invert:!0}));break;case 200:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.While(o[a-2],{invert:!0,guard:o[a]}));break;case 201:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a-1].addBody(o[a]));break;case 202:case 203:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a].addBody(i.addLocationDataFn(s[a-1])(i.Block.wrap([o[a-1]]))));break;case 204:this.$=i.addLocationDataFn(s[a],s[a])(o[a]);break;case 205:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(i.addLocationDataFn(s[a-1])(new i.BooleanLiteral("true"))).addBody(o[a]));break;case 206:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.While(i.addLocationDataFn(s[a-1])(new i.BooleanLiteral("true"))).addBody(i.addLocationDataFn(s[a])(i.Block.wrap([o[a]]))));break;case 207:case 208:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.For(o[a-1],o[a]));break;case 209:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.For(o[a],o[a-1]));break;case 210:this.$=i.addLocationDataFn(s[a-1],s[a])({source:i.addLocationDataFn(s[a])(new i.Value(o[a]))});break;case 211:this.$=i.addLocationDataFn(s[a-3],s[a])({source:i.addLocationDataFn(s[a-2])(new i.Value(o[a-2])),step:o[a]});break;case 212:this.$=i.addLocationDataFn(s[a-1],s[a])(function(){return o[a].own=o[a-1].own,o[a].name=o[a-1][0],o[a].index=o[a-1][1],o[a]}());break;case 213:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a]);break;case 214:this.$=i.addLocationDataFn(s[a-2],s[a])(function(){return o[a].own=!0,o[a]}());break;case 220:this.$=i.addLocationDataFn(s[a-2],s[a])([o[a-2],o[a]]);break;case 221:this.$=i.addLocationDataFn(s[a-1],s[a])({source:o[a]});break;case 222:this.$=i.addLocationDataFn(s[a-1],s[a])({source:o[a],object:!0});break;case 223:this.$=i.addLocationDataFn(s[a-3],s[a])({source:o[a-2],guard:o[a]});break;case 224:this.$=i.addLocationDataFn(s[a-3],s[a])({source:o[a-2],guard:o[a],object:!0});break;case 225:this.$=i.addLocationDataFn(s[a-3],s[a])({source:o[a-2],step:o[a]});break;case 226:this.$=i.addLocationDataFn(s[a-5],s[a])({source:o[a-4],guard:o[a-2],step:o[a]});break;case 227:this.$=i.addLocationDataFn(s[a-5],s[a])({source:o[a-4],step:o[a-2],guard:o[a]});break;case 228:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Switch(o[a-3],o[a-1]));break;case 229:this.$=i.addLocationDataFn(s[a-6],s[a])(new i.Switch(o[a-5],o[a-3],o[a-1]));break;case 230:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Switch(null,o[a-1]));break;case 231:this.$=i.addLocationDataFn(s[a-5],s[a])(new i.Switch(null,o[a-3],o[a-1]));break;case 233:this.$=i.addLocationDataFn(s[a-1],s[a])(o[a-1].concat(o[a]));break;case 234:this.$=i.addLocationDataFn(s[a-2],s[a])([[o[a-1],o[a]]]);break;case 235:this.$=i.addLocationDataFn(s[a-3],s[a])([[o[a-2],o[a-1]]]);break;case 236:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.If(o[a-1],o[a],{type:o[a-2]}));break;case 237:this.$=i.addLocationDataFn(s[a-4],s[a])(o[a-4].addElse(i.addLocationDataFn(s[a-2],s[a])(new i.If(o[a-1],o[a],{type:o[a-2]}))));break;case 239:this.$=i.addLocationDataFn(s[a-2],s[a])(o[a-2].addElse(o[a]));break;case 240:case 241:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.If(o[a],i.addLocationDataFn(s[a-2])(i.Block.wrap([o[a-2]])),{type:o[a-1],statement:!0}));break;case 244:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("-",o[a]));break;case 245:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("+",o[a]));break;case 246:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("--",o[a]));break;case 247:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("++",o[a]));break;case 248:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("--",o[a-1],null,!0));break;case 249:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Op("++",o[a-1],null,!0));break;case 250:this.$=i.addLocationDataFn(s[a-1],s[a])(new i.Existence(o[a-1]));break;case 251:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op("+",o[a-2],o[a]));break;case 252:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op("-",o[a-2],o[a]));break;case 253:case 254:case 255:case 256:case 257:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Op(o[a-1],o[a-2],o[a]));break;case 258:this.$=i.addLocationDataFn(s[a-2],s[a])(function(){return"!"===o[a-1].charAt(0)?new i.Op(o[a-1].slice(1),o[a-2],o[a]).invert():new i.Op(o[a-1],o[a-2],o[a])}());break;case 259:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Assign(o[a-2],o[a],o[a-1]));break;case 260:this.$=i.addLocationDataFn(s[a-4],s[a])(new i.Assign(o[a-4],o[a-1],o[a-3]));break;case 261:this.$=i.addLocationDataFn(s[a-3],s[a])(new i.Assign(o[a-3],o[a],o[a-2]));break;case 262:this.$=i.addLocationDataFn(s[a-2],s[a])(new i.Extends(o[a-2],o[a]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{1:[3]},{1:[2,2],6:G},t(q,[2,3]),t(q,[2,6],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(q,[2,7],{141:77,132:100,138:101,133:I,135:R,139:O,155:nt}),t(q,[2,8]),t(it,[2,14],{109:102,78:103,86:109,82:rt,83:ot,84:st,85:at,87:ct,90:lt,113:ut,114:ht}),t(it,[2,15],{86:109,109:112,78:113,82:rt,83:ot,84:st,85:at,87:ct,90:lt,113:ut,114:ht}),t(it,[2,16]),t(it,[2,17]),t(it,[2,18]),t(it,[2,19]),t(it,[2,20]),t(it,[2,21]),t(it,[2,22]),t(it,[2,23]),t(it,[2,24]),t(it,[2,25]),t(it,[2,26]),t(pt,[2,9]),t(pt,[2,10]),t(pt,[2,11]),t(pt,[2,12]),t(pt,[2,13]),t([1,6,32,42,131,133,135,139,155,162,163,164,165,166,167,168],dt,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:115,8:117,12:n,28:ft,29:mt,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:[1,114],62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(gt,bt,{55:[1,119]}),t(gt,[2,95]),t(gt,[2,96]),t(gt,[2,97]),t(gt,[2,98]),t(yt,[2,158]),t([6,31,65,70],vt,{64:120,71:121,72:122,33:124,60:125,74:126,75:127,34:r,73:kt,92:w,118:wt,119:Tt}),{30:130,31:Nt},{7:132,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:133,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:134,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:135,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{15:137,16:138,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:139,60:71,74:53,75:54,77:136,79:28,80:29,81:30,92:w,111:31,112:C,117:F,118:E,119:D,130:S},{15:137,16:138,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:139,60:71,74:53,75:54,77:140,79:28,80:29,81:30,92:w,111:31,112:C,117:F,118:E,119:D,130:S},t(Lt,Ct,{96:[1,144],160:[1,141],161:[1,142],169:[1,143]}),t(it,[2,238],{150:[1,145]}),{30:146,31:Nt},{30:147,31:Nt},t(it,[2,204]),{30:148,31:Nt},{7:149,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,150],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Ft,[2,115],{47:27,79:28,80:29,81:30,111:31,74:53,75:54,37:55,43:57,33:70,60:71,39:80,15:137,16:138,54:139,30:151,77:153,31:Nt,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,92:w,96:[1,152],112:C,117:F,118:E,119:D,130:S}),{7:154,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(pt,Et,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:117,7:155,12:n,28:ft,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t([1,6,31,32,42,70,94,131,133,135,139,155],[2,66]),{33:160,34:r,39:156,40:s,41:a,92:[1,159],98:157,99:158,103:Dt},{25:163,33:164,34:r,92:[1,162],95:T,106:[1,165],107:[1,166]},t(Lt,[2,92]),t(Lt,[2,93]),t(gt,[2,40]),t(gt,[2,41]),t(gt,[2,42]),t(gt,[2,43]),t(gt,[2,44]),t(gt,[2,45]),t(gt,[2,46]),t(gt,[2,47]),{4:167,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,31:[1,168],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:169,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:171,117:F,118:E,119:D,120:St,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(gt,[2,165]),t(gt,[2,166],{35:176,36:It}),t([1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,115,120,122,131,133,134,135,139,140,155,158,159,162,163,164,165,166,167,168],[2,159],{110:178,114:Rt}),{31:[2,69]},{31:[2,70]},t(At,[2,87]),t(At,[2,90]),{7:180,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:181,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:182,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:184,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,30:183,31:Nt,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{33:189,34:r,60:190,74:191,75:192,80:185,92:w,118:wt,119:D,143:186,144:[1,187],145:188},{142:193,146:[1,194],147:[1,195]},t([6,31,70,94],Ot,{39:80,93:196,56:197,57:198,59:199,11:200,37:201,33:202,35:203,60:204,34:r,36:It,38:o,40:s,41:a,62:b,118:wt}),t($t,[2,34]),t($t,[2,35]),t(gt,[2,38]),{15:137,16:205,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:139,60:71,74:53,75:54,77:206,79:28,80:29,81:30,92:w,111:31,112:C,117:F,118:E,119:D,130:S},t([1,6,29,31,32,42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,102,113,114,115,120,122,131,133,134,135,139,140,146,147,155,158,159,160,161,162,163,164,165,166,167,168,169],[2,32]),t($t,[2,36]),{4:207,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(q,[2,5],{7:4,8:5,9:6,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,5:208,12:n,28:i,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,133:I,135:R,137:A,139:O,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(it,[2,250]),{7:209,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:210,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:211,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:212,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:213,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:214,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:215,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:216,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:217,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,203]),t(it,[2,208]),{7:218,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,202]),t(it,[2,207]),{110:219,114:Rt},t(At,[2,88]),{114:[2,162]},{35:220,36:It},{35:221,36:It},t(At,[2,103],{35:222,36:It}),{35:223,36:It},t(At,[2,104]),{7:225,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:Pt,74:53,75:54,77:40,79:28,80:29,81:30,88:224,91:226,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,121:227,122:Mt,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{86:230,87:ct,90:lt},{110:231,114:Rt},t(At,[2,89]),t(q,[2,65],{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:117,7:232,12:n,28:ft,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,133:Et,135:Et,139:Et,155:Et,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(jt,[2,28],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:233,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{132:100,133:I,135:R,138:101,139:O,141:77,155:nt},t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,162,163,164,165,166,167,168],dt,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:115,8:117,12:n,28:ft,29:mt,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,137:A,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),{6:[1,235],7:234,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,236],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([6,31],Bt,{69:239,65:[1,237],70:Vt}),t(Ut,[2,74]),t(Ut,[2,78],{55:[1,241],73:[1,240]}),t(Ut,[2,81]),t(Ht,[2,82]),t(Ht,[2,83]),t(Ht,[2,84]),t(Ht,[2,85]),{35:176,36:It},{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:171,117:F,118:E,119:D,120:St,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,68]),{4:244,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,32:[1,243],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,158,159,163,164,165,166,167,168],[2,242],{141:77,132:97,138:98,162:J}),t(Gt,[2,243],{141:77,132:97,138:98,162:J,164:K}),t(Gt,[2,244],{141:77,132:97,138:98,162:J,164:K}),t(Gt,[2,245],{141:77,132:97,138:98,162:J,164:K}),t(it,[2,246],{82:Ct,83:Ct,84:Ct,85:Ct,87:Ct,90:Ct,113:Ct,114:Ct}),{78:103,82:rt,83:ot,84:st,85:at,86:109,87:ct,90:lt,109:102,113:ut,114:ht},{78:113,82:rt,83:ot,84:st,85:at,86:109,87:ct,90:lt,109:112,113:ut,114:ht},t(qt,bt),t(it,[2,247],{82:Ct,83:Ct,84:Ct,85:Ct,87:Ct,90:Ct,113:Ct,114:Ct}),t(it,[2,248]),t(it,[2,249]),{6:[1,247],7:245,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,246],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:248,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{30:249,31:Nt,154:[1,250]},t(it,[2,187],{126:251,127:[1,252],128:[1,253]}),t(it,[2,201]),t(it,[2,209]),{31:[1,254],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{149:255,151:256,152:Yt},t(it,[2,116]),{7:258,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Ft,[2,119],{30:259,31:Nt,82:Ct,83:Ct,84:Ct,85:Ct,87:Ct,90:Ct,113:Ct,114:Ct,96:[1,260]}),t(jt,[2,194],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,Xt,{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,[2,123]),{29:[1,261],70:[1,262]},{29:[1,263]},{31:Wt,33:268,34:r,94:[1,264],100:265,101:266},t([29,70],[2,137]),{102:[1,269]},{31:Jt,33:274,34:r,94:[1,270],105:271,108:272},t(pt,[2,141]),{55:[1,275]},{7:276,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{29:[1,277]},{6:G,131:[1,278]},{4:279,5:3,7:4,8:5,9:6,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:i,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([6,31,70,120],zt,{141:77,132:97,138:98,121:280,73:[1,281],122:Mt,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Kt,[2,168]),t([6,31,120],Bt,{69:282,70:Qt}),t(Zt,[2,177]),{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:284,117:F,118:E,119:D,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Zt,[2,183]),t(Zt,[2,184]),t(en,[2,167]),t(en,[2,33]),t(yt,[2,160]),{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,115:[1,285],116:286,117:F,118:E,119:D,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{30:287,31:Nt,132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(tn,[2,197],{141:77,132:97,138:98,133:I,134:[1,288],135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(tn,[2,199],{141:77,132:97,138:98,133:I,134:[1,289],135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,205]),t(nn,[2,206],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,155,158,159,162,163,164,165,166,167,168],[2,210],{140:[1,290]}),t(rn,[2,213]),{33:189,34:r,60:190,74:191,75:192,92:w,118:wt,119:Tt,143:291,145:188},t(rn,[2,219],{70:[1,292]}),t(on,[2,215]),t(on,[2,216]),t(on,[2,217]),t(on,[2,218]),t(it,[2,212]),{7:293,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:294,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(sn,Bt,{69:295,70:an}),t(cn,[2,111]),t(cn,[2,51],{58:[1,297]}),t(ln,[2,60],{55:[1,298]}),t(cn,[2,56]),t(ln,[2,61]),t(un,[2,57]),t(un,[2,58]),t(un,[2,59]),{46:[1,299],78:113,82:rt,83:ot,84:st,85:at,86:109,87:ct,90:lt,109:112,113:ut,114:ht},t(qt,Ct),{6:G,42:[1,300]},t(q,[2,4]),t(hn,[2,251],{141:77,132:97,138:98,162:J,163:z,164:K}),t(hn,[2,252],{141:77,132:97,138:98,162:J,163:z,164:K}),t(Gt,[2,253],{141:77,132:97,138:98,162:J,164:K}),t(Gt,[2,254],{141:77,132:97,138:98,162:J,164:K}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,165,166,167,168],[2,255],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,166,167],[2,256],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,168:tt}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,167],[2,257],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,168:tt}),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,155,166,167,168],[2,258],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q}),t(nn,[2,241],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(nn,[2,240],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(yt,[2,156]),t(At,[2,99]),t(At,[2,100]),t(At,[2,101]),t(At,[2,102]),{89:[1,301]},{73:Pt,89:[2,107],121:302,122:Mt,132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{89:[2,108]},{7:303,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,176],92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(pn,[2,170]),t(pn,dn),t(At,[2,106]),t(yt,[2,157]),t(q,[2,64],{141:77,132:97,138:98,133:Xt,135:Xt,139:Xt,155:Xt,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,29],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,48],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:304,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:305,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{66:306,67:v,68:k},t(fn,mn,{72:122,33:124,60:125,74:126,75:127,71:307,34:r,73:kt,92:w,118:wt,119:Tt}),{6:gn,31:bn},t(Ut,[2,79]),{7:310,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Zt,zt,{141:77,132:97,138:98,73:[1,311],133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(yn,[2,30]),{6:G,32:[1,312]},t(jt,[2,259],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:313,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:314,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(jt,[2,262],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,239]),{7:315,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,188],{127:[1,316]}),{30:317,31:Nt},{30:320,31:Nt,33:318,34:r,75:319,92:w},{149:321,151:256,152:Yt},{32:[1,322],150:[1,323],151:324,152:Yt},t(vn,[2,232]),{7:326,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,124:325,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(kn,[2,117],{141:77,132:97,138:98,30:327,31:Nt,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,120]),{7:328,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{39:329,40:s,41:a},{92:[1,331],99:330,103:Dt},{39:332,40:s,41:a},{29:[1,333]},t(sn,Bt,{69:334,70:wn}),t(cn,[2,130]),{31:Wt,33:268,34:r,100:336,101:266},t(cn,[2,135],{102:[1,337]}),{33:338,34:r},t(pt,[2,139]),t(sn,Bt,{69:339,70:Tn}),t(cn,[2,148]),{31:Jt,33:274,34:r,105:341,108:272},t(cn,[2,153],{102:[1,342]}),{6:[1,344],7:343,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,345],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Nn,[2,145],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{39:346,40:s,41:a},t(gt,[2,195]),{6:G,32:[1,347]},{7:348,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t([12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,148,154,156,157,158,159,160,161],dn,{6:Ln,31:Ln,70:Ln,120:Ln}),{6:Cn,31:Fn,120:[1,349]},t([6,31,32,115,120],mn,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,153:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:117,76:174,7:242,123:352,12:n,28:ft,34:r,38:o,40:s,41:a,44:c,45:l,48:u,49:h,50:p,51:d,52:f,53:m,61:g,62:b,63:y,67:v,68:k,73:xt,92:w,95:T,97:N,104:L,112:C,117:F,118:E,119:D,125:_,129:x,130:S,133:I,135:R,137:A,139:O,148:$,154:P,156:M,157:j,158:B,159:V,160:U,161:H}),t(fn,Bt,{69:353,70:Qt}),t(yt,[2,163]),t([6,31,115],Bt,{69:354,70:Qt}),t(En,[2,236]),{7:355,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:356,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:357,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(rn,[2,214]),{33:189,34:r,60:190,74:191,75:192,92:w,118:wt,119:Tt,145:358},t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,155],[2,221],{141:77,132:97,138:98,134:[1,359],140:[1,360],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Dn,[2,222],{141:77,132:97,138:98,134:[1,361],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{6:_n,31:xn,94:[1,362]},t(Sn,mn,{39:80,57:198,59:199,11:200,37:201,33:202,35:203,60:204,56:365,34:r,36:It,38:o,40:s,41:a,62:b,118:wt}),{7:366,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,367],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:368,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:[1,369],33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(gt,[2,39]),t($t,[2,37]),t(At,[2,105]),{7:370,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,174],92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{89:[2,175],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(jt,[2,49],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{32:[1,371],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{30:372,31:Nt},t(Ut,[2,75]),{33:124,34:r,60:125,71:373,72:122,73:kt,74:126,75:127,92:w,118:wt,119:Tt},t(In,vt,{71:121,72:122,33:124,60:125,74:126,75:127,64:374,34:r,73:kt,92:w,118:wt,119:Tt}),t(Ut,[2,80],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Zt,Ln),t(yn,[2,31]),{32:[1,375],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(jt,[2,261],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{30:376,31:Nt,132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{30:377,31:Nt},t(it,[2,189]),{30:378,31:Nt},{30:379,31:Nt},t(Rn,[2,193]),{32:[1,380],150:[1,381],151:324,152:Yt},t(it,[2,230]),{30:382,31:Nt},t(vn,[2,233]),{30:383,31:Nt,70:[1,384]},t(An,[2,185],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(it,[2,118]),t(kn,[2,121],{141:77,132:97,138:98,30:385,31:Nt,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,[2,124]),{29:[1,386]},{31:Wt,33:268,34:r,100:387,101:266},t(pt,[2,125]),{39:388,40:s,41:a},{6:On,31:$n,94:[1,389]},t(Sn,mn,{33:268,101:392,34:r}),t(fn,Bt,{69:393,70:wn}),{33:394,34:r},{29:[2,138]},{6:Pn,31:Mn,94:[1,395]},t(Sn,mn,{33:274,108:398,34:r}),t(fn,Bt,{69:399,70:Tn}),{33:400,34:r,106:[1,401]},t(Nn,[2,142],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:402,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:403,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(pt,[2,146]),{131:[1,404]},{120:[1,405],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(Kt,[2,169]),{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,123:406,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:242,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,31:_t,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,73:xt,74:53,75:54,76:174,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,116:407,117:F,118:E,119:D,123:172,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Zt,[2,178]),{6:Cn,31:Fn,32:[1,408]},{6:Cn,31:Fn,115:[1,409]},t(nn,[2,198],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(nn,[2,200],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(nn,[2,211],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(rn,[2,220]),{7:410,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:411,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:412,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(Kt,[2,109]),{11:200,33:202,34:r,35:203,36:It,37:201,38:o,39:80,40:s,41:a,56:413,57:198,59:199,60:204,62:b,118:wt},t(In,Ot,{39:80,56:197,57:198,59:199,11:200,37:201,33:202,35:203,60:204,93:414,34:r,36:It,38:o,40:s,41:a,62:b,118:wt}),t(cn,[2,112]),t(cn,[2,52],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:415,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(cn,[2,54],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{7:416,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{89:[2,173],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(it,[2,50]),t(it,[2,67]),t(Ut,[2,76]),t(fn,Bt,{69:417,70:Vt}),t(it,[2,260]),t(En,[2,237]),t(it,[2,190]),t(Rn,[2,191]),t(Rn,[2,192]),t(it,[2,228]),{30:418,31:Nt},{32:[1,419]},t(vn,[2,234],{6:[1,420]}),{7:421,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},t(it,[2,122]),{39:422,40:s,41:a},t(sn,Bt,{69:423,70:wn}),t(pt,[2,126]),{29:[1,424]},{33:268,34:r,101:425},{31:Wt,33:268,34:r,100:426,101:266},t(cn,[2,131]),{6:On,31:$n,32:[1,427]},t(cn,[2,136]),t(pt,[2,140],{29:[1,428]}),{33:274,34:r,108:429},{31:Jt,33:274,34:r,105:430,108:272},t(cn,[2,149]),{6:Pn,31:Mn,32:[1,431]},t(cn,[2,154]),t(cn,[2,155]),t(Nn,[2,143],{141:77,132:97,138:98,133:I,135:R,139:O,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),{32:[1,432],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},t(gt,[2,196]),t(gt,[2,172]),t(Zt,[2,179]),t(fn,Bt,{69:433,70:Qt}),t(Zt,[2,180]),t(yt,[2,164]),t([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,155],[2,223],{141:77,132:97,138:98,140:[1,434],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(Dn,[2,225],{141:77,132:97,138:98,134:[1,435],158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,224],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(cn,[2,113]),t(fn,Bt,{69:436,70:an}),{32:[1,437],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{32:[1,438],132:97,133:I,135:R,138:98,139:O,141:77,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt},{6:gn,31:bn,32:[1,439]},{32:[1,440]},t(it,[2,231]),t(vn,[2,235]),t(An,[2,186],{141:77,132:97,138:98,133:I,135:R,139:O,155:Y,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(pt,[2,128]),{6:On,31:$n,94:[1,441]},{39:442,40:s,41:a},t(cn,[2,132]),t(fn,Bt,{69:443,70:wn}),t(cn,[2,133]),{39:444,40:s,41:a},t(cn,[2,150]),t(fn,Bt,{69:445,70:Tn}),t(cn,[2,151]),t(pt,[2,144]),{6:Cn,31:Fn,32:[1,446]},{7:447,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{7:448,8:117,10:20,11:21,12:n,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ft,33:70,34:r,37:55,38:o,39:80,40:s,41:a,43:57,44:c,45:l,47:27,48:u,49:h,50:p,51:d,52:f,53:m,54:26,60:71,61:g,62:b,63:y,66:33,67:v,68:k,74:53,75:54,77:40,79:28,80:29,81:30,92:w,95:T,97:N,104:L,111:31,112:C,117:F,118:E,119:D,125:_,129:x,130:S,132:43,133:I,135:R,136:44,137:A,138:45,139:O,141:77,148:$,153:41,154:P,156:M,157:j,158:B,159:V,160:U,161:H},{6:_n,31:xn,32:[1,449]},t(cn,[2,53]),t(cn,[2,55]),t(Ut,[2,77]),t(it,[2,229]),{29:[1,450]},t(pt,[2,127]),{6:On,31:$n,32:[1,451]},t(pt,[2,147]),{6:Pn,31:Mn,32:[1,452]},t(Zt,[2,181]),t(jt,[2,226],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(jt,[2,227],{141:77,132:97,138:98,158:X,159:W,162:J,163:z,164:K,165:Q,166:Z,167:et,168:tt}),t(cn,[2,114]),{39:453,40:s,41:a},t(cn,[2,134]),t(cn,[2,152]),t(pt,[2,129])],defaultActions:{68:[2,69],69:[2,70],104:[2,162],226:[2,108],338:[2,138]},parseError:function(e,t){function n(e,t){this.message=e,this.hash=t
}if(!t.recoverable)throw n.prototype=Error,new n(e,t);this.trace(e)},parse:function(e){var t=this,n=[0],i=[null],r=[],o=this.table,s="",a=0,c=0,l=0,u=2,h=1,p=r.slice.call(arguments,1),d=Object.create(this.lexer),f={yy:{}};for(var m in this.yy)Object.prototype.hasOwnProperty.call(this.yy,m)&&(f.yy[m]=this.yy[m]);d.setInput(e,f.yy),f.yy.lexer=d,f.yy.parser=this,d.yylloc===void 0&&(d.yylloc={});var g=d.yylloc;r.push(g);var b=d.options&&d.options.ranges;this.parseError="function"==typeof f.yy.parseError?f.yy.parseError:Object.getPrototypeOf(this).parseError;for(var y,v,k,w,T,N,L,C,F,E=function(){var e;return e=d.lex()||h,"number"!=typeof e&&(e=t.symbols_[e]||e),e},D={};;){if(k=n[n.length-1],this.defaultActions[k]?w=this.defaultActions[k]:((null===y||y===void 0)&&(y=E()),w=o[k]&&o[k][y]),w===void 0||!w.length||!w[0]){var _="";F=[];for(N in o[k])this.terminals_[N]&&N>u&&F.push("'"+this.terminals_[N]+"'");_=d.showPosition?"Parse error on line "+(a+1)+":\n"+d.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[y]||y)+"'":"Parse error on line "+(a+1)+": Unexpected "+(y==h?"end of input":"'"+(this.terminals_[y]||y)+"'"),this.parseError(_,{text:d.match,token:this.terminals_[y]||y,line:d.yylineno,loc:g,expected:F})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+k+", token: "+y);switch(w[0]){case 1:n.push(y),i.push(d.yytext),r.push(d.yylloc),n.push(w[1]),y=null,v?(y=v,v=null):(c=d.yyleng,s=d.yytext,a=d.yylineno,g=d.yylloc,l>0&&l--);break;case 2:if(L=this.productions_[w[1]][1],D.$=i[i.length-L],D._$={first_line:r[r.length-(L||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(L||1)].first_column,last_column:r[r.length-1].last_column},b&&(D._$.range=[r[r.length-(L||1)].range[0],r[r.length-1].range[1]]),T=this.performAction.apply(D,[s,c,a,f.yy,w[1],i,r].concat(p)),T!==void 0)return T;L&&(n=n.slice(0,2*-1*L),i=i.slice(0,-1*L),r=r.slice(0,-1*L)),n.push(this.productions_[w[1]][0]),i.push(D.$),r.push(D._$),C=o[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}};return e.prototype=jn,jn.Parser=e,new e}();return require!==void 0&&e!==void 0&&(e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(t){t[1]||(console.log("Usage: "+t[0]+" FILE"),process.exit(1));var n=require("fs").readFileSync(require("path").normalize(t[1]),"utf8");return e.parser.parse(n)},t!==void 0&&require.main===t&&e.main(process.argv.slice(1))),t.exports}(),require["./scope"]=function(){var e={},t={exports:e};return function(){var t,n=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};e.Scope=t=function(){function e(e,t,n,i){var r,o;this.parent=e,this.expressions=t,this.method=n,this.referencedVars=i,this.variables=[{name:"arguments",type:"arguments"}],this.positions={},this.parent||(this.utilities={}),this.root=null!=(r=null!=(o=this.parent)?o.root:void 0)?r:this}return e.prototype.add=function(e,t,n){return this.shared&&!n?this.parent.add(e,t,n):Object.prototype.hasOwnProperty.call(this.positions,e)?this.variables[this.positions[e]].type=t:this.positions[e]=this.variables.push({name:e,type:t})-1},e.prototype.namedMethod=function(){var e;return(null!=(e=this.method)?e.name:void 0)||!this.parent?this.method:this.parent.namedMethod()},e.prototype.find=function(e){return this.check(e)?!0:(this.add(e,"var"),!1)},e.prototype.parameter=function(e){return this.shared&&this.parent.check(e,!0)?void 0:this.add(e,"param")},e.prototype.check=function(e){var t;return!!(this.type(e)||(null!=(t=this.parent)?t.check(e):void 0))},e.prototype.temporary=function(e,t,n){var i,r,o,s,a,c;return null==n&&(n=!1),n?(c=e.charCodeAt(0),r="z".charCodeAt(0),i=r-c,s=c+t%(i+1),o=String.fromCharCode(s),a=Math.floor(t/(i+1)),""+o+(a||"")):""+e+(t||"")},e.prototype.type=function(e){var t,n,i,r;for(i=this.variables,t=0,n=i.length;n>t;t++)if(r=i[t],r.name===e)return r.type;return null},e.prototype.freeVariable=function(e,t){var i,r,o;for(null==t&&(t={}),i=0;;){if(o=this.temporary(e,i,t.single),!(this.check(o)||n.call(this.root.referencedVars,o)>=0))break;i++}return(null!=(r=t.reserve)?r:!0)&&this.add(o,"var",!0),o},e.prototype.assign=function(e,t){return this.add(e,{value:t,assigned:!0},!0),this.hasAssignments=!0},e.prototype.hasDeclarations=function(){return!!this.declaredVariables().length},e.prototype.declaredVariables=function(){var e;return function(){var t,n,i,r;for(i=this.variables,r=[],t=0,n=i.length;n>t;t++)e=i[t],"var"===e.type&&r.push(e.name);return r}.call(this).sort()},e.prototype.assignedVariables=function(){var e,t,n,i,r;for(n=this.variables,i=[],e=0,t=n.length;t>e;e++)r=n[e],r.type.assigned&&i.push(r.name+" = "+r.type.value);return i},e}()}.call(this),t.exports}(),require["./nodes"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k,w,T,N,L,C,F,E,D,_,x,S,I,R,A,O,$,P,M,j,B,V,U,H,G,q,Y,X,W,J,z,K,Q,Z,et,tt,nt,it,rt,ot,st,at,ct,lt,ut,ht,pt,dt,ft,mt,gt,bt,yt,vt,kt,wt,Tt,Nt,Lt,Ct,Ft,Et,Dt,_t,xt,St,It,Rt,At,Ot,$t,Pt,Mt,jt,Bt,Vt,Ut,Ht,Gt,qt,Yt=function(e,t){function n(){this.constructor=e}for(var i in t)Xt.call(t,i)&&(e[i]=t[i]);return n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype,e},Xt={}.hasOwnProperty,Wt=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1},Jt=[].slice;Error.stackTraceLimit=Infinity,st=require("./scope").Scope,jt=require("./lexer"),Ot=jt.isUnassignable,R=jt.JS_FORBIDDEN,Bt=require("./helpers"),Ft=Bt.compact,xt=Bt.flatten,_t=Bt.extend,Pt=Bt.merge,Et=Bt.del,Ut=Bt.starts,Dt=Bt.ends,Vt=Bt.some,Ct=Bt.addLocationDataFn,$t=Bt.locationDataToString,Ht=Bt.throwSyntaxError,e.extend=_t,e.addLocationDataFn=Ct,Nt=function(){return!0},q=function(){return!1},mt=function(){return this},G=function(){return this.negated=!this.negated,this},e.CodeFragment=u=function(){function e(e,t){var n;this.code=""+t,this.locationData=null!=e?e.locationData:void 0,this.type=(null!=e?null!=(n=e.constructor)?n.name:void 0:void 0)||"unknown"}return e.prototype.toString=function(){return""+this.code+(this.locationData?": "+$t(this.locationData):"")},e}(),St=function(e){var t;return function(){var n,i,r;for(r=[],n=0,i=e.length;i>n;n++)t=e[n],r.push(t.code);return r}().join("")},e.Base=r=function(){function e(){}return e.prototype.compile=function(e,t){return St(this.compileToFragments(e,t))},e.prototype.compileToFragments=function(e,t){var n;return e=_t({},e),t&&(e.level=t),n=this.unfoldSoak(e)||this,n.tab=e.indent,e.level!==j&&n.isStatement(e)?n.compileClosure(e):n.compileNode(e)},e.prototype.compileClosure=function(e){var n,i,r,s,c,u,h;return(s=this.jumps())&&s.error("cannot use a pure statement in an expression"),e.sharedScope=!0,r=new l([],o.wrap([this])),n=[],((i=this.contains(Rt))||this.contains(At))&&(n=[new gt],i?(c="apply",n.push(new T("arguments"))):c="call",r=new wt(r,[new t(new et(c))])),u=new a(r,n).compileNode(e),(r.isGenerator||(null!=(h=r.base)?h.isGenerator:void 0))&&(u.unshift(this.makeCode("(yield* ")),u.push(this.makeCode(")"))),u},e.prototype.cache=function(e,t,n){var r,o,s;return r=null!=n?n(this):this.isComplex(),r?(o=new T(e.scope.freeVariable("ref")),s=new i(o,this),t?[s.compileToFragments(e,t),[this.makeCode(o.value)]]:[s,o]):(o=t?this.compileToFragments(e,t):this,[o,o])},e.prototype.cacheToCodeFragments=function(e){return[St(e[0]),St(e[1])]},e.prototype.makeReturn=function(e){var t;return t=this.unwrapAll(),e?new a(new B(e+".push"),[t]):new rt(t)},e.prototype.contains=function(e){var t;return t=void 0,this.traverseChildren(!1,function(n){return e(n)?(t=n,!1):void 0}),t},e.prototype.lastNonComment=function(e){var t;for(t=e.length;t--;)if(!(e[t]instanceof h))return e[t];return null},e.prototype.toString=function(e,t){var n;return null==e&&(e=""),null==t&&(t=this.constructor.name),n="\n"+e+t,this.soak&&(n+="?"),this.eachChild(function(t){return n+=t.toString(e+ft)}),n},e.prototype.eachChild=function(e){var t,n,i,r,o,s,a,c;if(!this.children)return this;for(a=this.children,i=0,o=a.length;o>i;i++)if(t=a[i],this[t])for(c=xt([this[t]]),r=0,s=c.length;s>r;r++)if(n=c[r],e(n)===!1)return this;return this},e.prototype.traverseChildren=function(e,t){return this.eachChild(function(n){var i;return i=t(n),i!==!1?n.traverseChildren(e,t):void 0})},e.prototype.invert=function(){return new z("!",this)},e.prototype.unwrapAll=function(){var e;for(e=this;e!==(e=e.unwrap()););return e},e.prototype.children=[],e.prototype.isStatement=q,e.prototype.jumps=q,e.prototype.isComplex=Nt,e.prototype.isChainable=q,e.prototype.isAssignable=q,e.prototype.isNumber=q,e.prototype.unwrap=mt,e.prototype.unfoldSoak=q,e.prototype.assigns=q,e.prototype.updateLocationDataIfMissing=function(e){return this.locationData?this:(this.locationData=e,this.eachChild(function(t){return t.updateLocationDataIfMissing(e)}))},e.prototype.error=function(e){return Ht(e,this.locationData)},e.prototype.makeCode=function(e){return new u(this,e)},e.prototype.wrapInBraces=function(e){return[].concat(this.makeCode("("),e,this.makeCode(")"))},e.prototype.joinFragmentArrays=function(e,t){var n,i,r,o,s;for(n=[],r=o=0,s=e.length;s>o;r=++o)i=e[r],r&&n.push(this.makeCode(t)),n=n.concat(i);return n},e}(),e.Block=o=function(e){function t(e){this.expressions=Ft(xt(e||[]))}return Yt(t,e),t.prototype.children=["expressions"],t.prototype.push=function(e){return this.expressions.push(e),this},t.prototype.pop=function(){return this.expressions.pop()},t.prototype.unshift=function(e){return this.expressions.unshift(e),this},t.prototype.unwrap=function(){return 1===this.expressions.length?this.expressions[0]:this},t.prototype.isEmpty=function(){return!this.expressions.length},t.prototype.isStatement=function(e){var t,n,i,r;for(r=this.expressions,n=0,i=r.length;i>n;n++)if(t=r[n],t.isStatement(e))return!0;return!1},t.prototype.jumps=function(e){var t,n,i,r,o;for(o=this.expressions,n=0,r=o.length;r>n;n++)if(t=o[n],i=t.jumps(e))return i},t.prototype.makeReturn=function(e){var t,n;for(n=this.expressions.length;n--;)if(t=this.expressions[n],!(t instanceof h)){this.expressions[n]=t.makeReturn(e),t instanceof rt&&!t.expression&&this.expressions.splice(n,1);break}return this},t.prototype.compileToFragments=function(e,n){return null==e&&(e={}),e.scope?t.__super__.compileToFragments.call(this,e,n):this.compileRoot(e)},t.prototype.compileNode=function(e){var n,i,r,o,s,a,c,l,u;for(this.tab=e.indent,u=e.level===j,i=[],l=this.expressions,o=s=0,a=l.length;a>s;o=++s)c=l[o],c=c.unwrapAll(),c=c.unfoldSoak(e)||c,c instanceof t?i.push(c.compileNode(e)):u?(c.front=!0,r=c.compileToFragments(e),c.isStatement(e)||(r.unshift(this.makeCode(""+this.tab)),r.push(this.makeCode(";"))),i.push(r)):i.push(c.compileToFragments(e,$));return u?this.spaced?[].concat(this.joinFragmentArrays(i,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(i,"\n"):(n=i.length?this.joinFragmentArrays(i,", "):[this.makeCode("void 0")],i.length>1&&e.level>=$?this.wrapInBraces(n):n)},t.prototype.compileRoot=function(e){var t,n,i,r,o,s,a,c,l,u,p;for(e.indent=e.bare?"":ft,e.level=j,this.spaced=!0,e.scope=new st(null,this,null,null!=(l=e.referencedVars)?l:[]),u=e.locals||[],r=0,o=u.length;o>r;r++)s=u[r],e.scope.parameter(s);return a=[],e.bare||(c=function(){var e,n,r,o;for(r=this.expressions,o=[],i=e=0,n=r.length;n>e&&(t=r[i],t.unwrap()instanceof h);i=++e)o.push(t);return o}.call(this),p=this.expressions.slice(c.length),this.expressions=c,c.length&&(a=this.compileNode(Pt(e,{indent:""})),a.push(this.makeCode("\n"))),this.expressions=p),n=this.compileWithDeclarations(e),e.bare?n:[].concat(a,this.makeCode("(function() {\n"),n,this.makeCode("\n}).call(this);\n"))},t.prototype.compileWithDeclarations=function(e){var t,n,i,r,o,s,a,c,l,u,p,d,f,m;for(r=[],c=[],l=this.expressions,o=s=0,a=l.length;a>s&&(i=l[o],i=i.unwrap(),i instanceof h||i instanceof B);o=++s);return e=Pt(e,{level:j}),o&&(d=this.expressions.splice(o,9e9),u=[this.spaced,!1],m=u[0],this.spaced=u[1],p=[this.compileNode(e),m],r=p[0],this.spaced=p[1],this.expressions=d),c=this.compileNode(e),f=e.scope,f.expressions===this&&(n=e.scope.hasDeclarations(),t=f.hasAssignments,n||t?(o&&r.push(this.makeCode("\n")),r.push(this.makeCode(this.tab+"var ")),n&&r.push(this.makeCode(f.declaredVariables().join(", "))),t&&(n&&r.push(this.makeCode(",\n"+(this.tab+ft))),r.push(this.makeCode(f.assignedVariables().join(",\n"+(this.tab+ft))))),r.push(this.makeCode(";\n"+(this.spaced?"\n":"")))):r.length&&c.length&&r.push(this.makeCode("\n"))),r.concat(c)},t.wrap=function(e){return 1===e.length&&e[0]instanceof t?e[0]:new t(e)},t}(r),e.Literal=B=function(e){function t(e){this.value=e}return Yt(t,e),t.prototype.isComplex=q,t.prototype.assigns=function(e){return e===this.value},t.prototype.compileNode=function(){return[this.makeCode(this.value)]},t.prototype.toString=function(){return" "+(this.isStatement()?t.__super__.toString.apply(this,arguments):this.constructor.name)+": "+this.value},t}(r),e.NumberLiteral=W=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.InfinityLiteral=I=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(){return[this.makeCode("2e308")]},t}(W),e.NaNLiteral=Y=function(e){function t(){t.__super__.constructor.call(this,"NaN")}return Yt(t,e),t.prototype.compileNode=function(e){var t;return t=[this.makeCode("0/0")],e.level>=P?this.wrapInBraces(t):t},t}(W),e.StringLiteral=ut=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.RegexLiteral=nt=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.PassthroughLiteral=Z=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.IdentifierLiteral=T=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isAssignable=Nt,t}(B),e.PropertyName=et=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isAssignable=Nt,t}(B),e.StatementLiteral=lt=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isStatement=Nt,t.prototype.makeReturn=mt,t.prototype.jumps=function(e){return"break"!==this.value||(null!=e?e.loop:void 0)||(null!=e?e.block:void 0)?"continue"!==this.value||(null!=e?e.loop:void 0)?void 0:this:this},t.prototype.compileNode=function(){return[this.makeCode(""+this.tab+this.value+";")]},t}(B),e.ThisLiteral=gt=function(e){function t(){t.__super__.constructor.call(this,"this")}return Yt(t,e),t.prototype.compileNode=function(e){var t,n;return t=(null!=(n=e.scope.method)?n.bound:void 0)?e.scope.method.context:this.value,[this.makeCode(t)]},t}(B),e.UndefinedLiteral=kt=function(e){function t(){t.__super__.constructor.call(this,"undefined")}return Yt(t,e),t.prototype.compileNode=function(e){return[this.makeCode(e.level>=A?"(void 0)":"void 0")]},t}(B),e.NullLiteral=X=function(e){function t(){t.__super__.constructor.call(this,"null")}return Yt(t,e),t}(B),e.BooleanLiteral=s=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(B),e.Return=rt=function(e){function t(e){this.expression=e}return Yt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Nt,t.prototype.makeReturn=mt,t.prototype.jumps=mt,t.prototype.compileToFragments=function(e,n){var i,r;return i=null!=(r=this.expression)?r.makeReturn():void 0,!i||i instanceof t?t.__super__.compileToFragments.call(this,e,n):i.compileToFragments(e,n)},t.prototype.compileNode=function(e){var t;return t=[],t.push(this.makeCode(this.tab+("return"+(this.expression?" ":"")))),this.expression&&(t=t.concat(this.expression.compileToFragments(e,M))),t.push(this.makeCode(";")),t},t}(r),e.YieldReturn=Lt=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(e){return null==e.scope.parent&&this.error("yield can only occur inside functions"),t.__super__.compileNode.apply(this,arguments)},t}(rt),e.Value=wt=function(e){function t(e,n,i){return!n&&e instanceof t?e:(this.base=e,this.properties=n||[],i&&(this[i]=!0),this)}return Yt(t,e),t.prototype.children=["base","properties"],t.prototype.add=function(e){return this.properties=this.properties.concat(e),this},t.prototype.hasProperties=function(){return!!this.properties.length},t.prototype.bareLiteral=function(e){return!this.properties.length&&this.base instanceof e},t.prototype.isArray=function(){return this.bareLiteral(n)},t.prototype.isRange=function(){return this.bareLiteral(tt)},t.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()},t.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()},t.prototype.isNumber=function(){return this.bareLiteral(W)},t.prototype.isString=function(){return this.bareLiteral(ut)},t.prototype.isRegex=function(){return this.bareLiteral(nt)},t.prototype.isUndefined=function(){return this.bareLiteral(kt)},t.prototype.isNull=function(){return this.bareLiteral(X)},t.prototype.isBoolean=function(){return this.bareLiteral(s)},t.prototype.isAtomic=function(){var e,t,n,i;for(i=this.properties.concat(this.base),e=0,t=i.length;t>e;e++)if(n=i[e],n.soak||n instanceof a)return!1;return!0},t.prototype.isNotCallable=function(){return this.isNumber()||this.isString()||this.isRegex()||this.isArray()||this.isRange()||this.isSplice()||this.isObject()||this.isUndefined()||this.isNull()||this.isBoolean()},t.prototype.isStatement=function(e){return!this.properties.length&&this.base.isStatement(e)},t.prototype.assigns=function(e){return!this.properties.length&&this.base.assigns(e)},t.prototype.jumps=function(e){return!this.properties.length&&this.base.jumps(e)},t.prototype.isObject=function(e){return this.properties.length?!1:this.base instanceof J&&(!e||this.base.generated)},t.prototype.isSplice=function(){var e,t;return t=this.properties,e=t[t.length-1],e instanceof at},t.prototype.looksStatic=function(e){var t;return this.base.value===e&&1===this.properties.length&&"prototype"!==(null!=(t=this.properties[0].name)?t.value:void 0)},t.prototype.unwrap=function(){return this.properties.length?this:this.base},t.prototype.cacheReference=function(e){var n,r,o,s,a;return a=this.properties,o=a[a.length-1],2>this.properties.length&&!this.base.isComplex()&&!(null!=o?o.isComplex():void 0)?[this,this]:(n=new t(this.base,this.properties.slice(0,-1)),n.isComplex()&&(r=new T(e.scope.freeVariable("base")),n=new t(new Q(new i(r,n)))),o?(o.isComplex()&&(s=new T(e.scope.freeVariable("name")),o=new S(new i(s,o.index)),s=new S(s)),[n.add(o),new t(r||n.base,[s||o])]):[n,r])},t.prototype.compileNode=function(e){var t,n,i,r,o;for(this.base.front=this.front,o=this.properties,t=this.base.compileToFragments(e,o.length?A:null),o.length&&ot.test(St(t))&&t.push(this.makeCode(".")),n=0,i=o.length;i>n;n++)r=o[n],t.push.apply(t,r.compileToFragments(e));return t},t.prototype.unfoldSoak=function(e){return null!=this.unfoldedSoak?this.unfoldedSoak:this.unfoldedSoak=function(n){return function(){var r,o,s,a,c,l,u,h,d,f;if(s=n.base.unfoldSoak(e))return(h=s.body.properties).push.apply(h,n.properties),s;for(d=n.properties,o=a=0,c=d.length;c>a;o=++a)if(l=d[o],l.soak)return l.soak=!1,r=new t(n.base,n.properties.slice(0,o)),f=new t(n.base,n.properties.slice(o)),r.isComplex()&&(u=new T(e.scope.freeVariable("ref")),r=new Q(new i(u,r)),f.base=u),new N(new p(r),f,{soak:!0});return!1}}(this)()},t}(r),e.Comment=h=function(e){function t(e){this.comment=e}return Yt(t,e),t.prototype.isStatement=Nt,t.prototype.makeReturn=mt,t.prototype.compileNode=function(e,t){var n,i;return i=this.comment.replace(/^(\s*)#(?=\s)/gm,"$1 *"),n="/*"+Mt(i,this.tab)+(Wt.call(i,"\n")>=0?"\n"+this.tab:"")+" */",(t||e.level)===j&&(n=e.indent+n),[this.makeCode("\n"),this.makeCode(n)]},t}(r),e.Call=a=function(e){function t(e,t,n){this.variable=e,this.args=null!=t?t:[],this.soak=n,this.isNew=!1,this.variable instanceof wt&&this.variable.isNotCallable()&&this.variable.error("literal is not a function")}return Yt(t,e),t.prototype.children=["variable","args"],t.prototype.newInstance=function(){var e,n;return e=(null!=(n=this.variable)?n.base:void 0)||this.variable,e instanceof t&&!e.isNew?e.newInstance():this.isNew=!0,this},t.prototype.unfoldSoak=function(e){var n,i,r,o,s,a,c,l,u;if(this.soak){if(this instanceof pt)o=new B(this.superReference(e)),u=new wt(o);else{if(i=Gt(e,this,"variable"))return i;c=new wt(this.variable).cacheReference(e),o=c[0],u=c[1]}return u=new t(u,this.args),u.isNew=this.isNew,o=new B("typeof "+o.compile(e)+' === "function"'),new N(o,new wt(u),{soak:!0})}for(n=this,a=[];;)if(n.variable instanceof t)a.push(n),n=n.variable;else{if(!(n.variable instanceof wt))break;if(a.push(n),!((n=n.variable.base)instanceof t))break}for(l=a.reverse(),r=0,s=l.length;s>r;r++)n=l[r],i&&(n.variable instanceof t?n.variable=i:n.variable.base=i),i=Gt(e,n,"variable");return i},t.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,l,u;if(null!=(l=this.variable)&&(l.front=this.front),r=ct.compileSplattedArray(e,this.args,!0),r.length)return this.compileSplat(e,r);for(i=[],u=this.args,n=s=0,a=u.length;a>s;n=++s)t=u[n],n&&i.push(this.makeCode(", ")),i.push.apply(i,t.compileToFragments(e,$));return o=[],this instanceof pt?(c=this.superReference(e)+(".call("+this.superThis(e)),i.length&&(c+=", "),o.push(this.makeCode(c))):(this.isNew&&o.push(this.makeCode("new ")),o.push.apply(o,this.variable.compileToFragments(e,A)),o.push(this.makeCode("("))),o.push.apply(o,i),o.push(this.makeCode(")")),o},t.prototype.compileSplat=function(e,t){var n,i,r,o,s,a;return this instanceof pt?[].concat(this.makeCode(this.superReference(e)+".apply("+this.superThis(e)+", "),t,this.makeCode(")")):this.isNew?(o=this.tab+ft,[].concat(this.makeCode("(function(func, args, ctor) {\n"+o+"ctor.prototype = func.prototype;\n"+o+"var child = new ctor, result = func.apply(child, args);\n"+o+"return Object(result) === result ? result : child;\n"+this.tab+"})("),this.variable.compileToFragments(e,$),this.makeCode(", "),t,this.makeCode(", function(){})"))):(n=[],i=new wt(this.variable),(s=i.properties.pop())&&i.isComplex()?(a=e.scope.freeVariable("ref"),n=n.concat(this.makeCode("("+a+" = "),i.compileToFragments(e,$),this.makeCode(")"),s.compileToFragments(e))):(r=i.compileToFragments(e,A),ot.test(St(r))&&(r=this.wrapInBraces(r)),s?(a=St(r),r.push.apply(r,s.compileToFragments(e))):a="null",n=n.concat(r)),n=n.concat(this.makeCode(".apply("+a+", "),t,this.makeCode(")")))},t}(r),e.SuperCall=pt=function(e){function n(e){n.__super__.constructor.call(this,null,null!=e?e:[new ct(new T("arguments"))]),this.isBare=null!=e}return Yt(n,e),n.prototype.superReference=function(e){var n,r,o,s,a,c,l,u;return a=e.scope.namedMethod(),(null!=a?a.klass:void 0)?(s=a.klass,c=a.name,u=a.variable,s.isComplex()&&(o=new T(e.scope.parent.freeVariable("base")),r=new wt(new Q(new i(o,s))),u.base=r,u.properties.splice(0,s.properties.length)),(c.isComplex()||c instanceof S&&c.index.isAssignable())&&(l=new T(e.scope.parent.freeVariable("name")),c=new S(new i(l,c.index)),u.properties.pop(),u.properties.push(c)),n=[new t(new et("__super__"))],a["static"]&&n.push(new t(new et("constructor"))),n.push(null!=l?new S(l):c),new wt(null!=o?o:s,n).compile(e)):(null!=a?a.ctor:void 0)?a.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")},n.prototype.superThis=function(e){var t;return t=e.scope.method,t&&!t.klass&&t.context||"this"},n}(a),e.RegexWithInterpolations=it=function(e){function t(e){null==e&&(e=[]),t.__super__.constructor.call(this,new wt(new T("RegExp")),e,!1)}return Yt(t,e),t}(a),e.Extends=k=function(e){function t(e,t){this.child=e,this.parent=t}return Yt(t,e),t.prototype.children=["child","parent"],t.prototype.compileToFragments=function(e){return new a(new wt(new B(qt("extend",e))),[this.child,this.parent]).compileToFragments(e)},t}(r),e.Access=t=function(e){function t(e,t){this.name=e,this.soak="soak"===t}return Yt(t,e),t.prototype.children=["name"],t.prototype.compileToFragments=function(e){var t,n,i;return t=this.name.compileToFragments(e),n=this.name.unwrap(),n instanceof et?(i=n.value,Wt.call(R,i)>=0?[this.makeCode('["')].concat(Jt.call(t),[this.makeCode('"]')]):[this.makeCode(".")].concat(Jt.call(t))):[this.makeCode("[")].concat(Jt.call(t),[this.makeCode("]")])},t.prototype.isComplex=q,t}(r),e.Index=S=function(e){function t(e){this.index=e}return Yt(t,e),t.prototype.children=["index"],t.prototype.compileToFragments=function(e){return[].concat(this.makeCode("["),this.index.compileToFragments(e,M),this.makeCode("]"))},t.prototype.isComplex=function(){return this.index.isComplex()},t}(r),e.Range=tt=function(e){function t(e,t,n){this.from=e,this.to=t,this.exclusive="exclusive"===n,this.equals=this.exclusive?"":"="}return Yt(t,e),t.prototype.children=["from","to"],t.prototype.compileVariables=function(e){var t,n,i,r,o;return e=Pt(e,{top:!0}),t=Et(e,"isComplex"),n=this.cacheToCodeFragments(this.from.cache(e,$,t)),this.fromC=n[0],this.fromVar=n[1],i=this.cacheToCodeFragments(this.to.cache(e,$,t)),this.toC=i[0],this.toVar=i[1],(o=Et(e,"step"))&&(r=this.cacheToCodeFragments(o.cache(e,$,t)),this.step=r[0],this.stepVar=r[1]),this.fromNum=this.from.isNumber()?Number(this.fromVar):null,this.toNum=this.to.isNumber()?Number(this.toVar):null,this.stepNum=(null!=o?o.isNumber():void 0)?Number(this.stepVar):null},t.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,l,u,h,p,d,f;return this.fromVar||this.compileVariables(e),e.index?(a=null!=this.fromNum&&null!=this.toNum,o=Et(e,"index"),s=Et(e,"name"),l=s&&s!==o,f=o+" = "+this.fromC,this.toC!==this.toVar&&(f+=", "+this.toC),this.step!==this.stepVar&&(f+=", "+this.step),u=[o+" <"+this.equals,o+" >"+this.equals],c=u[0],r=u[1],n=null!=this.stepNum?this.stepNum>0?c+" "+this.toVar:r+" "+this.toVar:a?(h=[this.fromNum,this.toNum],i=h[0],d=h[1],h,d>=i?c+" "+d:r+" "+d):(t=this.stepVar?this.stepVar+" > 0":this.fromVar+" <= "+this.toVar,t+" ? "+c+" "+this.toVar+" : "+r+" "+this.toVar),p=this.stepVar?o+" += "+this.stepVar:a?l?d>=i?"++"+o:"--"+o:d>=i?o+"++":o+"--":l?t+" ? ++"+o+" : --"+o:t+" ? "+o+"++ : "+o+"--",l&&(f=s+" = "+f),l&&(p=s+" = "+p),[this.makeCode(f+"; "+n+"; "+p)]):this.compileArray(e)},t.prototype.compileArray=function(e){var t,n,i,r,o,s,a,c,l,u,h,p,d,f;return a=null!=this.fromNum&&null!=this.toNum,a&&20>=Math.abs(this.fromNum-this.toNum)?(u=function(){d=[];for(var e=h=this.fromNum,t=this.toNum;t>=h?t>=e:e>=t;t>=h?e++:e--)d.push(e);return d}.apply(this),this.exclusive&&u.pop(),[this.makeCode("["+u.join(", ")+"]")]):(s=this.tab+ft,o=e.scope.freeVariable("i",{single:!0}),p=e.scope.freeVariable("results"),l="\n"+s+p+" = [];",a?(e.index=o,n=St(this.compileNode(e))):(f=o+" = "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),i=this.fromVar+" <= "+this.toVar,n="var "+f+"; "+i+" ? "+o+" <"+this.equals+" "+this.toVar+" : "+o+" >"+this.equals+" "+this.toVar+"; "+i+" ? "+o+"++ : "+o+"--"),c="{ "+p+".push("+o+"); }\n"+s+"return "+p+";\n"+e.indent,r=function(e){return null!=e?e.contains(Rt):void 0},(r(this.from)||r(this.to))&&(t=", arguments"),[this.makeCode("(function() {"+l+"\n"+s+"for ("+n+")"+c+"}).apply(this"+(null!=t?t:"")+")")])},t}(r),e.Slice=at=function(e){function t(e){this.range=e,t.__super__.constructor.call(this)}return Yt(t,e),t.prototype.children=["range"],t.prototype.compileNode=function(e){var t,n,i,r,o,s,a;return o=this.range,s=o.to,i=o.from,r=i&&i.compileToFragments(e,M)||[this.makeCode("0")],s&&(t=s.compileToFragments(e,M),n=St(t),(this.range.exclusive||-1!==+n)&&(a=", "+(this.range.exclusive?n:s.isNumber()?""+(+n+1):(t=s.compileToFragments(e,A),"+"+St(t)+" + 1 || 9e9")))),[this.makeCode(".slice("+St(r)+(a||"")+")")]},t}(r),e.Obj=J=function(e){function n(e,t){this.generated=null!=t?t:!1,this.objects=this.properties=e||[]}return Yt(n,e),n.prototype.children=["properties"],n.prototype.compileNode=function(e){var n,r,o,s,a,c,l,u,p,d,f,m,g,b,y,v,k,w,N,L,C;if(N=this.properties,this.generated)for(l=0,g=N.length;g>l;l++)v=N[l],v instanceof wt&&v.error("cannot have an implicit value in an implicit object");for(r=p=0,b=N.length;b>p&&(w=N[r],!((w.variable||w).base instanceof Q));r=++p);for(o=N.length>r,a=e.indent+=ft,m=this.lastNonComment(this.properties),n=[],o&&(k=e.scope.freeVariable("obj"),n.push(this.makeCode("(\n"+a+k+" = "))),n.push(this.makeCode("{"+(0===N.length||0===r?"}":"\n"))),s=f=0,y=N.length;y>f;s=++f)w=N[s],s===r&&(0!==s&&n.push(this.makeCode("\n"+a+"}")),n.push(this.makeCode(",\n"))),u=s===N.length-1||s===r-1?"":w===m||w instanceof h?"\n":",\n",c=w instanceof h?"":a,o&&r>s&&(c+=ft),w instanceof i&&("object"!==w.context&&w.operatorToken.error("unexpected "+w.operatorToken.value),w.variable instanceof wt&&w.variable.hasProperties()&&w.variable.error("invalid object key")),w instanceof wt&&w["this"]&&(w=new i(w.properties[0].name,w,"object")),w instanceof h||(r>s?w instanceof i||(w=new i(w,w,"object")):(w instanceof i?(d=w.variable,C=w.value):(L=w.base.cache(e),d=L[0],C=L[1],d instanceof T&&(d=new et(d.value))),w=new i(new wt(new T(k),[new t(d)]),C))),c&&n.push(this.makeCode(c)),n.push.apply(n,w.compileToFragments(e,j)),u&&n.push(this.makeCode(u));return o?n.push(this.makeCode(",\n"+a+k+"\n"+this.tab+")")):0!==N.length&&n.push(this.makeCode("\n"+this.tab+"}")),this.front&&!o?this.wrapInBraces(n):n},n.prototype.assigns=function(e){var t,n,i,r;for(r=this.properties,t=0,n=r.length;n>t;t++)if(i=r[t],i.assigns(e))return!0;return!1},n}(r),e.Arr=n=function(e){function t(e){this.objects=e||[]}return Yt(t,e),t.prototype.children=["objects"],t.prototype.compileNode=function(e){var t,n,i,r,o,s,a;if(!this.objects.length)return[this.makeCode("[]")];if(e.indent+=ft,t=ct.compileSplattedArray(e,this.objects),t.length)return t;for(t=[],n=function(){var t,n,i,r;for(i=this.objects,r=[],t=0,n=i.length;n>t;t++)a=i[t],r.push(a.compileToFragments(e,$));return r}.call(this),r=o=0,s=n.length;s>o;r=++o)i=n[r],r&&t.push(this.makeCode(", ")),t.push.apply(t,i);return St(t).indexOf("\n")>=0?(t.unshift(this.makeCode("[\n"+e.indent)),t.push(this.makeCode("\n"+this.tab+"]"))):(t.unshift(this.makeCode("[")),t.push(this.makeCode("]"))),t},t.prototype.assigns=function(e){var t,n,i,r;for(r=this.objects,t=0,n=r.length;n>t;t++)if(i=r[t],i.assigns(e))return!0;return!1},t}(r),e.Class=c=function(e){function n(e,t,n){this.variable=e,this.parent=t,this.body=null!=n?n:new o,this.boundFuncs=[],this.body.classBody=!0}return Yt(n,e),n.prototype.children=["variable","parent","body"],n.prototype.defaultClassVariableName="_Class",n.prototype.determineName=function(){var e,n,i,r,o;return this.variable?(r=this.variable.properties,o=r[r.length-1],i=o?o instanceof t&&o.name:this.variable.base,i instanceof T||i instanceof et?(n=i.value,o||(e=Ot(n),e&&this.variable.error(e)),Wt.call(R,n)>=0?"_"+n:n):this.defaultClassVariableName):this.defaultClassVariableName},n.prototype.setContext=function(e){return this.body.traverseChildren(!1,function(t){return t.classBody?!1:t instanceof gt?t.value=e:t instanceof l&&t.bound?t.context=e:void 0})},n.prototype.addBoundFunctions=function(e){var n,i,r,o,s;for(s=this.boundFuncs,i=0,r=s.length;r>i;i++)n=s[i],o=new wt(new gt,[new t(n)]).compile(e),this.ctor.body.unshift(new B(o+" = "+qt("bind",e)+"("+o+", this)"))},n.prototype.addProperties=function(e,n,r){var o,s,a,c,u,h;return h=e.base.properties.slice(0),c=function(){var e;for(e=[];s=h.shift();)s instanceof i&&(a=s.variable.base,delete s.context,u=s.value,"constructor"===a.value?(this.ctor&&s.error("cannot define more than one constructor in a class"),u.bound&&s.error("cannot define a constructor as a bound function"),u instanceof l?s=this.ctor=u:(this.externalCtor=r.classScope.freeVariable("ctor"),s=new i(new T(this.externalCtor),u))):s.variable["this"]?u["static"]=!0:(o=a.isComplex()?new S(a):new t(a),s.variable=new wt(new T(n),[new t(new et("prototype")),o]),u instanceof l&&u.bound&&(this.boundFuncs.push(a),u.bound=!1))),e.push(s);
return e}.call(this),Ft(c)},n.prototype.walkBody=function(e,t){return this.traverseChildren(!1,function(r){return function(s){var a,c,l,u,h,p,d;if(a=!0,s instanceof n)return!1;if(s instanceof o){for(d=c=s.expressions,l=u=0,h=d.length;h>u;l=++u)p=d[l],p instanceof i&&p.variable.looksStatic(e)?p.value["static"]=!0:p instanceof wt&&p.isObject(!0)&&(a=!1,c[l]=r.addProperties(p,e,t));s.expressions=c=xt(c)}return a&&!(s instanceof n)}}(this))},n.prototype.hoistDirectivePrologue=function(){var e,t,n;for(t=0,e=this.body.expressions;(n=e[t])&&n instanceof h||n instanceof wt&&n.isString();)++t;return this.directives=e.splice(0,t)},n.prototype.ensureConstructor=function(e){return this.ctor||(this.ctor=new l,this.externalCtor?this.ctor.body.push(new B(this.externalCtor+".apply(this, arguments)")):this.parent&&this.ctor.body.push(new B(e+".__super__.constructor.apply(this, arguments)")),this.ctor.body.makeReturn(),this.body.expressions.unshift(this.ctor)),this.ctor.ctor=this.ctor.name=e,this.ctor.klass=null,this.ctor.noReturn=!0},n.prototype.compileNode=function(e){var t,n,r,s,c,u,h,p,d;return(s=this.body.jumps())&&s.error("Class bodies cannot contain pure statements"),(n=this.body.contains(Rt))&&n.error("Class bodies shouldn't reference arguments"),h=this.determineName(),u=new T(h),r=new l([],o.wrap([this.body])),t=[],e.classScope=r.makeScope(e.scope),this.hoistDirectivePrologue(),this.setContext(h),this.walkBody(h,e),this.ensureConstructor(h),this.addBoundFunctions(e),this.body.spaced=!0,this.body.expressions.push(u),this.parent&&(d=new T(e.classScope.freeVariable("superClass",{reserve:!1})),this.body.expressions.unshift(new k(u,d)),r.params.push(new K(d)),t.push(this.parent)),(p=this.body.expressions).unshift.apply(p,this.directives),c=new Q(new a(r,t)),this.variable&&(c=new i(this.variable,c,null,{moduleDeclaration:this.moduleDeclaration})),c.compileToFragments(e)},n}(r),e.ModuleDeclaration=V=function(e){function t(e,t){this.clause=e,this.source=t,this.checkSource()}return Yt(t,e),t.prototype.children=["clause","source"],t.prototype.isStatement=Nt,t.prototype.jumps=mt,t.prototype.makeReturn=mt,t.prototype.checkSource=function(){return null!=this.source&&this.source instanceof ht?this.source.error("the name of the module to be imported from must be an uninterpolated string"):void 0},t.prototype.checkScope=function(e,t){return 0!==e.indent.length?this.error(t+" statements must be at top-level scope"):void 0},t}(r),e.ImportDeclaration=C=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(e){var t,n;return this.checkScope(e,"import"),e.importedSymbols=[],t=[],t.push(this.makeCode(this.tab+"import ")),null!=this.clause&&t.push.apply(t,this.clause.compileNode(e)),null!=(null!=(n=this.source)?n.value:void 0)&&(null!==this.clause&&t.push(this.makeCode(" from ")),t.push(this.makeCode(this.source.value))),t.push(this.makeCode(";")),t},t}(V),e.ImportClause=L=function(e){function t(e,t){this.defaultBinding=e,this.namedImports=t}return Yt(t,e),t.prototype.children=["defaultBinding","namedImports"],t.prototype.compileNode=function(e){var t;return t=[],null!=this.defaultBinding&&(t.push.apply(t,this.defaultBinding.compileNode(e)),null!=this.namedImports&&t.push(this.makeCode(", "))),null!=this.namedImports&&t.push.apply(t,this.namedImports.compileNode(e)),t},t}(r),e.ExportDeclaration=m=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.compileNode=function(e){var t,n;return this.checkScope(e,"export"),t=[],t.push(this.makeCode(this.tab+"export ")),this instanceof g&&t.push(this.makeCode("default ")),this instanceof g||!(this.clause instanceof i||this.clause instanceof c)||(t.push(this.makeCode("var ")),this.clause.moduleDeclaration="export"),t=null!=this.clause.body&&this.clause.body instanceof o?t.concat(this.clause.compileToFragments(e,j)):t.concat(this.clause.compileNode(e)),null!=(null!=(n=this.source)?n.value:void 0)&&t.push(this.makeCode(" from "+this.source.value)),t.push(this.makeCode(";")),t},t}(V),e.ExportNamedDeclaration=b=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(m),e.ExportDefaultDeclaration=g=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(m),e.ExportAllDeclaration=f=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(m),e.ModuleSpecifierList=H=function(e){function t(e){this.specifiers=e}return Yt(t,e),t.prototype.children=["specifiers"],t.prototype.compileNode=function(e){var t,n,i,r,o,s,a;if(t=[],e.indent+=ft,n=function(){var t,n,i,r;for(i=this.specifiers,r=[],t=0,n=i.length;n>t;t++)a=i[t],r.push(a.compileToFragments(e,$));return r}.call(this),0!==this.specifiers.length){for(t.push(this.makeCode("{\n"+e.indent)),r=o=0,s=n.length;s>o;r=++o)i=n[r],r&&t.push(this.makeCode(",\n"+e.indent)),t.push.apply(t,i);t.push(this.makeCode("\n}"))}else t.push(this.makeCode("{}"));return t},t}(r),e.ImportSpecifierList=_=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(H),e.ExportSpecifierList=v=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(H),e.ModuleSpecifier=U=function(e){function t(e,t,n){this.original=e,this.alias=t,this.moduleDeclarationType=n,this.identifier=null!=this.alias?this.alias.value:this.original.value}return Yt(t,e),t.prototype.children=["original","alias"],t.prototype.compileNode=function(e){var t;return e.scope.add(this.identifier,this.moduleDeclarationType),t=[],t.push(this.makeCode(this.original.value)),null!=this.alias&&t.push(this.makeCode(" as "+this.alias.value)),t},t}(r),e.ImportSpecifier=D=function(e){function t(e,n){t.__super__.constructor.call(this,e,n,"import")}return Yt(t,e),t.prototype.compileNode=function(e){var n;return n=this.identifier,Wt.call(e.importedSymbols,n)>=0||e.scope.check(this.identifier)?this.error("'"+this.identifier+"' has already been declared"):e.importedSymbols.push(this.identifier),t.__super__.compileNode.call(this,e)},t}(U),e.ImportDefaultSpecifier=F=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(D),e.ImportNamespaceSpecifier=E=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(D),e.ExportSpecifier=y=function(e){function t(e,n){t.__super__.constructor.call(this,e,n,"export")}return Yt(t,e),t}(U),e.Assign=i=function(e){function n(e,t,n,i){this.variable=e,this.value=t,this.context=n,null==i&&(i={}),this.param=i.param,this.subpattern=i.subpattern,this.operatorToken=i.operatorToken,this.moduleDeclaration=i.moduleDeclaration}return Yt(n,e),n.prototype.children=["variable","value"],n.prototype.isStatement=function(e){return(null!=e?e.level:void 0)===j&&null!=this.context&&(this.moduleDeclaration||Wt.call(this.context,"?")>=0)},n.prototype.checkAssignability=function(e,t){return Object.prototype.hasOwnProperty.call(e.scope.positions,t.value)&&"import"===e.scope.variables[e.scope.positions[t.value]].type?t.error("'"+t.value+"' is read-only"):void 0},n.prototype.assigns=function(e){return this["object"===this.context?"value":"variable"].assigns(e)},n.prototype.unfoldSoak=function(e){return Gt(e,this,"variable")},n.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,u,h,p,d,f,m,g;if(i=this.variable instanceof wt){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(e);if(this.variable.isSplice())return this.compileSplice(e);if("||="===(c=this.context)||"&&="===c||"?="===c)return this.compileConditional(e);if("**="===(u=this.context)||"//="===u||"%%="===u)return this.compileSpecialMath(e)}return this.value instanceof l&&(this.value["static"]?(this.value.klass=this.variable.base,this.value.name=this.variable.properties[0],this.value.variable=this.variable):(null!=(h=this.variable.properties)?h.length:void 0)>=2&&(p=this.variable.properties,s=p.length>=3?Jt.call(p,0,r=p.length-2):(r=0,[]),a=p[r++],o=p[r++],"prototype"===(null!=(d=a.name)?d.value:void 0)&&(this.value.klass=new wt(this.variable.base,s),this.value.name=o,this.value.variable=this.variable))),this.context||(g=this.variable.unwrapAll(),g.isAssignable()||this.variable.error("'"+this.variable.compile(e)+"' can't be assigned"),("function"==typeof g.hasProperties?g.hasProperties():void 0)||(this.moduleDeclaration?(this.checkAssignability(e,g),e.scope.add(g.value,this.moduleDeclaration)):this.param?e.scope.add(g.value,"var"):(this.checkAssignability(e,g),e.scope.find(g.value)))),m=this.value.compileToFragments(e,$),i&&this.variable.base instanceof J&&(this.variable.front=!0),n=this.variable.compileToFragments(e,$),"object"===this.context?(f=St(n),Wt.call(R,f)>=0&&(n.unshift(this.makeCode('"')),n.push(this.makeCode('"'))),n.concat(this.makeCode(": "),m)):(t=n.concat(this.makeCode(" "+(this.context||"=")+" "),m),$>=e.level?t:this.wrapInBraces(t))},n.prototype.compilePatternMatch=function(e){var i,r,o,s,a,c,l,u,h,p,f,m,g,b,y,v,k,w,N,L,C,F,E,D,_,x,I,R;if(D=e.level===j,x=this.value,v=this.variable.base.objects,!(k=v.length))return o=x.compileToFragments(e),e.level>=P?this.wrapInBraces(o):o;if(y=v[0],1===k&&y instanceof d&&y.error("Destructuring assignment has no target"),h=this.variable.isObject(),D&&1===k&&!(y instanceof ct))return s=null,y instanceof n&&"object"===y.context?(N=y,L=N.variable,u=L.base,y=N.value,y instanceof n&&(s=y.value,y=y.variable)):(y instanceof n&&(s=y.value,y=y.variable),u=h?y["this"]?y.properties[0].name:new et(y.unwrap().value):new W(0)),i=u.unwrap()instanceof et,x=new wt(x),x.properties.push(new(i?t:S)(u)),g=Ot(y.unwrap().value),g&&y.error(g),s&&(x=new z("?",x,s)),new n(y,x,null,{param:this.param}).compileToFragments(e,j);for(I=x.compileToFragments(e,$),R=St(I),r=[],a=!1,x.unwrap()instanceof T&&!this.variable.assigns(R)||(r.push([this.makeCode((w=e.scope.freeVariable("ref"))+" = ")].concat(Jt.call(I))),I=[this.makeCode(w)],R=w),l=f=0,m=v.length;m>f;l=++f){if(y=v[l],u=l,!a&&y instanceof ct)b=y.name.unwrap().value,y=y.unwrap(),_=k+" <= "+R+".length ? "+qt("slice",e)+".call("+R+", "+l,(E=k-l-1)?(p=e.scope.freeVariable("i",{single:!0}),_+=", "+p+" = "+R+".length - "+E+") : ("+p+" = "+l+", [])"):_+=") : []",_=new B(_),a=p+"++";else{if(!a&&y instanceof d){(E=k-l-1)&&(1===E?a=R+".length - 1":(p=e.scope.freeVariable("i",{single:!0}),_=new B(p+" = "+R+".length - "+E),a=p+"++",r.push(_.compileToFragments(e,$))));continue}(y instanceof ct||y instanceof d)&&y.error("multiple splats/expansions are disallowed in an assignment"),s=null,y instanceof n&&"object"===y.context?(C=y,F=C.variable,u=F.base,y=C.value,y instanceof n&&(s=y.value,y=y.variable)):(y instanceof n&&(s=y.value,y=y.variable),u=h?y["this"]?y.properties[0].name:new et(y.unwrap().value):new B(a||u)),b=y.unwrap().value,i=u.unwrap()instanceof et,_=new wt(new B(R),[new(i?t:S)(u)]),s&&(_=new z("?",_,s))}null!=b&&(g=Ot(b),g&&y.error(g)),r.push(new n(y,_,null,{param:this.param,subpattern:!0}).compileToFragments(e,$))}return D||this.subpattern||r.push(I),c=this.joinFragmentArrays(r,", "),$>e.level?c:this.wrapInBraces(c)},n.prototype.compileConditional=function(e){var t,i,r,o;return r=this.variable.cacheReference(e),i=r[0],o=r[1],i.properties.length||!(i.base instanceof B)||i.base instanceof gt||e.scope.check(i.base.value)||this.variable.error('the variable "'+i.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before"),Wt.call(this.context,"?")>=0?(e.isExistentialEquals=!0,new N(new p(i),o,{type:"if"}).addElse(new n(o,this.value,"=")).compileToFragments(e)):(t=new z(this.context.slice(0,-1),i,new n(o,this.value,"=")).compileToFragments(e),$>=e.level?t:this.wrapInBraces(t))},n.prototype.compileSpecialMath=function(e){var t,i,r;return i=this.variable.cacheReference(e),t=i[0],r=i[1],new n(t,new z(this.context.slice(0,-1),r,this.value)).compileToFragments(e)},n.prototype.compileSplice=function(e){var t,n,i,r,o,s,a,c,l,u,h,p;return a=this.variable.properties.pop().range,i=a.from,u=a.to,n=a.exclusive,s=this.variable.compile(e),i?(c=this.cacheToCodeFragments(i.cache(e,P)),r=c[0],o=c[1]):r=o="0",u?(null!=i?i.isNumber():void 0)&&u.isNumber()?(u=u.compile(e)-o,n||(u+=1)):(u=u.compile(e,A)+" - "+o,n||(u+=" + 1")):u="9e9",l=this.value.cache(e,$),h=l[0],p=l[1],t=[].concat(this.makeCode("[].splice.apply("+s+", ["+r+", "+u+"].concat("),h,this.makeCode(")), "),p),e.level>j?this.wrapInBraces(t):t},n}(r),e.Code=l=function(e){function t(e,t,n){this.params=e||[],this.body=t||new o,this.bound="boundfunc"===n,this.isGenerator=!!this.body.contains(function(e){return e instanceof z&&e.isYield()||e instanceof Lt})}return Yt(t,e),t.prototype.children=["params","body"],t.prototype.isStatement=function(){return!!this.ctor},t.prototype.jumps=q,t.prototype.makeScope=function(e){return new st(e,this.body,this)},t.prototype.compileNode=function(e){var r,s,c,l,u,h,p,f,m,g,b,y,v,k,w,L,C,F,E,D,_,x,S,I,R,O,$,P,M,j,V,U,H;if(this.bound&&(null!=(S=e.scope.method)?S.bound:void 0)&&(this.context=e.scope.method.context),this.bound&&!this.context)return this.context="_this",H=new t([new K(new T(this.context))],new o([this])),s=new a(H,[new gt]),s.updateLocationDataIfMissing(this.locationData),s.compileNode(e);for(e.scope=Et(e,"classScope")||this.makeScope(e.scope),e.scope.shared=Et(e,"sharedScope"),e.indent+=ft,delete e.bare,delete e.isExistentialEquals,E=[],l=[],I=this.params,h=0,m=I.length;m>h;h++)F=I[h],F instanceof d||e.scope.parameter(F.asReference(e));for(R=this.params,p=0,g=R.length;g>p;p++)if(F=R[p],F.splat||F instanceof d){for(O=this.params,f=0,b=O.length;b>f;f++)C=O[f],C instanceof d||!C.name.value||e.scope.add(C.name.value,"var",!0);M=new i(new wt(new n(function(){var t,n,i,r;for(i=this.params,r=[],n=0,t=i.length;t>n;n++)C=i[n],r.push(C.asReference(e));return r}.call(this))),new wt(new T("arguments")));break}for($=this.params,L=0,y=$.length;y>L;L++)F=$[L],F.isComplex()?(V=x=F.asReference(e),F.value&&(V=new z("?",x,F.value)),l.push(new i(new wt(F.name),V,"=",{param:!0}))):(x=F,F.value&&(w=new B(x.name.value+" == null"),V=new i(new wt(F.name),F.value,"="),l.push(new N(w,V)))),M||E.push(x);for(U=this.body.isEmpty(),M&&l.unshift(M),l.length&&(P=this.body.expressions).unshift.apply(P,l),u=D=0,v=E.length;v>D;u=++D)C=E[u],E[u]=C.compileToFragments(e),e.scope.parameter(St(E[u]));for(j=[],this.eachParamName(function(e,t){return Wt.call(j,e)>=0&&t.error("multiple parameters named "+e),j.push(e)}),U||this.noReturn||this.body.makeReturn(),c="function",this.isGenerator&&(c+="*"),this.ctor&&(c+=" "+this.name),c+="(",r=[this.makeCode(c)],u=_=0,k=E.length;k>_;u=++_)C=E[u],u&&r.push(this.makeCode(", ")),r.push.apply(r,C);return r.push(this.makeCode(") {")),this.body.isEmpty()||(r=r.concat(this.makeCode("\n"),this.body.compileWithDeclarations(e),this.makeCode("\n"+this.tab))),r.push(this.makeCode("}")),this.ctor?[this.makeCode(this.tab)].concat(Jt.call(r)):this.front||e.level>=A?this.wrapInBraces(r):r},t.prototype.eachParamName=function(e){var t,n,i,r,o;for(r=this.params,o=[],t=0,n=r.length;n>t;t++)i=r[t],o.push(i.eachName(e));return o},t.prototype.traverseChildren=function(e,n){return e?t.__super__.traverseChildren.call(this,e,n):void 0},t}(r),e.Param=K=function(e){function t(e,t,n){var i,r;this.name=e,this.value=t,this.splat=n,i=Ot(this.name.unwrapAll().value),i&&this.name.error(i),this.name instanceof J&&this.name.generated&&(r=this.name.objects[0].operatorToken,r.error("unexpected "+r.value))}return Yt(t,e),t.prototype.children=["name","value"],t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e,$)},t.prototype.asReference=function(e){var t,n;return this.reference?this.reference:(n=this.name,n["this"]?(t=n.properties[0].name.value,Wt.call(R,t)>=0&&(t="_"+t),n=new T(e.scope.freeVariable(t))):n.isComplex()&&(n=new T(e.scope.freeVariable("arg"))),n=new wt(n),this.splat&&(n=new ct(n)),n.updateLocationDataIfMissing(this.locationData),this.reference=n)},t.prototype.isComplex=function(){return this.name.isComplex()},t.prototype.eachName=function(e,t){var n,r,o,s,a,c,l;if(null==t&&(t=this.name),n=function(t){return e("@"+t.properties[0].name.value,t)},t instanceof B)return e(t.value,t);if(t instanceof wt)return n(t);for(l=null!=(c=t.objects)?c:[],r=0,o=l.length;o>r;r++)a=l[r],a instanceof i&&null==a.context&&(a=a.variable),a instanceof i?(a.value instanceof i&&(a=a.value),this.eachName(e,a.value.unwrap())):a instanceof ct?(s=a.name.unwrap(),e(s.value,s)):a instanceof wt?a.isArray()||a.isObject()?this.eachName(e,a.base):a["this"]?n(a):e(a.base.value,a.base):a instanceof d||a.error("illegal parameter "+a.compile())},t}(r),e.Splat=ct=function(e){function t(e){this.name=e.compile?e:new B(e)}return Yt(t,e),t.prototype.children=["name"],t.prototype.isAssignable=Nt,t.prototype.assigns=function(e){return this.name.assigns(e)},t.prototype.compileToFragments=function(e){return this.name.compileToFragments(e)},t.prototype.unwrap=function(){return this.name},t.compileSplattedArray=function(e,n,i){var r,o,s,a,c,l,u,h,p,d,f;for(u=-1;(f=n[++u])&&!(f instanceof t););if(u>=n.length)return[];if(1===n.length)return f=n[0],c=f.compileToFragments(e,$),i?c:[].concat(f.makeCode(qt("slice",e)+".call("),c,f.makeCode(")"));for(r=n.slice(u),l=h=0,d=r.length;d>h;l=++h)f=r[l],s=f.compileToFragments(e,$),r[l]=f instanceof t?[].concat(f.makeCode(qt("slice",e)+".call("),s,f.makeCode(")")):[].concat(f.makeCode("["),s,f.makeCode("]"));return 0===u?(f=n[0],a=f.joinFragmentArrays(r.slice(1),", "),r[0].concat(f.makeCode(".concat("),a,f.makeCode(")"))):(o=function(){var t,i,r,o;for(r=n.slice(0,u),o=[],t=0,i=r.length;i>t;t++)f=r[t],o.push(f.compileToFragments(e,$));return o}(),o=n[0].joinFragmentArrays(o,", "),a=n[u].joinFragmentArrays(r,", "),p=n[n.length-1],[].concat(n[0].makeCode("["),o,n[u].makeCode("].concat("),a,p.makeCode(")")))},t}(r),e.Expansion=d=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t.prototype.isComplex=q,t.prototype.compileNode=function(){return this.error("Expansion must be used inside a destructuring assignment or parameter list")},t.prototype.asReference=function(){return this},t.prototype.eachName=function(){},t}(r),e.While=Tt=function(e){function t(e,t){this.condition=(null!=t?t.invert:void 0)?e.invert():e,this.guard=null!=t?t.guard:void 0}return Yt(t,e),t.prototype.children=["condition","guard","body"],t.prototype.isStatement=Nt,t.prototype.makeReturn=function(e){return e?t.__super__.makeReturn.apply(this,arguments):(this.returns=!this.jumps({loop:!0}),this)},t.prototype.addBody=function(e){return this.body=e,this},t.prototype.jumps=function(){var e,t,n,i,r;if(e=this.body.expressions,!e.length)return!1;for(t=0,i=e.length;i>t;t++)if(r=e[t],n=r.jumps({loop:!0}))return n;return!1},t.prototype.compileNode=function(e){var t,n,i,r;return e.indent+=ft,r="",n=this.body,n.isEmpty()?n=this.makeCode(""):(this.returns&&(n.makeReturn(i=e.scope.freeVariable("results")),r=""+this.tab+i+" = [];\n"),this.guard&&(n.expressions.length>1?n.expressions.unshift(new N(new Q(this.guard).invert(),new lt("continue"))):this.guard&&(n=o.wrap([new N(this.guard,n)]))),n=[].concat(this.makeCode("\n"),n.compileToFragments(e,j),this.makeCode("\n"+this.tab))),t=[].concat(this.makeCode(r+this.tab+"while ("),this.condition.compileToFragments(e,M),this.makeCode(") {"),n,this.makeCode("}")),this.returns&&t.push(this.makeCode("\n"+this.tab+"return "+i+";")),t},t}(r),e.Op=z=function(e){function n(e,t,n,i){if("in"===e)return new x(t,n);if("do"===e)return this.generateDo(t);if("new"===e){if(t instanceof a&&!t["do"]&&!t.isNew)return t.newInstance();(t instanceof l&&t.bound||t["do"])&&(t=new Q(t))}return this.operator=r[e]||e,this.first=t,this.second=n,this.flip=!!i,this}var r,o;return Yt(n,e),r={"==":"===","!=":"!==",of:"in",yieldfrom:"yield*"},o={"!==":"===","===":"!=="},n.prototype.children=["first","second"],n.prototype.isNumber=function(){var e;return this.isUnary()&&("+"===(e=this.operator)||"-"===e)&&this.first instanceof wt&&this.first.isNumber()},n.prototype.isYield=function(){var e;return"yield"===(e=this.operator)||"yield*"===e},n.prototype.isUnary=function(){return!this.second},n.prototype.isComplex=function(){return!this.isNumber()},n.prototype.isChainable=function(){var e;return"<"===(e=this.operator)||">"===e||">="===e||"<="===e||"==="===e||"!=="===e},n.prototype.invert=function(){var e,t,i,r,s;if(this.isChainable()&&this.first.isChainable()){for(e=!0,t=this;t&&t.operator;)e&&(e=t.operator in o),t=t.first;if(!e)return new Q(this).invert();for(t=this;t&&t.operator;)t.invert=!t.invert,t.operator=o[t.operator],t=t.first;return this}return(r=o[this.operator])?(this.operator=r,this.first.unwrap()instanceof n&&this.first.invert(),this):this.second?new Q(this).invert():"!"===this.operator&&(i=this.first.unwrap())instanceof n&&("!"===(s=i.operator)||"in"===s||"instanceof"===s)?i:new n("!",this)},n.prototype.unfoldSoak=function(e){var t;return("++"===(t=this.operator)||"--"===t||"delete"===t)&&Gt(e,this,"first")},n.prototype.generateDo=function(e){var t,n,r,o,s,c,u,h;for(c=[],n=e instanceof i&&(u=e.value.unwrap())instanceof l?u:e,h=n.params||[],r=0,o=h.length;o>r;r++)s=h[r],s.value?(c.push(s.value),delete s.value):c.push(s);return t=new a(e,c),t["do"]=!0,t},n.prototype.compileNode=function(e){var t,n,i,r,o,s;if(n=this.isChainable()&&this.first.isChainable(),n||(this.first.front=this.front),"delete"===this.operator&&e.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var"),("--"===(o=this.operator)||"++"===o)&&(r=Ot(this.first.unwrapAll().value),r&&this.first.error(r)),this.isYield())return this.compileYield(e);if(this.isUnary())return this.compileUnary(e);if(n)return this.compileChain(e);switch(this.operator){case"?":return this.compileExistence(e);case"**":return this.compilePower(e);case"//":return this.compileFloorDivision(e);case"%%":return this.compileModulo(e);default:return i=this.first.compileToFragments(e,P),s=this.second.compileToFragments(e,P),t=[].concat(i,this.makeCode(" "+this.operator+" "),s),P>=e.level?t:this.wrapInBraces(t)}},n.prototype.compileChain=function(e){var t,n,i,r;return i=this.first.second.cache(e),this.first.second=i[0],r=i[1],n=this.first.compileToFragments(e,P),t=n.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),r.compileToFragments(e),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(e,P)),this.wrapInBraces(t)},n.prototype.compileExistence=function(e){var t,n;return this.first.isComplex()?(n=new T(e.scope.freeVariable("ref")),t=new Q(new i(n,this.first))):(t=this.first,n=t),new N(new p(t),n,{type:"if"}).addElse(this.second).compileToFragments(e)},n.prototype.compileUnary=function(e){var t,i,r;return i=[],t=this.operator,i.push([this.makeCode(t)]),"!"===t&&this.first instanceof p?(this.first.negated=!this.first.negated,this.first.compileToFragments(e)):e.level>=A?new Q(this).compileToFragments(e):(r="+"===t||"-"===t,("new"===t||"typeof"===t||"delete"===t||r&&this.first instanceof n&&this.first.operator===t)&&i.push([this.makeCode(" ")]),(r&&this.first instanceof n||"new"===t&&this.first.isStatement(e))&&(this.first=new Q(this.first)),i.push(this.first.compileToFragments(e,P)),this.flip&&i.reverse(),this.joinFragmentArrays(i,""))},n.prototype.compileYield=function(e){var t,n,i;return n=[],t=this.operator,null==e.scope.parent&&this.error("yield can only occur inside functions"),Wt.call(Object.keys(this.first),"expression")>=0&&!(this.first instanceof bt)?null!=this.first.expression&&n.push(this.first.expression.compileToFragments(e,P)):(e.level>=M&&n.push([this.makeCode("(")]),n.push([this.makeCode(t)]),""!==(null!=(i=this.first.base)?i.value:void 0)&&n.push([this.makeCode(" ")]),n.push(this.first.compileToFragments(e,P)),e.level>=M&&n.push([this.makeCode(")")])),this.joinFragmentArrays(n,"")},n.prototype.compilePower=function(e){var n;return n=new wt(new T("Math"),[new t(new et("pow"))]),new a(n,[this.first,this.second]).compileToFragments(e)},n.prototype.compileFloorDivision=function(e){var i,r;return r=new wt(new T("Math"),[new t(new et("floor"))]),i=new n("/",this.first,this.second),new a(r,[i]).compileToFragments(e)},n.prototype.compileModulo=function(e){var t;return t=new wt(new B(qt("modulo",e))),new a(t,[this.first,this.second]).compileToFragments(e)},n.prototype.toString=function(e){return n.__super__.toString.call(this,e,this.constructor.name+" "+this.operator)},n}(r),e.In=x=function(e){function t(e,t){this.object=e,this.array=t}return Yt(t,e),t.prototype.children=["object","array"],t.prototype.invert=G,t.prototype.compileNode=function(e){var t,n,i,r,o;if(this.array instanceof wt&&this.array.isArray()&&this.array.base.objects.length){for(o=this.array.base.objects,n=0,i=o.length;i>n;n++)if(r=o[n],r instanceof ct){t=!0;break}if(!t)return this.compileOrTest(e)}return this.compileLoopTest(e)},t.prototype.compileOrTest=function(e){var t,n,i,r,o,s,a,c,l,u,h,p;for(c=this.object.cache(e,P),h=c[0],a=c[1],l=this.negated?[" !== "," && "]:[" === "," || "],t=l[0],n=l[1],p=[],u=this.array.base.objects,i=o=0,s=u.length;s>o;i=++o)r=u[i],i&&p.push(this.makeCode(n)),p=p.concat(i?a:h,this.makeCode(t),r.compileToFragments(e,A));return P>e.level?p:this.wrapInBraces(p)},t.prototype.compileLoopTest=function(e){var t,n,i,r;return i=this.object.cache(e,$),r=i[0],n=i[1],t=[].concat(this.makeCode(qt("indexOf",e)+".call("),this.array.compileToFragments(e,$),this.makeCode(", "),n,this.makeCode(") "+(this.negated?"< 0":">= 0"))),St(r)===St(n)?t:(t=r.concat(this.makeCode(", "),t),$>e.level?t:this.wrapInBraces(t))},t.prototype.toString=function(e){return t.__super__.toString.call(this,e,this.constructor.name+(this.negated?"!":""))},t}(r),e.Try=yt=function(e){function t(e,t,n,i){this.attempt=e,this.errorVariable=t,this.recovery=n,this.ensure=i}return Yt(t,e),t.prototype.children=["attempt","recovery","ensure"],t.prototype.isStatement=Nt,t.prototype.jumps=function(e){var t;return this.attempt.jumps(e)||(null!=(t=this.recovery)?t.jumps(e):void 0)},t.prototype.makeReturn=function(e){return this.attempt&&(this.attempt=this.attempt.makeReturn(e)),this.recovery&&(this.recovery=this.recovery.makeReturn(e)),this},t.prototype.compileNode=function(e){var t,n,r,o,s,a;return e.indent+=ft,a=this.attempt.compileToFragments(e,j),t=this.recovery?(r=e.scope.freeVariable("error",{reserve:!1}),s=new T(r),this.errorVariable?(o=Ot(this.errorVariable.unwrapAll().value),o?this.errorVariable.error(o):void 0,this.recovery.unshift(new i(this.errorVariable,s))):void 0,[].concat(this.makeCode(" catch ("),s.compileToFragments(e),this.makeCode(") {\n"),this.recovery.compileToFragments(e,j),this.makeCode("\n"+this.tab+"}"))):this.ensure||this.recovery?[]:(r=e.scope.freeVariable("error",{reserve:!1}),[this.makeCode(" catch ("+r+") {}")]),n=this.ensure?[].concat(this.makeCode(" finally {\n"),this.ensure.compileToFragments(e,j),this.makeCode("\n"+this.tab+"}")):[],[].concat(this.makeCode(this.tab+"try {\n"),a,this.makeCode("\n"+this.tab+"}"),t,n)},t}(r),e.Throw=bt=function(e){function t(e){this.expression=e}return Yt(t,e),t.prototype.children=["expression"],t.prototype.isStatement=Nt,t.prototype.jumps=q,t.prototype.makeReturn=mt,t.prototype.compileNode=function(e){return[].concat(this.makeCode(this.tab+"throw "),this.expression.compileToFragments(e),this.makeCode(";"))},t}(r),e.Existence=p=function(e){function t(e){this.expression=e}return Yt(t,e),t.prototype.children=["expression"],t.prototype.invert=G,t.prototype.compileNode=function(e){var t,n,i,r;return this.expression.front=this.front,i=this.expression.compile(e,P),this.expression.unwrap()instanceof T&&!e.scope.check(i)?(r=this.negated?["===","||"]:["!==","&&"],t=r[0],n=r[1],i="typeof "+i+" "+t+' "undefined" '+n+" "+i+" "+t+" null"):i=i+" "+(this.negated?"==":"!=")+" null",[this.makeCode(O>=e.level?i:"("+i+")")]},t}(r),e.Parens=Q=function(e){function t(e){this.body=e}return Yt(t,e),t.prototype.children=["body"],t.prototype.unwrap=function(){return this.body},t.prototype.isComplex=function(){return this.body.isComplex()},t.prototype.compileNode=function(e){var t,n,i;return n=this.body.unwrap(),n instanceof wt&&n.isAtomic()?(n.front=this.front,n.compileToFragments(e)):(i=n.compileToFragments(e,M),t=P>e.level&&(n instanceof z||n instanceof a||n instanceof w&&n.returns),t?i:this.wrapInBraces(i))},t}(r),e.StringWithInterpolations=ht=function(e){function t(){return t.__super__.constructor.apply(this,arguments)}return Yt(t,e),t}(Q),e.For=w=function(e){function t(e,t){var n;this.source=t.source,this.guard=t.guard,this.step=t.step,this.name=t.name,this.index=t.index,this.body=o.wrap([e]),this.own=!!t.own,this.object=!!t.object,this.object&&(n=[this.index,this.name],this.name=n[0],this.index=n[1]),this.index instanceof wt&&this.index.error("index cannot be a pattern matching expression"),this.range=this.source instanceof wt&&this.source.base instanceof tt&&!this.source.properties.length,this.pattern=this.name instanceof wt,this.range&&this.index&&this.index.error("indexes do not apply to range loops"),this.range&&this.pattern&&this.name.error("cannot pattern match over range loops"),this.own&&!this.object&&this.name.error("cannot use own with for-in"),this.returns=!1}return Yt(t,e),t.prototype.children=["body","source","guard","step"],t.prototype.compileNode=function(e){var t,n,r,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k,w,L,C,F,E,D,_,x,S,I,R,A,O,P,M,V;return t=o.wrap([this.body]),E=t.expressions,k=E[E.length-1],(null!=k?k.jumps():void 0)instanceof rt&&(this.returns=!1),R=this.range?this.source.base:this.source,I=e.scope,this.pattern||(L=this.name&&this.name.compile(e,$)),g=this.index&&this.index.compile(e,$),L&&!this.pattern&&I.find(L),g&&I.find(g),this.returns&&(S=I.freeVariable("results")),b=this.object&&g||I.freeVariable("i",{single:!0}),y=this.range&&L||g||b,v=y!==b?y+" = ":"",this.step&&!this.range&&(D=this.cacheToCodeFragments(this.step.cache(e,$,It)),A=D[0],P=D[1],this.step.isNumber()&&(O=Number(P))),this.pattern&&(L=b),V="",d="",l="",f=this.tab+ft,this.range?p=R.compileToFragments(Pt(e,{index:b,name:L,step:this.step,isComplex:It})):(M=this.source.compile(e,$),!L&&!this.own||this.source.unwrap()instanceof T||(l+=""+this.tab+(F=I.freeVariable("ref"))+" = "+M+";\n",M=F),L&&!this.pattern&&(C=L+" = "+M+"["+y+"]"),this.object||(A!==P&&(l+=""+this.tab+A+";\n"),h=0>O,this.step&&null!=O&&h||(w=I.freeVariable("len")),a=""+v+b+" = 0, "+w+" = "+M+".length",c=""+v+b+" = "+M+".length - 1",r=b+" < "+w,s=b+" >= 0",this.step?(null!=O?h&&(r=s,a=c):(r=P+" > 0 ? "+r+" : "+s,a="("+P+" > 0 ? ("+a+") : "+c+")"),m=b+" += "+P):m=""+(y!==b?"++"+b:b+"++"),p=[this.makeCode(a+"; "+r+"; "+v+m)])),this.returns&&(_=""+this.tab+S+" = [];\n",x="\n"+this.tab+"return "+S+";",t.makeReturn(S)),this.guard&&(t.expressions.length>1?t.expressions.unshift(new N(new Q(this.guard).invert(),new lt("continue"))):this.guard&&(t=o.wrap([new N(this.guard,t)]))),this.pattern&&t.expressions.unshift(new i(this.name,new B(M+"["+y+"]"))),u=[].concat(this.makeCode(l),this.pluckDirectCall(e,t)),C&&(V="\n"+f+C+";"),this.object&&(p=[this.makeCode(y+" in "+M)],this.own&&(d="\n"+f+"if (!"+qt("hasProp",e)+".call("+M+", "+y+")) continue;")),n=t.compileToFragments(Pt(e,{indent:f}),j),n&&n.length>0&&(n=[].concat(this.makeCode("\n"),n,this.makeCode("\n"))),[].concat(u,this.makeCode(""+(_||"")+this.tab+"for ("),p,this.makeCode(") {"+d+V),n,this.makeCode(this.tab+"}"+(x||"")))},t.prototype.pluckDirectCall=function(e,t){var n,r,o,s,c,u,h,p,d,f,m,g,b,y,v,k;for(r=[],d=t.expressions,c=u=0,h=d.length;h>u;c=++u)o=d[c],o=o.unwrapAll(),o instanceof a&&(k=null!=(f=o.variable)?f.unwrapAll():void 0,(k instanceof l||k instanceof wt&&(null!=(m=k.base)?m.unwrapAll():void 0)instanceof l&&1===k.properties.length&&("call"===(g=null!=(b=k.properties[0].name)?b.value:void 0)||"apply"===g))&&(s=(null!=(y=k.base)?y.unwrapAll():void 0)||k,p=new T(e.scope.freeVariable("fn")),n=new wt(p),k.base&&(v=[n,k],k.base=v[0],n=v[1]),t.expressions[c]=new a(n,o.args),r=r.concat(this.makeCode(this.tab),new i(p,s).compileToFragments(e,j),this.makeCode(";\n"))));
return r},t}(Tt),e.Switch=dt=function(e){function t(e,t,n){this.subject=e,this.cases=t,this.otherwise=n}return Yt(t,e),t.prototype.children=["subject","cases","otherwise"],t.prototype.isStatement=Nt,t.prototype.jumps=function(e){var t,n,i,r,o,s,a,c;for(null==e&&(e={block:!0}),s=this.cases,i=0,o=s.length;o>i;i++)if(a=s[i],n=a[0],t=a[1],r=t.jumps(e))return r;return null!=(c=this.otherwise)?c.jumps(e):void 0},t.prototype.makeReturn=function(e){var t,n,i,r,s;for(r=this.cases,t=0,n=r.length;n>t;t++)i=r[t],i[1].makeReturn(e);return e&&(this.otherwise||(this.otherwise=new o([new B("void 0")]))),null!=(s=this.otherwise)&&s.makeReturn(e),this},t.prototype.compileNode=function(e){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g;for(c=e.indent+ft,l=e.indent=c+ft,s=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(e,M):this.makeCode("false"),this.makeCode(") {\n")),f=this.cases,a=u=0,p=f.length;p>u;a=++u){for(m=f[a],r=m[0],t=m[1],g=xt([r]),h=0,d=g.length;d>h;h++)i=g[h],this.subject||(i=i.invert()),s=s.concat(this.makeCode(c+"case "),i.compileToFragments(e,M),this.makeCode(":\n"));if((n=t.compileToFragments(e,j)).length>0&&(s=s.concat(n,this.makeCode("\n"))),a===this.cases.length-1&&!this.otherwise)break;o=this.lastNonComment(t.expressions),o instanceof rt||o instanceof B&&o.jumps()&&"debugger"!==o.value||s.push(i.makeCode(l+"break;\n"))}return this.otherwise&&this.otherwise.expressions.length&&s.push.apply(s,[this.makeCode(c+"default:\n")].concat(Jt.call(this.otherwise.compileToFragments(e,j)),[this.makeCode("\n")])),s.push(this.makeCode(this.tab+"}")),s},t}(r),e.If=N=function(e){function t(e,t,n){this.body=t,null==n&&(n={}),this.condition="unless"===n.type?e.invert():e,this.elseBody=null,this.isChain=!1,this.soak=n.soak}return Yt(t,e),t.prototype.children=["condition","body","elseBody"],t.prototype.bodyNode=function(){var e;return null!=(e=this.body)?e.unwrap():void 0},t.prototype.elseBodyNode=function(){var e;return null!=(e=this.elseBody)?e.unwrap():void 0},t.prototype.addElse=function(e){return this.isChain?this.elseBodyNode().addElse(e):(this.isChain=e instanceof t,this.elseBody=this.ensureBlock(e),this.elseBody.updateLocationDataIfMissing(e.locationData)),this},t.prototype.isStatement=function(e){var t;return(null!=e?e.level:void 0)===j||this.bodyNode().isStatement(e)||(null!=(t=this.elseBodyNode())?t.isStatement(e):void 0)},t.prototype.jumps=function(e){var t;return this.body.jumps(e)||(null!=(t=this.elseBody)?t.jumps(e):void 0)},t.prototype.compileNode=function(e){return this.isStatement(e)?this.compileStatement(e):this.compileExpression(e)},t.prototype.makeReturn=function(e){return e&&(this.elseBody||(this.elseBody=new o([new B("void 0")]))),this.body&&(this.body=new o([this.body.makeReturn(e)])),this.elseBody&&(this.elseBody=new o([this.elseBody.makeReturn(e)])),this},t.prototype.ensureBlock=function(e){return e instanceof o?e:new o([e])},t.prototype.compileStatement=function(e){var n,i,r,o,s,a,c;return r=Et(e,"chainChild"),(s=Et(e,"isExistentialEquals"))?new t(this.condition.invert(),this.elseBodyNode(),{type:"if"}).compileToFragments(e):(c=e.indent+ft,o=this.condition.compileToFragments(e,M),i=this.ensureBlock(this.body).compileToFragments(Pt(e,{indent:c})),a=[].concat(this.makeCode("if ("),o,this.makeCode(") {\n"),i,this.makeCode("\n"+this.tab+"}")),r||a.unshift(this.makeCode(this.tab)),this.elseBody?(n=a.concat(this.makeCode(" else ")),this.isChain?(e.chainChild=!0,n=n.concat(this.elseBody.unwrap().compileToFragments(e,j))):n=n.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(Pt(e,{indent:c}),j),this.makeCode("\n"+this.tab+"}")),n):a)},t.prototype.compileExpression=function(e){var t,n,i,r;return i=this.condition.compileToFragments(e,O),n=this.bodyNode().compileToFragments(e,$),t=this.elseBodyNode()?this.elseBodyNode().compileToFragments(e,$):[this.makeCode("void 0")],r=i.concat(this.makeCode(" ? "),n,this.makeCode(" : "),t),e.level>=O?this.wrapInBraces(r):r},t.prototype.unfoldSoak=function(){return this.soak&&this},t}(r),vt={extend:function(e){return"function(child, parent) { for (var key in parent) { if ("+qt("hasProp",e)+".call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},indexOf:function(){return"[].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }"},modulo:function(){return"function(a, b) { return (+a % (b = +b) + b) % b; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}},j=1,M=2,$=3,O=4,P=5,A=6,ft=" ",ot=/^[+-]?\d+$/,qt=function(e,t){var n,i;return i=t.scope.root,e in i.utilities?i.utilities[e]:(n=i.freeVariable(e),i.assign(n,vt[e](t)),i.utilities[e]=n)},Mt=function(e,t){return e=e.replace(/\n/g,"$&"+t),e.replace(/\s+$/,"")},Rt=function(e){return e instanceof T&&"arguments"===e.value},At=function(e){return e instanceof gt||e instanceof l&&e.bound||e instanceof pt},It=function(e){return e.isComplex()||("function"==typeof e.isAssignable?e.isAssignable():void 0)},Gt=function(e,t,n){var i;if(i=t[n].unfoldSoak(e))return t[n]=i.body,i.body=new wt(t),i}}.call(this),t.exports}(),require["./sourcemap"]=function(){var e={},t={exports:e};return function(){var e,n;e=function(){function e(e){this.line=e,this.columns=[]}return e.prototype.add=function(e,t,n){var i,r;return r=t[0],i=t[1],null==n&&(n={}),this.columns[e]&&n.noReplace?void 0:this.columns[e]={line:this.line,column:e,sourceLine:r,sourceColumn:i}},e.prototype.sourceLocation=function(e){for(var t;!((t=this.columns[e])||0>=e);)e--;return t&&[t.sourceLine,t.sourceColumn]},e}(),n=function(){function t(){this.lines=[]}var n,i,r,o;return t.prototype.add=function(t,n,i){var r,o,s,a;return null==i&&(i={}),s=n[0],o=n[1],a=(r=this.lines)[s]||(r[s]=new e(s)),a.add(o,t,i)},t.prototype.sourceLocation=function(e){var t,n,i;for(n=e[0],t=e[1];!((i=this.lines[n])||0>=n);)n--;return i&&i.sourceLocation(t)},t.prototype.generate=function(e,t){var n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b;for(null==e&&(e={}),null==t&&(t=null),b=0,o=0,a=0,s=0,d=!1,n="",f=this.lines,h=i=0,c=f.length;c>i;h=++i)if(u=f[h])for(m=u.columns,r=0,l=m.length;l>r;r++)if(p=m[r]){for(;p.line>b;)o=0,d=!1,n+=";",b++;d&&(n+=",",d=!1),n+=this.encodeVlq(p.column-o),o=p.column,n+=this.encodeVlq(0),n+=this.encodeVlq(p.sourceLine-a),a=p.sourceLine,n+=this.encodeVlq(p.sourceColumn-s),s=p.sourceColumn,d=!0}return g={version:3,file:e.generatedFile||"",sourceRoot:e.sourceRoot||"",sources:e.sourceFiles||[""],names:[],mappings:n},e.inlineMap&&(g.sourcesContent=[t]),g},r=5,i=1<<r,o=i-1,t.prototype.encodeVlq=function(e){var t,n,s,a;for(t="",s=0>e?1:0,a=(Math.abs(e)<<1)+s;a||!t;)n=a&o,a>>=r,a&&(n|=i),t+=this.encodeBase64(n);return t},n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t.prototype.encodeBase64=function(e){return n[e]||function(){throw Error("Cannot Base64 encode value: "+e)}()},t}(),t.exports=n}.call(this),t.exports}(),require["./coffee-script"]=function(){var e={},t={exports:e};return function(){var t,n,i,r,o,s,a,c,l,u,h,p,d,f,m,g,b,y,v,k={}.hasOwnProperty;if(c=require("fs"),y=require("vm"),m=require("path"),t=require("./lexer").Lexer,f=require("./parser").parser,u=require("./helpers"),n=require("./sourcemap"),e.VERSION="1.11.1",e.FILE_EXTENSIONS=[".coffee",".litcoffee",".coffee.md"],e.helpers=u,i=function(e){switch(!1){case"function"!=typeof Buffer:return new Buffer(e).toString("base64");case"function"!=typeof btoa:return btoa(e);default:throw Error("Unable to base64 encode inline sourcemap.")}},v=function(e){return function(t,n){var i;null==n&&(n={});try{return e.call(this,t,n)}catch(r){if(i=r,"string"!=typeof t)throw i;throw u.updateSyntaxError(i,t,n.filename)}}},e.compile=r=v(function(e,t){var r,o,s,a,c,l,h,p,m,g,b,y,v,k,w,T,N,L,C,F,E,D,_;if(w=u.merge,a=u.extend,t=a({},t),h=t.sourceMap||t.inlineMap,h&&(k=new n),D=d.tokenize(e,t),t.referencedVars=function(){var e,t,n;for(n=[],e=0,t=D.length;t>e;e++)E=D[e],"IDENTIFIER"===E[0]&&n.push(E[1]);return n}(),null==t.bare||t.bare!==!0)for(m=0,y=D.length;y>m;m++)if(E=D[m],"IMPORT"===(N=E[0])||"EXPORT"===N){t.bare=!0;break}for(l=f.parse(D).compileToFragments(t),o=0,t.header&&(o+=1),t.shiftLine&&(o+=1),r=0,b="",g=0,v=l.length;v>g;g++)c=l[g],h&&(c.locationData&&!/^[;\s]*$/.test(c.code)&&k.add([c.locationData.first_line,c.locationData.first_column],[o,r],{noReplace:!0}),T=u.count(c.code,"\n"),o+=T,T?r=c.code.length-(c.code.lastIndexOf("\n")+1):r+=c.code.length),b+=c.code;return t.header&&(p="Generated by CoffeeScript "+this.VERSION,b="// "+p+"\n"+b),h&&(_=k.generate(t,e)),t.inlineMap&&(s=i(JSON.stringify(_)),C="//# sourceMappingURL=data:application/json;base64,"+s,F="//# sourceURL="+(null!=(L=t.filename)?L:"coffeescript"),b=b+"\n"+C+"\n"+F),t.sourceMap?{js:b,sourceMap:k,v3SourceMap:JSON.stringify(_,null,2)}:b}),e.tokens=v(function(e,t){return d.tokenize(e,t)}),e.nodes=v(function(e,t){return"string"==typeof e?f.parse(d.tokenize(e,t)):f.parse(e)}),e.run=function(e,t){var n,i,o,s;return null==t&&(t={}),o=require.main,o.filename=process.argv[1]=t.filename?c.realpathSync(t.filename):".",o.moduleCache&&(o.moduleCache={}),i=t.filename?m.dirname(c.realpathSync(t.filename)):c.realpathSync("."),o.paths=require("module")._nodeModulePaths(i),(!u.isCoffee(o.filename)||require.extensions)&&(n=r(e,t),e=null!=(s=n.js)?s:n),o._compile(e,o.filename)},e.eval=function(e,t){var n,i,o,s,a,c,l,u,h,p,d,f,g,b,v,w,T;if(null==t&&(t={}),e=e.trim()){if(s=null!=(f=y.Script.createContext)?f:y.createContext,c=null!=(g=y.isContext)?g:function(){return t.sandbox instanceof s().constructor},s){if(null!=t.sandbox){if(c(t.sandbox))w=t.sandbox;else{w=s(),b=t.sandbox;for(u in b)k.call(b,u)&&(T=b[u],w[u]=T)}w.global=w.root=w.GLOBAL=w}else w=global;if(w.__filename=t.filename||"eval",w.__dirname=m.dirname(w.__filename),w===global&&!w.module&&!w.require){for(n=require("module"),w.module=i=new n(t.modulename||"eval"),w.require=o=function(e){return n._load(e,i,!0)},i.filename=w.__filename,v=Object.getOwnPropertyNames(require),a=0,h=v.length;h>a;a++)d=v[a],"paths"!==d&&"arguments"!==d&&"caller"!==d&&(o[d]=require[d]);o.paths=i.paths=n._nodeModulePaths(process.cwd()),o.resolve=function(e){return n._resolveFilename(e,i)}}}p={};for(u in t)k.call(t,u)&&(T=t[u],p[u]=T);return p.bare=!0,l=r(e,p),w===global?y.runInThisContext(l):y.runInContext(l,w)}},e.register=function(){return require("./register")},require.extensions)for(g=this.FILE_EXTENSIONS,s=function(e){var t;return null!=(t=require.extensions)[e]?t[e]:t[e]=function(){throw Error("Use CoffeeScript.register() or require the coffee-script/register module to require "+e+" files.")}},h=0,p=g.length;p>h;h++)o=g[h],s(o);e._compileFile=function(e,t,n){var i,o,s,a;null==t&&(t=!1),null==n&&(n=!1),s=c.readFileSync(e,"utf8"),a=65279===s.charCodeAt(0)?s.substring(1):s;try{i=r(a,{filename:e,sourceMap:t,inlineMap:n,sourceFiles:[e],literate:u.isLiterate(e)})}catch(l){throw o=l,u.updateSyntaxError(o,a,e)}return i},d=new t,f.lexer={lex:function(){var e,t;return t=f.tokens[this.pos++],t?(e=t[0],this.yytext=t[1],this.yylloc=t[2],f.errorToken=t.origin||t,this.yylineno=this.yylloc.first_line):e="",e},setInput:function(e){return f.tokens=e,this.pos=0},upcomingInput:function(){return""}},f.yy=require("./nodes"),f.yy.parseError=function(e,t){var n,i,r,o,s,a;return s=t.token,o=f.errorToken,a=f.tokens,i=o[0],r=o[1],n=o[2],r=function(){switch(!1){case o!==a[a.length-1]:return"end of input";case"INDENT"!==i&&"OUTDENT"!==i:return"indentation";case"IDENTIFIER"!==i&&"NUMBER"!==i&&"INFINITY"!==i&&"STRING"!==i&&"STRING_START"!==i&&"REGEX"!==i&&"REGEX_START"!==i:return i.replace(/_START$/,"").toLowerCase();default:return u.nameWhitespaceCharacter(r)}}(),u.throwSyntaxError("unexpected "+r,n)},a=function(e,t){var n,i,r,o,s,a,c,l,u,h,p,d;return o=void 0,r="",e.isNative()?r="native":(e.isEval()?(o=e.getScriptNameOrSourceURL(),o||(r=e.getEvalOrigin()+", ")):o=e.getFileName(),o||(o="<anonymous>"),l=e.getLineNumber(),i=e.getColumnNumber(),h=t(o,l,i),r=h?o+":"+h[0]+":"+h[1]:o+":"+l+":"+i),s=e.getFunctionName(),a=e.isConstructor(),c=!(e.isToplevel()||a),c?(u=e.getMethodName(),d=e.getTypeName(),s?(p=n="",d&&s.indexOf(d)&&(p=d+"."),u&&s.indexOf("."+u)!==s.length-u.length-1&&(n=" [as "+u+"]"),""+p+s+n+" ("+r+")"):d+"."+(u||"<anonymous>")+" ("+r+")"):a?"new "+(s||"<anonymous>")+" ("+r+")":s?s+" ("+r+")":r},b={},l=function(t){var n,i,r,s;if(b[t])return b[t];for(s=e.FILE_EXTENSIONS,i=0,r=s.length;r>i;i++)if(o=s[i],u.ends(t,o))return n=e._compileFile(t,!0),b[t]=n.sourceMap;return null},Error.prepareStackTrace=function(t,n){var i,r,o;return o=function(e,t,n){var i,r;return r=l(e),r&&(i=r.sourceLocation([t-1,n-1])),i?[i[0]+1,i[1]+1]:null},r=function(){var t,r,s;for(s=[],t=0,r=n.length;r>t&&(i=n[t],i.getFunction()!==e.run);t++)s.push(" at "+a(i,o));return s}(),""+t+"\n"+r.join("\n")+"\n"}}.call(this),t.exports}(),require["./browser"]=function(){var exports={},module={exports:exports};return function(){var CoffeeScript,compile,runScripts,indexOf=[].indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(t in this&&this[t]===e)return t;return-1};CoffeeScript=require("./coffee-script"),CoffeeScript.require=require,compile=CoffeeScript.compile,CoffeeScript.eval=function(code,options){return null==options&&(options={}),null==options.bare&&(options.bare=!0),eval(compile(code,options))},CoffeeScript.run=function(e,t){return null==t&&(t={}),t.bare=!0,t.shiftLine=!0,Function(compile(e,t))()},"undefined"!=typeof window&&null!==window&&("undefined"!=typeof btoa&&null!==btoa&&"undefined"!=typeof JSON&&null!==JSON&&(compile=function(e,t){return null==t&&(t={}),t.inlineMap=!0,CoffeeScript.compile(e,t)}),CoffeeScript.load=function(e,t,n,i){var r;return null==n&&(n={}),null==i&&(i=!1),n.sourceFiles=[e],r=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new window.XMLHttpRequest,r.open("GET",e,!0),"overrideMimeType"in r&&r.overrideMimeType("text/plain"),r.onreadystatechange=function(){var o,s;if(4===r.readyState){if(0!==(s=r.status)&&200!==s)throw Error("Could not load "+e);if(o=[r.responseText,n],i||CoffeeScript.run.apply(CoffeeScript,o),t)return t(o)}},r.send(null)},runScripts=function(){var e,t,n,i,r,o,s,a,c,l,u;for(u=window.document.getElementsByTagName("script"),t=["text/coffeescript","text/literate-coffeescript"],e=function(){var e,n,i,r;for(r=[],e=0,n=u.length;n>e;e++)c=u[e],i=c.type,indexOf.call(t,i)>=0&&r.push(c);return r}(),o=0,n=function(){var t;return t=e[o],t instanceof Array?(CoffeeScript.run.apply(CoffeeScript,t),o++,n()):void 0},i=function(i,r){var o,s;return o={literate:i.type===t[1]},s=i.src||i.getAttribute("data-src"),s?CoffeeScript.load(s,function(t){return e[r]=t,n()},o,!0):(o.sourceFiles=["embedded"],e[r]=[i.innerHTML,o])},r=s=0,a=e.length;a>s;r=++s)l=e[r],i(l,r);return n()},window.addEventListener?window.addEventListener("DOMContentLoaded",runScripts,!1):window.attachEvent("onload",runScripts))}.call(this),module.exports}(),require["./coffee-script"]}();"function"==typeof define&&define.amd?define(function(){return CoffeeScript}):root.CoffeeScript=CoffeeScript})(this);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment