(function(t,n,e,i,r){new function(s,o,u,a){"use strict";var c,l;this.Rexjs=t=s.exports=(c=n.create,l=u||(o?function(t,n){o.set.call(t,n)}:function(t,n){for(t.$Rexjs_prototype=n;a(n).forEach(function(e){t.hasOwnProperty(e)||(t[e]=n[e])}),n=r(n););}),function t(n,e){var i,s,o={constructor:{value:n,configurable:!0,writable:!0}};switch(typeof e){case"function":i=e,s=e.prototype;break;case"undefined":i=r(t),s=this.constructor.prototype;break;default:i=c(null,o),s=null}return l(n,i),n.prototype=c(s,o),n}),this.value=function(t){return n.prototype.hasOwnProperty("__proto__")?(i(t,"__proto__",n.getOwnPropertyDescriptor(n.prototype,"__proto__")),t):t}(new t(t,null)),i(e,"Rexjs",this)}("object"==typeof exports&&"object"==typeof module?module:{},n.getOwnPropertyDescriptor(n.prototype,"__proto__"),n.setPrototypeOf,n.getOwnPropertyNames),new function(t,r){"use strict";var s,o;this.apply=t.apply,this.bind=t.bind,this.call=t.call,this.hasOwnProperty=n.prototype.hasOwnProperty,this.global=e,this.static=(s=n.getOwnPropertyDescriptor,function(t){for(var n in t){var e=s(t,n);e.enumerable=!1,i(this,n,e)}}),this.props=(o=this.static,function(t){o.call(this.prototype,t)}),this.toString=r===t.prototype?t.toString:function(){return"function "+(this.name||"")+"() { native code }"},this.static.call(r,this)}(Function,r(t)),new function(n){"use strict";var e;this.hasOwnProperty=n.hasOwnProperty,this.isPrototypeOf=n.isPrototypeOf,this.propertyIsEnumerable=n.propertyIsEnumerable,this.toString=function(){return"[Rexjs "+this.constructor.name+"]"},this.toLocaleString=(e=this.toString,function(){return e.call(this)}),this.valueOf=function(){return this},t.static.call(t.prototype,this)}(n.prototype),new function(n){"use strict";var e,i;this.every=function(t,n,e,i){if(i){for(var r=0,s=t.length;r-1||this.push(t)},this)},length:0}),e.getOwnPropertyNames(n.prototype).forEach(function(t){if(!r.prototype.hasOwnProperty(t)&&"toString"!==t){var n={};n[t]=this[t],r.props(n)}},n.prototype),r}(Array,Object,t.toArray),this.URL=function(n,e){function i(t,r){if(null!=t&&(t=n(t),!e(this,t)&&r)){var s=new i(r);e(this,s.origin+("/"===t[0]?"":s.dirname+"/")+t)}}return(i=new t(i)).props({ext:"",dirname:"",filename:"",hash:"",get host(){var t=this.hostname;if(t){var n=this.port;return t+(n?":"+n:"")}return""},hostname:"",get href(){var t=this.protocal;return(t?t+(this.host?"//"+(this.username?this.username+"@":"")+this.host:"/"):"")+this.pathname+this.search+this.hash},get origin(){var t=this.host;return t?this.protocal+"//"+t:""},get pathname(){var t=this.filename,n=this.dirname;return t?n+("/"===n[n.length-1]?"":"/")+t:n},port:"",protocal:"",search:"",toString:function(){return this.href},username:""}),i}(function(t){return"string"!=typeof t&&(t=null==t?"":t.toString()),i(t.trim())},function(t,i){var s=i.match(n);if(!s)throw"Invalid URL: "+i;var o=[],u=r(s,1),a=r(s,2),c=r(s,3),l=r(s,4),p=r(s,5),h=r(s,6);switch(t.protocal=u,t.hostname=c,t.username=a,t.port=l,t.filename=h,t.ext=r(s,7),t.search=r(s,8),t.hash=r(s,9),u){case"http:":case"https:":if(!t.hostname)return!1;break;case"":break;default:var f;switch(i=decodeURI(i),!0){case t.search.length>0:f=i.indexOf("?");break;case t.hash.length>0:f=i.indexOf("#");break;default:f=i.length}if(t.hostname=t.port="","data:"===u)return t.dirname=i.substring(u.length,f),t.filename=t.ext="",!0;p=i.substring(u.length,f-h.length),t.search=decodeURI(t.search),t.hash=decodeURI(t.hash)}return p.split(e).forEach(function(t){switch(t){case".":break;case"..":o.splice(o.length-1);break;case"":break;default:o.push(t)}}),h||"/"!==p[p.length-1]||o.push(""),t.dirname="/"+o.join("/"),u.length>0}),t.static(this)}(Rexjs,/^(?:([^:/?#.]+:)(?:\/+(?:([^/?#]*)@)?([\w\d\-\u0100-\uffff.%]*)(?::([0-9]+))?)?)?(?:([^?#]*?)([^\/]+?(\.[^.?#\/]+))?)?(?:(\?[^#]*))?(?:(#.*))?$/,/\/|\\/g,encodeURI,function(t,n){return t[n]||""}),new function(Rexjs,forEach){"use strict";(function(){this.VariableIndex=function(){function t(){}return(t=new Rexjs(t)).props({increase:function(){this.value++},value:0}),t}(),this.CollectionRange=function(){function t(t){this.collection=t,this.start()}return(t=new Rexjs(t)).props({collection:null,end:function(){this.to=this.collection.length-1},forEach:function(t,n,e){for(var i=this.collection,r=this.from,s=this.to+1;r5;)s+=t[n("1"+i.substring(r-5,r),2)],r-=5;return s+=t[n(i.substring(0,r),2)]}}),i}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),parseInt,"undefined"==typeof btoa?null:btoa),this.MappingPosition=function(t){function n(){t.call(this,0,0)}return(n=new Rexjs(n,t)).props({generatedLineOffset:0,generatedLineDiff:0,generatedColumnOffset:0,generatedColumnDiff:0}),n}(this.Position),this.MappingBuilder=function(n,e,i,r,s,o,u,a,c){function l(n){t.call(this,n),this.position=new e}return(l=new Rexjs(l,t)).static({get supported(){return i.btoa("",function(){})}}),l.props({appendContext:function(t){var n,e,r=t.position,o=this.position,u=r.line,a=r.column;o.generatedLineOffset!==o.generatedColumnOffset&&this.appendMappings(","),this.appendMappings(i.vlq(o.generatedColumnDiff)+"A"+i.vlq(u-o.line)+i.vlq(a-o.column)),o.generatedColumnDiff=0,s.call(this,t),n=o.generatedColumnDiff,e=i.vlq(n),this.appendMappings(","+e+"AAA"),this.appendMappings(",AAA"+e),o.line=u,o.column=a+n,o.generatedColumnOffset+=n,o.generatedColumnDiff=0},appendMappings:function(t){this.mappings+=t},appendString:function(t){this.position.generatedColumnDiff+=t.length,o.call(this,t)},complete:function(){var t=this.file.url;return i.btoa(r.stringify({version:3,sources:[t.href],names:[],mappings:this.mappings}),function(e){this.newline(),this.appendString("//# sourceURL="+new n("http://sourceURL"+t.pathname).href),this.newline(),this.appendString("//# sourceMappingURL=data:application/json;base64,"),this.appendString(e)},this)?this.result:u.call(this)},mappings:"",newline:function(){var t=this.position;this.appendMappings(";"),c.call(this),t.generatedLineOffset=t.generatedColumnOffset+=t.generatedColumnDiff,t.generatedLineDiff=t.generatedColumnDiff=0},position:null}),l}(Rexjs.URL,this.MappingPosition,this.Base64,JSON,t.prototype.appendContext,t.prototype.appendString,t.prototype.complete,t.prototype.merge,t.prototype.newline)}.call(this,this.SourceBuilder),function(){this.SyntaxElement=function(){function t(){}return(t=new Rexjs(t)).props({extractTo:function(){}}),t}(),this.SyntaxConfig=function(){function t(){forEach(arguments,function(t){this[t]=!0},this,!0)}return t=new Rexjs(t)}(),this.SyntaxRegExp=function(t,n){function e(){}return(e=new Rexjs(e)).props({break:function(){this.lastIndex=n},exec:function(t,n,e){var i,r="",s=-1,o=this.lastIndex;for(this.lastIndex=0;t.lastIndex=o=this.lastIndex,null!==(i=t.exec(n));)i.index===o?(r=i[0],s=i.indexOf("",1)-1):(r=n[o],s=-1),t=e(r,s),this.lastIndex+=r.length;this.lastIndex>=n.length||(e(n.substring(this.lastIndex),-1),this.break())},lastIndex:0}),e}(RegExp,1/0)}.call(this),function(){this.TagData=function(){function t(t){this.value=t}return(t=new Rexjs(t)).props({value:null}),t}()}.call(this),function(t,n){this.TagClass=function(n,e,i,r,s,o){function u(n){t.call(this,n),this.expression=(n&s)===s,this.expressionContext=(n&o)===o,this.statement=(n&e)===e,this.statementBegin=(n&i)===i,this.statementEnd=(n&r)===r}return(u=new Rexjs(u,t)).static({CLASS_EXPRESSION:s,CLASS_EXPRESSION_CONTEXT:o,CLASS_NONE:n,CLASS_STATEMENT:e,CLASS_STATEMENT_BEGIN:i,CLASS_STATEMENT_END:r}),u.props({expression:!1,expressionContext:!1,statement:!1,statementBegin:!1,statementEnd:!1}),u}(n(0,2),n(10,2),n(110,2),n(1010,2),n(10110,2),n(1e5,2)),this.TagType=function(n,e,i,r,s){function o(n){t.call(this,n),this.illegal=(n&s)===s,this.matchable=(n&e)===e,this.mistakable=(n&r)===r,this.unexpected=(n&i)===i}return(o=new Rexjs(o,t)).static({TYPE_ILLEGAL:s,TYPE_NONE:n,TYPE_MATCHABLE:e,TYPE_MISTAKABLE:r,TYPE_UNEXPECTED:i}),o.props({illegal:!1,matchable:!1,mistakable:!1,unexpected:!1}),o}(n(0,2),n(10,2),n(100,2),n(1100,2),n(10100,2)),this.SyntaxTag=function(t,n,e){function i(i){t.call(this),this.type=new e(i||this.$type),this.class=new n(this.$class)}return(i=new Rexjs(i,t)).props({$class:n.CLASS_NONE,$type:e.TYPE_MATCHABLE,get binding(){return null},class:null,extractTo:function(t,n){t.appendString(n)},getBoundExpression:function(){return null},getBoundStatement:function(){return null},getBoundStatements:function(){return null},order:0,regexp:null,require:function(t,n){return n},throw:"token",type:null,visitor:function(){}}),i}(this.SyntaxElement,this.TagClass,this.TagType)}.call(this,this.TagData,parseInt),function(t){this.FilePositionTag=function(n){function e(n){t.call(this,n)}return(e=new Rexjs(e,t)).props({$class:n}),e}(this.TagClass.CLASS_STATEMENT_BEGIN),this.IllegalTag=function(n){function e(){t.call(this)}return(e=new Rexjs(e,t)).props({$type:n,throw:"token ILLEGAL"}),e}(this.TagType.TYPE_ILLEGAL),this.WhitespaceTag=function(){function n(){t.call(this)}return(n=new Rexjs(n,t)).props({regexp:/[^\S\r\n\u2028\u2029]+/}),n}(),this.LineTerminatorTag=function(t){function n(){t.call(this)}return(n=new Rexjs(n,t)).static({CARRIAGE_RETURN:"\r",LINE_SEPARATOR:"\u2028",LINEFEED:"\n",PARAGRAPH_SEPARATOR:"\u2029"}),n.props({regexp:/\r\n?|\n|\u2028|\u2029/,visitor:function(t){var n=t.position;n.line+=1,n.column=0}}),n}(this.WhitespaceTag)}.call(this,this.SyntaxTag),function(t,n){this.SyntaxTags=function(t,e,i){function r(){t.call(this)}return(r=new Rexjs(r,t)).props({delegate:function(t,n){this.register.apply(this,t.map(function(t){return new t(n)}))},entrance:!1,filter:function(t){return!1},ready:function(){var t,i,r=this.slice(0);this.sort(function(t,n){return e(r,t,n,"matchable",!0)||e(r,t,n,"mistakable",!0)||e(r,t,n,"illegal",!1)||e(r,t,n,"unexpected",!1,!0)}),this.regexp=new n((i=[],(t=this).splice(0).forEach(function(n){var e=n.regexp;if(null!==e){var r=e.source;this(r)||(i.push("(?:"+r+")()"),t.push(n))}else t[-1]=n},function(n){return!t.every(function(t){return t.regexp.source!==n})}),i.join("|")),"g")},regexp:/[^\S\s]/g,register:function(t){forEach(arguments,function(t){t instanceof r?this.register.apply(this,t):this.filter(t)||this.push(t)},this,!0)}}),r}(Rexjs.List,function(t,n,e,i,r,s){var o=n.type,u=e.type;switch(r){case o[i]:if(u[i]!==r)return-1;break;case u[i]:return 1;default:if(s)break;return 0}return n.order-e.order>0?-1:n.order-e.order<0?1:t.indexOf(n)-t.indexOf(e)}),this.DefaultTags=function(t,n,e,i){function r(){t.call(this),this.register(new n,new e,new i)}return r=new Rexjs(r,t)}(this.SyntaxTags,this.WhitespaceTag,this.LineTerminatorTag,this.IllegalTag),this.SyntaxTagsMap=function(){function t(){}return(t=new Rexjs(t)).props({map:function(t,n){n.ready(),n.entrance&&(this.entranceTags=n),this[t]=n}}),t}()}.call(this,this.SyntaxTag,RegExp),function(t,n,e){this.Expression=function(n){function e(n){t.call(this),this.context=n}return(e=new Rexjs(e,t)).static({STATE_NONE:n(0,2),STATE_EXPRESSION_END:n(10,2),STATE_STATEMENT_ENDABLE:n(110,2),STATE_STATEMENT_END:n(1110,2),STATE_STATEMENT_ENDED:n(11110,2)}),e.props({compileTo:function(t,n){this.extractTo(t,n)},context:null,get default(){return!1},get empty(){return!1},extractTo:function(t){t.appendContext(this.context)},state:e.STATE_NONE}),e}(parseInt),this.Statement=function(){function n(n){t.call(this),this.target=n.statement,this.statements=n}return(n=new Rexjs(n,t)).static({FLOW_MAIN:parseInt(10,2),FLOW_BRANCH:parseInt(100,2),FLOW_LINEAR:parseInt(1100,2),FLOW_CIRCULAR:parseInt(10100,2)}),n.props({bindingOf:function(){return this.tagOf().binding},catch:function(t,n){return null},expression:null,extractTo:function(t){this.expression.extractTo(t)},flow:n.FLOW_MAIN,out:function(){var t=this.target,n=t.expression;return n.state=this.expression.state,this.statements.statement=t,n},statements:null,tagOf:function(){return this.target.expression.context.tag},target:null,try:function(t,n){return null}}),n}(),this.Statements=function(n,e,i){function r(n){t.call(this),this.target=n,this.newStatement()}return(r=new Rexjs(r,t)).static({SCOPE_GLOBAL:i(10,2),SCOPE_BLOCK:i(100,2),SCOPE_CLOSURE:i(1e3,2),SCOPE_LAZY:i(11e3,2)}),r.props({clear:function(){this.statement=null,this.splice(0)},extractTo:function(t){for(var n=this.join,i=this.min,r=this.length;i0){n=t,t=t[0];continue}}else if(t instanceof LeftHandSideExpression){n=t,t=t.left;continue}break}return n.context}),this.SyntaxParser=function(t,n,e,i,r,s){function o(){this.regexp=new t}return(o=new Rexjs(o)).props({build:function(t){var n=t||new r;return this.statements.extractTo(n),n.complete()},details:null,error:function(t,e,i){var r=new n(this.file,t,e,i);throw this.regexp.break(),this.details=r,r.message},file:null,parse:function(t,n,r){var s=this,o=n.entranceTags,u=this.position=new e(0,0);this.tagsMap=n,this.file=t,this.details=null,this.statements=r,this.regexp.exec(o.regexp,t.source,function(t,a){var c,l=o[a];return c=new i(l,t,new e(u.line,u.column)),u.column+=t.length,l.type.unexpected&&(c.tag=l=function(t,n,e,i){var r=i.statement;t:if(r.expression){var s=e.class,o=e.type,u=o.mistakable;if(u?s.statement:!o.illegal){for(;;){var a=r.catch(t,n);if(a)return a;var c=(i=t.statements).statement;if(r===c){if(!(c=r.target))break;r.out()}r=c}if(u){if(s.statementEnd)return e;if((i.statement.expression.state&STATE_STATEMENT_ENDABLE)===STATE_STATEMENT_ENDABLE)return i.newStatement(),e}break t}if(u){for(;r;){var a=r.try(t,n);if(a)return a;var c=t.statements.statement;if(r===c)break;r=c}return e}}return t.error(n),null}(s,c,l,s.statements)),r=s.statements,l.visitor(s,c,r.statement,r),(o=l.require(n,o,s)).regexp})},position:null,regexp:null,statements:null,tagsMap:null}),o}(this.SyntaxRegExp,this.SyntaxError,this.Position,this.Context,this.ContentBuilder)}.call(this,this.Expression,this.ListExpression,this.LeftHandSideExpression,this.Expression.STATE_STATEMENT_ENDABLE),Rexjs.static(this)}(Rexjs,Rexjs.forEach),new function(t,n,e,i,r,s,o,u,a,c,l,p,h,f,g,T,x,d,m,E,D,C,w,S,A,y,F,B){"use strict";(function(){this.ECMAScriptErrors=l=function(n){function e(){}return(e=new t(e)).static({ASSIGNMENT:"Invalid left-hand side in assignment",CALL:"Missing ) after argument list",CONST:"Assignment to constant variable",CONSTRUCTOR:"Class constructor may not be ${1}",DEFAULT_CLAUSE:"More than one default clause in switch statement",DUPLICATE_PARAMETER_NAME:"Duplicate parameter name not allowed in this context",EXPORT_DEFAULT:"Default member has already been exported",FOR:"Invalid left-hand side in for-loop",FOR_IN:"Invalid left-hand side in for-in loop: Must have a single binding",GETTER:"Getter must not have any formal parameters",JSX_ADJACENT_ELEMENT:"Adjacent JSX elements must be wrapped in an enclosing tag",JSX_CLOSING_TAG:"Expected corresponding JSX closing tag for <${1}>",ILLEGAL_STATEMENT:"Illegal ${1} statement",KEYWORD:'"${1}" keyword unexpected here',LABEL:'Undefined ${1} label "${2}"',MISSING_INITIALIZER:"Missing initializer in const declaration",NEWLINE:"Illegal newline",NEWLINE_AFTER_THROW:"Illegal newline after throw",NEWLINE_BEFORE_ARROW:"Illegal newline before arrow",PREFIX_OPERATION:"Invalid left-hand side expression in prefix operation",POSTFIX_OPERATION:"Invalid left-hand side expression in postfix operation",REDECLARATION:'Identifier "${1}" has already been declared',REGEXP_FLAGS:"Invalid regular expression flags",REST_ELEMENT:"Rest element must be last element",REST_PARAMETER:"Rest parameter must be last formal parameter",SETTER:"Setter must have exactly one formal parameter",SUPER_CALL:"Super call may not in class constructor",SUPER_CALL_UNEXTEND:"No any super to call",SUPER_RECALL:"Super may be called in this class constructor",TARGET:"new.target expression is not allowed here",TEMPLATE:"Unterminated template literal",TRY:"Missing catch or finally after try",WITH:"The code may not include a with statement",WITHOUT_SUPER_CALL:"Missing super call in this class constructor",template:function(t){var e=arguments;return this[t].replace(n,function(t,n){return e[n]})}}),e}(/\$\{(\d+)\}/g),this.ECMAScriptOrders=p=function(){function n(){}return(n=new t(n)).static({OPENING_ARROW_FUNCTION_BODY:100,OPENING_BRACKET_ACCESSOR:100,OPENING_CALL:100,SPECIAL_LINE_TERMINATOR:100,STATEMENT_END:100,DOT_ACCESSOR:101,EXPRESSION_BREAK:101,MATHEMATICAL_NUMBER:101,OPENING_SUPER_METHOD_CALL:101,SPREAD:101,BINARY:200,NEGATION_SIBLING:200,PLUS_SIBLING:200,ARROW:201,GREATER_THAN_OR_EQUAL:201,LEFT_SHIFT:201,LESS_THAN_OR_EQUAL:201,LOGICAL_AND:201,LOGICAL_OR:201,RIGHT_SHIFT:201,SUPER_PROPERTY_ASSIGNMENT:201,EQUALITY:202,EXPONENTIATION:202,UNARY_ASSIGNMENT:202,INEQUALITY:202,UNSIGNED_RIGHT_SHIFT:202,IDENTITY:203,NONIDENTITY:203,DESTRUCTURING_ASSIGNMENT:203,POSTFIX_UNARY_ASSIGNMENT:203,SHORTHAND_ASSIGNMENT:203,ILLEGAL_SHORTHAND_ASSIGNMENT:204,SUPER_PROPERTY_SHORTHAND_ASSIGNMENT:204,SUPER_PROPERTY_POSTFIX_UNARY_ASSIGNMENT:204,JSX_ADJACENT_ELEMENT:205,IDENTIFIER:300,TARGET:301,VARIABLE:301,KEYWORD_PROPERTY_NAME:301,FUNCTION_VARIABLE:302,IDENTIFIER_PROPERTY_NAME:302,WORD_PROPERTY_NAME:303,STATIC_MODIFIER:304,COMMENT:400,OPENING_RESTRICTED_COMMENT:401,COMMENT_CONTENT:402,ILLEGAL_LINE_TERMINATOR:403,TEMPLATE_CONTENT:500,TEMPLATE_PARAMETER:501,TEMPLATE_SPECIAL_CONTENT:501,JSX_TEXT:502,JSX_LINE_TERMINATOR:503,FILE_START:600}),n}()}).call(this),function(){this.AssignableExpression=function(){function n(t){e.call(this,t)}return n=new t(n,e)}(),this.GenerableExpression=function(){function n(t,n){e.call(this,t),this.contextGeneratorIfNeedCompile=n.contextGeneratorIfNeedCompile}return(n=new t(n,e)).props({contextGeneratorIfNeedCompile:null,extractTo:function(t){this.contextGeneratorIfNeedCompile?this.generateTo(t):this.normalizeTo(t)},generateTo:function(){},normalizeTo:function(){}}),n}(),this.ConditionalExpression=function(n,e,i){function r(t,e){n.call(this,t,e)}return(r=new t(r,n)).props({adapterIndex:-1,branchFlowIndex:-1,condition:null,conditionIndex:-1,extractTo:function(t){var n=this.contextGeneratorIfNeedCompile;if(n)return this.conditionIndex=this.branchFlowIndex=n.nextIndex(),this.positiveIndex=this.adapterIndex=n.nextIndex(),this.negativeIndex=this.mainFlowIndex=n.nextIndex(),void this.generateTo(t);this.normalizeTo(t)},generateBodyTo:function(t,n){i(this,t,n),n.appendString(this.contextGeneratorIfNeedCompile.currentIndexString+"="+this.branchFlowIndex+";break;case "+this.mainFlowIndex+":")},generateConditionTo:function(t,n){var e=this.contextGeneratorIfNeedCompile.currentIndexString,i=this.conditionIndex;n.appendString(e+"="+i+";break;case "+i+":"+e+"="),t.extractTo(n),n.appendString("?"+this.positiveIndex+":"+this.negativeIndex+";break;case "+this.adapterIndex+":")},generatePrefixBodyTo:function(t,n){var e=this.positiveIndex;n.appendString(this.contextGeneratorIfNeedCompile.currentIndexString+"="+e+";break;case "+e+":"),i(this,t,n)},negativeIndex:-1,mainFlowIndex:-1,positiveIndex:-1}),r}(this.GenerableExpression,0,function(t,n,e){n.extractTo(e),(n.state&A)!==A&&e.appendString(";"),t.state=A})}.call(this),function(){this.ECMAScriptStatement=a=function(n){function e(t){n.call(this,t)}return e=new t(e,n)}(t.Statement),this.BoxStatement=c=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return this.try(t,n)},try:function(t,n){return this.out(),null}}),n}(),this.ConditionStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return")"!==n.content?(t.error(n),null):(this.out().condition.inner=this.expression,this.bindingOf())},tagOf:function(){return this.target.expression.condition.context.tag}}),n}(),this.SingleStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){switch(!1){case";"===n.content:case n.tag.class.statementEnd:case(this.expression.state&S)!==S:break;default:return n.tag}return this.requestOut(t,n)},requestOut:function(){return null}}),n}()}.call(this),function(n){this.ECMAScriptVariableCollections=function(n,e){function i(t,e){n.call(this,t),this.initBlackList(e),this.initConst(e),this.initDeclaration(e),this.initRex(e)}return(i=new t(i,n)).props({blacklist:null,const:null,declaration:null,generate:function(){var t=this.provide();return this.rex.collect(t),t},initBlackList:function(){this.blacklist=new e},initConst:function(){this.const=new e},initDeclaration:function(){this.declaration=new e},initRex:function(){this.rex=new e},rex:null}),i}(t.VariableCollections,t.VariableCollection),this.ECMAScriptStatements=function(e,i){function r(t,e){n.call(this,t),this.collections=e}return(r=new t(r,n)).props({closure:null,collections:null,get contextGenerator(){var t=this.closure;return t?t.contextGenerator:null},get contextGeneratorIfNeedCompile(){var t=this.closure;return t?t.contextGeneratorIfNeedCompile:null},declareTo:function(t){t.appendString(this.collections.rex.toString("var ",",",";"))},extractTo:function(t){this.declareTo(t),i.call(this,t)},initStatement:function(){return new e(this)}}),r}(this.ECMAScriptStatement,n.prototype.extractTo),this.GlobalStatements=function(n,e,i){function r(){n.call(this,null,new e(new i))}return(r=new t(r,n)).props({get contextGenerator(){return null},get contextGeneratorIfNeedCompile(){return null}}),r}(this.ECMAScriptStatements,this.ECMAScriptVariableCollections,t.VariableIndex)}.call(this,t.Statements),function(){this.DefaultBraceBodyExpression=function(){function n(){s.call(this)}return(n=new t(n,s)).props({get state(){return A},set state(t){}}),n}(),this.BraceBodyStatement=function(n){function e(t){a.call(this,t)}return(e=new t(e,a)).props({catch:function(t,n){return"}"!==n.content?null:(this.out(t).inner=this.statements,this.bindingOf())},expression:new n,out:function(t){return(t.statements=this.statements.target).statement.expression},tagOf:function(){return this.statements.target.statement.expression.context.tag}}),e}(this.DefaultBraceBodyExpression)}.call(this),function(n){this.AsTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({regexp:/as/}),e}(this.AsExpression),this.ClosingBraceTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\}/}),n}(),this.ClosingBracketTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\]/}),n}(),this.ClosingParenTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\)/}),n}(),this.CommentTag=function(){function n(){h.call(this)}return(n=new t(n,h)).props({$type:m,order:p.COMMENT}),n}(),this.DebuggerTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({$class:g,regexp:/debugger/,require:function(t){return t.statementEndTags},visitor:function(t,n,i){i.expression=new e(n)}}),n}(),this.DotTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\.(?!\d)/}),n}(),this.ExpressionSeparatorTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({$class:d,$type:D}),n}(),this.ModuleTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({$class:g,collectVariables:function(t,n){n.tag.collectTo(t,n,t.statements)},visitor:function(t,e,i,r){r.target||i.flow!==n?t.error(e,l.template("ILLEGAL_STATEMENT",e.content)):(F(t,e,i,r),i.expression.file=t.file)}}),e}(a.FLOW_MAIN),this.OpeningBraceTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\{/}),n}(),this.OpeningBracketTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\[/}),n}(),this.OpeningParenTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\(/}),n}(),this.SemicolonTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/;/}),n}(),this.SpecialLineTerminatorTag=function(n){function e(){n.call(this)}return(e=new t(e,n)).props({order:p.SPECIAL_LINE_TERMINATOR}),e}(t.LineTerminatorTag),this.WithTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({$class:g,regexp:/with/,visitor:function(t,n){t.error(n,l.WITH)}}),n}()}.call(this,RegExp),function(n){this.FileStartTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({order:p.FILE_START,regexp:/^/,require:function(t){return t.mistakableTags},visitor:function(t,n,i){i.expression=new e(n)}}),i}(t.FileStartExpression),this.FileEndTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({regexp:/$/,throw:"end of input",visitor:function(t,n,r,s){switch(!1){case s instanceof i:case r===s[s.length-1]:case!r.expression:break;default:return r.expression=new e(n),void t.regexp.break()}t.error(n)}}),r}(t.FileEndExpression,this.GlobalStatements)}.call(this,t.FilePositionTag),function(){this.LiteralExpression=function(){function n(t){e.call(this,t)}return n=new t(n,e)}(),this.LiteralTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({$class:x,require:function(t){return t.expressionContextTags},visitor:function(t,e,i){i.expression=new n(e)}}),e}(this.LiteralExpression)}.call(this),function(n){this.BooleanTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/true|false/}),e}(),this.NullTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/null/}),e}(),this.ThisTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({regexp:/this/,visitor:function(t,n,i,r){var s=r.closure;s&&s.applyThis(t,n),e.call(this,t,n,i,r)}}),i}(n.prototype.visitor),this.RegExpTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({regexp:/\/(?:\\[^\r\n\u2028\u2029]|\[(?:\\[^\r\n\u2028\u2029]|[^\\\]\r\n\u2028\u2029])*\]|[^/\\[\r\n\u2028\u2029])+\/[imguy]*/,visitor:function(t,n,i,r){var s=0,o=0,u=0,a=0,c=0,p=0,h=n.content;t:for(var f=h.length-1;f>-1;f--){switch(h[f]){case"/":break t;case"i":p=++s;break;case"m":p=++o;break;case"g":p=++u;break;case"u":p=++a;break;case"y":p=++c;break;default:p=2}if(p>1)return void t.error(n,l.REGEXP_FLAGS)}e.call(this,t,n,i,r)}}),i}(n.prototype.visitor),this.NumberTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/0[xX][0-9a-fA-F]+|0{2,}(?!\.)|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/,throw:"number"}),e}(),this.StringTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/"(?:\\(?:[^\r]|\r\n?)|[^"\\\r\n\u2028\u2029]+)*"|'(?:\\(?:[^\r]|\r\n?)|[^'\\\r\n\u2028\u2029]+)*'/,throw:"string"}),e}()}.call(this,this.LiteralTag),function(){this.MathematicalNumberTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){t.appendString(y.es6Base?'(parseInt("'+n.substring(2)+'",'+this.radix+"))":n)},order:p.MATHEMATICAL_NUMBER,radix:"10"}),e}(this.NumberTag),this.BinaryNumberTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({radix:"2",regexp:/0[bB][01]+/}),e}(this.MathematicalNumberTag),this.OctalNumberTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({radix:"8",regexp:/0[oO][0-7]+/}),e}(this.MathematicalNumberTag)}.call(this),function(){this.IdentifierExpression=function(n){function e(t){n.call(this,t)}return e=new t(e,n)}(this.AssignableExpression),this.IdentifierTag=function(n,e,i,r,s){function o(t){h.call(this,t)}return(o=new t(o,h)).static({get REGEXP_SOURCE(){return i},compileRegExp:function(t,n){return n=n||i,new RegExp("(?:(?:"+t+")|(?=(?:"+t+")\\d+)|(?!"+t+"))"+n)},get keywords(){return r},set keywords(t){r=t,s=this.compileRegExp(r.join("|"))}}),o.props({$class:x,collected:function(t,n,e){var i=n.content;do{if(this.containsBy(i,e.collections))return t.error(n,l.template(this.errorType,n.content)),!0;e=this.nextStatementsOf(e)}while(e);return!1},containsBy:function(t,n){return n.const.contains(t)},errorType:"CONST",nextStatementsOf:function(t){return t.target},order:p.IDENTIFIER,get regexp(){return s},require:function(t){return t.expressionContextTags},throw:"identifier",visitor:function(t,e,i){i.expression=new n(e)}}),o.keywords=r,o}(this.IdentifierExpression,RegExp,B(),["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in(?!stanceof)","instanceof","let","new","null","return","static","super","switch","this","throw","true","try","typeof","var","void","while","with","yield"],null)}.call(this),function(){this.VariableTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.VARIABLE}),e}(this.IdentifierTag),this.VariableDeclarationTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({collectTo:function(t,n,e){var i=n.content;this.collected(t,n,e)||e.collections.declaration.collect(i)},containsBy:function(t,n){return n.blacklist.contains(t)},errorType:"REDECLARATION",nextStatementsOf:function(t){return(t.scope&e)===e?null:t.target},visitor:function(t,n,e,r){this.collectTo(t,n,r),i.call(this,t,n,e,r)}}),r}(this.VariableTag,this.ECMAScriptStatements.SCOPE_CLOSURE,this.VariableTag.prototype.visitor)}.call(this),function(n){this.EmptyStatementTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$class:g,require:function(t){return t.mistakableTags},visitor:function(t,n,e){(e.expression=new r(n)).state=e.target?S:A}}),e}(),this.StatementEndTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({$class:T,$type:D,order:p.STATEMENT_END,require:function(t){return t.mistakableTags},visitor:function(t,n,e,i){e.expression.state|=S}}),i}(n.prototype.unexpected),this.LastStatementEndTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/$/,throw:"end of input"}),e}(this.StatementEndTag)}.call(this,this.SemicolonTag),function(n,e){this.IllegalLineTerminatorTag=function(){function e(){n.call(this)}return(e=new t(e,n)).props({order:p.ILLEGAL_LINE_TERMINATOR,regexp:/(?:\/\*(?:[^*]|\*(?!\/))*)?(?:\r\n?|\n|\u2028|\u2029)/,visitor:function(t,n){t.error(n,l.NEWLINE)}}),e}(),this.StatementBreakTag=function(){function i(){n.call(this)}return(i=new t(i,n)).props({$class:T,require:function(t){return t.mistakableTags},visitor:function(t,n,i,r){i.expression.state|=S,e.call(this,t,n,i,r)}}),i}(),this.ExpressionBreakTag=function(){function i(){n.call(this)}return(i=new t(i,n)).props({order:p.EXPRESSION_BREAK,require:function(t,n){return n.newlineTags},visitor:function(t,n,i,r){i.expression.state|=w,e.call(this,t,n,i,r)}}),i}()}.call(this,this.SpecialLineTerminatorTag,this.SpecialLineTerminatorTag.prototype.visitor),function(n,e){this.SingleLineCommentTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/\/\/.*/}),e}(),this.OpeningMultiLineCommentTag=function(){function i(t){n.call(this,t)}return(i=new t(i,n)).props({regexp:/\/\*/,require:function(t,n){return e=n,t.openingMultiLineCommentContextTags}}),i}(),this.OpeningRestrictedCommentTag=function(n){function i(t){n.call(this,t)}return(i=new t(i,n)).props({order:p.OPENING_RESTRICTED_COMMENT,require:function(t,n){return e=n,t.openingRestrictedCommentContextTags}}),i}(this.OpeningMultiLineCommentTag),this.CommentBreakTag=function(n){function i(){n.call(this)}return(i=new t(i,n)).props({require:function(t,n){return e=e.newlineTags,n}}),i}(this.ExpressionBreakTag),this.CommentContentTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.COMMENT_CONTENT,regexp:/(?:[^*\r\n\u2028\u2029]|\*(?!\/))+/,require:function(t,n){return n}}),e}(),this.ClosingMultiLineCommentTag=function(){function i(t){n.call(this,t)}return(i=new t(i,n)).props({regexp:/\*\//,require:function(){return e}}),i}()}.call(this,this.CommentTag,null),function(){this.AccessorExpression=function(n){function e(t,e){n.call(this,t),this.object=e}return(e=new t(e,n)).props({extractTo:function(t){this.object.extractTo(t),t.appendContext(this.context),t.appendContext(this.property)},object:null,property:null}),e}(this.AssignableExpression),this.DotAccessorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({$class:d,getBoundExpression:function(t,n){return new e(t,n.expression)},order:p.DOT_ACCESSOR,require:function(t){return t.dotAccessorContextTags},visitor:function(t,n,e,i){n.setExpressionOf(e)}}),i}(this.DotTag,this.AccessorExpression),this.PropertyNameTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({regexp:new e(n.REGEXP_SOURCE),visitor:function(t,n,e,i){e.expression.property=n}}),i}(this.IdentifierTag,RegExp)}.call(this),function(n){this.BracketAccessorExpression=function(n){function e(t,e){n.call(this,t,e),this.property=new o(t)}return(e=new t(e,n)).props({extractTo:function(t){this.object.extractTo(t),this.property.extractTo(t)}}),e}(this.AccessorExpression),this.BracketAccessorStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return"]"!==n.content?(t.error(n),null):(this.out().property.inner=this.expression,this.bindingOf())}}),n}(),this.OpeningBracketAccessorTag=function(e,i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({$class:d,get binding(){return n},getBoundExpression:function(t,n){return new i(t,n.expression)},getBoundStatement:function(t){return new r(t)},order:p.OPENING_BRACKET_ACCESSOR,require:function(t){return t.expressionTags},visitor:F}),s}(this.OpeningBracketTag,this.BracketAccessorExpression,this.BracketAccessorStatement),this.ClosingBracketAccessorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.expressionContextTags},visitor:function(t,n,e,i){e.expression.property.closing=n}}),e}(this.ClosingBracketTag),n=new this.ClosingBracketAccessorTag}.call(this,null),function(n){this.CommaExpression=function(){function n(t,n){i.call(this,t,","),this.add(n)}return n=new t(n,i)}(),this.CommaStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().add(this.expression)},try:function(t,n){return","!==n.content?null:(this.out().add(this.expression),this.bindingOf())}}),n}(),this.CommaTag=function(e,i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({get binding(){return n},getBoundExpression:function(t,n){return new i(t,n.expression)},getBoundStatement:function(t){return new r(t)},regexp:/,/,require:function(t){return t.expressionTags},visitor:F}),s}(this.ExpressionSeparatorTag,this.CommaExpression,this.CommaStatement),this.CommaSiblingTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({visitor:function(t,n,i,r){r.statement=new e(r)}}),i}(this.CommaTag,this.CommaStatement),n=new this.CommaSiblingTag}.call(this,null),function(){this.UnaryExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({extractTo:function(t){t.appendContext(this.context),this.operand.extractTo(t)},operand:null}),n}(),this.UnaryStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(){this.out().operand=this.expression},try:function(t,n){var e=this.expression;this.target.expression.context.tag.isSeparator(n,e)&&(this.out().operand=e)}}),n}(),this.UnaryTag=function(n,e,i){function r(t){h.call(this,t)}return(r=new t(r,h)).props({$class:x,getBoundExpression:function(t){return new n(t)},getBoundStatement:function(t){return new e(t)},isSeparator:function(t){return t.tag instanceof i},require:function(t){return t.expressionTags},visitor:F}),r}(this.UnaryExpression,this.UnaryStatement,this.ExpressionSeparatorTag),this.UnaryKeywordTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){t.appendString(n),t.appendSpace()}}),e}(this.UnaryTag)}.call(this),function(n){this.ExecutableExpression=function(){function n(t){o.call(this,t)}return n=new t(n,o)}(),this.ExecTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({isSeparator:function(t,n){return n instanceof e||i.call(this,t)}}),r}(this.ExecutableExpression,n.prototype.isSeparator)}.call(this,this.UnaryKeywordTag),function(n,e){this.DeleteTag=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({regexp:/delete/}),n}(),this.NewTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/new/,require:function(t){return t.newContextTags}}),e}(this.ExecTag),this.TypeofTag=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({regexp:/typeof/}),n}(),this.VoidTag=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({regexp:/void/}),n}(),this.PlusTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/\+/,require:function(t){return t.plusContextTags}}),e}(),this.PlusSiblingTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){t.appendSpace(),t.appendString(n)},order:p.PLUS_SIBLING}),e}(this.PlusTag),this.NegationTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/-/,require:function(t){return t.negationContextTags}}),e}(),this.NegationSiblingTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){t.appendSpace(),t.appendString(n)},order:p.NEGATION_SIBLING}),e}(this.NegationTag),this.BitwiseNOTTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/~/}),e}(),this.LogicalNOTTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/!/}),e}()}.call(this,this.UnaryTag,this.UnaryKeywordTag),function(n){this.PostfixUnaryExpression=function(n){function e(t,e){n.call(this,t),this.operand=e}return(e=new t(e,n)).props({extractTo:function(t){this.operand.extractTo(t),t.appendContext(this.context)}}),e}(this.UnaryExpression),this.UnaryAssignmentStatement=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({catch:function(t,n){this.target.expression.context.tag.operable(t,this.expression)?this.out().operand=this.expression:e(t,this)},try:function(t,n){var i=this.expression,r=this.target.expression.context.tag;switch(!1){case r.isSeparator(n,i):return;case r.operable(t,i):return void e(t,this)}this.out().operand=i}}),i}(this.UnaryStatement,function(t,n){t.error(n.target.expression.context,l.PREFIX_OPERATION,!0)}),this.UnaryAssignmentTag=function(n,e,i,r,s){function o(t){n.call(this,t)}return(o=new t(o,n)).props({getBoundStatement:function(t){return new i(t)},operable:function(t,n){if(n instanceof r){var e=n.context;switch(!0){case n instanceof s:break;case e.tag.collected(t,e,t.statements):return!1}return!0}return!1},order:p.UNARY_ASSIGNMENT}),o}(this.UnaryTag,this.UnaryExpression,this.UnaryAssignmentStatement,this.AssignableExpression,this.AccessorExpression),this.PostfixUnaryAssignmentTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({$class:d,getBoundExpression:function(t,n){return new e(t,n.expression)},order:p.POSTFIX_UNARY_ASSIGNMENT,require:function(t){return t.expressionContextTags.newlineTags},visitor:function(t,n,e,i){this.operable(t,e.expression)?n.setExpressionOf(e):t.error(n,l.POSTFIX_OPERATION,!0)}}),i}(this.UnaryAssignmentTag,this.PostfixUnaryExpression)}.call(this,this.VariableTag),function(n,e){this.IncrementTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/\+\+/,require:function(t){return t.plusContextTags}}),e}(),this.IncrementSiblingTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){t.appendSpace(),t.appendString(n)}}),e}(this.IncrementTag),this.PostfixIncrementTag=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({regexp:/\+\+/}),n}(),this.DecrementTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/--/,require:function(t){return t.negationContextTags}}),e}(),this.DecrementSiblingTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){t.appendSpace(),t.appendString(n)}}),e}(this.DecrementTag),this.PostfixDecrementTag=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({regexp:/--/}),n}()}.call(this,this.UnaryAssignmentTag,this.PostfixUnaryAssignmentTag),function(){this.BinaryExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({extractTo:function(t){this.left.extractTo(t),t.appendContext(this.context),this.right.extractTo(t)},last:null,left:null,right:null}),n}(),this.BinaryStatement=function(n){function e(t){a.call(this,t)}return(e=new t(e,a)).props({catch:function(t,e){n(this)},try:function(t,e){this.target.expression.context.tag.isSeparator(e)&&n(this)}}),e}(function(t){t.out().last.right=t.expression}),this.BinaryTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({getBoundExpression:function(t){return new e(t)},getBoundStatement:function(t){return new i(t)},isSeparator:function(t){return t.tag instanceof n},order:p.BINARY,precedence:0,require:function(t){return t.expressionTags},visitor:function(t,n,i,r){var s=i.expression,o=this.precedence;if(s instanceof e&&s.context.tag.precedence"!==t.content},visitor:function(t,n,i,s){var o=i.expression;switch(!0){case r(t,o):var u=n.setExpressionOf(i);u.left=o,u.last=u;break;case o instanceof e:var a=o.last,p=a.right;if(0===a.context.tag.precedence&&r(t,p)){(a.right=o.last=n.setExpressionOf(new c(s))).left=p;break}default:return void t.error(n,l.ASSIGNMENT,!0)}n.setStatementOf(s)}}),s}(this.BinaryExpression,n.prototype.isSeparator,function(t,n){if(n instanceof e){if(n instanceof i){var s=n.context,o=s.tag;switch(!0){case o instanceof r:break;case o.collected(t,s,t.statements):return!1}}return!0}return!1}),this.BinaryKeywordTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){t.appendSpace(),t.appendString(n),t.appendSpace()}}),e}()}.call(this,this.BinaryTag,this.AssignableExpression,this.IdentifierExpression,this.VariableDeclarationTag),function(n,e,i){this.BasicAssignmentTag=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({regexp:/=/}),n}(),this.ShorthandAssignmentTag=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({order:p.SHORTHAND_ASSIGNMENT,regexp:/\+=|-=|\*=|\/=|%=|<<=|>>=|>>>=|\&=|\|=|\^=/}),n}(),this.LogicalORTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.LOGICAL_OR,precedence:1,regexp:/\|\|/}),e}(),this.LogicalANDTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.LOGICAL_AND,precedence:2,regexp:/\&\&/}),e}(),this.BitwiseORTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:3,regexp:/\|/}),e}(),this.BitwiseXORTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:4,regexp:/\^/}),e}(),this.BitwiseANDTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:5,regexp:/\&/}),e}(),this.IdentityTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.IDENTITY,precedence:6,regexp:/===/}),e}(),this.NonidentityTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.NONIDENTITY,precedence:6,regexp:/!==/}),e}(),this.EqualityTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.EQUALITY,precedence:6,regexp:/==/}),e}(),this.InequalityTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.INEQUALITY,precedence:6,regexp:/!=/}),e}(),this.LessThanOrEqualTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.LESS_THAN_OR_EQUAL,precedence:7,regexp:/<=/}),e}(),this.GreaterThanOrEqualTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.GREATER_THAN_OR_EQUAL,precedence:7,regexp:/>=/}),e}(),this.LessThanTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:7,regexp://}),e}(),this.InstanceofTag=function(){function n(t){i.call(this,t)}return(n=new t(n,i)).props({precedence:7,regexp:/instanceof/}),n}(),this.InTag=function(){function n(t){i.call(this,t)}return(n=new t(n,i)).props({precedence:7,regexp:/in(?!stanceof)/}),n}(),this.UnsignedRightShiftTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.UNSIGNED_RIGHT_SHIFT,precedence:8,regexp:/>>>/}),e}(),this.LeftShiftTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({order:p.LEFT_SHIFT,precedence:8,regexp:/<>/}),e}(),this.AdditionTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:9,regexp:/\+/,require:function(t){return t.plusContextTags}}),e}(),this.SubtractionTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:9,regexp:/-/,require:function(t){return t.negationContextTags}}),e}(),this.DivisionTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:10,regexp:/\//}),e}(),this.MultiplicationTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:10,regexp:/\*/}),e}(),this.RemainderTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({precedence:10,regexp:/%/}),e}()}.call(this,this.BinaryTag,this.AssignmentTag,this.BinaryKeywordTag),function(n){this.QuestionAssignmentExpression=function(n){function e(t,e){n.call(this,t),this.variable=e}return(e=new t(e,n)).props({extractTo:function(t){var n=this.variable;t.appendString("(("+n+"="),this.right.extractTo(t),t.appendString(")!==void 0?"),this.left.extractTo(t),t.appendString("="+n+":"+n+")")},variable:""}),e}(this.BinaryExpression),this.QuestionAssignmentTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({getBoundExpression:function(t,n){return new e(t,n.statements.collections.generate())},regexp:/\?=/,visitor:function(t,n,e,r){y.rexjs?i.call(this,t,n,e,r):t.error(n)}}),r}(this.QuestionAssignmentExpression,n.prototype.visitor)}.call(this,this.ShorthandAssignmentTag),function(n){this.ExponentiationExpression=function(e){function i(t,e){n.call(this,t,e)}return(i=new t(i,n)).props({extractTo:function(t){if(y.es6Base)return t.appendString("(Math.pow("),this.left.extractTo(t),t.appendString(","),this.right.extractTo(t),void t.appendString("))");e.call(this,t)}}),i}(n.prototype.extractTo),this.ExponentiationTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundExpression:function(t){return new e(t)},order:p.EXPONENTIATION,precedence:11,regexp:/\*\*/}),i}(this.BinaryTag,this.ExponentiationExpression)}.call(this,this.BinaryExpression),function(n){this.TernaryExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({condition:null,extractTo:function(t){this.condition.extractTo(t),t.appendContext(this.context),this.positive.extractTo(t),t.appendContext(this.colonContext),this.negative.extractTo(t)},negative:null,positive:null}),n}(),this.PositiveStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return":"!==n.content?(t.error(n),null):(this.out().positive=this.expression,this.bindingOf())},try:function(t,n){","===n.content&&t.error(n)}}),n}(),this.NegativeStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().negative=this.expression},try:function(t,n){","===n.content&&(this.out().negative=this.expression)}}),n}(),this.QuestionTag=function(e,i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({get binding(){return n},regexp:/\?/,require:function(t){return t.expressionTags},visitor:function(t,n,e,s){var o=new i(n);o.condition=e.expression,e.expression=o,s.statement=new r(s)}}),s}(this.ExpressionSeparatorTag,this.TernaryExpression,this.PositiveStatement),this.ColonTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({regexp:/:/,require:function(t){return t.expressionTags},visitor:function(t,e,i,r){i.expression.colonContext=e,r.statement=new n(r)}}),e}(this.NegativeStatement),n=new this.ColonTag}.call(this,null),function(n,e,s){this.CallExpression=function(e,r,s,o){function u(t,e){n.call(this,t),this.operand=e.expression,this.inner=new i(null,","),e instanceof s&&(this.new="new"===e.target.expression.context.content)}return(u=new t(u,n)).props({accessTo:function(t){var n=this.operand,e=this.boundThis;t.appendString("("+e+"="),n.object.extractTo(t),t.appendString(")"),n instanceof r?n.property.extractTo(t):(t.appendContext(n.context),t.appendContext(n.property)),t.appendString(".apply("+e+",Rexjs.SpreadItem.combine"),o.call(this,t),t.appendString(")")},boundThis:"void 0",extractTo:function(t){if(this.spread&&y.es6Base)switch(!0){case this.new:return void this.newTo(t);case this.operand instanceof e:return void this.accessTo(t);default:return void this.spreadTo(t)}this.operand.extractTo(t),o.call(this,t)},new:!1,newTo:function(t){t.appendString("(Function.bind.apply("),this.operand.extractTo(t),t.appendString(",Rexjs.SpreadItem.combine"),t.appendContext(this.opening),t.appendString(this.boundThis+","),this.inner.extractTo(t),t.appendContext(this.closing),t.appendString("))()")},operand:null,spread:!1,spreadMatched:function(t){this.spread||(this.operand instanceof e&&(this.boundThis=t.collections.generate()),this.spread=!0)},spreadTo:function(t){t.appendString("(Function.apply.call("),this.operand.extractTo(t),t.appendString(","+this.boundThis+",Rexjs.SpreadItem.combine"),o.call(this,t),t.appendString("))")}}),u}(this.AccessorExpression,this.BracketAccessorExpression,this.UnaryStatement,n.prototype.extractTo),this.CallStatement=function(){function n(t){a.call(this,t),this.expression=new r(null)}return(n=new t(n,a)).props({catch:function(t,n){return")"!==n.content?(t.error(n,l.CALL),null):(this.out().inner.set(this.expression),this.bindingOf())},try:function(t,n){return","!==n.content?null:(this.out().inner.add(this.expression),this.tagOf().separator)}}),n}(),this.OpeningCallTag=function(n,i,r){function o(t){n.call(this,t)}return(o=new t(o,n)).props({$class:d,get binding(){return s},getBoundExpression:function(t,n){return new i(t,n)},getBoundStatement:function(t){return new r(t)},order:p.OPENING_CALL,require:function(t){return t.parameterTags},get separator(){return e},visitor:F}),o}(this.OpeningParenTag,this.CallExpression,this.CallStatement),this.ParameterSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.parameterTags},visitor:function(t,n,i,r){r.statement=new e(r)}}),i}(this.CommaTag,this.CallStatement),this.ClosingCallTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.expressionContextTags},visitor:function(t,n,e,i){e.expression.closing=n}}),e}(this.ClosingParenTag),e=new this.ParameterSeparatorTag,s=new this.ClosingCallTag}.call(this,this.ExecutableExpression,null,null),function(){this.SpreadExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({extractTo:function(t){if(y.es6Base)return t.appendString("new Rexjs.SpreadItem("),this.operand.extractTo(t),void t.appendString(")");t.appendContext(this.context),this.operand.extractTo(t)},operand:null}),n}(),this.SpreadStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().operand=this.expression},try:function(t,n){","===n.content&&(this.out().operand=this.expression)}}),n}(),this.SpreadTag=function(n,e,i,r){function s(t){h.call(this,t)}return(s=new t(s,h)).props({getBoundExpression:function(t,e){return e.target.expression.spreadMatched(e.statements),new n(t)},getBoundStatement:function(t){return new e(t)},order:p.SPREAD,regexp:/\.{3}/,require:function(t){return t.expressionTags},visitor:F}),s}(this.SpreadExpression,this.SpreadStatement,this.AccessorExpression,this.CallExpression.DEFAULT_BOUND_THIS)}.call(this),function(){this.DestructibleExpression=function(){function n(t){o.call(this,t),this.inner=new i(null,",")}return(n=new t(n,o)).props({convert:function(){},declaration:!1,setVariableOf:function(t,n){var e=n.collections;t.variable=this.declaration&&!n.contextGeneratorIfNeedCompile?e.provide():e.generate()},toDestructuring:function(){},toDestructuringItem:function(){}}),n}(),this.DestructuringExpression=function(n){function e(t,e){n.call(this,t),this.origin=e}return(e=new t(e,n)).props({compileTo:function(){},extractTo:function(t,n){this.origin.extractTo(t)},origin:null}),e}(this.AssignableExpression),this.DestructuringItemExpression=function(e){function i(t){e.call(this,t.context,t)}return(i=new t(i,e)).props({compileTo:function(t,e){var i=new n;this.origin.extractTo(i),t.appendString(","+i.result+"="+e.result)},getVariableBuilder:function(t,e){switch(this.origin.inner.length){case 0:return null;case 1:return e}var i=this.variable,r=new n;return r.appendString(i),t.appendString(","+i+"="+e.result),r},rest:!1,variable:""}),i}(this.DestructuringExpression),this.DestructuringDefaultItemExpression=function(e){function i(t,n){e.call(this,t),y.es6Base&&(this.variable=n.collections.generate())}return(i=new t(i,e)).props({compileTo:function(t,n){this.toTernary(this.origin,t,n)},toTernary:function(t,e,i){var r=this.variable,s=new n,o=new n;t.left.extractTo(s),t.right.extractTo(o),e.appendString(","+s.result+"=("+r+"="+i.result+","+r+"===void 0?"+o.result+":"+r+")")}}),i}(this.DestructuringItemExpression),this.PropertyDestructuringItemExpression=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({compileTo:function(t,e){var i=this.origin,r=new n;r.appendString(e.result+".get("),i.name.defineTo(r),r.appendString(")"),i.value.destructTo(t,r)}}),i}(this.DestructuringItemExpression),this.PropertyDestructuringRestItemExpression=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({compileTo:function(t,e){var i=new n;this.origin.value.operand.extractTo(i),t.appendString(","+i.result+"="+e.result+".rest")},rest:!0}),i}(this.PropertyDestructuringItemExpression),this.PropertyDestructuringDefaultItemExpression=function(e){function i(t,n,i){e.call(this,t,i),this.assignment=n}return(i=new t(i,e)).props({assignment:null,extractTo:function(t){var n=this.origin,e=n.value;n.name.extractTo(t),t.appendContext(e.context),e.operand.extractTo(t)},compileTo:function(t,e){var i=this.origin,r=new n;r.appendString(e.result+".get("),i.name.defineTo(r),r.appendString(")"),this.toTernary(this.assignment,t,r)}}),i}(this.DestructuringDefaultItemExpression)}.call(this),function(n){this.DeclarationRestStatement=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({out:function(){return e.call(this).origin}}),i}(n.prototype.out),this.DeclarationRestItemSeparatorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$type:m,visitor:function(t,n,e,i){t.error(e.target.expression.context,l.REST_ELEMENT)}}),e}(this.CommaTag)}.call(this,this.SpreadStatement),function(e,i,o,u,c,p,h,f,g,T,d){this.ArrayDestructuringExpression=function(){function n(t){i.call(this,t.opening,t)}return(n=new t(n,i)).props({compileTo:function(t,n){this.origin.inner.forEach(d,t,n)}}),n}(),this.ArrayDestructuringItemExpression=function(){function n(t){o.call(this,t)}return(n=new t(n,o)).props({compileTo:function(t,n){this.origin.inner.forEach(d,t,this.getVariableBuilder(t,n))}}),n}(),this.ArrayDestructuringRestItemExpression=function(){function e(t){o.call(this,t)}return(e=new t(e,o)).props({compileTo:function(t,e){var i=new n;this.origin.operand.extractTo(i),t.appendString(","+i.result+"="+e.result)},rest:!0}),e}(),this.ArrayExpression=function(n,s,a,c,l,g,T){function x(t){e.call(this,t)}return(x=new t(x,e)).props({convert:function(t){for(var n=this.inner,s=n.min,l=n.length;s1&&this.setVariableOf(e,t.statements),this.convert(t,this.inner),e}}),x}(this.ArrayDestructuringExpression,this.ArrayDestructuringItemExpression,this.ArrayDestructuringRestItemExpression,this.SpreadExpression,e.prototype.extractTo,function(t,n){if(n instanceof c){var e=n.context;return e.tag.collected(t,e,t.statements)}return!1},function(t,n,e){t.error(n.context,e?l[e]:null)}),this.ArrayStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){switch(n.content){case",":return this.out().inner.add(this.expression),this.tagOf().separator;case"]":return this.out().inner.set(this.expression),this.bindingOf()}t.error(n)},expression:new s,try:function(t,n){return","!==n.content?null:(this.out().inner.add(this.expression),this.tagOf().separator)}}),n}(),this.OpeningArrayTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({$class:x,get binding(){return g},getBoundExpression:function(t){return new e(t)},getBoundStatement:function(t){return new i(t)},get separator(){return T},require:function(t){return t.openingArrayContextTags},visitor:F}),r}(this.OpeningBracketTag,this.ArrayExpression,this.ArrayStatement),this.ArrayItemSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.openingArrayContextTags},visitor:function(t,n,i,s){(s.statement=new e(s)).expression=new r(null)}}),i}(this.CommaTag,this.ArrayStatement),this.ClosingArrayTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.destructibleExpressionContextTags},visitor:function(t,n,e,i){e.expression.closing=n}}),e}(this.ClosingBracketTag),T=new this.ArrayItemSeparatorTag,g=new this.ClosingArrayTag}.call(this,this.DestructibleExpression,this.DestructuringExpression,this.DestructuringItemExpression,this.DestructuringDefaultItemExpression,this.IdentifierExpression,this.AssignableExpression,this.BinaryExpression,this.BasicAssignmentTag,null,null,function(t,e,i,r){if(!t.empty){var s=new n;s.appendString(i.result+(t.rest?".slice("+r+")":"["+r+"]")),t.compileTo(e,s)}}),function(){this.ArraySpreadItemExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t){if(y.es6Base)return t.appendString("new Rexjs.SpreadItem("),this.operand.extractTo(t),void t.appendString(")");t.appendContext(this.context),this.operand.extractTo(t)}}),e}(this.SpreadExpression),this.ArraySpreadTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundExpression:function(t,n){return n.target.expression.spread=!0,new e(t)}}),i}(this.SpreadTag,this.ArraySpreadItemExpression)}.call(this),function(n,e,i,r){this.DeclarationArrayExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({arrayOf:null,declaration:!0,convert:function(){}}),e}(this.ArrayExpression),this.DeclarationArrayItemAssignmentReadyStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return this.out(),null},try:function(t,n){return","===n.content&&this.out(),null}}),n}(),this.OpeningDeclarationArrayTag=function(e,s){function o(t){n.call(this,t)}return(o=new t(o,n)).props({get binding(){return r},getArrayOf:function(t){return t.target.expression},getBoundExpression:function(t){return new e(t)},get separator(){return i},require:function(t){return t.openingDeclarationArrayContextTags},visitor:function(t,n,e,i){s.call(this,t,n,e,i),e.expression.arrayOf=this.getArrayOf(e)}}),o}(this.DeclarationArrayExpression,n.prototype.visitor),this.DeclarationArrayItemTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({getArrayStatement:function(t){return t},getBoundExpression:function(t){return new e(new i(t))},require:function(t){return t.declarationArrayItemContextTags},visitor:function(t,n,e,i){n.setExpressionOf(e),(n.tag=this.getArrayStatement(e).target.expression.arrayOf.context.tag.variable).collectTo(t,n,i)}}),r}(this.VariableDeclarationTag,this.DestructuringItemExpression,this.IdentifierExpression),this.DeclarationArrayItemSeparatorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.openingDeclarationArrayContextTags}}),e}(this.ArrayItemSeparatorTag),this.DeclarationArrayItemAssignmentTag=function(n,i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({visitor:function(t,e,s,o){var u=new n(o);u.expression=s.expression,o.statement=u,r.call(this,t,e,u,o),s.expression=new i(u.expression,o)}}),s}(this.DeclarationArrayItemAssignmentReadyStatement,this.DestructuringDefaultItemExpression,e.prototype.visitor),this.ClosingDeclarationArrayTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$type:E,require:function(t){return t.destructuringAssignmentTags}}),e}(this.ClosingArrayTag),i=new this.DeclarationArrayItemSeparatorTag,r=new this.ClosingDeclarationArrayTag}.call(this,this.OpeningArrayTag,this.BasicAssignmentTag,null,null),function(){this.DeclarationArrayRestItemTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getArrayStatement:function(t){return t.target},getBoundExpression:function(t){return new e(t)},require:function(t){return t.declarationArrayRestItemContextTags}}),i}(this.DeclarationArrayItemTag,this.IdentifierExpression),this.DeclarationArrayRestTag=function(n,e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({getBoundExpression:function(t){return new e(new i(t))},getBoundStatement:function(t){return new r(t)},require:function(t){return t.declarationArrayRestItemTags}}),s}(this.ArraySpreadTag,this.ArrayDestructuringRestItemExpression,this.ArraySpreadItemExpression,this.DeclarationRestStatement)}.call(this),function(n,e){this.OpeningNestedDeclarationArrayItemTag=function(n){function i(t){n.call(this,t)}return(i=new t(i,n)).props({get binding(){return e},getArrayOf:function(t){return t.target.expression.arrayOf}}),i}(this.OpeningDeclarationArrayTag),this.ClosingNestedDeclarationArrayItemTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.declarationArrayItemSeparatorTags},visitor:function(t,n,i,r){e.call(this,t,n,i,r),i.expression=i.expression.toDestructuringItem(t)}}),i}(n.prototype.visitor),e=new this.ClosingNestedDeclarationArrayItemTag}.call(this,this.ClosingDeclarationArrayTag,null),function(n){this.BlockVariableCollections=function(n){function e(t){n.call(this,t.index,t)}return(e=new t(e,n)).props({initRex:function(t){this.rex=t.rex}}),e}(this.ECMAScriptVariableCollections),this.BlockExpression=function(n){function e(t,n){o.call(this,t),this.contextGeneratorIfNeedCompile=n.contextGeneratorIfNeedCompile}return(e=new t(e,o)).props({contextGeneratorIfNeedCompile:null,extractTo:function(t){this.contextGeneratorIfNeedCompile?this.inner.extractTo(t):n.call(this,t)},get state(){return A},set state(t){}}),e}(o.prototype.extractTo),this.BlockBodyStatements=function(n,e,i){function r(t){n.call(this,t,new i(t.collections)),this.closure=t.closure}return(r=new t(r,n)).props({declareTo:function(){},initStatement:function(){return new e(this)},scope:n.SCOPE_BLOCK}),r}(this.ECMAScriptStatements,this.BraceBodyStatement,this.BlockVariableCollections),this.OpeningBlockTag=function(e,i,r,s){function o(t){e.call(this,t)}return(o=new t(o,e)).props({$class:g,get binding(){return n},getBoundExpression:function(t,n){return new i(t,n.statements)},getBoundStatements:function(t){return new r(t)},require:function(t){return t.statementTags},visitor:function(t,n,e,i){n.setExpressionOf(e),n.setStatementsOf(t)}}),o}(this.OpeningBraceTag,this.BlockExpression,this.BlockBodyStatements,this.BlockVariableCollections),this.ClosingBlockTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.mistakableTags},visitor:function(t,n,e,i){e.expression.closing=n}}),e}(this.ClosingBraceTag),n=new this.ClosingBlockTag}.call(this,null),function(i,r){this.FunctionExpression=function(r,o,u){function a(t){e.call(this,t)}return(a=new t(a,e)).props({arguments:null,body:null,get currentIndexString(){return this.variable+".index.current"},extractTo:function(t){var e,s,u,a,c,l,p=new n;if(this.head.extractTo(t),this.star){if(y.es6Base){var h=this.body.inner,f=h.collections;return this.variable=f.generate(),this.name.extractTo(t),this.arguments.extractTo(t,p),t.appendString("{var "+f.rex.toString("",",","")),this.ranges.forEach(r,t),t.appendString(";"),this.hoistings.forEach(o,t),s=p,u=h,a=t,c=(e=this).variable,l=e.currentIndexString,a.appendString(s.result+c+"= new Rexjs.FunctionIterator(function(){for(;;){switch("+l+"){case "+e.index+":"),i.call(u,a),void a.appendString("default:"+l+"=NaN;return void 0;}}},this,arguments);return new Rexjs.Generator("+c+");}")}t.appendContext(this.star)}this.name.extractTo(t),this.arguments.extractTo(t,p),this.body.extractTo(t,p)},head:null,hoistings:null,index:0,name:new s,nextIndex:function(t){return++this.index},ranges:null,star:null,toGenerator:function(t){this.star=t,this.ranges=[],this.hoistings=[]},variable:""}),a}(function(t){t.forEach(r,this)},function(t){t.extractTo(this)}),this.FunctionTag=function(n){function i(t){h.call(this,t)}return(i=new t(i,h)).props({$class:x,regexp:/function/,require:function(t){return t.functionContextTags},visitor:function(t,i,r,s){(r.expression=new n(i)).head=new e(i)}}),i}(this.FunctionExpression),this.StarTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\*/,require:function(t){return t.starContextTags},visitor:function(t,n,e,i){e.expression.toGenerator(n)}}),n}(),this.FunctionNameTag=function(n,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({extractTo:function(t,n){t.appendSpace(),t.appendString(n)},require:function(t){return t.functionArgumentTags},visitor:function(t,n,i,r){i.expression.name=new e(n)}}),r}(this.VariableDeclarationTag,this.FunctionDeclarationExpression)}.call(this,t.Statements.prototype.extractTo,function(t,n){n.appendString(","+t)}),function(n){this.FunctionDeclarationExpression=function(n){function i(t){n.call(this,t),this.head=new e(t)}return(i=new t(i,n)).props({get state(){return A},set state(t){}}),i}(this.FunctionExpression),this.FunctionDeclarationTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({$class:g,require:function(t){return t.functionDeclarationContextTags},visitor:function(t,n,i,s){var o=new e(n),u=s.contextGeneratorIfNeedCompile;if(u&&s===s.closure)return i.expression=new r(null),(s.statement=new c(s)).expression=o,void u.hoistings.push(o);i.expression=o}}),i}(this.FunctionTag,this.FunctionDeclarationExpression),this.FunctionDeclarationStarTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.functionDeclarationStarContextTags}}),e}(this.StarTag),this.FunctionVariableTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({order:p.FUNCTION_VARIABLE,visitor:function(t,n,i,r){this.collectTo(t,n,r),e.call(this,t,n,i,r)}}),i}(n.prototype.visitor)}.call(this,this.FunctionNameTag),function(n,e){this.ArgumentsExpression=function(n){function e(t){o.call(this,t),this.inner=new i(null,","),this.collection=new n}return(e=new t(e,o)).props({collection:null}),e}(t.VariableCollection),this.ArgumentExpression=function(n){function e(t){n.call(this,t)}return e=new t(e,n)}(this.IdentifierExpression),this.ArgumentStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({expression:new s,catch:function(t,n){var e=this.out().arguments.inner;switch(n.content){case",":return e.add(this.expression),this.tagOf().separator;case")":return e.set(this.expression),this.bindingOf()}t.error(n)},try:function(t,n){return","!==n.content?null:(this.out().arguments.inner.add(this.expression),this.tagOf().separator)},tagOf:function(){return this.target.expression.arguments.opening.tag}}),n}(),this.OpeningArgumentsTag=function(i,r,s){function o(t){i.call(this,t)}return(o=new t(o,i)).props({get binding(){return e},get separator(){return n},require:function(t){return t.openingArgumentsContextTags},visitor:function(t,n,e,i){e.expression.arguments=new r(n),i.statement=new s(i)}}),o}(this.OpeningParenTag,this.ArgumentsExpression,this.ArgumentStatement),this.ArgumentNameTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({collectTo:function(t,n,e){var i=n.content;e.contains(i)?t.error(n,l.DUPLICATE_PARAMETER_NAME):e.collect(i)},require:function(t){return t.argumentNameContextTags},visitor:function(t,n,i,r){this.collectTo(t,n,i.target.expression.arguments.collection),i.expression=new e(n)}}),i}(this.VariableDeclarationTag,this.ArgumentExpression),this.ArgumentSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.argumentSeparatorContextTags},visitor:function(t,n,i,r){r.statement=new e(r)}}),i}(this.CommaTag,this.ArgumentStatement),this.ClosingArgumentsTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$type:E,require:function(t){return t.functionBodyTags},visitor:function(t,n,e,i){e.expression.arguments.closing=n}}),e}(this.ClosingParenTag),n=new this.ArgumentSeparatorTag,e=new this.ClosingArgumentsTag}.call(this,null,null),function(n){this.DefaultArgumentExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({assignment:null,extractTo:function(t,n){if(y.es6Base){var e=this.context;return t.appendContext(e),n.appendContext(e),n.appendString("===void 0&&("),this.assignment.extractTo(n),void n.appendString(");")}this.assignment.extractTo(t)}}),e}(this.ArgumentExpression),this.ArgumentAssignmentStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().assignment=this.expression},try:function(t,n){","===n.content&&(this.out().assignment=this.expression)}}),n}(),this.ArgumentAssignmentTag=function(e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({visitor:function(t,n,s,o){var u=s.expression;s.expression=new e(u.context),(o.statement=s=new i(o)).expression=u,r.call(this,t,n,s,o)}}),s}(this.DefaultArgumentExpression,this.ArgumentAssignmentStatement,n.prototype.visitor)}.call(this,this.BasicAssignmentTag),function(){this.RestArgumentExpression=function(n){function e(t,e){n.call(this,t),this.index=e}return(e=new t(e,n)).props({name:null,extractTo:function(t,n){y.es6Base?(n.appendContext(this.name),n.appendString("=Rexjs.toArray(arguments,"+this.index+");")):t.appendContext(this.context),t.appendContext(this.name)},index:0}),e}(this.ArgumentExpression),this.RestTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundExpression:function(t,n){return new e(t,n.target.expression.arguments.inner.length)},require:function(t){return t.restArgumentNameTags},visitor:function(t,n,e){n.setExpressionOf(e)}}),i}(this.SpreadTag,this.RestArgumentExpression),this.RestArgumentNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.restArgumentNameContextTags},visitor:function(t,n,e,i){this.collectTo(t,n,e.target.expression.arguments.collection),e.expression.name=n}}),e}(this.ArgumentNameTag),this.RestArgumentSeparatorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$type:m,visitor:function(t,n,e,i){t.error(e.expression.context,l.REST_PARAMETER)}}),e}(this.ArgumentSeparatorTag)}.call(this),function(e){this.FunctionBodyExpression=function(e,i){function r(t){o.call(this,t)}return(r=new t(r,o)).props({extractTo:function(t,i){var r=i.result;0!==r.length?function(t,e,i){var r=e.inner,s=new n;switch(t.appendContext(e.opening),r[0].expression.extractTo(s),s.result){case"'use strict'":case'"use strict"':r[0].extractTo(t),t.appendString(";"),r.min=1}t.appendString(i),e.inner.extractTo(t),t.appendContext(e.closing)}(t,this,r):e.call(this,t)},state:o.STATE_NONE}),r}(o.prototype.extractTo),this.FunctionBodyStatements=function(n,e,i,r){function s(t){n.call(this,t,new e(t.collections.index))}return(s=new t(s,n)).props({applySuper:function(t,n){t.error(n,l.template("KEYWORD",n.content))},applySuperCall:function(t,n){this.applySuper(t,n)},applyThis:function(){},get closure(){return this},set closure(t){},get contextGenerator(){var t=this.target.statement.target.expression;return t.star?t:null},get contextGeneratorIfNeedCompile(){return y.es6Base?this.contextGenerator:null},initStatement:function(){return new i(this)},scope:n.SCOPE_CLOSURE}),s}(this.ECMAScriptStatements,this.ECMAScriptVariableCollections,this.BraceBodyStatement,t.VariableIndex),this.OpeningFunctionBodyTag=function(n,i,r,s){function o(t){n.call(this,t)}return(o=new t(o,n)).props({get binding(){return e},getBoundExpression:function(t){return new i(t)},getBoundStatement:function(t){return new c(t)},getBoundStatements:function(t){return new r(t)},require:function(t){return t.statementTags},visitor:function(t,n,e,i){var r;n.setExpressionOf(n.setStatementOf(i)),r=(i=n.setStatementsOf(t)).collections.declaration,s(e.expression.arguments.collection,r.collect,r)}}),o}(this.OpeningBraceTag,this.FunctionBodyExpression,this.FunctionBodyStatements,t.forEach),this.ClosingFunctionBodyTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t,n,e){return(e.statements.statement.expression.state&A)===A?t.mistakableTags:t.expressionContextTags},visitor:function(t,n,e,i){e.expression.closing=n,e.out().body=e.expression}}),e}(this.ClosingBraceTag),e=new this.ClosingFunctionBodyTag}.call(this,null),function(n,e,i){this.TargetExpression=function(n){function e(t){n.call(this,t,null)}return(e=new t(e,n)).props({extractTo:function(t){t.appendString("new"),t.appendContext(this.context),t.appendContext(this.property)}}),e}(this.AccessorExpression),this.TargetAccessorTag=function(n,i){function r(t){e.call(this,t)}return(r=new t(r,e)).props({getBoundExpression:function(t){return new n(t)},require:function(t){return t.targetAccessorContextTags},visitor:function(t,n,e,r){i.call(this,t,n,r.statement=e.target,r)}}),r}(this.TargetExpression,e.prototype.visitor),this.TargetTag=function(n,e,r){function s(t){i.call(this,t)}return(s=new t(s,i)).props({order:p.TARGET,regexp:/target/,visitor:function(t,i,s,o){var u=o;t:do{switch(u.scope&e){case e:break t;case n:return void r.call(this,t,i,s,o);default:u=u.target}}while(u);t.error(s.expression.context,l.TARGET)}}),s}(n.SCOPE_CLOSURE,n.SCOPE_LAZY,i.prototype.visitor)}.call(this,this.ECMAScriptStatements,this.DotAccessorTag,this.PropertyNameTag),function(n,e,r,u,c,p,h,f){this.GroupingExpression=function(){function n(t){o.call(this,t),this.inner=new i(null,",")}return(n=new t(n,o)).props({asArguments:!1,restIndex:-1}),n}(),this.IllegibleRestArgumentExpression=function(){function n(t,n){u.call(this,t,n)}return(n=new t(n,u)).props({get name(){return this.operand.context},operand:null}),n}(),this.GroupingStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){if(")"!==n.content)return t.error(n),null;var e=this.out(),i=e.inner;return i.set(this.expression),0===i.length&&(e.asArguments=!0),this.bindingOf()},expression:new s,try:function(t,n){return","!==n.content?null:(this.out().inner.add(this.expression),this.tagOf().separator)}}),n}(),this.IllegibleRestArgumentStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().operand=this.expression},try:function(t,n){","===n.content&&(this.out().operand=this.expression)}}),n}(),this.GroupingContextStatement=function(e,i,r,s,o){function u(t){a.call(this,t)}return(u=new t(u,a)).props({catch:function(t,n){return this.try(t,n)},get expression(){return this.target.expression},try:function(t,o){var u=this.out();if("=>"===o.content){for(var a,c,l,p=u.inner,h=new e(u.opening),f=0,g=p.length;f-1?c.inner[l].context:c.closing))}}),u}(this.ArgumentsExpression,this.BinaryExpression,function(t,i,r,s,o){var a;if(i instanceof u){if(s!==o-1)return t.error(i.context,l.REST_PARAMETER),o;var c=i.operand;if(!(c instanceof n))return t.error(i.operand.context),o;a=c.context}else a=i.context,i=new e(a);return f.call(a.tag,t,a,r.collection),r.inner.add(i),s},function(t,e,i,s,o){var u=e.left,a=u.context;switch(!1){case u instanceof n:return t.error(u),o;case"="===e.context.content:return t.error(e.context),o;default:var c=new r(a);return c.assignment=e,f.call(a.tag,t,a,i.collection),i.inner.add(c),s}}),this.OpeningGroupingTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({$class:x,get binding(){return h},get separator(){return p},require:function(t){return t.openingGroupingContextTags},visitor:function(t,n,r,s){r.expression=new e(n),s.statement=new i(s)}}),r}(this.OpeningParenTag,this.GroupingExpression,this.GroupingStatement),this.IllegibleRestTag=function(n,e,i){function r(t){c.call(this,t)}return(r=new t(r,c)).props({getBoundExpression:function(t,e){return new n(t,e.target.expression.inner.length)},require:function(t){return t.expressionTags},visitor:function(t,n,r,s){var o=r.target.expression;i.call(this,t,n,r,s),s.statement=new e(s),o.asArguments||(o.asArguments=!0,o.restIndex=o.inner.length)}}),r}(this.IllegibleRestArgumentExpression,this.IllegibleRestArgumentStatement,c.prototype.visitor),this.GroupingSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.openingGroupingContextTags},visitor:function(t,n,i,r){r.statement=new e(r)}}),i}(this.CommaTag,this.GroupingStatement),this.ClosingGroupingTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.expressionContextTags},visitor:function(t,n,i,r){i.expression.closing=n,r.statement=new e(r)}}),i}(this.ClosingParenTag,this.GroupingContextStatement),p=new this.GroupingSeparatorTag,h=new this.ClosingGroupingTag}.call(this,this.IdentifierExpression,this.ArgumentExpression,this.DefaultArgumentExpression,this.RestArgumentExpression,this.RestTag,null,null,this.ArgumentNameTag.prototype.collectTo),function(e,i,r,o,u){this.ArrowFunctionExpression=function(){function i(t,n){e.call(this,t),this.arguments=n}return(i=new t(i,e)).props({extractTo:function(t){var e=new n;if(y.es6Base){var i=this.arguments;return t.appendString("(function"),i.compileTo(t,e),t.appendString("{"+e.result+"return function()"),e.result=i.collection.toString("",",",";"),this.body.compileTo(t,e),void t.appendString(".apply(this[0],this[1])}.bind([this, arguments]))")}this.arguments.extractTo(t,e),t.appendContext(this.context),this.body.extractTo(t,e)}}),i}(),this.SingleArgumentExpression=function(n,e){function i(t){n.call(this,null),this.inner.add(new e(t)),this.collection.collect(t.content)}return(i=new t(i,n)).props({compileTo:function(t){t.appendString("("),this.inner.extractTo(t),t.appendString(")")},extractTo:function(t){this.inner.extractTo(t)}}),i}(this.ArgumentsExpression,this.ArgumentExpression),this.ArrowFunctionBodyExpression=function(n){function e(t){n.call(this,null),this.inner=t}return(e=new t(e,n)).props({compileTo:function(t,n){var e=n.result;t.appendString("{"),e.length>0&&t.appendString(e),t.appendString("return "),this.inner.extractTo(t),t.appendString(";}")},extractTo:function(t,n){n.result.length>0?this.compileTo(t,n):this.inner.extractTo(t)}}),e}(this.FunctionBodyExpression),this.ArrowContextStatement=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({expression:new s,requestOut:function(t,n){this.out().body=new e(this.expression)},try:function(t,n){","===n.content&&this.requestOut(t,n)}}),i}(this.SingleStatement,this.ArrowFunctionBodyExpression),this.ArrowFunctionBodyStatements=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({applySuper:function(t,n){return this.target.closure.applySuper(t,n)},applySuperCall:function(t,n,e){return this.target.closure.applySuperCall(t,n,e)},applyThis:function(t,n){var e=this.target.closure;if(e)return e.applyThis(t,n)},get reference(){return this.target.reference},scope:n.SCOPE_LAZY}),e}(this.FunctionBodyStatements),this.ArrowTag=function(n,e,i,r,s,o){function u(t){n.call(this,t)}return(u=new t(u,n)).props({$class:d,order:p.ARROW,regexp:/=>/,require:function(t){return t.arrowContextTags},visitor:function(t,n,u,a){var c=u.expression;switch(!0){case c instanceof r:u.expression=new e(n,new i(c.context));break;case c instanceof s:u.expression=new e(n,c);break;default:return void t.error(c)}(c.state&w)!==w?a.statement=new o(a):t.error(n,l.NEWLINE_BEFORE_ARROW)}}),u}(this.ExpressionSeparatorTag,this.ArrowFunctionExpression,this.SingleArgumentExpression,this.IdentifierExpression,this.ArgumentsExpression,this.ArrowContextStatement),this.OpeningArrowFunctionBodyTag=function(n,e){function i(t){r.call(this,t)}return(i=new t(i,r)).props({get binding(){return u},getBoundStatements:function(t){return new n(t)},order:p.OPENING_ARROW_FUNCTION_BODY,visitor:function(t,n,i,r){i.out(),e.call(this,t,n,r.statement,r)}}),i}(this.ArrowFunctionBodyStatements,r.prototype.visitor),this.ClosingArrowFunctionBodyTag=function(n){function e(t){o.call(this,t)}return(e=new t(e,o)).props({require:function(t){return t.closingArrowFunctionBodyContextTags},visitor:function(t,e,i,r){i.expression.state=w,n.call(this,t,e,i,r)}}),e}(o.prototype.visitor),u=new this.ClosingArrowFunctionBodyTag}.call(this,this.FunctionExpression,this.ArgumentsExpression,this.OpeningFunctionBodyTag,this.ClosingFunctionBodyTag,null),function(){this.PropertyExpression=function(n){function e(){n.call(this,null,null)}return(e=new t(e,n)).props({get accessible(){return this.named(this.accessor)},accessor:null,compileTo:function(t,n){if(this.accessible)return t.appendString("Object.defineProperty("+n.result+","),this.name.defineTo(t),t.appendString(",{configurable:true,enumerable:true,"),t.appendString(this.accessor.content),this.value.defineTo(t),void t.appendString("}),");t.appendString(n.result),this.name.compileTo(t),this.value.compileTo(t),t.appendString(",")},get context(){return this.value.context},set context(t){},extractTo:function(t){var n=this.name,e=this.value;return this.accessible?(t.appendContext(this.accessor),t.appendSpace(),n.extractTo(t),void e.shortTo(t)):this.star?y.es6Base?(n.extractTo(t),void e.defineTo(t)):(e.operand.name=this.name,void e.extractTo(t)):(n.extractTo(t),void e.extractTo(t))},get last(){return this},set last(t){},get left(){return this.name},set left(t){},name:null,named:function(t){switch(t){case null:case this.name.context:break;default:return!0}return!1},requestVariableOf:function(t,n){var e=n.variable;return e||(n.variable=e=t.collections.generate()),e},get right(){return this.value.operand},set right(t){},star:null,setCompiledVariableTo:function(t,n){this.requestVariableOf(t,n),n.needCompile=!0},value:null}),e}(this.BinaryExpression),this.PropertyValueExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({defineTo:function(t){this.extractTo(t)},destructTo:function(t,n){this.destructuringItem?this.operand.compileTo(t,n):(t.appendString(","),this.operand.extractTo(t),t.appendString("="+n.result))},destructuringItem:!1,compileTo:function(t){t.appendString("="),this.operand.extractTo(t)},extractTo:function(t){t.appendContext(this.context),this.operand.extractTo(t)},operand:null}),n}(),this.PropertyValueStatement=function(n){function e(t){a.call(this,t)}return(e=new t(e,a)).props({catch:function(t,e){n(this)},try:function(t,e){","===e.content&&n(this)}}),e}(function(t){t.out().value.operand=t.expression}),this.PropertyStatement=function(n,e){function i(t){a.call(this,t),this.initExpression()}return(i=new t(i,a)).props({assigned:!1,catch:function(t,n){if("}"!==n.content)return t.error(n),null;var e=this.expression,i=this.out();switch(!0){case!e.name:break;case e.accessible:e.accessor.tag.checkFunction(t,e.value.operand,n);default:i.inner.add(e)}return this.bindingOf()},initExpression:function(){this.expression=new n},try:function(t,n){switch(n.content){case":":case"=":if(this.assigned)break;return this.assigned=!0,null;case",":return function(t,n,e,i){e.accessible&&e.accessor.tag.checkFunction(t,e.value.operand,i);return n.out().inner.add(e),n.tagOf().separator}(t,this,this.expression,n)}t.error(n)}}),i}(this.PropertyExpression),this.PropertyNameSeparatorTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({$type:D,require:function(t){return t.expressionTags},visitor:function(t,n,r,s){r.expression.value=new e(n),s.statement=new i(s)}}),r}(this.ColonTag,this.PropertyValueExpression,this.PropertyValueStatement)}.call(this),function(n,i,r,s){var o;this.LiteralPropertyNameExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({defineTo:function(t){t.appendContext(this.context)},compileTo:function(t){t.appendString("["),t.appendContext(this.context),t.appendString("]")}}),n}(),n=function(t){return t.propertyNameContextTags},i=function(t){return t.shorthandMethodArgumentsTags},o=this.LiteralPropertyNameExpression,r=function(t,n,e){e.expression.name=new o(n)},s=function(t,n,e,i){y.es6Base&&e.expression.setCompiledVariableTo(i,e.target.expression),r.call(this,t,n,e,i)},this.StringPropertyNameTag=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({require:n,visitor:r}),i}(this.StringTag),this.StringMethodNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:i}),e}(this.StringPropertyNameTag),this.NumberPropertyNameTag=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({require:n,visitor:r}),i}(this.NumberTag),this.NumberMethodNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:i}),e}(this.NumberPropertyNameTag),this.BinaryNumberPropertyNameTag=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({require:n,visitor:s}),i}(this.BinaryNumberTag),this.BinaryNumberMethodNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:i}),e}(this.BinaryNumberPropertyNameTag),this.OctalNumberPropertyNameTag=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({require:n,visitor:s}),i}(this.OctalNumberTag),this.OctalNumberMethodNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:i}),e}(this.OctalNumberPropertyNameTag)}.call(this,null,null,null,null),function(n,e,i){this.IdentifierPropertyNameExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({defineTo:function(t){t.appendString('"'),t.appendContext(this.context),t.appendString('"')},compileTo:function(t){t.appendString("."),t.appendContext(this.context)}}),e}(this.LiteralPropertyNameExpression),this.ShorthandPropertyValueExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({compileTo:function(t){t.appendString("="+this.context.content)},destructTo:function(t,n){t.appendString(","),t.appendContext(this.context),t.appendString("="+n.result)},extractTo:function(t){y.es6Base&&t.appendString(":"+this.context.content)}}),e}(this.PropertyValueExpression),this.IdentifierPropertyValueStatement=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({catch:function(t,n){var i=this.out();i.value=new e(i.name.context)},expression:new s,try:function(t,n){var i=this.out();","===n.content&&(i.value=new e(i.name.context))}}),i}(this.PropertyValueStatement,this.ShorthandPropertyValueExpression),this.IdentifierPropertyNameTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({order:p.IDENTIFIER_PROPERTY_NAME,require:function(t){return t.identifierPropertyNameContextTags},visitor:function(t,n,r,s){var o=r.expression;o.name=new e(n),o.value=new i(n)}}),r}(this.IdentifierPropertyNameExpression,this.ShorthandPropertyValueExpression),this.IdentifierMethodNameTag=function(e){function r(t){e.call(this,t)}return(r=new t(r,e)).props({regexp:new i(n.REGEXP_SOURCE),require:function(t){return t.shorthandMethodArgumentsTags}}),r}(this.IdentifierPropertyNameTag),this.WordPropertyNameTag=function(n,e){function r(t){n.call(this,t)}return(r=new t(r,n)).static({compileRegExp:function(t){return new i(t+e)}}),r.props({order:p.WORD_PROPERTY_NAME,regexp:/[A-Za-z]+/}),r}(this.IdentifierPropertyNameTag,"(?!\\d+|\\d*"+n.REGEXP_SOURCE+")"),this.KeywordPropertyNameTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({order:p.KEYWORD_PROPERTY_NAME,require:function(t){return t.propertyNameContextTags},visitor:function(t,n,i,r){i.expression.name=new e(n)}}),i}(this.WordPropertyNameTag,this.IdentifierPropertyNameExpression)}.call(this,this.IdentifierTag,this.PropertySeparatorTag,RegExp),function(n){this.PropertyInitializerExpression=function(e,i){function r(t,e){n.call(this,t),this.variable=e}return(r=new t(r,n)).props({compileTo:function(t){i(t,this,"=")},extractTo:function(t){y.rexjs?i(t,this,":"):e.call(this,t)},variable:null}),r}(n.prototype.extractTo,function(t,n,e){var i=n.variable.context.content;t.appendString(e+i+"===void 0?"),n.operand.extractTo(t),t.appendString(":"+i)}),this.PropertyInitializerTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({getBoundExpression:function(t,n){return new e(t,n.expression.name)},visitor:function(t,n,e,r){e.expression.value=this.getBoundExpression(n,e),r.statement=new i(r)}}),r}(this.BasicAssignmentTag,this.PropertyInitializerExpression,this.PropertyValueStatement)}.call(this,this.PropertyValueExpression),function(n,e){this.ComputedPropertyNameExpression=function(){function n(t){o.call(this,t)}return(n=new t(n,o)).props({compileTo:function(t){this.extractTo(t)},defineTo:function(t){t.appendString("("),this.inner.extractTo(t),t.appendString(")")}}),n}(),this.ObjectComputedNameStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return"]"!==n.content?(t.error(n),null):(this.out().name.inner=this.expression,this.bindingOf())},tagOf:function(){return this.target.expression.name.context.tag},try:function(t,n){","===n.content&&t.error(n)}}),n}(),this.OpeningComputedPropertyNameTag=function(e,i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({get binding(){return n},require:function(t){return t.expressionTags},visitor:function(t,n,e,s){e.expression.name=new i(n),y.es6Base&&e.expression.setCompiledVariableTo(s,e.target.expression),s.statement=new r(s)}}),s}(this.OpeningBracketTag,this.ComputedPropertyNameExpression,this.ObjectComputedNameStatement),this.ClosingComputedPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.propertyNameContextTags},visitor:function(t,n,e,i){e.expression.name.closing=n}}),e}(this.ClosingBracketTag),this.OpeningComputedMethodNameTag=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({get binding(){return n}}),i}(this.OpeningComputedPropertyNameTag),this.ClosingComputedMethodNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.shorthandMethodArgumentsTags}}),e}(this.ClosingComputedPropertyNameTag),n=new this.ClosingComputedPropertyNameTag,new this.ClosingComputedMethodNameTag}.call(this,null,null),function(n,e,i){this.ShorthandMethodExpression=function(n){function e(){n.call(this,null)}return(e=new t(e,n)).props({head:new s}),e}(this.FunctionExpression),this.ShorthandMethodValueExpression=function(n,e,i){function r(){n.call(this,null)}return(r=new t(r,n)).props({argumentTo:function(t){i(this,t,"")},defineTo:function(t){i(this,t,":")},compileTo:function(t){i(this,t,"=")},extractTo:function(t){y.es6Base?this.defineTo(t):this.shortTo(t)},shortTo:function(t){this.operand.extractTo(t)}}),r}(this.PropertyValueExpression,t.CompiledExpression,function(t,n,e){n.appendString(e+"function"),t.shortTo(n)}),this.ShorthandMethodValueStatement=function(n,e){function i(t){n.call(this,t),this.expression=new e}return(i=new t(i,n)).props({catch:function(t,n){return this.try(t,n)},try:function(t,n){this.out().value.operand=this.expression}}),i}(this.PropertyValueStatement,this.ShorthandMethodExpression),this.ShorthandMethodBodyStatements=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({applySuper:function(){},applySuperCall:function(t,n,e){t.error(e,l.SUPER_CALL)}}),e}(this.FunctionBodyStatements),this.PropertyStarTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.shorthandMethodNameTags},visitor:function(t,n,e,i){e.expression.star=n}}),e}(this.StarTag),this.OpeningShorthandMethodArgumentsTag=function(i,r,s){function o(t){n.call(this,t)}return(o=new t(o,n)).props({get binding(){return e},visitor:function(t,n,e,o){var u=e.expression,a=u.star;u.value=new i,e=new r(o),a&&e.expression.toGenerator(a),o.statement=e,s.call(this,t,n,e,o)}}),o}(this.ShorthandMethodValueExpression,this.ShorthandMethodValueStatement,n.prototype.visitor),this.ClosingShorthandMethodArgumentsTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.shorthandMethodBodyTags}}),e}(this.ClosingArgumentsTag),this.OpeningShorthandMethodBodyTag=function(n,e){function r(t){n.call(this,t)}return(r=new t(r,n)).props({get binding(){return i},getBoundStatements:function(t){return new e(t)}}),r}(this.OpeningFunctionBodyTag,this.ShorthandMethodBodyStatements),this.ClosingShorthandMethodBodyTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.propertySeparatorTags}}),e}(this.ClosingFunctionBodyTag),e=new this.ClosingShorthandMethodArgumentsTag,i=new this.ClosingShorthandMethodBodyTag}.call(this,this.OpeningArgumentsTag,null,null),function(n){this.PropertyAccessorTag=function(e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({checkFunction:function(t,n,i){if(n instanceof e){var r=n.arguments.inner.length;switch(!0){case rthis.maxArgs:t.error((n.arguments.inner[this.maxArgs]||n.arguments).context,l[this.errorType]);break;default:return!0}}else t.error(i);return!1},errorType:"",maxArgs:0,minArgs:0,require:function(t){return t.propertyAccessorContextTags},visitor:function(t,n,e,i){e.expression.accessor=n,r.call(this,t,n,e,i)}}),s}(this.FunctionExpression,this.AccessorStatement,n.prototype.visitor),this.GetTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({errorType:"GETTER",regexp:n.compileRegExp("get")}),e}(this.PropertyAccessorTag),this.SetTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({errorType:"SETTER",maxArgs:1,minArgs:1,regexp:n.compileRegExp("set")}),e}(this.PropertyAccessorTag)}.call(this,this.WordPropertyNameTag),function(){this.PropertySpreadExpression=function(n,e){function i(t){n.call(this),this.value=new e(t)}return(i=new t(i,n)).props({compileTo:function(t,n){t.appendString("Rexjs.SpreadItem.assign("+n.result+","),this.value.operand.extractTo(t),t.appendString("),")},extractTo:function(t){this.value.extractTo(t)},name:new s}),i}(this.PropertyExpression,this.SpreadExpression),this.PropertySpreadTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({visitor:function(t,n,r,s){var o=new e(n),u=new c(s);y.es6Base&&r.expression.setCompiledVariableTo(s,r.target.expression),r.expression=o,u.expression=o.value,s.statement=u,s.statement=new i(s)}}),r}(this.SpreadTag,this.PropertySpreadExpression,this.SpreadStatement)}.call(this),function(e,i,r,s){this.ObjectDestructuringExpression=function(){function n(t){e.call(this,t.opening,t)}return(n=new t(n,e)).props({compileTo:function(t,n){this.origin.inner.forEach(s,t,n)}}),n}(),this.ObjectDestructuringItemExpression=function(e){function i(t){e.call(this,t)}return(i=new t(i,e)).props({compileTo:function(t,e){var i=new n;i.appendString("new Rexjs.ObjectDestructuringTarget("+e.result+")"),this.origin.inner.forEach(s,t,this.getVariableBuilder(t,i))}}),i}(this.DestructuringItemExpression),this.ObjectExpression=function(i,r,s,o,u,a,c,l,p,h,f,g,T,x,d,m,E,D,C){function w(t){i.call(this,t)}return(w=new t(w,i)).props({convert:function(t){for(var n=this.inner,r=n.min,s=n.length;r1&&this.setVariableOf(e,t.statements),this.convert(t,this.inner),e},variable:""}),w}(this.DestructibleExpression,this.ObjectDestructuringExpression,this.ObjectDestructuringItemExpression,this.PropertyDestructuringItemExpression,this.PropertyDestructuringRestItemExpression,this.PropertyDestructuringDefaultItemExpression,this.LiteralPropertyNameExpression,this.ComputedPropertyNameExpression,this.ShorthandMethodExpression,this.PropertyInitializerExpression,this.IdentifierExpression,this.AssignableExpression,this.BinaryExpression,this.SpreadExpression,this.BasicAssignmentTag,o.prototype.extractTo,function(t,n,e){t.compileTo(n,e)},function(t,n,e){if(e){var i=n.context;return i.tag.collected(t,i,t.statements)}return!1},function(t,n,e){t.error(n.context,e?l[e]:null)}),this.OpeningObjectTag=function(n,e,s){function o(t){n.call(this,t)}return(o=new t(o,n)).props({$class:x,get binding(){return r},getBoundExpression:function(t){return new e(t)},getBoundStatement:function(t){return new s(t)},get separator(){return i},require:function(t){return t.propertyNameTags},visitor:F}),o}(this.OpeningBraceTag,this.ObjectExpression,this.PropertyStatement),this.PropertySeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundStatement:function(t){return new e(t)},require:function(t){return t.propertyNameTags},visitor:function(t,n,e,i){n.setStatementOf(i)}}),i}(this.CommaTag,this.PropertyStatement),this.ClosingObjectTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$type:E,require:function(t){return t.destructibleExpressionContextTags},visitor:function(t,n,e,i){e.expression.closing=n}}),e}(this.ClosingBraceTag),i=new this.PropertySeparatorTag,r=new this.ClosingObjectTag}.call(this,this.DestructuringExpression,null,null,function(t,n,e){t.compileTo(n,e)}),function(n,e,i,r,s){this.DeclarationObjectExpression=function(n){function e(t,e){n.call(this,t),this.objectOf=e}return(e=new t(e,n)).props({convert:function(){},declaration:!0,objectOf:null}),e}(this.ObjectExpression),this.PropertyDestructuringStatement=function(n,i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({bound:null,catch:function(t,e){var i=this.bound;return r(t,this,e,i,i,n)},try:function(t,n){return r(t,this,n,this.bound,","===n.content,i)}}),s}(e.prototype.catch,e.prototype.try,function(t,n,e,i,r,s){if(r){var o,u=n.target.expression.inner;return o=s.call(n,t,e),u[u.length-1]=u.latest=i,o}return s.call(n,t,e)}),this.OpeningDeclarationObjectTag=function(n,e,o){function u(t){i.call(this,t)}return(u=new t(u,i)).props({get binding(){return s},getBoundExpression:function(t,e){return new n(t,this.getObjectOf(e))},getBoundStatement:function(t){return new e(t)},getObjectOf:function(t){return t.target.expression},get separator(){return r},require:function(t){return t.declarationPropertyNameTags}}),u}(this.DeclarationObjectExpression,this.PropertyDestructuringStatement,i.prototype.visitor),this.DeclarationPropertySeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundStatement:function(t){return new e(t)},require:function(t){return t.declarationPropertyNameTags}}),i}(this.PropertySeparatorTag,this.PropertyDestructuringStatement),this.ClosingDeclarationObjectTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$type:E,require:function(t){return t.destructuringAssignmentTags}}),e}(this.ClosingObjectTag),r=new this.DeclarationPropertySeparatorTag,s=new this.ClosingDeclarationObjectTag}.call(this,this.PropertyDestructuringItemExpression,this.PropertyStatement,this.OpeningObjectTag,null,null),function(n,e,i,r){this.IdentifierDeclarationPropertyNameStatement=function(n){function e(t){a.call(this,t)}return(e=new t(e,a)).props({catch:function(t,e){return n(t,this,"}"===e.content)},expression:new s,try:function(t,e){return n(t,this,","===e.content)}}),e}(function(t,n,i){var r=n.out();if(i){var s=r.name.context,o=n.target.target.expression.objectOf.context.tag.variable;s.tag=o,o.collectTo(t,s,t.statements),n.target.bound=new e(r)}return null}),this.IdentifierDeclarationPropertyNameTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({require:function(t){return t.identifierDeclarationPropertyNameContextTags},visitor:function(t,n,r,s){i.call(this,t,n,r,s),s.statement=new e(s)}}),r}(this.IdentifierDeclarationPropertyNameStatement,n.prototype.visitor),this.NumberDeclarationPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:r}),e}(this.NumberPropertyNameTag),this.BinaryNumberDeclarationPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:r}),e}(this.BinaryNumberPropertyNameTag),this.OctalNumberDeclarationPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:r}),e}(this.OctalNumberPropertyNameTag),this.KeywordDeclarationPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:r}),e}(this.KeywordPropertyNameTag),this.StringDeclarationPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:r}),e}(this.StringPropertyNameTag),this.OpeningComputedDeclarationPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({get binding(){return i}}),e}(this.OpeningComputedPropertyNameTag),this.ClosingComputedDeclarationPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:r}),e}(this.ClosingComputedPropertyNameTag),i=new this.ClosingComputedDeclarationPropertyNameTag}.call(this,this.IdentifierPropertyNameTag,this.PropertyDestructuringItemExpression,null,function(t){return t.declarationPropertyNameSeparatorTags}),function(n,e){this.DeclarationPropertyNameInitializerTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({visitor:function(t,n,r,s){var o=r.expression,u=o.name.context,a=r.target.expression.objectOf.context.tag.variable;u.tag=a,a.collectTo(t,u,s),i.call(this,t,n,r,s),r.bound=new e(o,o,s)}}),r}(this.PropertyDestructuringDefaultItemExpression,n.prototype.visitor),this.DeclarationPropertyNameSeparatorTag=function(n){function i(t){e.call(this,t)}return(i=new t(i,e)).props({require:function(t){return t.declarationPropertyValueTags}}),i}(e.prototype.visitor)}.call(this,this.PropertyInitializerTag,this.PropertyNameSeparatorTag),function(n,e,i,r,s,o,u,a){this.OpeningObjectDeclarationPropertyValueTag=function(i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({get binding(){return a},getObjectOf:function(t){return t.target.target.expression.objectOf},visitor:function(t,e,i,s){var o=i.target,u=o.expression;r.call(this,t,e,i,s),u.value.destructuringItem=!0,o.bound=new n(u)}}),s}(this.DeclarationObjectExpression,e.prototype.visitor),this.ClosingObjectDeclarationPropertyValueTag=function(n){function e(t){i.call(this,t)}return(e=new t(e,i)).props({require:function(t){return t.declarationPropertySeparatorTags},visitor:function(t,e,i,r){n.call(this,t,e,i,r),i.expression=i.expression.toDestructuringItem(t)}}),e}(i.prototype.visitor),this.OpeningArrayDeclarationPropertyValueTag=function(e,i){function s(t){r.call(this,t)}return(s=new t(s,r)).props({get binding(){return u},getArrayOf:function(t){return t.target.target.expression.objectOf},visitor:function(t,e,r,s){var o=r.target,u=o.expression;i.call(this,t,e,r,s),u.value.destructuringItem=!0,o.bound=new n(u)}}),s}(this.DeclarationArrayExpression,r.prototype.visitor),this.ClosingArrayDeclarationPropertyValueTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.declarationPropertySeparatorTags}}),e}(this.ClosingNestedDeclarationArrayItemTag),this.DeclarationPropertyValueTag=function(e){function i(t){s.call(this,t)}return(i=new t(i,s)).props({require:function(t){return t.declarationPropertyValueContextTags},visitor:function(t,i,r,s){var o=r.target,u=o.target.expression.objectOf.context.tag.variable;i.tag=u,e.call(this,t,i,r,s),o.bound=new n(o.expression)}}),i}(s.prototype.visitor),this.DeclarationPropertyValueInitializerTag=function(n,e){function i(t){o.call(this,t)}return(i=new t(i,o)).props({visitor:function(t,i,r,s){var o=r.target;e.call(this,t,i,r,s),o.bound=new n(o.expression,r.expression,s)}}),i}(this.PropertyDestructuringDefaultItemExpression,o.prototype.visitor),u=new this.ClosingArrayDeclarationPropertyValueTag,a=new this.ClosingObjectDeclarationPropertyValueTag}.call(this,this.PropertyDestructuringItemExpression,this.OpeningDeclarationObjectTag,this.ClosingDeclarationObjectTag,this.OpeningNestedDeclarationArrayItemTag,this.VariableDeclarationTag,this.BasicAssignmentTag,null,null),function(n){this.DeclarationPropertyRestStatement=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({out:function(){return e.call(this).value}}),i}(n.prototype.out),this.DeclarationPropertyRestItemTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.declarationPropertyRestItemContextTags},visitor:function(t,n,i,r){(n.tag=i.target.target.expression.objectOf.context.tag.variable).collectTo(t,n,r),i.expression=new e(n)}}),i}(this.IdentifierDeclarationPropertyNameTag,this.IdentifierExpression),this.DeclarationPropertyRestTag=function(n,e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({require:function(t){return t.declarationPropertyRestItemTags},visitor:function(t,n,s,o){var u=new i(n);s.bound=new e(u),s.expression=u,o.statement=new r(o)}}),s}(this.PropertySpreadTag,this.PropertyDestructuringRestItemExpression,this.PropertySpreadExpression,this.DeclarationPropertyRestStatement)}.call(this,this.SpreadStatement),function(n,e){this.OpeningObjectDeclarationArrayItemTag=function(n){function i(t){n.call(this,t)}return(i=new t(i,n)).props({get binding(){return e},getObjectOf:function(t){return t.target.expression.arrayOf}}),i}(this.OpeningDeclarationObjectTag),this.ClosingObjectDeclarationArrayItemTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.declarationArrayItemSeparatorTags},visitor:function(t,n,i,r){e.call(this,t,n,i,r),i.expression=i.expression.toDestructuringItem(t)}}),i}(n.prototype.visitor),e=new this.ClosingObjectDeclarationArrayItemTag}.call(this,this.ClosingDeclarationObjectTag,null),function(){this.LabelledExpression=function(n){function e(t,e){n.call(this,t,e)}return(e=new t(e,n)).props({generateTo:function(t){this.statementExpression.extractTo(t)},normalizeTo:function(t){t.appendContext(this.context),t.appendString(":"),this.statementExpression.extractTo(t)},statementExpression:null}),e}(this.GenerableExpression),this.LabelledStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().statementExpression=this.expression}}),n}(),this.LabelTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$class:g,require:function(t){return t.labelContextTags}}),e}(this.VariableTag),this.LabelColonTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({require:function(t){return t.statementTags},visitor:function(t,n,r,s){r.expression=new e(r.expression.context,s),s.statement=new i(s)}}),r}(this.ColonTag,this.LabelledExpression,this.LabelledStatement)}.call(this),function(){this.TerminatedFlowExpression=function(n){function e(t,e){n.call(this,t,e)}return(e=new t(e,n)).props({branch:null,generateTo:function(t){var n=this.context.tag,e=this.contextGeneratorIfNeedCompile;t.appendString(e.currentIndexString+"="+n.getCurrentIndexBy(e,this)+";"),this.normalizeTo(t),t.appendString(";"),this.state=A,t.appendString("case "+n.getNextIndexBy(e,this)+":")},normalizeTo:function(t){var n=this.object;t.appendContext(this.context),n instanceof r||(t.appendSpace(),n.extractTo(t))},object:null}),e}(this.GenerableExpression),this.TerminatedFlowStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().object=this.expression}}),n}(),this.TerminatedFlowTag=function(n,e){function i(t){h.call(this,t)}return(i=new t(i,h)).props({$class:g,flow:a.FLOW_MAIN,getBoundExpression:function(t,e){return new n(t,e.statements)},getBoundStatement:function(t){return new e(t)},getCurrentIndexBy:function(){return"NaN"},getNextIndexBy:function(){return"NaN"},visitor:F}),i}(this.TerminatedFlowExpression,this.TerminatedFlowStatement)}.call(this),function(n){this.ReturnTag=function(e,i){function s(t){n.call(this,t)}return(s=new t(s,n)).props({$class:g,flow:a.FLOW_LINEAR,regexp:/return/,require:function(t){return t.returnContextTags},visitor:function(t,n,e,s){if(s.closure)return i.call(this,t,n,e,s),void(s.statement.expression=new r(null));t.error(n,l.template("ILLEGAL_STATEMENT",n.content))}}),s}(this.ECMAScriptStatements.SCOPE_CLOSURE,n.prototype.visitor)}.call(this,this.TerminatedFlowTag,this.ECMAScriptStatements),function(){this.ThrowTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$class:g,regexp:/throw/,require:function(t){return t.throwContextTags}}),e}(this.TerminatedFlowTag),this.ThrowContextLineTerminatorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({visitor:function(t,n){t.error(n,l.NEWLINE_AFTER_THROW)}}),e}(this.IllegalLineTerminatorTag)}.call(this),function(n,i,s){this.TerminatedBranchFlowExpression=function(e,i){function r(t,e){n.call(this,t,e)}return(r=new t(r,n)).props({generateTo:function(t){this.object=e,i.call(this,t)},owner:null}),r}(new r(null),n.prototype.generateTo),this.TerminatedBranchFlowStatement=function(n,e){function o(t){i.call(this,t),this.expression=new r(null)}return(o=new t(o,i)).props({catch:function(t,e){var i=this.expression,o=this.target.expression;switch(!1){case i instanceof r:case function(t,n){var e=t.context.tag.flow;for(;n;){for(var i=n.statement;i;){if((i.flow&e)===e)return t.owner=i.target.expression,!1;i=i.target}n=(n.scope&s)===s?null:n.target}return!0}(o,this.statements):break;default:return void t.error(o.context,l.template("ILLEGAL_STATEMENT",o.context.content))}return n.call(this,t,e)}}),o}(i.prototype.catch),this.TerminatedBranchFlowTag=function(n,e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({checkLabelledStatement:function(t,n,e){return t instanceof r&&t.target.expression.context.content===e&&(n.owner=t.expression,!0)},flow:a.FLOW_BRANCH,getBoundExpression:function(t,n){return new e(t,n.statements)},getBoundStatement:function(t){return new i(t)},require:function(t){return t.terminatedBranchFlowContextTags}}),s}(this.TerminatedFlowTag,this.TerminatedBranchFlowExpression,this.TerminatedBranchFlowStatement,this.LabelledStatement),this.LabelledIdentifierTag=function(n,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({require:function(t){return t.statementEndTags},visitor:function(t,n,i,r){!function(t,n,e){var i=t.context.tag;for(;n;){for(var r=n.statement;r;){if(i.checkLabelledStatement(r,t,e))return!1;r=r.target}n=(n.scope&s)===s?null:n.target}return!0}(i.target.expression,r,n.content)?i.expression=new e(n):t.error(n,l.template("LABEL",i.target.expression.context.content,n.content))}}),r}(this.LabelTag)}.call(this,this.TerminatedFlowExpression,this.TerminatedFlowStatement,this.ECMAScriptStatements.SCOPE_CLOSURE),function(n){this.BreakTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({getCurrentIndexBy:function(t,n){return n.owner.mainFlowIndex},regexp:/break/}),e}(),this.ContinueTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({checkLabelledStatement:function(t,n,r){return(t.flow&e)===e&&i.call(this,t.target,n,r)},flow:e,getCurrentIndexBy:function(t,n){return n.owner.conditionIndex},regexp:/continue/}),r}(a.FLOW_CIRCULAR,n.prototype.checkLabelledStatement)}.call(this,this.TerminatedBranchFlowTag),function(n,e,r){this.VarExpression=function(n){function e(t,e){var r,s=e.collections.declaration.range();n.call(this,t,e),this.list=new i(null,","),this.range=s,(r=this.contextGeneratorIfNeedCompile)&&r.ranges.push(s)}return(e=new t(e,n)).props({declaration:!0,generateTo:function(t){this.list.extractTo(t)},normalizeTo:function(t){t.appendContext(this.context),t.appendSpace(),this.list.extractTo(t)},list:null,range:null}),e}(this.GenerableExpression),this.VarStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().list.add(this.expression),this.target.expression.range.end()},try:function(t,n){return","!==n.content?null:(this.out().list.add(this.expression),this.bindingOf())}}),n}(),this.VarTag=function(n,i){function s(t){h.call(this,t)}return(s=new t(s,h)).props({$class:g,get binding(){return r},getBoundExpression:function(t,e){return new n(t,e.statements)},getBoundStatement:function(t){return new i(t)},regexp:/var/,require:function(t){return t.varContextTags},get variable(){return e},visitor:F}),s}(this.VarExpression,this.VarStatement),this.ClosureVariableTag=function(){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.closureVariableContextTags}}),e}(),this.VarDeclarationBreakTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.varDeclarationBreakContextTags}}),e}(this.ExpressionBreakTag),this.VarDeclarationSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundStatement:function(t){return new e(t)},require:function(t){return t.varContextTags},visitor:function(t,n,e,i){n.setStatementOf(i)}}),i}(this.CommaTag,this.VarStatement),e=new this.ClosureVariableTag,r=new this.VarDeclarationSeparatorTag}.call(this,this.VariableDeclarationTag,null,null),function(n,e,i){this.LetTag=function(n){function r(t){n.call(this,t)}return(r=new t(r,n)).props({get binding(){return i},extractTo:function(t,n){t.appendString(y.es6Base?"var":n)},regexp:/let/,require:function(t){return t.letContextTags},get variable(){return e}}),r}(this.VarTag),this.LocalVariableTag=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({collectTo:function(t,n,i){e.call(this,t,n,i),i.collections.blacklist.collect(n.content)},containsBy:function(t,n){return n.declaration.contains(t)}}),i}(n.prototype.collectTo),this.LetDeclarationSeparatorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.letContextTags}}),e}(this.VarDeclarationSeparatorTag),e=new this.LocalVariableTag,i=new this.LetDeclarationSeparatorTag}.call(this,this.ClosureVariableTag,null,null),function(n,e,i,r,s,o){this.ConstStatement=function(n,r){function s(t){i.call(this,t)}return(s=new t(s,i)).props({catch:function(t,i){return this.expression instanceof e?(t.error(this.expression.context,l.MISSING_INITIALIZER),null):n.call(this,t,i)},try:function(t,n){return this.expression instanceof e?(t.error(this.expression.context,l.MISSING_INITIALIZER),null):r.call(this,t,n)}}),s}(i.prototype.catch,i.prototype.try),this.ConstTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({get binding(){return o},extractTo:function(t,n){t.appendString(y.es6Base?"var":n)},getBoundStatement:function(t){return new e(t)},regexp:/const/,require:function(t){return t.constContextTags},get variable(){return s}}),i}(this.LetTag,this.ConstStatement),this.ConstVariableTag=function(n){function e(t){r.call(this,t)}return(e=new t(e,r)).props({collectTo:function(t,e,i){n.call(this,t,e,i),i.collections.const.collect(e.content)}}),e}(r.prototype.collectTo),this.ConstDeclarationSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundStatement:function(t){return new e(t)},require:function(t){return t.constContextTags}}),i}(this.LetDeclarationSeparatorTag,this.ConstStatement),s=new this.ConstVariableTag,o=new this.ConstDeclarationSeparatorTag}.call(this,this.VarExpression,this.IdentifierExpression,this.VarStatement,this.LocalVariableTag,null,null),function(n,e){this.IfExpression=function(n){function e(t,e){n.call(this,t,e)}return(e=new t(e,n)).props({elseBody:null,elseContext:null,generateTo:function(t){var n,e=this.elseContext;e&&(n=this.branchFlowIndex=this.contextGeneratorIfNeedCompile.nextIndex()),this.generateConditionTo(this.condition.inner,t),this.generateBodyTo(this.ifBody,t),e&&(this.mainFlowIndex=n,this.generateBodyTo(this.elseBody,t))},ifBody:null,get ifContext(){return this.context},normalizeTo:function(t){t.appendContext(this.ifContext),this.condition.extractTo(t),this.ifBody.extractTo(t),this.elseContext&&((this.ifBody.state&A)!==A&&t.appendString(";"),t.appendContext(this.elseContext),t.appendSpace(),this.elseBody.extractTo(t))}}),e}(this.ConditionalExpression),this.IfBodyStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({requestOut:function(t,n){var e=this.expression;switch(this.out().ifBody=e,!1){case"else"===n.content:break;case(e.state&w)===w:t.error(n);break;default:return this.bindingOf()}},flow:a.FLOW_LINEAR}),e}(this.SingleStatement),this.ElseBodyStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({catch:function(t,n){this.out().elseBody=this.expression}}),e}(this.IfBodyStatement),this.IfTag=function(n){function i(t){h.call(this,t)}return(i=new t(i,h)).props({$class:g,get binding(){return e},regexp:/if/,require:function(t){return t.ifConditionTags},visitor:function(t,e,i,r){i.expression=new n(e,r)}}),i}(this.IfExpression),this.OpeningIfConditionTag=function(e,i){function r(t){e.call(this,t)}return(r=new t(r,e)).props({get binding(){return n},require:function(t){return t.expressionTags},visitor:function(t,n,e,r){e.expression.condition=new o(n),r.statement=new i(r)}}),r}(this.OpeningParenTag,this.ConditionStatement),this.ClosingIfConditionTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({require:function(t){return t.statementTags},visitor:function(t,n,i,r){i.expression.condition.closing=n,r.statement=new e(r)}}),r}(this.ClosingParenTag,this.IfBodyStatement,this.IfBodyStatements),this.ElseTag=function(n,e){function i(t){h.call(this,t)}return(i=new t(i,h)).props({regexp:/else/,require:function(t){return t.statementTags},visitor:function(t,n,i,r){i.expression.elseContext=n,r.statement=new e(r)}}),i}(this.ElseExpression,this.ElseBodyStatement),n=new this.ClosingIfConditionTag,e=new this.ElseTag}.call(this,null,null),function(n){this.WhileExpression=function(n){function e(t,e){n.call(this,t,e)}return(e=new t(e,n)).props({body:null,generateTo:function(t){this.generateConditionTo(this.condition.inner,t),this.generateBodyTo(this.body,t)},normalizeTo:function(t){t.appendContext(this.context),this.condition.extractTo(t),this.body.extractTo(t)}}),e}(this.ConditionalExpression),this.WhileBodyStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({requestOut:function(t,n){this.out().body=this.expression},flow:a.FLOW_CIRCULAR}),e}(this.SingleStatement),this.WhileTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({$class:g,regexp:/while/,require:function(t){return t.whileConditionTags},visitor:function(t,e,i,r){i.expression=new n(e,r)}}),e}(this.WhileExpression),this.OpeningWhileConditionTag=function(e,i){function r(t){e.call(this,t)}return(r=new t(r,e)).props({get binding(){return n},require:function(t){return t.expressionTags},visitor:function(t,n,e,r){e.expression.condition=new o(n),r.statement=new i(r)}}),r}(this.OpeningParenTag,this.ConditionStatement),this.ClosingWhileConditionTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.statementTags},visitor:function(t,n,i,r){i.expression.condition.closing=n,r.statement=new e(r)}}),i}(this.ClosingParenTag,this.WhileBodyStatement),n=new this.ClosingWhileConditionTag}.call(this,null),function(n,e){this.DoExpression=function(n){function e(t,e){n.call(this,t,e)}return(e=new t(e,n)).props({body:null,generateTo:function(t){this.adapterIndex=this.mainFlowIndex,this.generatePrefixBodyTo(this.body,t),this.generateConditionTo(this.condition.inner,t)},normalizeTo:function(t){var n=this.body;t.appendContext(this.context),t.appendSpace(),n.extractTo(t),(n.state&A)!==A&&t.appendString(";"),t.appendContext(this.whileContext),this.condition.extractTo(t)},get state(){return A},set state(t){},whileContext:null}),e}(this.ConditionalExpression),this.DoStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({requestOut:function(t,n){var e=this.expression;switch(!1){case"while"===n.content:case(e.state&w)===w:break;default:return this.out().body=e,this.bindingOf()}t.error(n)},flow:a.FLOW_CIRCULAR}),e}(this.SingleStatement),this.DoTag=function(e,i){function r(t){h.call(this,t)}return(r=new t(r,h)).props({$class:g,get binding(){return n},regexp:/do/,require:function(t){return t.statementTags},visitor:function(t,n,r,s){r.expression=new e(n,s),s.statement=new i(s)}}),r}(this.DoExpression,this.DoStatement),this.DoWhileTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.doWhileConditionTags},visitor:function(t,n,e,i){e.expression.whileContext=n}}),e}(this.WhileTag),this.OpeningDoWhileConditionTag=function(n,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({get binding(){return e},visitor:function(t,n,e,r){e.expression.condition=new o(n),r.statement=new i(r)}}),r}(this.OpeningWhileConditionTag,this.ConditionStatement),this.ClosingDoWhileConditionTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.mistakableTags},visitor:function(t,n,e){e.expression.condition.closing=n}}),e}(this.ClosingWhileConditionTag),n=new this.DoWhileTag,e=new this.ClosingDoWhileConditionTag}.call(this,null,null),function(e){this.ForExpression=function(i,r,s,o){function u(t,n){i.call(this,t,n)}return(u=new t(u,i)).props({body:null,generateTo:function(t){var n,i,r,o,u,a=this.iterator,c=this.contextGeneratorIfNeedCompile;if(a)return"of"===a&&y.es6Base?void s(this,c,t,!1):void s(this,c,t,!0);i=c,r=t,o=(n=this).condition.inner,u=o[1],n.adapterIndex=n.branchFlowIndex=i.nextIndex(),o[0].extractTo(r),r.appendString(";"),n.generateConditionTo(u.default?new e("true"):u,r),o[2].extractTo(r),r.appendString(";"+i.currentIndexString+"="+n.conditionIndex+";break;case "+n.positiveIndex+":"),n.generateBodyTo(n.body,r)},iterator:"",normalizeTo:function(t){if(t.appendContext(this.context),"of"===this.iterator&&y.es6Base)return e=this.condition,i=this.body,r=t,s=new n,o=this.variable,u=e.inner,r.appendContext(e.opening),r.appendString(o+"=new Rexjs.Generator("),u.right.extractTo(r),r.appendString(");!"+o+".iterator.closed;"),r.appendContext(e.closing),r.appendString("{"),u.left.extractTo(s),r.appendString(s.result+"="+o+".next().value;"),i.extractTo(r),void r.appendString("}");var e,i,r,s,o,u;this.condition.extractTo(t),this.body.extractTo(t)},variable:""}),u}(this.ConditionalExpression,0,function(t,i,r,s){var o=t.variable,u=t.condition.inner,a=new n;r.appendString(o+"=new Rexjs.Generator("),s?(r.appendString("Rexjs.Object.getEnumerablePropertyNames("),u.right.extractTo(r),r.appendString(")")):u.right.extractTo(r),r.appendString(");"),t.generateConditionTo(new e("!"+o+".iterator.closed"),r),u.left.extractTo(a),r.appendString(a.result+"="+o+".next().value;"),t.generateBodyTo(t.body,r)}),this.ForBodyStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({flow:a.FLOW_CIRCULAR,requestOut:function(t,n){this.out().body=this.expression}}),e}(this.SingleStatement),this.ForTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({$class:g,regexp:/for/,require:function(t){return t.forConditionTags},visitor:function(t,e,i,r){i.expression=new n(e,r)}}),e}(this.ForExpression)}.call(this,t.CompiledExpression),function(){this.IterationStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({catch:function(t,n){this.out().right=this.expression},try:function(){return null}}),e}(this.BinaryStatement),this.IteratorTag=function(n,e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({getBoundStatement:function(t){return new i(t)},hasVariable:function(t){return null!==t.contextGeneratorIfNeedCompile},visitor:function(t,n,e,i){var r=e.expression,s=e.target.expression;s.iterator=n.content,this.hasVariable(i)&&(s.variable=i.collections.generate()),F.call(this,t,n,e,i),e.expression.left=r}}),s}(this.BinaryKeywordTag,this.BinaryExpression,this.IterationStatement),this.ForInTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/in(?!stanceof)/}),e}(this.IteratorTag),this.ForOfTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({hasVariable:function(t){return y.es6Base||e.call(this,t)},regexp:/of/}),i}(this.IteratorTag,this.IteratorTag.prototype.hasVariable)}.call(this),function(n,e,r,u,c,p,h,f,g,T){this.ForConditionInnerStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({expression:new s}),n}(),this.ForInitConditionStatement=function(n,e){function r(t){n.call(this,t)}return(r=new t(r,n)).props({catch:function(t,n){var r,s=this.expression;this.target;switch(n.content){case";":r=T(this).forInitConditionSeparator,(this.target.expression=new i(null,";")).add(s);break;case"in":r=T(this).forIn;case"of":if(e(t,s,n))return;r=r||T(this).forOf,this.target.expression=s;break;default:return void t.error(n)}return this.out(),r},try:function(t,n){switch(n.content){case"in":break;case",":return T(this).forInitConditionItemSeparator;default:return null}var i=this.expression;return e(t,i,n)?null:(this.target.expression=i,this.out(),T(this).forIn)}}),r}(this.ForConditionInnerStatement,function(t,i,r){if(i instanceof e){var s=i.list;if(1!==s.length)return t.error(r,l.FOR_IN),!0;i=s[0]}return!(i instanceof n)&&(t.error(r,l.FOR),!0)}),this.ForLogicConditionStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({catch:function(t,n){return";"!==n.content?(t.error(n),null):(this.out().add(this.expression),T(this).forLogicConditionSeparator)}}),e}(this.ForConditionInnerStatement),this.ForFinallyConditionStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({catch:function(t,n){this.out().add(this.expression)}}),e}(this.ForConditionInnerStatement),this.ForInitConditionSeparatorStatement=function(n){function e(t){r.call(this,t)}return(e=new t(e,r)).props({try:function(t,e){return"in"===e.content?(this.out().add(this.expression),null):n.call(this,t,e)}}),e}(r.prototype.try),this.OpeningForConditionTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({get binding(){return u},get forIn(){return p},get forInitConditionItemSeparator(){return c},get forInitConditionSeparator(){return f},get forLogicConditionSeparator(){return g},get forOf(){return h},require:function(t){return t.forConditionContextTags},visitor:function(t,n,r,s){r.expression.condition=new o(n),s.statement=new e(s),s.statement=new i(s)}}),r}(this.OpeningParenTag,this.ConditionStatement,this.ForInitConditionStatement),this.ForInitConditionItemSeparatorTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({getBoundStatement:function(t){return new e(t)}}),r}(this.CommaTag,this.ForInitConditionSeparatorStatement),this.ForConditionSeparatorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.expressionTags},visitor:function(t,n,e,i){n.setStatementOf(i)}}),e}(this.SemicolonTag),this.ForInitConditionSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundStatement:function(t){return new e(t)}}),i}(this.ForConditionSeparatorTag,this.ForLogicConditionStatement),this.ForLogicConditionSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundStatement:function(t){return new e(t)},require:function(t){return t.expressionTags}}),i}(this.ForConditionSeparatorTag,this.ForFinallyConditionStatement),this.ClosingForConditionTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.statementTags},visitor:function(t,n,i,r){i.expression.condition.closing=n,r.statement=new e(r)}}),i}(this.ClosingParenTag,this.ForBodyStatement),u=new this.ClosingForConditionTag,p=new this.ForInTag,h=new this.ForOfTag,c=new this.ForInitConditionItemSeparatorTag,f=new this.ForInitConditionSeparatorTag,g=new this.ForLogicConditionSeparatorTag}.call(this,this.IdentifierExpression,this.VarExpression,this.CommaStatement,null,null,null,null,null,null,function(t){return t.target.target.expression.condition.opening.tag}),function(n,i,r){this.TryFunctionExpression=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({extractTo:function(t){y.rexjs?this.operand.extractTo(t):e.call(this,t)}}),i}(n.prototype.extractTo),this.FunctionConvertorExpression=r=function(n,i){function r(t){e.call(this,t.context),this.function=t}return(r=new t(r,e)).props({called:!0,function:null,extractTo:function(t){var e=this.function;if(y.rexjs)return t.appendString("(Rexjs.Function.convert("),e instanceof n?function(t,n,e){if(n.object.extractTo(t),t.appendString(","),e instanceof o)return t.appendString("("),e.inner.extractTo(t),void t.appendString(")");t.appendString('"'),t.appendContext(e),t.appendString('"')}(t,e,e.property):e.extractTo(t),void t.appendString("))"+(this.called?"":"()"));e.extractTo(t)}}),r}(this.AccessorExpression),this.TryFunctionStatement=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({catch:function(){e(this,this.expression)},try:function(t,n){var i=this.expression;this.target.expression.context.tag.isSeparator(n,i)&&e(this,i)}}),i}(this.UnaryStatement,function(t,n){n instanceof i?n.operand=new r(n.operand):(n=new r(n)).called=!1,t.out().operand=n}),this.TryFunctionTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({regexp:/try/,visitor:function(t,n,r,s){r.expression=new e(n),s.statement=new i(s)}}),r}(this.ExecTag,this.TryFunctionExpression,this.TryFunctionStatement)}.call(this,this.UnaryExpression,this.CallExpression,null),function(n,i,r,u,c){this.TryExpression=function(n){function e(t,e){n.call(this,t,e)}return(e=new t(e,n)).props({catchBlock:null,catchContext:null,exception:null,finallyBlock:null,finallyContext:null,generateTo:function(t){var n=this.exception,e=this.contextGeneratorIfNeedCompile,i=e.nextIndex(),r=e.nextIndex(),s=e.nextIndex(),o=e.variable,u=e.currentIndexString;t.appendString(o+".observe("+i+");"),this.tryBlock.inner.extractTo(t),t.appendString(u+"="+s+";break;"),n&&(t.appendString("case "+i+":"),n.inner.extractTo(t),t.appendString("="+o+".exception;"),this.catchBlock.extractTo(t),t.appendString(u+"="+r+";break;")),t.appendString("case "+s+":"+o+".unobserve();"+u+"="+r+";break;case "+r+":"),this.finallyContext&&this.finallyBlock.extractTo(t)},normalizeTo:function(t){var n=this.exception,e=this.finallyContext;t.appendContext(this.tryContext),this.tryBlock.extractTo(t),n&&(t.appendContext(this.catchContext),n.extractTo(t),this.catchBlock.extractTo(t)),e&&(t.appendContext(e),this.finallyBlock.extractTo(t))},tryBlock:null,get tryContext(){return this.context}}),e}(this.GenerableExpression),this.TryStatement=function(e){function o(t){a.call(this,t)}return(o=new t(o,a)).props({catch:function(t,e){var s=this.expression;if(s.default)return function(t,e,s,o){var u=o.tag;if(u.type.mistakable){var a=e.statements,c=e.out().context;return c.tag=r,e.target.expression=new n(c),a.statement=new i(a),u}t.error(o)}(t,this,0,e);switch(this.out().tryBlock=s,e.content){case"catch":return this.tagOf().catch;case"finally":return this.tagOf().finally}t.error(e,l.TRY)},expression:new s}),o}(),this.CatchStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return this.out().catchBlock=this.expression,"finally"===n.content?this.tagOf().finally:null}}),n}(),this.FinallyStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().finallyBlock=this.expression}}),n}(),this.TryTag=function(n,e){function i(t){h.call(this,t)}return(i=new t(i,h)).props({$class:g,get binding(){return this.catch},get catch(){return u},get finally(){return c},regexp:/try/,require:function(t){return t.tryContextTags},visitor:function(t,i,r,s){r.expression=new n(i,s),s.statement=new e(s)}}),i}(this.TryExpression,this.TryStatement),this.CatchTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({regexp:/catch/,require:function(t){return t.catchedExceptionTags},visitor:function(t,e,i,r){i.expression.catchContext=e,r.statement=new n(r)}}),e}(this.CatchStatement),this.OpeningCatchedExceptionTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.exceptionVariableTags},visitor:function(t,n,e,i){e.target.expression.exception=new o(n)}}),e}(this.OpeningParenTag),this.ExceptionVariableTag=function(n){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.closingCatchedExceptionTags},visitor:function(t,n,i,r){var s=i.target.expression,o=s.contextGeneratorIfNeedCompile;if(o){var u=r.collections.declaration.range();o.ranges.push(u),this.collectTo(t,n,r),u.end()}else this.collectTo(t,n,r);s.exception.inner=new e(n)}}),i}(this.VariableDeclarationTag),this.ClosingCatchedExceptionTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.blockTags},visitor:function(t,n,e,i){e.target.expression.exception.closing=n}}),e}(this.ClosingParenTag),this.FinallyTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({regexp:/finally/,require:function(t){return t.blockTags},visitor:function(t,e,i,r){i.expression.finallyContext=e,r.statement=new n(r)}}),e}(this.FinallyStatement),u=new this.CatchTag,c=new this.FinallyTag}.call(this,this.TryFunctionExpression,this.TryFunctionStatement,new this.TryFunctionTag,null,null),function(n,e,i,r,s){this.SwitchExpression=function(n,e){function i(t,e){n.call(this,t,e),this.contextGeneratorIfNeedCompile&&(this.variable=e.collections.generate())}return(i=new t(i,n)).props({get block(){return this.body},set block(t){this.body=t},body:null,generateTo:function(t){var n=this.body.inner,e=this.variable;t.appendString(e+"=new Rexjs.SwitchCondition("),this.condition.inner.extractTo(t),t.appendString(");"),function(t,n,e,i,r){var o=i.currentIndexString,u=i.nextIndex(),a=i.nextIndex();t.mainFlowIndex=u,t.branchFlowIndex=a;for(var c=0,l=n.length;c-1:f=g.classIdentifierPropertyNameTag;break;default:return t.error(r),null}}var d=this.statements;return(p.state&w)!==w&&p.value instanceof o?(t.error(r),null):(d.statement=new h(d),f)},initExpression:function(){this.expression=new s},tagOf:function(){return this.target.expression.body.context.tag},try:function(t,n){t.error(n)}}),h}(this.PropertyStatement,this.ClassPropertyExpression,this.ClassPropertyInitializerExpression,this.IdentifierTag,this.NumberTag,this.StringTag),this.OpeningClassBodyTag=function(n,e,i,o,u,a,c,l,p,h,f,g,T){function x(t){n.call(this,t)}return(x=new t(x,n)).props({get binding(){return s},get classBinaryNumberPropertyName(){return o},get classIdentifierPropertyNameTag(){return u},get classNumberPropertyName(){return a},get classOctalNumberPropertyName(){return c},get classStringPropertyName(){return l},get constructorMethodName(){return h},get getDescriptor(){return f},get openingClassComputedPropertyName(){return p},get separator(){return r},get setDescriptor(){return g},get staticModifier(){return T},require:function(t){return t.openingClassBodyContextTags},visitor:function(t,n,r,s){r.expression.body=new e(n),s.statement=new i(s)}}),x}(this.OpeningObjectTag,this.ClassBodyExpression,this.ClassPropertyStatement,new this.ClassBinaryNumberPropertyNameTag,new this.ClassIdentifierPropertyNameTag,new this.ClassNumberPropertyNameTag,new this.ClassOctalNumberPropertyNameTag,new this.ClassStringPropertyNameTag,new this.OpeningClassComputedPropertyNameTag,new this.ConstructorTag,new this.GetDescriptorTag,new this.SetDescriptorTag,new this.StaticModifierTag),this.ClassPropertySeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.openingClassBodyContextTags},visitor:function(t,n,i,r){r.statement=new e(r)}}),i}(this.SemicolonTag,this.ClassPropertyStatement),this.ClassPropertyPlaceholderTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({visitor:function(){}}),e}(this.ClassPropertySeparatorTag),this.ClosingClassBodyTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t,n,e){return(e.statements.statement.expression.state&A)===A?t.mistakableTags:t.expressionContextTags},visitor:function(t,n,e,i){e.expression.body.closing=n}}),e}(this.ClosingObjectTag),r=new this.ClassPropertySeparatorTag,s=new this.ClosingClassBodyTag}.call(this,this.DefaultConstructorPropertyExpression,this.BinaryNumberTag,this.OctalNumberTag,null,null),function(){this.ExtendsStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return"{"!==n.content?(t.error(n),null):(this.out().extends.super=this.expression,this.bindingOf())},tagOf:function(){return this.target.expression.extends.context.tag},try:function(t,n){switch(n.content){case".":case"[":case"(":case"`":break;default:return t.error(n),null}return n.tag}}),n}(),this.ExtendsTag=function(n,e,i){function r(t){h.call(this,t)}return(r=new t(r,h)).props({get binding(){return i},regexp:/extends/,require:function(t){return t.extendsContextTags},visitor:function(t,i,r,s){var o=r.expression;y.es6Base&&(o.variable=s.collections.generate()),o.extends=new n(i),s.statement=new e(s)}}),r}(this.ExtendsExpression,this.ExtendsStatement,new this.OpeningClassBodyTag)}.call(this),function(n,e,i,r,s,o){this.SuperBracketAccessorExpression=function(n){function i(t,n){e.call(this,t,n.expression),this.closureReference=n.statements.closure.reference}return(i=new t(i,e)).props({closureReference:"",compilePropertyTo:function(t){t.appendString("("),this.property.inner.extractTo(t),t.appendString(")")},extractTo:function(t){y.es6Base?o(this,t):n.call(this,t)}}),i}(e.prototype.extractTo),this.SuperDotAccessorExpression=function(e){function i(t,e){n.call(this,t,e.expression),this.closureReference=e.statements.closure.reference}return(i=new t(i,n)).props({closureReference:"",compilePropertyTo:function(t){t.appendString('"'),t.appendContext(this.property),t.appendString('"')},extractTo:function(t){y.es6Base?o(this,t):e.call(this,t)}}),i}(n.prototype.extractTo),this.OpeningSuperBracketAccessorTag=function(n,e,r){function o(t){i.call(this,t)}return(o=new t(o,i)).props({$type:D,get binding(){return s},getBoundExpression:function(t,e){return new n(t,e)},getBoundStatement:function(t){return new e(t)},visitor:function(t,n,e,i){i.closure.applySuper(t,e.expression.context,n),r.call(this,t,n,e,i)}}),o}(this.SuperBracketAccessorExpression,this.BracketAccessorStatement,i.prototype.visitor),this.ClosingSuperBracketAccessorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.superAccessorContextTags}}),e}(this.ClosingBracketAccessorTag),this.SuperDotAccessorTag=function(n,e){function i(t){r.call(this,t)}return(i=new t(i,r)).props({$type:D,getBoundExpression:function(t,e){return new n(t,e)},require:function(t){return t.superPropertyNameTags},visitor:function(t,n,i,r){r.closure.applySuper(t,i.expression.context,n),e.call(this,t,n,i,r)}}),i}(this.SuperDotAccessorExpression,r.prototype.visitor),this.SuperPropertyNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.superAccessorContextTags}}),e}(this.PropertyNameTag),s=new this.ClosingSuperBracketAccessorTag}.call(this,this.AccessorExpression,this.BracketAccessorExpression,this.OpeningBracketAccessorTag,this.DotAccessorTag,null,function(t,n,e){n.appendString("(Rexjs.Super.getProperty("),t.object.extractTo(n),n.appendString(","+t.closureReference+","),t.compilePropertyTo(n),n.appendString("))")}),function(n,e,i,r,s,o,u,a){var c;this.SuperPropertyBasicAssignmentExpression=function(){function n(t){i.call(this,t)}return(n=new t(n,i)).props({extractTo:function(t){if(y.es6Base){var n=this.left;return t.appendString("(Rexjs.Super.setProperty("),n.object.extractTo(t),t.appendString(","+n.closureReference+","),n.compilePropertyTo(t),t.appendString(","),this.right.extractTo(t),void t.appendString("))")}o.call(this,t)}}),n}(),this.SuperPropertyShorthandAssignmentExpression=function(n){function e(t){i.call(this,t)}return(e=new t(e,i)).props({extractTo:function(t){if(y.es6Base){var e=this.context.content;return t.appendString(a(t,this.left,this.variable)+e.substring(0,e.length-1)+"("),this.right.extractTo(t),void t.appendString(")))")}n.call(this,t)},variable:""}),e}(i.prototype.extractTo),this.SuperPropertyUnaryAssignmentExpression=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({extractTo:function(t){if(y.es6Base)return t.appendString(a(t,this.operand,this.variable)+this.context.content[0]+"1"),void t.appendString("))");e.call(this,t)},variable:""}),i}(n.prototype.extractTo),this.SuperPropertyPostfixUnaryAssignmentExpression=function(n){function i(t,n){e.call(this,t,n)}return(i=new t(i,e)).props({extractTo:function(t){if(y.es6Base){var e=this.valueVariable;return t.appendString("("+e+"="+a(t,this.operand,this.nameVariable)+")"+this.context.content[0]+"1"),void t.appendString("),"+e+")")}n.call(this,t)},nameVariable:"",valueVariable:""}),i}(e.prototype.extractTo),this.SuperPropertyUnaryAssignmentStatement=function(n,e,i,s){function o(t){r.call(this,t)}return(o=new t(o,r)).props({out:function(){var t=this.expression;if(t instanceof e||t instanceof i){var r=this.target,o=new n(r.expression.context);y.es6Base&&(o.variable=this.statements.collections.generate()),r.expression=o}return s.call(this)}}),o}(this.SuperPropertyUnaryAssignmentExpression,this.SuperDotAccessorExpression,this.SuperBracketAccessorExpression,r.prototype.out),c=this.SuperPropertyPostfixUnaryAssignmentExpression,u=function(t,n){var e=new c(t,n.expression);if(y.es6Base){var i=n.statements.collections;e.nameVariable=i.generate(),e.valueVariable=i.generate()}return e},this.SuperPropertyBasicAssignmentTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundExpression:function(t){return new e(t)},order:p.SUPER_PROPERTY_ASSIGNMENT}),i}(this.BasicAssignmentTag,this.SuperPropertyBasicAssignmentExpression),this.SuperPropertyShorthandAssignmentTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundExpression:function(t,n){var i=new e(t);return y.es6Base&&(i.variable=n.statements.collections.generate()),i},order:p.SUPER_PROPERTY_SHORTHAND_ASSIGNMENT}),i}(this.ShorthandAssignmentTag,this.SuperPropertyShorthandAssignmentExpression),this.SuperPropertyPostfixIncrementTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({getBoundExpression:u,order:s}),e}(this.PostfixIncrementTag),this.SuperPropertyPostfixDecrementTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({getBoundExpression:u,order:s}),e}(this.PostfixDecrementTag)}.call(this,this.UnaryExpression,this.PostfixUnaryExpression,this.BinaryExpression,this.UnaryAssignmentStatement,p.SUPER_PROPERTY_POSTFIX_UNARY_ASSIGNMENT,this.BinaryExpression.prototype.extractTo,null,function(t,n,e){var i=n.object.propertyOwner,r=n.closureReference;return t.appendString("(Rexjs.Super.setProperty("+i+","+r+","+e+"="),n.compilePropertyTo(t),t.appendString(","),"Rexjs.Super.getProperty("+i+","+r+","+e+")"}),function(n,e){this.SuperCallExpression=function(e){function i(t,e){n.call(this,t,e),this.constructorReference=e.statements.closure.reference}return(i=new t(i,n)).props({constructorReference:"",extractTo:function(t){if(y.es6Base)return t.appendString("("+this.constructorReference+"=Rexjs.Super."),this.spread?(this.boundThis="this",t.appendString("returnedThis(this,"),this.spreadTo(t)):(t.appendString("callConstructor("),this.operand.extractTo(t),t.appendString(",this,["),this.inner.extractTo(t),t.appendString("]")),void t.appendString("))");e.call(this,t)},spreadMatched:function(){this.spread=!0}}),i}(n.prototype.extractTo),this.SuperMethodCallExpression=function(e){function i(t,e){n.call(this,t,e),this.boundThis=e.statements.closure.reference}return(i=new t(i,n)).props({extractTo:function(t){if(y.es6Base)return this.spread?void this.spreadTo(t):(t.appendString("Rexjs.Super.execMethod("+this.boundThis+","),this.operand.extractTo(t),t.appendString(",["),this.inner.extractTo(t),void t.appendString("])"));e.call(this,t)},spreadMatched:function(){this.spread=!0}}),i}(n.prototype.extractTo),this.OpeningSuperCallTag=function(n,i){function r(t){e.call(this,t)}return(r=new t(r,e)).props({$type:D,getBoundExpression:function(t,e){return new n(t,e)},visitor:function(t,n,e,r){r.closure.applySuperCall(t,e.expression.context,n),i.call(this,t,n,e,r)}}),r}(this.SuperCallExpression,e.prototype.visitor),this.OpeningSuperMethodCallTag=function(n){function i(t){e.call(this,t)}return(i=new t(i,e)).props({$type:D,getBoundExpression:function(t,e){return new n(t,e)},order:p.OPENING_SUPER_METHOD_CALL}),i}(this.SuperMethodCallExpression)}.call(this,this.CallExpression,this.OpeningCallTag),function(){this.SuperExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t){y.es6Base?t.appendString(this.propertyOwner):t.appendContext(this.context)},propertyOwner:""}),e}(this.LiteralExpression),this.SuperStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){var e=this.out();t.error(e.context,l.template("KEYWORD",e.context.content))},expression:new s,try:function(t,n){n.tag.type.mistakable?this.out():this.catch(t,n)}}),n}(),this.SuperTag=function(n,e,i,r,s){function o(t){h.call(this,t)}return(o=new t(o,h)).props({$class:x,regexp:/super/,require:function(t){return t.superContextTags},visitor:function(t,o,u,a){var c=a.closure;for(u instanceof i&&(a.statement=u.target,a.statement=u=new r(a));c&&(c.scope&s)===s;){var p=c.target;if(!p){c=null;break}c=p.closure}if(c){var h=new n(o),f=c.target,g=f.statement.target.target;return y.es6Base&&(h.propertyOwner=g.expression.requestVariableOf(f,g.target.expression)),u.expression=h,void(a.statement=new e(a))}t.error(o,l.template("KEYWORD",o.content))}}),o}(this.SuperExpression,this.SuperStatement,this.UnaryAssignmentStatement,this.SuperPropertyUnaryAssignmentStatement,this.ECMAScriptStatements.SCOPE_LAZY)}.call(this),function(){this.ImportExpression=function(r){function s(t,n){e.call(this,t),this.file=n,this.members=new i(null,",")}return(s=new t(s,e)).props({clean:!0,extractTo:function(t){if(y.es6Module){if(this.clean)return;var e=new n;return this.from&&e.appendString(this.name.content+',"'+this.file.url.href+'"'),t.appendString("var "),void this.members.execJoin(r,t,e)}var i=this.from;t.appendContext(this.context),t.appendSpace(),i&&(this.members.extractTo(t),t.appendSpace(),t.appendContext(i),t.appendSpace()),t.appendContext(this.name)},file:null,from:null,members:null,name:null}),s}(function(t,n,e){t.compileTo(n,e)}),this.ImportTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({getBoundExpression:function(t){return new e(t)},getBoundStatement:function(t){return t.statement},regexp:/import/,require:function(t){return t.importContextTags}}),i}(this.ModuleTag,this.ImportExpression),this.MemberSeparatorTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.memberSeparatorContextTags},visitor:function(){}}),e}(this.CommaTag),this.FromTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/from/,require:function(t){return t.moduleNameTags},visitor:function(t,n,e,i){e.expression.from=n}}),n}(),this.ModuleNameTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.statementEndTags},visitor:function(t,n,e,i){var r=n.content;e.expression.name=n,y.es6Module&&t.deps.push(r.substring(1,r.length-1))}}),e}(this.StringTag)}.call(this),function(n,r){this.MultipleMembersExpression=function(n,e,r){function s(t){o.call(this,t),this.inner=new i(null,",")}return(s=new t(s,o)).props({compileTo:function(t,i){var s=this.inner;if(this.import)s.execJoin(n,t,i);else{var o=i.result,u=")";t.appendString("Rexjs.Module.exportAs("),t.appendContext(this.opening),o.length>0?(s.execJoin(r,t,i),u=","+o+u):s.execJoin(e,t),t.appendContext(this.closing),t.appendString(u)}},import:!0}),s}(function(t,n,e){t.importTo(n,e)},function(t,n,e){t.exportTo(n,e)},function(t,n,e){t.exportAsTo(n,e)}),this.MemberExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({exportAsTo:function(t,n){t.appendContext(this.variable),t.appendString(':"'+this.context.content+'"')},exportTo:function(t,n){t.appendContext(this.variable),t.appendString(":"+this.context.content)},importTo:function(t,n){var e=n.result;t.appendString(this.variable.content+'=Rexjs.Module.memberOf("'+this.context.content+'"'+(e.length>0?",":"")+e+")")},get variable(){return this.context}}),n}(),this.MemberAliasExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({alias:null,extractTo:function(t){t.appendContext(this.context),t.appendSpace(),t.appendContext(this.alias),t.appendSpace(),t.appendContext(this.variable)},variable:null}),e}(this.MemberExpression),this.MultipleMembersStatement=function(n){function e(t){a.call(this,t)}return(e=new t(e,a)).props({catch:function(t,e){return"}"!==e.content?(t.error(e),null):(n(t,this,!0),this.bindingOf())},collectVariables:!0,expression:new s,try:function(t,e){return","!==e.content?(t.error(e),null):(n(t,this,!1),this.tagOf().separator)},tagOf:function(){return this.target.expression.members.latest.opening.tag}}),e}(function(t,n,e){var i=n.expression,r=n.out(),s=r.members.latest.inner;if(e){if(!s.set(i))return}else s.add(i);r.context.tag.collectVariables(t,i.variable)}),this.OpeningMultipleMembersTag=function(e,i,s){function o(t){e.call(this,t)}return(o=new t(o,e)).props({get binding(){return r},get separator(){return n},require:function(t){return t.memberVariableTags},visitor:function(t,n,e,r){e.expression.members.add(new i(n)),r.statement=new s(r)}}),o}(this.OpeningBraceTag,this.MultipleMembersExpression,this.MultipleMembersStatement),this.MemberVariableTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.memberContextTags},visitor:function(t,n,i,r){i.target.expression.clean=!1,i.expression=new e(n)}}),i}(this.ConstVariableTag,this.MemberExpression),this.MemberAliasVariableTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.expressionContextTags},visitor:function(t,n,e,i){e.expression.variable=n}}),e}(this.MemberVariableTag),this.MemberAliasTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.memberAliasVariableTags},visitor:function(t,n,i,r){(i.expression=new e(i.expression.context)).alias=n}}),i}(this.AsTag,this.MemberAliasExpression),this.MultipleMembersSeparatorTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.memberVariableTags},visitor:function(t,n,i,r){r.statement=new e(r)}}),i}(this.MemberSeparatorTag,this.MultipleMembersStatement),this.ClosingMultipleMembersTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.memberSeparatorTags},visitor:function(t,n,e,i){e.expression.members.latest.closing=n}}),e}(this.ClosingBraceTag),n=new this.MultipleMembersSeparatorTag,r=new this.ClosingMultipleMembersTag}.call(this,null,null),function(){this.DefaultMemberExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({compileTo:function(t,n){t.appendString(this.context.content+"=Rexjs.Module.defaultOf("+n.result+")")}}),e}(this.MemberExpression),this.DefaultMemberTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.memberSeparatorTags},visitor:function(t,n,i,r){var s=i.expression;this.collectTo(t,n,r),s.members.add(new e(n)),s.clean=!1}}),i}(this.MemberVariableTag,this.DefaultMemberExpression)}.call(this),function(){this.AllMembersExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({compileTo:function(t,n){t.appendString(this.variable.content+"=Rexjs.Module.moduleOf("+n.result+")")}}),e}(this.MemberAliasExpression),this.AllMembersTag=function(n){function e(t){h.call(this,t)}return(e=new t(e,h)).props({regexp:/\*/,require:function(t){return t.moduleAliasTags},visitor:function(t,e,i,r){var s=i.expression;s.members.add(new n(e)),s.clean=!1}}),e}(this.AllMembersExpression),this.ModuleAliasTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.moduleVariableTags},visitor:function(t,n,e,i){e.expression.members.latest.alias=n}}),e}(this.AsTag),this.ModuleVariableTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.memberSeparatorTags},visitor:function(t,n,e,i){this.collectTo(t,n,i),e.expression.members.latest.variable=n}}),e}(this.ConstVariableTag)}.call(this),function(i,r,s,o){this.ExportExpression=function(u){function a(t,n){e.call(this,t),this.file=n}return(a=new t(a,e)).props({extractTo:function(t){var e=this.from;y.es6Module?function(t,e,u,a,c){var l=new n;e&&l.appendString(u.content+',"'+a.url.href+'"');switch(t.compileTo(c,l),!0){case t instanceof i:return void t.range.forEach(o,c);case t instanceof r:case t instanceof s:o(t.name.context.content,c,!0)}}(this.member,this.from,this.name,this.file,t):(t.appendContext(this.context),t.appendSpace(),this.member.extractTo(t),e&&(t.appendSpace(),t.appendContext(e),t.appendSpace(),t.appendContext(this.name)))},file:null,member:null,name:null}),a}(),this.ExportStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({allowFrom:!1,catch:function(t,n){return this.out().member=this.expression,"from"===n.content&&this.allowFrom?this.bindingOf():null}}),n}(),this.ExportTag=function(n,e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({get binding(){return r},getBoundExpression:function(t){return new e(t)},getBoundStatement:function(t){return new i(t)},collectVariables:function(){},regexp:/export/,require:function(t){return t.exportContextTags}}),s}(this.ModuleTag,this.ExportExpression,this.ExportStatement,new this.FromTag)}.call(this,this.VarExpression,this.FunctionDeclarationExpression,this.ClassDeclarationExpression,function(t,n,e){var i='Rexjs.Module.export("'+t+'", '+t+")";e?i+=";":i=";"+i,n.appendString(i)}),function(){this.DefaultExportExpression=function(n){function e(t){n.call(this,t,null)}return(e=new t(e,n)).props({extractTo:function(t){t.appendContext(this.context),t.appendSpace(),this.member.extractTo(t)},compileTo:function(t){t.appendString('Rexjs.Module.export("default",'),this.member.extractTo(t),t.appendString(")")}}),e}(this.ExportExpression),this.DefaultExportStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){this.out().member=this.expression}}),n}(),this.DefaultExportTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({require:function(t){return t.expressionTags},visitor:function(t,n,r,s){t.defaultExported?t.error(n,l.EXPORT_DEFAULT):(t.defaultExported=!0,r.expression=new e(n),s.statement=new i(s))}}),r}(this.DefaultTag,this.DefaultExportExpression,this.DefaultExportStatement)}.call(this),function(n,e,i){this.PseudoImportExpression=function(n){function e(t,e){n.call(this,t,e)}return(e=new t(e,n)).props({extractTo:function(t){this.members.extractTo(t)},compileTo:function(t,n){this.members.latest.compileTo(t,n)}}),e}(this.ImportExpression),this.OpeningExportMultipleMembersTag=function(e,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({get binding(){return i},visitor:function(t,n,i,s){var o=new e(i.target.expression.context,t.file);i.expression=o,r.call(this,t,n,i,s),o.members.latest.import=!1}}),s}(this.PseudoImportExpression,n.prototype.visitor),this.ClosingExportMultipleMembersTag=function(n){function i(t){e.call(this,t)}return(i=new t(i,e)).props({require:function(t){return t.statementEndTags},visitor:function(t,e,i,r){i.allowFrom=!0,n.call(this,t,e,i,r)}}),i}(e.prototype.visitor),i=new this.ClosingExportMultipleMembersTag}.call(this,this.OpeningMultipleMembersTag,this.ClosingMultipleMembersTag,null),function(){this.ExportAllMembersExpression=function(){function n(t){e.call(this,t)}return(n=new t(n,e)).props({compileTo:function(t,n){t.appendString("Rexjs.Module.exportFrom("+n.result+")")},extractTo:function(t){t.appendContext(this.context)}}),n}(),this.ExportAllMembersTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.unexpectedTags},visitor:function(t,n,i,r){i.expression=new e(n),i.allowFrom=!0}}),i}(this.AllMembersTag,this.ExportAllMembersExpression)}.call(this),function(e,i,r,s,o){this.DestructuringAssignmentExpression=function(i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({extractTo:function(t){if(y.es6Base){var e=this.variable,s=this.left,o=new n;return o.appendString(e),s.origin.declaration?(t.appendString(e),t.appendContext(this.context),r(s,this.right,t),void s.compileTo(t,o)):(t.appendString("("+e),t.appendContext(this.context),r(s,this.right,t),s.compileTo(t,o),void t.appendString(","+e+")"))}i.call(this,t)},variable:""}),s}(e.prototype.extractTo,function(t,n,e){if(t instanceof s)return e.appendString("new Rexjs.ObjectDestructuringTarget(("),n.extractTo(e),void e.appendString("))");n.extractTo(e)}),this.DestructuringAssignmentTag=function(n,i,r,s){function u(t){o.call(this,t)}return(u=new t(u,o)).props({getBoundExpression:function(t){return new n(t)},order:p.DESTRUCTURING_ASSIGNMENT,visitor:function(t,n,s,o){var u,a,c=s.expression;if(c instanceof e){var l=c.last,p=l.right;r(p)&&(l.right=p.toDestructuring(t))}else r(c)&&(s.expression=c.toDestructuring(t));i.call(this,t,n,s,o),y.es6Base&&(u=s.expression.last,a=o,u.left.origin.setVariableOf(u,a))}}),u}(this.DestructuringAssignmentExpression,o.prototype.visitor,function(t){return t instanceof i||t instanceof r})}.call(this,this.BinaryExpression,this.ArrayExpression,this.ObjectExpression,this.ObjectDestructuringExpression,this.BasicAssignmentTag),function(r,u,f){this.JSXExpression=function(){function r(){e.call(this,null),this.children=new i(null,"")}return(r=new t(r,e)).props({children:null,closingElement:new s,extractTo:function(t,e){var i;if(y.jsx){var r=this.children,s=this.top;return s||(i=t,(t=e).appendString(i.result+'",'),i.clear()),t.appendString("new Rexjs.JSXTemplate("),this.openingElement.extractTo(t),r.length>0&&(i=new n,t.appendString(',"children",["'),r.extractTo(i,t),t.appendString(i.result+'"]')),t.appendString(")"),void(s||t.appendString(',"'))}this.openingElement.extractTo(t),this.children.extractTo(t),this.closingElement.extractTo(t)},hasChildElements:!1,openingElement:null,top:!0}),r}(),this.JSXElementExpression=function(n,e){function r(t){o.call(this,t),this.inner=new i(null," ")}return(r=new t(r,o)).props({hasJoinChar:!1,isAccessorType:!1,type:null,extractTo:function(t){var i=this.type,r=this.inner;if(y.jsx){if(r.join=",",this.isAccessorType)i.extractTo(t);else{var s=i.content.charCodeAt(0);this.hasJoinChar||s>=n&&s<=e?(t.appendString('"'),t.appendContext(i),t.appendString('"')):t.appendContext(i)}r.length>0&&(t.appendString(","),r.extractTo(t))}else t.appendContext(this.opening),this.isAccessorType?i.extractTo(t):t.appendContext(i),t.appendString(" "),r.extractTo(t),t.appendContext(this.closing)}}),r}("a".charCodeAt(0),"z".charCodeAt(0)),this.JSXStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){return">"!==n.content?(t.error(n),null):this.bindingOf()},tagOf:function(){return this.expression.opening.tag}}),n}(),this.OpeningJSXElementTag=function(n,e,i){function s(t,n){h.call(this,t),this.isChild=!!n}return(s=new t(s,h)).props({$class:x,get binding(){return u},getBoundExpression:function(t,e){return new n(t)},getBoundStatement:function(t){return new i(t)},isChild:!1,regexp:/<(?!\s*\/)/,require:function(t){return t.openingJsxContextTags},get selfClosingJSXBackslash(){return r},setElementToJSXExpression:function(t,n){t.openingElement=n},visitor:function(t,n,i,r){var s,o=this.isChild,u=new e(n);o&&(i.expression.hasChildElements=!0,i=new c(r),r.statement=i),F(t,n,i,r),r.statement.expression=u,s=i.expression,this.setElementToJSXExpression(s,u),o&&(s.top=!1,i.target.expression.children.add(s))}}),s}(this.JSXExpression,this.JSXElementExpression,this.JSXStatement),this.SelfClosingJSXBackslashTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/\/(?=\s*>)/,require:function(t){return t.jsxSelfClosingBackslashContextTags}}),n}(),this.ClosingJSXElementTag=function(){function n(t){h.call(this,t)}return(n=new t(n,h)).props({regexp:/>/,require:function(t){return t.jsxChildTags},visitor:function(t,n,e,i){e.expression.closing=n,e.out()}}),n}(),this.OpeningJSXMatchedElementTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({get binding(){return f},getBoundExpression:function(t,n){return n.expression},regexp:/<(?=\s*\/)/,require:function(t){return t.jsxMatchedBackslashTags},get selfClosingJSXBackslash(){return null},setElementToJSXExpression:function(t,n){t.closingElement=n}}),e}(this.OpeningJSXElementTag),this.JSXMatchedBackslashTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({regexp:/\//,require:function(t){return t.openingJsxContextTags}}),e}(this.SelfClosingJSXBackslashTag),this.ClosingJSXMatchedElementTag=function(e,i){function r(t){e.call(this,t)}return(r=new t(r,e)).props({getBoundStatement:function(t){return t.statement},hasAttribute:function(t,n){var e=n.expression;0!==e.inner.length&&t.error(e.inner[0].context)},matchType:function(t,e,i){var r,s=i.target.expression.openingElement,o=i.expression,u=s.isAccessorType,a=o.isAccessorType;if(u&&a){var c=new n,p=new n;if(s.type.extractTo(c),o.type.extractTo(p),(r=c.result)===p.result)return}else if(!u&&!a&&(r=s.type.content)===o.type.content)return;t.error(o.opening,l.template("JSX_CLOSING_TAG",r))},require:function(t,n,e){var i=e.statements.statement.expression;switch(!1){case i.hasChildElements:case i.closingElement.default:break;default:return t.jsxChildTags}return t.closingJSXMatchedElementContextTags},visitor:function(t,n,e,r){this.hasAttribute(t,e),this.matchType(t,n,e),i.call(this,t,n,e,r),r.statement.expression.top||r.statement.out()}}),r}(this.ClosingJSXElementTag,this.ClosingJSXElementTag.prototype.visitor),this.SelfClosingJSXElementTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t,n){y.jsx||t.appendString("/"),t.appendString(n)},hasAttribute:function(){},matchType:function(){}}),e}(this.ClosingJSXMatchedElementTag),this.OpeningJSXAdjacentElementTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({$class:d,$type:D,order:p.JSX_ADJACENT_ELEMENT,visitor:function(t,n,e,i){t.error(n,l.JSX_ADJACENT_ELEMENT)}}),e}(this.OpeningJSXElementTag),r=new this.SelfClosingJSXBackslashTag,u=new this.ClosingJSXElementTag,f=new this.ClosingJSXMatchedElementTag}.call(this,null,null,null),function(n,e){this.JSXMemberAccessorStatement=function(){function n(t){a.call(this,t)}return(n=new t(n,a)).props({catch:function(t,n){t.error(n)},tagOf:function(){return this.target.expression.opening.tag},try:function(t,n){var e;switch(n.content){case".":return n.tag;case"/":e=this.tagOf().selfClosingJSXBackslash;break;case">":e=this.bindingOf()}return e?(this.out().type=this.expression,e):(t.error(n),null)}}),n}(),this.JSXIdentifierTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({regexp:n.compileRegExp(n.keywords.join("|"),B("-")),require:function(t){return t.jsxIdentifierContextTags},visitor:function(t,n,e,i){var r=e.expression;r.type=n,r.hasJoinChar=n.content.indexOf("-")>-1}}),i}(this.IdentifierTag,this.JSXElementExpression),this.JSXMemberAccessorTag=function(e,i,r){function s(t){n.call(this,t)}return(s=new t(s,n)).props({require:function(t){return t.jsxPropertyNameTags},visitor:function(t,n,s,o){var u=s.expression;if(u.hasJoinChar)t.error(n);else{var a=new i(o);a.expression=u.isAccessorType?u.type:new e(u.type),u.isAccessorType=!0,o.statement=a,r.call(this,t,n,a,o)}}}),s}(this.IdentifierExpression,this.JSXMemberAccessorStatement,n.prototype.visitor),this.JSXPropertyNameTag=function(n){function i(t){e.call(this,t)}return(i=new t(i,e)).props({require:function(t){return t.jsxIdentifierContextTags},visitor:function(t,e,i,r){n.call(this,t,e,i,r),i.out().type=i.expression}}),i}(e.prototype.visitor)}.call(this,this.DotAccessorTag,this.PropertyNameTag),function(n){this.JSXPlaceHolderExpression=function(n){function e(t){o.call(this,t)}return(e=new t(e,o)).props({extractTo:function(t,e){if(y.jsx){var i=this.inner,r=t;return(t=e).appendString(r.result+'",'),r.clear(),i.empty||(t.appendString("("),i.extractTo(t),t.appendString("),")),void t.appendString('"')}n.call(this,t)}}),e}(o.prototype.extractTo),this.JSXPlaceHolderStatement=function(n){function e(t){n.call(this,t),this.expression=new r(null)}return(e=new t(e,n)).props({catch:function(t,n){return"}"!==n.content?(t.error(n),null):this.bindingOf()},tagOf:function(){return this.target.expression.opening.tag}}),e}(this.PlaceHolderStatement),this.OpeningJSXPlaceHolderTag=function(e,i,r){function s(t){e.call(this,t)}return(s=new t(s,e)).props({get binding(){return n},getBoundExpression:function(t,n){return new i(t)},getBoundStatement:function(t){return new r(t)},regexp:/\{/,setJSXPlaceHolderExpressionTo:function(t,n){n.expression.children.add(t)},visitor:function(t,n,e,i){var r=new c(i),s=this.getBoundExpression(n,e);r.expression=s,i.statement=r,this.setJSXPlaceHolderExpressionTo(s,e),n.setStatementOf(i)}}),s}(this.OpeningPlaceHolderTag,this.JSXPlaceHolderExpression,this.JSXPlaceHolderStatement),this.ClosingJSXPlaceHolderTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.jsxChildTags},visitor:function(t,n,e,i){var r=e.out();r.inner=e.expression,r.closing=n,i.statement.out()}}),e}(this.ClosingPlaceHolderTag),n=new this.ClosingJSXPlaceHolderTag}.call(this,null),function(n,i,r){this.JSXAttributeExpression=function(n){function i(t){e.call(this,t),this.name=t}return(i=new t(i,e)).props({extractTo:function(t){var n=this.value;if(y.jsx)return t.appendString('"'),t.appendContext(this.name),t.appendString('",('),n?n.extractTo(t):t.appendString("true"),void t.appendString(")");t.appendContext(this.name),n&&(t.appendString("="),this.value.extractTo(t))},name:null,value:null}),i}(t.CompiledExpression),this.JSXSpreadAttributeExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t){if(y.jsx)return t.appendString("new Rexjs.SpreadItem("),this.operand.extractTo(t),void t.appendString("),null");t.appendContext(this.context),this.operand.extractTo(t)}}),e}(this.SpreadExpression),this.JSXAttributeValueExpression=function(e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({extractTo:function(t){y.jsx?this.inner.extractTo(t):e.call(this,t)}}),i}(n.prototype.extractTo),this.JSXSpreadStatement=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({catch:function(t,n){return"}"!==n.content?(t.error(n),null):(this.out().inner.latest.inner.operand=this.expression,this.bindingOf())},tagOf:function(){return this.target.expression.inner.latest.opening.tag},try:function(t,n){","===n.content&&t.error(n)}}),e}(this.SpreadStatement),this.JSXAttributeNameTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.jsxAttributeNameContextTags},visitor:function(t,n,i,r){i.expression.inner.add(new e(n))}}),i}(this.JSXIdentifierTag,this.JSXAttributeExpression),this.JSXAttributeAssginmentTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.jsxAttributeAssginmentContextTags},visitor:function(){}}),e}(this.BasicAssignmentTag),this.JSXStringTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({require:function(t){return t.jsxTypeContextTags},visitor:function(t,n,i,r){i.expression.inner.latest.value=new e(n)}}),i}(this.StringTag,this.LiteralExpression),this.OpeningJSXAttributePlaceHolderTag=function(n,e){function r(t){n.call(this,t)}return(r=new t(r,n)).props({get binding(){return i},getBoundExpression:function(t,n){return new e(t)},setJSXPlaceHolderExpressionTo:function(t,n){n.expression.inner.latest.value=t}}),r}(this.OpeningJSXPlaceHolderTag,this.JSXAttributeValueExpression),this.ClosingJSXAttributePlaceHolderTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({require:function(t){return t.jsxTypeContextTags}}),e}(this.ClosingJSXPlaceHolderTag),this.OpeningJSXSpreadPlaceHolderTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({get binding(){return r},require:function(t){return t.jsxSpreadTags},visitor:function(t,n,e,i){e.expression.inner.add(this.getBoundExpression(n,e))}}),e}(this.OpeningJSXAttributePlaceHolderTag),this.JSXSpreadTag=function(n,e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({getBoundExpression:function(t,n){return new e(t)},getBoundStatement:function(t){return new i(t)},visitor:function(t,n,e,i){e.expression.inner.latest.inner=this.getBoundExpression(n,e),n.setStatementOf(i)}}),r}(this.SpreadTag,this.JSXSpreadAttributeExpression,this.JSXSpreadStatement),this.ClosingJSXSpreadPlaceHolderTag=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({visitor:function(t,n,e,i){e.expression.inner.latest.closing=n}}),e}(this.ClosingJSXAttributePlaceHolderTag),i=new this.ClosingJSXAttributePlaceHolderTag,r=new this.ClosingJSXSpreadPlaceHolderTag}.call(this,this.JSXPlaceHolderExpression,null,null),function(n){this.JSXTextExpression=function(n){function i(t){e.call(this,t)}return(i=new t(i,e)).props({extractTo:function(t,e){var i=this.context;if(y.jsx){var r=t,s=i.content.trim();if(t=e,0===s.length)return;r.result;return r.result.length>0&&r.appendString(" "),void r.appendString(s.replace(n,'\\"'))}t.appendContext(i)}}),i}(/"/g),this.JSXLineTerminatorExpression=function(n){function e(t){n.call(this,t)}return(e=new t(e,n)).props({extractTo:function(t){y.jsx||t.appendContext(this.context)}}),e}(this.JSXTextExpression),this.JSXTextChildTag=function(n,e){function i(t){n.call(this,t)}return(i=new t(i,n)).props({order:p.JSX_TEXT,regexp:/[^{<\r\n\u2028\u2029]+/,require:function(t){return t.jsxChildTags},visitor:function(t,n,i,r){i.expression.children.add(new e(n))}}),i}(this.LiteralTag,this.JSXTextExpression),this.JSXLineTerminatorTag=function(e,i){function r(t){n.call(this,t)}return(r=new t(r,n)).props({order:p.JSX_LINE_TERMINATOR,visitor:function(t,n,r,s){r.expression.children.add(new e(n)),i.call(this,t,n,r,s)}}),r}(this.JSXLineTerminatorExpression,n.prototype.visitor)}.call(this,t.LineTerminatorTag),function(n){this.OnlyStatementEndTags=function(e,i,r){function s(){n.call(this),this.register(new e,new i,new r)}return s=new t(s,n)}(this.LastStatementEndTag,this.StatementBreakTag,this.StatementEndTag)}.call(this,t.SyntaxTags),function(){this.ECMAScriptTags=function(n,e){function i(t){n.call(this),this.delegate(e,t||E)}return(i=new t(i,n)).static({mappable:!0}),i}(t.DefaultTags,[this.ArrowTag,this.BasicAssignmentTag,this.BinaryNumberTag,this.BitwiseANDTag,this.BitwiseNOTTag,this.BitwiseORTag,this.BitwiseXORTag,this.BooleanTag,this.BreakTag,this.CaseTag,this.CatchTag,this.ClassDeclarationTag,this.ClosingBraceTag,this.ClosingBracketTag,this.ClosingParenTag,this.ColonTag,this.CommaTag,this.ConstTag,this.ContinueTag,this.DebuggerTag,this.DefaultTag,this.DecrementTag,this.DeleteTag,this.DivisionTag,this.DoTag,this.DotTag,this.ElseTag,this.EmptyStatementTag,this.EqualityTag,this.ExponentiationTag,this.ExportTag,this.ExtendsTag,this.FileEndTag,this.FinallyTag,this.ForTag,this.FunctionDeclarationTag,this.GreaterThanOrEqualTag,this.GreaterThanTag,this.IdentityTag,this.IfTag,this.ImportTag,this.InTag,this.IncrementTag,this.InequalityTag,this.InstanceofTag,this.LabelTag,this.LeftShiftTag,this.LessThanOrEqualTag,this.LessThanTag,this.LetTag,this.LogicalANDTag,this.LogicalNOTTag,this.LogicalORTag,this.MultiplicationTag,this.NegationTag,this.NewTag,this.NonidentityTag,this.NullTag,this.NumberTag,this.OctalNumberTag,this.OpeningArrayTag,this.OpeningBlockTag,this.OpeningGroupingTag,this.OpeningJSXElementTag,this.OpeningMultiLineCommentTag,this.OpeningTemplateTag,this.PlusTag,this.QuestionAssignmentTag,this.QuestionTag,this.RegExpTag,this.RemainderTag,this.ReturnTag,this.RightShiftTag,this.ShorthandAssignmentTag,this.SingleLineCommentTag,this.SpreadTag,this.StaticTag,this.StringTag,this.SuperTag,this.SwitchTag,this.ThisTag,this.ThrowTag,this.TryTag,this.TypeofTag,this.UnsignedRightShiftTag,this.VarTag,this.VoidTag,this.WhileTag,this.WithTag,this.YieldTag])}.call(this),function(n,e){this.ExpressionTags=function(e){function i(){n.call(this),this.delegate(e)}return(i=new t(i,n)).props({filter:function(t){return t.class.expression&&(t.type=new f(m)),!1}}),i}([this.ClassTag,this.FunctionTag,this.OpeningObjectTag,this.TryFunctionTag,this.VariableTag]),this.NewlineTags=function(e,i,r){function s(){n.call(this),this.clear(),this.push(new i(D),new r(D))}return(s=new t(s,n)).static({mappable:!1}),s.props({filter:function(t){return t instanceof e},get newlineTags(){return this}}),s}(this.UnaryAssignmentTag,this.IncrementTag,this.DecrementTag),this.ExpressionContextTags=function(e,i,r){function s(){n.call(this),this.delegate(i)}return(s=new t(s,n)).props({filter:function(t){var n=t.class;switch(!0){case n.expressionContext:case n.statementBegin:t.type=new f(D)}return!1},newlineTags:null,ready:function(){var t=new e;this.newlineTags=t,t.register(this),t.ready(),r.call(this)}}),s}(this.NewlineTags,[this.AdditionTag,this.DotAccessorTag,this.ExpressionBreakTag,this.OnlyStatementEndTags,this.OpeningBracketAccessorTag,this.OpeningCallTag,this.OpeningRestrictedCommentTag,this.PostfixDecrementTag,this.PostfixIncrementTag,this.QuestionAssignmentTag,this.SubtractionTag,this.OpeningTemplateParameterTag],n.prototype.ready),this.StatementTags=function(e){function i(){n.call(this)}return(i=new t(i,n)).props({filter:function(t){return t.class.statementBegin&&(t.type=new f(t instanceof e?D:m)),!1}}),i}(this.FileEndTag),this.StatementEndTags=function(){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(),this.MistakableTags=function(n){function e(){n.call(this)}return(e=new t(e,n)).props({filter:function(t){return t.class.statementBegin&&(t.type=new f(D)),!1}}),e}(this.StatementTags),this.IllegalTags=function(){function e(){n.call(this,C)}return e=new t(e,n)}()}.call(this,this.ECMAScriptTags,this.OnlyStatementEndTags),function(n,e,i,r,s,o,u){this.ArgumentNameContextTags=function(e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.ArgumentAssignmentTag),this.ArgumentSeparatorContextTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.ArgumentNameTag,this.RestTag),this.ArrowContextTags=function(n){function i(){e.call(this),this.register(new n)}return i=new t(i,e)}(this.OpeningArrowFunctionBodyTag),this.BlockTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningBlockTag),this.CatchedExceptionTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningCatchedExceptionTag),this.ClassContextTags=function(n,e,i){function r(){u.call(this),this.register(new n,new e,new i)}return r=new t(r,u)}(this.ClassNameTag,this.ExtendsTag,this.OpeningClassBodyTag),this.ClassIdentifierPropertyNameContextTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.ClassPropertyInitializerTag,this.OpeningShorthandMethodArgumentsTag),this.ClassNameContextTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.ExtendsTag,this.OpeningClassBodyTag),this.ClassPropertyNameTags=function(n){function e(){u.call(this),this.delegate(n)}return e=new t(e,u)}([this.ClosingClassBodyTag,this.ClassPropertyPlaceholderTag,this.PropertyStarTag,this.ConstructorTag,this.GetDescriptorTag,this.SetDescriptorTag,this.ClassIdentifierPropertyNameTag,this.ClassNumberPropertyNameTag,this.ClassBinaryNumberPropertyNameTag,this.ClassOctalNumberPropertyNameTag,this.ClassStringPropertyNameTag,this.OpeningClassComputedPropertyNameTag]),this.ClassVariableTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.ClassVariableTag),this.ClosingArrowFunctionBodyContextTags=function(n,e){function i(){r.call(this)}return(i=new t(i,r)).props({filter:function(t){return t instanceof n?(t.type=new f(D),!1):e.call(this,t)}}),i}(this.CommaTag,r.prototype.filter),this.ClosingCatchedExceptionTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.ClosingCatchedExceptionTag),this.ClosingJSXMatchedElementContextTags=function(n){function e(){i.call(this),this.register(new n)}return e=new t(e,i)}(this.OpeningJSXAdjacentElementTag),this.ClosureVariableContextTags=function(n,e,i){function r(){o.call(this),this.register(new n)}return(r=new t(r,o)).props({filter:function(t){return t instanceof e?t.type=new f(m):t instanceof i&&(t.type=new f(D)),!1}}),r}(this.VarDeclarationBreakTag,this.BasicAssignmentTag,this.CommaTag),this.VariableDeclarationTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.OpeningDeclarationArrayTag,this.OpeningDeclarationObjectTag),this.ConstContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.VariableDeclarationTags,this.ConstVariableTag),this.ConstructorArgumentsTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningConstructorArgumentsTag),this.ConstructorBodyTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningConstructorBodyTag),this.DeclarationArrayItemSeparatorTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.DeclarationArrayItemSeparatorTag,this.ClosingDeclarationArrayTag),this.DeclarationArrayItemContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.DeclarationArrayItemSeparatorTags,this.DeclarationArrayItemAssignmentTag),this.DeclarationArrayRestItemContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.DeclarationArrayItemSeparatorTags,this.DeclarationRestItemSeparatorTag),this.DeclarationArrayRestItemTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.DeclarationArrayRestItemTag),this.DeclarationPropertyNameSeparatorTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.DeclarationPropertyNameSeparatorTag),this.DeclarationPropertyNameTags=function(n){function e(){u.call(this),this.delegate(n)}return e=new t(e,u)}([this.IdentifierDeclarationPropertyNameTag,this.NumberDeclarationPropertyNameTag,this.BinaryNumberDeclarationPropertyNameTag,this.OctalNumberDeclarationPropertyNameTag,this.KeywordDeclarationPropertyNameTag,this.StringDeclarationPropertyNameTag,this.OpeningComputedDeclarationPropertyNameTag,this.DeclarationPropertyRestTag,this.ClosingDeclarationObjectTag]),this.DeclarationPropertyRestItemTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.DeclarationPropertyRestItemTag),this.DeclarationPropertySeparatorTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.DeclarationPropertySeparatorTag,this.ClosingDeclarationObjectTag),this.DeclarationPropertyRestItemContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.DeclarationPropertySeparatorTags,this.DeclarationRestItemSeparatorTag),this.DeclarationPropertyValueContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.DeclarationPropertySeparatorTags,this.DeclarationPropertyValueInitializerTag),this.DeclarationPropertyValueTags=function(n,e,i){function r(){u.call(this),this.register(new n,new e,new i)}return r=new t(r,u)}(this.DeclarationPropertyValueTag,this.OpeningArrayDeclarationPropertyValueTag,this.OpeningObjectDeclarationPropertyValueTag),this.DestructibleExpressionContextTags=function(n){function e(){i.call(this),this.register(new n)}return e=new t(e,i)}(this.DestructuringAssignmentTag),this.DestructuringAssignmentTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.DestructuringAssignmentTag),this.DoWhileConditionTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningDoWhileConditionTag),this.DotAccessorContextTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.PropertyNameTag),this.ExceptionVariableTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.ExceptionVariableTag),this.ExportContextTags=function(n){function e(){u.call(this),this.delegate(n)}return e=new t(e,u)}([this.VarTag,this.LetTag,this.ConstTag,this.FunctionDeclarationTag,this.ClassDeclarationTag,this.DefaultExportTag,this.OpeningExportMultipleMembersTag,this.ExportAllMembersTag]),this.ExtendsContextTags=function(n,i,r){function s(){e.call(this)}return(s=new t(s,e)).props({filter:function(t){return t instanceof n?(t instanceof i&&(t.type=new f(m)),!1):r.call(this,t)}}),s}(this.UnaryTag,this.ExecTag,e.prototype.filter),this.FileStartTags=function(n){function e(){u.call(this),this.register(new n)}return(e=new t(e,u)).props({entrance:!0}),e}(this.FileStartTag),this.ForConditionTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningForConditionTag),this.ForConditionContextTags=function(n,i){function r(){e.call(this)}return(r=new t(r,e)).props({filter:function(t){return t instanceof n?(t.type=new f(m),!1):i.call(this,t)}}),r}(this.VarTag,e.prototype.filter),this.FunctionArgumentTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningArgumentsTag),this.FunctionBodyTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningFunctionBodyTag),this.StarContextTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.FunctionNameTag,this.OpeningArgumentsTag),this.FunctionDeclarationStarContextTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.FunctionVariableTag),this.FunctionContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.StarContextTags,this.StarTag),this.FunctionDeclarationContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.FunctionDeclarationStarContextTags,this.FunctionDeclarationStarTag),this.IfConditionTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningIfConditionTag),this.JSXTypeContextTags=function(n,e,i,r){function s(){u.call(this),this.register(new n,new e,new i,new r(E))}return s=new t(s,u)}(this.JSXAttributeNameTag,this.OpeningJSXSpreadPlaceHolderTag,this.SelfClosingJSXBackslashTag,this.ClosingJSXElementTag),this.JSXAttributeAssginmentContextTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.JSXStringTag,this.OpeningJSXAttributePlaceHolderTag),this.JSXAttributeNameContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.JSXTypeContextTags,this.JSXAttributeAssginmentTag),this.JSXChildTags=function(n,e,i,r,s){function o(){u.call(this),this.register(new n(null,!0),new e,new i,new r,new s)}return o=new t(o,u)}(this.OpeningJSXElementTag,this.JSXTextChildTag,this.OpeningJSXPlaceHolderTag,this.JSXLineTerminatorTag,this.OpeningJSXMatchedElementTag),this.JSXMatchedBackslashTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.JSXMatchedBackslashTag),this.JSXIdentifierContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.JSXTypeContextTags,this.JSXMemberAccessorTag),this.JSXPropertyNameTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.JSXPropertyNameTag),this.JSXSelfClosingBackslashContextTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.SelfClosingJSXElementTag),this.JSXSpreadTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.JSXSpreadTag),this.LabelContextTags=function(n){function e(){i.call(this),this.register(new n)}return e=new t(e,i)}(this.LabelColonTag),this.LetContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.VariableDeclarationTags,this.LocalVariableTag),this.MemberAliasVariableTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.MemberAliasVariableTag),this.MemberContextTags=function(e,i){function r(){n.call(this),this.register(new e,new i)}return r=new t(r,n)}(this.MemberAliasTag,this.MultipleMembersSeparatorTag),this.MemberSeparatorContextTags=function(n,e,i){function r(){u.call(this),this.register(new n,new e,new i)}return r=new t(r,u)}(this.DefaultMemberTag,this.AllMembersTag,this.OpeningMultipleMembersTag),this.IdentifierDeclarationPropertyNameContextTags=function(n,e,i){function r(){n.call(this),this.register(new e,new i)}return r=new t(r,n)}(this.DeclarationPropertySeparatorTags,this.DeclarationPropertyNameInitializerTag,this.DeclarationPropertyNameSeparatorTag),this.ImportContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.MemberSeparatorContextTags,this.ModuleNameTag),this.MemberSeparatorTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.MemberSeparatorTag,this.FromTag),this.MemberVariableTags=function(e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.MemberVariableTag),this.ModuleAliasTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.ModuleAliasTag),this.ModuleNameTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.ModuleNameTag),this.ModuleVariableTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.ModuleVariableTag),this.NegationContextTags=function(n,i){function r(){e.call(this),this.register(new n,new i)}return r=new t(r,e)}(this.NegationSiblingTag,this.DecrementSiblingTag),this.NewContextTags=function(n,e,i,r){function s(){n.call(this),this.register(new e)}return(s=new t(s,n)).props({filter:function(t){if(t instanceof i)return!1;r.call(this,t)}}),s}(this.ExtendsContextTags,this.TargetAccessorTag,this.SuperTag,this.ExtendsContextTags.prototype.filter),this.OpeningArgumentsContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.ArgumentSeparatorContextTags,this.ClosingArgumentsTag),this.OpeningArrayContextTags=function(n){function i(){e.call(this),this.register(new n)}return i=new t(i,e)}(this.ArraySpreadTag),this.OpeningMultiLineCommentContextTags=function(n,e){function i(){u.call(this),this.register(new n,new e)}return i=new t(i,u)}(this.CommentContentTag,this.ClosingMultiLineCommentTag),this.OpeningGroupingContextTags=function(n){function i(){e.call(this),this.register(new n)}return i=new t(i,e)}(this.IllegibleRestTag),this.OpeningJsxContextTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.JSXIdentifierTag),this.OpeningRestrictedCommentContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.OpeningMultiLineCommentContextTags,this.CommentBreakTag),this.OpeningSwitchBodyContextTags=function(n,e,i){function r(){u.call(this),this.register(new n,new e,new i)}return r=new t(r,u)}(this.CaseTag,this.DefaultTag,this.ClosingSwitchBodyTag),this.OpeningDeclarationArrayContextTags=function(n,e){function i(){n.call(this),this.delegate(e)}return i=new t(i,n)}(this.DeclarationArrayItemSeparatorTags,[this.DeclarationArrayItemTag,this.DeclarationArrayRestTag,this.OpeningNestedDeclarationArrayItemTag,this.OpeningObjectDeclarationArrayItemTag]),this.ParameterTags=function(n){function i(){e.call(this),this.register(new n)}return i=new t(i,e)}(this.SpreadTag),this.PlusContextTags=function(n,i){function r(){e.call(this),this.register(new n,new i)}return r=new t(r,e)}(this.PlusSiblingTag,this.IncrementSiblingTag),this.PropertyNameContextTags=function(e,i,r,s){function o(){n.call(this),this.register(new e,new i,new r(C))}return(o=new t(o,n)).props({filter:function(t){return t instanceof s&&!(t instanceof r)}}),o}(this.OpeningShorthandMethodArgumentsTag,this.PropertyNameSeparatorTag,this.ClosingObjectTag,this.ClosingBraceTag),this.IdentifierPropertyNameContextTags=function(n,e,i,r){function s(){n.call(this),this.register(new e,new i,new r(E))}return s=new t(s,n)}(this.PropertyNameContextTags,this.PropertySeparatorTag,this.PropertyInitializerTag,this.ClosingObjectTag),this.OpeningClassBodyContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.ClassPropertyNameTags,this.StaticModifierTag),this.PropertyNameTags=function(n){function e(){u.call(this),this.delegate(n)}return e=new t(e,u)}([this.ClosingObjectTag,this.IdentifierPropertyNameTag,this.NumberPropertyNameTag,this.BinaryNumberPropertyNameTag,this.OctalNumberPropertyNameTag,this.KeywordPropertyNameTag,this.StringPropertyNameTag,this.OpeningComputedPropertyNameTag,this.GetTag,this.SetTag,this.PropertyStarTag,this.PropertySpreadTag]),this.PropertySeparatorTags=function(e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.PropertySeparatorTag),this.RestArgumentNameTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.RestArgumentNameTag),this.RestArgumentNameContextTags=function(e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.RestArgumentSeparatorTag),this.ReturnContextTags=function(n){function i(){e.call(this),this.register(new n)}return i=new t(i,e)}(this.OnlyStatementEndTags),this.ShorthandMethodArgumentsTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningShorthandMethodArgumentsTag),this.ShorthandMethodBodyTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningShorthandMethodBodyTag),this.ShorthandMethodNameTags=function(n){function e(){u.call(this),this.delegate(n)}return e=new t(e,u)}([this.ClosingObjectTag,this.IdentifierMethodNameTag,this.NumberMethodNameTag,this.BinaryNumberMethodNameTag,this.OctalNumberMethodNameTag,this.StringMethodNameTag,this.OpeningComputedMethodNameTag]),this.AccessorDescriptorContextTags=function(n,e,i,r,s){function o(){n.call(this),this.register(new e,new i,new r)}return(o=new t(o,n)).props({filter:function(t){return t instanceof s}}),o}(this.ShorthandMethodNameTags,this.ConstructorTag,this.ClassPropertyInitializerTag,this.OpeningShorthandMethodArgumentsTag,this.PropertyAccessorTag),this.PropertyAccessorContextTags=function(n,e,i,r){function s(){n.call(this),this.register(new e,new i,new r)}return s=new t(s,n)}(this.ShorthandMethodNameTags,this.OpeningShorthandMethodArgumentsTag,this.PropertyNameSeparatorTag,this.PropertySeparatorTag),this.StaticModifierContextTags=function(n,e,i,r,s,o){function u(){n.call(this),this.register(new s,new o)}return(u=new t(u,n)).props({filter:function(t){return t instanceof e||t instanceof i||t instanceof r}}),u}(this.ClassPropertyNameTags,this.ConstructorTag,this.ClosingObjectTag,this.ClassPropertyPlaceholderTag,this.ClassPropertyInitializerTag,this.OpeningShorthandMethodArgumentsTag),this.SuperAccessorContextTags=function(n){function e(){i.call(this),this.delegate(n)}return e=new t(e,i)}([this.OpeningSuperMethodCallTag,this.SuperPropertyBasicAssignmentTag,this.SuperPropertyShorthandAssignmentTag,this.SuperPropertyPostfixIncrementTag,this.SuperPropertyPostfixDecrementTag]),this.SuperContextTags=function(e,i,r){function s(){n.call(this),this.register(new e,new i,new r)}return s=new t(s,n)}(this.OpeningSuperCallTag,this.SuperDotAccessorTag,this.OpeningSuperBracketAccessorTag),this.SuperPropertyNameTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.SuperPropertyNameTag),this.SwitchBlockTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningSwitchBodyTag),this.SwitchConditionTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningSwitchConditionTag),this.TargetAccessorContextTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.TargetTag),this.TemplateContentTags=function(e,i,r,s,o){function u(){n.call(this),this.register(new e,new i,new r(r.CARRIAGE_RETURN),new r(r.LINE_SEPARATOR),new r(r.LINEFEED),new r(r.PARAGRAPH_SEPARATOR),new s,new o)}return u=new t(u,n)}(this.TemplateContentTag,this.OpeningPlaceHolderTag,this.TemplateLineTerminatorTag,this.TemplateQouteTag,this.ClosingTemplateTag),this.TerminatedBranchFlowContextTags=function(n){function e(){o.call(this),this.register(new n)}return e=new t(e,o)}(this.LabelledIdentifierTag),this.ThrowContextTags=function(n){function i(){e.call(this),this.register(new n)}return i=new t(i,e)}(this.ThrowContextLineTerminatorTag),this.TryContextTags=function(n,e,i){function r(){n.call(this),this.register(new e)}return(r=new t(r,n)).props({filter:function(t){var n=i.call(this,t);return t.class.expression&&t.type.matchable&&(t.type=new f(D)),n}}),r}(this.ExtendsContextTags,this.OpeningBlockTag,this.ExtendsContextTags.prototype.filter),this.UnexpectedTags=function(){function e(){n.call(this)}return e=new t(e,n)}(),this.VarContextTags=function(n,e){function i(){n.call(this),this.register(new e)}return i=new t(i,n)}(this.VariableDeclarationTags,this.ClosureVariableTag),this.VarDeclarationBreakContextTags=function(n,e,i){function r(){n.call(this)}return(r=new t(r,n)).props({filter:function(t){return t instanceof e||(t.class.statementBegin?(t.type=new f(D),!1):i.call(this,t))}}),r}(this.ClosureVariableContextTags,this.SpecialLineTerminatorTag,this.ClosureVariableContextTags.prototype.filter),this.WhileConditionTags=function(n){function e(){u.call(this),this.register(new n)}return e=new t(e,u)}(this.OpeningWhileConditionTag)}.call(this,this.ECMAScriptTags,this.ExpressionTags,this.ExpressionContextTags,this.MistakableTags,this.StatementTags,this.StatementEndTags,this.IllegalTags),function(e,i,r){this.ECMAScriptTagsMap=function(n,e){function i(){n.call(this),e.forEach(function(t){var n=t.tags;n.mappable&&this.map(t.name,new n)},this)}return(i=new t(i,n)).static({bind:function(t,n){e.every(function(e){return e.name!==t||(e.tags=n,!1)})&&e.push({name:t,tags:n})}}),i}(t.SyntaxTagsMap,Object.getOwnPropertyNames(this).filter(function(t,n){return this[t].prototype instanceof i},this).map(function(t){var n=t.match(r);return{name:n?n[1].toLowerCase()+n[2]:t[0].toLowerCase()+t.substring(1),tags:this[t]}},this)),this.ECMAScriptParser=function(i,r,s,o,u,a,c){function l(){e.call(this)}return(l=new t(l,e)).static({get config(){return y},set config(t){y=t},get sourceMaps(){return a},set sourceMaps(t){a=t}}),l.props({build:function(t,e){var s=this.file,o=s.url;return(t=t||(o.href?a?new r(s):new i(s):new n)).appendString((e?"!":'new Rexjs.Module("'+o.href+'",')+"function(Rexjs){"),t.newline(),t.appendString('"use strict";'),t.newline(),this.statements.extractTo(t),t.newline(),t.appendString("}"+(e?".call(this, Rexjs)":")")+";"),t.complete()},defaultExported:!1,deps:null,parse:function(t){this.deps=[],c.call(this,t,u||(u=new s),new o)}}),l}(t.SourceBuilder,t.MappingBuilder,this.ECMAScriptTagsMap,this.GlobalStatements,null,!1,e.prototype.parse)}.call(this,t.SyntaxParser,this.ECMAScriptTags,/^([A-Z]+)([A-Z][^A-Z].*)$/),t.static(this)}(Rexjs,Rexjs.ContentBuilder,Rexjs.Expression,Rexjs.ListExpression,Rexjs.EmptyExpression,Rexjs.DefaultExpression,Rexjs.PartnerExpression,Rexjs.LeftHandSideExpression,null,null,null,null,Rexjs.SyntaxTag,Rexjs.TagType,Rexjs.TagClass.CLASS_STATEMENT_BEGIN,Rexjs.TagClass.CLASS_STATEMENT_END,Rexjs.TagClass.CLASS_EXPRESSION,Rexjs.TagClass.CLASS_EXPRESSION_CONTEXT,Rexjs.TagType.TYPE_MATCHABLE,Rexjs.TagType.TYPE_UNEXPECTED,Rexjs.TagType.TYPE_MISTAKABLE,Rexjs.TagType.TYPE_ILLEGAL,Rexjs.Expression.STATE_STATEMENT_ENDABLE,Rexjs.Expression.STATE_STATEMENT_END,Rexjs.Expression.STATE_STATEMENT_ENDED,new Rexjs.SyntaxConfig("es6Base","es6Module","rexjs","jsx"),function(t,n,e,i){n.setExpressionOf(e),n.setStatementOf(i)},function(t){return t=t||"",/(?:[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D])(?:[${join}\$0-9A-Z_a-z\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF])*/.toString().match(/^\/(.+)\/$/)[1].replace(/\$\{join\}/g,t)}),new function(Rexjs,URL,Module,global){(function(){this.IteratorIndex=function(){function t(t){this.max=t}return(t=new Rexjs(t)).props({current:0,increase:function(t){var n=this.current+t,e=this.max;this.current=n>e?e:n},max:0}),t}(),this.IteratorResult=function(){function t(t,n){this.value=t,this.done=n}return(t=new Rexjs(t)).props({value:void 0,done:!1}),t}(),this.Iterator=function(t,n){function e(n){if(null!=n){var e=n.length;if("number"==typeof e||"number"==typeof(e=n.size))return this.index=new t(e),void(this.iterable=n)}throw"TypeError: uniterable object "+n}return(e=new Rexjs(e)).props({close:function(t){return this.index.increase(1/0),new n(t,this.closed)},get closed(){var t=this.index;return t.current>=t.max},index:null,iterable:null,get next(){var t=this.result;return this.index.increase(1),t},get result(){return new n(this.iterable[this.index.current],this.closed)}}),e}(this.IteratorIndex,this.IteratorResult),this.FunctionIterator=function(t,n,e,i){function r(n,e,r){t.call(this,n),this.boundThis=e,this.boundArguments=i(r),this.observers=[],this.index.max=1/0}return(r=new Rexjs(r,t)).props({boundThis:null,boundArguments:null,close:function(t){return this.index.increase(NaN),new n(t,this.closed)},get closed(){return e(this.index.current)},exception:"",get next(){return this.result},observe:function(t){this.observers.push(t)},observers:null,get result(){try{return new n(this.closed?void 0:this.iterable.apply(this.boundThis,this.boundArguments),this.closed)}catch(t){if(0===this.observers.length)throw t;return this.exception=t,this.index.current=this.unobserve(),this.result}},unobserve:function(){return this.observers.pop()}}),r}(this.Iterator,this.IteratorResult,isNaN,Rexjs.toArray),this.Generator=function(t){function n(n){this.iterator=n instanceof t?n:new t(n)}return(n=new Rexjs(n)).props({iterator:null,next:function(){return this.iterator.next},return:function(t){return this.iterator.close(t)},throw:function(t){throw t}}),n}(this.Iterator)}).call(this,1/0),function(t,n,e,i){i=!Object.setPrototypeOf&&!n(Object.prototype,"__proto__")?function(n){switch(!0){case n instanceof Rexjs:break;case e.call(n,"$Rexjs_prototype"):return n.$Rexjs_prototype}return t(n)}:t,this.ClassProperty=function(){function t(t,n,e){this.name=t,this.value=n,e&&(this.type=e)}return(t=new Rexjs(t)).props({name:"",static:!1,type:"value",value:null}),t}(),this.StaticProperty=function(t){function n(n,e,i){t.call(this,n,e,i)}return(n=new Rexjs(n,t)).props({static:!0}),n}(this.ClassProperty),this.Super=function(n){function e(){}return(e=new Rexjs(e)).static({callConstructor:function(n,e,i){return this.returnedThis(e,t(n).constructor.apply(e,i))},execMethod:function(t,n,e){return n.apply(t,e)},getProperty:function(t,e,i){var r=n(t,i);if(r)return r.hasOwnProperty("get")?r.get.call(e):r.value},returnedThis:function(t,n){return"object"==typeof n&&n||t},setProperty:function(t,e,i,r){var s=n(t,i);if(s&&s.hasOwnProperty("set")){var o=s.set;return o&&o.call(e,r),r}return e[i]=r,r}}),e}(function(r,s){for(var o=i(r);o;){if(e.call(o,s))return n(o,s);o=t(o)}return null}),this.Class=function(t,n){function e(){}return(e=new Rexjs(e)).static({create:function(t,e,i){var r=e[i].value;if("function"!=typeof r)throw"Class extends value "+r.toString()+" is not a constructor or null";for(var s=new Rexjs(r,t),o=s.prototype,u=0,a=e.length;u-1||n(i,t).enumerable&&(e[t]=i[t])},this.destructed),e}}),e}(Object.getOwnPropertyNames,Object.getOwnPropertyDescriptor),this.SpreadItem=function(t,n){function e(t){this.value=t}return(e=new Rexjs(e)).static({assign:function(n,e){return t(e,function(t,e){n[e]=t}),n},combine:function(i){var r=[];return t(arguments,function(t){t instanceof e?n.apply(r,t.value):r.push(t)},null,!0),r},combineBy:function(t){return this.combine.apply(this,t)}}),e.props({value:null}),e}(Rexjs.forEach,Array.prototype.push),this.SwitchCondition=function(){function t(t){this.value=t}return(t=new Rexjs(t)).props({case:function(t){switch(!0){case this.matched:break;case this.value===t:this.matched=!0;break;default:return!1}return!0},default:function(){return!this.matched&&(this.matched=!0,!0)},matched:!1,value:null}),t}()}.call(this),function(){this.ModuleCompiler=function(){function t(){}return(t=new Rexjs(t)).props({compile:function(t){this.deps=[],this.result=t.origin},deps:null,exec:function(t){var n=this;t.load(function(){Module.export("default",n.result)})},result:null}),t}(),this.JavaScriptCompiler=function(t,n,e,i){function r(){t.call(this)}return(r=new Rexjs(r,t)).props({compile:function(t){var i=new n;i.parse(new e(t.name,t.origin)),this.result=i.build(),this.deps=i.deps},exec:function(t){i(this.result)}}),r}(this.ModuleCompiler,Rexjs.ECMAScriptParser,Rexjs.File,eval),this.JSONCompiler=function(t,n){function e(){t.call(this)}return(e=new Rexjs(e,t)).props({compile:function(t){this.result=n(t.origin),this.deps=[]}}),e}(this.ModuleCompiler,JSON.parse)}.call(this),function(t,n,e,i,r,s,o,u,a){this.Module=Module=function(c,l,p,h,f,g,T){function x(t,e,i){var r=u.parseName(t),s=r.href;if(l.hasOwnProperty(s)){var o=l[s];return"function"!=typeof e||this.ended||o.load(e),o}switch(this.exports=h(null),this.imports=[],this.listeners=[],this.name=r,this.status=n,this.targets=[],l[s]=this,typeof e){case"string":return void this.ready(e,i);case"function":return void this.load(e)}g(this,i)}return(x=new Rexjs(x)).static({STATUS_NONE:t,STATUS_LOADING:n,STATUS_COMPILING:e,STATUS_READY:i,STATUS_ENDED:r,STATUS_COMPLETED:s,STATUS_ERROR:o,get cache(){return l},defaultOf:function(t,n){return this.import(t,n).default},export:function(t,n,e){f((e||p[p.length-1]).exports,t,{get:function(){return n},configurable:!1,enumerable:!0})},exportAs:function(t,n,e){if(n){var i=this.import(n,e);for(var r in t)this.export(r,i[t[r]])}else for(var r in t)this.export(r,t[r])},exportFrom:function(t,n){var e=this.import(t,n);for(var i in e)"default"!==i&&this.export(i,e[i])},import:function(t,n){return l[u.parseName(t,n).href].exports},memberOf:function(t,n,e){return this.import(n,e)[t]},moduleOf:function(t,n){return this.import(t,n)},get stack(){return p}}),x.props({compiler:null,get completed(){return(this.status&s)===s},get ended(){return(this.status&r)===r},get error(){return(this.status&o)===o},exports:null,eval:function(){var t=0,n=0,e=this.imports;this.status;return(this.status&i)===i&&(!!this.completed||(e.forEach(function(n){t+=+n.completed}),(n=t/e.length)<1?(a(this,+n.toFixed(2)),!1):(this.compiler.exec(this),!0)))},imports:null,listen:function(t){this.ended?t.call(this,1):this.listeners.push(t)},listeners:null,load:function(t){this.completed||(p.push(this),t.call(global,Rexjs),p.pop(),this.status=s,a(this))},name:null,origin:"",ready:function(t,n){var r,s=this.name,o=this.imports;this.origin=t,this.status=e,this.compiler=r=new(u.compilers[s.ext]||c),r.compile(this),this.status=i,r.deps.forEach(function(t){var e=u.parseName(t,s.href).href,i=l.hasOwnProperty(e)?l[e]:new x(e,null,n);o.indexOf(i)>-1||(T(this,i,i,T),o.push(i),i.targets.push(this))},this),this.eval()},status:t,targets:null}),x}(this.ModuleCompiler,{},[],Object.create,Object.defineProperty,function(t,n){u.readFile(t.name,function(e){t.ready(e,n)},function(n){t.status=o,t.origin=n,console.error('加载模块 "'+t.name.href+'" 错误:'+n+"。"),a(t)},n)},function(t,n,e,i){var r=e.imports;if(r.indexOf(t)>-1)throw"Module has been imported by each other "+t.name.href+" "+n.name.href;r.forEach(function(e){i(t,n,e,i)})}),this.ModuleReady=function(t,n,e){function i(){this.compilers={".js":t,".json":n},u=this}return(i=new Rexjs(i)).static({get current(){return u}}),i.props({compilers:null,parseName:function(){e("parseName")},readFile:function(){e("readFile")}}),i}(this.JavaScriptCompiler,this.JSONCompiler,function(t){throw"应该在创建 ModuleReady 的子类时,重新定义该方法:"+t}),new this.ModuleReady}.call(this,parseInt(0,2),parseInt(10,2),parseInt(100,2),parseInt(1e3,2),parseInt(1e4,2),parseInt(111e3,2),parseInt(101e4,2),null,function(t,n){var e=t.listeners;"number"!=typeof n&&(n=1),t.completed&&(t.targets.forEach(function(t){t.eval()}),e=e.splice(0)),e.forEach(function(e){e.call(t,n)})}),function(){this.JSXTemplate=function(t,n,e){function i(n){for(var i={},r=1,s=arguments.length;r:,\s]+/g,/(?:-|_)\w/g,{},Math.round(2560+256*Math.random()),Object.getOwnPropertyNames,Object.prototype.hasOwnProperty),this.CSSCompiler=function(s,o,u,a,c,l,p){function h(t,n){r.call(this)}return(h=new t(h,r)).static({disableSelectorMap:function(){a=!1}}),h.props({compile:function(t){var n=t.name.href;this.deps=[],cssText=this.compileURLs(t.origin,n),a&&(this.selectorMap=new s(n),cssText=this.compileSelectors(p(cssText,e.implementation.createHTMLDocument("").head).sheet.cssRules)),this.result=cssText+"\n/*# sourceURL="+n+" */"},compileSelectors:function(t){var n="";return i(t,function(t){switch(t.type){case o.STYLE_RULE:return void(n+=c.call(this.selectorMap,t.selectorText)+"{"+t.style.cssText+"}");case o.MEDIA_RULE:n+="@media "+t.conditionText;break;case o.KEYFRAMES_RULE:n+="@keyframes "+t.name;break;case o.SUPPORTS_RULE:n+="@supports "+t.conditionText;break;case o.IMPORT_RULE:return void this.deps.push(t.href);case o.NAMESPACE_RULE:if("selector-map"===t.prefix)return void(this.selectorMap=s.getSelectorMapByNS(t.namespaceURI));default:return void(n+=t.cssText)}n+="{",n+=this.compileSelectors(t.cssRules),n+="}"},this,!0),n},compileURLs:function(t,n){return t.replace(u,function(t,e,i,r,s){return r?e+new URL(r,n).href+s:t})},exec:function(t){var i=this,r=this.selectorMap;l.call(r,t.imports.map(function(t){return t.compiler.selectorMap})),this.style=p(this.result,e.head),t.load(function(){n.export("compiler",i),n.export("default",r)})},selectorMap:null,style:null}),h}(this.CSSSelectorMap,CSSRule,new RegExp([/\/\*[\s\S]*?\*\//.source,/"(?:\\(?:[^\r]|\r\n?)|[^"\\\r\n\u2028\u2029]+)*"|'(?:\\(?:[^\r]|\r\n?)|[^'\\\r\n\u2028\u2029]+)*'/.source,/(\burl\s*\(\s*(['"]?))(.*?)(\2\s*\))/.source].join("|"),"g"),!0,this.CSSSelectorMap.prototype.parse,this.CSSSelectorMap.prototype.merge,function(t,n){var i=e.createElement("style");return i.type="text/css",i.textContent=t,n.appendChild(i),i})}).call(this,t.ModuleCompiler),function(r,s,o,u){this.BrowserReady=function(n,i,s,u,a){function c(){var t;r.call(this),(t=this.compilers)[".html"]=n,t[".css"]=i,e.addEventListener("DOMContentLoaded",a)}return(c=new t(c,r)).props({parseName:function(t,n){var e=new o(t,n?new o(n,u).href:u);if(""===e.filename){var i=e.pathname;return new o(e.origin+(i||"/index")+".js"+e.search+e.hash)}return e},readFile:function(t,n,e,i){var r=new s;r.addEventListener("load",function(){(200===this.status?n:e)(this.responseText)}),r.open("get",t.href,!i),r.send()}}),c}(this.HTMLCompiler,this.CSSCompiler,XMLHttpRequest,new o(u?u.getAttribute("href"):"./",location.href).href,function(){var t=0;i(e.querySelectorAll('script[type="text/rexjs"]'),function(e){if(e.hasAttribute("src"))return e.hasAttribute("data-sourcemaps")&&(s.sourceMaps=!0),void new n(e.getAttribute("src"));new n("inline-script-"+t+++".js",e.textContent)},null,!0)})}.call(this,t.ModuleReady,t.ECMAScriptParser,t.URL,e.querySelector("base")),new this.BrowserReady,t.static(this)}(Rexjs,Rexjs.Module,document,Rexjs.forEach);