mca-compiler
Version:
Compiles MCA code to MCIL
561 lines (528 loc) • 117 kB
JavaScript
/* parser generated by jison 0.4.15 */
/*
Returns a Parser object of the following structure:
Parser: {
yy: {}
}
Parser.prototype: {
yy: {},
trace: function(),
symbols_: {associative list: name ==> number},
terminals_: {associative list: number ==> name},
productions_: [...],
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$),
table: [...],
defaultActions: {...},
parseError: function(str, hash),
parse: function(input),
lexer: {
EOF: 1,
parseError: function(str, hash),
setInput: function(input),
input: function(),
unput: function(str),
more: function(),
less: function(n),
pastInput: function(),
upcomingInput: function(),
showPosition: function(),
test_match: function(regex_match_array, rule_index),
next: function(),
lex: function(),
begin: function(condition),
popState: function(),
_currentRules: function(),
topState: function(),
pushState: function(condition),
options: {
ranges: boolean (optional: true ==> token location info will include a .range[] member)
flex: boolean (optional: true ==> flex-like lexing behaviour where the rules are tested exhaustively to find the longest match)
backtrack_lexer: boolean (optional: true ==> lexer regexes are tested in order and for each matching regex the action code is invoked; the lexer terminates the scan when a token is returned by the action code)
},
performAction: function(yy, yy_, $avoiding_name_collisions, YY_START),
rules: [...],
conditions: {associative list: name ==> set},
}
}
token location info (@$, _$, etc.): {
first_line: n,
last_line: n,
first_column: n,
last_column: n,
range: [start_number, end_number] (where the numbers are indexes into the input string, regular zero-based)
}
the parseError function receives a 'hash' object with these members for lexer and parser errors: {
text: (matched text)
token: (the produced terminal token, if any)
line: (yylineno)
}
while parser (grammar) errors will also provide these members, i.e. parser errors deliver a superset of attributes: {
loc: (yylloc)
expected: (string describing the set of expected tokens)
recoverable: (boolean: TRUE when the parser has a error recovery rule available for this particular error)
}
*/
var parser = (function(){
var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[2,23],$V1=[1,20],$V2=[1,21],$V3=[1,19],$V4=[1,22],$V5=[1,24],$V6=[1,47],$V7=[1,25],$V8=[1,26],$V9=[1,27],$Va=[1,28],$Vb=[1,29],$Vc=[1,30],$Vd=[1,31],$Ve=[1,32],$Vf=[1,43],$Vg=[1,44],$Vh=[1,41],$Vi=[1,42],$Vj=[1,45],$Vk=[1,46],$Vl=[1,38],$Vm=[1,40],$Vn=[1,52],$Vo=[1,53],$Vp=[1,54],$Vq=[1,55],$Vr=[1,56],$Vs=[1,57],$Vt=[1,58],$Vu=[1,59],$Vv=[1,60],$Vw=[5,20,21,22,25,26,27,28,32,34,36,37,38,39,40,41,46,48,80,81,87,88,89,90,97,101,105,111,112,113,114,115,116,117,118],$Vx=[5,20,21,22,25,26,27,28,32,34,35,36,37,38,39,40,41,46,48,80,81,87,88,89,90,97,101,105,111,112,113,114,115,116,117,118],$Vy=[5,20,21,22,25,26,27,28,32,34,35,36,37,38,39,40,41,46,48,50,51,52,53,54,55,56,57,58,59,60,62,63,65,66,67,69,70,71,72,73,74,76,77,78,80,81,83,84,85,87,88,89,90,97,100,101,105,111,112,113,114,115,116,117,118],$Vz=[2,6],$VA=[1,66],$VB=[1,67],$VC=[1,71],$VD=[1,103],$VE=[1,104],$VF=[1,105],$VG=[1,106],$VH=[1,107],$VI=[1,108],$VJ=[1,109],$VK=[1,110],$VL=[1,111],$VM=[1,112],$VN=[1,113],$VO=[1,82],$VP=[1,83],$VQ=[1,84],$VR=[1,85],$VS=[1,86],$VT=[1,87],$VU=[1,88],$VV=[1,89],$VW=[1,90],$VX=[1,91],$VY=[1,92],$VZ=[1,93],$V_=[1,94],$V$=[1,95],$V01=[1,96],$V11=[1,97],$V21=[1,98],$V31=[1,99],$V41=[1,100],$V51=[1,101],$V61=[1,102],$V71=[1,79],$V81=[1,81],$V91=[22,23,26,30,32,47,50,51,52,53,54,55,56,57,58,59,60,62,63,65,66,67,69,70,71,72,73,74,76,77,78,80,81,83,84,85,87,88,100,105,106],$Va1=[22,25,28,80,81,87,88,89,90,97,101,105,111,112,113,114,115,116,117,118],$Vb1=[22,23,25,26,28,30,32,34,35,36,37,38,39,40,41,46,47,48,50,51,52,53,54,55,56,57,58,59,60,62,63,65,66,67,69,70,71,72,73,74,76,77,78,80,81,83,84,85,87,88,89,90,97,100,101,105,106,111,112,113,114,115,116,117,118,122,123],$Vc1=[26,30,32,73,74],$Vd1=[1,189],$Ve1=[1,190],$Vf1=[1,132],$Vg1=[1,153],$Vh1=[1,140],$Vi1=[1,141],$Vj1=[1,144],$Vk1=[1,142],$Vl1=[1,143],$Vm1=[1,147],$Vn1=[1,149],$Vo1=[1,145],$Vp1=[1,146],$Vq1=[1,191],$Vr1=[1,148],$Vs1=[1,163],$Vt1=[1,164],$Vu1=[1,165],$Vv1=[1,161],$Vw1=[1,162],$Vx1=[1,167],$Vy1=[1,168],$Vz1=[1,166],$VA1=[1,169],$VB1=[1,171],$VC1=[1,170],$VD1=[1,174],$VE1=[1,173],$VF1=[1,184],$VG1=[1,183],$VH1=[1,185],$VI1=[1,154],$VJ1=[1,155],$VK1=[1,156],$VL1=[1,157],$VM1=[1,180],$VN1=[1,182],$VO1=[1,181],$VP1=[1,175],$VQ1=[1,176],$VR1=[1,177],$VS1=[1,178],$VT1=[1,179],$VU1=[1,159],$VV1=[1,160],$VW1=[1,186],$VX1=[1,158],$VY1=[1,139],$VZ1=[1,172],$V_1=[1,150],$V$1=[1,187],$V02=[1,188],$V12=[1,151],$V22=[1,152],$V32=[1,138],$V42=[1,137],$V52=[1,192],$V62=[1,195],$V72=[23,30],$V82=[2,29],$V92=[1,203],$Va2=[23,26,30,32,47,106],$Vb2=[30,106],$Vc2=[5,20,21,22,23,25,26,27,28,30,32,34,35,36,37,38,39,40,41,46,47,48,50,51,52,53,54,55,56,57,58,59,60,62,63,65,66,67,69,70,71,72,73,74,76,77,78,80,81,83,84,85,87,88,89,90,97,100,101,105,106,111,112,113,114,115,116,117,118],$Vd2=[2,18],$Ve2=[1,231],$Vf2=[2,19],$Vg2=[22,32,50,51,52,53,54,55,56,57,58,59,60,62,63,65,66,67,69,70,71,72,73,74,76,77,78,80,81,83,84,85,87,88,100,105],$Vh2=[26,46,48],$Vi2=[2,45],$Vj2=[1,265],$Vk2=[26,46];
var parser = {trace: function trace() { },
yy: {},
symbols_: {"error":2,"Program":3,"StatementList":4,"EOF":5,"Statement":6,"StatementNoBlock":7,"Block":8,"Comment":9,"BlockBody":10,"ExpressionStatement":11,"MacroStatement":12,"EmptyStatement":13,"IfStatement":14,"WhileStatement":15,"ContinueStatement":16,"BreakStatement":17,"ReturnStatement":18,"SwitchStatement":19,"LINE_COMMENT":20,"BLOCK_COMMENT":21,"(":22,")":23,"FormalParameterList":24,"{":25,"}":26,"#":27,"IDENTIFIER":28,"FormalParameterItem":29,",":30,"OUT":31,";":32,"Expression":33,"IF":34,"ELSE":35,"DO":36,"WHILE":37,"CONTINUE":38,"BREAK":39,"RETURN":40,"SWITCH":41,"CaseBlock":42,"CaseClauses":43,"DefaultClause":44,"CaseClause":45,"CASE":46,":":47,"DEFAULT":48,"AssignmentOperator":49,"ASSIGN_TIMES":50,"ASSIGN_DIVIDE":51,"ASSIGN_REMAINDER":52,"ASSIGN_PLUS":53,"ASSIGN_MINUS":54,"ASSIGN_LSHIFT":55,"ASSIGN_RSHIFT":56,"ASSIGN_URSHIFT":57,"ASSIGN_BAND":58,"ASSIGN_BOR":59,"ASSIGN_XOR":60,"LogicalOperator":61,"OR":62,"AND":63,"BinaryOperator":64,"^":65,"&":66,"|":67,"ComparisonOperator":68,"EQUAL":69,"NOT_EQUAL":70,"GTE":71,"LTE":72,">":73,"<":74,"ShiftOperator":75,"URSHIFT":76,"RSHIFT":77,"LSHIFT":78,"PlusMinusOperator":79,"+":80,"-":81,"TimesDivideOperator":82,"*":83,"/":84,"%":85,"PrefixOperator":86,"INCREMENT":87,"DECREMENT":88,"~":89,"!":90,"PostfixOperator":91,"ParameterList":92,"AssignmentExpression":93,"ImportExpression":94,"Identifier":95,"Literal":96,"INTERNAL_IDENTIFIER":97,"MapExpression":98,"ParameterItem":99,"=":100,"IMPORT":101,"KeyLiteral":102,"NumberLiteral":103,"StringLiteral":104,"[":105,"]":106,"PropertyNameAndValueList":107,"KeyValueExpression":108,"NullLiteral":109,"CommandLiteral":110,"NULL":111,"NUMBER":112,"INFINITY":113,"NAN":114,"TRUE":115,"FALSE":116,"STRING":117,"COMMAND_NAME":118,"CommandArguments":119,"CommandArgument":120,"CommandText":121,"ESCAPE_SEQUENCE":122,"INVALID":123,"$accept":0,"$end":1},
terminals_: {2:"error",5:"EOF",20:"LINE_COMMENT",21:"BLOCK_COMMENT",22:"(",23:")",25:"{",26:"}",27:"#",28:"IDENTIFIER",30:",",31:"OUT",32:";",34:"IF",35:"ELSE",36:"DO",37:"WHILE",38:"CONTINUE",39:"BREAK",40:"RETURN",41:"SWITCH",46:"CASE",47:":",48:"DEFAULT",50:"ASSIGN_TIMES",51:"ASSIGN_DIVIDE",52:"ASSIGN_REMAINDER",53:"ASSIGN_PLUS",54:"ASSIGN_MINUS",55:"ASSIGN_LSHIFT",56:"ASSIGN_RSHIFT",57:"ASSIGN_URSHIFT",58:"ASSIGN_BAND",59:"ASSIGN_BOR",60:"ASSIGN_XOR",62:"OR",63:"AND",65:"^",66:"&",67:"|",69:"EQUAL",70:"NOT_EQUAL",71:"GTE",72:"LTE",73:">",74:"<",76:"URSHIFT",77:"RSHIFT",78:"LSHIFT",80:"+",81:"-",83:"*",84:"/",85:"%",87:"INCREMENT",88:"DECREMENT",89:"~",90:"!",97:"INTERNAL_IDENTIFIER",100:"=",101:"IMPORT",105:"[",106:"]",111:"NULL",112:"NUMBER",113:"INFINITY",114:"NAN",115:"TRUE",116:"FALSE",117:"STRING",118:"COMMAND_NAME",122:"ESCAPE_SEQUENCE",123:"INVALID"},
productions_: [0,[3,2],[3,1],[6,1],[6,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[9,1],[9,1],[8,3],[8,4],[8,1],[10,3],[4,2],[4,0],[12,3],[12,5],[12,6],[24,1],[24,3],[29,1],[29,2],[13,1],[11,2],[14,5],[14,7],[15,7],[15,5],[16,2],[17,2],[18,2],[18,3],[19,5],[42,3],[42,5],[43,2],[43,0],[45,4],[44,3],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[49,1],[61,1],[61,1],[64,1],[64,1],[64,1],[68,1],[68,1],[68,1],[68,1],[68,1],[68,1],[75,1],[75,1],[75,1],[79,1],[79,1],[82,1],[82,1],[82,1],[86,1],[86,1],[86,1],[86,1],[86,1],[86,1],[91,1],[91,1],[33,3],[33,1],[33,3],[33,4],[33,1],[33,1],[33,3],[33,3],[33,3],[33,3],[33,3],[33,3],[33,2],[33,2],[33,1],[33,1],[33,3],[33,4],[33,1],[92,1],[92,3],[99,1],[99,2],[93,3],[93,3],[94,2],[102,1],[102,1],[102,1],[95,1],[95,4],[98,2],[98,3],[98,4],[107,1],[107,3],[108,3],[108,1],[96,1],[96,1],[96,1],[96,1],[109,1],[103,1],[103,1],[103,1],[103,1],[103,1],[104,1],[110,1],[110,2],[119,1],[119,2],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[121,1],[120,3],[120,1]],
performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) {
/* this == yyval */
var $0 = $$.length - 1;
switch (yystate) {
case 1:
return new Program($$[$0-1], parser.__macroList, createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));
break;
case 2:
return new Program([], parser.__macroList, createSourceLocation(parser.currentFile, _$[$0], _$[$0]));
break;
case 16:
this.$ = new LineComment($$[$0], createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 17:
this.$ = new BlockComment($$[$0], createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 18:
this.$ = new BlockStatement([], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 19:
this.$ = new BlockStatement($$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-3], _$[$0]));;
break;
case 20:
this.$ = new BlockStatement([], $$[$0], createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 21:
this.$ = new BlockBodyStatement($$[$0-1], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 22:
this.$ = $$[$0] == null ? $$[$0-1] : $$[$0-1].concat($$[$0]);;
break;
case 23: case 45:
this.$ = [];;
break;
case 24:
addMacro(new MacroStatement(new Identifier($$[$0-1], createSourceLocation(parser.currentFile, _$[$0-1], _$[$0-1])), [], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]))); this.$ = null;
break;
case 25:
addMacro(new MacroStatement(new Identifier($$[$0-3], createSourceLocation(parser.currentFile, _$[$0-3], _$[$0-3])), [], $$[$0], createSourceLocation(parser.currentFile, _$[$0-4], _$[$0]))); this.$ = null;
break;
case 26:
addMacro(new MacroStatement(new Identifier($$[$0-4], createSourceLocation(parser.currentFile, _$[$0-4], _$[$0-4])), $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-5], _$[$0]))); this.$ = null;
break;
case 27: case 120: case 137:
this.$ = [$$[$0]];;
break;
case 28: case 121:
this.$ = $$[$0-2].concat($$[$0]);;
break;
case 29: case 115:
this.$ = new Identifier($$[$0], createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 30:
this.$ = new OutIdentifier($$[$0], createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 31:
this.$ = new EmptyStatement(createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 32:
this.$ = new ExpressionStatement($$[$0-1], createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 33:
this.$ = new IfStatement($$[$0-2], $$[$0], null, createSourceLocation(parser.currentFile, _$[$0-4], _$[$0]));;
break;
case 34:
this.$ = new IfStatement($$[$0-4], $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-6], _$[$0]));;
break;
case 35:
this.$ = new DoWhileStatement($$[$0-5], $$[$0-2], createSourceLocation(parser.currentFile, _$[$0-6], _$[$0]));;
break;
case 36:
this.$ = new WhileStatement($$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-4], _$[$0]));;
break;
case 37:
this.$ = new ContinueStatement(createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 38:
this.$ = new BreakStatement(createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 39:
this.$ = new ReturnStatement(null, createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 40:
this.$ = new ReturnStatement($$[$0-1], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 41:
this.$ = new SwitchStatement($$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-4], _$[$0]));;
break;
case 42: case 198:
this.$ = $$[$0-1];;
break;
case 43:
this.$ = $$[$0-3].concat($$[$0-2]).concat($$[$0-1]);;
break;
case 44: case 138:
this.$ = $$[$0-1].concat($$[$0]);;
break;
case 46:
this.$ = new SwitchCase($$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-3], _$[$0]));;
break;
case 47:
this.$ = new SwitchCase(null, $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 86:
this.$ = $$[$0-1];
break;
case 88:
this.$ = new CallExpression($$[$0-2], [], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 89:
this.$ = new CallExpression($$[$0-3], $$[$0-1], createSourceLocation(parser.currentFile, _$[$0-3], _$[$0]));;
break;
case 92:
this.$ = new LogicalExpression($$[$0-1], $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 93:
this.$ = new BinaryExpression($$[$0-1], $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 94:
this.$ = new ComparisonExpression($$[$0-1], $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 95:
this.$ = new ShiftExpression($$[$0-1], $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 96: case 97:
this.$ = new MathExpression($$[$0-1], $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 98:
this.$ = new UnaryExpression($$[$0], $$[$0-1], false, createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 99:
this.$ = new UnaryExpression($$[$0-1], false, $$[$0], createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 102:
this.$ = new InternalCallExpression($$[$0-2], [], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 103:
this.$ = new InternalCallExpression($$[$0-3], $$[$0-1], createSourceLocation(parser.currentFile, _$[$0-3], _$[$0]));;
break;
case 105:
this.$ = [$$[$0]];
break;
case 106:
this.$ = $$[$0-2].concat($$[$0]);
break;
case 107:
this.$ = $$[$0];
break;
case 108:
this.$ = new OutExpression($$[$0]);
break;
case 109:
this.$ = new AssignmentExpression("=", $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 110:
this.$ = new AssignmentExpression($$[$0-1], $$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 111:
this.$ = new ImportExpression($$[$0], createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 116:
this.$ = new MemberExpression($$[$0-3], $$[$0-1], createSourceLocation(parser.currentFile, _$[$0-3], _$[$0]));;
break;
case 117:
this.$ = new MapExpression([], createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
case 118:
this.$ = new MapExpression($$[$0-1], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 119:
this.$ = new MapExpression($$[$0-2], createSourceLocation(parser.currentFile, _$[$0-3], _$[$0]));;
break;
case 122:
this.$ = new KeyValueExpression($$[$0-2], $$[$0], createSourceLocation(parser.currentFile, _$[$0-2], _$[$0]));;
break;
case 123:
this.$ = new KeyValueExpression(null, $$[$0], createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 128:
this.$ = new NullLiteral(createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 129:
this.$ = new NumberLiteral(parseNumericLiteral($$[$0]), createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 130:
this.$ = new NumberLiteral(Infinity, createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 131:
this.$ = new NumberLiteral(NaN, createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 132:
this.$ = new NumberLiteral(1, createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 133:
this.$ = new NumberLiteral(0, createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 134:
this.$ = new StringLiteral($$[$0], createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 135:
this.$ = new CommandLiteral($$[$0], [], createSourceLocation(parser.currentFile, _$[$0], _$[$0]));;
break;
case 136:
this.$ = new CommandLiteral($$[$0-1], $$[$0], createSourceLocation(parser.currentFile, _$[$0-1], _$[$0]));;
break;
}
},
table: [o([20,21,22,25,27,28,32,34,36,37,38,39,40,41,80,81,87,88,89,90,97,101,105,111,112,113,114,115,116,117,118],$V0,{3:1,4:2,5:[1,3]}),{1:[3]},{5:[1,4],6:5,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{1:[2,2]},{1:[2,1]},o($Vw,[2,22]),o($Vx,[2,3]),o($Vy,[2,4]),o($Vx,[2,5]),o($Vy,$Vz),o($Vx,[2,7]),o($Vx,[2,8]),o($Vx,[2,9]),o($Vx,[2,10]),o($Vx,[2,11]),o($Vx,[2,12]),o($Vx,[2,13]),o($Vx,[2,14]),o($Vx,[2,15]),{8:65,10:68,22:$V3,23:[1,61],24:62,25:$V4,28:$VA,29:64,31:$VB,33:63,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Vx,[2,16]),o($Vx,[2,17]),o([20,21,22,25,26,27,28,32,34,36,37,38,39,40,41,80,81,87,88,89,90,97,101,105,111,112,113,114,115,116,117,118],$V0,{4:69}),{22:$VC,32:[1,70],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},{28:[1,114]},o($Vx,[2,31]),{22:[1,115]},{6:116,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{22:[1,117]},{32:[1,118]},{32:[1,119]},{8:65,10:68,22:$V3,25:$V4,28:$V6,32:[1,120],33:121,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{22:[1,122]},o($V91,[2,90]),o($V91,[2,91]),{8:65,10:68,22:$V3,25:$V4,28:$V6,33:123,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($V91,[2,100]),o($V91,[2,101]),{22:[1,124]},o($V91,[2,104]),{8:65,10:68,22:$V3,25:$V4,28:$V6,33:125,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Va1,[2,78]),o($Va1,[2,79]),o($Va1,[2,80]),o($Va1,[2,81]),o($Va1,[2,82]),o($Va1,[2,83]),o($V91,[2,115]),o($V91,[2,124]),o($V91,[2,125]),o($V91,[2,126]),o($V91,[2,127]),{8:65,10:68,22:$V3,25:$V4,28:$V6,33:129,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,106:[1,126],107:127,108:128,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Vb1,[2,128]),o($Vb1,[2,129]),o($V91,[2,130]),o($V91,[2,131]),o($Vb1,[2,132]),o($Vb1,[2,133]),o($Vb1,[2,134]),o($Vc1,[2,135],{119:130,120:131,121:133,109:134,103:135,104:136,22:$Vd1,23:$Ve1,25:$Vf1,28:$Vg1,34:$Vh1,35:$Vi1,36:$Vj1,37:$Vk1,38:$Vl1,39:$Vm1,40:$Vn1,41:$Vo1,46:$Vp1,47:$Vq1,48:$Vr1,50:$Vs1,51:$Vt1,52:$Vu1,53:$Vv1,54:$Vw1,55:$Vx1,56:$Vy1,57:$Vz1,58:$VA1,59:$VB1,60:$VC1,62:$VD1,63:$VE1,65:$VF1,66:$VG1,67:$VH1,69:$VI1,70:$VJ1,71:$VK1,72:$VL1,76:$VM1,77:$VN1,78:$VO1,80:$VP1,81:$VQ1,83:$VR1,84:$VS1,85:$VT1,87:$VU1,88:$VV1,89:$VW1,90:$VX1,97:$VY1,100:$VZ1,101:$V_1,105:$V$1,106:$V02,111:$Vo,112:$Vp,113:$V12,114:$V22,115:$Vs,116:$Vt,117:$Vu,118:$V32,122:$V42,123:$V52}),{10:193,25:$V4},{23:[1,194],30:$V62},{22:$VC,23:[1,196],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},o($V72,[2,27]),o($V91,[2,87]),o([22,23,30,50,51,52,53,54,55,56,57,58,59,60,62,63,65,66,67,69,70,71,72,73,74,76,77,78,80,81,83,84,85,87,88,100,105],$V82),{28:[1,197]},o($V91,[2,20]),{6:5,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,26:[1,198],27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Vx,[2,32]),{8:65,10:68,22:$V3,23:[1,199],25:$V4,28:$V6,31:$V92,33:202,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,92:200,93:33,94:34,95:36,96:37,97:$Vl,98:39,99:201,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:204,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:205,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:206,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:207,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:208,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:209,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($V91,[2,99]),{8:65,10:68,22:$V3,25:$V4,28:$V6,33:210,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:211,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:212,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Va1,[2,59]),o($Va1,[2,60]),o($Va1,[2,61]),o($Va1,[2,62]),o($Va1,[2,63]),o($Va1,[2,64]),o($Va1,[2,65]),o($Va1,[2,66]),o($Va1,[2,67]),o($Va1,[2,68]),o($Va1,[2,69]),o($Va1,[2,70]),o($Va1,[2,71]),o($Va1,[2,72]),o($Va1,[2,73]),o($Va1,[2,74]),o($Va1,[2,75]),o($Va1,[2,76]),o($Va1,[2,77]),o($V91,[2,84]),o($V91,[2,85]),o($Va1,[2,48]),o($Va1,[2,49]),o($Va1,[2,50]),o($Va1,[2,51]),o($Va1,[2,52]),o($Va1,[2,53]),o($Va1,[2,54]),o($Va1,[2,55]),o($Va1,[2,56]),o($Va1,[2,57]),o($Va1,[2,58]),{7:213,8:65,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:[1,214],25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:215,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{37:[1,216]},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:217,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Vx,[2,37]),o($Vx,[2,38]),o($Vx,[2,39]),{22:$VC,32:[1,218],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:219,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Va2,[2,98],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),{8:65,10:68,22:$V3,23:[1,220],25:$V4,28:$V6,31:$V92,33:202,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,92:221,93:33,94:34,95:36,96:37,97:$Vl,98:39,99:201,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Va2,[2,111],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($V91,[2,117]),{30:[1,223],106:[1,222]},o($Vb2,[2,120]),o($Vb2,[2,123],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,47:[1,224],50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Vc1,[2,136],{121:133,109:134,103:135,104:136,120:225,22:$Vd1,23:$Ve1,25:$Vf1,28:$Vg1,34:$Vh1,35:$Vi1,36:$Vj1,37:$Vk1,38:$Vl1,39:$Vm1,40:$Vn1,41:$Vo1,46:$Vp1,47:$Vq1,48:$Vr1,50:$Vs1,51:$Vt1,52:$Vu1,53:$Vv1,54:$Vw1,55:$Vx1,56:$Vy1,57:$Vz1,58:$VA1,59:$VB1,60:$VC1,62:$VD1,63:$VE1,65:$VF1,66:$VG1,67:$VH1,69:$VI1,70:$VJ1,71:$VK1,72:$VL1,76:$VM1,77:$VN1,78:$VO1,80:$VP1,81:$VQ1,83:$VR1,84:$VS1,85:$VT1,87:$VU1,88:$VV1,89:$VW1,90:$VX1,97:$VY1,100:$VZ1,101:$V_1,105:$V$1,106:$V02,111:$Vo,112:$Vp,113:$V12,114:$V22,115:$Vs,116:$Vt,117:$Vu,118:$V32,122:$V42,123:$V52}),o($Vb1,[2,137]),{8:65,10:68,22:$V3,25:$V4,28:$V6,33:226,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Vb1,[2,199]),o($Vb1,[2,139]),o($Vb1,[2,140]),o($Vb1,[2,141]),o($Vb1,[2,142]),o($Vb1,[2,143]),o($Vb1,[2,144]),o($Vb1,[2,145]),o($Vb1,[2,146]),o($Vb1,[2,147]),o($Vb1,[2,148]),o($Vb1,[2,149]),o($Vb1,[2,150]),o($Vb1,[2,151]),o($Vb1,[2,152]),o($Vb1,[2,153]),o($Vb1,[2,154]),o($Vb1,[2,155]),o($Vb1,[2,156]),o($Vb1,[2,157]),o($Vb1,[2,158]),o($Vb1,[2,159]),o($Vb1,[2,160]),o($Vb1,[2,161]),o($Vb1,[2,162]),o($Vb1,[2,163]),o($Vb1,[2,164]),o($Vb1,[2,165]),o($Vb1,[2,166]),o($Vb1,[2,167]),o($Vb1,[2,168]),o($Vb1,[2,169]),o($Vb1,[2,170]),o($Vb1,[2,171]),o($Vb1,[2,172]),o($Vb1,[2,173]),o($Vb1,[2,174]),o($Vb1,[2,175]),o($Vb1,[2,176]),o($Vb1,[2,177]),o($Vb1,[2,178]),o($Vb1,[2,179]),o($Vb1,[2,180]),o($Vb1,[2,181]),o($Vb1,[2,182]),o($Vb1,[2,183]),o($Vb1,[2,184]),o($Vb1,[2,185]),o($Vb1,[2,186]),o($Vb1,[2,187]),o($Vb1,[2,188]),o($Vb1,[2,189]),o($Vb1,[2,190]),o($Vb1,[2,191]),o($Vb1,[2,192]),o($Vb1,[2,193]),o($Vb1,[2,194]),o($Vb1,[2,195]),o($Vb1,[2,196]),o($Vb1,[2,197]),o($Vc2,$Vd2),{10:227,25:$V4},{28:[1,229],29:228,31:$VB},o($V91,[2,86]),o($V72,[2,30]),o($Vc2,[2,21]),o($V91,[2,88]),{23:[1,230],30:$Ve2},o($V72,[2,105]),o($V72,[2,107],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),{8:65,10:68,22:$V3,25:$V4,28:$V6,33:232,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Va2,[2,92],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Va2,[2,93],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Va2,[2,94],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Va2,[2,95],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Va2,[2,96],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Va2,[2,97],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Va2,[2,109],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Va2,[2,110],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),{22:$VC,49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81,106:[1,233]},o($Vx,[2,24]),{8:65,10:68,22:$V3,23:[1,234],24:235,25:$V4,28:$VA,29:64,31:$VB,33:63,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{22:$VC,23:[1,236],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},{22:[1,237]},{22:$VC,23:[1,238],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},o($Vx,[2,40]),{22:$VC,23:[1,239],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},o($V91,[2,102]),{23:[1,240],30:$Ve2},o($V91,[2,118]),{8:65,10:68,22:$V3,25:$V4,28:$V6,33:129,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,106:[1,241],108:242,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:243,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Vb1,[2,138]),{22:$VC,26:[1,244],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},o($Vc2,$Vf2),o($V72,[2,28]),o($V72,$V82),o($V91,[2,89]),{8:65,10:68,22:$V3,25:$V4,28:$V6,31:$V92,33:202,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,99:245,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($V72,[2,108],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($V91,[2,116]),{7:246,8:65,9:8,10:247,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{23:[1,248],30:$V62},{6:249,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:250,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{6:251,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{25:[1,253],42:252},o($V91,[2,103]),o($V91,[2,119]),o($Vb2,[2,121]),o($Vb2,[2,122],{61:72,64:73,68:74,75:75,79:76,82:77,91:78,49:80,22:$VC,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,62:$VO,63:$VP,65:$VQ,66:$VR,67:$VS,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,76:$VZ,77:$V_,78:$V$,80:$V01,81:$V11,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,100:$V71,105:$V81}),o($Vb1,[2,198]),o($V72,[2,106]),o($Vx,[2,25]),o($Vg2,$Vd2,{5:$Vz,20:$Vz,21:$Vz,25:$Vz,26:$Vz,27:$Vz,28:$Vz,34:$Vz,35:$Vz,36:$Vz,37:$Vz,38:$Vz,39:$Vz,40:$Vz,41:$Vz,46:$Vz,48:$Vz,89:$Vz,90:$Vz,97:$Vz,101:$Vz,111:$Vz,112:$Vz,113:$Vz,114:$Vz,115:$Vz,116:$Vz,117:$Vz,118:$Vz}),{7:254,8:65,9:8,10:255,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},o($Vw,[2,33],{35:[1,256]}),{22:$VC,23:[1,257],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},o($Vx,[2,36]),o($Vx,[2,41]),o($Vh2,$Vi2,{43:258}),o($Vx,[2,26]),o($Vg2,$Vf2,{5:$Vz,20:$Vz,21:$Vz,25:$Vz,26:$Vz,27:$Vz,28:$Vz,34:$Vz,35:$Vz,36:$Vz,37:$Vz,38:$Vz,39:$Vz,40:$Vz,41:$Vz,46:$Vz,48:$Vz,89:$Vz,90:$Vz,97:$Vz,101:$Vz,111:$Vz,112:$Vz,113:$Vz,114:$Vz,115:$Vz,116:$Vz,117:$Vz,118:$Vz}),{6:259,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,33:23,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{32:[1,260]},{26:[1,261],44:262,45:263,46:$Vj2,48:[1,264]},o($Vx,[2,34]),o($Vx,[2,35]),o($Vx,[2,42]),o($Vk2,$Vi2,{43:266}),o($Vh2,[2,44]),{47:[1,267]},{8:65,10:68,22:$V3,25:$V4,28:$V6,33:268,80:$Vf,81:$Vg,86:35,87:$Vh,88:$Vi,89:$Vj,90:$Vk,93:33,94:34,95:36,96:37,97:$Vl,98:39,101:$Vm,103:49,104:50,105:$Vn,109:48,110:51,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv},{26:[1,269],45:263,46:$Vj2},o([20,21,22,25,26,27,28,32,34,36,37,38,39,40,41,46,80,81,87,88,89,90,97,101,105,111,112,113,114,115,116,117,118],$V0,{4:270}),{22:$VC,47:[1,271],49:80,50:$VD,51:$VE,52:$VF,53:$VG,54:$VH,55:$VI,56:$VJ,57:$VK,58:$VL,59:$VM,60:$VN,61:72,62:$VO,63:$VP,64:73,65:$VQ,66:$VR,67:$VS,68:74,69:$VT,70:$VU,71:$VV,72:$VW,73:$VX,74:$VY,75:75,76:$VZ,77:$V_,78:$V$,79:76,80:$V01,81:$V11,82:77,83:$V21,84:$V31,85:$V41,87:$V51,88:$V61,91:78,100:$V71,105:$V81},o($Vx,[2,43]),o($Vk2,[2,47],{6:5,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,33:23,93:33,94:34,86:35,95:36,96:37,98:39,109:48,103:49,104:50,110:51,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,87:$Vh,88:$Vi,89:$Vj,90:$Vk,97:$Vl,101:$Vm,105:$Vn,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv}),o([20,21,22,25,26,27,28,32,34,36,37,38,39,40,41,46,48,80,81,87,88,89,90,97,101,105,111,112,113,114,115,116,117,118],$V0,{4:272}),o($Vh2,[2,46],{6:5,7:6,8:7,9:8,10:9,11:10,12:11,13:12,14:13,15:14,16:15,17:16,18:17,19:18,33:23,93:33,94:34,86:35,95:36,96:37,98:39,109:48,103:49,104:50,110:51,20:$V1,21:$V2,22:$V3,25:$V4,27:$V5,28:$V6,32:$V7,34:$V8,36:$V9,37:$Va,38:$Vb,39:$Vc,40:$Vd,41:$Ve,80:$Vf,81:$Vg,87:$Vh,88:$Vi,89:$Vj,90:$Vk,97:$Vl,101:$Vm,105:$Vn,111:$Vo,112:$Vp,113:$Vq,114:$Vr,115:$Vs,116:$Vt,117:$Vu,118:$Vv})],
defaultActions: {3:[2,2],4:[2,1]},
parseError: function parseError(str, hash) {
if (hash.recoverable) {
this.trace(str);
} else {
throw new Error(str);
}
},
parse: function parse(input) {
var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = '', yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
var args = lstack.slice.call(arguments, 1);
var lexer = Object.create(this.lexer);
var sharedState = { yy: {} };
for (var k in this.yy) {
if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
sharedState.yy[k] = this.yy[k];
}
}
lexer.setInput(input, sharedState.yy);
sharedState.yy.lexer = lexer;
sharedState.yy.parser = this;
if (typeof lexer.yylloc == 'undefined') {
lexer.yylloc = {};
}
var yyloc = lexer.yylloc;
lstack.push(yyloc);
var ranges = lexer.options && lexer.options.ranges;
if (typeof sharedState.yy.parseError === 'function') {
this.parseError = sharedState.yy.parseError;
} else {
this.parseError = Object.getPrototypeOf(this).parseError;
}
function popStack(n) {
stack.length = stack.length - 2 * n;
vstack.length = vstack.length - n;
lstack.length = lstack.length - n;
}
_token_stack:
function lex() {
var token;
token = lexer.lex() || EOF;
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 = '';
expected = [];
for (p in table[state]) {
if (this.terminals_[p] && p > TERROR) {
expected.push('\'' + this.terminals_[p] + '\'');
}
}
if (lexer.showPosition) {
errStr = 'Parse error on line ' + (yylineno + 1) + ':\n' + lexer.showPosition() + '\nExpecting ' + expected.join(', ') + ', got \'' + (this.terminals_[symbol] || symbol) + '\'';
} else {
errStr = 'Parse error on line ' + (yylineno + 1) + ': Unexpected ' + (symbol == EOF ? 'end of input' : '\'' + (this.terminals_[symbol] || symbol) + '\'');
}
this.parseError(errStr, {
text: lexer.match,
token: this.terminals_[symbol] || symbol,
line: 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(lexer.yytext);
lstack.push(lexer.yylloc);
stack.push(action[1]);
symbol = null;
if (!preErrorSymbol) {
yyleng = lexer.yyleng;
yytext = lexer.yytext;
yylineno = lexer.yylineno;
yyloc = 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.apply(yyval, [
yytext,
yyleng,
yylineno,
sharedState.yy,
action[1],
vstack,
lstack
].concat(args));
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 _originalParserMethod = parser.parse;
parser.parse = function(input, source) {
parser.__macroList = {};
parser.currentFile = source;
return _originalParserMethod.call(this, input);
};
parser.ast = {};
function createSourceLocation(source, firstToken, lastToken) {
return new SourceLocation(source, new Position(firstToken.first_line, firstToken.first_column), new Position(lastToken.last_line, lastToken.last_column));
}
function parseNumericLiteral(literal) {
if (literal.charAt(0) === "0") {
if (literal.charAt(1).toLowerCase() === "x") return parseInt(literal, 16);
return parseInt(literal, 8);
} else return Number(literal);
}
function addMacro(macro) {
var macroList = parser.__macroList;
var macroName = macro.id.name;
var paramCount = macro.params.length;
var macroItems;
if (macroItems = macroList[macroName]) {
if (macroItems[paramCount]) throw new Error('Parse Error: A macro with the footprint already exists');
} else macroItems = macroList[macroName] = {};
macroItems[paramCount] = macro;
}
/* AST Constructors */
function Program(body, macros, loc) {
this.type = "Program";
this.body = body;
this.macros = macros;
this.loc = loc;
}
parser.ast.Program = Program;
function Identifier(name, loc) {
this.type = "Identifier";
this.name = name;
this.loc = loc;
}
parser.ast.Identifier = Identifier;
function OutIdentifier(name, loc) {
this.type = "OutIdentifier";
this.name = name;
this.loc = loc;
}
parser.ast.OutIdentifier = OutIdentifier;
function LineComment(text, loc) {
this.type = "LineComment";
this.text = text;
this.loc = loc;
}
parser.ast.LineComment = LineComment;
function BlockComment(text, loc) {
this.type = "BlockComment";
this.text = text;
this.loc = loc;
}
parser.ast.BlockComment = BlockComment;
function BlockStatement(params, body, loc) {
this.type = "BlockStatement";
this.params = params;
this.body = body;
this.loc = loc;
}
parser.ast.BlockStatement = BlockStatement;
function BlockBodyStatement(body, loc) {
this.type = "BlockBodyStatement";
this.body = body;
this.loc = loc;
}
function StaticMacroStatement(id, body, loc) {
this.type = "StaticMacroStatement";
this.id = id;
this.body = body;
this.loc = loc;
}
parser.ast.StaticMacroStatement = StaticMacroStatement;
function MacroStatement(id, params, body, loc) {
this.type = "MacroStatement";
this.id = id;
this.params = params;
this.body = body;
this.loc = loc;
}
parser.ast.MacroStatement = MacroStatement;
function EmptyStatement(loc) {
this.type = "EmptyStatement";
this.loc = loc;
}
parser.ast.EmptyStatement = EmptyStatement;
function ExpressionStatement(expression, loc) {
this.type = "ExpressionStatement";
this.expression = expression;
this.loc = loc;
}
parser.ast.ExpressionStatement = ExpressionStatement;
function IfStatement(test, consequent, alternate, loc) {
this.type = "IfStatement";
this.test = test;
this.consequent = consequent;
this.alternate = alternate;
this.loc = loc;
}
parse