Skip to content

Instantly share code, notes, and snippets.

@akavel
Last active September 30, 2015 18:07
Show Gist options
  • Save akavel/1840119 to your computer and use it in GitHub Desktop.
Save akavel/1840119 to your computer and use it in GitHub Desktop.
Dump of a lua+parser.min.js file from mherkender/lua.js repository
/*
Copyright 2011 Maximilian Herkender
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
var lua_print=function(){try{console.log.apply(console,arguments)}catch(e){}return[]};function lua_load(chunk,chunkname){if(!lua_parser)throw new Error("Lua parser not available, perhaps you're not using the lua+parser.js version of the library?");var fn;eval("fn = function "+(chunkname||"load")+"() {\n"+"return (function () {\n"+lua_parser.parse(chunk)+"\n"+"})()[0];\n"+"};");return fn}
var lua_parser=function(){var parser={trace:function trace(){},yy:{},symbols_:{"error":2,"script":3,"indent":4,"chunk":5,"unindent":6,"EOF":7,"funcindent":8,"funcunindent":9,"block":10,"loopblock":11,"setinloop":12,"semi":13,";":14,"statlist":15,"laststat":16,"prefixexp":17,"var":18,"functioncall":19,"(":20,"exp":21,")":22,"stat":23,"varlist":24,"=":25,"explist":26,"LOCAL":27,"namelist":28,"DO":29,"END":30,"WHILE":31,"REPEAT":32,"UNTIL":33,"IF":34,"conds":35,"FOR":36,"namelist_setlocals":37,",":38,
"IN":39,"FUNCTION":40,"funcname":41,"funcbody":42,":":43,"NAME":44,"mfuncbody":45,"name_setlocals":46,"RETURN":47,"BREAK":48,"condlist":49,"ELSE":50,"cond":51,"ELSEIF":52,"THEN":53,"arglist":54,".":55,"NUMBER":56,"STRING":57,"TRUE":58,"FALSE":59,"tableconstructor":60,"NIL":61,"+":62,"-":63,"*":64,"/":65,"^":66,"%":67,"..":68,"<":69,">":70,"<=":71,">=":72,"==":73,"~=":74,"AND":75,"OR":76,"NOT":77,"#":78,"...":79,"{":80,"}":81,"fieldlist":82,"fieldsepend":83,"addself":84,"[":85,"]":86,"args":87,"field":88,
"fieldsep":89,"$accept":0,"$end":1},terminals_:{2:"error",7:"EOF",14:";",20:"(",22:")",25:"=",27:"LOCAL",29:"DO",30:"END",31:"WHILE",32:"REPEAT",33:"UNTIL",34:"IF",36:"FOR",38:",",39:"IN",40:"FUNCTION",43:":",44:"NAME",47:"RETURN",48:"BREAK",50:"ELSE",52:"ELSEIF",53:"THEN",55:".",56:"NUMBER",57:"STRING",58:"TRUE",59:"FALSE",61:"NIL",62:"+",63:"-",64:"*",65:"/",66:"^",67:"%",68:"..",69:"<",70:">",71:"<=",72:">=",73:"==",74:"~=",75:"AND",76:"OR",77:"NOT",78:"#",79:"...",80:"{",81:"}",85:"[",86:"]"},
productions_:[0,[3,4],[4,0],[6,0],[8,1],[9,1],[10,3],[11,4],[12,0],[13,1],[13,0],[5,1],[5,2],[17,1],[17,1],[17,3],[15,3],[15,0],[23,3],[23,4],[23,2],[23,1],[23,3],[23,5],[23,4],[23,3],[23,11],[23,13],[23,9],[23,3],[23,5],[23,4],[16,2],[16,1],[16,1],[35,1],[35,3],[49,1],[49,3],[51,3],[24,3],[24,1],[26,3],[26,1],[37,3],[37,1],[28,3],[28,1],[46,1],[54,3],[54,1],[41,3],[41,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,1],[21,2],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],[21,3],
[21,3],[21,3],[21,3],[21,3],[21,3],[21,2],[21,2],[21,2],[21,1],[60,2],[60,4],[42,6],[42,7],[42,7],[42,9],[45,7],[45,8],[45,8],[45,10],[84,0],[18,1],[18,4],[18,3],[19,2],[19,4],[87,3],[87,2],[87,1],[87,1],[82,1],[82,3],[88,1],[88,3],[88,5],[89,1],[89,1],[83,1],[83,1],[83,0]],performAction:function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$){var $0=$$.length-1;switch(yystate){case 1:return"var tmp;\n"+"var G = lua_newtable2(lua_core);\n"+"for (var i in lua_libs) {\n"+" G.str[i] = lua_newtable2(lua_libs[i]);\n"+
"}\n"+"G.str['arg'] = lua_newtable();\n"+"G.str['_G'] = G;\n"+"G.str['module'] = function (name) {\n"+" lua_createmodule(G, name, slice(arguments, 1));\n"+"};\n"+"G.str['require'] = function (name) {\n"+" lua_require(G, name);\n"+"};\n"+"G.str['package'].str['seeall'] = function (module) {\n"+" if (!module.metatable) {\n"+" module.metatable = lua_newtable();\n"+" }\n"+" module.metatable.str['__index'] = G;\n"+"};\n"+"{\n"+$$[$0-2].simple_form+"\n"+"};\n"+"return [G];";break;case 2:var localsCopy=
{};for(var i in locals)localsCopy[i]=locals[i];stack.push({locals:localsCopy,blockId:blockId,inLoop:inLoop});indentLevel++;blockIdMax++;this.$=blockId=blockIdMax;break;case 3:var stackData=stack.pop();indentLevel--;locals=stackData.locals;inLoop=stackData.inLoop;if(!inLoop)functionBlockAdded=false;this.$=blockId=stackData.blockId;break;case 4:functionBlockAdded=false;inLoop=false;this.$=$$[$0];break;case 5:functionBlockAdded=true;this.$=$$[$0];break;case 6:this.$=$$[$0-1];break;case 7:if(functionBlockAdded)this.$=
{block:$$[$0-1].varfix_form||$$[$0-1].simple_form,use_function_block:true};else this.$={block:$$[$0-1].simple_form};break;case 8:inLoop=true;break;case 9:break;case 10:break;case 11:this.$={simple_form:indentStatlist($$[$0].simple_form)};if($$[$0].varfix_form)this.$.varfix_form=indentStatlist($$[$0].varfix_form);break;case 12:this.$={simple_form:indentStatlist($$[$0-1].simple_form,$$[$0].simple_form)};if($$[$0-1].varfix_form||$$[$0].varfix_form)this.$.varfix_form=indentStatlist($$[$0-1].varfix_form||
$$[$0-1].simple_form,$$[$0].varfix_form||$$[$0].simple_form);break;case 13:if($$[$0].access)this.$={single:"lua_tableget("+$$[$0].prefixexp+", "+$$[$0].access+")",single_tableget:$$[$0]};else this.$={single:$$[$0].prefixexp};break;case 14:this.$={single:$$[$0]+"[0]",endmulti:$$[$0]};break;case 15:this.$={single:"("+$$[$0-1].single+")",simple_form:$$[$0-1].simple_form};break;case 16:if($$[$0].simple_form){this.$={simple_form:$$[$0-2].simple_form+"\n"+$$[$0].simple_form};if($$[$0-2].varfix_form||$$[$0].varfix_form)this.$.varfix_form=
($$[$0-2].varfix_form||$$[$0-2].simple_form)+"\n"+($$[$0].varfix_form||$$[$0].simple_form)}else this.$=$$[$0-2];break;case 17:this.$={simple_form:""};break;case 18:var tmp;if($$[$0-2].length==1)if($$[$0].exps.length==1)if($$[$0-2][0].access)tmp="lua_tableset("+$$[$0-2][0].prefixexp+", "+$$[$0-2][0].access+", "+$$[$0].exps[0]+");";else tmp=$$[$0-2][0].prefixexp+" = "+$$[$0].exps[0]+";";else if($$[$0-2][0].access)tmp="lua_tableset("+$$[$0-2][0].prefixexp+", "+$$[$0-2][0].access+", "+getTempDecl($$[$0])+
"[0]);";else tmp=$$[$0-2][0].prefixexp+" = "+getTempDecl($$[$0])+"[0];";else{tmp="tmp = "+getTempDecl($$[$0])+"; ";for(var i=0;i<$$[$0-2].length;i++)if($$[$0-2][i].access)tmp+="lua_tableset("+$$[$0-2][i].prefixexp+", "+$$[$0-2][i].access+", tmp["+i+"]); ";else tmp+=$$[$0-2][i].prefixexp+" = tmp["+i+"]; ";tmp+="tmp = null;"}this.$={simple_form:tmp};break;case 19:var tmp;$$[$0-2]=setLocals($$[$0-2]);if($$[$0-2].length==1)if($$[$0].exps.length==1)tmp="var "+$$[$0-2][0]+" = "+$$[$0].exps[0]+";";else tmp=
"var "+$$[$0-2][0]+" = "+getTempDecl($$[$0])+"[0];";else{tmp="tmp = "+getTempDecl($$[$0])+"; ";for(var i=0;i<$$[$0-2].length;i++)tmp+="var "+$$[$0-2][i]+" = tmp["+i+"]; ";tmp+="tmp = null;"}this.$={simple_form:tmp};break;case 20:this.$={simple_form:"var "+setLocals($$[$0]).join(", ")+";"};break;case 21:this.$={simple_form:$$[$0]+";"};break;case 22:this.$={simple_form:"// do\n"+$$[$0-1].simple_form+"\n// end"};if($$[$0-1].varfix_form)this.$.varfix_form="// do\n"+$$[$0-1].varfix_form+"\n// end";break;
case 23:this.$={simple_form:"while ("+getIfExp($$[$0-3])+") "+autoFunctionBlock($$[$0-1])};break;case 24:this.$={simple_form:"do "+autoFunctionBlock($$[$0-2])+" while (!("+getIfExp($$[$0])+"));"};break;case 25:this.$=$$[$0-1];break;case 26:if($$[$0-8].length!=1)throw new Error("Only one value allowed in for..= loop");if($$[$0-2].use_function_block)this.$={simple_form:"var var_"+$$[$0-9]+" = "+autoAssertFloat($$[$0-6])+", "+"stop_"+$$[$0-9]+" = "+autoAssertFloat($$[$0-4])+";\n"+"for (; var_"+$$[$0-
9]+" <= stop_"+$$[$0-9]+"; var_"+$$[$0-9]+"++) (function() {\n"+" var "+$$[$0-8][0]+" = var_"+$$[$0-9]+";\n"+$$[$0-2].block+"\n"+"})();"};else this.$={simple_form:"var var_"+$$[$0-9]+" = "+autoAssertFloat($$[$0-6])+", "+"stop_"+$$[$0-9]+" = "+autoAssertFloat($$[$0-4])+";\n"+"for (; var_"+$$[$0-9]+" <= stop_"+$$[$0-9]+"; var_"+$$[$0-9]+"++) {\n"+" var "+$$[$0-8][0]+" = var_"+$$[$0-9]+";\n"+$$[$0-2].block+"\n}"};break;case 27:if($$[$0-10].length!=1)throw new Error("Only one value allowed in for..= loop");
var tmp="var var_"+$$[$0-11]+" = "+autoAssertFloat($$[$0-8])+", "+"stop_"+$$[$0-11]+" = "+autoAssertFloat($$[$0-6])+", "+"step_"+$$[$0-11]+" = "+autoAssertFloat($$[$0-4])+";\n"+"for (; step_"+$$[$0-11]+" > 0 ? var_"+$$[$0-11]+" <= stop_"+$$[$0-11]+" : var_"+$$[$0-11]+" >= stop_"+$$[$0-11]+"; var_"+$$[$0-11]+" += step_"+$$[$0-11]+") ";if($$[$0-2].use_function_block)tmp+="(function () {\n";else tmp+="{\n";tmp+=" var "+$$[$0-10][0]+" = var_"+$$[$0-11]+";\n"+$$[$0-2].block+"\n";if($$[$0-2].use_function_block)tmp+=
"\n})();";else tmp+="\n}";this.$={simple_form:tmp};break;case 28:var tmp;tmp="tmp = "+getTempDecl($$[$0-4])+";\n"+"var f_"+$$[$0-7]+" = tmp[0], "+"s_"+$$[$0-7]+" = tmp[1], "+"var_"+$$[$0-7]+" = tmp[2];\n";if($$[$0-6].length==1&&!$$[$0-2].use_function_block)tmp+="tmp = null;\n"+"while ((var_"+$$[$0-7]+" = lua_call(f_"+$$[$0-7]+", [s_"+$$[$0-7]+", var_"+$$[$0-7]+"])[0]) != null) {\n"+" var "+$$[$0-6][0]+" = var_"+$$[$0-7]+";\n"+$$[$0-2].block+"\n}";else{tmp+="while ((tmp = lua_call(f_"+$$[$0-7]+", [s_"+
$$[$0-7]+", var_"+$$[$0-7]+"]))[0] != null) ";if($$[$0-2].use_function_block)tmp+="(function () {\n";else tmp+="{\n";tmp+=" var_"+$$[$0-7]+" = tmp[0];\n"+" var "+$$[$0-6][0]+" = var_"+$$[$0-7];for(var i=1;i<$$[$0-6].length;i++)tmp+=", "+$$[$0-6][i]+" = tmp["+i+"]";tmp+=";\n"+" tmp = null;\n"+$$[$0-2].block+"\n";if($$[$0-2].use_function_block)tmp+="})();";else tmp+="}";tmp+="\ntmp = null;"}this.$={simple_form:tmp};break;case 29:var tmp=getLocal($$[$0-1][0],"G.str['"+$$[$0-1][0]+"']");if($$[$0-1].length>
1){for(var i=1;i<$$[$0-1].length-1;i++)tmp="lua_tableget("+tmp+", '"+$$[$0-1][i]+"')";this.$={simple_form:"lua_tableset("+tmp+", '"+$$[$0-1][i]+"', "+$$[$0]+")"}}else this.$={simple_form:tmp+" = "+$$[$0]};break;case 30:var tmp=getLocal($$[$0-3][0],"G.str['"+$$[$0-3][0]+"']");for(var i=1;i<$$[$0-3].length;i++)tmp="lua_tableget("+tmp+", '"+$$[$0-3][i]+"')";this.$={simple_form:"lua_tableset("+tmp+", '"+$$[$0-1]+"', "+$$[$0]+")"};break;case 31:this.$={simple_form:"var "+$$[$0-1]+" = "+$$[$0]+";"};break;
case 32:this.$={simple_form:"return "+getTempDecl($$[$0])+";",varfix_form:"throw new ReturnValues("+getTempDecl($$[$0])+");"};break;case 33:this.$={simple_form:"return [];",varfix_form:"throw new ReturnValues();"};break;case 34:this.$={simple_form:"break;",varfix_form:"return;"};break;case 35:this.$=$$[$0];break;case 36:this.$={simple_form:$$[$0-2].simple_form+" else {\n"+$$[$0].simple_form+"\n}"};if($$[$0-2].varfix_form||$$[$0].varfix_form)this.$.varfix_form=($$[$0-2].varfix_form||$$[$0-2].simple_form)+
" else {\n"+($$[$0].varfix_form||$$[$0].simple_form)+"\n}";break;case 37:this.$=$$[$0];break;case 38:this.$={simple_form:$$[$0-2].simple_form+" else "+$$[$0].simple_form};if($$[$0-2].varfix_form||$$[$0].varfix_form)this.$.varfix_form=($$[$0-2].varfix_form||$$[$0-2].simple_form)+" else "+($$[$0].varfix_form||$$[$0].simple_form);break;case 39:this.$={simple_form:"if ("+getIfExp($$[$0-2])+") {\n"+$$[$0].simple_form+"\n}"};if($$[$0].varfix_form)this.$.varfix_form="if ("+getIfExp($$[$0-2])+") {\n"+$$[$0].varfix_form+
"\n}";break;case 40:this.$=$$[$0-2].concat([$$[$0]]);break;case 41:this.$=[$$[$0]];break;case 42:this.$={exps:$$[$0-2].exps.concat([$$[$0].single]),endmulti:$$[$0].endmulti};break;case 43:this.$={exps:[$$[$0].single],endmulti:$$[$0].endmulti};break;case 44:this.$=$$[$0-2].concat([setLocal($$[$0])]);break;case 45:this.$=[setLocal($$[$0])];break;case 46:this.$=$$[$0-2].concat([$$[$0]]);break;case 47:this.$=[$$[$0]];break;case 48:this.$=setLocal($$[$0]);break;case 49:this.$=$$[$0-2].concat([setLocal($$[$0],
"_"+$$[$0])]);break;case 50:this.$=[setLocal($$[$0],"_"+$$[$0])];break;case 51:this.$=$$[$0-2].concat([$$[$0]]);break;case 52:this.$=[$$[$0]];break;case 53:this.$={single:$$[$0],is_number:true};break;case 54:this.$={single:$$[$0]};break;case 55:this.$={single:"true",simple_form:"true"};break;case 56:this.$={single:"false",simple_form:"false"};break;case 57:this.$={single:$$[$0]};break;case 58:this.$={single:"null",simple_form:"null"};break;case 59:this.$=$$[$0];break;case 60:this.$={single:$$[$0]};
break;case 61:if($$[$0-2].is_number&&$$[$0].is_number)this.$={single:"("+$$[$0-2].single+" + "+$$[$0].single+")",is_number:true};else this.$={single:"lua_add("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 62:if($$[$0-2].is_number&&$$[$0].is_number)this.$={single:"("+$$[$0-2].single+" - "+$$[$0].single+")",is_number:true};else this.$={single:"lua_subtract("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 63:if($$[$0-2].is_number&&$$[$0].is_number)this.$={single:"("+$$[$0-2].single+" * "+$$[$0].single+
")",is_number:true};else this.$={single:"lua_multiply("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 64:if($$[$0-2].is_number&&$$[$0].is_number)this.$={single:"("+$$[$0-2].single+" / "+$$[$0].single+")",is_number:true};else this.$={single:"lua_divide("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 65:if($$[$0-2].is_number&&$$[$0].is_number)this.$={single:"Math.pow("+$$[$0-2].single+", "+$$[$0].single+")",is_number:true};else this.$={single:"lua_power("+$$[$0-2].single+", "+$$[$0].single+
")"};break;case 66:this.$={single:"lua_mod("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 67:this.$={single:"lua_concat("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 68:this.$={single:"lua_lt("+$$[$0-2].single+", "+$$[$0].single+")",simple_form:"lua_lt("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 69:this.$={single:"lua_lt("+$$[$0].single+", "+$$[$0-2].single+")",simple_form:"lua_lt("+$$[$0].single+", "+$$[$0-2].single+")"};break;case 70:this.$={single:"lua_lte("+$$[$0-2].single+
", "+$$[$0].single+")",simple_form:"lua_lte("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 71:this.$={single:"lua_lte("+$$[$0].single+", "+$$[$0-2].single+")",simple_form:"lua_lte("+$$[$0].single+", "+$$[$0-2].single+")"};break;case 72:this.$={single:"lua_eq("+$$[$0-2].single+", "+$$[$0].single+")",simple_form:"lua_eq("+$$[$0-2].single+", "+$$[$0].single+")"};break;case 73:this.$={single:"!lua_eq("+$$[$0-2].single+", "+$$[$0].single+")",simple_form:"!lua_eq("+$$[$0-2].single+", "+$$[$0].single+
")"};break;case 74:this.$={single:"lua_and("+$$[$0-2].single+", function () {return "+$$[$0].single+";})",simple_form:"("+getIfExp($$[$0-2])+" && "+getIfExp($$[$0])+")"};break;case 75:this.$={single:"lua_or("+$$[$0-2].single+", function () {return "+$$[$0].single+";})",simple_form:"("+getIfExp($$[$0-2])+" || "+getIfExp($$[$0])+")"};break;case 76:this.$={single:$$[$0].is_number?"-"+$$[$0].single:"lua_unm("+$$[$0].single+")",is_number:$$[$0].is_number};break;case 77:this.$={single:"lua_not("+$$[$0].single+
")",simple_form:"lua_not("+$$[$0].single+")"};break;case 78:this.$={single:"lua_len("+$$[$0].single+")"};break;case 79:this.$={single:"varargs[0]",endmulti:"varargs"};break;case 80:this.$="lua_newtable()";break;case 81:this.$="lua_newtable("+getTempDecl($$[$0-2]);if($$[$0-2].keyed)for(var i in $$[$0-2].keyed)this.$+=", "+$$[$0-2].keyed[i][0]+", "+$$[$0-2].keyed[i][1];this.$+=")";break;case 82:this.$=createFunction([],$$[$0-2]);break;case 83:this.$=createFunction($$[$0-4],$$[$0-2]);break;case 84:this.$=
createFunction([],$$[$0-2],true);break;case 85:this.$=createFunction($$[$0-6],$$[$0-2],true);break;case 86:this.$=createFunction(["self"],$$[$0-2]);break;case 87:this.$=createFunction(["self"].concat($$[$0-4]),$$[$0-2]);break;case 88:this.$=createFunction(["self"],$$[$0-2],true);break;case 89:this.$=createFunction(["self"].concat($$[$0-6]),$$[$0-2],true);break;case 90:setLocal("self","self");break;case 91:this.$={prefixexp:getLocal($$[$0],"G.str['"+$$[$0]+"']")};break;case 92:this.$={prefixexp:$$[$0-
3].single,access:$$[$0-1].single};break;case 93:this.$={prefixexp:$$[$0-2].single,access:"'"+$$[$0]+"'"};break;case 94:if($$[$0-1].single_tableget)this.$="lua_tablegetcall("+$$[$0-1].single_tableget.prefixexp+", "+$$[$0-1].single_tableget.access+", "+getTempDecl($$[$0])+")";else this.$="lua_call("+$$[$0-1].single+", "+getTempDecl($$[$0])+")";break;case 95:this.$="lua_mcall("+$$[$0-3].single+", '"+$$[$0-1]+"', "+getTempDecl($$[$0])+")";break;case 96:this.$=$$[$0-1];break;case 97:this.$={exps:[]};break;
case 98:this.$={exps:[$$[$0]]};break;case 99:this.$={exps:[$$[$0]]};break;case 100:this.$=$$[$0];break;case 101:this.$={keyed:$$[$0-2].keyed.concat($$[$0].keyed),exps:$$[$0-2].exps.concat($$[$0].exps),endmulti:$$[$0].endmulti};break;case 102:this.$={keyed:[],exps:[$$[$0].single],endmulti:$$[$0].endmulti};break;case 103:this.$={keyed:[["'"+$$[$0-2]+"'",$$[$0].single]],exps:[]};break;case 104:this.$={keyed:[[$$[$0-3].single,$$[$0].single]],exps:[]};break;case 105:break;case 106:break;case 107:break;
case 108:break}},table:[{3:1,4:2,7:[2,2],20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{1:[3]},{5:3,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{6:19,7:[2,3],30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{7:[2,11],16:20,30:[2,11],33:[2,11],47:[1,21],48:[1,22],50:[2,11],52:[2,
11]},{7:[2,10],13:23,14:[1,24],20:[2,10],27:[2,10],29:[2,10],30:[2,10],31:[2,10],32:[2,10],33:[2,10],34:[2,10],36:[2,10],40:[2,10],44:[2,10],47:[2,10],48:[2,10],50:[2,10],52:[2,10]},{25:[1,25],38:[1,26]},{28:27,40:[1,28],44:[1,29]},{7:[2,21],14:[2,21],20:[2,21],22:[2,14],27:[2,21],29:[2,21],30:[2,21],31:[2,21],32:[2,21],33:[2,21],34:[2,21],36:[2,21],38:[2,14],40:[2,21],43:[2,14],44:[2,21],47:[2,21],48:[2,21],50:[2,21],52:[2,21],53:[2,14],55:[2,14],57:[2,14],62:[2,14],63:[2,14],64:[2,14],65:[2,14],
66:[2,14],67:[2,14],68:[2,14],69:[2,14],70:[2,14],71:[2,14],72:[2,14],73:[2,14],74:[2,14],75:[2,14],76:[2,14],80:[2,14],81:[2,14],85:[2,14],86:[2,14]},{4:31,7:[2,2],10:30,20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{17:39,18:46,19:47,20:[1,18],21:32,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{11:48,12:49,20:[2,8],27:[2,8],29:[2,
8],30:[2,8],31:[2,8],32:[2,8],33:[2,8],34:[2,8],36:[2,8],40:[2,8],44:[2,8],47:[2,8],48:[2,8]},{17:39,18:46,19:47,20:[1,18],21:53,35:50,40:[1,40],44:[1,17],49:51,51:52,56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{4:54,7:[2,2],20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{41:55,44:[1,56]},{7:[2,13],14:[2,13],20:[2,13],22:[2,13],25:[2,41],27:[2,13],
29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],36:[2,13],38:[2,41],40:[2,13],43:[2,13],44:[2,13],47:[2,13],48:[2,13],50:[2,13],52:[2,13],53:[2,13],55:[2,13],57:[2,13],62:[2,13],63:[2,13],64:[2,13],65:[2,13],66:[2,13],67:[2,13],68:[2,13],69:[2,13],70:[2,13],71:[2,13],72:[2,13],73:[2,13],74:[2,13],75:[2,13],76:[2,13],80:[2,13],81:[2,13],85:[2,13],86:[2,13]},{20:[1,61],43:[1,58],55:[1,60],57:[1,63],60:62,80:[1,45],85:[1,59],87:57},{7:[2,91],14:[2,91],20:[2,91],22:[2,91],25:[2,91],27:[2,
91],29:[2,91],30:[2,91],31:[2,91],32:[2,91],33:[2,91],34:[2,91],36:[2,91],38:[2,91],40:[2,91],43:[2,91],44:[2,91],47:[2,91],48:[2,91],50:[2,91],52:[2,91],53:[2,91],55:[2,91],57:[2,91],62:[2,91],63:[2,91],64:[2,91],65:[2,91],66:[2,91],67:[2,91],68:[2,91],69:[2,91],70:[2,91],71:[2,91],72:[2,91],73:[2,91],74:[2,91],75:[2,91],76:[2,91],80:[2,91],81:[2,91],85:[2,91],86:[2,91]},{17:39,18:46,19:47,20:[1,18],21:64,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,
42],78:[1,43],79:[1,44],80:[1,45]},{7:[1,65]},{7:[2,12],30:[2,12],33:[2,12],50:[2,12],52:[2,12]},{7:[2,33],17:39,18:46,19:47,20:[1,18],21:67,26:66,30:[2,33],33:[2,33],40:[1,40],44:[1,17],50:[2,33],52:[2,33],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{7:[2,34],30:[2,34],33:[2,34],50:[2,34],52:[2,34]},{7:[2,17],15:68,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,
14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{7:[2,9],20:[2,9],27:[2,9],29:[2,9],30:[2,9],31:[2,9],32:[2,9],33:[2,9],34:[2,9],36:[2,9],40:[2,9],44:[2,9],47:[2,9],48:[2,9],50:[2,9],52:[2,9]},{17:39,18:46,19:47,20:[1,18],21:67,26:69,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:16,18:70,19:47,20:[1,18],44:[1,17]},{7:[2,20],14:[2,20],20:[2,20],25:[1,71],27:[2,20],29:[2,20],30:[2,20],31:[2,20],32:[2,20],33:[2,
20],34:[2,20],36:[2,20],38:[1,72],40:[2,20],44:[2,20],47:[2,20],48:[2,20],50:[2,20],52:[2,20]},{44:[1,74],46:73},{7:[2,47],14:[2,47],20:[2,47],25:[2,47],27:[2,47],29:[2,47],30:[2,47],31:[2,47],32:[2,47],33:[2,47],34:[2,47],36:[2,47],38:[2,47],40:[2,47],44:[2,47],47:[2,47],48:[2,47],50:[2,47],52:[2,47]},{30:[1,75]},{5:76,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],
52:[2,17]},{29:[1,77],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{7:[2,53],14:[2,53],20:[2,53],22:[2,53],27:[2,53],29:[2,53],30:[2,53],31:[2,53],32:[2,53],33:[2,53],34:[2,53],36:[2,53],38:[2,53],40:[2,53],44:[2,53],47:[2,53],48:[2,53],50:[2,53],52:[2,53],53:[2,53],62:[2,53],63:[2,53],64:[2,53],65:[2,53],66:[2,53],67:[2,53],68:[2,53],69:[2,53],70:[2,53],71:[2,53],72:[2,53],73:[2,53],74:[2,53],
75:[2,53],76:[2,53],81:[2,53],86:[2,53]},{7:[2,54],14:[2,54],20:[2,54],22:[2,54],27:[2,54],29:[2,54],30:[2,54],31:[2,54],32:[2,54],33:[2,54],34:[2,54],36:[2,54],38:[2,54],40:[2,54],44:[2,54],47:[2,54],48:[2,54],50:[2,54],52:[2,54],53:[2,54],62:[2,54],63:[2,54],64:[2,54],65:[2,54],66:[2,54],67:[2,54],68:[2,54],69:[2,54],70:[2,54],71:[2,54],72:[2,54],73:[2,54],74:[2,54],75:[2,54],76:[2,54],81:[2,54],86:[2,54]},{7:[2,55],14:[2,55],20:[2,55],22:[2,55],27:[2,55],29:[2,55],30:[2,55],31:[2,55],32:[2,55],
33:[2,55],34:[2,55],36:[2,55],38:[2,55],40:[2,55],44:[2,55],47:[2,55],48:[2,55],50:[2,55],52:[2,55],53:[2,55],62:[2,55],63:[2,55],64:[2,55],65:[2,55],66:[2,55],67:[2,55],68:[2,55],69:[2,55],70:[2,55],71:[2,55],72:[2,55],73:[2,55],74:[2,55],75:[2,55],76:[2,55],81:[2,55],86:[2,55]},{7:[2,56],14:[2,56],20:[2,56],22:[2,56],27:[2,56],29:[2,56],30:[2,56],31:[2,56],32:[2,56],33:[2,56],34:[2,56],36:[2,56],38:[2,56],40:[2,56],44:[2,56],47:[2,56],48:[2,56],50:[2,56],52:[2,56],53:[2,56],62:[2,56],63:[2,56],
64:[2,56],65:[2,56],66:[2,56],67:[2,56],68:[2,56],69:[2,56],70:[2,56],71:[2,56],72:[2,56],73:[2,56],74:[2,56],75:[2,56],76:[2,56],81:[2,56],86:[2,56]},{7:[2,57],14:[2,57],20:[2,57],22:[2,57],27:[2,57],29:[2,57],30:[2,57],31:[2,57],32:[2,57],33:[2,57],34:[2,57],36:[2,57],38:[2,57],40:[2,57],44:[2,57],47:[2,57],48:[2,57],50:[2,57],52:[2,57],53:[2,57],62:[2,57],63:[2,57],64:[2,57],65:[2,57],66:[2,57],67:[2,57],68:[2,57],69:[2,57],70:[2,57],71:[2,57],72:[2,57],73:[2,57],74:[2,57],75:[2,57],76:[2,57],
81:[2,57],86:[2,57]},{7:[2,58],14:[2,58],20:[2,58],22:[2,58],27:[2,58],29:[2,58],30:[2,58],31:[2,58],32:[2,58],33:[2,58],34:[2,58],36:[2,58],38:[2,58],40:[2,58],44:[2,58],47:[2,58],48:[2,58],50:[2,58],52:[2,58],53:[2,58],62:[2,58],63:[2,58],64:[2,58],65:[2,58],66:[2,58],67:[2,58],68:[2,58],69:[2,58],70:[2,58],71:[2,58],72:[2,58],73:[2,58],74:[2,58],75:[2,58],76:[2,58],81:[2,58],86:[2,58]},{7:[2,59],14:[2,59],20:[1,61],22:[2,59],27:[2,59],29:[2,59],30:[2,59],31:[2,59],32:[2,59],33:[2,59],34:[2,59],
36:[2,59],38:[2,59],40:[2,59],43:[1,58],44:[2,59],47:[2,59],48:[2,59],50:[2,59],52:[2,59],53:[2,59],55:[1,60],57:[1,63],60:62,62:[2,59],63:[2,59],64:[2,59],65:[2,59],66:[2,59],67:[2,59],68:[2,59],69:[2,59],70:[2,59],71:[2,59],72:[2,59],73:[2,59],74:[2,59],75:[2,59],76:[2,59],80:[1,45],81:[2,59],85:[1,59],86:[2,59],87:57},{4:95,7:[2,2],8:94,20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],42:93,44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{17:39,18:46,19:47,
20:[1,18],21:96,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:97,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:98,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{7:[2,79],14:[2,79],20:[2,79],22:[2,
79],27:[2,79],29:[2,79],30:[2,79],31:[2,79],32:[2,79],33:[2,79],34:[2,79],36:[2,79],38:[2,79],40:[2,79],44:[2,79],47:[2,79],48:[2,79],50:[2,79],52:[2,79],53:[2,79],62:[2,79],63:[2,79],64:[2,79],65:[2,79],66:[2,79],67:[2,79],68:[2,79],69:[2,79],70:[2,79],71:[2,79],72:[2,79],73:[2,79],74:[2,79],75:[2,79],76:[2,79],81:[2,79],86:[2,79]},{17:39,18:46,19:47,20:[1,18],21:102,40:[1,40],44:[1,103],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45],81:[1,
99],82:100,85:[1,104],88:101},{7:[2,13],14:[2,13],20:[2,13],22:[2,13],27:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],36:[2,13],38:[2,13],40:[2,13],43:[2,13],44:[2,13],47:[2,13],48:[2,13],50:[2,13],52:[2,13],53:[2,13],55:[2,13],57:[2,13],62:[2,13],63:[2,13],64:[2,13],65:[2,13],66:[2,13],67:[2,13],68:[2,13],69:[2,13],70:[2,13],71:[2,13],72:[2,13],73:[2,13],74:[2,13],75:[2,13],76:[2,13],80:[2,13],81:[2,13],85:[2,13],86:[2,13]},{7:[2,14],14:[2,14],20:[2,14],22:[2,14],27:[2,14],
29:[2,14],30:[2,14],31:[2,14],32:[2,14],33:[2,14],34:[2,14],36:[2,14],38:[2,14],40:[2,14],43:[2,14],44:[2,14],47:[2,14],48:[2,14],50:[2,14],52:[2,14],53:[2,14],55:[2,14],57:[2,14],62:[2,14],63:[2,14],64:[2,14],65:[2,14],66:[2,14],67:[2,14],68:[2,14],69:[2,14],70:[2,14],71:[2,14],72:[2,14],73:[2,14],74:[2,14],75:[2,14],76:[2,14],80:[2,14],81:[2,14],85:[2,14],86:[2,14]},{33:[1,105]},{4:106,7:[2,2],20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],44:[2,2],47:[2,
2],48:[2,2],50:[2,2],52:[2,2]},{30:[1,107]},{30:[2,35],50:[1,108],52:[1,109]},{30:[2,37],50:[2,37],52:[2,37]},{53:[1,110],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{37:111,44:[1,112]},{4:95,7:[2,2],8:94,20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],42:113,43:[1,114],44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2],55:[1,115]},{20:[2,52],43:[2,52],55:[2,
52]},{7:[2,94],14:[2,94],20:[2,94],22:[2,94],27:[2,94],29:[2,94],30:[2,94],31:[2,94],32:[2,94],33:[2,94],34:[2,94],36:[2,94],38:[2,94],40:[2,94],43:[2,94],44:[2,94],47:[2,94],48:[2,94],50:[2,94],52:[2,94],53:[2,94],55:[2,94],57:[2,94],62:[2,94],63:[2,94],64:[2,94],65:[2,94],66:[2,94],67:[2,94],68:[2,94],69:[2,94],70:[2,94],71:[2,94],72:[2,94],73:[2,94],74:[2,94],75:[2,94],76:[2,94],80:[2,94],81:[2,94],85:[2,94],86:[2,94]},{44:[1,116]},{17:39,18:46,19:47,20:[1,18],21:117,40:[1,40],44:[1,17],56:[1,
33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{44:[1,118]},{17:39,18:46,19:47,20:[1,18],21:67,22:[1,120],26:119,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{7:[2,98],14:[2,98],20:[2,98],22:[2,98],27:[2,98],29:[2,98],30:[2,98],31:[2,98],32:[2,98],33:[2,98],34:[2,98],36:[2,98],38:[2,98],40:[2,98],43:[2,98],44:[2,98],47:[2,98],48:[2,98],50:[2,98],52:[2,98],53:[2,98],
55:[2,98],57:[2,98],62:[2,98],63:[2,98],64:[2,98],65:[2,98],66:[2,98],67:[2,98],68:[2,98],69:[2,98],70:[2,98],71:[2,98],72:[2,98],73:[2,98],74:[2,98],75:[2,98],76:[2,98],80:[2,98],81:[2,98],85:[2,98],86:[2,98]},{7:[2,99],14:[2,99],20:[2,99],22:[2,99],27:[2,99],29:[2,99],30:[2,99],31:[2,99],32:[2,99],33:[2,99],34:[2,99],36:[2,99],38:[2,99],40:[2,99],43:[2,99],44:[2,99],47:[2,99],48:[2,99],50:[2,99],52:[2,99],53:[2,99],55:[2,99],57:[2,99],62:[2,99],63:[2,99],64:[2,99],65:[2,99],66:[2,99],67:[2,99],
68:[2,99],69:[2,99],70:[2,99],71:[2,99],72:[2,99],73:[2,99],74:[2,99],75:[2,99],76:[2,99],80:[2,99],81:[2,99],85:[2,99],86:[2,99]},{22:[1,121],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{1:[2,1]},{7:[2,32],30:[2,32],33:[2,32],38:[1,122],50:[2,32],52:[2,32]},{7:[2,43],14:[2,43],20:[2,43],22:[2,43],27:[2,43],29:[2,43],30:[2,43],31:[2,43],32:[2,43],33:[2,43],34:[2,43],36:[2,43],38:[2,43],40:[2,
43],44:[2,43],47:[2,43],48:[2,43],50:[2,43],52:[2,43],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{7:[2,16],30:[2,16],33:[2,16],47:[2,16],48:[2,16],50:[2,16],52:[2,16]},{7:[2,18],14:[2,18],20:[2,18],27:[2,18],29:[2,18],30:[2,18],31:[2,18],32:[2,18],33:[2,18],34:[2,18],36:[2,18],38:[1,122],40:[2,18],44:[2,18],47:[2,18],48:[2,18],50:[2,18],52:[2,18]},{7:[2,13],14:[2,13],20:[2,13],22:[2,13],25:[2,
40],27:[2,13],29:[2,13],30:[2,13],31:[2,13],32:[2,13],33:[2,13],34:[2,13],36:[2,13],38:[2,40],40:[2,13],43:[2,13],44:[2,13],47:[2,13],48:[2,13],50:[2,13],52:[2,13],53:[2,13],55:[2,13],57:[2,13],62:[2,13],63:[2,13],64:[2,13],65:[2,13],66:[2,13],67:[2,13],68:[2,13],69:[2,13],70:[2,13],71:[2,13],72:[2,13],73:[2,13],74:[2,13],75:[2,13],76:[2,13],80:[2,13],81:[2,13],85:[2,13],86:[2,13]},{17:39,18:46,19:47,20:[1,18],21:67,26:123,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],
63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{44:[1,124]},{4:95,7:[2,2],8:94,20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],42:125,44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{20:[2,48]},{7:[2,22],14:[2,22],20:[2,22],27:[2,22],29:[2,22],30:[2,22],31:[2,22],32:[2,22],33:[2,22],34:[2,22],36:[2,22],40:[2,22],44:[2,22],47:[2,22],48:[2,22],50:[2,22],52:[2,22]},{6:126,7:[2,3],30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{11:127,12:49,20:[2,8],27:[2,8],29:[2,8],
30:[2,8],31:[2,8],32:[2,8],33:[2,8],34:[2,8],36:[2,8],40:[2,8],44:[2,8],47:[2,8],48:[2,8]},{17:39,18:46,19:47,20:[1,18],21:128,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:129,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:130,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],
59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:131,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:132,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:133,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,
61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:134,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:135,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:136,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,
41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:137,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:138,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:139,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],
78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:140,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:141,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:142,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,
44],80:[1,45]},{7:[2,60],14:[2,60],20:[2,60],22:[2,60],27:[2,60],29:[2,60],30:[2,60],31:[2,60],32:[2,60],33:[2,60],34:[2,60],36:[2,60],38:[2,60],40:[2,60],44:[2,60],47:[2,60],48:[2,60],50:[2,60],52:[2,60],53:[2,60],62:[2,60],63:[2,60],64:[2,60],65:[2,60],66:[2,60],67:[2,60],68:[2,60],69:[2,60],70:[2,60],71:[2,60],72:[2,60],73:[2,60],74:[2,60],75:[2,60],76:[2,60],81:[2,60],86:[2,60]},{20:[1,143]},{20:[2,4]},{7:[2,76],14:[2,76],20:[2,76],22:[2,76],27:[2,76],29:[2,76],30:[2,76],31:[2,76],32:[2,76],33:[2,
76],34:[2,76],36:[2,76],38:[2,76],40:[2,76],44:[2,76],47:[2,76],48:[2,76],50:[2,76],52:[2,76],53:[2,76],62:[2,76],63:[2,76],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[2,76],69:[2,76],70:[2,76],71:[2,76],72:[2,76],73:[2,76],74:[2,76],75:[2,76],76:[2,76],81:[2,76],86:[2,76]},{7:[2,77],14:[2,77],20:[2,77],22:[2,77],27:[2,77],29:[2,77],30:[2,77],31:[2,77],32:[2,77],33:[2,77],34:[2,77],36:[2,77],38:[2,77],40:[2,77],44:[2,77],47:[2,77],48:[2,77],50:[2,77],52:[2,77],53:[2,77],62:[2,77],63:[2,77],64:[2,
77],65:[2,77],66:[1,82],67:[2,77],68:[2,77],69:[2,77],70:[2,77],71:[2,77],72:[2,77],73:[2,77],74:[2,77],75:[2,77],76:[2,77],81:[2,77],86:[2,77]},{7:[2,78],14:[2,78],20:[2,78],22:[2,78],27:[2,78],29:[2,78],30:[2,78],31:[2,78],32:[2,78],33:[2,78],34:[2,78],36:[2,78],38:[2,78],40:[2,78],44:[2,78],47:[2,78],48:[2,78],50:[2,78],52:[2,78],53:[2,78],62:[2,78],63:[2,78],64:[2,78],65:[2,78],66:[1,82],67:[2,78],68:[2,78],69:[2,78],70:[2,78],71:[2,78],72:[2,78],73:[2,78],74:[2,78],75:[2,78],76:[2,78],81:[2,
78],86:[2,78]},{7:[2,80],14:[2,80],20:[2,80],22:[2,80],27:[2,80],29:[2,80],30:[2,80],31:[2,80],32:[2,80],33:[2,80],34:[2,80],36:[2,80],38:[2,80],40:[2,80],43:[2,80],44:[2,80],47:[2,80],48:[2,80],50:[2,80],52:[2,80],53:[2,80],55:[2,80],57:[2,80],62:[2,80],63:[2,80],64:[2,80],65:[2,80],66:[2,80],67:[2,80],68:[2,80],69:[2,80],70:[2,80],71:[2,80],72:[2,80],73:[2,80],74:[2,80],75:[2,80],76:[2,80],80:[2,80],81:[2,80],85:[2,80],86:[2,80]},{14:[1,146],38:[1,147],81:[2,109],83:144,89:145},{14:[2,100],38:[2,
100],81:[2,100]},{14:[2,102],38:[2,102],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92],81:[2,102]},{7:[2,91],14:[2,91],20:[2,91],22:[2,91],25:[1,148],27:[2,91],29:[2,91],30:[2,91],31:[2,91],32:[2,91],33:[2,91],34:[2,91],36:[2,91],38:[2,91],40:[2,91],43:[2,91],44:[2,91],47:[2,91],48:[2,91],50:[2,91],52:[2,91],53:[2,91],55:[2,91],57:[2,91],62:[2,91],63:[2,91],64:[2,91],65:[2,91],66:[2,91],67:[2,91],
68:[2,91],69:[2,91],70:[2,91],71:[2,91],72:[2,91],73:[2,91],74:[2,91],75:[2,91],76:[2,91],80:[2,91],81:[2,91],85:[2,91],86:[2,91]},{17:39,18:46,19:47,20:[1,18],21:149,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:150,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{5:151,7:[2,17],15:4,17:16,18:15,19:8,20:[1,
18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{7:[2,25],14:[2,25],20:[2,25],27:[2,25],29:[2,25],30:[2,25],31:[2,25],32:[2,25],33:[2,25],34:[2,25],36:[2,25],40:[2,25],44:[2,25],47:[2,25],48:[2,25],50:[2,25],52:[2,25]},{4:31,7:[2,2],10:152,20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{17:39,18:46,19:47,20:[1,
18],21:53,40:[1,40],44:[1,17],51:153,56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{4:31,7:[2,2],10:154,20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],44:[2,2],47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{25:[1,155],38:[1,157],39:[1,156]},{25:[2,45],38:[2,45],39:[2,45]},{7:[2,29],14:[2,29],20:[2,29],27:[2,29],29:[2,29],30:[2,29],31:[2,29],32:[2,29],33:[2,29],34:[2,29],36:[2,29],40:[2,29],44:[2,29],47:[2,
29],48:[2,29],50:[2,29],52:[2,29]},{44:[1,158]},{44:[1,159]},{20:[1,61],57:[1,63],60:62,80:[1,45],87:160},{62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92],86:[1,161]},{7:[2,93],14:[2,93],20:[2,93],22:[2,93],25:[2,93],27:[2,93],29:[2,93],30:[2,93],31:[2,93],32:[2,93],33:[2,93],34:[2,93],36:[2,93],38:[2,93],40:[2,93],43:[2,93],44:[2,93],47:[2,93],48:[2,93],50:[2,93],52:[2,93],53:[2,93],55:[2,93],57:[2,
93],62:[2,93],63:[2,93],64:[2,93],65:[2,93],66:[2,93],67:[2,93],68:[2,93],69:[2,93],70:[2,93],71:[2,93],72:[2,93],73:[2,93],74:[2,93],75:[2,93],76:[2,93],80:[2,93],81:[2,93],85:[2,93],86:[2,93]},{22:[1,162],38:[1,122]},{7:[2,97],14:[2,97],20:[2,97],22:[2,97],27:[2,97],29:[2,97],30:[2,97],31:[2,97],32:[2,97],33:[2,97],34:[2,97],36:[2,97],38:[2,97],40:[2,97],43:[2,97],44:[2,97],47:[2,97],48:[2,97],50:[2,97],52:[2,97],53:[2,97],55:[2,97],57:[2,97],62:[2,97],63:[2,97],64:[2,97],65:[2,97],66:[2,97],67:[2,
97],68:[2,97],69:[2,97],70:[2,97],71:[2,97],72:[2,97],73:[2,97],74:[2,97],75:[2,97],76:[2,97],80:[2,97],81:[2,97],85:[2,97],86:[2,97]},{7:[2,15],14:[2,15],20:[2,15],22:[2,15],27:[2,15],29:[2,15],30:[2,15],31:[2,15],32:[2,15],33:[2,15],34:[2,15],36:[2,15],38:[2,15],40:[2,15],43:[2,15],44:[2,15],47:[2,15],48:[2,15],50:[2,15],52:[2,15],53:[2,15],55:[2,15],57:[2,15],62:[2,15],63:[2,15],64:[2,15],65:[2,15],66:[2,15],67:[2,15],68:[2,15],69:[2,15],70:[2,15],71:[2,15],72:[2,15],73:[2,15],74:[2,15],75:[2,
15],76:[2,15],80:[2,15],81:[2,15],85:[2,15],86:[2,15]},{17:39,18:46,19:47,20:[1,18],21:163,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{7:[2,19],14:[2,19],20:[2,19],27:[2,19],29:[2,19],30:[2,19],31:[2,19],32:[2,19],33:[2,19],34:[2,19],36:[2,19],38:[1,122],40:[2,19],44:[2,19],47:[2,19],48:[2,19],50:[2,19],52:[2,19]},{7:[2,46],14:[2,46],20:[2,46],25:[2,46],27:[2,46],29:[2,46],30:[2,46],31:[2,46],32:[2,46],33:[2,46],34:[2,
46],36:[2,46],38:[2,46],40:[2,46],44:[2,46],47:[2,46],48:[2,46],50:[2,46],52:[2,46]},{7:[2,31],14:[2,31],20:[2,31],27:[2,31],29:[2,31],30:[2,31],31:[2,31],32:[2,31],33:[2,31],34:[2,31],36:[2,31],40:[2,31],44:[2,31],47:[2,31],48:[2,31],50:[2,31],52:[2,31]},{30:[2,6],50:[2,6],52:[2,6]},{30:[1,164]},{7:[2,61],14:[2,61],20:[2,61],22:[2,61],27:[2,61],29:[2,61],30:[2,61],31:[2,61],32:[2,61],33:[2,61],34:[2,61],36:[2,61],38:[2,61],40:[2,61],44:[2,61],47:[2,61],48:[2,61],50:[2,61],52:[2,61],53:[2,61],62:[2,
61],63:[2,61],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[2,61],69:[2,61],70:[2,61],71:[2,61],72:[2,61],73:[2,61],74:[2,61],75:[2,61],76:[2,61],81:[2,61],86:[2,61]},{7:[2,62],14:[2,62],20:[2,62],22:[2,62],27:[2,62],29:[2,62],30:[2,62],31:[2,62],32:[2,62],33:[2,62],34:[2,62],36:[2,62],38:[2,62],40:[2,62],44:[2,62],47:[2,62],48:[2,62],50:[2,62],52:[2,62],53:[2,62],62:[2,62],63:[2,62],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[2,62],69:[2,62],70:[2,62],71:[2,62],72:[2,62],73:[2,62],74:[2,62],75:[2,
62],76:[2,62],81:[2,62],86:[2,62]},{7:[2,63],14:[2,63],20:[2,63],22:[2,63],27:[2,63],29:[2,63],30:[2,63],31:[2,63],32:[2,63],33:[2,63],34:[2,63],36:[2,63],38:[2,63],40:[2,63],44:[2,63],47:[2,63],48:[2,63],50:[2,63],52:[2,63],53:[2,63],62:[2,63],63:[2,63],64:[2,63],65:[2,63],66:[1,82],67:[2,63],68:[2,63],69:[2,63],70:[2,63],71:[2,63],72:[2,63],73:[2,63],74:[2,63],75:[2,63],76:[2,63],81:[2,63],86:[2,63]},{7:[2,64],14:[2,64],20:[2,64],22:[2,64],27:[2,64],29:[2,64],30:[2,64],31:[2,64],32:[2,64],33:[2,
64],34:[2,64],36:[2,64],38:[2,64],40:[2,64],44:[2,64],47:[2,64],48:[2,64],50:[2,64],52:[2,64],53:[2,64],62:[2,64],63:[2,64],64:[2,64],65:[2,64],66:[1,82],67:[2,64],68:[2,64],69:[2,64],70:[2,64],71:[2,64],72:[2,64],73:[2,64],74:[2,64],75:[2,64],76:[2,64],81:[2,64],86:[2,64]},{7:[2,65],14:[2,65],20:[2,65],22:[2,65],27:[2,65],29:[2,65],30:[2,65],31:[2,65],32:[2,65],33:[2,65],34:[2,65],36:[2,65],38:[2,65],40:[2,65],44:[2,65],47:[2,65],48:[2,65],50:[2,65],52:[2,65],53:[2,65],62:[2,65],63:[2,65],64:[2,
65],65:[2,65],66:[1,82],67:[2,65],68:[2,65],69:[2,65],70:[2,65],71:[2,65],72:[2,65],73:[2,65],74:[2,65],75:[2,65],76:[2,65],81:[2,65],86:[2,65]},{7:[2,66],14:[2,66],20:[2,66],22:[2,66],27:[2,66],29:[2,66],30:[2,66],31:[2,66],32:[2,66],33:[2,66],34:[2,66],36:[2,66],38:[2,66],40:[2,66],44:[2,66],47:[2,66],48:[2,66],50:[2,66],52:[2,66],53:[2,66],62:[2,66],63:[2,66],64:[2,66],65:[2,66],66:[1,82],67:[2,66],68:[2,66],69:[2,66],70:[2,66],71:[2,66],72:[2,66],73:[2,66],74:[2,66],75:[2,66],76:[2,66],81:[2,
66],86:[2,66]},{7:[2,67],14:[2,67],20:[2,67],22:[2,67],27:[2,67],29:[2,67],30:[2,67],31:[2,67],32:[2,67],33:[2,67],34:[2,67],36:[2,67],38:[2,67],40:[2,67],44:[2,67],47:[2,67],48:[2,67],50:[2,67],52:[2,67],53:[2,67],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[2,67],70:[2,67],71:[2,67],72:[2,67],73:[2,67],74:[2,67],75:[2,67],76:[2,67],81:[2,67],86:[2,67]},{7:[2,68],14:[2,68],20:[2,68],22:[2,68],27:[2,68],29:[2,68],30:[2,68],31:[2,68],32:[2,68],33:[2,68],34:[2,68],36:[2,
68],38:[2,68],40:[2,68],44:[2,68],47:[2,68],48:[2,68],50:[2,68],52:[2,68],53:[2,68],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[2,68],70:[2,68],71:[2,68],72:[2,68],73:[2,68],74:[2,68],75:[2,68],76:[2,68],81:[2,68],86:[2,68]},{7:[2,69],14:[2,69],20:[2,69],22:[2,69],27:[2,69],29:[2,69],30:[2,69],31:[2,69],32:[2,69],33:[2,69],34:[2,69],36:[2,69],38:[2,69],40:[2,69],44:[2,69],47:[2,69],48:[2,69],50:[2,69],52:[2,69],53:[2,69],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,
82],67:[1,83],68:[1,84],69:[2,69],70:[2,69],71:[2,69],72:[2,69],73:[2,69],74:[2,69],75:[2,69],76:[2,69],81:[2,69],86:[2,69]},{7:[2,70],14:[2,70],20:[2,70],22:[2,70],27:[2,70],29:[2,70],30:[2,70],31:[2,70],32:[2,70],33:[2,70],34:[2,70],36:[2,70],38:[2,70],40:[2,70],44:[2,70],47:[2,70],48:[2,70],50:[2,70],52:[2,70],53:[2,70],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[2,70],70:[2,70],71:[2,70],72:[2,70],73:[2,70],74:[2,70],75:[2,70],76:[2,70],81:[2,70],86:[2,70]},{7:[2,
71],14:[2,71],20:[2,71],22:[2,71],27:[2,71],29:[2,71],30:[2,71],31:[2,71],32:[2,71],33:[2,71],34:[2,71],36:[2,71],38:[2,71],40:[2,71],44:[2,71],47:[2,71],48:[2,71],50:[2,71],52:[2,71],53:[2,71],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[2,71],70:[2,71],71:[2,71],72:[2,71],73:[2,71],74:[2,71],75:[2,71],76:[2,71],81:[2,71],86:[2,71]},{7:[2,72],14:[2,72],20:[2,72],22:[2,72],27:[2,72],29:[2,72],30:[2,72],31:[2,72],32:[2,72],33:[2,72],34:[2,72],36:[2,72],38:[2,72],40:[2,
72],44:[2,72],47:[2,72],48:[2,72],50:[2,72],52:[2,72],53:[2,72],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[2,72],70:[2,72],71:[2,72],72:[2,72],73:[2,72],74:[2,72],75:[2,72],76:[2,72],81:[2,72],86:[2,72]},{7:[2,73],14:[2,73],20:[2,73],22:[2,73],27:[2,73],29:[2,73],30:[2,73],31:[2,73],32:[2,73],33:[2,73],34:[2,73],36:[2,73],38:[2,73],40:[2,73],44:[2,73],47:[2,73],48:[2,73],50:[2,73],52:[2,73],53:[2,73],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,
84],69:[2,73],70:[2,73],71:[2,73],72:[2,73],73:[2,73],74:[2,73],75:[2,73],76:[2,73],81:[2,73],86:[2,73]},{7:[2,74],14:[2,74],20:[2,74],22:[2,74],27:[2,74],29:[2,74],30:[2,74],31:[2,74],32:[2,74],33:[2,74],34:[2,74],36:[2,74],38:[2,74],40:[2,74],44:[2,74],47:[2,74],48:[2,74],50:[2,74],52:[2,74],53:[2,74],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[2,74],76:[2,74],81:[2,74],86:[2,74]},{7:[2,75],14:[2,75],20:[2,
75],22:[2,75],27:[2,75],29:[2,75],30:[2,75],31:[2,75],32:[2,75],33:[2,75],34:[2,75],36:[2,75],38:[2,75],40:[2,75],44:[2,75],47:[2,75],48:[2,75],50:[2,75],52:[2,75],53:[2,75],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[2,75],81:[2,75],86:[2,75]},{22:[1,165],44:[1,168],54:166,79:[1,167]},{81:[1,169]},{17:39,18:46,19:47,20:[1,18],21:102,40:[1,40],44:[1,103],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,
61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45],85:[1,104],88:170},{20:[2,105],40:[2,105],44:[2,105],56:[2,105],57:[2,105],58:[2,105],59:[2,105],61:[2,105],63:[2,105],77:[2,105],78:[2,105],79:[2,105],80:[2,105],81:[2,107],85:[2,105]},{20:[2,106],40:[2,106],44:[2,106],56:[2,106],57:[2,106],58:[2,106],59:[2,106],61:[2,106],63:[2,106],77:[2,106],78:[2,106],79:[2,106],80:[2,106],81:[2,108],85:[2,106]},{17:39,18:46,19:47,20:[1,18],21:171,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,
36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92],86:[1,172]},{7:[2,24],14:[2,24],20:[2,24],27:[2,24],29:[2,24],30:[2,24],31:[2,24],32:[2,24],33:[2,24],34:[2,24],36:[2,24],40:[2,24],44:[2,24],47:[2,24],48:[2,24],50:[2,24],52:[2,24],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],
72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{6:173,7:[2,3],30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{30:[2,36]},{30:[2,38],50:[2,38],52:[2,38]},{30:[2,39],50:[2,39],52:[2,39]},{17:39,18:46,19:47,20:[1,18],21:174,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:67,26:175,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,
45]},{44:[1,176]},{4:95,7:[2,2],8:178,20:[2,2],27:[2,2],29:[2,2],30:[2,2],31:[2,2],32:[2,2],33:[2,2],34:[2,2],36:[2,2],40:[2,2],44:[2,2],45:177,47:[2,2],48:[2,2],50:[2,2],52:[2,2]},{20:[2,51],43:[2,51],55:[2,51]},{7:[2,95],14:[2,95],20:[2,95],22:[2,95],27:[2,95],29:[2,95],30:[2,95],31:[2,95],32:[2,95],33:[2,95],34:[2,95],36:[2,95],38:[2,95],40:[2,95],43:[2,95],44:[2,95],47:[2,95],48:[2,95],50:[2,95],52:[2,95],53:[2,95],55:[2,95],57:[2,95],62:[2,95],63:[2,95],64:[2,95],65:[2,95],66:[2,95],67:[2,95],
68:[2,95],69:[2,95],70:[2,95],71:[2,95],72:[2,95],73:[2,95],74:[2,95],75:[2,95],76:[2,95],80:[2,95],81:[2,95],85:[2,95],86:[2,95]},{7:[2,92],14:[2,92],20:[2,92],22:[2,92],25:[2,92],27:[2,92],29:[2,92],30:[2,92],31:[2,92],32:[2,92],33:[2,92],34:[2,92],36:[2,92],38:[2,92],40:[2,92],43:[2,92],44:[2,92],47:[2,92],48:[2,92],50:[2,92],52:[2,92],53:[2,92],55:[2,92],57:[2,92],62:[2,92],63:[2,92],64:[2,92],65:[2,92],66:[2,92],67:[2,92],68:[2,92],69:[2,92],70:[2,92],71:[2,92],72:[2,92],73:[2,92],74:[2,92],
75:[2,92],76:[2,92],80:[2,92],81:[2,92],85:[2,92],86:[2,92]},{7:[2,96],14:[2,96],20:[2,96],22:[2,96],27:[2,96],29:[2,96],30:[2,96],31:[2,96],32:[2,96],33:[2,96],34:[2,96],36:[2,96],38:[2,96],40:[2,96],43:[2,96],44:[2,96],47:[2,96],48:[2,96],50:[2,96],52:[2,96],53:[2,96],55:[2,96],57:[2,96],62:[2,96],63:[2,96],64:[2,96],65:[2,96],66:[2,96],67:[2,96],68:[2,96],69:[2,96],70:[2,96],71:[2,96],72:[2,96],73:[2,96],74:[2,96],75:[2,96],76:[2,96],80:[2,96],81:[2,96],85:[2,96],86:[2,96]},{7:[2,42],14:[2,42],
20:[2,42],22:[2,42],27:[2,42],29:[2,42],30:[2,42],31:[2,42],32:[2,42],33:[2,42],34:[2,42],36:[2,42],38:[2,42],40:[2,42],44:[2,42],47:[2,42],48:[2,42],50:[2,42],52:[2,42],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{7:[2,23],14:[2,23],20:[2,23],27:[2,23],29:[2,23],30:[2,23],31:[2,23],32:[2,23],33:[2,23],34:[2,23],36:[2,23],40:[2,23],44:[2,23],47:[2,23],48:[2,23],50:[2,23],52:[2,23]},{5:179,7:[2,
17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{22:[1,180],38:[1,181]},{22:[1,182]},{22:[2,50],38:[2,50]},{7:[2,81],14:[2,81],20:[2,81],22:[2,81],27:[2,81],29:[2,81],30:[2,81],31:[2,81],32:[2,81],33:[2,81],34:[2,81],36:[2,81],38:[2,81],40:[2,81],43:[2,81],44:[2,81],47:[2,81],48:[2,81],50:[2,81],52:[2,81],53:[2,81],55:[2,81],57:[2,81],62:[2,81],63:[2,81],64:[2,81],
65:[2,81],66:[2,81],67:[2,81],68:[2,81],69:[2,81],70:[2,81],71:[2,81],72:[2,81],73:[2,81],74:[2,81],75:[2,81],76:[2,81],80:[2,81],81:[2,81],85:[2,81],86:[2,81]},{14:[2,101],38:[2,101],81:[2,101]},{14:[2,103],38:[2,103],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92],81:[2,103]},{25:[1,183]},{30:[2,7],33:[2,7]},{38:[1,184],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,
85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{29:[1,185],38:[1,122]},{25:[2,44],38:[2,44],39:[2,44]},{7:[2,30],14:[2,30],20:[2,30],27:[2,30],29:[2,30],30:[2,30],31:[2,30],32:[2,30],33:[2,30],34:[2,30],36:[2,30],40:[2,30],44:[2,30],47:[2,30],48:[2,30],50:[2,30],52:[2,30]},{20:[2,90],84:186},{6:188,7:[2,3],9:187,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{5:189,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,
12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{44:[1,191],79:[1,190]},{5:192,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{17:39,18:46,19:47,20:[1,18],21:193,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{17:39,18:46,19:47,20:[1,18],21:194,40:[1,
40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{11:195,12:49,20:[2,8],27:[2,8],29:[2,8],30:[2,8],31:[2,8],32:[2,8],33:[2,8],34:[2,8],36:[2,8],40:[2,8],44:[2,8],47:[2,8],48:[2,8]},{20:[1,196]},{30:[1,197]},{30:[2,5]},{6:188,7:[2,3],9:198,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{22:[1,199]},{22:[2,49],38:[2,49]},{6:188,7:[2,3],9:200,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{14:[2,104],38:[2,104],62:[1,78],63:[1,79],64:[1,80],65:[1,81],
66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92],81:[2,104]},{29:[1,201],38:[1,202],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,90],75:[1,91],76:[1,92]},{6:203,7:[2,3],30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{22:[1,204],44:[1,168],54:205,79:[1,206]},{7:[2,82],14:[2,82],20:[2,82],22:[2,82],27:[2,82],29:[2,82],30:[2,82],31:[2,82],32:[2,82],33:[2,82],34:[2,82],36:[2,
82],38:[2,82],40:[2,82],44:[2,82],47:[2,82],48:[2,82],50:[2,82],52:[2,82],53:[2,82],62:[2,82],63:[2,82],64:[2,82],65:[2,82],66:[2,82],67:[2,82],68:[2,82],69:[2,82],70:[2,82],71:[2,82],72:[2,82],73:[2,82],74:[2,82],75:[2,82],76:[2,82],81:[2,82],86:[2,82]},{30:[1,207]},{5:208,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{30:[1,209]},{11:210,12:49,20:[2,8],
27:[2,8],29:[2,8],30:[2,8],31:[2,8],32:[2,8],33:[2,8],34:[2,8],36:[2,8],40:[2,8],44:[2,8],47:[2,8],48:[2,8]},{17:39,18:46,19:47,20:[1,18],21:211,40:[1,40],44:[1,17],56:[1,33],57:[1,34],58:[1,35],59:[1,36],60:37,61:[1,38],63:[1,41],77:[1,42],78:[1,43],79:[1,44],80:[1,45]},{30:[1,212]},{5:213,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{22:[1,214],38:[1,215]},
{22:[1,216]},{7:[2,83],14:[2,83],20:[2,83],22:[2,83],27:[2,83],29:[2,83],30:[2,83],31:[2,83],32:[2,83],33:[2,83],34:[2,83],36:[2,83],38:[2,83],40:[2,83],44:[2,83],47:[2,83],48:[2,83],50:[2,83],52:[2,83],53:[2,83],62:[2,83],63:[2,83],64:[2,83],65:[2,83],66:[2,83],67:[2,83],68:[2,83],69:[2,83],70:[2,83],71:[2,83],72:[2,83],73:[2,83],74:[2,83],75:[2,83],76:[2,83],81:[2,83],86:[2,83]},{6:188,7:[2,3],9:217,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{7:[2,84],14:[2,84],20:[2,84],22:[2,84],27:[2,84],29:[2,84],
30:[2,84],31:[2,84],32:[2,84],33:[2,84],34:[2,84],36:[2,84],38:[2,84],40:[2,84],44:[2,84],47:[2,84],48:[2,84],50:[2,84],52:[2,84],53:[2,84],62:[2,84],63:[2,84],64:[2,84],65:[2,84],66:[2,84],67:[2,84],68:[2,84],69:[2,84],70:[2,84],71:[2,84],72:[2,84],73:[2,84],74:[2,84],75:[2,84],76:[2,84],81:[2,84],86:[2,84]},{6:218,7:[2,3],30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{29:[1,219],62:[1,78],63:[1,79],64:[1,80],65:[1,81],66:[1,82],67:[1,83],68:[1,84],69:[1,85],70:[1,86],71:[1,87],72:[1,88],73:[1,89],74:[1,
90],75:[1,91],76:[1,92]},{7:[2,28],14:[2,28],20:[2,28],27:[2,28],29:[2,28],30:[2,28],31:[2,28],32:[2,28],33:[2,28],34:[2,28],36:[2,28],40:[2,28],44:[2,28],47:[2,28],48:[2,28],50:[2,28],52:[2,28]},{6:188,7:[2,3],9:220,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{5:221,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{44:[1,191],79:[1,222]},{5:223,7:[2,17],15:4,17:16,
18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{30:[1,224]},{30:[1,225]},{11:226,12:49,20:[2,8],27:[2,8],29:[2,8],30:[2,8],31:[2,8],32:[2,8],33:[2,8],34:[2,8],36:[2,8],40:[2,8],44:[2,8],47:[2,8],48:[2,8]},{30:[1,227]},{6:188,7:[2,3],9:228,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{22:[1,229]},{6:188,7:[2,3],9:230,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{7:[2,85],14:[2,85],20:[2,85],22:[2,
85],27:[2,85],29:[2,85],30:[2,85],31:[2,85],32:[2,85],33:[2,85],34:[2,85],36:[2,85],38:[2,85],40:[2,85],44:[2,85],47:[2,85],48:[2,85],50:[2,85],52:[2,85],53:[2,85],62:[2,85],63:[2,85],64:[2,85],65:[2,85],66:[2,85],67:[2,85],68:[2,85],69:[2,85],70:[2,85],71:[2,85],72:[2,85],73:[2,85],74:[2,85],75:[2,85],76:[2,85],81:[2,85],86:[2,85]},{7:[2,26],14:[2,26],20:[2,26],27:[2,26],29:[2,26],30:[2,26],31:[2,26],32:[2,26],33:[2,26],34:[2,26],36:[2,26],40:[2,26],44:[2,26],47:[2,26],48:[2,26],50:[2,26],52:[2,
26]},{6:231,7:[2,3],30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{7:[2,86],14:[2,86],20:[2,86],27:[2,86],29:[2,86],30:[2,86],31:[2,86],32:[2,86],33:[2,86],34:[2,86],36:[2,86],40:[2,86],44:[2,86],47:[2,86],48:[2,86],50:[2,86],52:[2,86]},{30:[1,232]},{5:233,7:[2,17],15:4,17:16,18:15,19:8,20:[1,18],23:5,24:6,27:[1,7],29:[1,9],30:[2,17],31:[1,10],32:[1,11],33:[2,17],34:[1,12],36:[1,13],40:[1,14],44:[1,17],47:[2,17],48:[2,17],50:[2,17],52:[2,17]},{30:[1,234]},{30:[1,235]},{7:[2,87],14:[2,87],20:[2,87],27:[2,87],
29:[2,87],30:[2,87],31:[2,87],32:[2,87],33:[2,87],34:[2,87],36:[2,87],40:[2,87],44:[2,87],47:[2,87],48:[2,87],50:[2,87],52:[2,87]},{6:188,7:[2,3],9:236,30:[2,3],33:[2,3],50:[2,3],52:[2,3]},{7:[2,88],14:[2,88],20:[2,88],27:[2,88],29:[2,88],30:[2,88],31:[2,88],32:[2,88],33:[2,88],34:[2,88],36:[2,88],40:[2,88],44:[2,88],47:[2,88],48:[2,88],50:[2,88],52:[2,88]},{7:[2,27],14:[2,27],20:[2,27],27:[2,27],29:[2,27],30:[2,27],31:[2,27],32:[2,27],33:[2,27],34:[2,27],36:[2,27],40:[2,27],44:[2,27],47:[2,27],48:[2,
27],50:[2,27],52:[2,27]},{30:[1,237]},{7:[2,89],14:[2,89],20:[2,89],27:[2,89],29:[2,89],30:[2,89],31:[2,89],32:[2,89],33:[2,89],34:[2,89],36:[2,89],40:[2,89],44:[2,89],47:[2,89],48:[2,89],50:[2,89],52:[2,89]}],defaultActions:{65:[2,1],74:[2,48],95:[2,4],152:[2,36],188:[2,5]},parseError:function parseError(str,hash){throw new Error(str);},parse:function parse(input){var self=this,stack=[0],vstack=[null],lstack=[],table=this.table,yytext="",yylineno=0,yyleng=0,recovering=0,TERROR=2,EOF=1;this.lexer.setInput(input);
this.lexer.yy=this.yy;this.yy.lexer=this.lexer;this.yy.parser=this;if(typeof this.lexer.yylloc=="undefined")this.lexer.yylloc={};var yyloc=this.lexer.yylloc;lstack.push(yyloc);var ranges=this.lexer.options&&this.lexer.options.ranges;if(typeof this.yy.parseError==="function")this.parseError=this.yy.parseError;function popStack(n){stack.length=stack.length-2*n;vstack.length=vstack.length-n;lstack.length=lstack.length-n}function lex(){var token;token=self.lexer.lex()||1;if(typeof token!=="number")token=
self.symbols_[token]||token;return token}var symbol,preErrorSymbol,state,action,a,r,yyval={},p,len,newState,expected;while(true){state=stack[stack.length-1];if(this.defaultActions[state])action=this.defaultActions[state];else{if(symbol===null||typeof symbol=="undefined")symbol=lex();action=table[state]&&table[state][symbol]}if(typeof action==="undefined"||!action.length||!action[0]){var errStr="";if(!recovering){expected=[];for(p in table[state])if(this.terminals_[p]&&p>2)expected.push("'"+this.terminals_[p]+
"'");if(this.lexer.showPosition)errStr="Parse error on line "+(yylineno+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+expected.join(", ")+", got '"+(this.terminals_[symbol]||symbol)+"'";else errStr="Parse error on line "+(yylineno+1)+": Unexpected "+(symbol==1?"end of input":"'"+(this.terminals_[symbol]||symbol)+"'");this.parseError(errStr,{text:this.lexer.match,token:this.terminals_[symbol]||symbol,line:this.lexer.yylineno,loc:yyloc,expected:expected})}}if(action[0]instanceof Array&&action.length>
1)throw new Error("Parse Error: multiple actions possible at state: "+state+", token: "+symbol);switch(action[0]){case 1:stack.push(symbol);vstack.push(this.lexer.yytext);lstack.push(this.lexer.yylloc);stack.push(action[1]);symbol=null;if(!preErrorSymbol){yyleng=this.lexer.yyleng;yytext=this.lexer.yytext;yylineno=this.lexer.yylineno;yyloc=this.lexer.yylloc;if(recovering>0)recovering--}else{symbol=preErrorSymbol;preErrorSymbol=null}break;case 2:len=this.productions_[action[1]][1];yyval.$=vstack[vstack.length-
len];yyval._$={first_line:lstack[lstack.length-(len||1)].first_line,last_line:lstack[lstack.length-1].last_line,first_column:lstack[lstack.length-(len||1)].first_column,last_column:lstack[lstack.length-1].last_column};if(ranges)yyval._$.range=[lstack[lstack.length-(len||1)].range[0],lstack[lstack.length-1].range[1]];r=this.performAction.call(yyval,yytext,yyleng,yylineno,this.yy,action[1],vstack,lstack);if(typeof r!=="undefined")return r;if(len){stack=stack.slice(0,-1*len*2);vstack=vstack.slice(0,
-1*len);lstack=lstack.slice(0,-1*len)}stack.push(this.productions_[action[1]][0]);vstack.push(yyval.$);lstack.push(yyval._$);newState=table[stack[stack.length-2]][stack[stack.length-1]];stack.push(newState);break;case 3:return true}}return true}};var indentLevel=0;var blockId=0;var blockIdMax=0;var locals={};var stack=[];var functionBlockAdded=false;var inLoop=false;function getLocal(name,alternative){if(!locals[name]){if(alternative)return alternative;locals[name]="_"+name+"_"+blockId}return locals[name]}
function setLocal(name,localName){return locals[name]=localName||"_"+name+"_"+blockId}function setLocals(names){var result=[];for(var i=0;i<names.length;i++)result[i]=setLocal(names[i]);return result}function getTempDecl(explist){if(explist.endmulti)if(explist.exps.length>1)return"["+explist.exps.slice(0,-1).join(", ")+"].concat("+explist.endmulti+")";else return explist.endmulti;else return"["+explist.exps.join(", ")+"]"}function longStringToString(str){return'"'+str.substring(0,str.length-2).replace(/^\[\[(\r\n|\r|\n)?/m,
"").replace(/\n/mg,"\\n").replace(/\r/mg,"\\r").replace(/\"/mg,'\\"')+'"'}function createFunction(args,body,hasVarargs){var result="(function ("+args.join(", ")+") {\n"+" var tmp;\n";if(hasVarargs)result+=" var varargs = slice(arguments, "+args.length+");\n";return result+body.simple_form+"\n"+" return [];\n"+"})"}function getIfExp(exp){return exp.simple_form||"lua_true("+exp.single+")"}function indentStatlist(statlist,laststat){return" "+(statlist&&laststat?statlist+"\n"+laststat:statlist+(laststat||
"")).split("\n").join("\n ")}function autoAssertFloat(possibleNumber){return possibleNumber.is_number?possibleNumber.single:"lua_assertfloat("+possibleNumber.single+")"}function autoFunctionBlock(loopblock){return loopblock.use_function_block?"(function() {\n"+loopblock.block+"\n})();":"{\n"+loopblock.block+"\n}"}var lexer=function(){var lexer={EOF:1,parseError:function parseError(str,hash){if(this.yy.parser)this.yy.parser.parseError(str,hash);else throw new Error(str);},setInput:function(input){this._input=
input;this._more=this._less=this.done=false;this.yylineno=this.yyleng=0;this.yytext=this.matched=this.match="";this.conditionStack=["INITIAL"];this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0};if(this.options.ranges)this.yylloc.range=[0,0];this.offset=0;return this},input:function(){var ch=this._input[0];this.yytext+=ch;this.yyleng++;this.offset++;this.match+=ch;this.matched+=ch;var lines=ch.match(/(?:\r\n?|\n).*/g);if(lines){this.yylineno++;this.yylloc.last_line++}else this.yylloc.last_column++;
if(this.options.ranges)this.yylloc.range[1]++;this._input=this._input.slice(1);return ch},unput:function(ch){var len=ch.length;var lines=ch.split(/(?:\r\n?|\n)/g);this._input=ch+this._input;this.yytext=this.yytext.substr(0,this.yytext.length-len-1);this.offset-=len;var oldLines=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1);this.matched=this.matched.substr(0,this.matched.length-1);if(lines.length-1)this.yylineno-=lines.length-1;var r=this.yylloc.range;this.yylloc=
{first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:lines?(lines.length===oldLines.length?this.yylloc.first_column:0)+oldLines[oldLines.length-lines.length].length-lines[0].length:this.yylloc.first_column-len};if(this.options.ranges)this.yylloc.range=[r[0],r[0]+this.yyleng-len];return this},more:function(){this._more=true;return this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var past=this.matched.substr(0,this.matched.length-
this.match.length);return(past.length>20?"...":"")+past.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var next=this.match;if(next.length<20)next+=this._input.substr(0,20-next.length);return(next.substr(0,20)+(next.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var pre=this.pastInput();var c=(new Array(pre.length+1)).join("-");return pre+this.upcomingInput()+"\n"+c+"^"},next:function(){if(this.done)return this.EOF;if(!this._input)this.done=true;var token,match,tempMatch,
index,col,lines;if(!this._more){this.yytext="";this.match=""}var rules=this._currentRules();for(var i=0;i<rules.length;i++){tempMatch=this._input.match(this.rules[rules[i]]);if(tempMatch&&(!match||tempMatch[0].length>match[0].length)){match=tempMatch;index=i;if(!this.options.flex)break}}if(match){lines=match[0].match(/(?:\r\n?|\n).*/g);if(lines)this.yylineno+=lines.length;this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:lines?
lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+match[0].length};this.yytext+=match[0];this.match+=match[0];this.matches=match;this.yyleng=this.yytext.length;if(this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];this._more=false;this._input=this._input.slice(match[0].length);this.matched+=match[0];token=this.performAction.call(this,this.yy,this,rules[index],this.conditionStack[this.conditionStack.length-1]);if(this.done&&
this._input)this.done=false;if(token)return token;else return}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function lex(){var r=this.next();if(typeof r!=="undefined")return r;else return this.lex()},begin:function begin(condition){this.conditionStack.push(condition)},popState:function popState(){return this.conditionStack.pop()},_currentRules:function _currentRules(){return this.conditions[this.conditionStack[this.conditionStack.length-
1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function begin(condition){this.begin(condition)}};lexer.options={};lexer.performAction=function anonymous(yy,yy_,$avoiding_name_collisions,YY_START){var YYSTATE=YY_START;switch($avoiding_name_collisions){case 0:break;case 1:break;case 2:break;case 3:return 56;break;case 4:return 56;break;case 5:return 56;break;case 6:return 57;break;case 7:return 57;break;case 8:yy_.yytext=longStringToString(yy_.yytext);
return 57;break;case 9:return 43;break;case 10:return 14;break;case 11:return 20;break;case 12:return 22;break;case 13:return 85;break;case 14:return 86;break;case 15:return 80;break;case 16:return 81;break;case 17:return 62;break;case 18:return 63;break;case 19:return 64;break;case 20:return 65;break;case 21:return 67;break;case 22:return 66;break;case 23:return 73;break;case 24:return 25;break;case 25:return 74;break;case 26:return 71;break;case 27:return 72;break;case 28:return 69;break;case 29:return 70;
break;case 30:return 78;break;case 31:return 38;break;case 32:return 79;break;case 33:return 68;break;case 34:return 55;break;case 35:return 77;break;case 36:return 75;break;case 37:return 76;break;case 38:return 58;break;case 39:return 59;break;case 40:return 61;break;case 41:return 40;break;case 42:return 33;break;case 43:return 29;break;case 44:return 30;break;case 45:return 31;break;case 46:return 34;break;case 47:return 53;break;case 48:return 52;break;case 49:return 50;break;case 50:return 36;
break;case 51:return 27;break;case 52:return 32;break;case 53:return 39;break;case 54:return 47;break;case 55:return 48;break;case 56:return 44;break;case 57:return 7;break}};lexer.rules=[/^(?:\s+)/,/^(?:--\[\[(.|\n|\r)*?\]\])/,/^(?:--.*)/,/^(?:0x[0-9a-fA-f]+)/,/^(?:\d+(\.\d*)?([eE]-?\d+)?)/,/^(?:\.\d+([eE]-?\d+)?)/,/^(?:"(\\.|[^"])*")/,/^(?:'(\\.|[^'])*')/,/^(?:\[\[(.|\n|\r)*?\]\])/,/^(?::)/,/^(?:;)/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:\{)/,/^(?:\})/,/^(?:\+)/,/^(?:-)/,/^(?:\*)/,/^(?:\/)/,
/^(?:%)/,/^(?:\^)/,/^(?:==)/,/^(?:=)/,/^(?:~=)/,/^(?:<=)/,/^(?:>=)/,/^(?:<)/,/^(?:>)/,/^(?:#)/,/^(?:,)/,/^(?:\.\.\.)/,/^(?:\.\.)/,/^(?:\.)/,/^(?:not\b)/,/^(?:and\b)/,/^(?:or\b)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:nil\b)/,/^(?:function\b)/,/^(?:until\b)/,/^(?:do\b)/,/^(?:end\b)/,/^(?:while\b)/,/^(?:if\b)/,/^(?:then\b)/,/^(?:elseif\b)/,/^(?:else\b)/,/^(?:for\b)/,/^(?:local\b)/,/^(?:repeat\b)/,/^(?:in\b)/,/^(?:return\b)/,/^(?:break\b)/,/^(?:[a-zA-Z_][a-zA-Z0-9_]*)/,/^(?:$)/];lexer.conditions={"INITIAL":{"rules":[0,
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57],"inclusive":true}};return lexer}();parser.lexer=lexer;function Parser(){this.yy={}}Parser.prototype=parser;parser.Parser=Parser;return new Parser}();function slice(arr,start){if(arr.slice)return arr.slice(start);else return Array.prototype.slice.call(arr,start)}function not_supported(){throw new Error("Not supported");}
function ensure_arraymode(table){if(!table.arraymode){var newuints=[];for(var i in table.uints)if(table.uints[i]!=null)newuints[i-1]=table.uints[i];table.uints=newuints;table.arraymode=true}}function ensure_notarraymode(table){if(table.arraymode){var newuints={};for(var i in table.uints)if(table.uints[i]!=null)newuints[i- -1]=table.uints[i];table.uints=newuints;delete table.arraymode}}function ReturnValues(vars){this.vars=vars||[]}function lua_true(op){return op!=null&&op!==false}
function lua_not(op){return op==null||op===false}function lua_and(op1,op2){return op1==null||op1===false?op1:op2()}function lua_or(op1,op2){return op1!=null&&op1!==false?op1:op2()}function lua_assertfloat(n){var result=parseFloat(n);if(isNaN(result))throw new Error("Invalid number: "+n);return result}
function lua_newtable(autoIndexList){var result={str:{},uints:{},floats:{},bool:{},objs:[]};for(var i=1;i<arguments.length-1;i+=2){var value=arguments[i+1];if(value==null)continue;var key=arguments[i];switch(typeof key){case "string":result.str[key]=value;break;case "number":if(key!=key)throw new Error("Table index is NaN");if(key>0&&(key|0)==key)result.uints[key]=value;else result.floats[key]=value;break;case "boolean":result.bool[key]=value;break;case "object":if(key==null)throw new Error("Table index is nil");
var bFound=false;for(var i in result.objs)if(result.objs[i][0]===key){if(value==null)result.objs.splice(i,1);else{bFound=true;result.objs[i][1]=value}break}if(!bFound)result.objs.push([key,value]);break;default:throw new Error("Unsupported type for table: "+typeof key);}}if(autoIndexList){ensure_arraymode(result);if(result.uints.length==0)result.uints=autoIndexList;else{i=autoIndexList.length;while(i-- >0)result.uints[i]=autoIndexList[i]}}return result}
function lua_newtable2(str){var str_copy={};for(var i in str)str_copy[i]=str[i];return{str:str_copy,uints:{},floats:{},bool:{},objs:{}}}
function lua_len(op){if(typeof op=="string")return op.length;else if(typeof op=="object"&&op!=null)if(op.length==null){var index=0;if(op.arraymode){while(op.uints[index++]!=null);return op.length=index-1}else{while(op.uints[++index]!=null);return op.length=index-1}}else return op.length;else{var h=op.metatable&&op.metatable.str["__len"];if(h)return lua_rawcall(h,[op])[0];else throw new Error("Length of <"+op+"> not supported");}}
function lua_rawcall(func,args){try{return func.apply(null,args)}catch(e){if(e.constructor==ReturnValues)return e.vars;throw e;}}
function lua_tablegetcall(table,key,args){var func=lua_tableget(table,key);if(typeof func=="function")return lua_rawcall(func,args);else{if(func==null)throw new Error("attempt to call field '"+key+"' (a nil value)");var h=func.metatable&&func.metatable.str["__call"];if(h!=null)return lua_rawcall(h,[func].concat(args));else throw new Error("Could not call "+func+" as function");}}
function lua_call(func,args){if(typeof func=="function")return lua_rawcall(func,args);else{if(func==null)throw new Error("attempt to call function (a nil value)");var h=func.metatable&&func.metatable.str["__call"];if(h!=null)return lua_rawcall(h,[func].concat(args));else throw new Error("Could not call "+func+" as function");}}
function lua_mcall(obj,methodname,args){var func=lua_tableget(obj,methodname);if(func==null)throw new Error("attempt to call method '"+methodname+"' (a nil value)");return lua_call(func,[obj].concat(args))}
function lua_eq(op1,op2){if(typeof op1!=typeof op2){if(op1==null&&op2==null)return true;return false}if(op1==op2)return true;if(op1==null||op2==null)return false;var h=op1.metatable&&op1.metatable.str["__eq"];if(h&&h==(op2.metatable&&op2.metatable.str["__eq"]))return lua_true(lua_rawcall(h,[op1,op2])[0]);else return false}
function lua_lt(op1,op2){if(typeof op1=="number"&&typeof op2=="number")return op1<op2;else if(typeof op1=="string"&&typeof op2=="string")return op1<op2;else{var h=op1.metatable&&op1.metatable.str["__lt"];if(h&&h==(op2.metatable&&op2.metatable.str["__lt"]))return lua_true(lua_rawcall(h,[op1,op2])[0]);else throw new Error("Unable to compare "+op1+" and "+op2);}}
function lua_lte(op1,op2){if(typeof op1=="number"&&typeof op2=="number")return op1<=op2;else if(typeof op1=="string"&&typeof op2=="string")return op1<=op2;else{var h=op1.metatable&&op1.metatable.str["__le"];if(h&&h==(op2.metatable&&op2.metatable.str["__le"]))return lua_true(lua_rawcall(h,[op1,op2])[0]);else{var h=op1.metatable&&op1.metatable.str["__lt"];if(h&&h==(op2.metatable&&op2.metatable.str["__lt"]))return lua_not(lua_rawcall(h,[op2,op1])[0]);else throw new Error("Unable to compare "+op1+" and "+
op2);}}}function lua_unm(op){var o=parseFloat(op);if(o!=null)return-o;else{var h=op.metatable&&op.metatable.str["__unm"];if(h)return lua_rawcall(h,[op])[0];else throw new Error("Inverting <"+op+"> not supported");}}
function lua_add(op1,op2){var o1=parseFloat(op1),o2=parseFloat(op2);if(o1==null||o2==null){var h=op1.metatable&&op1.metatable.str["__add"]||op2.metatable&&op2.metatable.str["__add"];if(h)return lua_rawcall(h,[op1,op2])[0];else throw new Error("Adding <"+op1+"> and <"+op2+"> not supported");}else return o1+o2}
function lua_subtract(op1,op2){var o1=parseFloat(op1),o2=parseFloat(op2);if(o1==null||o2==null){var h=op1.metatable&&op1.metatable.str["__sub"]||op2.metatable&&op2.metatable.str["__sub"];if(h)return lua_rawcall(h,[op1,op2])[0];else throw new Error("Subtracting <"+op1+"> and <"+op2+"> not supported");}else return o1-o2}
function lua_divide(op1,op2){var o1=parseFloat(op1),o2=parseFloat(op2);if(o1==null||o2==null){var h=op1.metatable&&op1.metatable.str["__div"]||op2.metatable&&op2.metatable.str["__div"];if(h)return lua_rawcall(h,[op1,op2])[0];else throw new Error("Dividing <"+op1+"> and <"+op2+"> not supported");}else return o1/o2}
function lua_multiply(op1,op2){var o1=parseFloat(op1),o2=parseFloat(op2);if(o1==null||o2==null){var h=op1.metatable&&op1.metatable.str["__mul"]||op2.metatable&&op2.metatable.str["__mul"];if(h)return lua_rawcall(h,[op1,op2])[0];else throw new Error("Multiplying <"+op1+"> and <"+op2+"> not supported");}else return o1*o2}
function lua_power(op1,op2){var o1=parseFloat(op1),o2=parseFloat(op2);if(o1==null||o2==null){var h=op1.metatable&&op1.metatable.str["__pow"]||op2.metatable&&op2.metatable.str["__pow"];if(h)return lua_rawcall(h,[op1,op2])[0];else throw new Error("<"+op1+"> to the power of <"+op2+"> not supported");}else return Math.pow(o1,o2)}
function lua_mod(op1,op2){var o1=parseFloat(op1),o2=parseFloat(op2);if(o1==null||o2==null){var h=op1.metatable&&op1.metatable.str["__mod"]||op2.metatable&&op2.metatable.str["__mod"];if(h)return lua_rawcall(h,[op1,op2])[0];else throw new Error("Modulo <"+op1+"> and <"+op2+"> not supported");}else if(o1>=0)if(o2>=0)return o1%o2;else return(o2+o1%o2)%o2;else if(o2>=0)return(o2+o1%o2)%o2;else return o1%o2}
function lua_rawget(table,key){switch(typeof key){case "string":return table.str[key];case "number":if(key!=key)throw new Error("Table index is NaN");if(key>0&&(key|0)==key)if(table.arraymode)return table.uints[key-1];else return table.uints[key];else return table.floats[key];case "boolean":return table.bool[key];case "object":if(key==null)return null;for(var i in table.objs)if(table.objs[i][0]==key)return table.objs[i][1];break;default:throw new Error("Unsupported key for table: "+typeof key);}}
function lua_rawset(table,key,value){delete table.length;switch(typeof key){case "string":if(value==null)delete table.str[key];else table.str[key]=value;break;case "number":if(key!=key)throw new Error("Table index is NaN");if(key>0&&(key|0)==key){ensure_notarraymode(table);if(value==null)delete table.uints[key];else table.uints[key]=value}else if(value==null)delete table.floats[key];else table.floats[key]=value;break;case "boolean":if(value==null)delete table.bool[key];else table.bool[key]=value;
break;case "object":if(key==null)throw new Error("Table index is nil");var bFound=false;for(var i in table.objs)if(table.objs[i][0]==key){if(value==null)table.objs.splice(i,1);else{bFound=true;table.objs[i][1]=value}break}if(!bFound)table.objs.push([key,value]);break;default:throw new Error("Unsupported key for table: "+typeof key);}}
function lua_tableget(table,key){if(table==null)throw new Error("attempt to index field '"+key+"' in a nil value");if(typeof table=="object"){var v=lua_rawget(table,key);if(v!=null)return v;var h=table.metatable&&table.metatable.str["__index"];if(h==null)return null}else{var h=table.metatable&&table.metatable.str["__index"];if(h==null)throw new Error("Unable to index key "+key+" from "+table);}if(typeof h=="function")return lua_rawcall(h,[table,key])[0];else return lua_tableget(h,key)}
function lua_tableset(table,key,value){if(table==null)throw new Error("attempt to set field '"+key+"' in a nil value");if(typeof table=="object"){var v=lua_rawget(table,key);if(v!=null){lua_rawset(table,key,value);return}var h=table.metatable&&table.metatable.str["__newindex"];if(h==null){lua_rawset(table,key,value);return}}else{var h=table.metatable&&table.metatable.str["__newindex"];if(h==null)throw new Error("Unable to set key "+key+" in table "+table);}if(typeof h=="function")lua_rawcall(h,[table,
key,value]);else lua_tableset(h,key,value)}function lua_concat(op1,op2){if(typeof op1=="number"&&typeof op2=="number")throw new Error("number concat not supported yet");else if((typeof op1=="string"||typeof op1=="number")&&(typeof op2=="string"||typeof op2=="number"))return op1+op2;else{var h=op1.metatable&&op1.metatable.str["__concat"]||op2.metatable&&op2.metatable.str["__concat"];if(h)return lua_rawcall(h,[op1,op2])[0];else throw new Error("Unable to concat "+op1+" and "+op2);}}
function _ipairs_next(table,index){var entry;if(table.arraymode)entry=table.uints[index];else entry=table.uints[index+1];if(entry==null)return[null,null];return[index+1,entry]}var lua_libs={};
var lua_core={"assert":function(value,message){if(arguments.length<1)message="assertion failed!";if(value!=null&&value!==false)return[value];else throw new Error(message);},"collectgarbage":function(){},"dofile":function(){not_supported()},"error":function(message,level){throw new Error(message);},"getfenv":function(func,table){not_supported()},"getmetatable":function(op){return[op.metatable&&(op.metatable.str["__metatable"]||op.metatable)]},"ipairs":function(table){return[_ipairs_next,table,0]},
"load":function(func,chunkname){var script="",chunk;while((chunk=func())!=null&&chunk!="")script+=chunk;try{return[lua_load(script,chunkname)]}catch(e){return[null,e.message]}},"loadfile":function(){not_supported()},"loadstring":function(string,chunkname){try{return[lua_load(string,chunkname)]}catch(e){return[null,e.message]}},"next":function(){not_supported()},"pairs":function(table){var props=[],i;for(i in table.str)props.push(i);if(table.arraymode){var j=table.uints.length;while(j-- >0)if(table.uints[j]!=
null)props.push(j+1)}else for(i in table.uints)props.push(parseFloat(i));for(i in table.floats)props.push(parseFloat(i));for(i in table.bool)props.push(i==="true"?true:false);for(i in table.objs)props.push(table.objs[i][0]);i=0;return[function(table,key){var entry;do{if(i>=props.length)return[null,null];key=props[i++];entry=lua_rawget(table,key)}while(entry==null);return[key,entry]},table,null]},"pcall":function(func){try{return[true].concat(func.apply(null,slice(arguments,1)))}catch(e){return[false,
e.message]}},"print":lua_print,"rawequal":function(op1,op2){return[op1==op2||op1==null&&op2==null]},"rawget":function(table,key){if(typeof table=="object"&&table!=null)return[lua_rawget(table,key)];throw new Error("Unable to index key "+key+" from "+table);},"rawset":function(table,key,value){if(typeof table=="object"&&table!=null&&key!=null){lua_rawset(table,key,value);return[table]}throw new Error("Unable set key "+key+" in "+table);},"select":function(n){if(n==="#")return[arguments.length-1];else{n=
lua_assertfloat(n);if(n>=1)return slice(arguments,lua_assertfloat(n));else throw new Error("Index out of range");}},"setfenv":function(func,table){not_supported()},"setmetatable":function(table,metatable){if(typeof table!="object"||table==null)throw new Error("table expected, got "+table);if(metatable==null)delete table.metatable;else if(typeof metatable==="object")table.metatable=metatable;else throw new Error("table or nil expected, got "+metatable);return[table]},"tonumber":function(e,base){if(typeof e==
"number")return[e];if(base===10||base==null)return[parseFloat(e)];else return[parseInt(e,base)]},"tostring":function(e){if(e==null)return["nil"];var h=e.metatable&&e.metatable.str["__tostring"];if(h)return lua_rawcall(h,[e]);else switch(typeof e){case "number":case "boolean":return[e.toString()];case "string":return[e];case "object":return["table"];case "function":return["function"];default:return["nil"]}},"type":function(v){switch(typeof v){case "number":return["number"];case "string":return["string"];
case "boolean":return["boolean"];case "function":return["function"];case "object":return[v===null?"nil":"table"];case "undefined":return["nil"];default:throw new Error("Unepected value of type "+typeof v);}},"unpack":function(list,i,j){ensure_arraymode(list);if(list.length!=null)j=list.length;else{j=0;while(list.uints[j++]!=null);list.length=--j}if(i==null||i<1)i=1;if(j==null)j=list.length;throw new ReturnValues(list.uints.slice(i-1,j));},"_VERSION":"Lua 5.1","xpcall":function(){not_supported()}};
var _lua_coroutine=lua_libs["coroutine"]={};_lua_coroutine["resume"]=_lua_coroutine["running"]=_lua_coroutine["status"]=_lua_coroutine["wrap"]=_lua_coroutine["yield"]=_lua_coroutine["create"]=function(){not_supported()};var _lua_debug=lua_libs["debug"]={"getmetatable":function(obj){return[obj.metatable]}};
_lua_debug["traceback"]=_lua_debug["getfenv"]=_lua_debug["gethook"]=_lua_debug["getinfo"]=_lua_debug["getlocal"]=_lua_debug["getregistry"]=_lua_debug["getupvalue"]=_lua_debug["setfenv"]=_lua_debug["sethook"]=_lua_debug["setlocal"]=_lua_debug["setupvalue"]=_lua_debug["debug"]=function(){not_supported()};var _lua_write_buffer="";
var _lua_io=lua_libs["io"]={"write":function(){_lua_write_buffer+=Array.prototype.join.call(arguments,"");var lines=_lua_write_buffer.split("\n");while(lines.length>1)_lua_print(lines.shift());_lua_write_buffer=lines[0];return[]},"flush":function(){},"stderr":null,"stdin":null,"stdout":null};_lua_io["close"]=_lua_io["input"]=_lua_io["lines"]=_lua_io["output"]=_lua_io["popen"]=_lua_io["read"]=_lua_io["tmpfile"]=_lua_io["type"]=_lua_io["open"]=function(){not_supported()};var _lua_randmax=4294967296;
var _lua_randseed=Math.random()*_lua_randmax&_lua_randmax-1;
lua_libs["math"]={"abs":function(x){return[Math.abs(x)]},"acos":function(x){return[Math.acos(x)]},"asin":function(x){return[Math.asin(x)]},"atan":function(x){return[Math.atan(x)]},"atan2":function(y,x){return[Math.atan2(y,x)]},"ceil":function(x){return[Math.ceil(x)]},"cos":function(x){return[Math.cos(x)]},"cosh":function(x){return[(Math.exp(x)+Math.exp(-x))/2]},"deg":function(x){return[x*(180/Math.PI)]},"exp":function(x){return[Math.exp(x)]},"floor":function(x){return[Math.floor(x)]},"fmod":function(x,
y){return[x%y]},"frexp":function(m,e){not_supported()},"huge":Infinity,"ldexp":function(m,e){return[m*Math.pow(2,e)]},"log":function(x){return[Math.log(x)]},"log10":function(x){return[Math.log(x)/Math.LN10]},"max":function(){return[Math.max.apply(null,arguments)]},"min":function(){return[Math.min.apply(null,arguments)]},"modf":function(x){var frac=x%1;return[x-frac,frac]},"pi":Math.PI,"pow":function(x,y){return[Math.pow(x,y)]},"rad":function(x){return[x*(Math.PI/180)]},"sin":function(x){return[Math.sin(x)]},
"sinh":function(x){return[(Math.exp(x)-Math.exp(-x))/2]},"sqrt":function(x){return[Math.sqrt(x)]},"tan":function(x){return[Math.tan(x)]},"tanh":function(x){var a=Math.exp(x);var b=Math.exp(-x);return[(a-b)/(a+b)]},"random":function(m,n){_lua_randseed=~_lua_randseed+(_lua_randseed<<15);_lua_randseed=_lua_randseed^_lua_randseed>>>12;_lua_randseed=_lua_randseed+(_lua_randseed<<2);_lua_randseed=_lua_randseed^_lua_randseed>>>4;_lua_randseed=_lua_randseed*2057;_lua_randseed=_lua_randseed^_lua_randseed>>>
16;var val;if(_lua_randseed<0)val=(_lua_randseed+_lua_randmax)/_lua_randmax%1;else val=_lua_randseed/_lua_randmax%1;if(arguments.length>=2){if(m>=n)throw new Error("Invalid range");return[Math.floor(val*(n-m+1)+m)]}else if(arguments.length==1)return[Math.floor(val*m+1)];else return[val]},"randomseed":function(x){_lua_randseed=x&_lua_randmax-1}};var _lua_clock_start=(new Date).getTime()/1E3;
lua_libs["os"]={"clock":function(){return[(new Date).getTime()/1E3-_lua_clock_script]},"date":function(format,time){return["["+time+"]"+format]},"difftime":function(t2,t1){return[t2-t1]},"execute":function(){return 0},"exit":function(){not_supported()},"getenv":function(varname){return[null]},"remove":function(){not_supported()},"rename":function(){not_supported()},"setlocale":function(){not_supported()},"time":function(table){if(table)not_supported();else return[(new Date).getTime()]}};
var lua_packages=lua_newtable();function lua_createmodule(G,name,options){var t=lua_tableget(lua_packages,name)||lua_tableget(G,name)||lua_newtable();lua_tableset(G,name,t);lua_tableset(lua_packages,name,t);lua_tableset(t,"_NAME",name);lua_tableset(t,"_M",t);lua_tableset(t,"_PACKAGE",name.split(".").slice(0,-1).join("."));for(var i=0;i<options.length;i++)lua_call(options[i],[t]);return t}
function lua_module(name){var t=lua_tableget(lua_packages,name);if(t==null)throw new Error("Module "+name+" not found. Module must be loaded before use.");return t}function lua_require(G,name){var t=lua_module(name);var pkg=G;var names=name.split(".");for(var i=0;i<names.length-1;i++)if(!lua_tableget(pkg,names[i])){var newPkg=lua_newtable();lua_tableset(pkg,names[i],newPkg);pkg=newPkg}lua_tableset(pkg,names[names.length-1],t);return t}
lua_libs["package"]={"path":"","cpath":"","loaded":lua_packages,"loaders":lua_newtable(),"preload":lua_newtable(),"loadlib":function(){not_supported()}};
lua_libs["string"]={"byte":function(s,i,j){if(i==null)i=0;if(j==null)j=i;var result=[];while(i<j&&i<s.length)result.push(s.charCodeAt(i));return result},"char":function(){return[String.fromCharCode.apply(null,arguments)]},"dump":function(func){not_supported()},"find":function(){not_supported()},"format":function(formatstring){return["["+slice(arguments,1).join(", ")+"]"+arguments[0]]},"gmatch":function(s,pattern){not_supported()},"gsub":function(s,pattern,repl,n){not_supported()},"len":function(s){if(typeof s==
"string")return[s.length];else throw new Error("Input not string");},"lower":function(s){if(typeof s=="string")return[s.toLowerCase()];else throw new Error("Input not string");},"match":function(s){not_supported()},"rep":function(s,n){if(typeof s=="string"&&typeof n=="number"){var result=[];while(n-- >0)result.push(s);return[result.join("")]}else throw new Error("Input not string and number");},"reverse":function(s){if(typeof s=="string")return[s.split("").reverse().join("")];else throw new Error("Input not string");
},"sub":function(s,i,j){i=i<0?i+s.length+1:i>=0?i:0;if(j==null)j=-1;j=j<0?j+s.length+1:j>=0?j:0;if(i<1)i=1;if(j>s.length)j=s.length;if(i<=j)return[s.substr(i-1,j-i+1)];else return[""]},"upper":function(s){if(typeof s=="string")return[s.toUpperCase()];else throw new Error("Input not string");}};String.prototype["metatable"]=lua_newtable(null,"__index",lua_newtable2(lua_libs["string"]));
lua_libs["table"]={"concat":function(table,sep,i,j){ensure_arraymode(table);if(sep==null)sep="";if(i!=null){if(j==null)j=table.uints.length;return[table.uints.slice(i-1,j).join(sep)]}else return[table.uints.join(sep)]},"insert":function(table,pos,value){ensure_arraymode(table);if(arguments.length==2){value=pos;pos=table.uints.length+1}table.uints.splice(pos-1,0,value);if(table.length!=null)table.length++;return[]},"maxn":function(table){if(table.arraymode)return[table.uints.length];else{var max=0;
for(var i in table.uints){var val=parseFloat(i);if(val>max)max=val}return[max]}},"remove":function(table,pos){ensure_arraymode(table);if(pos==null)pos=table.uints.length;else pos=lua_assertfloat(pos);if(table.uints.length){var value=table.uints[pos-1];table.uints.splice(pos-1,1);if(table.length!=null)table.length--;return[value]}else return[]},"sort":function(table,comp){ensure_arraymode(table);if(comp)table.uints.sort(function(a,b){return comp(a,b)[0]?-1:1});else table.uints.sort(function(a,b){return lua_lt(a,
b)?-1:1});return[]}};
lua_libs["bit"]={"tobit":function(x){return[x<<0]},"tohex":function(x,n){if(n>0){var str=x.toString(16).substr(-n);while(str.length<n)str="0"+str;return[str]}else if(n<0){var str=x.toString(16).substr(n).toUpperCase();while(str.length<-n)str="0"+str;return[str]}else return[x.toString(16)]},"bnot":function(x){return[~x]},"bor":function(x){x=lua_assertfloat(x);for(var i=1;i<arguments.length;i++)x|=arguments[i];return[x]},"band":function(x){x=lua_assertfloat(x);for(var i=1;i<arguments.length;i++)x&=arguments[i];
return[x]},"bxor":function(x){x=lua_assertfloat(x);for(var i=1;i<arguments.length;i++)x^=arguments[i];return[x]},"lshift":function(x,n){return[x<<n]},"rshift":function(x,n){return[x>>>n]},"arshift":function(x,n){return[x>>n]},"rol":function(x,n){n&=15;return[x<<n|x>>>-n]},"ror":function(x,n){n&=15;return[x>>>n|x<<-n]},"bswap":function(x){x=x>>1&1431655765|(x&1431655765)<<1;x=x>>2&858993459|(x&858993459)<<2;x=x>>4&252645135|(x&252645135)<<4;x=x>>8&16711935|(x&16711935)<<8;x=x>>16|x<<16;return[x]}};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment