-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathcashew.js
More file actions
5 lines (5 loc) · 142 KB
/
cashew.js
File metadata and controls
5 lines (5 loc) · 142 KB
1
2
3
4
5
function createReduce(a){function b(b,c,d,e,f,g){for(;f>=0&&g>f;f+=a){var h=e?e[f]:f;d=c(d,b[h],h,b)}return d}return function(c,d,e,f){d=optimizeCb(d,f,4);var g=!isArrayLike(c)&&_.keys(c),h=(g||c).length,i=a>0?0:h-1;return arguments.length<3&&(e=c[g?g[i]:i],i+=a),b(c,d,e,g,i,h)}}function createPredicateIndexFinder(a){return function(b,c,d){c=cb(c,d);for(var e=getLength(b),f=a>0?0:e-1;f>=0&&e>f;f+=a)if(c(b[f],f,b))return f;return-1}}function createIndexFinder(a,b,c){return function(d,e,f){var g=0,h=getLength(d);if("number"==typeof f)a>0?g=f>=0?f:Math.max(f+h,g):h=f>=0?Math.min(f+1,h):f+h+1;else if(c&&f&&h)return f=c(d,e),d[f]===e?f:-1;if(e!==e)return f=b(slice.call(d,g,h),_.isNaN),f>=0?f+g:-1;for(f=a>0?g:h-1;f>=0&&h>f;f+=a)if(d[f]===e)return f;return-1}}function collectNonEnumProps(a,b){var c=nonEnumerableProps.length,d=a.constructor,e=_.isFunction(d)&&d.prototype||ObjProto,f="constructor";for(_.has(a,f)&&!_.contains(b,f)&&b.push(f);c--;)f=nonEnumerableProps[c],f in a&&a[f]!==e[f]&&!_.contains(b,f)&&b.push(f)}var cocoJava=function(){function a(){this.yy={}}var b=function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},c=[1,10],d=[1,7],e=[1,9],f=[1,11],g=[1,12],h=[4,27,29,30,31],i=[8,27,29,30,31],j=[1,28],k=[1,45],l=[1,51],m=[1,46],n=[1,47],o=[1,48],p=[1,50],q=[1,55],r=[1,58],s=[1,59],t=[1,52],u=[1,53],v=[30,32,37,38,39,42,58,68,71,72,74,75],w=[1,72],x=[30,32,37,38,39,56,58,68,71,72,74,75],y=[1,74],z=[1,78],A=[52,57,59,61,111],B=[2,61],C=[2,62],D=[1,84],E=[1,112],F=[1,149],G=[1,150],H=[1,151],I=[1,152],J=[1,153],K=[1,154],L=[1,111],M=[1,141],N=[1,132],O=[1,120],P=[1,117],Q=[1,119],R=[1,118],S=[1,128],T=[1,129],U=[1,148],V=[1,142],W=[1,138],X=[1,109],Y=[1,116],Z=[1,110],$=[1,108],aa=[1,115],ba=[10,63],ca=[2,117],da=[10,63,115],ea=[1,164],fa=[10,20,21,22,23,24,25,30,32,37,38,39,40,42,51,58,61,68,71,72,74,75,95,97,98,99,105,107,120,172,179,180,181,182,186,187,188,194,196],ga=[10,20,21,22,23,24,25,32,40,42,51,58,61,68,71,72,74,75,95,97,98,99,105,107,120,172,179,180,181,182,186,188,194,196],ha=[10,20,21,22,23,24,25,32,40,42,51,58,61,68,71,72,74,75,95,97,98,99,105,107,120,172,179,180,181,182,186,187,188,194,196],ia=[1,171],ja=[2,162],ka=[1,174],la=[1,177],ma=[1,190],na=[1,200],oa=[1,201],pa=[1,202],qa=[10,52,63],ra=[10,42,52,60,63,105,107,110,111,139,140,142,144,146,148,150,152,153,155,156,158,159,160,162,163,165,166,167,178],sa=[1,205],ta=[2,216],ua=[10,42,52,60,63,105,107,110,111,139,140,142,144,146,148,150,152,153,155,156,158,159,160,162,163,165,166,167],va=[2,163],wa=[1,224],xa=[1,225],ya=[1,238],za=[1,243],Aa=[52,63],Ba=[10,42,52,60,63,140],Ca=[10,42,52,60,63,139,140,142],Da=[1,268],Ea=[10,42,52,60,63,139,140,142,144],Fa=[1,269],Ga=[10,42,52,60,63,139,140,142,144,146],Ha=[1,271],Ia=[10,42,52,60,63,139,140,142,144,146,148],Ja=[1,272],Ka=[10,42,52,60,63,139,140,142,144,146,148,150],La=[1,273],Ma=[1,274],Na=[10,42,52,60,63,139,140,142,144,146,148,150,152,153],Oa=[1,275],Pa=[1,277],Qa=[1,276],Ra=[1,278],Sa=[10,42,52,60,63,110,111,139,140,142,144,146,148,150,152,153,155,156],Ta=[1,279],Ua=[1,280],Va=[1,281],Wa=[10,42,52,60,63,110,111,139,140,142,144,146,148,150,152,153,155,156,158,159,160],Xa=[1,282],Ya=[1,283],Za=[10,42,52,60,63,110,111,139,140,142,144,146,148,150,152,153,155,156,158,159,160,162,163],$a=[1,284],_a=[1,285],ab=[1,286],bb=[10,42,52,60,63,110,111,139,140,142,144,146,148,150,152,153,155,156,158,159,160,162,163,165,166,167],cb=[1,294],db=[1,293],eb=[1,322],fb=[1,323],gb=[1,325],hb=[1,341],ib=[10,42,52,59,60,63,105,107,110,111,115,127,128,129,130,131,139,140,142,144,146,148,150,152,153,155,156,158,159,160,162,163,165,166,167,178],jb=[1,373],kb=[1,377],lb=[1,407],mb=[42,63],nb=[2,165],ob=[1,430],pb=[1,431],qb=[42,194,196],rb=[2,164],sb={trace:function(){},yy:{},symbols_:{error:2,compilation_unit:3,EOF:4,class_declarations:5,import_declarations:6,import_declaration:7,KEYWORD_IMPORT:8,package_name:9,LINE_TERMINATOR:10,PACKAGE_ARRAYLIST:11,PACKAGE_LIST:12,PACKAGE_UTIL:13,literal:14,integer_literal:15,floating_point_literal:16,boolean_literal:17,string_literal:18,null_literal:19,DECIMAL_INTEGER_LITERAL:20,FLOATING_POINT_LITERAL:21,TRUE_LITERAL:22,FALSE_LITERAL:23,STRING_LITERAL:24,NULL_LITERAL:25,class_interface_declaration:26,abstract_class_declaration:27,class_declaration:28,interface_declaration:29,"public":30,KEYWORD_CLASS:31,CLASS_IDENTIFIER:32,class_body:33,KEYWORD_EXTENDS:34,modifiers:35,modifier:36,"private":37,"static":38,"final":39,EMBRACE:40,class_body_declarations:41,UNBRACE:42,class_body_declaration:43,class_member_declaration:44,constructor_declaration:45,field_declaration:46,method_declaration:47,variable_declaration:48,method_header:49,method_body:50,LEFT_PAREN:51,RIGHT_PAREN:52,formal_parameter_list:53,type:54,method_declarator:55,"void":56,main:57,STRING_TYPE:58,LEFT_BRACKET:59,RIGHT_BRACKET:60,IDENTIFIER:61,formal_parameter:62,COMMA:63,variable_declarator_id:64,block:65,primitive_type:66,numeric_type:67,PRIMITIVE_BOOLEAN:68,integral_type:69,floating_point_type:70,PRIMITIVE_INTEGER:71,PRIMITIVE_DOUBLE:72,list_type:73,KEYWORD_ARRAYLIST:74,KEYWORD_LIST:75,block_statements:76,block_statement:77,variable_declaration_statement:78,statement:79,statement_without_trailing_substatement:80,if_then_statement:81,if_then_else_statement:82,while_statement:83,for_statement:84,empty_statement:85,expression_statement:86,switch_statement:87,do_statement:88,break_statement:89,log_statement:90,continue_statement:91,return_statement:92,statement_expression:93,method_invocation:94,KEYWORD_RETURN:95,expression:96,"break":97,"continue":98,SYSOUT:99,pre_increment_expression:100,pre_decrement_expression:101,post_increment_expression:102,post_decrement_expression:103,assignment:104,OPERATOR_INCREMENT:105,postfix_expression:106,OPERATOR_DECREMENT:107,variable_declarators:108,array_declarators:109,OPERATOR_LESS_THAN:110,OPERATOR_GREATER_THAN:111,arraylist_declarator:112,variable_declarator:113,variable_initializer:114,OPERATOR_ASSIGNMENT:115,array_declarator:116,array_declarator_id:117,array_initializer:118,array_expression:119,KEYWORD_NEW:120,primary_expression_list:121,arraylist_declarator_id:122,arraylist_initializer:123,arraylist_expression:124,primary_expression_value:125,variable_invocation:126,"+=":127,"-=":128,"*=":129,"/=":130,"%=":131,constructor_call:132,parameter_list:133,parameter:134,name:135,assignment_expression:136,conditional_expression:137,conditional_or_expression:138,QUESTION_MARK:139,COLON:140,conditional_and_expression:141,OPERATOR_LOGICAL_OR:142,inclusive_or_expression:143,OPERATOR_LOGICAL_AND:144,exclusive_or_expression:145,OPERATOR_INCLUSIVE_OR:146,and_expression:147,OPERATOR_XOR:148,equality_expression:149,OPERATOR_INCLUSIVE_AND:150,relational_expression:151,OPERATOR_EQUAL:152,OPERATOR_NOT_EQUAL:153,shift_expression:154,OPERATOR_LESS_THAN_EQUAL:155,OPERATOR_GREATER_THAN_EQUAL:156,additive_expression:157,OPERATOR_LEFTSHIFT:158,OPERATOR_RIGHTSHIFT:159,OPERATOR_ZEROFILL_RIGHTSHIFT:160,multiplicative_expression:161,OPERATOR_ADDITION:162,OPERATOR_SUBTRACTION:163,unary_expression:164,OPERATOR_MULTIPLICATION:165,OPERATOR_DIVISON:166,OPERATOR_MODULO:167,OPERATOR_BITWISE_NEGATION:168,OPERATOR_NEGATION:169,cast_expression:170,primary:171,KEYWORD_THIS:172,simple_method_invocation:173,property_invocation:174,static_method_invocation:175,instance_method_invocation:176,super_method_invocation:177,OPERATOR_CALL:178,KEYWORD_SUPER:179,KEYWORD_WHILE:180,KEYWORD_DO:181,KEYWORD_FOR:182,for_init:183,for_update:184,statement_expression_list:185,KEYWORD_IF:186,KEYWORD_ELSE:187,"switch":188,switch_block:189,switch_block_statement_groups:190,switch_labels:191,switch_block_statement_group:192,switch_label:193,"case":194,constant_expression:195,"default":196,$accept:0,$end:1},terminals_:{2:"error",4:"EOF",8:"KEYWORD_IMPORT",10:"LINE_TERMINATOR",11:"PACKAGE_ARRAYLIST",12:"PACKAGE_LIST",13:"PACKAGE_UTIL",20:"DECIMAL_INTEGER_LITERAL",21:"FLOATING_POINT_LITERAL",22:"TRUE_LITERAL",23:"FALSE_LITERAL",24:"STRING_LITERAL",25:"NULL_LITERAL",27:"abstract_class_declaration",29:"interface_declaration",30:"public",31:"KEYWORD_CLASS",32:"CLASS_IDENTIFIER",34:"KEYWORD_EXTENDS",37:"private",38:"static",39:"final",40:"EMBRACE",42:"UNBRACE",51:"LEFT_PAREN",52:"RIGHT_PAREN",56:"void",57:"main",58:"STRING_TYPE",59:"LEFT_BRACKET",60:"RIGHT_BRACKET",61:"IDENTIFIER",63:"COMMA",68:"PRIMITIVE_BOOLEAN",71:"PRIMITIVE_INTEGER",72:"PRIMITIVE_DOUBLE",74:"KEYWORD_ARRAYLIST",75:"KEYWORD_LIST",95:"KEYWORD_RETURN",97:"break",98:"continue",99:"SYSOUT",105:"OPERATOR_INCREMENT",107:"OPERATOR_DECREMENT",110:"OPERATOR_LESS_THAN",111:"OPERATOR_GREATER_THAN",115:"OPERATOR_ASSIGNMENT",120:"KEYWORD_NEW",127:"+=",128:"-=",129:"*=",130:"/=",131:"%=",139:"QUESTION_MARK",140:"COLON",142:"OPERATOR_LOGICAL_OR",144:"OPERATOR_LOGICAL_AND",146:"OPERATOR_INCLUSIVE_OR",148:"OPERATOR_XOR",150:"OPERATOR_INCLUSIVE_AND",152:"OPERATOR_EQUAL",153:"OPERATOR_NOT_EQUAL",155:"OPERATOR_LESS_THAN_EQUAL",156:"OPERATOR_GREATER_THAN_EQUAL",158:"OPERATOR_LEFTSHIFT",159:"OPERATOR_RIGHTSHIFT",160:"OPERATOR_ZEROFILL_RIGHTSHIFT",162:"OPERATOR_ADDITION",163:"OPERATOR_SUBTRACTION",165:"OPERATOR_MULTIPLICATION",166:"OPERATOR_DIVISON",167:"OPERATOR_MODULO",168:"OPERATOR_BITWISE_NEGATION",169:"OPERATOR_NEGATION",172:"KEYWORD_THIS",178:"OPERATOR_CALL",179:"KEYWORD_SUPER",180:"KEYWORD_WHILE",181:"KEYWORD_DO",182:"KEYWORD_FOR",186:"KEYWORD_IF",187:"KEYWORD_ELSE",188:"switch",194:"case",196:"default"},productions_:[0,[3,1],[3,2],[3,3],[6,1],[6,2],[7,3],[9,1],[9,1],[9,1],[14,1],[14,1],[14,1],[14,1],[14,1],[15,1],[16,1],[17,1],[17,1],[18,1],[19,1],[5,1],[5,2],[26,1],[26,1],[26,1],[28,4],[28,6],[28,3],[28,5],[35,1],[35,2],[36,1],[36,1],[36,1],[36,1],[33,3],[33,2],[41,1],[41,2],[43,1],[44,1],[44,1],[44,1],[46,2],[46,3],[47,2],[45,5],[45,6],[49,3],[49,3],[55,7],[55,4],[55,3],[53,1],[53,3],[62,2],[62,4],[62,6],[50,1],[54,1],[54,1],[54,1],[66,1],[66,1],[67,1],[67,1],[69,1],[70,1],[73,1],[73,1],[65,2],[65,3],[76,1],[76,2],[77,1],[77,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[85,1],[86,2],[86,2],[92,3],[92,2],[89,2],[91,2],[90,5],[93,1],[93,1],[93,1],[93,1],[93,1],[100,2],[101,2],[102,2],[103,2],[48,2],[48,6],[48,4],[48,5],[108,1],[108,3],[113,1],[113,1],[64,1],[114,3],[109,1],[109,3],[116,1],[116,1],[117,1],[118,3],[119,8],[119,5],[119,3],[119,7],[119,9],[112,1],[112,1],[122,1],[123,3],[124,7],[121,1],[121,3],[125,1],[125,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,3],[104,9],[104,9],[104,6],[104,6],[104,6],[104,6],[104,3],[104,3],[132,4],[132,5],[132,5],[135,1],[135,1],[135,7],[135,4],[96,1],[136,1],[136,2],[137,1],[137,5],[138,1],[138,3],[141,1],[141,3],[143,1],[143,3],[145,1],[145,3],[147,1],[147,3],[149,1],[149,3],[149,3],[151,1],[151,3],[151,3],[151,3],[151,3],[154,1],[154,3],[154,3],[154,3],[157,1],[157,3],[157,3],[161,1],[161,3],[161,3],[161,3],[164,1],[164,2],[164,2],[164,2],[164,1],[106,1],[106,1],[171,1],[171,1],[171,3],[171,1],[94,1],[94,1],[174,1],[174,1],[174,1],[174,1],[126,3],[126,3],[126,3],[126,3],[175,3],[177,3],[177,3],[177,4],[176,3],[176,3],[176,3],[173,3],[173,4],[133,1],[133,3],[134,1],[170,4],[83,5],[88,7],[84,9],[84,8],[84,8],[183,1],[183,1],[184,1],[185,1],[185,3],[81,5],[81,5],[81,5],[82,7],[87,5],[189,2],[189,4],[189,3],[189,3],[190,1],[190,2],[192,2],[191,1],[191,2],[193,3],[193,2],[195,1]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return d.ast.createRoot(null,this._$.range);case 2:return d.ast.createRoot(f[h-1],this._$.range);case 3:var i=d.ast.createRoot(f[h-1],this._$.range);return d._.each(f[h-2],function(a){i.body.splice(1,0,a)}),i;case 4:case 30:case 54:case 113:case 119:case 135:case 230:case 242:case 253:case 256:this.$=[f[h]];break;case 5:f[h-1].push(f[h]),this.$=f[h-1];break;case 6:this.$=d.createImportNodeForName(f[h-1]);break;case 10:case 11:case 12:case 13:case 14:case 23:case 24:case 25:case 32:case 33:case 34:case 35:case 40:case 42:case 43:case 80:case 81:case 82:case 83:case 85:case 86:case 87:case 88:case 90:case 91:case 100:case 101:case 102:case 103:case 104:case 116:case 117:case 122:case 123:case 131:case 132:case 137:case 162:case 167:case 171:case 196:case 207:case 208:case 211:case 212:case 213:case 214:case 215:case 216:case 232:case 239:case 240:case 241:case 260:this.$=f[h];break;case 15:this.$=new d.createLiteralNode(parseInt(f[h]),f[h],this._$.range,"int");break;case 16:this.$=new d.createLiteralNode(parseFloat(f[h]),f[h],this._$.range,"double");break;case 17:case 18:this.$=new d.createLiteralNode("true"==f[h],f[h],this._$.range);break;case 19:var j=f[h].replace('"',"").replace('"',"");this.$=new d.createLiteralNode(j,f[h],this._$.range);break;case 20:this.$=new d.createLiteralNode(null,f[h],this._$.range);break;case 21:case 73:this.$=[f[h]];break;case 22:case 31:case 254:case 257:f[h-1].push(f[h]),this.$=f[h-1];break;case 26:var k=f[h],l=[];d._.each(k,function(a){"VariableDeclaration"==a.type&&l.push(a)}),this.$=d.createSimpleClassDeclarationNode(f[h-1],g[h-1].range,k,g[h].range,this._$.range);break;case 27:case 29:var k=f[h],l=[];d._.each(k,function(a){"VariableDeclaration"==a.type&&l.push(a)}),this.$=d.createClassExtendedDeclarationNode(f[h-3],g[h-3].range,f[h],g[h].range,f[h-1],g[h-1].range,this._$.range);break;case 28:var k=f[h],l=[];d._.each(k,function(a){"VariableDeclaration"==a.type&&l.push(a)}),this.$=d.createSimpleClassDeclarationNode(f[h-1],g[h-1].range,f[h],g[h].range,this._$.range);break;case 36:case 93:case 138:case 161:case 168:case 209:case 251:this.$=f[h-1];break;case 37:case 41:case 249:this.$=[];break;case 38:f[h].constructor==Array?this.$=f[h]:this.$=[f[h]];break;case 39:f[h].constructor==Array||f[h-1].push(f[h]),this.$=f[h-1];break;case 44:this.$=d.createFieldVariableNode(null,f[h-1],this._$.range);break;case 45:this.$=d.createFieldVariableNode(f[h-2],f[h-1],this._$.range);break;case 46:this.$=d.createMethodDeclarationNode(f[h-1],g[h-1].range,f[h],g[h].range,this._$.range);break;case 47:var m=f[h-3]+f[h-2]+f[h-1],n=d.createMethodSignatureObject(f[h-3],m,[],this._$.range);f[h].details=n,d.createOverrideDefaultConstructor(f[h-4],f[h]);break;case 48:var o="";d._.each(f[h-2],function(a){o+=a.type+" "}),o=o.trim();var m=f[h-4]+f[h-3]+o+f[h-1],n=d.createMethodSignatureObject(f[h-4],m,f[h-2],this._$.range);f[h].details=n,d.createOverrideDefaultConstructor(f[h-5],f[h]);break;case 49:var p="",q=[];_.each(f[h-2],function(a){p+=a+" ",q.push(a)}),f[h].returnType=f[h-1],f[h].modifiers=q,this.$=f[h];break;case 50:var p="",q=[];_.each(f[h-2],function(a){p+=a+" ",q.push(a)}),f[h].returnType=f[h-1],f[h].modifiers=q,this.$=f[h];break;case 51:var m=f[h-6]+f[h-5]+f[h-4]+f[h-3]+f[h-2]+" "+f[h-1]+f[h];this.$=d.createMethodSignatureObject(f[h-6],m,null,this._$.range),this.$.params=[];break;case 52:var o="";d._.each(f[h-1],function(a){o+=a.type+" "}),o=o.trim();var m=f[h-3]+f[h-2]+o+f[h];this.$=d.createMethodSignatureObject(f[h-3],m,f[h-1],this._$.range),this.$.params=f[h-1];break;case 53:var m=f[h-2]+f[h-1]+f[h];this.$=d.createMethodSignatureObject(f[h-2],m,null,this._$.range),this.$.params=[];break;case 55:f[h-2].push(f[h]),this.$=f[h-2];break;case 56:this.$={type:f[h-1],paramName:f[h],range:this._$.range};break;case 57:this.$={type:f[h-3]+f[h-2]+f[h-1],paramName:f[h],range:this._$.range};break;case 58:this.$={type:f[h-5]+f[h-4]+f[h-3]+f[h-2]+f[h-1],paramName:f[h],range:this._$.range};break;case 59:case 75:case 76:case 78:case 79:case 84:case 166:case 206:this.$=f[h];break;case 71:this.$=[];break;case 72:var r=d._.flatten(f[h-1]),l=[];d._.each(r,function(a){"VariableDeclaration"==a.type&&l.push(a)}),this.$=r;break;case 74:f[h-1].push(f[h]),this.$=f[h-1];break;case 77:this.$=f[h-1];break;case 89:this.$=d.createExpressionStatementNode(f[h],this._$.range);break;case 92:this.$=d.createEmptyStatement(this._$.range);break;case 94:this.$=d.createExpressionStatementNode(f[h-1],this._$.range);break;case 95:this.$=d.createReturnStatementNode(f[h-1],this._$.range);break;case 96:this.$=d.createReturnStatementNode(null,this._$.range);break;case 97:this.$=d.createBreakStatement(this._$.range);break;case 98:this.$=d.createContinueStatement(this._$.range);break;case 99:this.$=d.createConsoleLogExpression(f[h-4],f[h-2],this._$.range);break;case 105:var s=new d.createLiteralNode(parseInt("1"),"1",g[h-1].range,"int"),t=d.createMathOperation("+",f[h],s,this._$.range);this.$=d.createVariableAttribution(f[h].name,g[h].range,this._$.range,t);break;case 106:var u=new d.createLiteralNode(parseInt("1"),"1",g[h-1].range,"int"),v=d.createMathOperation("-",f[h],u,this._$.range);this.$=d.createVariableAttribution(f[h].name,g[h].range,this._$.range,v);break;case 107:var s=new d.createLiteralNode(parseInt("1"),"1",g[h].range,"int"),t=d.createMathOperation("+",f[h-1],s,this._$.range);this.$=d.createVariableAttribution(f[h-1].name,g[h-1].range,this._$.range,t);break;case 108:var u=new d.createLiteralNode(parseInt("1"),"1",g[h].range,"int"),v=d.createMathOperation("-",f[h-1],u,this._$.range);this.$=d.createVariableAttribution(f[h-1].name,g[h-1].range,this._$.range,v);break;case 109:this.$=d.createVarDeclarationNode(f[h-1],f[h],this._$.range);break;case 110:this.$=d.createVarDeclarationNode(f[h-5]+f[h-4]+f[h-3]+f[h-2]+f[h-1],f[h],this._$.range);break;case 111:this.$=d.createVarDeclarationNode(f[h-3]+f[h-2]+f[h-1],f[h],this._$.range);break;case 112:this.$=d.createVarDeclarationNode(f[h-2],f[h],this._$.range);break;case 114:case 120:case 136:case 231:f[h-2].push(f[h]),this.$=f[h-2];break;case 115:case 121:this.$=d.createVarDeclaratorNodeNoInit(f[h],this._$.range);break;case 118:this.$=d.createVarDeclaratorNodeWithInit(f[h-2],g[h-2].range,f[h],g[h].range,this._$.range);break;case 124:this.$=d.createArrayWithInitNode(f[h-2],g[h-2].range,f[h],this._$.range);break;case 125:this.$=d.createTwoDimensionalArray([f[h-4],f[h-1]],this._$.range);break;case 126:this.$=d.createArrayWithNullInitialization(f[h-1],this._$.range);break;case 127:case 128:case 129:this.$=d.createArrayFromInitialArray(f[h-1],this._$.range);break;case 130:this.$=d.createSimpleListNode(f[h],this._$.range);break;case 133:this.$=d.createListWithInitNode(f[h-2],g[h-2].range,f[h],this._$.range);break;case 134:this.$=d.createListInitialization(f[h-3],this._$.range);break;case 139:case 140:case 157:case 158:this.$=d.createVariableAttribution(f[h-2],g[h-2].range,this._$.range,f[h]);break;case 141:case 142:var w=new d.createIdentifierNode(f[h-2],g[h-2].range),t=d.createMathOperation("+",w,f[h],this._$.range);this.$=d.createVariableAttribution(f[h-2],g[h-2].range,this._$.range,t);break;case 143:case 144:var w=new d.createIdentifierNode(f[h-2],g[h-2].range),t=d.createMathOperation("-",w,f[h],this._$.range);this.$=d.createVariableAttribution(f[h-2],g[h-2].range,this._$.range,t);break;case 145:case 146:var w=new d.createIdentifierNode(f[h-2],g[h-2].range),t=d.createMathOperation("*",w,f[h],this._$.range);this.$=d.createVariableAttribution(f[h-2],g[h-2].range,this._$.range,t);break;case 147:case 148:var w=new d.createIdentifierNode(f[h-2],g[h-2].range),t=d.createMathOperation("/",w,f[h],this._$.range);this.$=d.createVariableAttribution(f[h-2],g[h-2].range,this._$.range,t);break;case 149:case 150:var w=new d.createIdentifierNode(f[h-2],g[h-2].range),t=d.createMathOperation("%",w,f[h],this._$.range);this.$=d.createVariableAttribution(f[h-2],g[h-2].range,this._$.range,t);break;case 151:case 152:this.$=d.createVariableAttribution(f[h-8],g[h-8].range,this._$.range,f[h],f[h-6],f[h-3]);break;case 153:case 154:case 155:case 156:this.$=d.createVariableAttribution(f[h-5],g[h-5].range,this._$.range,f[h],f[h-3]);break;case 159:this.$=d.createConstructorCall(f[h-2],g[h-2].range,[],this._$.range);break;case 160:this.$=d.createConstructorCall(f[h-3],g[h-3].range,f[h-1],this._$.range);break;case 163:this.$=d.createIdentifierNode(f[h],this._$.range);break;case 164:this.$=d.createArrayIdentifierNode(f[h-6],g[h-6].range,f[h-4],g[h-4].range,f[h-1],g[h-1].range,this._$.range);break;case 165:this.$=d.createArrayIdentifierNode(f[h-3],g[h-3].range,f[h-1],g[h-1].range,null,null,this._$.range);break;case 169:case 173:case 175:case 177:case 179:case 181:case 184:case 189:case 193:case 200:case 205:this.$=f[h];break;case 170:this.$=d.createTernaryNode(f[h-4],f[h-2],f[h],this._$.range);break;case 172:case 174:this.$=d.createExpression(f[h-1],"LogicalExpression",f[h-2],f[h],this._$.range);break;case 176:case 178:case 180:case 194:case 195:case 197:case 198:case 199:this.$=d.createMathOperation(f[h-1],f[h-2],f[h],this._$.range);break;case 182:case 183:case 185:case 186:case 187:case 188:this.$=d.createExpression(f[h-1],"BinaryExpression",f[h-2],f[h],this._$.range);break;case 190:case 191:case 192:this.$=d.createMathOperation(f[h-1],f[h-2],f[h],this._$.range);break;case 201:case 202:case 203:this.$=d.createUnaryExpression(f[h-1],f[h],this._$.range);break;case 210:this.$=d.createIdentifierNode("__ref",this._$.range);break;case 217:case 218:case 219:case 220:case 221:case 225:case 226:case 227:this.$=d.createInvokeNode(f[h-2],g[h-2].range,f[h],g[h].range,this._$.range);break;case 222:this.$=d.createSuperInvokeNode(f[h],g[h-2].range,this._$.range);break;case 223:this.$=d.createSuperConstructorNode(g[h-2].range,[],this._$.range);break;case 224:this.$=d.createSuperConstructorNode(g[h-3].range,f[h-1],this._$.range);break;case 228:this.$=d.createSimpleMethodInvokeNode(f[h-2],g[h-2].range,[],this._$.range);break;case 229:this.$=d.createSimpleMethodInvokeNode(f[h-3],g[h-3].range,f[h-1],this._$.range);break;case 233:this.$=d.createClassCastNode(f[h-2],g[h-2].range,f[h],this._$.range);break;case 234:this.$=d.createSimpleWhileNode(f[h-2],f[h],g[h].range,this._$.range);break;case 235:this.$=d.createDoWhileNode(f[h-3],f[h-5],g[h-5].range,this._$.range);break;case 236:this.$=d.createForStatement(f[h-6],f[h-4],f[h-2],g[h-2].range,f[h],g[h].range,this._$.range);break;case 237:this.$=d.createForStatement(null,f[h-4],f[h-2],g[h-2].range,f[h],g[h].range,this._$.range);break;case 238:this.$=d.createEnhancedForStatement(f[h-5],f[h-4],g[h-4].range,f[h-2],g[h-2].range,f[h],g[h].range,this._$.range);break;case 243:f[h-2].push(f[h]),this.$=f[h-2];break;case 244:case 245:case 246:this.$=d.createSimpleIfNode(f[h-2],f[h],g[h].range,this._$.range);break;case 247:this.$=d.createSimpleIfElseNode(f[h-4],f[h-2],g[h-2].range,f[h],g[h].range,this._$.range);break;case 248:this.$=d.createSwitchNode(f[h-2],f[h],this._$.range);break;case 250:var r=d._.flatten(f[h-2]);r=r.concat(f[h-1]),this.$=r;break;case 252:var r=d._.flatten(f[h-1]);this.$=r;break;case 255:this.$=d.addSwitchCaseStatements(f[h-1],f[h]);break;case 258:this.$=d.createCaseSwitchNode(f[h-1],this._$.range);break;case 259:this.$=d.createDefaultSwitchNode(this._$.range)}},table:[{3:1,4:[1,2],5:3,6:4,7:6,8:c,26:5,27:d,28:8,29:e,30:f,31:g},{1:[3]},{1:[2,1]},{4:[1,13],26:14,27:d,28:8,29:e,30:f,31:g},{5:15,7:16,8:c,26:5,27:d,28:8,29:e,30:f,31:g},b(h,[2,21]),b(i,[2,4]),b(h,[2,23]),b(h,[2,24]),b(h,[2,25]),{9:17,11:[1,18],12:[1,19],13:[1,20]},{31:[1,21]},{32:[1,22]},{1:[2,2]},b(h,[2,22]),{4:[1,23],26:14,27:d,28:8,29:e,30:f,31:g},b(i,[2,5]),{10:[1,24]},{10:[2,7]},{10:[2,8]},{10:[2,9]},{32:[1,25]},{33:26,34:[1,27],40:j},{1:[2,3]},b(i,[2,6]),{33:29,34:[1,30],40:j},b(h,[2,28]),{32:[1,31]},{30:k,32:l,35:39,36:42,37:m,38:n,39:o,41:32,42:[1,33],43:34,44:35,45:36,46:37,47:38,48:40,49:41,54:43,58:p,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u},b(h,[2,26]),{32:[1,60]},{33:61,40:j},{30:k,32:l,35:39,36:42,37:m,38:n,39:o,42:[1,62],43:63,44:35,45:36,46:37,47:38,48:40,49:41,54:43,58:p,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u},b(h,[2,37]),b(v,[2,38]),b(v,[2,40]),b(v,[2,41]),b(v,[2,42]),b(v,[2,43]),{30:k,32:[1,64],36:66,37:m,38:n,39:o,48:65,54:67,56:[1,68],58:p,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u},{10:[1,69]},{40:w,50:70,65:71},b(x,[2,30]),{59:y,61:z,64:76,108:73,113:75,114:77},{110:[1,79]},b(x,[2,32]),b(x,[2,33]),b(x,[2,34]),b(x,[2,35]),b(A,[2,60]),b(A,B),b([59,61,111],C),{110:[2,69]},{110:[2,70]},b(A,[2,63]),b(A,[2,64]),b(A,[2,65]),b(A,[2,66]),b(A,[2,67]),b(A,[2,68]),{33:80,40:j},b(h,[2,29]),b(h,[2,36]),b(v,[2,39]),b([57,59,61],C,{51:[1,81]}),{10:[1,82]},b(x,[2,31]),{55:83,57:D,59:y,61:[1,85],64:76,108:73,113:75,114:77},{55:86,57:D,61:[1,87]},b(v,[2,44]),b(v,[2,46]),b(v,[2,59]),{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:L,40:w,42:[1,88],48:93,51:M,54:43,58:p,61:N,65:99,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u,76:89,77:90,78:91,79:92,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},{10:[2,109],63:[1,155]},{60:[1,156]},b(ba,[2,113]),b(ba,[2,115],{115:[1,157]}),b(ba,[2,116]),b([10,52,63,115],ca),{32:l,54:158,58:p,66:49,67:54,68:q,69:56,70:57,71:r,72:s},b(h,[2,27]),{32:l,52:[1,159],53:160,54:162,58:p,62:161,66:49,67:54,68:q,69:56,70:57,71:r,72:s},b(v,[2,45]),{40:[2,49]},{51:[1,163]},b(da,ca,{51:ea}),{40:[2,50]},{51:ea},b(fa,[2,71]),{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:L,40:w,42:[1,165],48:93,51:M,54:43,58:p,61:N,65:99,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u,77:166,78:91,79:92,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},b(ga,[2,73]),b(ga,[2,75]),b(ga,[2,76]),{10:[1,167]},b(ga,[2,78]),b(ga,[2,79]),b(ga,[2,80]),b(ga,[2,81]),b(ga,[2,82]),b(ha,[2,83]),b(ha,[2,84]),b(ha,[2,85]),b(ha,[2,86]),b(ha,[2,87]),b(ha,[2,88]),b(ha,[2,89]),b(ha,[2,90]),b(ha,[2,91]),{51:[1,168]},{51:[1,169]},{51:[1,170]},b([52,59,61],C,{178:ia}),b(ha,[2,92]),{10:[1,172]},b([105,107],ja,{10:[1,173],178:ka}),{51:[1,175]},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:w,51:M,61:N,65:99,79:176,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},{10:[1,178]},{51:[1,179]},{10:[1,180]},{10:[1,182],14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:181,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(qa,[2,100]),b(qa,[2,101]),b(qa,[2,102]),b(qa,[2,103]),b(qa,[2,104]),b(ra,[2,211]),b(ra,[2,212]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:M,61:sa,94:188,106:204,120:U,126:206,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:M,61:sa,94:188,106:207,120:U,126:206,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{105:[1,208],107:[1,209]},b(ra,ta,{59:[1,216],115:[1,210],127:[1,211],128:[1,212],129:[1,213],130:[1,214],131:[1,215]}),b(ua,va,{51:wa,59:[1,223],115:[1,217],127:[1,218],128:[1,219],129:[1,220],130:[1,221],131:[1,222],178:xa}),b(ra,[2,213]),b(ra,[2,214]),b(ra,[2,215]),b(ua,[2,205],{178:[1,226]}),b(ua,[2,206]),{51:[1,228],178:[1,227]},b(ra,[2,207]),b(ra,[2,208]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:229,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(ra,[2,210]),b(ra,[2,10]),b(ra,[2,11]),b(ra,[2,12]),b(ra,[2,13]),b(ra,[2,14]),{32:[1,230],58:[1,231]},b(ra,[2,15]),b(ra,[2,16]),b(ra,[2,17]),b(ra,[2,18]),b(ra,[2,19]),b(ra,[2,20]),{61:z,64:76,113:232,114:77},{59:[1,233],61:ya,109:234,116:235,117:236,118:237},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:239,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{111:[1,240]},{40:w,50:241,65:71},{52:[1,242],63:za},b(Aa,[2,54]),{59:[1,245],61:z,64:244},{58:[1,246]},{32:l,52:[1,248],53:247,54:162,58:p,62:161,66:49,67:54,68:q,69:56,70:57,71:r,72:s},b(fa,[2,72]),b(ga,[2,74]),b(ga,[2,77]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:249,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:250,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{10:[1,252],14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:L,48:255,51:M,54:253,58:p,61:N,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u,93:256,94:188,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,183:251,185:254},{61:[1,257],173:258},b(ha,[2,93]),b(ha,[2,94]),{61:[1,259],173:260},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:261,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{180:[1,262]},{178:ia},b(ha,[2,97]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:263,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(ha,[2,98]),{10:[1,264]},b(ha,[2,96]),b(Ba,[2,166]),b(Ba,[2,167]),{10:[1,265]},b(Ba,[2,169],{139:[1,266],142:[1,267]}),b(Ca,[2,171],{144:Da}),b(ua,ja,{178:ka}),b(Ea,[2,173],{146:Fa}),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:L,51:ma,54:270,58:p,61:N,66:49,67:54,68:q,69:56,70:57,71:r,72:s,94:188,96:229,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(Ga,[2,175],{148:Ha}),b(Ia,[2,177],{150:Ja}),b(Ka,[2,179],{152:La,153:Ma}),b(Na,[2,181],{110:Oa,111:Pa,155:Qa,156:Ra}),b(Sa,[2,184],{158:Ta,159:Ua,160:Va}),b(Wa,[2,189],{162:Xa,163:Ya}),b(Za,[2,193],{165:$a,166:_a,167:ab}),b(bb,[2,196]),b(bb,[2,200]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,163:na,164:287,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,163:na,164:288,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,
15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,163:na,164:289,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(bb,[2,204]),b(qa,[2,105]),b(bb,va,{51:wa,59:[1,290],178:xa}),b([10,42,52,60,63,110,111,139,140,142,144,146,148,150,152,153,155,156,158,159,160,162,163,165,166,167,178],ta),b(qa,[2,106]),b(qa,[2,107]),b(qa,[2,108]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:cb,51:ma,61:N,94:188,96:291,104:185,106:199,119:292,120:db,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:295,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:296,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:297,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:298,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:299,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:300,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:cb,51:ma,61:N,94:188,96:301,104:185,106:199,119:302,120:db,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:303,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:304,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:305,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:306,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:307,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:308,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,52:[1,309],61:N,94:188,96:312,104:185,106:199,120:U,126:131,132:140,133:310,134:311,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{61:[1,313],173:314},{61:[1,315],173:316},{61:[1,318],173:317},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,52:[1,319],61:N,94:188,96:312,104:185,106:199,120:U,126:131,132:140,133:320,134:311,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{52:[1,321]},{51:eb},{51:fb},b(ba,[2,114]),{60:[1,324]},{10:[2,111],63:gb},b(ba,[2,119]),b(ba,[2,121],{115:[1,326]}),b(ba,[2,122]),b(da,[2,123]),b(ba,[2,118]),{61:[1,330],112:327,122:328,123:329},b(v,[2,47]),{40:w,50:331,65:71},{32:l,54:162,58:p,62:332,66:49,67:54,68:q,69:56,70:57,71:r,72:s},b(Aa,[2,56]),{60:[1,333]},{59:[1,334]},{52:[1,335],63:za},{40:[2,53]},{52:[1,336]},{52:[1,337]},{10:[1,338]},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:339,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{59:y,61:[1,340],64:76,108:73,113:75,114:77},{10:[2,239],63:hb},{10:[2,240]},b(qa,[2,242]),b(ib,[2,217],{51:wa}),b(ra,[2,221]),b(ib,[2,220],{51:wa}),b(ra,[2,227]),{52:[1,342]},{51:[1,343]},{52:[1,344]},b(ha,[2,95]),b(Ba,[2,168]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:345,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,141:346,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,143:347,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,145:348,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{52:[1,349]},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,147:350,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,149:351,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,151:352,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,151:353,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,154:354,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,154:355,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,154:356,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,154:357,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,157:358,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,157:359,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,157:360,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,161:361,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,161:362,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,163:na,164:363,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,163:na,164:364,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,163:na,164:365,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(bb,[2,201]),b(bb,[2,202]),b(bb,[2,203]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:366,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(qa,[2,139]),b(qa,[2,157]),{32:[1,368],54:367,58:[1,369],66:49,67:54,68:q,69:56,70:57,71:r,72:s},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:jb,51:ma,61:N,94:188,96:372,104:185,106:199,120:U,121:370,125:371,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(qa,[2,141]),b(qa,[2,143]),b(qa,[2,145]),b(qa,[2,147]),b(qa,[2,149]),{60:[1,374]},b(qa,[2,140]),b(qa,[2,158]),b(qa,[2,142]),b(qa,[2,144]),b(qa,[2,146]),b(qa,[2,148]),b(qa,[2,150]),{60:[1,375]},b(ra,[2,228]),{52:[1,376],63:kb},b(Aa,[2,230]),b(Aa,[2,232]),b(ib,[2,219],{51:wa}),b(ra,[2,225]),b(ib,[2,218],{51:wa}),b(ra,[2,226]),b(ra,[2,222]),{51:wa},b(ra,[2,223]),{52:[1,378],63:kb},b(ra,[2,209]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,52:[1,379],61:N,94:188,96:312,104:185,106:199,120:U,126:131,132:140,133:380,134:311,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:312,104:185,106:199,120:U,126:131,132:140,134:381,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{61:ya,109:382,116:235,117:236,118:237},{61:ya,116:383,117:236,118:237},{40:cb,119:384,120:[1,385]},{10:[2,112]},{10:[2,130],115:[1,386]},{10:[2,131]},b([10,115],[2,132]),b(v,[2,48]),b(Aa,[2,55]),{59:[1,388],61:z,64:387},{60:[1,389]},{40:[2,52]},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:w,51:M,61:N,65:99,80:390,81:391,82:392,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,181:Y,186:$,188:aa},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:w,51:M,61:N,65:99,79:393,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:394,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{10:[1,395]},b(da,ca,{140:[1,396]}),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:M,61:N,93:397,94:188,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{40:[1,399],189:398},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:400,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{10:[1,401]},{140:[1,402]},b(Ca,[2,172],{144:Da}),b(Ea,[2,174],{146:Fa}),b(Ga,[2,176],{148:Ha}),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,163:na,164:403,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(Ia,[2,178],{150:Ja}),b(Ka,[2,180],{152:La,153:Ma}),b(Na,[2,182],{110:Oa,111:Pa,155:Qa,156:Ra}),b(Na,[2,183],{110:Oa,111:Pa,155:Qa,156:Ra}),b(Sa,[2,185],{158:Ta,159:Ua,160:Va}),b(Sa,[2,186],{158:Ta,159:Ua,160:Va}),b(Sa,[2,187],{158:Ta,159:Ua,160:Va}),b(Sa,[2,188],{158:Ta,159:Ua,160:Va}),b(Wa,[2,190],{162:Xa,163:Ya}),b(Wa,[2,191],{162:Xa,163:Ya}),b(Wa,[2,192],{162:Xa,163:Ya}),b(Za,[2,194],{165:$a,166:_a,167:ab}),b(Za,[2,195],{165:$a,166:_a,167:ab}),b(bb,[2,197]),b(bb,[2,198]),b(bb,[2,199]),{60:[1,404]},{59:[1,405]},{51:eb,59:C},{51:fb,59:B},{42:[1,406],63:lb},b(mb,[2,135]),b(mb,[2,137]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:jb,51:ma,61:N,94:188,96:372,104:185,106:199,120:U,121:408,125:371,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{59:[1,409],115:[1,410]},b(ua,nb,{59:[1,411],115:[1,412]}),b(ra,[2,229]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:312,104:185,106:199,120:U,126:131,132:140,134:413,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(ra,[2,224]),b(ra,[2,159]),{52:[1,414],63:kb},{52:[1,415]},{10:[2,110],63:gb},b(ba,[2,120]),b(ba,[2,124]),{32:l,54:367,58:p,66:49,67:54,68:q,69:56,70:57,71:r,72:s},{120:[1,417],124:416},b(Aa,[2,57]),{60:[1,418]},{61:[1,419]},b(ga,[2,244],{187:[1,420]}),b(ga,[2,245]),b(ga,[2,246]),b(ga,[2,234]),{10:[1,421]},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:M,61:N,93:256,94:188,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,184:422,185:423},{61:[1,424]},b(qa,[2,243]),b(ha,[2,248]),{42:[1,425],190:426,191:427,192:428,193:429,194:ob,196:pb},{52:[1,432]},b(ha,[2,99]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:sa,94:188,106:199,120:U,126:206,132:140,135:137,137:433,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(bb,[2,233]),b(bb,nb,{59:[1,434]}),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,60:[1,436],61:N,94:188,96:435,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(qa,[2,127]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:jb,51:ma,61:N,94:188,96:372,104:185,106:199,120:U,125:437,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{42:[1,438],63:lb},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:439,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:cb,51:ma,61:N,94:188,96:440,104:185,106:199,119:441,120:db,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:442,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:cb,51:ma,61:N,94:188,96:443,104:185,106:199,119:444,120:db,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(Aa,[2,231]),b(ra,[2,160]),b(ra,[2,161]),{10:[2,133]},{73:445,74:t,75:u},{61:z,64:446},{52:[1,447]},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:w,51:M,61:N,65:99,79:448,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:M,61:N,93:256,94:188,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,184:449,185:423},{52:[1,450]},{52:[2,241],63:hb},{52:[1,451]},b(ha,[2,249]),{42:[1,453],191:452,192:454,193:429,194:ob,196:pb},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:L,40:w,42:[1,455],48:93,51:M,54:43,58:p,61:N,65:99,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u,76:457,77:90,78:91,79:92,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa,193:456,194:ob,196:pb},b(qb,[2,253]),b(ga,[2,256]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:459,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,195:458},{140:[1,460]},{10:[1,461]},b(Ba,[2,170]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:462,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{60:[1,463]},{40:[1,464],59:[1,465]},b(mb,[2,136]),b(mb,[2,138]),{60:[1,466]},b(qa,[2,153]),b(qa,[2,155]),{60:[1,467]},b(qa,[2,154]),b(qa,[2,156]),{110:[1,468]},b(Aa,[2,58]),{40:[2,51]},b(ga,[2,247]),{52:[1,469]},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:w,51:M,61:N,65:99,79:470,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:w,51:M,61:N,65:99,79:471,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:L,40:w,42:[1,472],48:93,51:M,54:43,58:p,61:N,65:99,66:49,67:54,68:q,69:56,70:57,71:r,72:s,73:44,74:t,75:u,76:457,77:90,78:91,79:92,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa,193:456,194:ob,196:pb},b(ha,[2,252]),b(qb,[2,254]),b(ha,[2,251]),b(ga,[2,257]),b(qb,[2,255],{54:43,73:44,66:49,67:54,69:56,70:57,78:91,79:92,48:93,80:94,81:95,82:96,83:97,84:98,65:99,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,100:121,101:122,102:123,103:124,104:125,173:126,174:127,106:130,126:131,175:133,176:134,177:135,171:136,135:137,14:139,132:140,15:143,16:144,17:145,18:146,19:147,77:166,10:E,20:F,21:G,22:H,23:I,24:J,25:K,32:L,40:w,51:M,58:p,61:N,68:q,71:r,72:s,74:t,75:u,95:O,97:P,98:Q,99:R,105:S,107:T,120:U,172:V,179:W,180:X,181:Y,182:Z,186:$,188:aa}),{140:[1,473]},{140:[2,260]},b(ga,[2,259]),b(ha,[2,235]),{60:[1,474]},b(qa,[2,126],{59:[1,475]}),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:jb,51:ma,61:N,94:188,96:372,104:185,106:199,120:U,121:476,125:371,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{60:[1,477]},{115:[1,478]},b(ua,rb,{115:[1,479]}),{32:l,54:480,58:p,66:49,67:54,68:q,69:56,70:57,71:r,72:s},{10:E,14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:w,51:M,61:N,65:99,79:481,80:94,81:95,82:96,83:97,84:98,85:100,86:101,87:102,88:103,89:104,90:105,91:106,92:107,93:113,94:114,95:O,97:P,98:Q,99:R,100:121,101:122,102:123,103:124,104:125,105:S,106:130,107:T,120:U,126:131,132:140,135:137,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W,180:X,181:Y,182:Z,186:$,188:aa},b(ga,[2,237]),b(ga,[2,238]),b(ha,[2,250]),b(ga,[2,258]),b(bb,rb),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:482,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{42:[1,483],63:lb},{40:[1,484]},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:485,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,51:ma,61:N,94:188,96:486,104:185,106:199,120:U,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},{111:[1,487]},b(ga,[2,236]),{60:[1,488]},b(qa,[2,128]),{14:139,15:143,16:144,17:145,18:146,19:147,20:F,21:G,22:H,23:I,24:J,25:K,32:la,40:jb,51:ma,61:N,94:188,96:372,104:185,106:199,120:U,121:489,125:371,126:131,132:140,135:137,136:183,137:184,138:186,141:187,143:189,145:191,147:192,149:193,151:194,154:195,157:196,161:197,163:na,164:198,168:oa,169:pa,170:203,171:136,172:V,173:126,174:127,175:133,176:134,177:135,179:W},b(qa,[2,151]),b(qa,[2,152]),{51:[1,490]},b(qa,[2,125]),{42:[1,491],63:lb},{52:[1,492]},b(qa,[2,129]),{10:[2,134]}],defaultActions:{2:[2,1],13:[2,2],18:[2,7],19:[2,8],20:[2,9],23:[2,3],52:[2,69],53:[2,70],83:[2,49],86:[2,50],248:[2,53],255:[2,240],327:[2,112],329:[2,131],335:[2,52],416:[2,133],447:[2,51],459:[2,260],492:[2,134]},parseError:function(a,b){function c(a,b){this.message=a,this.hash=b}if(!b.recoverable)throw c.prototype=Error,new c(a,b);this.trace(a)},parse:function(a){var b=this,c=[0],d=[null],e=[],f=this.table,g="",h=0,i=0,j=0,k=2,l=1,m=e.slice.call(arguments,1),n=Object.create(this.lexer),o={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o.yy[p]=this.yy[p]);n.setInput(a,o.yy),o.yy.lexer=n,o.yy.parser=this,"undefined"==typeof n.yylloc&&(n.yylloc={});var q=n.yylloc;e.push(q);var r=n.options&&n.options.ranges;"function"==typeof o.yy.parseError?this.parseError=o.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;for(var s,t,u,v,w,x,y,z,A,B=function(){var a;return a=n.lex()||l,"number"!=typeof a&&(a=b.symbols_[a]||a),a},C={};;){if(u=c[c.length-1],this.defaultActions[u]?v=this.defaultActions[u]:((null===s||"undefined"==typeof s)&&(s=B()),v=f[u]&&f[u][s]),"undefined"==typeof v||!v.length||!v[0]){var D="";A=[];for(x in f[u])this.terminals_[x]&&x>k&&A.push("'"+this.terminals_[x]+"'");D=n.showPosition?"Parse error on line "+(h+1)+":\n"+n.showPosition()+"\nExpecting "+A.join(", ")+", got '"+(this.terminals_[s]||s)+"'":"Parse error on line "+(h+1)+": Unexpected "+(s==l?"end of input":"'"+(this.terminals_[s]||s)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[s]||s,line:n.yylineno,loc:q,expected:A})}if(v[0]instanceof Array&&v.length>1)throw new Error("Parse Error: multiple actions possible at state: "+u+", token: "+s);switch(v[0]){case 1:c.push(s),d.push(n.yytext),e.push(n.yylloc),c.push(v[1]),s=null,t?(s=t,t=null):(i=n.yyleng,g=n.yytext,h=n.yylineno,q=n.yylloc,j>0&&j--);break;case 2:if(y=this.productions_[v[1]][1],C.$=d[d.length-y],C._$={first_line:e[e.length-(y||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(y||1)].first_column,last_column:e[e.length-1].last_column},r&&(C._$.range=[e[e.length-(y||1)].range[0],e[e.length-1].range[1]]),w=this.performAction.apply(C,[g,i,h,o.yy,v[1],d,e].concat(m)),"undefined"!=typeof w)return w;y&&(c=c.slice(0,-1*y*2),d=d.slice(0,-1*y),e=e.slice(0,-1*y)),c.push(this.productions_[v[1]][0]),d.push(C.$),e.push(C._$),z=f[c[c.length-2]][c[c.length-1]],c.push(z);break;case 3:return!0}}return!0}},tb=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,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},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=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),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b
},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},test_match:function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),d=a[0].match(/(?:\r\n?|\n).*/g),d&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack){for(var f in e)this[f]=e[f];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d;this._more||(this.yytext="",this.match="");for(var e=this._currentRules(),f=0;f<e.length;f++)if(c=this._input.match(this.rules[e[f]]),c&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(a=this.test_match(c,e[f]),a!==!1)return a;if(this._backtrack){b=!1;continue}return!1}if(!this.options.flex)break}return b?(a=this.test_match(b,e[d]),a!==!1?a:!1):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){var a=this.conditionStack.length-1;return a>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(a){return a=this.conditionStack.length-1-Math.abs(a||0),a>=0?this.conditionStack[a]:"INITIAL"},pushState:function(a){this.begin(a)},stateStackSize:function(){return this.conditionStack.length},options:{ranges:!0},performAction:function(a,b,c,d){switch(c){case 0:break;case 1:this.begin("comment");break;case 2:this.popState();break;case 3:break;case 4:break;case 5:return 40;case 6:return 42;case 7:return 51;case 8:return 52;case 9:return 59;case 10:return 60;case 11:return 63;case 12:return 139;case 13:return 140;case 14:return 10;case 15:return"SYSOUT";case 16:return"SYSOUT";case 17:return"SYSOUT";case 18:return 30;case 19:return 37;case 20:return 38;case 21:return 57;case 22:return 39;case 23:return 56;case 24:return"KEYWORD_PACKAGE";case 25:return 8;case 26:return 186;case 27:return 187;case 28:return 180;case 29:return 181;case 30:return 182;case 31:return 97;case 32:return 98;case 33:return 188;case 34:return 194;case 35:return 196;case 36:return 22;case 37:return 23;case 38:return 31;case 39:return 34;case 40:return"KEYWORD_INTERFACE";case 41:return"KEYWORD_ABSTRACT";case 42:return 172;case 43:return 179;case 44:return 120;case 45:return 95;case 46:return 68;case 47:return 71;case 48:return 72;case 49:return 58;case 50:return 74;case 51:return 75;case 52:return 11;case 53:return 12;case 54:return 13;case 55:return 158;case 56:return 160;case 57:return 159;case 58:return 155;case 59:return 110;case 60:return 152;case 61:return 156;case 62:return 111;case 63:return 153;case 64:return 142;case 65:return 146;case 66:return 148;case 67:return 144;case 68:return 150;case 69:return 168;case 70:return 169;case 71:return 115;case 72:return 127;case 73:return 128;case 74:return 129;case 75:return 130;case 76:return 131;case 77:return 105;case 78:return 162;case 79:return 107;case 80:return 163;case 81:return 165;case 82:return 166;case 83:return 167;case 84:return 178;case 85:return 25;case 86:return 32;case 87:return 61;case 88:return 21;case 89:return 20;case 90:return 24;case 91:return 24;case 92:return 4;case 93:return"INVALID"}},rules:[/^(?:\/\/.*)/,/^(?:\/\*)/,/^(?:\*\/)/,/^(?:.)/,/^(?:\s+)/,/^(?:\{)/,/^(?:\})/,/^(?:\()/,/^(?:\))/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?:\?)/,/^(?::)/,/^(?:;)/,/^(?:System\.out\.println\b)/,/^(?:System\.out\.print\b)/,/^(?:sysout\b)/,/^(?:public\b)/,/^(?:private\b)/,/^(?:static\b)/,/^(?:main\b)/,/^(?:final\b)/,/^(?:void\b)/,/^(?:package\b)/,/^(?:import\b)/,/^(?:if\b)/,/^(?:else\b)/,/^(?:while\b)/,/^(?:do\b)/,/^(?:for\b)/,/^(?:break\b)/,/^(?:continue\b)/,/^(?:switch\b)/,/^(?:case\b)/,/^(?:default\b)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:class\b)/,/^(?:extends\b)/,/^(?:interface\b)/,/^(?:abstract\b)/,/^(?:this\b)/,/^(?:super\b)/,/^(?:new\b)/,/^(?:return\b)/,/^(?:boolean\b)/,/^(?:int\b)/,/^(?:double\b)/,/^(?:String\b)/,/^(?:ArrayList\b)/,/^(?:List\b)/,/^(?:java\.util\.ArrayList\b)/,/^(?:java\.util\.List\b)/,/^(?:java\.util\.\*)/,/^(?:<<)/,/^(?:>>>)/,/^(?:>>)/,/^(?:<=)/,/^(?:<)/,/^(?:==)/,/^(?:>=)/,/^(?:>)/,/^(?:!=)/,/^(?:\|\|)/,/^(?:\|)/,/^(?:\^)/,/^(?:&&)/,/^(?:&)/,/^(?:~)/,/^(?:!)/,/^(?:=)/,/^(?:\+=)/,/^(?:-=)/,/^(?:\*=)/,/^(?:\/=)/,/^(?:%=)/,/^(?:\+\+)/,/^(?:\+)/,/^(?:--)/,/^(?:-)/,/^(?:\*)/,/^(?:\/)/,/^(?:%)/,/^(?:\.)/,/^(?:null\b)/,/^(?:[A-Z][a-zA-Z0-9_]*)/,/^(?:[a-zA-Z][a-zA-Z0-9_]*)/,/^(?:(((0|([1-9])([0-9])*))\.((0|([1-9])([0-9])*))?(([Ee][+-]?((0|([1-9])([0-9])*))))?[fFdD]?|\.((0|([1-9])([0-9])*))(([Ee][+-]?((0|([1-9])([0-9])*))))?[fFdD]?|((0|([1-9])([0-9])*))(([Ee][+-]?((0|([1-9])([0-9])*))))[fFdD]?|((0|([1-9])([0-9])*))(([Ee][+-]?((0|([1-9])([0-9])*))))?[fFdD])(?=([^\w]|$)))/,/^(?:((0|([1-9])([0-9])*)))/,/^(?:"")/,/^(?:"([^"]|(\\.))*")/,/^(?:$)/,/^(?:.)/],conditions:{comment:{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,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0},INITIAL:{rules:[0,1,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,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93],inclusive:!0}}};return a}();return sb.lexer=tb,a.prototype=sb,sb.Parser=a,new a}();"undefined"!=typeof require&&"undefined"!=typeof exports&&(exports.parser=cocoJava,exports.Parser=cocoJava.Parser,exports.parse=function(){return cocoJava.parse.apply(cocoJava,arguments)},exports.main=function(a){a[1]||(console.log("Usage: "+a[0]+" FILE"),process.exit(1));var b=require("fs").readFileSync(require("path").normalize(a[1]),"utf8");return exports.parser.parse(b)},"undefined"!=typeof module&&require.main===module&&exports.main(process.argv.slice(1))),function(a,b){return"object"==typeof exports&&"object"==typeof module?b(exports):"function"==typeof define&&define.amd?define(["export"],b):void b(a.cashew||(a.cashew={}))}(this,function(exports){var methodsDictionary,mainMethodCall;exports.Parse=function(a){function b(a){var b=new node("MemberExpression");b.range=a;var c=j("___JavaRuntime",a),d=j("functions",a);return b.object=c,b.property=d,b.computed=!1,b}function c(a){var b=new node("MemberExpression");b.range=a;var c=j("___JavaRuntime",a),d=j("ops",a);return b.object=c,b.property=d,b.computed=!1,b}function d(a,b){var c=K(b),d=new SyntaxError(a);throw d.pos=b[0],d.loc=c,d.range=b,d}___JavaRuntime.sourceCode=a,methodsDictionary=[],constructorBodyNodes=[],mainMethodCall=void 0,cocoJava.yy._=_,getVariableType=function(a){var b="unknown";return _.each(___JavaRuntime.variablesDictionary,function(c){c.name==a&&(b=c.type)}),b},getArgumentForName=function(a,b){return i(a,'"'+a+'"',b)},getArgumentForRange=function(a){var b=new node("ArrayExpression");return b.range=[0,0],b.elements=[],b.elements.push(getArgumentForNumber(a[0],[0,0])),b.elements.push(getArgumentForNumber(a[1],[0,0])),b},getArgumentForVariable=function(a,b){return j(a,b)},getNullArgument=function(){return i(null,"null",[0,0])},getArgumentForNumber=function(a,b){return i(a,a,b)};var e=0;variableEntry=function(a,b,c,d,f,g,h){this.id=e,this.name=a,this.access=b,this.type=c,this.scope=d,this.clazz=f,this.method=g,this.ASTNodeID=h,e+=1},cocoJava.yy.createMethodSignatureObject=function(a,b,c,d){var e={methodName:a,methodSignature:b,range:d,returnType:null,modifiers:null,clazz:"__TemporaryClassName",params:c};return e},findUpdateChildren=function(a,b){for(var c in a)if("object"==typeof a[c]&&null!==a[c]){var d=a[c];void 0!==d.type&&"VariableDeclarator"===d.type&&d.id.name==b.name&&(d.javaType=b.type,d.id.name="__"+b.id),("LogicalExpression"===d.type||"BinaryExpression"===d.type)&&(d.left.name==b.name&&(d.javaType=b.type,d.left.name="__"+b.id),d.right.name==b.name&&(d.javaType=b.type,d.right.name="__"+b.id)),"SwitchStatement"===d.type&&"Identifier"===d.discriminant.type&&d.discriminant.name==b.name&&(d.discriminant.javaType=b.type,d.discriminant.name="__"+b.id),("UnaryExpression"===d.type||"ReturnStatement"===d.type)&&"Identifier"===d.argument.type&&d.argument.name==b.name&&(d.argument.javaType=b.type,d.argument.name="__"+b.id),"CallExpression"===d.type&&(d.name&&d.name==b.name&&(d.javaType=b.type,d.name="__"+b.id),_.each(d.arguments,function(a){"Identifier"==a.type&&a.name==b.name&&(d.javaType=b.type,a.name="__"+b.id)}),d.callee.property&&"validateSet"==d.callee.property.name&&"___JavaRuntime"==d.callee.object.object.name&&"Identifier"==d.arguments[1].type&&d.arguments[1].name=="__"+b.id&&(d.arguments[1].type="Literal",d.arguments[1].name=void 0,d.arguments[1].value="__"+b.id,d.arguments[1].javaType=b.type)),"Identifier"===d.type&&d.name==b.name&&(d.name="__"+b.id,d.javaType=b.type),"ReturnStatement"===d.type&&d.argument.name&&d.argument.name==b.name&&(d.argument.name="__"+b.id,d.javaType=b.type),void 0!==d.type&&"AssignmentExpression"==d.type&&(d.left.name&&d.left.name==b.name&&(d.left.name="__"+b.id,d.left.javaType=b.type),_.each(d.right.arguments,function(a){"Identifier"==a.type&&a.name==b.name&&(a.name="__"+b.id,a.javaType=b.type)})),a[c]=d,a[c]=findUpdateChildren(a[c],b)}return a},findUpdateMethodCalls=function(a,b){for(var c in a)if("object"==typeof a[c]&&null!==a[c]){var d=a[c];a[c]=d,a[c]=findUpdateChildren(a[c],variable)}return a};var f=0,g={rootNode:{type:"Program",ASTNodeID:0,range:[],body:[]},currentNode:this.rootNode,createRoot:function(a,b){return this.rootNode.range=b,null!=a&&(this.rootNode.body=this.rootNode.body.concat(a),h(),mainMethodCall&&this.rootNode.body.push(mainMethodCall)),env={type:"ExpressionStatement",expression:{type:"CallExpression",callee:{type:"MemberExpression",computed:!1,object:{type:"Identifier",name:"___JavaRuntime"},property:{type:"Identifier",name:"loadEnv"}},arguments:[]}},this.rootNode.body.unshift(env),this.rootNode}};cocoJava.yy.ast=g,node=function(a){f+=1,this.type=a,this.ASTNodeID=f};var h=function(){_.each(methodsDictionary,function(a){if("main"==a.methodName){var b=new node("ExpressionStatement");b.range=a.range;var c=new node("CallExpression");c.range=a.range;var d=j(a.clazz,a.range),e=j("main",a.range);c.callee=k(d,e,a.range),c.arguments=[],b.expression=c,mainMethodCall=b}})},i=cocoJava.yy.createLiteralNode=function(a,c,d,e){if(e){var f=new node("CallExpression");return f.range=d,f.callee=k(b(d),j("createNumber",d),d),f.arguments=[],f.arguments.push(getArgumentForNumber(a,d)),f.arguments.push(getArgumentForName(e,d)),f}var g=new node("Literal");return g.range=d,g.value=a,g.raw=""+c,g},j=cocoJava.yy.createIdentifierNode=function(a,b){var c=new node("Identifier");return c.range=b,c.name=a,c},k=(cocoJava.yy.createArrayIdentifierNode=function(a,b,c,d,e,f,g){var h=k(j(a,b),c,d,!0);return e&&(h=k(h,e,f,!0)),h},function(a,b,c,d){var e=new node("MemberExpression");return e.computed=d||!1,e.range=c,e.object=a,e.property=b,e}),l=cocoJava.yy.createMethodDeclarationNode=function(a,b,c,e,f){"void"==a.returnType&&_.each(c,function(a){"ReturnStatement"===a.type&&d("Cannot return a value from method whose return type is void",f)});var g=!1;_.each(a.modifiers,function(a){"static"==a&&(g=!0)}),g&&!function u(a){for(var b in a)if("object"==typeof a[b]&&null!==a[b]){var c=a[b];void 0!==c.type&&"Identifier"==c.type&&"__ref"==c.name&&d("Cannot reference this in a static context",c.range),a[b]=c,a[b]=u(a[b])}return a}(c);var h=!0;_.each(a.modifiers,function(a){"public"==a&&(h=!1)}),methodsDictionary.push(a);var i=new node("ExpressionStatement");i.range=f;var l=new node("AssignmentExpression");l.range=f,l.operator="=";var m;m=g?j("__TemporaryClassName",[0,0]):k(j("__TemporaryClassName",[0,0]),j("prototype",b),b);var n;n=h?j(a.methodName,b):k(m,j(a.methodName,b),f),l.left=n;var o=new node("FunctionExpression");if(o.range=e,o.id=null,null==a.params)o.params=[];else{var p=[];_.each(a.params,function(a){var b=j(a.paramName,a.range);b.javaType=a.type,p.push(b)}),o.params=p}o.defaults=[],functionDeclarationNodeAssignmentRightBody=new node("BlockStatement"),functionDeclarationNodeAssignmentRightBody.range=e,functionDeclarationNodeAssignmentRightBody.body=[],functionDeclarationNodeAssignmentRightBody.body=functionDeclarationNodeAssignmentRightBody.body.concat(c),o.body=functionDeclarationNodeAssignmentRightBody,o.generator=!1,o.expression=!1;var q=new node("AssignmentExpression");if(q.range=f,q.operator="=",q.left=j(a.methodName,b),q.right=o,l.right=q,g&&!h){var r=new node("AssignmentExpression");r.range=f,r.operator="=",r.right=l.right;var s=k(j("__TemporaryClassName",[0,0]),j("prototype",b),b),t=k(s,j(a.methodName,b),f);r.left=t,l.right=r}return i.expression=l,i.details=a,i};cocoJava.yy.createSimpleClassDeclarationNode=function(a,b,c,d,e){return m(a,b,c,d,null,null,e)};var m=cocoJava.yy.createClassExtendedDeclarationNode=function(a,b,c,d,e,f,g){var h=new node("ExpressionStatement");h.range=g;var i=j(a,b),l=new node("AssignmentExpression");l.range=g,l.operator="=",l.left=i;var m=new node("FunctionExpression");m.range=g,m.id=null,m.params=[],m.defaults=[];var o=new node("BlockStatement");o.range=d,o.body=[],o.body.push({type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"__ref"},init:{type:"ObjectExpression",properties:[]}}],kind:"var"}),o.body.push({type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"__funArr"},init:{type:"ArrayExpression",elements:[]}}],kind:"var"});var p=[];_.each(c,function(a){"VariableDeclaration"==a.type&&p.push(a)}),o.body.push(v(a,constructorBodyNodes,b,[],e)),constructorBodyNodes=[];var q=new node("ExpressionStatement");q.range=g;var r=k(k(j(a,b),j("prototype",b),b),j("__type",[0,0]),g),s=new node("AssignmentExpression");s.range=b,s.operator="=",s.left=r,s.right=getArgumentForName(a,b),q.expression=s;var w;w=null==e?j("_Object",b):j(e,f);var x=k(w,j("prototype",b),b),y=k(j(a,b),j("prototype",b),b),z=new node("AssignmentExpression");z.range=b,z.operator="=",z.left=y;var A=new node("CallExpression");A.range=b,A.callee=k(j("Object",[0,0]),j("create",[0,0]),b),A.arguments=[],A.arguments.push(x),z.right=A,o.body.push(C(z,b)),o.body.push(q),o.body=o.body.concat(p),o.body=o.body.concat(n(c)),e||(e="_Object"),t(o.body,a,e),u(o.body),_.each(methodsDictionary,function(b){"__TemporaryClassName"==b.clazz&&(b.clazz=a)}),o.body.push(D(j(a,b),b)),m.body=o,m.generator=!1,m.expression=!1;var B=new node("CallExpression");B.range=g,B.callee=k(m,j("call",g),g),B.arguments=[];var E=new node("ThisExpression");return E.range=g,B.arguments.push(E),l.right=B,h.expression=l,h},n=function(a){for(var b=[],c=[],e=[],f=[],g=a.length-1;g>=0;g--){var h=!1;if(a[g].details){var i=a[g].details.methodName;if(-1==b.indexOf(i)){for(var m=a.length-1;m>=0;m--)g!=m&&a[m].details&&i==a[m].details.methodName&&(h=!0,b.push(i),e.push(a[m].details),"FunctionExpression"==a[m].expression.right.type?f.push(a[m].expression.right):"FunctionExpression"==a[m].expression.right.right.type?f.push(a[m].expression.right.right):f.push(a[m].expression.right.right.right));b.push(i),e.push(a[g].details),"FunctionExpression"==a[g].expression.right.type?f.push(a[g].expression.right):"FunctionExpression"==a[g].expression.right.right.type?f.push(a[g].expression.right.right):f.push(a[g].expression.right.right.right)}}}for(var g=0;g<b.length;g++){currentSignature=e[g].methodSignature;for(var m=0;m<b.length;m++)g!=m&¤tSignature==e[m].methodSignature&&d("Duplicated method signature "+currentSignature+"!",e[m].range)}for(var n=[],g=0;g<b.length;g++){e[g].originalName=b[g],"_"+b[g]in n?n["_"+b[g]]=n["_"+b[g]]+1:n["_"+b[g]]=0,b[g]="__"+b[g]+n["_"+b[g]];var p=new node("ExpressionStatement");p.range=e[g].range,newExpressionStatementAssign=new node("AssignmentExpression"),newExpressionStatementAssign.operator="=",newExpressionStatementAssign.range=e[g].range,newExpressionStatementAssign.left=k(j("__funArr",e[g].range),getArgumentForName(b[g],e[g].range),e[g].range,!0),newExpressionStatementAssign.right=f[g],p.expression=newExpressionStatementAssign,f[g]=p}for(var q=[],r=[],g=0;g<b.length;g++){var s=e[g].originalName;-1==r.indexOf(s)&&(methodsWithOverloadDetailsi=JSON.parse(JSON.stringify(e[g])),r.push(s),range=methodsWithOverloadDetailsi.range,methodsWithOverloadDetailsi.params=[],emptyBody=l(methodsWithOverloadDetailsi,range,[],range,range),q.push(emptyBody))}for(var g=0;g<q.length;g++){var t=q[g].details.originalName,u=[],v={type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"__possibilities"},init:{type:"ArrayExpression",elements:[]}}],kind:"var"};u.push(v);for(var m=0;m<b.length;m++)if(t==e[m].originalName)if(0==e[m].params.length){var w={type:"ExpressionStatement",expression:{type:"CallExpression",callee:{type:"MemberExpression",computed:!1,object:{type:"Identifier",name:"__possibilities"},property:{type:"Identifier",name:"push"}},arguments:[{type:"ArrayExpression",elements:[]}]}};u.push(w)}else u.push(o(e[m].params));var i={type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"__methodName"},init:{type:"Literal",value:t,raw:'"'+t+'"'}}],kind:"var"},x={type:"ReturnStatement",argument:{type:"CallExpression",callee:{type:"MemberExpression",computed:!1,object:{type:"MemberExpression",computed:!0,object:{type:"Identifier",name:"__funArr"},property:{type:"CallExpression",callee:{type:"MemberExpression",computed:!1,object:{type:"MemberExpression",computed:!1,object:{type:"Identifier",name:"___JavaRuntime"},property:{type:"Identifier",name:"functions"}},property:{type:"Identifier",name:"findMethodName"}},arguments:[{type:"Identifier",name:"__methodName"},{type:"Identifier",name:"arguments"},{type:"Identifier",name:"__possibilities"}]}},property:{type:"Identifier",name:"apply"}},arguments:[{type:"Literal",value:null,raw:"null"},{type:"CallExpression",callee:{type:"MemberExpression",computed:!1,object:{type:"MemberExpression",computed:!1,object:{type:"Identifier",name:"___JavaRuntime"},property:{type:"Identifier",name:"functions"}},property:{type:"Identifier",name:"getProperArgs"}},arguments:[{type:"Identifier",name:"__methodName"},{type:"Identifier",name:"arguments"},{type:"Identifier",name:"__possibilities"}]}]}};u.push(i),u.push(x);var y=new node("BlockStatement");y.range=q[g].details.range,y.body=u,"FunctionExpression"==q[g].expression.right.type?q[g].expression.right.body=y:"FunctionExpression"==q[g].expression.right.right.type?q[g].expression.right.right.body=y:q[g].expression.right.right.right.body=y}return c=c.concat(q),c=c.concat(f)},o=function(a){var b=new node("ExpressionStatement"),c=new node("CallExpression");c.callee=k(j("__possibilities",[0,0]),j("push",[0,0]),[0,0]),c.arguments=[];var d=new node("ArrayExpression");d.elements=[];for(var e=0;e<a.length;e++)d.elements.push(getArgumentForName(a[e].type,[0,0]));return c.arguments.push(d),b.expression=c,b},p=function(a,b){range=[0,0];var c=z("==","BinaryExpression",q(a),getArgumentForName("?",[0,0]),range),d=z("==","BinaryExpression",q(a),getArgumentForName(b,[0,0]),range),e=z("||","LogicalExpression",c,d,range);return e},q=function(a){var c=new node("CallExpression");c.range=[0,0],c.arguments=[],c.arguments.push(r(a));var d=new node("MemberExpression");d.range=[0,0];var e=b([0,0]),f=j("determineType",[0,0]);return d.object=e,d.property=f,d.computed=!1,c.callee=d,c},r=function(a){var b=new node("MemberExpression");return b.computed=!0,b.object=j("arguments",[0,0]),b.property=getArgumentForNumber(a,[0,0]),b};cocoJava.yy.createOverrideDefaultConstructor=function(a,b){constructorBodyNodes.push(b)};var s=function(a){var c=new node("CallExpression");c.range=[0,0],c.arguments=[],c.arguments.push(a);var d=new node("MemberExpression");d.range=[0,0];var e=b([0,0]),f=j("determineType",[0,0]);return d.object=e,d.property=f,d.computed=!1,c.callee=d,c};cocoJava.yy.createImportNodeForName=function(a){return"java.util.ArrayList"==a||"java.util.List"==a||"java.util.*"==a?(_ArrayList={type:"ExpressionStatement",expression:{type:"CallExpression",callee:{type:"MemberExpression",computed:!1,object:{type:"Identifier",name:"___JavaRuntime"},property:{type:"Identifier",name:"loadLists"}},arguments:[]}},_ArrayList):void 0},cocoJava.yy.createFieldVariableNode=function(a,b,c){var e=!1;_.each(a,function(a){"static"==a&&(e=!0)}),b.isStatic=e;var f=!0;return _.each(a,function(a){"public"==a&&(f=!1),"private"==a&&(f=!0)}),b.isPrivate=f,void 0==f?d("Field variables are only implemented as public or private",c):e||f||d("Instance variables are only implemented as private",c),_.each(b.declarations,function(a){var b=new node("AssignmentExpression");b.range=c,b.operator="=",b.left=k(j("__ref",c),a.id,c);var d;f?e&&f?(d=new node("AssignmentExpression"),d.range=c,d.operator="=",d.left=k(j("__TemporaryClassName",[0,0]),a.id,c),d.right=a.init,b.right=d):b.right=a.init:(d=new node("AssignmentExpression"),d.range=c,d.operator="=",d.left=k(k(j("__TemporaryClassName",[0,0]),j("prototype",c),c),a.id,c),prototypeClassRight=new node("AssignmentExpression"),prototypeClassRight.range=c,prototypeClassRight.operator="=",prototypeClassRight.left=k(j("__TemporaryClassName",[0,0]),a.id,c),prototypeClassRight.right=a.init,d.right=prototypeClassRight,b.right=d),a.init=b}),b};var t=function O(a,b,c){for(var d in a)if("object"==typeof a[d]&&null!==a[d]){var e=a[d];void 0!==e.type&&"Identifier"==e.type&&"__TemporaryClassName"==e.name&&(e.name=b),void 0!==e.type&&"Identifier"==e.type&&"__SuperClass"==e.name&&(e.name=c),void 0!==e.type&&"Identifier"==e.type&&"length"==e.name&&(e.name="_length"),a[d]=e,a[d]=O(a[d],b,c)}return a},u=function P(a){for(var b in a)if("object"==typeof a[b]&&null!==a[b]){var c=a[b];void 0!==c.type&&"Identifier"==c.type&&"__xlength"==c.name&&(c.name="length"),a[b]=c,a[b]=P(a[b])}return a},v=function(a,b,c,d,e){var f=new node("FunctionExpression");f.range=c,f.id=j(a,c),f.params=[],f.defaults=[];var g=new node("BlockStatement");g.range=c,g.body=[];var h=new node("CallExpression");h.range=c;var i=new node("ExpressionStatement");i.range=c;var l=new node("AssignmentExpression");l.range=c,l.operator="=",l.left=j("__ref",c),l.right=new node("ThisExpression"),i.expression=l,g.body.push(i);var m=new node("VariableDeclaration");m.range=c,m.kind="var",m.declarations=[],defDeclaration=new node("VariableDeclarator"),defDeclaration.range=c,defDeclaration.id=j("def",c),defDeclaration.init=new node("CallExpression"),defDeclaration.init.range=c,defDeclaration.init.callee=k(j("Object",c),j("create",c),c),defDeclaration.init.arguments=[];var n;n=null==e?j("_Object",c):j(e,c);var o=k(n,j("prototype",c),c);if(defDeclaration.init.arguments.push(o),m.declarations.push(defDeclaration),g.body.push(m),g.body.push({type:"ForInStatement",left:{type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"n"},init:null}],kind:"var"},right:{type:"Identifier",name:"def"},body:{type:"BlockStatement",body:[{type:"VariableDeclaration",declarations:[{type:"VariableDeclarator",id:{type:"Identifier",name:"item"},init:{type:"MemberExpression",computed:!0,object:{type:"Identifier",name:"def"},property:{type:"Identifier",name:"n"}}}],kind:"var"},{type:"IfStatement",test:{type:"BinaryExpression",operator:"instanceof",left:{type:"Identifier",name:"item"},right:{type:"Identifier",name:"Function"}},consequent:{type:"BlockStatement",body:[{type:"ExpressionStatement",expression:{type:"AssignmentExpression",operator:"=",left:{type:"MemberExpression",computed:!0,object:{type:"Identifier",name:"__ref"},property:{type:"BinaryExpression",operator:"+",left:{type:"Literal",value:"__super__",raw:'"__super__"'},right:{type:"Identifier",name:"n"}}},right:{type:"Identifier",name:"item"}}}]},alternate:null}]},each:!1}),0!=b.length)g.body=g.body.concat(w(a,e,b));else{var p=new node("ExpressionStatement");p.range=c;var q=new node("CallExpression");q.range=c,q.callee=k(n,j("call",c),c),q.arguments=[];var r=new node("ThisExpression");r.range=c,q.arguments.push(r),p.expression=q,g.body.push(p)}d&&(g.body=g.body.concat(d)),f.body=g,f.generator=!1,f.expression=!1;var s=new node("ExpressionStatement");s.range=c;var t=new node("AssignmentExpression");return t.range=c,t.operator="=",t.left=j(a,c),t.right=f,s.expression=t,s},w=function(a,b,c){for(var e=[],f=0;f<c.length;f++){currentConstructor=c[f],range=currentConstructor.details.range,a!=currentConstructor.details.methodName&&d("Constructor needs to have the same name as class",range);for(var g=0;g<c.length;g++)otherConstructor=c[g],f!=g&¤tConstructor.details.methodSignature==otherConstructor.details.methodSignature&&d("Duplicated constructor signature "+currentConstructor.details.methodSignature,range);for(var h=!1,g=0;g<c[f].length;g++)0==g||"CallExpression"!=c[f][g].expression.type||!c[f][g].expression.callee.object||"__SuperClass"!=c[f][g].expression.callee.object.name&&"_Object"!=c[f][g].expression.callee.object.name||d("Call to super must be the first statement in constructor",range),0==g&&("CallExpression"==c[f][g].expression.type&&c[f][g].expression.callee.object?"__SuperClass"==c[f][g].expression.callee.object.name?null==b?c[f][g].expression.callee.object.name="_Object":c[f][g].expression.callee.object.name=b:"_Object"!=c[f][g].expression.callee.object.name&&(h=!0):h=!0);if(h){var i;i=null==b?j("_Object",range):j(b,range);var l=new node("ExpressionStatement");l.range=range;var m=new node("CallExpression");m.range=range,m.callee=k(i,j("call",range),range),m.arguments=[];var n=new node("ThisExpression");n.range=range,m.arguments.push(n),l.expression=m,c[f].unshift(l)}if(0==currentConstructor.details.params.length)e.push(y([],currentConstructor));else{for(var o=[],g=0;g<currentConstructor.details.params.length;g++)o.push(p(g,currentConstructor.details.params[g].type)),currentConstructor.unshift(x(currentConstructor.details.params[g].paramName,g));e.push(y(o,currentConstructor,currentConstructor.details.params.length))}}return e},x=function(a,b){var c=new node("VariableDeclarator");c.range=[0,0],c.id=j(a,[0,0]),c.init=r(b);var d=new node("VariableDeclaration");return d.range=[0,0],d.declarations=[],d.declarations.push(c),d.kind="var",d},y=function(a,b,c){var d,e=[];if(0==a.length)d=z("==","BinaryExpression",r(0),j("undefined",[0,0]),[0,0]);else{if(1==a.length)d=a[0];else for(var f=1;f<a.length;f++)d=z("&&","LogicalExpression",a[f-1],a[f],[0,0]);for(var f=0;c>f;f++)e.push(r(f))}return E(d,b,[0,0],[0,0])};cocoJava.yy.createInvokeNode=function(a,b,c,d,e){var f;f="string"==typeof a?j(a,b):a;var g,h;return"string"==typeof c?(g=j(c,d),h=k(f,g,e)):(g=c.callee,h=k(f,g,e),c.callee=h,c)},cocoJava.yy.createSimpleMethodInvokeNode=function(a,b,c,d){var e=j(a,b),f=new node("CallExpression");return f.range=d,f.callee=e,f.arguments=c,f},cocoJava.yy.createConstructorCall=function(a,b,c,d){var e=new node("NewExpression");return e.range=d,e.callee=j(a,b),e.arguments=c,e},cocoJava.yy.createSuperInvokeNode=function(a,b,c){var d=a.callee;d.name="__super__"+d.name;var e=k(j("__ref",b),d,c);return a.callee=e,a},cocoJava.yy.createSuperConstructorNode=function(a,b,c){var d=new node("CallExpression");d.range=c,d.callee=k(j("__SuperClass",a),j("call",a),c),d.arguments=[];var e=new node("ThisExpression");return e.range=c,d.arguments.push(e),d.arguments=d.arguments.concat(b),d};cocoJava.yy.createVariableAttribution=function(a,b,c,d,e,f){var g=new node("ExpressionStatement");g.range=c;var h=new node("AssignmentExpression");if(h.range=c,h.operator="=","string"==typeof a)var i=j(a,b);else var i=a;var l;e?(l=k(i,e,b,!0),f&&(l=k(l,f,b,!0))):l=i,h.left=l;var m=B(a,b,d,e,f,c);return h.right=m,g.expression=h,g};cocoJava.yy.createEmptyStatement=function(a){var b=new node("EmptyStatement");return b.range=a,b},cocoJava.yy.createMathOperation=function(a,b,e,f){var g;switch(a){case"+":g="add";break;case"-":g="sub";break;case"*":g="mul";break;case"/":g="div";break;case"%":g="mod";break;case">>":g="rhs";break;case">>>":g="zrhs";break;case"<<":g="lhs";break;case"&":g="iand";break;case"|":g="ior";break;case"^":g="xor";break;default:d("Invalid Operation",f)}var h=new node("CallExpression");h.range=f,h.arguments=[],h.arguments.push(b),h.arguments.push(e);var i=new node("MemberExpression");i.range=f;var k=c(f),l=j(g,f);return i.object=k,i.property=l,i.computed=!1,h.callee=i,h};var z=cocoJava.yy.createExpression=function(a,b,d,e,f){if("=="==a){var g=new node("CallExpression");return g.range=f,g.callee=k(c(f),j("eq",f),f),g.arguments=[],g.arguments.push(d),g.arguments.push(e),g}if("!="==a){var g=new node("CallExpression");return g.range=f,g.callee=k(c(f),j("neq",f),f),g.arguments=[],g.arguments.push(d),g.arguments.push(e),g}var h=new node(b);return h.range=f,h.operator=a,h.left=d,h.right=e,h};cocoJava.yy.createUnaryExpression=function(a,d,e){if("-"==a){var f=new node("CallExpression");f.range=e,f.callee=k(b(e),j("createNumber",e),e),f.arguments=[];var g=new node("UnaryExpression");return g.range=e,g.operator=a,g.prefix="true",g.argument=d,f.arguments.push(g),f.arguments.push(s(d)),f}if("~"==a){var f=new node("CallExpression");return f.range=e,f.callee=k(c(e),j("nay",e),e),f.arguments=[],f.arguments.push(d),f}var g=new node("UnaryExpression");return g.range=e,g.operator=a,g.prefix="true",g.argument=d,g};var A=cocoJava.yy.createTernaryNode=function(a,b,c,d){var e=new node("ConditionalExpression");return e.range=d,e.test=a,e.consequent=b,e.alternate=c,e};cocoJava.yy.createVarDeclarationNode=function(a,b,c){var e=new node("VariableDeclaration");e.range=c,e.kind="var",e.javaType=a,e.declarations=[];for(var f=0;f<b.length;f++)currentDeclarator=b[f],"CallExpression"==b[f].init.type?b[f].init.arguments.push(getArgumentForName(a,c)):"NewExpression"==b[f].init.type&&("_NotInitialized"==b[f].init.callee.name?b[f].init.arguments[1]=getArgumentForName(a,c):b[f].init.callee.name!=a&&("int"==a&&"Integer"==b[f].init.callee.name?b[f].init=b[f].init.arguments[0]:"double"==a&&"Double"==b[f].init.callee.name?(b[f].init=b[f].init.arguments[0],
b[f].init.arguments[1]=getArgumentForName(a,c)):"double"==a&&"Integer"==b[f].init.callee.name?(b[f].init=b[f].init.arguments[0],b[f].init.arguments[1]=getArgumentForName(a,c)):"Double"==a&&"Integer"==b[f].init.callee.name?b[f].init.callee.name=a:d("Incompatible types",c)));return e.declarations=e.declarations.concat(b),e},cocoJava.yy.createVarDeclaratorNodeNoInit=function(a,b){var c=new node("VariableDeclarator");c.range=b;var d=j(a,b);c.id=d;var e=new node("NewExpression");return e.range=b,e.callee=j("_NotInitialized",b),e.arguments=[],e.arguments.push(getArgumentForName(a,b)),e.arguments.push(getArgumentForName("tempType",b)),e.arguments.push(getArgumentForRange(b)),c.init=e,c},cocoJava.yy.createVarDeclaratorNodeWithInit=function(a,b,c,d,e){var f=new node("VariableDeclarator");f.range=e;var g=j(a,e);if(f.id=g,"NewExpression"===c.type)f.init=c;else{var h=B(a,b,c,null,null,d);f.init=h}return f};var B=function(a,c,d,e,f,g){var h=new node("CallExpression");h.range=g,h.arguments=[],h.arguments.push(d),a.constructor==String?h.arguments.push(getArgumentForVariable(a,c)):h.arguments.push(a),e?h.arguments.push(e):h.arguments.push(getNullArgument()),f?h.arguments.push(f):h.arguments.push(getNullArgument()),h.arguments.push(getArgumentForRange(g));var i=k(b(g),j("checkAssignment",g),g,!1);return h.callee=i,h},C=cocoJava.yy.createExpressionStatementNode=function(a,b){var c=new node("ExpressionStatement");return c.range=b,c.expression=a,c},D=cocoJava.yy.createReturnStatementNode=function(a,b){var c=new node("ReturnStatement");return c.range=b,c.argument=a,c},E=cocoJava.yy.createSimpleIfNode=function(a,b,c,d){var e=new node("IfStatement");return e.range=d,e.test=a,consequentNode=new node("BlockStatement"),consequentNode.range=c,consequentNode.body=[],consequentNode.body=consequentNode.body.concat(b),e.consequent=consequentNode,e.alternate=null,e};cocoJava.yy.createSimpleIfElseNode=function(a,b,c,d,e,f){var g=E(a,b,c,f);return alternateNode=new node("BlockStatement"),alternateNode.range=e,alternateNode.body=[],alternateNode.body=alternateNode.body.concat(d),g.alternate=alternateNode,g};var F=cocoJava.yy.createSimpleListNode=function(a,b,c){var d=new node("VariableDeclarator");d.range=c;var e=j(a,b);d.id=e;var f=new node("ExpressionStatement");return d.init=f,d};cocoJava.yy.createListWithInitNode=function(a,b,c,d){var e=F(a,b,d);return e.init=c,e};var G=(cocoJava.yy.createListInitialization=function(a,b){var c=new node("NewExpression");c.range=b;var d=j("_ArrayList",b);return c.callee=d,c.arguments=[],c.arguments.push(getArgumentForName(a,b)),c},cocoJava.yy.createSimpleArrayNode=function(a,b,c){var d=new node("VariableDeclarator");d.range=c;var e=j(a,c);d.id=e;var f=new node("NewExpression");return f.range=c,f.callee=j("_NotInitialized",c),f.arguments=[],f.arguments.push(getArgumentForName(a,c)),f.arguments.push(getArgumentForName("tempType",c)),f.arguments.push(getArgumentForRange(c)),d.init=f,d});cocoJava.yy.createArrayWithInitNode=function(a,b,c,d){var e=G(a,b,d);return e.init=c,e},cocoJava.yy.createArrayWithNullInitialization=function(a,c){var d=new node("CallExpression");return d.range=c,d.callee=k(b(c),j("createNullArrayForIndexes",c),c),d.arguments=[],d.arguments.push(a),d.arguments.push(getArgumentForRange(c)),d},cocoJava.yy.createTwoDimensionalArray=function(a,c){var d=new node("CallExpression");return d.range=c,d.callee=k(b(c),j("createNullArrayForIndexes",c),c),d.arguments=[],d.arguments.push(a[0]),d.arguments.push(getArgumentForRange(c)),d.arguments.push(a[1]),d};var H=cocoJava.yy.createArrayWithInitialization=function Q(a,b){var c=new node("ArrayExpression");a.length;c.range=b,c.elements=[];for(var d=0;d<a.length;d++)a[d].constructor==Array?c.elements.push(Q(a[d],b)):c.elements.push(a[d]);return c};cocoJava.yy.createArrayFromInitialArray=function(a,b){for(var c=1,e=0;e<a.length;e++)a[e].constructor==Array&&(c=2);if(2==c)for(var e=0;e<a.length;e++){a[e].constructor!=Array&&d("Incompatible types on array",b);for(var f=0;f<a[e].length;f++)a[e][f].constructor==Array&&d("More than 2-dimension arrays are not supported",b)}return H(a,b)},cocoJava.yy.createSwitchNode=function(a,b,d){var e=new node("SwitchStatement");e.range=d;var f=new node("CallExpression");return f.range=d,f.callee=k(c(d),j("fixSwitch",d),d),f.arguments=[],f.arguments.push(a),f.arguments.push(getArgumentForRange(d)),e.discriminant=f,e.cases=[],e.cases=e.cases.concat(b),e},cocoJava.yy.createDefaultSwitchNode=function(a){return I(null,a)},cocoJava.yy.addSwitchCaseStatements=function(a,b){return a[a.length-1].consequent=b,a};var I=cocoJava.yy.createCaseSwitchNode=function(a,b){var d=new node("SwitchCase");d.range=b;var e=null;return a&&(e=new node("CallExpression"),e.range=b,e.callee=k(c(b),j("fixSwitch",b),b),e.arguments=[],e.arguments.push(a),e.arguments.push(getArgumentForRange(b))),d.test=e,d.consequent=[],d};cocoJava.yy.createSimpleWhileNode=function(a,b,c,d){var e=new node("WhileStatement");return e.range=d,e.test=a,blockNode=new node("BlockStatement"),blockNode.range=c,blockNode.body=[],blockNode.body=blockNode.body.concat(b),e.body=blockNode,e},cocoJava.yy.createDoWhileNode=function(a,b,c,d){var e=new node("DoWhileStatement");return e.range=d,e.test=a,blockNode=new node("BlockStatement"),blockNode.range=c,blockNode.body=[],blockNode.body=blockNode.body.concat(b),e.body=blockNode,e},cocoJava.yy.createBreakStatement=function(a){var b=new node("BreakStatement");return b.range=a,b},cocoJava.yy.createContinueStatement=function(a){var b=new node("ContinueStatement");return b.range=a,b},cocoJava.yy.createForStatement=function(a,b,c,d,e,f,g){var h=new node("ForStatement");if(h.range=g,h.init=a,h.test=b,1==c.length)h.update=c[0].expression;else if(c.length>1){var i=new node("SequenceExpression");i.range=d,i.expressions=[],_.each(c,function(a){i.expressions.push(a.expression)}),h.update=i}blockNode=new node("BlockStatement"),blockNode.range=f,blockNode.body=[],blockNode.body=blockNode.body.concat(e),h.body=blockNode;var k=new node("CallExpression");return k.range=g,k.callee=new node("FunctionExpression"),k.callee.range=g,k.callee.id=null,k.callee.params=[],k.callee.defaults=[],k.callee.body=new node("BlockStatement"),k.callee.body.range=g,k.callee.body.body=[],k.callee.body.body.push(h),k.callee.generator=!1,k.callee.expression=!1,k.arguments=[],forVarBlock=new node("BlockStatement"),forVarBlock.range=g,forVarBlock.body=[],forVarDeclaration=new node("VariableDeclaration"),forVarDeclaration.range=g,forVarDeclaration.declarations=[],forVarDeclaration.kind="var",forVarDeclarator=new node("VariableDeclarator"),forVarDeclarator.range=g,forVarDeclarator.id=j("__forReturn",g),forVarDeclarator.init=k,forVarDeclaration.declarations.push(forVarDeclarator),forVarBlock.body.push(forVarDeclaration),forVarBlock.body.push({type:"IfStatement",test:{type:"BinaryExpression",operator:"!==",left:{type:"Identifier",name:"__forReturn"},right:{type:"Identifier",name:"undefined"}},consequent:{type:"BlockStatement",body:[{type:"ReturnStatement",argument:{type:"Identifier",name:"__forReturn"}}]},alternate:null}),forVarBlock},cocoJava.yy.createEnhancedForStatement=function(a,b,c,d,e,f,g,h){var i=new node("ExpressionStatement");return i.range=h,enhancedForExpressionExpression=new node("CallExpression"),enhancedForExpressionExpression.range=h,enhancedConditional=A(z("instanceof","BinaryExpression",j(d,[0,0]),j("_ArrayList",[0,0]),[0,0]),k(j(d,e),j("_arraylist",h),h),j(d,[0,0]),[0,0]),enhancedForExpressionExpression.callee=k(enhancedConditional,j("forEach"),h),enhancedForExpressionArgument=new node("FunctionExpression"),enhancedForExpressionArgument.range=h,enhancedForExpressionArgument.id=null,enhancedForExpressionArgument.params=[],enhancedForExpressionArgument.params.push(j(b,c)),enhancedForExpressionArgument.defaults=[],enhancedForExpressionArgumentBlock=new node("BlockStatement"),enhancedForExpressionArgumentBlock.range=g,enhancedForExpressionArgumentBlock.body=f,enhancedForExpressionArgument.body=enhancedForExpressionArgumentBlock,enhancedForExpressionArgument.generator=!1,enhancedForExpressionArgument.expression=!1,enhancedForExpressionExpression.arguments=[],enhancedForExpressionExpression.arguments.push(enhancedForExpressionArgument),i.expression=enhancedForExpressionExpression,i},cocoJava.yy.createConsoleLogExpression=function(a,c,d){var e=new node("CallExpression");e.range=d,e.arguments=[],e.arguments.push(c);var f=new node("MemberExpression");f.range=d;var g,h=b(d);return g="System.out.print"==a?j("print",d):j("println",d),f.object=h,f.property=g,f.computed=!1,e.callee=f,e},cocoJava.yy.createClassCastNode=function(a,c,d,e){var f=new node("CallExpression");return f.range=e,f.arguments=[],"int"===a||"double"===a||"Object"===a?f.arguments.push(getArgumentForName(a,c)):f.arguments.push(j(a,c)),f.arguments.push(d),f.arguments.push(getArgumentForRange(e)),f.callee=k(b(e),j("classCast",e),e,!1),f};var J=/\r\n|[\n\r\u2028\u2029]/g,K=function(b){offset=b[0];for(var c=1,d=0;;){J.lastIndex=d;var e=J.exec(a);if(!(e&&e.index<offset))break;++c,d=e.index+e[0].length}return{line:c,column:offset-d}};try{g=cocoJava.parse(a)}catch(L){throw L.hash&&(L.message="Unexpected "+L.hash.text,L.hash.expected.indexOf("'LINE_TERMINATOR'")>=0&&(L.message=L.message+" maybe a ';'' is missing!"),L.loc={line:L.hash.line,column:L.hash.loc.first_column},L.range=L.hash.loc.range),L}var M=new node("ExpressionStatement"),N=new node("CallExpression");return N.callee=k(b([0,0]),j("printLog",[0,0]),[0,0]),N.arguments=[],M.expression=N,g.body.push(M),g},exports.wrapFunction=wrapFunction=function(a,b,c,d){if(node=function(a){this.type=a},astBody=a.body,void 0!==c&&""!==c&&void 0!==d&&""!==d){var e=new node("ReturnStatement"),f=new node("CallExpression"),g=new node("Identifier");g.name=c;var h=new node("Identifier");h.name=d;var i=new node("MemberExpression");i.computed=!1,i.object=g,i.property=h,f.callee=i,f.arguments=[],e.argument=f,astBody.push(e)}else if("CallExpression"===astBody[astBody.length-1].expression.type){var e=new node("ReturnStatement");e.argument=astBody[astBody.length-1].expression,astBody[astBody.length-1]=e}return fooFunctNode=new node("FunctionDeclaration"),fooId=new node("Identifier"),b?fooId.name=b:fooId.name="foo",fooFunctNode.id=fooId,fooFunctNode.params=[],fooBody=new node("BlockStatement"),fooBody.body=[],functReturn=new node("ReturnStatement"),functReturnArgument=new node("CallExpression"),functReturnArgumentCallee=new node("MemberExpression"),functReturnArgumentCallee.computed=!1,functReturnArgumentCalleeObject=new node("FunctionExpression"),functReturnArgumentCalleeObject.params=[],functReturnArgumentCalleeObject.defaults=[],functReturnArgumentCalleeObjectBody=new node("BlockStatement"),functReturnArgumentCalleeObjectBody.body=astBody,functReturnArgumentCalleeObject.body=functReturnArgumentCalleeObjectBody,functReturnArgumentCalleeObject.generator=!1,functReturnArgumentCalleeObject.expression=!1,functReturnArgumentCallee.object=functReturnArgumentCalleeObject,functReturnArgumentCalleeProperty=new node("Identifier"),functReturnArgumentCalleeProperty.name="call",functReturnArgumentCallee.property=functReturnArgumentCalleeProperty,functReturnArgument.callee=functReturnArgumentCallee,functReturnArgument.arguments=[],functReturnArgumentArgumentThis=new node("ThisExpression"),functReturnArgument.arguments.push(functReturnArgumentArgumentThis),functReturn.argument=functReturnArgument,fooBody.body.push(functReturn),fooFunctNode.body=fooBody,a.body=[],a.body.push(fooFunctNode),a},exports.toNode=function(a){function b(){}var b=new b;for(var c in a)b[c]=a[c];return b},exports._Object=_Object=function(){function a(){this.__id=b()}function b(){return c++}var c=0;return a.prototype.__type="Object",a.prototype.__id=function(){var a=b();return this.__id=function(){return a},a},a.prototype.equals=function(a){return this===a},a.prototype.toString=function(){return this.__string?this.__string:this.__type+"@"+this.__id},a}.call(this),exports._NotInitialized=_NotInitialized=function(){return _NotInitialized=function(a,b,c){this._name=a,this._initType=b,this._range=c},_NotInitialized.prototype.toString=function(){___JavaRuntime.raise("Variable "+this._name+" might not have been initialized",this._range)},_NotInitialized}.call(this),exports.Integer=Integer=function(){return Integer=function(a){if(_Object.call(this),a.constructor!=Number)throw new SyntaxError("Integer expects an int not "+a.constructor.name);this.value=___JavaRuntime.functions.createNumber(Math.floor(a),"int")},Integer.prototype=Object.create(_Object.prototype),Integer.prototype.__type="Integer",Integer.prototype.intValue=function(){return this.value},Integer.prototype.toString=function(){return""+this.value},Integer}.call(this),exports.Double=Double=function(){return Double=function(a){if(_Object.call(this),a.constructor!=Number)throw new SyntaxError("Double expects an int not "+a.constructor.name);this.value=___JavaRuntime.functions.createNumber(a,"double")},Double.prototype=Object.create(_Object.prototype),Double.prototype.__type="Double",Double.prototype.intValue=function(){return ___JavaRuntime.functions.createNumber(Math.floor(this.value),"int")},Double.prototype.doubleValue=function(){return this.value},Double.prototype.toString=function(){return this.value%1!=0?""+this.value:""+this.value.toFixed(1)},Double}.call(this),exports._ArrayList=_ArrayList=function(){return _ArrayList=function(a){_Object.call(this),this._type=a,this._arraylist=[]},_ArrayList.prototype=Object.create(_Object.prototype),_ArrayList.prototype.__type="ArrayList",_ArrayList.prototype.size=function(){return this._arraylist.length},_ArrayList.prototype.add=function(a,b){if(void 0==b){if(objectType=___JavaRuntime.functions.determineType(a),"int"==objectType&&"Integer"==this._type&&(a=new Integer(a)),"double"==objectType&&"Double"==this._type&&(a=new Integer(a)),objectType=___JavaRuntime.functions.determineType(a),objectType!=this._type)throw new SyntaxError("No suitable 'add' method found for "+objectType);return this._arraylist.push(a),!0}if(objectType=___JavaRuntime.functions.determineType(b),"int"==objectType&&"Integer"==this._type&&(b=new Integer(b)),"double"==objectType&&"Double"==this._type&&(b=new Integer(b)),b=___JavaRuntime.functions.determineType(b),objectType!=this._type)throw new SyntaxError("No suitable 'add' method found for "+objectType);if(a>0&&a<this._arraylist.length)return this._arraylist.splice(a,0,b),!0;throw new SyntaxError("Index out of bounds Exception!")},_ArrayList.prototype.get=function(a){if(0>a||a>this._arraylist.length)throw new SyntaxError("Index out of bounds Exception!");return this._arraylist[a]},_ArrayList.prototype.set=function(a,b){var c;if(objectType=___JavaRuntime.functions.determineType(b),"int"==objectType&&"Integer"==this._type&&(b=new Integer(b)),"double"==objectType&&"Double"==this._type&&(b=new Integer(b)),objectType=___JavaRuntime.functions.determineType(b),objectType!=this._type)throw new SyntaxError("No suitable 'set' method found for "+objectType);if(0>a||a>this._arraylist.length)throw new SyntaxError("Index out of bounds Exception!");var c=this._arraylist[a];if("int"==___JavaRuntime.functions.determineType(a)||"Integer"==___JavaRuntime.functions.determineType(a))return"Integer"==___JavaRuntime.functions.determineType(a)?this._arraylist[a.intValue()]=b:this._arraylist[a]=b,c;throw new SyntaxError("Incompatible types required: int, found: "+___JavaRuntime.functions.determineType(a))},_ArrayList.prototype.remove=function(a){if(0>a||a>this._arraylist.length)throw new SyntaxError("Index out of bounds Exception!");return this._arraylist.splice(a,1)},_ArrayList}.call(this),exports.___JavaRuntime=___JavaRuntime={BufferedConsole:"",sourceCode:"",raise:function(a,b){for(var c=b[0],d=/\r\n|[\n\r\u2028\u2029]/g,e=1,f=0;;){d.lastIndex=f;var g=d.exec(___JavaRuntime.sourceCode);if(!(g&&g.index<c))break;++e,f=g.index+g[0].length}var h={line:e,column:c-f},i=new SyntaxError(a);throw i.pos=b[0],i.loc=h,i.range=b,i},loadEnv:function(){___JavaRuntime.BufferedConsole="",String.prototype.compareTo=function(a){for(var b=0;b<this.length;b++)if(this[b].charCodeAt(0)!=a.charCodeAt(b))return ___JavaRuntime.functions.createNumber(this[b].charCodeAt(0)-a.charCodeAt(b),"int");return ___JavaRuntime.functions.createNumber(this.length-a.length,"int")},String.prototype.compareToIgnoreCase=function(a){for(var b=0;b<this.length;b++)if(this[b].toLowerCase().charCodeAt(0)!=a.toLowerCase().charCodeAt(b))return ___JavaRuntime.functions.createNumber(this[b].toLowerCase().charCodeAt(0)-a.toLowerCase().charCodeAt(b),"int");return ___JavaRuntime.functions.createNumber(this.length-a.length,"int")},String.prototype._length=function(){return ___JavaRuntime.functions.createNumber(this.length,"int")},Array.prototype.__defineGetter__("_length",function(){return ___JavaRuntime.functions.createNumber(this.length,"int")})},loadLists:function(){},functions:{printLog:function(){""!=___JavaRuntime.BufferedConsole&&console.log(___JavaRuntime.BufferedConsole)},print:function(a){___JavaRuntime.BufferedConsole+=a},println:function(a){___JavaRuntime.BufferedConsole+=a,___JavaRuntime.BufferedConsole+="\n"},createNumber:function(a,b){var c=new Number(a);return c._type=b,c},checkAssignment:function(a,b,c,d,e,f){"function"==typeof a&&(a=a());var g,h=___JavaRuntime.functions.determineType(a);if(g=f?f:d?___JavaRuntime.functions.determineType(b[c][d]):c?___JavaRuntime.functions.determineType(b[c]):___JavaRuntime.functions.determineType(b),h==g)return a;if("Object"==g)return"int"==h?new Integer(a):"double"==g?new Double(a):a;if("int"==g&&"Integer"==h)return a.intValue();if("Integer"==g&&"int"==h)return new Integer(a);if("double"==g&&"Integer"==h){var i=a.intValue();return i._type="double",i}return"double"==g&&"int"==h?(a._type="double",a):"double"==g&&"Double"==h?a.doubleValue():"Double"==g&&"Integer"==h?new Double(a.intValue()):"Double"==g&&"int"==h?new Double(a):"Double"==g&&"double"==h?new Double(a):"?"==g||"?"==h?a:void ___JavaRuntime.raise("Incompatible types required "+g+" found "+h,e)},determineType:function(a){return void 0!=a?a instanceof _NotInitialized?a._initType:a.constructor==Array?"?":a.constructor==Number?a._type:a.constructor==String?"String":a instanceof _Object&&a.__type?a.__type:"boolean"==typeof a?"boolean":"?":void 0},findMethodName:function(methodSignature,args,possibleFunctions){for(var argTypes=[],i=0;i<args.length;i++)argTypes.push(___JavaRuntime.functions.determineType(args[i]));for(var typeMatcher=function(arg1,arg2){return"Object"==arg1&&(arg1="_Object"),"Object"==arg2&&(arg2="_Object"),arg1==arg2?0:"int"==arg1?"Integer"==arg2||"double"==arg2||"_Object"==arg2?1:-256:"double"==arg1?"Double"==arg2||"_Object"==arg2?1:-256:"Integer"==arg1?"int"==arg2||"double"==arg2?1:-256:"Double"==arg1?"double"==arg2?1:-256:"int"==arg2||"double"==arg2?-256:eval(arg1+".prototype")instanceof eval(arg2)?1:-256},reducedByNumber=[],i=0;i<possibleFunctions.length;i++)possibleFunctions[i].length==argTypes.length&&reducedByNumber.push(possibleFunctions[i]);if(0==reducedByNumber.length)___JavaRuntime.raise("No suitable "+methodSignature+" method found for "+argTypes,[0,0]);else{for(var exactMatch=void 0,reducedByPrototype=[],i=0;i<reducedByNumber.length;i++){for(var sum=0,j=0;j<argTypes.length;j++)sum+=typeMatcher(argTypes[j],reducedByNumber[i][j]);if(0==sum){exactMatch=reducedByNumber[i];break}sum>0&&reducedByPrototype.push(reducedByNumber[i])}if(exactMatch)return"__"+methodSignature+possibleFunctions.indexOf(exactMatch);if(reducedByPrototype.length>0)return"__"+methodSignature+possibleFunctions.indexOf(reducedByPrototype[0]);___JavaRuntime.raise("No suitable "+methodSignature+" method found for "+argTypes,[0,0])}___JavaRuntime.raise("No suitable "+methodSignature+" method found for "+argTypes,[0,0])},getProperArgs:function(methodSignature,args,possibleFunctions){for(var argTypes=[],i=0;i<args.length;i++)argTypes.push(___JavaRuntime.functions.determineType(args[i]));for(var typeMatcher=function(arg1,arg2){return"Object"==arg1&&(arg1="_Object"),"Object"==arg2&&(arg2="_Object"),arg1==arg2?0:"int"==arg1?"Integer"==arg2||"double"==arg2||"_Object"==arg2?1:-256:"double"==arg1?"Double"==arg2||"_Object"==arg2?1:-256:"Integer"==arg1?"int"==arg2||"double"==arg2?1:-256:"Double"==arg1?"double"==arg2?1:-256:"int"==arg2||"double"==arg2?-256:eval(arg1+".prototype")instanceof eval(arg2)?1:-256},reducedByNumber=[],i=0;i<possibleFunctions.length;i++)possibleFunctions[i].length==argTypes.length&&reducedByNumber.push(possibleFunctions[i]);if(0!=reducedByNumber.length){for(var exactMatch=void 0,reducedByPrototype=[],i=0;i<reducedByNumber.length;i++){for(var sum=0,j=0;j<argTypes.length;j++)sum+=typeMatcher(argTypes[j],reducedByNumber[i][j]);if(0==sum){exactMatch=reducedByNumber[i];break}sum>0&&reducedByPrototype.push(reducedByNumber[i])}if(exactMatch){for(var retArgs=[],i=0;i<exactMatch.length;i++)retArgs.push(args[i]);return retArgs}for(var retArgs=[],i=0;i<reducedByPrototype[0].length;i++)"int"==reducedByPrototype[0][i]||"Object"==reducedByPrototype[0][i]||"double"==reducedByPrototype[0][i]?retArgs.push(___JavaRuntime.functions.classCast(reducedByPrototype[0][i],args[i],[0,0])):retArgs.push(___JavaRuntime.functions.classCast(eval(reducedByPrototype[0][i]),args[i],[0,0]));return retArgs}___JavaRuntime.raise("No suitable "+methodSignature+" method found for "+argTypes,[0,0])},createNullArrayForIndexes:function(a,b,c,d){"function"==typeof a&&(a=a()),tIndex1=___JavaRuntime.functions.determineType(a),"int"!=tIndex1&&("Integer"!=tIndex1&&___JavaRuntime.raise("Possible loss of precision, received "+tIndex1+", expected int"),a=a.intValue);var e=c;4==arguments.length&&(e=d,"function"==typeof c&&(c=c()),tIndex2=___JavaRuntime.functions.determineType(c),"int"!=tIndex2&&("Integer"!=tIndex2&&___JavaRuntime.raise("Possible loss of precision, received "+tIndex2+", expected int"),c=c.intValue));for(var f=[],g=0;a>g;g++)if(c){for(var h=[],i=0;c>i;i++)e?h.push(new _NotInitialized("arr",e.replace("[","").replace("[","").replace("]","").replace("]",""),b)):h.push(new _NotInitialized("arr","?",b));f.push(h)}else e?f.push(new _NotInitialized("arr",e.replace("[","").replace("]",""),b)):f.push(new _NotInitialized("arr","?",b));return f},classCast:function(a,b,c){var d=function(a){if(a.constructor==Number){var b=new Number(a);return a._type&&(b._type=a._type),b}if(a.constructor==String){var b=a;return b}var b=new a.constructor;for(var c in a)"object"==typeof a[c]&&null!=a[c]?b[c]=d(a[c]):b[c]=a[c];return b.__proto__=a.__proto__,b},e=d(b);if(a.constructor==String){if(e.constructor==Number){if("int"===a)return ___JavaRuntime.functions.createNumber(Math.floor(e),"int");if("double"===a)return ___JavaRuntime.functions.createNumber(e,"double")}if(e instanceof Integer){if("int"===a)return e.intValue();if("double"===a)return ___JavaRuntime.functions.createNumber(e.intValue(),"double")}if(e instanceof _Object&&e.hasOwnProperty("value")){if("int"===a)return ___JavaRuntime.functions.createNumber(Math.floor(e.value),"int");if("double"===a)return ___JavaRuntime.functions.createNumber(e.value,"double")}if(e instanceof Double){if("int"===a)return ___JavaRuntime.functions.createNumber(Math.floor(e.doubleValue()),"int");if("double"===a)return e.doubleValue()}if("Object"==a){if(e instanceof _Object)return e.__type="Object",e.__proto__=Object.create(_Object.prototype).__proto__,e;if(e.constructor==Number){if("double"==e._type)return ___JavaRuntime.functions.classCast("Object",___JavaRuntime.functions.classCast(Double,e,c),c);if("int"==e._type)return ___JavaRuntime.functions.classCast("Object",___JavaRuntime.functions.classCast(Integer,e,c),c)}if(e.constructor==String){var f;return f=new _Object,f.__string=e,f}}___JavaRuntime.raise("Incompatible types "+e.__type+" cannot be cast to "+a,c)}else if(a==String){if(!(e instanceof _Object))return""+e;if(e.hasOwnProperty("__string"))return e.__string;___JavaRuntime.raise("Invalid Class cast "+e.__type+" cannot be cast to String",c)}else if(e.constructor==Number){if(a==Integer)return new Integer(e);if(a==Double)return new Double(e)}else{if(e instanceof _Object)return e.__proto__=Object.create(a.prototype).__proto__,e.__type=e.__proto__.__type,e;___JavaRuntime.raise("Invalid Class cast",c)}}},ops:{eq:function(a,b){return void 0==a&&void 0==b?!0:void 0==a||void 0==b?!1:a.constructor==Number&&b.constructor==Number?Number(a)==Number(b):a==b},neq:function(a,b){return void 0==a&&void 0==b?!1:void 0==a||void 0==b?!0:a.constructor==Number&&b.constructor==Number?Number(a)!=Number(b):a!=b},fixSwitch:function(a,b){return tArg=___JavaRuntime.functions.determineType(a),"String"==tArg?a:"Integer"==tArg?Number(a.intValue()):"int"==tArg?Number(a):void ___JavaRuntime.raise("Switch requires int or String but got "+tArg,b)},add:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"String"!=tArg1&&"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '+' got "+tArg1);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"String"==tArg1?a+b:"Integer"==tArg1?new Integer(Math.floor(a+b)):"Double"==tArg1?new Double(a+b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a+b),"int"):___JavaRuntime.functions.createNumber(a+b,"double")},sub:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '-' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '-' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a-b)):"Double"==tArg1?new Double(a-b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a-b),"int"):___JavaRuntime.functions.createNumber(a-b,"double")},mul:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '*' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '*' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a*b)):"Double"==tArg1?new Double(a*b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a*b),"int"):___JavaRuntime.functions.createNumber(a*b,"double")},div:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '/' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '/' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a/b)):"Double"==tArg1?new Double(a/b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a/b),"int"):___JavaRuntime.functions.createNumber(a/b,"double")},mod:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '%' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a%b)):"Double"==tArg1?new Double(a%b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a%b),"int"):___JavaRuntime.functions.createNumber(a%b,"double")},rhs:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '%' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a>>b)):"Double"==tArg1?new Double(a>>b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a>>b),"int"):___JavaRuntime.functions.createNumber(a>>b,"double")},zrhs:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '%' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a>>>b)):"Double"==tArg1?new Double(a>>>b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a>>>b),"int"):___JavaRuntime.functions.createNumber(a>>>b,"double")},lhs:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '%' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a<<b)):"Double"==tArg1?new Double(a<<b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a<<b),"int"):___JavaRuntime.functions.createNumber(a<<b,"double")},xor:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '%' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a^b)):"Double"==tArg1?new Double(a^b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a^b),"int"):___JavaRuntime.functions.createNumber(a^b,"double")},iand:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '%' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a&b)):"Double"==tArg1?new Double(a&b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a&b),"int"):___JavaRuntime.functions.createNumber(a&b,"double")},ior:function(a,b){if(tArg1=___JavaRuntime.functions.determineType(a),tArg2=___JavaRuntime.functions.determineType(b),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);if("int"!=tArg2&&"double"!=tArg2&&"Integer"!=tArg2&&"Double"!=tArg2)throw new SyntaxError("Bad operand type for '%' got "+tArg2);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),("Integer"==tArg2||"Double"==tArg2)&&(b=b.value),"Integer"==tArg1?new Integer(Math.floor(a|b)):"Double"==tArg1?new Double(a|b):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(a|b),"int"):___JavaRuntime.functions.createNumber(a|b,"double");
},nay:function(a){if(tArg1=___JavaRuntime.functions.determineType(a),"int"!=tArg1&&"double"!=tArg1&&"Integer"!=tArg1&&"Double"!=tArg1)throw new SyntaxError("Bad operand type for '%' got "+tArg1);return("Integer"==tArg1||"Double"==tArg1)&&(a=a.value),"Integer"==tArg1?new Integer(Math.floor(~a)):"Double"==tArg1?new Double(~a):"int"==tArg1?___JavaRuntime.functions.createNumber(Math.floor(~a),"int"):___JavaRuntime.functions.createNumber(~a,"double")}}}});var ArrayProto=Array.prototype,ObjProto=Object.prototype,FuncProto=Function.prototype,push=ArrayProto.push,slice=ArrayProto.slice,toString=ObjProto.toString,hasOwnProperty=ObjProto.hasOwnProperty,nativeIsArray=Array.isArray,nativeKeys=Object.keys,nativeBind=FuncProto.bind,nativeCreate=Object.create,Ctor=function(){},_=function(a){return a instanceof _?a:this instanceof _?void(this._wrapped=a):new _(a)};_.VERSION="1.8.3";var optimizeCb=function(a,b,c){if(void 0===b)return a;switch(null==c?3:c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)};case 4:return function(c,d,e,f){return a.call(b,c,d,e,f)}}return function(){return a.apply(b,arguments)}},cb=function(a,b,c){return null==a?_.identity:_.isFunction(a)?optimizeCb(a,b,c):_.isObject(a)?_.matcher(a):_.property(a)};_.iteratee=function(a,b){return cb(a,b,1/0)};var createAssigner=function(a,b){return function(c){var d=arguments.length;if(2>d||null==c)return c;for(var e=1;d>e;e++)for(var f=arguments[e],g=a(f),h=g.length,i=0;h>i;i++){var j=g[i];b&&void 0!==c[j]||(c[j]=f[j])}return c}},baseCreate=function(a){if(!_.isObject(a))return{};if(nativeCreate)return nativeCreate(a);Ctor.prototype=a;var b=new Ctor;return Ctor.prototype=null,b},property=function(a){return function(b){return null==b?void 0:b[a]}},MAX_ARRAY_INDEX=Math.pow(2,53)-1,getLength=property("length"),isArrayLike=function(a){var b=getLength(a);return"number"==typeof b&&b>=0&&MAX_ARRAY_INDEX>=b};_.each=_.forEach=function(a,b,c){b=optimizeCb(b,c);var d,e;if(isArrayLike(a))for(d=0,e=a.length;e>d;d++)b(a[d],d,a);else{var f=_.keys(a);for(d=0,e=f.length;e>d;d++)b(a[f[d]],f[d],a)}return a},_.map=_.collect=function(a,b,c){b=cb(b,c);for(var d=!isArrayLike(a)&&_.keys(a),e=(d||a).length,f=Array(e),g=0;e>g;g++){var h=d?d[g]:g;f[g]=b(a[h],h,a)}return f},_.reduce=_.foldl=_.inject=createReduce(1),_.reduceRight=_.foldr=createReduce(-1),_.find=_.detect=function(a,b,c){var d;return d=isArrayLike(a)?_.findIndex(a,b,c):_.findKey(a,b,c),void 0!==d&&-1!==d?a[d]:void 0},_.filter=_.select=function(a,b,c){var d=[];return b=cb(b,c),_.each(a,function(a,c,e){b(a,c,e)&&d.push(a)}),d},_.reject=function(a,b,c){return _.filter(a,_.negate(cb(b)),c)},_.every=_.all=function(a,b,c){b=cb(b,c);for(var d=!isArrayLike(a)&&_.keys(a),e=(d||a).length,f=0;e>f;f++){var g=d?d[f]:f;if(!b(a[g],g,a))return!1}return!0},_.some=_.any=function(a,b,c){b=cb(b,c);for(var d=!isArrayLike(a)&&_.keys(a),e=(d||a).length,f=0;e>f;f++){var g=d?d[f]:f;if(b(a[g],g,a))return!0}return!1},_.contains=_.includes=_.include=function(a,b,c,d){return isArrayLike(a)||(a=_.values(a)),("number"!=typeof c||d)&&(c=0),_.indexOf(a,b,c)>=0},_.invoke=function(a,b){var c=slice.call(arguments,2),d=_.isFunction(b);return _.map(a,function(a){var e=d?b:a[b];return null==e?e:e.apply(a,c)})},_.pluck=function(a,b){return _.map(a,_.property(b))},_.where=function(a,b){return _.filter(a,_.matcher(b))},_.findWhere=function(a,b){return _.find(a,_.matcher(b))},_.max=function(a,b,c){var d,e,f=-(1/0),g=-(1/0);if(null==b&&null!=a){a=isArrayLike(a)?a:_.values(a);for(var h=0,i=a.length;i>h;h++)d=a[h],d>f&&(f=d)}else b=cb(b,c),_.each(a,function(a,c,d){e=b(a,c,d),(e>g||e===-(1/0)&&f===-(1/0))&&(f=a,g=e)});return f},_.min=function(a,b,c){var d,e,f=1/0,g=1/0;if(null==b&&null!=a){a=isArrayLike(a)?a:_.values(a);for(var h=0,i=a.length;i>h;h++)d=a[h],f>d&&(f=d)}else b=cb(b,c),_.each(a,function(a,c,d){e=b(a,c,d),(g>e||e===1/0&&f===1/0)&&(f=a,g=e)});return f},_.shuffle=function(a){for(var b,c=isArrayLike(a)?a:_.values(a),d=c.length,e=Array(d),f=0;d>f;f++)b=_.random(0,f),b!==f&&(e[f]=e[b]),e[b]=c[f];return e},_.sample=function(a,b,c){return null==b||c?(isArrayLike(a)||(a=_.values(a)),a[_.random(a.length-1)]):_.shuffle(a).slice(0,Math.max(0,b))},_.sortBy=function(a,b,c){return b=cb(b,c),_.pluck(_.map(a,function(a,c,d){return{value:a,index:c,criteria:b(a,c,d)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;if(c!==d){if(c>d||void 0===c)return 1;if(d>c||void 0===d)return-1}return a.index-b.index}),"value")};var group=function(a){return function(b,c,d){var e={};return c=cb(c,d),_.each(b,function(d,f){var g=c(d,f,b);a(e,d,g)}),e}};_.groupBy=group(function(a,b,c){_.has(a,c)?a[c].push(b):a[c]=[b]}),_.indexBy=group(function(a,b,c){a[c]=b}),_.countBy=group(function(a,b,c){_.has(a,c)?a[c]++:a[c]=1}),_.toArray=function(a){return a?_.isArray(a)?slice.call(a):isArrayLike(a)?_.map(a,_.identity):_.values(a):[]},_.size=function(a){return null==a?0:isArrayLike(a)?a.length:_.keys(a).length},_.partition=function(a,b,c){b=cb(b,c);var d=[],e=[];return _.each(a,function(a,c,f){(b(a,c,f)?d:e).push(a)}),[d,e]},_.first=_.head=_.take=function(a,b,c){return null!=a?null==b||c?a[0]:_.initial(a,a.length-b):void 0},_.initial=function(a,b,c){return slice.call(a,0,Math.max(0,a.length-(null==b||c?1:b)))},_.last=function(a,b,c){return null!=a?null==b||c?a[a.length-1]:_.rest(a,Math.max(0,a.length-b)):void 0},_.rest=_.tail=_.drop=function(a,b,c){return slice.call(a,null==b||c?1:b)},_.compact=function(a){return _.filter(a,_.identity)};var flatten=function(a,b,c,d){for(var e=[],f=0,g=d||0,h=getLength(a);h>g;g++){var i=a[g];if(isArrayLike(i)&&(_.isArray(i)||_.isArguments(i))){b||(i=flatten(i,b,c));var j=0,k=i.length;for(e.length+=k;k>j;)e[f++]=i[j++]}else c||(e[f++]=i)}return e};_.flatten=function(a,b){return flatten(a,b,!1)},_.without=function(a){return _.difference(a,slice.call(arguments,1))},_.uniq=_.unique=function(a,b,c,d){_.isBoolean(b)||(d=c,c=b,b=!1),null!=c&&(c=cb(c,d));for(var e=[],f=[],g=0,h=getLength(a);h>g;g++){var i=a[g],j=c?c(i,g,a):i;b?(g&&f===j||e.push(i),f=j):c?_.contains(f,j)||(f.push(j),e.push(i)):_.contains(e,i)||e.push(i)}return e},_.union=function(){return _.uniq(flatten(arguments,!0,!0))},_.intersection=function(a){for(var b=[],c=arguments.length,d=0,e=getLength(a);e>d;d++){var f=a[d];if(!_.contains(b,f)){for(var g=1;c>g&&_.contains(arguments[g],f);g++);g===c&&b.push(f)}}return b},_.difference=function(a){var b=flatten(arguments,!0,!0,1);return _.filter(a,function(a){return!_.contains(b,a)})},_.zip=function(){return _.unzip(arguments)},_.unzip=function(a){for(var b=a&&_.max(a,getLength).length||0,c=Array(b),d=0;b>d;d++)c[d]=_.pluck(a,d);return c},_.object=function(a,b){for(var c={},d=0,e=getLength(a);e>d;d++)b?c[a[d]]=b[d]:c[a[d][0]]=a[d][1];return c},_.findIndex=createPredicateIndexFinder(1),_.findLastIndex=createPredicateIndexFinder(-1),_.sortedIndex=function(a,b,c,d){c=cb(c,d,1);for(var e=c(b),f=0,g=getLength(a);g>f;){var h=Math.floor((f+g)/2);c(a[h])<e?f=h+1:g=h}return f},_.indexOf=createIndexFinder(1,_.findIndex,_.sortedIndex),_.lastIndexOf=createIndexFinder(-1,_.findLastIndex),_.range=function(a,b,c){null==b&&(b=a||0,a=0),c=c||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=Array(d),f=0;d>f;f++,a+=c)e[f]=a;return e};var executeBound=function(a,b,c,d,e){if(!(d instanceof b))return a.apply(c,e);var f=baseCreate(a.prototype),g=a.apply(f,e);return _.isObject(g)?g:f};_.bind=function(a,b){if(nativeBind&&a.bind===nativeBind)return nativeBind.apply(a,slice.call(arguments,1));if(!_.isFunction(a))throw new TypeError("Bind must be called on a function");var c=slice.call(arguments,2),d=function(){return executeBound(a,d,b,this,c.concat(slice.call(arguments)))};return d},_.partial=function(a){var b=slice.call(arguments,1),c=function(){for(var d=0,e=b.length,f=Array(e),g=0;e>g;g++)f[g]=b[g]===_?arguments[d++]:b[g];for(;d<arguments.length;)f.push(arguments[d++]);return executeBound(a,c,this,this,f)};return c},_.bindAll=function(a){var b,c,d=arguments.length;if(1>=d)throw new Error("bindAll must be passed function names");for(b=1;d>b;b++)c=arguments[b],a[c]=_.bind(a[c],a);return a},_.memoize=function(a,b){var c=function(d){var e=c.cache,f=""+(b?b.apply(this,arguments):d);return _.has(e,f)||(e[f]=a.apply(this,arguments)),e[f]};return c.cache={},c},_.delay=function(a,b){var c=slice.call(arguments,2);return setTimeout(function(){return a.apply(null,c)},b)},_.defer=_.partial(_.delay,_,1),_.throttle=function(a,b,c){var d,e,f,g=null,h=0;c||(c={});var i=function(){h=c.leading===!1?0:_.now(),g=null,f=a.apply(d,e),g||(d=e=null)};return function(){var j=_.now();h||c.leading!==!1||(h=j);var k=b-(j-h);return d=this,e=arguments,0>=k||k>b?(g&&(clearTimeout(g),g=null),h=j,f=a.apply(d,e),g||(d=e=null)):g||c.trailing===!1||(g=setTimeout(i,k)),f}},_.debounce=function(a,b,c){var d,e,f,g,h,i=function(){var j=_.now()-g;b>j&&j>=0?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),d||(f=e=null)))};return function(){f=this,e=arguments,g=_.now();var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}},_.wrap=function(a,b){return _.partial(b,a)},_.negate=function(a){return function(){return!a.apply(this,arguments)}},_.compose=function(){var a=arguments,b=a.length-1;return function(){for(var c=b,d=a[b].apply(this,arguments);c--;)d=a[c].call(this,d);return d}},_.after=function(a,b){return function(){return--a<1?b.apply(this,arguments):void 0}},_.before=function(a,b){var c;return function(){return--a>0&&(c=b.apply(this,arguments)),1>=a&&(b=null),c}},_.once=_.partial(_.before,2);var hasEnumBug=!{toString:null}.propertyIsEnumerable("toString"),nonEnumerableProps=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];_.keys=function(a){if(!_.isObject(a))return[];if(nativeKeys)return nativeKeys(a);var b=[];for(var c in a)_.has(a,c)&&b.push(c);return hasEnumBug&&collectNonEnumProps(a,b),b},_.allKeys=function(a){if(!_.isObject(a))return[];var b=[];for(var c in a)b.push(c);return hasEnumBug&&collectNonEnumProps(a,b),b},_.values=function(a){for(var b=_.keys(a),c=b.length,d=Array(c),e=0;c>e;e++)d[e]=a[b[e]];return d},_.mapObject=function(a,b,c){b=cb(b,c);for(var d,e=_.keys(a),f=e.length,g={},h=0;f>h;h++)d=e[h],g[d]=b(a[d],d,a);return g},_.pairs=function(a){for(var b=_.keys(a),c=b.length,d=Array(c),e=0;c>e;e++)d[e]=[b[e],a[b[e]]];return d},_.invert=function(a){for(var b={},c=_.keys(a),d=0,e=c.length;e>d;d++)b[a[c[d]]]=c[d];return b},_.functions=_.methods=function(a){var b=[];for(var c in a)_.isFunction(a[c])&&b.push(c);return b.sort()},_.extend=createAssigner(_.allKeys),_.extendOwn=_.assign=createAssigner(_.keys),_.findKey=function(a,b,c){b=cb(b,c);for(var d,e=_.keys(a),f=0,g=e.length;g>f;f++)if(d=e[f],b(a[d],d,a))return d},_.pick=function(a,b,c){var d,e,f={},g=a;if(null==g)return f;_.isFunction(b)?(e=_.allKeys(g),d=optimizeCb(b,c)):(e=flatten(arguments,!1,!1,1),d=function(a,b,c){return b in c},g=Object(g));for(var h=0,i=e.length;i>h;h++){var j=e[h],k=g[j];d(k,j,g)&&(f[j]=k)}return f},_.omit=function(a,b,c){if(_.isFunction(b))b=_.negate(b);else{var d=_.map(flatten(arguments,!1,!1,1),String);b=function(a,b){return!_.contains(d,b)}}return _.pick(a,b,c)},_.defaults=createAssigner(_.allKeys,!0),_.create=function(a,b){var c=baseCreate(a);return b&&_.extendOwn(c,b),c},_.clone=function(a){return _.isObject(a)?_.isArray(a)?a.slice():_.extend({},a):a},_.tap=function(a,b){return b(a),a},_.isMatch=function(a,b){var c=_.keys(b),d=c.length;if(null==a)return!d;for(var e=Object(a),f=0;d>f;f++){var g=c[f];if(b[g]!==e[g]||!(g in e))return!1}return!0},_.times=function(a,b,c){var d=Array(Math.max(0,a));b=optimizeCb(b,c,1);for(var e=0;a>e;e++)d[e]=b(e);return d};var eq=function(a,b,c,d){if(a===b)return 0!==a||1/a===1/b;if(null==a||null==b)return a===b;a instanceof _&&(a=a._wrapped),b instanceof _&&(b=b._wrapped);var e=toString.call(a);if(e!==toString.call(b))return!1;switch(e){case"[object RegExp]":case"[object String]":return""+a==""+b;case"[object Number]":return+a!==+a?+b!==+b:0===+a?1/+a===1/b:+a===+b;case"[object Date]":case"[object Boolean]":return+a===+b}var f="[object Array]"===e;if(!f){if("object"!=typeof a||"object"!=typeof b)return!1;var g=a.constructor,h=b.constructor;if(g!==h&&!(_.isFunction(g)&&g instanceof g&&_.isFunction(h)&&h instanceof h)&&"constructor"in a&&"constructor"in b)return!1}c=c||[],d=d||[];for(var i=c.length;i--;)if(c[i]===a)return d[i]===b;if(c.push(a),d.push(b),f){if(i=a.length,i!==b.length)return!1;for(;i--;)if(!eq(a[i],b[i],c,d))return!1}else{var j,k=_.keys(a);if(i=k.length,_.keys(b).length!==i)return!1;for(;i--;)if(j=k[i],!_.has(b,j)||!eq(a[j],b[j],c,d))return!1}return c.pop(),d.pop(),!0};_.isEqual=function(a,b){return eq(a,b)},_.isEmpty=function(a){return null==a?!0:isArrayLike(a)&&(_.isArray(a)||_.isString(a)||_.isArguments(a))?0===a.length:0===_.keys(a).length},_.isElement=function(a){return!(!a||1!==a.nodeType)},_.isArray=nativeIsArray||function(a){return"[object Array]"===toString.call(a)},_.isObject=function(a){var b=typeof a;return"function"===b||"object"===b&&!!a},_.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(a){_["is"+a]=function(b){return toString.call(b)==="[object "+a+"]"}}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(_.isFunction=function(a){return"function"==typeof a||!1}),_.isFinite=function(a){return isFinite(a)&&!isNaN(parseFloat(a))},_.isNaN=function(a){return _.isNumber(a)&&a!==+a},_.isBoolean=function(a){return a===!0||a===!1||"[object Boolean]"===toString.call(a)},_.isNull=function(a){return null===a},_.isUndefined=function(a){return void 0===a},_.has=function(a,b){return null!=a&&hasOwnProperty.call(a,b)},_.noConflict=function(){return root._=previousUnderscore,this},_.identity=function(a){return a},_.constant=function(a){return function(){return a}},_.noop=function(){},_.property=property,_.propertyOf=function(a){return null==a?function(){}:function(b){return a[b]}},_.matcher=_.matches=function(a){return a=_.extendOwn({},a),function(b){return _.isMatch(b,a)}},_.random=function(a,b){return null==b&&(b=a,a=0),a+Math.floor(Math.random()*(b-a+1))},_.now=Date.now||function(){return(new Date).getTime()};var escapeMap={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},unescapeMap=_.invert(escapeMap),createEscaper=function(a){var b=function(b){return a[b]},c="(?:"+_.keys(a).join("|")+")",d=RegExp(c),e=RegExp(c,"g");return function(a){return a=null==a?"":""+a,d.test(a)?a.replace(e,b):a}};_.escape=createEscaper(escapeMap),_.unescape=createEscaper(unescapeMap),_.result=function(a,b,c){var d=null==a?void 0:a[b];return void 0===d&&(d=c),_.isFunction(d)?d.call(a):d};var idCounter=0;_.uniqueId=function(a){var b=++idCounter+"";return a?a+b:b},_.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var noMatch=/(.)^/,escapes={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},escaper=/\\|'|\r|\n|\u2028|\u2029/g,escapeChar=function(a){return"\\"+escapes[a]};_.template=function(a,b,c){!b&&c&&(b=c),b=_.defaults({},b,_.templateSettings);var d=RegExp([(b.escape||noMatch).source,(b.interpolate||noMatch).source,(b.evaluate||noMatch).source].join("|")+"|$","g"),e=0,f="__p+='";a.replace(d,function(b,c,d,g,h){return f+=a.slice(e,h).replace(escaper,escapeChar),e=h+b.length,c?f+="'+\n((__t=("+c+"))==null?'':_.escape(__t))+\n'":d?f+="'+\n((__t=("+d+"))==null?'':__t)+\n'":g&&(f+="';\n"+g+"\n__p+='"),b}),f+="';\n",b.variable||(f="with(obj||{}){\n"+f+"}\n"),f="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+f+"return __p;\n";try{var g=new Function(b.variable||"obj","_",f)}catch(h){throw h.source=f,h}var i=function(a){return g.call(this,a,_)},j=b.variable||"obj";return i.source="function("+j+"){\n"+f+"}",i},_.chain=function(a){var b=_(a);return b._chain=!0,b};var result=function(a,b){return a._chain?_(b).chain():b};_.mixin=function(a){_.each(_.functions(a),function(b){var c=_[b]=a[b];_.prototype[b]=function(){var a=[this._wrapped];return push.apply(a,arguments),result(this,c.apply(_,a))}})},_.mixin(_),_.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var b=ArrayProto[a];_.prototype[a]=function(){var c=this._wrapped;return b.apply(c,arguments),"shift"!==a&&"splice"!==a||0!==c.length||delete c[0],result(this,c)}}),_.each(["concat","join","slice"],function(a){var b=ArrayProto[a];_.prototype[a]=function(){return result(this,b.apply(this._wrapped,arguments))}}),_.prototype.value=function(){return this._wrapped},_.prototype.valueOf=_.prototype.toJSON=_.prototype.value,_.prototype.toString=function(){return""+this._wrapped};