From 4caa6b7eabda07c07dd1a89b770d90fcd0887b89 Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Mon, 12 Sep 2016 01:15:05 +0100 Subject: [PATCH 01/11] Added support for for-from loop, see #3832 --- lib/coffee-script/grammar.js | 13 ++++- lib/coffee-script/lexer.js | 4 ++ lib/coffee-script/nodes.js | 14 ++++-- lib/coffee-script/parser.js | 93 ++++++++++++++++++++++-------------- src/grammar.coffee | 4 +- src/lexer.coffee | 8 +++- src/nodes.coffee | 11 +++-- test/arrays.coffee | 18 +++++++ test/compilation.coffee | 7 +++ test/generators.coffee | 38 +++++++++++++++ 10 files changed, 163 insertions(+), 47 deletions(-) diff --git a/lib/coffee-script/grammar.js b/lib/coffee-script/grammar.js index 6c5c976926..fce9fd1a99 100644 --- a/lib/coffee-script/grammar.js +++ b/lib/coffee-script/grammar.js @@ -542,6 +542,17 @@ step: $4, guard: $6 }; + }), o('FORFROM Expression', function() { + return { + source: $2, + from: true + }; + }), o('FORFROM Expression WHEN Expression', function() { + return { + source: $2, + guard: $4, + from: true + }; }) ], Switch: [ @@ -648,7 +659,7 @@ ] }; - operators = [['left', '.', '?.', '::', '?::'], ['left', 'CALL_START', 'CALL_END'], ['nonassoc', '++', '--'], ['left', '?'], ['right', 'UNARY'], ['right', '**'], ['right', 'UNARY_MATH'], ['left', 'MATH'], ['left', '+', '-'], ['left', 'SHIFT'], ['left', 'RELATION'], ['left', 'COMPARE'], ['left', 'LOGIC'], ['nonassoc', 'INDENT', 'OUTDENT'], ['right', 'YIELD'], ['right', '=', ':', 'COMPOUND_ASSIGN', 'RETURN', 'THROW', 'EXTENDS'], ['right', 'FORIN', 'FOROF', 'BY', 'WHEN'], ['right', 'IF', 'ELSE', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'SUPER', 'CLASS'], ['left', 'POST_IF']]; + operators = [['left', '.', '?.', '::', '?::'], ['left', 'CALL_START', 'CALL_END'], ['nonassoc', '++', '--'], ['left', '?'], ['right', 'UNARY'], ['right', '**'], ['right', 'UNARY_MATH'], ['left', 'MATH'], ['left', '+', '-'], ['left', 'SHIFT'], ['left', 'RELATION'], ['left', 'COMPARE'], ['left', 'LOGIC'], ['nonassoc', 'INDENT', 'OUTDENT'], ['right', 'YIELD'], ['right', '=', ':', 'COMPOUND_ASSIGN', 'RETURN', 'THROW', 'EXTENDS'], ['right', 'FORIN', 'FOROF', 'FORFROM', 'BY', 'WHEN'], ['right', 'IF', 'ELSE', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'SUPER', 'CLASS'], ['left', 'POST_IF']]; tokens = []; diff --git a/lib/coffee-script/lexer.js b/lib/coffee-script/lexer.js index 21e5ac2027..e029837823 100644 --- a/lib/coffee-script/lexer.js +++ b/lib/coffee-script/lexer.js @@ -83,6 +83,10 @@ } ref2 = this.tokens, prev = ref2[ref2.length - 1]; tag = colon || (prev != null) && (((ref3 = prev[0]) === '.' || ref3 === '?.' || ref3 === '::' || ref3 === '?::') || !prev.spaced && prev[0] === '@') ? 'PROPERTY' : 'IDENTIFIER'; + if (tag === 'IDENTIFIER' && this.seenFor && id === 'from') { + tag = 'FORFROM'; + this.seenFor = false; + } if (tag === 'IDENTIFIER' && (indexOf.call(JS_KEYWORDS, id) >= 0 || indexOf.call(COFFEE_KEYWORDS, id) >= 0)) { tag = id.toUpperCase(); if (tag === 'WHEN' && (ref4 = this.tag(), indexOf.call(LINE_BREAK, ref4) >= 0)) { diff --git a/lib/coffee-script/nodes.js b/lib/coffee-script/nodes.js index 0e5b92dbeb..3616cbfe0b 100644 --- a/lib/coffee-script/nodes.js +++ b/lib/coffee-script/nodes.js @@ -3022,7 +3022,8 @@ this.body = Block.wrap([body]); this.own = !!source.own; this.object = !!source.object; - if (this.object) { + this.from = !!source.from; + if (this.object || this.from) { ref3 = [this.index, this.name], this.name = ref3[0], this.index = ref3[1]; } if (this.index instanceof Value) { @@ -3039,6 +3040,9 @@ if (this.own && !this.object) { this.name.error('cannot use own with for-in'); } + if (this.from && this.name) { + this.name.error('cannot use index with for-from'); + } this.returns = false; } @@ -3066,7 +3070,7 @@ if (this.returns) { rvar = scope.freeVariable('results'); } - ivar = (this.object && index) || scope.freeVariable('i', { + ivar = ((this.object || this.from) && index) || scope.freeVariable('i', { single: true }); kvar = (this.range && name) || index || ivar; @@ -3100,7 +3104,7 @@ if (name && !this.pattern) { namePart = name + " = " + svar + "[" + kvar + "]"; } - if (!this.object) { + if (!(this.object || this.from)) { if (step !== stepVar) { defPart += "" + this.tab + step + ";\n"; } @@ -3156,6 +3160,10 @@ guardPart = "\n" + idt1 + "if (!" + (utility('hasProp', o)) + ".call(" + svar + ", " + kvar + ")) continue;"; } } + if (this.from) { + forPartFragments = [this.makeCode(kvar + " of " + svar)]; + guardPart = "\n"; + } bodyFragments = body.compileToFragments(merge(o, { indent: idt1 }), LEVEL_TOP); diff --git a/lib/coffee-script/parser.js b/lib/coffee-script/parser.js index badc0baae9..66b8d35bd0 100755 --- a/lib/coffee-script/parser.js +++ b/lib/coffee-script/parser.js @@ -1,4 +1,4 @@ -/* parser generated by jison 0.4.15 */ +/* parser generated by jison 0.4.17 */ /* Returns a Parser object of the following structure: @@ -72,12 +72,12 @@ } */ var parser = (function(){ -var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,22],$V1=[1,23],$V2=[1,79],$V3=[1,75],$V4=[1,80],$V5=[1,81],$V6=[1,77],$V7=[1,78],$V8=[1,52],$V9=[1,54],$Va=[1,55],$Vb=[1,56],$Vc=[1,57],$Vd=[1,58],$Ve=[1,47],$Vf=[1,48],$Vg=[1,30],$Vh=[1,64],$Vi=[1,65],$Vj=[1,74],$Vk=[1,45],$Vl=[1,63],$Vm=[1,61],$Vn=[1,62],$Vo=[1,60],$Vp=[1,40],$Vq=[1,46],$Vr=[1,59],$Vs=[1,69],$Vt=[1,70],$Vu=[1,71],$Vv=[1,72],$Vw=[1,44],$Vx=[1,68],$Vy=[1,32],$Vz=[1,33],$VA=[1,34],$VB=[1,35],$VC=[1,36],$VD=[1,37],$VE=[1,82],$VF=[1,6,30,40,117],$VG=[1,92],$VH=[1,85],$VI=[1,84],$VJ=[1,83],$VK=[1,86],$VL=[1,87],$VM=[1,88],$VN=[1,89],$VO=[1,90],$VP=[1,91],$VQ=[1,95],$VR=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],$VS=[1,101],$VT=[1,102],$VU=[1,103],$VV=[1,104],$VW=[1,106],$VX=[1,107],$VY=[1,100],$VZ=[2,126],$V_=[1,6,30,40,117,119,121,125,141],$V$=[2,25],$V01=[1,114],$V11=[1,112],$V21=[1,6,29,30,40,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],$V31=[2,92],$V41=[1,6,29,30,40,44,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],$V51=[2,71],$V61=[1,119],$V71=[1,124],$V81=[1,125],$V91=[1,127],$Va1=[1,6,29,30,40,53,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],$Vb1=[2,89],$Vc1=[1,6,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],$Vd1=[2,61],$Ve1=[1,158],$Vf1=[1,160],$Vg1=[1,155],$Vh1=[1,162],$Vi1=[1,164],$Vj1=[1,6,29,30,40,53,63,68,71,80,81,82,83,85,87,88,92,94,99,100,101,106,108,117,119,120,121,125,126,141,144,145,146,147,148,149,150,151,152,153,154,155],$Vk1=[2,108],$Vl1=[1,6,29,30,40,56,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],$Vm1=[1,6,29,30,40,53,56,63,68,71,80,81,82,83,85,87,88,92,94,99,100,101,106,108,117,119,120,121,125,126,132,133,141,144,145,146,147,148,149,150,151,152,153,154,155],$Vn1=[1,214],$Vo1=[1,213],$Vp1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141],$Vq1=[2,69],$Vr1=[1,223],$Vs1=[6,29,30,63,68],$Vt1=[6,29,30,53,63,68,71],$Vu1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,144,145,149,151,152,153,154],$Vv1=[80,81,82,83,85,88,99,100],$Vw1=[1,242],$Vx1=[2,60],$Vy1=[2,147],$Vz1=[1,6,29,30,40,53,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,132,133,141,144,145,148,149,150,151,152,153,154],$VA1=[1,251],$VB1=[6,29,30,68,101,106],$VC1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,126,141],$VD1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,120,126,141],$VE1=[132,133],$VF1=[68,132,133],$VG1=[1,264],$VH1=[6,29,30,68,92],$VI1=[6,29,30,56,68,92],$VJ1=[6,29,30,53,56,68,92],$VK1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,144,145,151,152,153,154],$VL1=[12,26,32,36,38,39,42,43,46,47,48,49,50,51,59,60,61,65,66,87,90,93,98,103,104,105,111,115,116,119,121,123,125,134,140,142,143,144,145,146,147],$VM1=[2,136],$VN1=[6,29,30],$VO1=[2,70],$VP1=[1,276],$VQ1=[1,277],$VR1=[1,6,29,30,40,63,68,71,87,92,101,106,108,113,114,117,119,120,121,125,126,136,138,141,144,145,148,149,150,151,152,153,154],$VS1=[30,136,138],$VT1=[1,6,30,40,63,68,71,87,92,101,106,108,117,120,126,141],$VU1=[2,84],$VV1=[1,300],$VW1=[1,301],$VX1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,136,141,144,145,148,149,150,151,152,153,154],$VY1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,121,125,126,141],$VZ1=[1,313],$V_1=[1,314],$V$1=[6,29,30,68],$V02=[1,6,29,30,40,63,68,71,87,92,101,106,108,113,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],$V12=[29,68]; +var o=function(k,v,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=v);return o},$V0=[1,22],$V1=[1,23],$V2=[1,79],$V3=[1,75],$V4=[1,80],$V5=[1,81],$V6=[1,77],$V7=[1,78],$V8=[1,52],$V9=[1,54],$Va=[1,55],$Vb=[1,56],$Vc=[1,57],$Vd=[1,58],$Ve=[1,47],$Vf=[1,48],$Vg=[1,30],$Vh=[1,64],$Vi=[1,65],$Vj=[1,74],$Vk=[1,45],$Vl=[1,63],$Vm=[1,61],$Vn=[1,62],$Vo=[1,60],$Vp=[1,40],$Vq=[1,46],$Vr=[1,59],$Vs=[1,69],$Vt=[1,70],$Vu=[1,71],$Vv=[1,72],$Vw=[1,44],$Vx=[1,68],$Vy=[1,32],$Vz=[1,33],$VA=[1,34],$VB=[1,35],$VC=[1,36],$VD=[1,37],$VE=[1,82],$VF=[1,6,30,40,117],$VG=[1,92],$VH=[1,85],$VI=[1,84],$VJ=[1,83],$VK=[1,86],$VL=[1,87],$VM=[1,88],$VN=[1,89],$VO=[1,90],$VP=[1,91],$VQ=[1,95],$VR=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],$VS=[1,101],$VT=[1,102],$VU=[1,103],$VV=[1,104],$VW=[1,106],$VX=[1,107],$VY=[1,100],$VZ=[2,126],$V_=[1,6,30,40,117,119,121,125,142],$V$=[2,25],$V01=[1,114],$V11=[1,112],$V21=[1,6,29,30,40,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],$V31=[2,92],$V41=[1,6,29,30,40,44,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],$V51=[2,71],$V61=[1,119],$V71=[1,124],$V81=[1,125],$V91=[1,127],$Va1=[1,6,29,30,40,53,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],$Vb1=[2,89],$Vc1=[1,6,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],$Vd1=[2,61],$Ve1=[1,158],$Vf1=[1,160],$Vg1=[1,155],$Vh1=[1,162],$Vi1=[1,164],$Vj1=[1,6,29,30,40,53,63,68,71,80,81,82,83,85,87,88,92,94,99,100,101,106,108,117,119,120,121,125,126,142,145,146,147,148,149,150,151,152,153,154,155,156],$Vk1=[2,108],$Vl1=[1,6,29,30,40,56,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],$Vm1=[1,6,29,30,40,53,56,63,68,71,80,81,82,83,85,87,88,92,94,99,100,101,106,108,117,119,120,121,125,126,132,133,134,142,145,146,147,148,149,150,151,152,153,154,155,156],$Vn1=[1,215],$Vo1=[1,214],$Vp1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142],$Vq1=[2,69],$Vr1=[1,224],$Vs1=[6,29,30,63,68],$Vt1=[6,29,30,53,63,68,71],$Vu1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,145,146,150,152,153,154,155],$Vv1=[80,81,82,83,85,88,99,100],$Vw1=[1,243],$Vx1=[2,60],$Vy1=[2,147],$Vz1=[1,6,29,30,40,53,63,68,71,80,81,82,83,85,87,88,92,99,100,101,106,108,117,119,120,121,125,126,132,133,134,142,145,146,149,150,151,152,153,154,155],$VA1=[1,252],$VB1=[6,29,30,68,101,106],$VC1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,126,142],$VD1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,120,126,142],$VE1=[132,133,134],$VF1=[68,132,133,134],$VG1=[1,266],$VH1=[6,29,30,68,92],$VI1=[6,29,30,56,68,92],$VJ1=[6,29,30,53,56,68,92],$VK1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,145,146,152,153,154,155],$VL1=[12,26,32,36,38,39,42,43,46,47,48,49,50,51,59,60,61,65,66,87,90,93,98,103,104,105,111,115,116,119,121,123,125,135,141,143,144,145,146,147,148],$VM1=[2,136],$VN1=[6,29,30],$VO1=[2,70],$VP1=[1,278],$VQ1=[1,279],$VR1=[1,6,29,30,40,63,68,71,87,92,101,106,108,113,114,117,119,120,121,125,126,137,139,142,145,146,149,150,151,152,153,154,155],$VS1=[30,137,139],$VT1=[1,6,30,40,63,68,71,87,92,101,106,108,117,120,126,142],$VU1=[2,84],$VV1=[1,302],$VW1=[1,303],$VX1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,137,142,145,146,149,150,151,152,153,154,155],$VY1=[1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,121,125,126,142],$VZ1=[1,316],$V_1=[1,317],$V$1=[6,29,30,68],$V02=[1,6,29,30,40,63,68,71,87,92,101,106,108,113,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],$V12=[29,68]; var parser = {trace: function trace() { }, yy: {}, -symbols_: {"error":2,"Root":3,"Body":4,"Line":5,"TERMINATOR":6,"Expression":7,"Statement":8,"YieldReturn":9,"Return":10,"Comment":11,"STATEMENT":12,"Value":13,"Invocation":14,"Code":15,"Operation":16,"Assign":17,"If":18,"Try":19,"While":20,"For":21,"Switch":22,"Class":23,"Throw":24,"Yield":25,"YIELD":26,"FROM":27,"Block":28,"INDENT":29,"OUTDENT":30,"Identifier":31,"IDENTIFIER":32,"Property":33,"PROPERTY":34,"AlphaNumeric":35,"NUMBER":36,"String":37,"STRING":38,"STRING_START":39,"STRING_END":40,"Regex":41,"REGEX":42,"REGEX_START":43,"REGEX_END":44,"Literal":45,"JS":46,"UNDEFINED":47,"NULL":48,"BOOL":49,"INFINITY":50,"NAN":51,"Assignable":52,"=":53,"AssignObj":54,"ObjAssignable":55,":":56,"SimpleObjAssignable":57,"ThisProperty":58,"RETURN":59,"HERECOMMENT":60,"PARAM_START":61,"ParamList":62,"PARAM_END":63,"FuncGlyph":64,"->":65,"=>":66,"OptComma":67,",":68,"Param":69,"ParamVar":70,"...":71,"Array":72,"Object":73,"Splat":74,"SimpleAssignable":75,"Accessor":76,"Parenthetical":77,"Range":78,"This":79,".":80,"?.":81,"::":82,"?::":83,"Index":84,"INDEX_START":85,"IndexValue":86,"INDEX_END":87,"INDEX_SOAK":88,"Slice":89,"{":90,"AssignList":91,"}":92,"CLASS":93,"EXTENDS":94,"OptFuncExist":95,"Arguments":96,"Super":97,"SUPER":98,"FUNC_EXIST":99,"CALL_START":100,"CALL_END":101,"ArgList":102,"THIS":103,"@":104,"[":105,"]":106,"RangeDots":107,"..":108,"Arg":109,"SimpleArgs":110,"TRY":111,"Catch":112,"FINALLY":113,"CATCH":114,"THROW":115,"(":116,")":117,"WhileSource":118,"WHILE":119,"WHEN":120,"UNTIL":121,"Loop":122,"LOOP":123,"ForBody":124,"FOR":125,"BY":126,"ForStart":127,"ForSource":128,"ForVariables":129,"OWN":130,"ForValue":131,"FORIN":132,"FOROF":133,"SWITCH":134,"Whens":135,"ELSE":136,"When":137,"LEADING_WHEN":138,"IfBlock":139,"IF":140,"POST_IF":141,"UNARY":142,"UNARY_MATH":143,"-":144,"+":145,"--":146,"++":147,"?":148,"MATH":149,"**":150,"SHIFT":151,"COMPARE":152,"LOGIC":153,"RELATION":154,"COMPOUND_ASSIGN":155,"$accept":0,"$end":1}, -terminals_: {2:"error",6:"TERMINATOR",12:"STATEMENT",26:"YIELD",27:"FROM",29:"INDENT",30:"OUTDENT",32:"IDENTIFIER",34:"PROPERTY",36:"NUMBER",38:"STRING",39:"STRING_START",40:"STRING_END",42:"REGEX",43:"REGEX_START",44:"REGEX_END",46:"JS",47:"UNDEFINED",48:"NULL",49:"BOOL",50:"INFINITY",51:"NAN",53:"=",56:":",59:"RETURN",60:"HERECOMMENT",61:"PARAM_START",63:"PARAM_END",65:"->",66:"=>",68:",",71:"...",80:".",81:"?.",82:"::",83:"?::",85:"INDEX_START",87:"INDEX_END",88:"INDEX_SOAK",90:"{",92:"}",93:"CLASS",94:"EXTENDS",98:"SUPER",99:"FUNC_EXIST",100:"CALL_START",101:"CALL_END",103:"THIS",104:"@",105:"[",106:"]",108:"..",111:"TRY",113:"FINALLY",114:"CATCH",115:"THROW",116:"(",117:")",119:"WHILE",120:"WHEN",121:"UNTIL",123:"LOOP",125:"FOR",126:"BY",130:"OWN",132:"FORIN",133:"FOROF",134:"SWITCH",136:"ELSE",138:"LEADING_WHEN",140:"IF",141:"POST_IF",142:"UNARY",143:"UNARY_MATH",144:"-",145:"+",146:"--",147:"++",148:"?",149:"MATH",150:"**",151:"SHIFT",152:"COMPARE",153:"LOGIC",154:"RELATION",155:"COMPOUND_ASSIGN"}, -productions_: [0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[25,1],[25,2],[25,3],[28,2],[28,3],[31,1],[33,1],[35,1],[35,1],[37,1],[37,3],[41,1],[41,3],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[17,3],[17,4],[17,5],[54,1],[54,3],[54,5],[54,3],[54,5],[54,1],[57,1],[57,1],[57,1],[55,1],[55,1],[10,2],[10,1],[9,3],[9,2],[11,1],[15,5],[15,2],[64,1],[64,1],[67,0],[67,1],[62,0],[62,1],[62,3],[62,4],[62,6],[69,1],[69,2],[69,3],[69,1],[70,1],[70,1],[70,1],[70,1],[74,2],[75,1],[75,2],[75,2],[75,1],[52,1],[52,1],[52,1],[13,1],[13,1],[13,1],[13,1],[13,1],[76,2],[76,2],[76,2],[76,2],[76,1],[76,1],[84,3],[84,2],[86,1],[86,1],[73,4],[91,0],[91,1],[91,3],[91,4],[91,6],[23,1],[23,2],[23,3],[23,4],[23,2],[23,3],[23,4],[23,5],[14,3],[14,3],[14,1],[97,1],[97,2],[95,0],[95,1],[96,2],[96,4],[79,1],[79,1],[58,2],[72,2],[72,4],[107,1],[107,1],[78,5],[89,3],[89,2],[89,2],[89,1],[102,1],[102,3],[102,4],[102,4],[102,6],[109,1],[109,1],[109,1],[110,1],[110,3],[19,2],[19,3],[19,4],[19,5],[112,3],[112,3],[112,2],[24,2],[77,3],[77,5],[118,2],[118,4],[118,2],[118,4],[20,2],[20,2],[20,2],[20,1],[122,2],[122,2],[21,2],[21,2],[21,2],[124,2],[124,4],[124,2],[127,2],[127,3],[131,1],[131,1],[131,1],[131,1],[129,1],[129,3],[128,2],[128,2],[128,4],[128,4],[128,4],[128,6],[128,6],[22,5],[22,7],[22,4],[22,6],[135,1],[135,2],[137,3],[137,4],[139,3],[139,5],[18,1],[18,3],[18,3],[18,3],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,5],[16,4],[16,3]], +symbols_: {"error":2,"Root":3,"Body":4,"Line":5,"TERMINATOR":6,"Expression":7,"Statement":8,"YieldReturn":9,"Return":10,"Comment":11,"STATEMENT":12,"Value":13,"Invocation":14,"Code":15,"Operation":16,"Assign":17,"If":18,"Try":19,"While":20,"For":21,"Switch":22,"Class":23,"Throw":24,"Yield":25,"YIELD":26,"FROM":27,"Block":28,"INDENT":29,"OUTDENT":30,"Identifier":31,"IDENTIFIER":32,"Property":33,"PROPERTY":34,"AlphaNumeric":35,"NUMBER":36,"String":37,"STRING":38,"STRING_START":39,"STRING_END":40,"Regex":41,"REGEX":42,"REGEX_START":43,"REGEX_END":44,"Literal":45,"JS":46,"UNDEFINED":47,"NULL":48,"BOOL":49,"INFINITY":50,"NAN":51,"Assignable":52,"=":53,"AssignObj":54,"ObjAssignable":55,":":56,"SimpleObjAssignable":57,"ThisProperty":58,"RETURN":59,"HERECOMMENT":60,"PARAM_START":61,"ParamList":62,"PARAM_END":63,"FuncGlyph":64,"->":65,"=>":66,"OptComma":67,",":68,"Param":69,"ParamVar":70,"...":71,"Array":72,"Object":73,"Splat":74,"SimpleAssignable":75,"Accessor":76,"Parenthetical":77,"Range":78,"This":79,".":80,"?.":81,"::":82,"?::":83,"Index":84,"INDEX_START":85,"IndexValue":86,"INDEX_END":87,"INDEX_SOAK":88,"Slice":89,"{":90,"AssignList":91,"}":92,"CLASS":93,"EXTENDS":94,"OptFuncExist":95,"Arguments":96,"Super":97,"SUPER":98,"FUNC_EXIST":99,"CALL_START":100,"CALL_END":101,"ArgList":102,"THIS":103,"@":104,"[":105,"]":106,"RangeDots":107,"..":108,"Arg":109,"SimpleArgs":110,"TRY":111,"Catch":112,"FINALLY":113,"CATCH":114,"THROW":115,"(":116,")":117,"WhileSource":118,"WHILE":119,"WHEN":120,"UNTIL":121,"Loop":122,"LOOP":123,"ForBody":124,"FOR":125,"BY":126,"ForStart":127,"ForSource":128,"ForVariables":129,"OWN":130,"ForValue":131,"FORIN":132,"FOROF":133,"FORFROM":134,"SWITCH":135,"Whens":136,"ELSE":137,"When":138,"LEADING_WHEN":139,"IfBlock":140,"IF":141,"POST_IF":142,"UNARY":143,"UNARY_MATH":144,"-":145,"+":146,"--":147,"++":148,"?":149,"MATH":150,"**":151,"SHIFT":152,"COMPARE":153,"LOGIC":154,"RELATION":155,"COMPOUND_ASSIGN":156,"$accept":0,"$end":1}, +terminals_: {2:"error",6:"TERMINATOR",12:"STATEMENT",26:"YIELD",27:"FROM",29:"INDENT",30:"OUTDENT",32:"IDENTIFIER",34:"PROPERTY",36:"NUMBER",38:"STRING",39:"STRING_START",40:"STRING_END",42:"REGEX",43:"REGEX_START",44:"REGEX_END",46:"JS",47:"UNDEFINED",48:"NULL",49:"BOOL",50:"INFINITY",51:"NAN",53:"=",56:":",59:"RETURN",60:"HERECOMMENT",61:"PARAM_START",63:"PARAM_END",65:"->",66:"=>",68:",",71:"...",80:".",81:"?.",82:"::",83:"?::",85:"INDEX_START",87:"INDEX_END",88:"INDEX_SOAK",90:"{",92:"}",93:"CLASS",94:"EXTENDS",98:"SUPER",99:"FUNC_EXIST",100:"CALL_START",101:"CALL_END",103:"THIS",104:"@",105:"[",106:"]",108:"..",111:"TRY",113:"FINALLY",114:"CATCH",115:"THROW",116:"(",117:")",119:"WHILE",120:"WHEN",121:"UNTIL",123:"LOOP",125:"FOR",126:"BY",130:"OWN",132:"FORIN",133:"FOROF",134:"FORFROM",135:"SWITCH",137:"ELSE",139:"LEADING_WHEN",141:"IF",142:"POST_IF",143:"UNARY",144:"UNARY_MATH",145:"-",146:"+",147:"--",148:"++",149:"?",150:"MATH",151:"**",152:"SHIFT",153:"COMPARE",154:"LOGIC",155:"RELATION",156:"COMPOUND_ASSIGN"}, +productions_: [0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[25,1],[25,2],[25,3],[28,2],[28,3],[31,1],[33,1],[35,1],[35,1],[37,1],[37,3],[41,1],[41,3],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[45,1],[17,3],[17,4],[17,5],[54,1],[54,3],[54,5],[54,3],[54,5],[54,1],[57,1],[57,1],[57,1],[55,1],[55,1],[10,2],[10,1],[9,3],[9,2],[11,1],[15,5],[15,2],[64,1],[64,1],[67,0],[67,1],[62,0],[62,1],[62,3],[62,4],[62,6],[69,1],[69,2],[69,3],[69,1],[70,1],[70,1],[70,1],[70,1],[74,2],[75,1],[75,2],[75,2],[75,1],[52,1],[52,1],[52,1],[13,1],[13,1],[13,1],[13,1],[13,1],[76,2],[76,2],[76,2],[76,2],[76,1],[76,1],[84,3],[84,2],[86,1],[86,1],[73,4],[91,0],[91,1],[91,3],[91,4],[91,6],[23,1],[23,2],[23,3],[23,4],[23,2],[23,3],[23,4],[23,5],[14,3],[14,3],[14,1],[97,1],[97,2],[95,0],[95,1],[96,2],[96,4],[79,1],[79,1],[58,2],[72,2],[72,4],[107,1],[107,1],[78,5],[89,3],[89,2],[89,2],[89,1],[102,1],[102,3],[102,4],[102,4],[102,6],[109,1],[109,1],[109,1],[110,1],[110,3],[19,2],[19,3],[19,4],[19,5],[112,3],[112,3],[112,2],[24,2],[77,3],[77,5],[118,2],[118,4],[118,2],[118,4],[20,2],[20,2],[20,2],[20,1],[122,2],[122,2],[21,2],[21,2],[21,2],[124,2],[124,4],[124,2],[127,2],[127,3],[131,1],[131,1],[131,1],[131,1],[129,1],[129,3],[128,2],[128,2],[128,4],[128,4],[128,4],[128,6],[128,6],[128,2],[128,4],[22,5],[22,7],[22,4],[22,6],[136,1],[136,2],[138,3],[138,4],[140,3],[140,5],[18,1],[18,3],[18,3],[18,3],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,2],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,3],[16,5],[16,4],[16,3]], performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate /* action[1] */, $$ /* vstack */, _$ /* lstack */) { /* this == yyval */ @@ -98,7 +98,7 @@ break; case 5: this.$ = $$[$0-1]; break; -case 6: case 7: case 8: case 9: case 10: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 33: case 38: case 40: case 54: case 55: case 56: case 57: case 58: case 59: case 69: case 70: case 80: case 81: case 82: case 83: case 88: case 89: case 92: case 96: case 102: case 123: case 147: case 148: case 150: case 180: case 181: case 197: case 203: +case 6: case 7: case 8: case 9: case 10: case 12: case 13: case 14: case 15: case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23: case 24: case 33: case 38: case 40: case 54: case 55: case 56: case 57: case 58: case 59: case 69: case 70: case 80: case 81: case 82: case 83: case 88: case 89: case 92: case 96: case 102: case 123: case 147: case 148: case 150: case 180: case 181: case 199: case 205: this.$ = $$[$0]; break; case 11: @@ -107,7 +107,7 @@ break; case 25: this.$ = yy.addLocationDataFn(_$[$0], _$[$0])(new yy.Op($$[$0], new yy.Value(new yy.Literal('')))); break; -case 26: case 207: case 208: +case 26: case 209: case 210: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op($$[$0-1], $$[$0])); break; case 27: @@ -509,76 +509,89 @@ this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])({ }); break; case 193: -this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Switch($$[$0-3], $$[$0-1])); +this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])({ + source: $$[$0], + from: true + }); break; case 194: -this.$ = yy.addLocationDataFn(_$[$0-6], _$[$0])(new yy.Switch($$[$0-5], $$[$0-3], $$[$0-1])); +this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])({ + source: $$[$0-2], + guard: $$[$0], + from: true + }); break; case 195: -this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Switch(null, $$[$0-1])); +this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Switch($$[$0-3], $$[$0-1])); break; case 196: -this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])(new yy.Switch(null, $$[$0-3], $$[$0-1])); +this.$ = yy.addLocationDataFn(_$[$0-6], _$[$0])(new yy.Switch($$[$0-5], $$[$0-3], $$[$0-1])); +break; +case 197: +this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Switch(null, $$[$0-1])); break; case 198: +this.$ = yy.addLocationDataFn(_$[$0-5], _$[$0])(new yy.Switch(null, $$[$0-3], $$[$0-1])); +break; +case 200: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0-1].concat($$[$0])); break; -case 199: +case 201: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])([[$$[$0-1], $$[$0]]]); break; -case 200: +case 202: this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])([[$$[$0-2], $$[$0-1]]]); break; -case 201: +case 203: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], { type: $$[$0-2] })); break; -case 202: +case 204: this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])($$[$0-4].addElse(yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0-1], $$[$0], { type: $$[$0-2] })))); break; -case 204: +case 206: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])($$[$0-2].addElse($$[$0])); break; -case 205: case 206: +case 207: case 208: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.If($$[$0], yy.addLocationDataFn(_$[$0-2])(yy.Block.wrap([$$[$0-2]])), { type: $$[$0-1], statement: true })); break; -case 209: +case 211: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('-', $$[$0])); break; -case 210: +case 212: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('+', $$[$0])); break; -case 211: +case 213: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0])); break; -case 212: +case 214: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0])); break; -case 213: +case 215: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('--', $$[$0-1], null, true)); break; -case 214: +case 216: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Op('++', $$[$0-1], null, true)); break; -case 215: +case 217: this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])(new yy.Existence($$[$0-1])); break; -case 216: +case 218: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('+', $$[$0-2], $$[$0])); break; -case 217: +case 219: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op('-', $$[$0-2], $$[$0])); break; -case 218: case 219: case 220: case 221: case 222: +case 220: case 221: case 222: case 223: case 224: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Op($$[$0-1], $$[$0-2], $$[$0])); break; -case 223: +case 225: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () { if ($$[$0-1].charAt(0) === '!') { return new yy.Op($$[$0-1].slice(1), $$[$0-2], $$[$0]).invert(); @@ -587,27 +600,33 @@ this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () { } }())); break; -case 224: +case 226: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Assign($$[$0-2], $$[$0], $$[$0-1])); break; -case 225: +case 227: this.$ = yy.addLocationDataFn(_$[$0-4], _$[$0])(new yy.Assign($$[$0-4], $$[$0-1], $$[$0-3])); break; -case 226: +case 228: this.$ = yy.addLocationDataFn(_$[$0-3], _$[$0])(new yy.Assign($$[$0-3], $$[$0], $$[$0-2])); break; -case 227: +case 229: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])(new yy.Extends($$[$0-2], $$[$0])); break; } }, -table: [{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{1:[3]},{1:[2,2],6:$VE},o($VF,[2,3]),o($VF,[2,6],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VF,[2,7],{127:73,118:96,124:97,119:$Vs,121:$Vt,125:$Vv,141:$VQ}),o($VF,[2,8]),o($VR,[2,12],{95:98,76:99,84:105,80:$VS,81:$VT,82:$VU,83:$VV,85:$VW,88:$VX,99:$VY,100:$VZ}),o($VR,[2,13],{84:105,95:108,76:109,80:$VS,81:$VT,82:$VU,83:$VV,85:$VW,88:$VX,99:$VY,100:$VZ}),o($VR,[2,14]),o($VR,[2,15]),o($VR,[2,16]),o($VR,[2,17]),o($VR,[2,18]),o($VR,[2,19]),o($VR,[2,20]),o($VR,[2,21]),o($VR,[2,22]),o($VR,[2,23]),o($VR,[2,24]),o($V_,[2,9]),o($V_,[2,10]),o($V_,[2,11]),o([1,6,30,40,117,119,121,125,141,148,149,150,151,152,153,154],$V$,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,139:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,7:111,8:113,12:$V0,26:$V01,27:$V11,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:[1,110],60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,123:$Vu,134:$Vw,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD}),o($V21,$V31,{53:[1,115]}),o($V21,[2,93]),o($V21,[2,94]),o($V21,[2,95]),o($V21,[2,96]),o($V41,[2,123]),o([6,29,63,68],$V51,{62:116,69:117,70:118,31:120,58:121,72:122,73:123,32:$V2,71:$V61,90:$Vj,104:$V71,105:$V81}),{28:126,29:$V91},{7:128,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:129,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:130,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:131,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{13:133,14:134,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:135,58:67,72:49,73:50,75:132,77:26,78:27,79:28,90:$Vj,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr},{13:133,14:134,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:135,58:67,72:49,73:50,75:136,77:26,78:27,79:28,90:$Vj,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr},o($Va1,$Vb1,{94:[1,140],146:[1,137],147:[1,138],155:[1,139]}),o($VR,[2,203],{136:[1,141]}),{28:142,29:$V91},{28:143,29:$V91},o($VR,[2,169]),{28:144,29:$V91},{7:145,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,146],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($Vc1,[2,113],{45:25,77:26,78:27,79:28,97:29,72:49,73:50,35:51,41:53,31:66,58:67,37:76,13:133,14:134,52:135,28:147,75:149,29:$V91,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,90:$Vj,94:[1,148],98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr}),{7:150,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($V_,$Vd1,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,139:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,8:113,7:151,12:$V0,26:$V01,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,123:$Vu,134:$Vw,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD}),o([1,6,29,30,40,68,92,117,119,121,125,141],[2,64]),o($Va1,[2,90]),o($Va1,[2,91]),o($V21,[2,38]),o($V21,[2,39]),o($V21,[2,40]),o($V21,[2,41]),o($V21,[2,42]),o($V21,[2,43]),o($V21,[2,44]),o($V21,[2,45]),{4:152,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,29:[1,153],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:154,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:156,103:$Vm,104:$Vn,105:$Vo,106:$Vg1,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($V21,[2,130]),o($V21,[2,131],{33:161,34:$Vh1}),o([1,6,29,30,40,44,63,68,71,80,81,82,83,85,87,88,92,99,101,106,108,117,119,120,121,125,126,141,144,145,148,149,150,151,152,153,154],[2,124],{96:163,100:$Vi1}),{29:[2,67]},{29:[2,68]},o($Vj1,[2,85]),o($Vj1,[2,88]),{7:165,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:166,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:167,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:169,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,28:168,29:$V91,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{31:174,32:$V2,58:175,72:176,73:177,78:170,90:$Vj,104:$V71,105:$Vo,129:171,130:[1,172],131:173},{128:178,132:[1,179],133:[1,180]},o([6,29,68,92],$Vk1,{37:76,91:181,54:182,55:183,57:184,11:185,35:186,31:187,33:188,58:189,32:$V2,34:$Vh1,36:$V3,38:$V4,39:$V5,60:$Vf,104:$V71}),o($Vl1,[2,32]),o($Vl1,[2,33]),o($V21,[2,36]),{13:133,14:190,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:135,58:67,72:49,73:50,75:191,77:26,78:27,79:28,90:$Vj,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr},o($Vm1,[2,30]),o($Vl1,[2,34]),{4:192,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VF,[2,5],{7:4,8:5,9:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,139:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,5:193,12:$V0,26:$V1,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,119:$Vs,121:$Vt,123:$Vu,125:$Vv,134:$Vw,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD}),o($VR,[2,215]),{7:194,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:195,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:196,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:197,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:198,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:199,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:200,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:201,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:202,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VR,[2,168]),o($VR,[2,173]),{7:203,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VR,[2,167]),o($VR,[2,172]),{96:204,100:$Vi1},o($Vj1,[2,86]),{100:[2,127]},{33:205,34:$Vh1},{33:206,34:$Vh1},o($Vj1,[2,101],{33:207,34:$Vh1}),{33:208,34:$Vh1},o($Vj1,[2,102]),{7:210,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vn1,72:49,73:50,75:38,77:26,78:27,79:28,86:209,89:211,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,107:212,108:$Vo1,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{84:215,85:$VW,88:$VX},{96:216,100:$Vi1},o($Vj1,[2,87]),o($VF,[2,63],{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,139:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,8:113,7:217,12:$V0,26:$V01,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,119:$Vd1,121:$Vd1,125:$Vd1,141:$Vd1,123:$Vu,134:$Vw,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD}),o($Vp1,[2,26],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{7:218,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{118:96,119:$Vs,121:$Vt,124:97,125:$Vv,127:73,141:$VQ},o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,148,149,150,151,152,153,154],$V$,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,139:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,7:111,8:113,12:$V0,26:$V01,27:$V11,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,123:$Vu,134:$Vw,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD}),{6:[1,220],7:219,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,221],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o([6,29],$Vq1,{67:224,63:[1,222],68:$Vr1}),o($Vs1,[2,72]),o($Vs1,[2,76],{53:[1,226],71:[1,225]}),o($Vs1,[2,79]),o($Vt1,[2,80]),o($Vt1,[2,81]),o($Vt1,[2,82]),o($Vt1,[2,83]),{33:161,34:$Vh1},{7:227,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:156,103:$Vm,104:$Vn,105:$Vo,106:$Vg1,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VR,[2,66]),{4:229,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,30:[1,228],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,144,145,149,150,151,152,153,154],[2,207],{127:73,118:93,124:94,148:$VJ}),o($Vu1,[2,208],{127:73,118:93,124:94,148:$VJ,150:$VL}),o($Vu1,[2,209],{127:73,118:93,124:94,148:$VJ,150:$VL}),o($Vu1,[2,210],{127:73,118:93,124:94,148:$VJ,150:$VL}),o($VR,[2,211],{80:$Vb1,81:$Vb1,82:$Vb1,83:$Vb1,85:$Vb1,88:$Vb1,99:$Vb1,100:$Vb1}),{76:99,80:$VS,81:$VT,82:$VU,83:$VV,84:105,85:$VW,88:$VX,95:98,99:$VY,100:$VZ},{76:109,80:$VS,81:$VT,82:$VU,83:$VV,84:105,85:$VW,88:$VX,95:108,99:$VY,100:$VZ},o($Vv1,$V31),o($VR,[2,212],{80:$Vb1,81:$Vb1,82:$Vb1,83:$Vb1,85:$Vb1,88:$Vb1,99:$Vb1,100:$Vb1}),o($VR,[2,213]),o($VR,[2,214]),{6:[1,232],7:230,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,231],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:233,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{28:234,29:$V91,140:[1,235]},o($VR,[2,152],{112:236,113:[1,237],114:[1,238]}),o($VR,[2,166]),o($VR,[2,174]),{29:[1,239],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},{135:240,137:241,138:$Vw1},o($VR,[2,114]),{7:243,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($Vc1,[2,117],{28:244,29:$V91,80:$Vb1,81:$Vb1,82:$Vb1,83:$Vb1,85:$Vb1,88:$Vb1,99:$Vb1,100:$Vb1,94:[1,245]}),o($Vp1,[2,159],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($V_,$Vx1,{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{6:$VE,117:[1,246]},{4:247,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o([6,29,68,106],$Vy1,{127:73,118:93,124:94,107:248,71:[1,249],108:$Vo1,119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($Vz1,[2,133]),o([6,29,106],$Vq1,{67:250,68:$VA1}),o($VB1,[2,142]),{7:227,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:252,103:$Vm,104:$Vn,105:$Vo,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VB1,[2,148]),o($VB1,[2,149]),o($Vm1,[2,132]),o($Vm1,[2,31]),o($V41,[2,125]),{7:227,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,101:[1,253],102:254,103:$Vm,104:$Vn,105:$Vo,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{28:255,29:$V91,118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},o($VC1,[2,162],{127:73,118:93,124:94,119:$Vs,120:[1,256],121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VC1,[2,164],{127:73,118:93,124:94,119:$Vs,120:[1,257],121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VR,[2,170]),o($VD1,[2,171],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,141,144,145,148,149,150,151,152,153,154],[2,175],{126:[1,258]}),o($VE1,[2,178]),{31:174,32:$V2,58:175,72:176,73:177,90:$Vj,104:$V71,105:$V81,129:259,131:173},o($VE1,[2,184],{68:[1,260]}),o($VF1,[2,180]),o($VF1,[2,181]),o($VF1,[2,182]),o($VF1,[2,183]),o($VR,[2,177]),{7:261,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:262,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o([6,29,92],$Vq1,{67:263,68:$VG1}),o($VH1,[2,109]),o($VH1,[2,49],{56:[1,265]}),o($VI1,[2,58],{53:[1,266]}),o($VH1,[2,54]),o($VI1,[2,59]),o($VJ1,[2,55]),o($VJ1,[2,56]),o($VJ1,[2,57]),{44:[1,267],76:109,80:$VS,81:$VT,82:$VU,83:$VV,84:105,85:$VW,88:$VX,95:108,99:$VY,100:$VZ},o($Vv1,$Vb1),{6:$VE,40:[1,268]},o($VF,[2,4]),o($VK1,[2,216],{127:73,118:93,124:94,148:$VJ,149:$VK,150:$VL}),o($VK1,[2,217],{127:73,118:93,124:94,148:$VJ,149:$VK,150:$VL}),o($Vu1,[2,218],{127:73,118:93,124:94,148:$VJ,150:$VL}),o($Vu1,[2,219],{127:73,118:93,124:94,148:$VJ,150:$VL}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,151,152,153,154],[2,220],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,152,153],[2,221],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,154:$VP}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,153],[2,222],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,154:$VP}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,141,152,153,154],[2,223],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM}),o($VD1,[2,206],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VD1,[2,205],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($V41,[2,121]),o($Vj1,[2,97]),o($Vj1,[2,98]),o($Vj1,[2,99]),o($Vj1,[2,100]),{87:[1,269]},{71:$Vn1,87:[2,105],107:270,108:$Vo1,118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},{87:[2,106]},{7:271,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,87:[2,141],90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VL1,[2,135]),o($VL1,$VM1),o($Vj1,[2,104]),o($V41,[2,122]),o($VF,[2,62],{127:73,118:93,124:94,119:$Vx1,121:$Vx1,125:$Vx1,141:$Vx1,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($Vp1,[2,27],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($Vp1,[2,46],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{7:272,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:273,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{64:274,65:$Vh,66:$Vi},o($VN1,$VO1,{70:118,31:120,58:121,72:122,73:123,69:275,32:$V2,71:$V61,90:$Vj,104:$V71,105:$V81}),{6:$VP1,29:$VQ1},o($Vs1,[2,77]),{7:278,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VB1,$Vy1,{127:73,118:93,124:94,71:[1,279],119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VR1,[2,28]),{6:$VE,30:[1,280]},o($Vp1,[2,224],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{7:281,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:282,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($Vp1,[2,227],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VR,[2,204]),{7:283,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VR,[2,153],{113:[1,284]}),{28:285,29:$V91},{28:288,29:$V91,31:286,32:$V2,73:287,90:$Vj},{135:289,137:241,138:$Vw1},{30:[1,290],136:[1,291],137:292,138:$Vw1},o($VS1,[2,197]),{7:294,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,110:293,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VT1,[2,115],{127:73,118:93,124:94,28:295,29:$V91,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VR,[2,118]),{7:296,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($V21,[2,160]),{6:$VE,30:[1,297]},{7:298,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o([12,26,32,36,38,39,42,43,46,47,48,49,50,51,59,60,61,65,66,90,93,98,103,104,105,111,115,116,119,121,123,125,134,140,142,143,144,145,146,147],$VM1,{6:$VU1,29:$VU1,68:$VU1,106:$VU1}),{6:$VV1,29:$VW1,106:[1,299]},o([6,29,30,101,106],$VO1,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,139:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,8:113,74:159,7:227,109:302,12:$V0,26:$V01,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,71:$Vf1,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,119:$Vs,121:$Vt,123:$Vu,125:$Vv,134:$Vw,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD}),o($VN1,$Vq1,{67:303,68:$VA1}),o($V41,[2,128]),o([6,29,101],$Vq1,{67:304,68:$VA1}),o($VX1,[2,201]),{7:305,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:306,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:307,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VE1,[2,179]),{31:174,32:$V2,58:175,72:176,73:177,90:$Vj,104:$V71,105:$V81,131:308},o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,121,125,141],[2,186],{127:73,118:93,124:94,120:[1,309],126:[1,310],144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VY1,[2,187],{127:73,118:93,124:94,120:[1,311],144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{6:$VZ1,29:$V_1,92:[1,312]},o([6,29,30,92],$VO1,{37:76,55:183,57:184,11:185,35:186,31:187,33:188,58:189,54:315,32:$V2,34:$Vh1,36:$V3,38:$V4,39:$V5,60:$Vf,104:$V71}),{7:316,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,317],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:318,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,319],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($V21,[2,37]),o($Vl1,[2,35]),o($Vj1,[2,103]),{7:320,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,87:[2,139],90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{87:[2,140],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},o($Vp1,[2,47],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{30:[1,321],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},{28:322,29:$V91},o($Vs1,[2,73]),{31:120,32:$V2,58:121,69:323,70:118,71:$V61,72:122,73:123,90:$Vj,104:$V71,105:$V81},o($V$1,$V51,{69:117,70:118,31:120,58:121,72:122,73:123,62:324,32:$V2,71:$V61,90:$Vj,104:$V71,105:$V81}),o($Vs1,[2,78],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VB1,$VU1),o($VR1,[2,29]),{30:[1,325],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},o($Vp1,[2,226],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{28:326,29:$V91,118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},{28:327,29:$V91},o($VR,[2,154]),{28:328,29:$V91},{28:329,29:$V91},o($V02,[2,158]),{30:[1,330],136:[1,331],137:292,138:$Vw1},o($VR,[2,195]),{28:332,29:$V91},o($VS1,[2,198]),{28:333,29:$V91,68:[1,334]},o($V12,[2,150],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VR,[2,116]),o($VT1,[2,119],{127:73,118:93,124:94,28:335,29:$V91,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{117:[1,336]},{106:[1,337],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},o($Vz1,[2,134]),{7:227,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,109:338,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:227,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:339,103:$Vm,104:$Vn,105:$Vo,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VB1,[2,143]),{6:$VV1,29:$VW1,30:[1,340]},{6:$VV1,29:$VW1,101:[1,341]},o($VD1,[2,163],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VD1,[2,165],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VD1,[2,176],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VE1,[2,185]),{7:342,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:343,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:344,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($Vz1,[2,107]),{11:185,31:187,32:$V2,33:188,34:$Vh1,35:186,36:$V3,37:76,38:$V4,39:$V5,54:345,55:183,57:184,58:189,60:$Vf,104:$V71},o($V$1,$Vk1,{37:76,54:182,55:183,57:184,11:185,35:186,31:187,33:188,58:189,91:346,32:$V2,34:$Vh1,36:$V3,38:$V4,39:$V5,60:$Vf,104:$V71}),o($VH1,[2,110]),o($VH1,[2,50],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{7:347,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VH1,[2,52],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{7:348,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{87:[2,138],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},o($VR,[2,48]),o($VR,[2,65]),o($Vs1,[2,74]),o($VN1,$Vq1,{67:349,68:$Vr1}),o($VR,[2,225]),o($VX1,[2,202]),o($VR,[2,155]),o($V02,[2,156]),o($V02,[2,157]),o($VR,[2,193]),{28:350,29:$V91},{30:[1,351]},o($VS1,[2,199],{6:[1,352]}),{7:353,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},o($VR,[2,120]),o($V21,[2,161]),o($V21,[2,137]),o($VB1,[2,144]),o($VN1,$Vq1,{67:354,68:$VA1}),o($VB1,[2,145]),o($V41,[2,129]),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,141],[2,188],{127:73,118:93,124:94,126:[1,355],144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VY1,[2,190],{127:73,118:93,124:94,120:[1,356],144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($Vp1,[2,189],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VH1,[2,111]),o($VN1,$Vq1,{67:357,68:$VG1}),{30:[1,358],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},{30:[1,359],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP},{6:$VP1,29:$VQ1,30:[1,360]},{30:[1,361]},o($VR,[2,196]),o($VS1,[2,200]),o($V12,[2,151],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,141:$VG,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),{6:$VV1,29:$VW1,30:[1,362]},{7:363,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{7:364,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,134:$Vw,139:39,140:$Vx,142:$Vy,143:$Vz,144:$VA,145:$VB,146:$VC,147:$VD},{6:$VZ1,29:$V_1,30:[1,365]},o($VH1,[2,51]),o($VH1,[2,53]),o($Vs1,[2,75]),o($VR,[2,194]),o($VB1,[2,146]),o($Vp1,[2,191],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($Vp1,[2,192],{127:73,118:93,124:94,144:$VH,145:$VI,148:$VJ,149:$VK,150:$VL,151:$VM,152:$VN,153:$VO,154:$VP}),o($VH1,[2,112])], -defaultActions: {64:[2,67],65:[2,68],100:[2,127],211:[2,106]}, +table: [{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{1:[3]},{1:[2,2],6:$VE},o($VF,[2,3]),o($VF,[2,6],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VF,[2,7],{127:73,118:96,124:97,119:$Vs,121:$Vt,125:$Vv,142:$VQ}),o($VF,[2,8]),o($VR,[2,12],{95:98,76:99,84:105,80:$VS,81:$VT,82:$VU,83:$VV,85:$VW,88:$VX,99:$VY,100:$VZ}),o($VR,[2,13],{84:105,95:108,76:109,80:$VS,81:$VT,82:$VU,83:$VV,85:$VW,88:$VX,99:$VY,100:$VZ}),o($VR,[2,14]),o($VR,[2,15]),o($VR,[2,16]),o($VR,[2,17]),o($VR,[2,18]),o($VR,[2,19]),o($VR,[2,20]),o($VR,[2,21]),o($VR,[2,22]),o($VR,[2,23]),o($VR,[2,24]),o($V_,[2,9]),o($V_,[2,10]),o($V_,[2,11]),o([1,6,30,40,117,119,121,125,142,149,150,151,152,153,154,155],$V$,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,140:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,7:111,8:113,12:$V0,26:$V01,27:$V11,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:[1,110],60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,123:$Vu,135:$Vw,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD}),o($V21,$V31,{53:[1,115]}),o($V21,[2,93]),o($V21,[2,94]),o($V21,[2,95]),o($V21,[2,96]),o($V41,[2,123]),o([6,29,63,68],$V51,{62:116,69:117,70:118,31:120,58:121,72:122,73:123,32:$V2,71:$V61,90:$Vj,104:$V71,105:$V81}),{28:126,29:$V91},{7:128,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:129,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:130,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:131,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{13:133,14:134,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:135,58:67,72:49,73:50,75:132,77:26,78:27,79:28,90:$Vj,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr},{13:133,14:134,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:135,58:67,72:49,73:50,75:136,77:26,78:27,79:28,90:$Vj,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr},o($Va1,$Vb1,{94:[1,140],147:[1,137],148:[1,138],156:[1,139]}),o($VR,[2,205],{137:[1,141]}),{28:142,29:$V91},{28:143,29:$V91},o($VR,[2,169]),{28:144,29:$V91},{7:145,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,146],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($Vc1,[2,113],{45:25,77:26,78:27,79:28,97:29,72:49,73:50,35:51,41:53,31:66,58:67,37:76,13:133,14:134,52:135,28:147,75:149,29:$V91,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,90:$Vj,94:[1,148],98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr}),{7:150,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($V_,$Vd1,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,140:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,8:113,7:151,12:$V0,26:$V01,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,123:$Vu,135:$Vw,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD}),o([1,6,29,30,40,68,92,117,119,121,125,142],[2,64]),o($Va1,[2,90]),o($Va1,[2,91]),o($V21,[2,38]),o($V21,[2,39]),o($V21,[2,40]),o($V21,[2,41]),o($V21,[2,42]),o($V21,[2,43]),o($V21,[2,44]),o($V21,[2,45]),{4:152,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,29:[1,153],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:154,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:156,103:$Vm,104:$Vn,105:$Vo,106:$Vg1,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($V21,[2,130]),o($V21,[2,131],{33:161,34:$Vh1}),o([1,6,29,30,40,44,63,68,71,80,81,82,83,85,87,88,92,99,101,106,108,117,119,120,121,125,126,142,145,146,149,150,151,152,153,154,155],[2,124],{96:163,100:$Vi1}),{29:[2,67]},{29:[2,68]},o($Vj1,[2,85]),o($Vj1,[2,88]),{7:165,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:166,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:167,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:169,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,28:168,29:$V91,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{31:174,32:$V2,58:175,72:176,73:177,78:170,90:$Vj,104:$V71,105:$Vo,129:171,130:[1,172],131:173},{128:178,132:[1,179],133:[1,180],134:[1,181]},o([6,29,68,92],$Vk1,{37:76,91:182,54:183,55:184,57:185,11:186,35:187,31:188,33:189,58:190,32:$V2,34:$Vh1,36:$V3,38:$V4,39:$V5,60:$Vf,104:$V71}),o($Vl1,[2,32]),o($Vl1,[2,33]),o($V21,[2,36]),{13:133,14:191,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:135,58:67,72:49,73:50,75:192,77:26,78:27,79:28,90:$Vj,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,116:$Vr},o($Vm1,[2,30]),o($Vl1,[2,34]),{4:193,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VF,[2,5],{7:4,8:5,9:6,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,140:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,5:194,12:$V0,26:$V1,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,119:$Vs,121:$Vt,123:$Vu,125:$Vv,135:$Vw,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD}),o($VR,[2,217]),{7:195,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:196,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:197,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:198,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:199,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:200,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:201,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:202,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:203,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VR,[2,168]),o($VR,[2,173]),{7:204,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VR,[2,167]),o($VR,[2,172]),{96:205,100:$Vi1},o($Vj1,[2,86]),{100:[2,127]},{33:206,34:$Vh1},{33:207,34:$Vh1},o($Vj1,[2,101],{33:208,34:$Vh1}),{33:209,34:$Vh1},o($Vj1,[2,102]),{7:211,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vn1,72:49,73:50,75:38,77:26,78:27,79:28,86:210,89:212,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,107:213,108:$Vo1,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{84:216,85:$VW,88:$VX},{96:217,100:$Vi1},o($Vj1,[2,87]),o($VF,[2,63],{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,140:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,8:113,7:218,12:$V0,26:$V01,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,119:$Vd1,121:$Vd1,125:$Vd1,142:$Vd1,123:$Vu,135:$Vw,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD}),o($Vp1,[2,26],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{7:219,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{118:96,119:$Vs,121:$Vt,124:97,125:$Vv,127:73,142:$VQ},o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,149,150,151,152,153,154,155],$V$,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,140:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,7:111,8:113,12:$V0,26:$V01,27:$V11,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,123:$Vu,135:$Vw,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD}),{6:[1,221],7:220,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,222],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o([6,29],$Vq1,{67:225,63:[1,223],68:$Vr1}),o($Vs1,[2,72]),o($Vs1,[2,76],{53:[1,227],71:[1,226]}),o($Vs1,[2,79]),o($Vt1,[2,80]),o($Vt1,[2,81]),o($Vt1,[2,82]),o($Vt1,[2,83]),{33:161,34:$Vh1},{7:228,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:156,103:$Vm,104:$Vn,105:$Vo,106:$Vg1,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VR,[2,66]),{4:230,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,30:[1,229],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,145,146,150,151,152,153,154,155],[2,209],{127:73,118:93,124:94,149:$VJ}),o($Vu1,[2,210],{127:73,118:93,124:94,149:$VJ,151:$VL}),o($Vu1,[2,211],{127:73,118:93,124:94,149:$VJ,151:$VL}),o($Vu1,[2,212],{127:73,118:93,124:94,149:$VJ,151:$VL}),o($VR,[2,213],{80:$Vb1,81:$Vb1,82:$Vb1,83:$Vb1,85:$Vb1,88:$Vb1,99:$Vb1,100:$Vb1}),{76:99,80:$VS,81:$VT,82:$VU,83:$VV,84:105,85:$VW,88:$VX,95:98,99:$VY,100:$VZ},{76:109,80:$VS,81:$VT,82:$VU,83:$VV,84:105,85:$VW,88:$VX,95:108,99:$VY,100:$VZ},o($Vv1,$V31),o($VR,[2,214],{80:$Vb1,81:$Vb1,82:$Vb1,83:$Vb1,85:$Vb1,88:$Vb1,99:$Vb1,100:$Vb1}),o($VR,[2,215]),o($VR,[2,216]),{6:[1,233],7:231,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,232],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:234,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{28:235,29:$V91,141:[1,236]},o($VR,[2,152],{112:237,113:[1,238],114:[1,239]}),o($VR,[2,166]),o($VR,[2,174]),{29:[1,240],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},{136:241,138:242,139:$Vw1},o($VR,[2,114]),{7:244,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($Vc1,[2,117],{28:245,29:$V91,80:$Vb1,81:$Vb1,82:$Vb1,83:$Vb1,85:$Vb1,88:$Vb1,99:$Vb1,100:$Vb1,94:[1,246]}),o($Vp1,[2,159],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($V_,$Vx1,{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{6:$VE,117:[1,247]},{4:248,5:3,7:4,8:5,9:6,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o([6,29,68,106],$Vy1,{127:73,118:93,124:94,107:249,71:[1,250],108:$Vo1,119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($Vz1,[2,133]),o([6,29,106],$Vq1,{67:251,68:$VA1}),o($VB1,[2,142]),{7:228,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:253,103:$Vm,104:$Vn,105:$Vo,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VB1,[2,148]),o($VB1,[2,149]),o($Vm1,[2,132]),o($Vm1,[2,31]),o($V41,[2,125]),{7:228,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,101:[1,254],102:255,103:$Vm,104:$Vn,105:$Vo,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{28:256,29:$V91,118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},o($VC1,[2,162],{127:73,118:93,124:94,119:$Vs,120:[1,257],121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VC1,[2,164],{127:73,118:93,124:94,119:$Vs,120:[1,258],121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VR,[2,170]),o($VD1,[2,171],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,142,145,146,149,150,151,152,153,154,155],[2,175],{126:[1,259]}),o($VE1,[2,178]),{31:174,32:$V2,58:175,72:176,73:177,90:$Vj,104:$V71,105:$V81,129:260,131:173},o($VE1,[2,184],{68:[1,261]}),o($VF1,[2,180]),o($VF1,[2,181]),o($VF1,[2,182]),o($VF1,[2,183]),o($VR,[2,177]),{7:262,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:263,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:264,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o([6,29,92],$Vq1,{67:265,68:$VG1}),o($VH1,[2,109]),o($VH1,[2,49],{56:[1,267]}),o($VI1,[2,58],{53:[1,268]}),o($VH1,[2,54]),o($VI1,[2,59]),o($VJ1,[2,55]),o($VJ1,[2,56]),o($VJ1,[2,57]),{44:[1,269],76:109,80:$VS,81:$VT,82:$VU,83:$VV,84:105,85:$VW,88:$VX,95:108,99:$VY,100:$VZ},o($Vv1,$Vb1),{6:$VE,40:[1,270]},o($VF,[2,4]),o($VK1,[2,218],{127:73,118:93,124:94,149:$VJ,150:$VK,151:$VL}),o($VK1,[2,219],{127:73,118:93,124:94,149:$VJ,150:$VK,151:$VL}),o($Vu1,[2,220],{127:73,118:93,124:94,149:$VJ,151:$VL}),o($Vu1,[2,221],{127:73,118:93,124:94,149:$VJ,151:$VL}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,152,153,154,155],[2,222],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,153,154],[2,223],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,155:$VP}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,154],[2,224],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,155:$VP}),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,126,142,153,154,155],[2,225],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM}),o($VD1,[2,208],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VD1,[2,207],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($V41,[2,121]),o($Vj1,[2,97]),o($Vj1,[2,98]),o($Vj1,[2,99]),o($Vj1,[2,100]),{87:[1,271]},{71:$Vn1,87:[2,105],107:272,108:$Vo1,118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},{87:[2,106]},{7:273,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,87:[2,141],90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VL1,[2,135]),o($VL1,$VM1),o($Vj1,[2,104]),o($V41,[2,122]),o($VF,[2,62],{127:73,118:93,124:94,119:$Vx1,121:$Vx1,125:$Vx1,142:$Vx1,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($Vp1,[2,27],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($Vp1,[2,46],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{7:274,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:275,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{64:276,65:$Vh,66:$Vi},o($VN1,$VO1,{70:118,31:120,58:121,72:122,73:123,69:277,32:$V2,71:$V61,90:$Vj,104:$V71,105:$V81}),{6:$VP1,29:$VQ1},o($Vs1,[2,77]),{7:280,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VB1,$Vy1,{127:73,118:93,124:94,71:[1,281],119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VR1,[2,28]),{6:$VE,30:[1,282]},o($Vp1,[2,226],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{7:283,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:284,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($Vp1,[2,229],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VR,[2,206]),{7:285,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VR,[2,153],{113:[1,286]}),{28:287,29:$V91},{28:290,29:$V91,31:288,32:$V2,73:289,90:$Vj},{136:291,138:242,139:$Vw1},{30:[1,292],137:[1,293],138:294,139:$Vw1},o($VS1,[2,199]),{7:296,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,110:295,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VT1,[2,115],{127:73,118:93,124:94,28:297,29:$V91,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VR,[2,118]),{7:298,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($V21,[2,160]),{6:$VE,30:[1,299]},{7:300,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o([12,26,32,36,38,39,42,43,46,47,48,49,50,51,59,60,61,65,66,90,93,98,103,104,105,111,115,116,119,121,123,125,135,141,143,144,145,146,147,148],$VM1,{6:$VU1,29:$VU1,68:$VU1,106:$VU1}),{6:$VV1,29:$VW1,106:[1,301]},o([6,29,30,101,106],$VO1,{13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,10:20,11:21,52:24,45:25,77:26,78:27,79:28,97:29,64:31,75:38,140:39,118:41,122:42,124:43,72:49,73:50,35:51,41:53,31:66,58:67,127:73,37:76,8:113,74:159,7:228,109:304,12:$V0,26:$V01,32:$V2,36:$V3,38:$V4,39:$V5,42:$V6,43:$V7,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,59:$Ve,60:$Vf,61:$Vg,65:$Vh,66:$Vi,71:$Vf1,90:$Vj,93:$Vk,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,119:$Vs,121:$Vt,123:$Vu,125:$Vv,135:$Vw,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD}),o($VN1,$Vq1,{67:305,68:$VA1}),o($V41,[2,128]),o([6,29,101],$Vq1,{67:306,68:$VA1}),o($VX1,[2,203]),{7:307,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:308,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:309,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VE1,[2,179]),{31:174,32:$V2,58:175,72:176,73:177,90:$Vj,104:$V71,105:$V81,131:310},o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,121,125,142],[2,186],{127:73,118:93,124:94,120:[1,311],126:[1,312],145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VY1,[2,187],{127:73,118:93,124:94,120:[1,313],145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VY1,[2,193],{127:73,118:93,124:94,120:[1,314],145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{6:$VZ1,29:$V_1,92:[1,315]},o([6,29,30,92],$VO1,{37:76,55:184,57:185,11:186,35:187,31:188,33:189,58:190,54:318,32:$V2,34:$Vh1,36:$V3,38:$V4,39:$V5,60:$Vf,104:$V71}),{7:319,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,320],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:321,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:[1,322],31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($V21,[2,37]),o($Vl1,[2,35]),o($Vj1,[2,103]),{7:323,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,87:[2,139],90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{87:[2,140],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},o($Vp1,[2,47],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{30:[1,324],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},{28:325,29:$V91},o($Vs1,[2,73]),{31:120,32:$V2,58:121,69:326,70:118,71:$V61,72:122,73:123,90:$Vj,104:$V71,105:$V81},o($V$1,$V51,{69:117,70:118,31:120,58:121,72:122,73:123,62:327,32:$V2,71:$V61,90:$Vj,104:$V71,105:$V81}),o($Vs1,[2,78],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VB1,$VU1),o($VR1,[2,29]),{30:[1,328],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},o($Vp1,[2,228],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{28:329,29:$V91,118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},{28:330,29:$V91},o($VR,[2,154]),{28:331,29:$V91},{28:332,29:$V91},o($V02,[2,158]),{30:[1,333],137:[1,334],138:294,139:$Vw1},o($VR,[2,197]),{28:335,29:$V91},o($VS1,[2,200]),{28:336,29:$V91,68:[1,337]},o($V12,[2,150],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VR,[2,116]),o($VT1,[2,119],{127:73,118:93,124:94,28:338,29:$V91,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{117:[1,339]},{106:[1,340],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},o($Vz1,[2,134]),{7:228,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,109:341,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:228,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,29:$Ve1,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,71:$Vf1,72:49,73:50,74:159,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,102:342,103:$Vm,104:$Vn,105:$Vo,109:157,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VB1,[2,143]),{6:$VV1,29:$VW1,30:[1,343]},{6:$VV1,29:$VW1,101:[1,344]},o($VD1,[2,163],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VD1,[2,165],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VD1,[2,176],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VE1,[2,185]),{7:345,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:346,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:347,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:348,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($Vz1,[2,107]),{11:186,31:188,32:$V2,33:189,34:$Vh1,35:187,36:$V3,37:76,38:$V4,39:$V5,54:349,55:184,57:185,58:190,60:$Vf,104:$V71},o($V$1,$Vk1,{37:76,54:183,55:184,57:185,11:186,35:187,31:188,33:189,58:190,91:350,32:$V2,34:$Vh1,36:$V3,38:$V4,39:$V5,60:$Vf,104:$V71}),o($VH1,[2,110]),o($VH1,[2,50],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{7:351,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VH1,[2,52],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{7:352,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{87:[2,138],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},o($VR,[2,48]),o($VR,[2,65]),o($Vs1,[2,74]),o($VN1,$Vq1,{67:353,68:$Vr1}),o($VR,[2,227]),o($VX1,[2,204]),o($VR,[2,155]),o($V02,[2,156]),o($V02,[2,157]),o($VR,[2,195]),{28:354,29:$V91},{30:[1,355]},o($VS1,[2,201],{6:[1,356]}),{7:357,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},o($VR,[2,120]),o($V21,[2,161]),o($V21,[2,137]),o($VB1,[2,144]),o($VN1,$Vq1,{67:358,68:$VA1}),o($VB1,[2,145]),o($V41,[2,129]),o([1,6,29,30,40,63,68,71,87,92,101,106,108,117,119,120,121,125,142],[2,188],{127:73,118:93,124:94,126:[1,359],145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VY1,[2,190],{127:73,118:93,124:94,120:[1,360],145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($Vp1,[2,189],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($Vp1,[2,194],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VH1,[2,111]),o($VN1,$Vq1,{67:361,68:$VG1}),{30:[1,362],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},{30:[1,363],118:93,119:$Vs,121:$Vt,124:94,125:$Vv,127:73,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP},{6:$VP1,29:$VQ1,30:[1,364]},{30:[1,365]},o($VR,[2,198]),o($VS1,[2,202]),o($V12,[2,151],{127:73,118:93,124:94,119:$Vs,121:$Vt,125:$Vv,142:$VG,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),{6:$VV1,29:$VW1,30:[1,366]},{7:367,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{7:368,8:113,10:20,11:21,12:$V0,13:7,14:8,15:9,16:10,17:11,18:12,19:13,20:14,21:15,22:16,23:17,24:18,25:19,26:$V01,31:66,32:$V2,35:51,36:$V3,37:76,38:$V4,39:$V5,41:53,42:$V6,43:$V7,45:25,46:$V8,47:$V9,48:$Va,49:$Vb,50:$Vc,51:$Vd,52:24,58:67,59:$Ve,60:$Vf,61:$Vg,64:31,65:$Vh,66:$Vi,72:49,73:50,75:38,77:26,78:27,79:28,90:$Vj,93:$Vk,97:29,98:$Vl,103:$Vm,104:$Vn,105:$Vo,111:$Vp,115:$Vq,116:$Vr,118:41,119:$Vs,121:$Vt,122:42,123:$Vu,124:43,125:$Vv,127:73,135:$Vw,140:39,141:$Vx,143:$Vy,144:$Vz,145:$VA,146:$VB,147:$VC,148:$VD},{6:$VZ1,29:$V_1,30:[1,369]},o($VH1,[2,51]),o($VH1,[2,53]),o($Vs1,[2,75]),o($VR,[2,196]),o($VB1,[2,146]),o($Vp1,[2,191],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($Vp1,[2,192],{127:73,118:93,124:94,145:$VH,146:$VI,149:$VJ,150:$VK,151:$VL,152:$VM,153:$VN,154:$VO,155:$VP}),o($VH1,[2,112])], +defaultActions: {64:[2,67],65:[2,68],100:[2,127],212:[2,106]}, parseError: function parseError(str, hash) { if (hash.recoverable) { this.trace(str); } else { - throw new Error(str); + function _parseError (msg, hash) { + this.message = msg; + this.hash = hash; + } + _parseError.prototype = Error; + + throw new _parseError(str, hash); } }, parse: function parse(input) { @@ -640,14 +659,14 @@ parse: function parse(input) { lstack.length = lstack.length - n; } _token_stack: - function lex() { + var lex = function () { var token; token = lexer.lex() || EOF; if (typeof token !== 'number') { token = self.symbols_[token] || token; } return token; - } + }; var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected; while (true) { state = stack[stack.length - 1]; diff --git a/src/grammar.coffee b/src/grammar.coffee index e9e2819f3a..b1d06795bb 100644 --- a/src/grammar.coffee +++ b/src/grammar.coffee @@ -534,6 +534,8 @@ grammar = o 'FORIN Expression BY Expression', -> source: $2, step: $4 o 'FORIN Expression WHEN Expression BY Expression', -> source: $2, guard: $4, step: $6 o 'FORIN Expression BY Expression WHEN Expression', -> source: $2, step: $4, guard: $6 + o 'FORFROM Expression', -> source: $2, from: yes + o 'FORFROM Expression WHEN Expression', -> source: $2, guard: $4, from: yes ] Switch: [ @@ -643,7 +645,7 @@ operators = [ ['nonassoc', 'INDENT', 'OUTDENT'] ['right', 'YIELD'] ['right', '=', ':', 'COMPOUND_ASSIGN', 'RETURN', 'THROW', 'EXTENDS'] - ['right', 'FORIN', 'FOROF', 'BY', 'WHEN'] + ['right', 'FORIN', 'FOROF', 'FORFROM', 'BY', 'WHEN'] ['right', 'IF', 'ELSE', 'FOR', 'WHILE', 'UNTIL', 'LOOP', 'SUPER', 'CLASS'] ['left', 'POST_IF'] ] diff --git a/src/lexer.coffee b/src/lexer.coffee index 2e6090df61..09499963e9 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -42,7 +42,7 @@ exports.Lexer = class Lexer @indents = [] # The stack of all current indentation levels. @ends = [] # The stack for pairing up tokens. @tokens = [] # Stream of parsed tokens in the form `['TYPE', value, location data]`. - @seenFor = no # Used to recognize FORIN and FOROF tokens. + @seenFor = no # Used to recognize FORIN, FOROF and FORFROM tokens. @chunkLine = opts.line or 0 # The start line for the current @chunk. @@ -121,7 +121,11 @@ exports.Lexer = class Lexer 'PROPERTY' else 'IDENTIFIER' - + + if tag is 'IDENTIFIER' and @seenFor and id is 'from' + tag = 'FORFROM' + @seenFor = no + if tag is 'IDENTIFIER' and (id in JS_KEYWORDS or id in COFFEE_KEYWORDS) tag = id.toUpperCase() if tag is 'WHEN' and @tag() in LINE_BREAK diff --git a/src/nodes.coffee b/src/nodes.coffee index 646f6c7743..782e3ef41a 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -2095,13 +2095,15 @@ exports.For = class For extends While @body = Block.wrap [body] @own = !!source.own @object = !!source.object - [@name, @index] = [@index, @name] if @object + @from = !!source.from + [@name, @index] = [@index, @name] if @object or @from @index.error 'index cannot be a pattern matching expression' if @index instanceof Value @range = @source instanceof Value and @source.base instanceof Range and not @source.properties.length @pattern = @name instanceof Value @index.error 'indexes do not apply to range loops' if @range and @index @name.error 'cannot pattern match over range loops' if @range and @pattern @name.error 'cannot use own with for-in' if @own and not @object + @name.error 'cannot use index with for-from' if @from and @name @returns = false children: ['body', 'source', 'guard', 'step'] @@ -2121,7 +2123,7 @@ exports.For = class For extends While scope.find(name) if name and not @pattern scope.find(index) if index rvar = scope.freeVariable 'results' if @returns - ivar = (@object and index) or scope.freeVariable 'i', single: true + ivar = ((@object or @from) and index) or scope.freeVariable 'i', single: true kvar = (@range and name) or index or ivar kvarAssign = if kvar isnt ivar then "#{kvar} = " else "" if @step and not @range @@ -2142,7 +2144,7 @@ exports.For = class For extends While svar = ref if name and not @pattern namePart = "#{name} = #{svar}[#{kvar}]" - if not @object + if not (@object or @from) defPart += "#{@tab}#{step};\n" if step isnt stepVar down = stepNum < 0 lvar = scope.freeVariable 'len' unless @step and stepNum? and down @@ -2178,6 +2180,9 @@ exports.For = class For extends While if @object forPartFragments = [@makeCode("#{kvar} in #{svar}")] guardPart = "\n#{idt1}if (!#{utility 'hasProp', o}.call(#{svar}, #{kvar})) continue;" if @own + if @from + forPartFragments = [@makeCode("#{kvar} of #{svar}")] + guardPart = "\n" bodyFragments = body.compileToFragments merge(o, indent: idt1), LEVEL_TOP if bodyFragments and (bodyFragments.length > 0) bodyFragments = [].concat @makeCode("\n"), bodyFragments, @makeCode("\n") diff --git a/test/arrays.coffee b/test/arrays.coffee index 5947dbd8ce..28fefcfa4c 100644 --- a/test/arrays.coffee +++ b/test/arrays.coffee @@ -107,3 +107,21 @@ test "regex interpolation in array", -> eq 2, arr.length eq 'ab', arr[0].source eq 'value', arr[1].key + + +test "for-from loops over Array", -> + array1 = [50, 30, 70, 20] + array2 = [] + for x from array1 + array2.push(x) + arrayEq array1, array2 + + +test "for-from comprehensions over Array", -> + + array1 = (x + 10 for x from [10, 20, 30]) + ok array1.join(' ') is '20 30 40' + + array2 = (x for x from [30, 41, 57] when x %% 3 == 0) + ok array2.join(' ') is '30 57' + diff --git a/test/compilation.coffee b/test/compilation.coffee index 390375c8f3..0f95d6c4fb 100644 --- a/test/compilation.coffee +++ b/test/compilation.coffee @@ -123,3 +123,10 @@ test "#3001: `own` shouldn't be allowed in a `for`-`in` loop", -> test "#2994: single-line `if` requires `then`", -> cantCompile "if b else x" + +test "indexes are not supported in for-from loops", -> + cantCompile "x for x, i from [1, 2, 3]" + +test "own is not supported in for-from loops", -> + cantCompile "x for own x from [1, 2, 3]" + diff --git a/test/generators.coffee b/test/generators.coffee index e01af7620b..bac74ffacc 100644 --- a/test/generators.coffee +++ b/test/generators.coffee @@ -250,3 +250,41 @@ test "yield handles 'this' correctly", -> ok z.done is false throws -> y.next new Error "boom" + + +test "for-from comprehensions over generators", -> + array1 = [50, 30, 70, 20] + gen = -> yield from array1 + + array2 = [] + array3 = [] + array4 = [] + + iterator = gen() + for x from iterator + array2.push(x) + break if x is 30 + + for x from iterator + array3.push(x) + + for x from iterator + array4.push(x) + + arrayEq array2, [50, 30] + arrayEq array3, [70, 20] + arrayEq array4, [] + + +test "for-from comprehensions over generators", -> + + gen = -> + yield from [30, 41, 51, 60] + + iterator = gen() + array1 = (x for x from iterator when x %% 2 == 1) + array2 = (x for x from iterator) + + ok array1.join(' ') is '41 51' + ok array2.length is 0 + From 68f22b034ab3ef3fe8b0e27579f7b674a8822fa2 Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Mon, 12 Sep 2016 18:19:23 +0100 Subject: [PATCH 02/11] for-from: remove extra newline and add support for ranges --- lib/coffee-script/nodes.js | 3 +-- src/nodes.coffee | 3 +-- test/ranges.coffee | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/coffee-script/nodes.js b/lib/coffee-script/nodes.js index 3616cbfe0b..853ea7a159 100644 --- a/lib/coffee-script/nodes.js +++ b/lib/coffee-script/nodes.js @@ -3029,7 +3029,7 @@ if (this.index instanceof Value) { this.index.error('index cannot be a pattern matching expression'); } - this.range = this.source instanceof Value && this.source.base instanceof Range && !this.source.properties.length; + this.range = this.source instanceof Value && this.source.base instanceof Range && !this.source.properties.length && !this.from; this.pattern = this.name instanceof Value; if (this.range && this.index) { this.index.error('indexes do not apply to range loops'); @@ -3162,7 +3162,6 @@ } if (this.from) { forPartFragments = [this.makeCode(kvar + " of " + svar)]; - guardPart = "\n"; } bodyFragments = body.compileToFragments(merge(o, { indent: idt1 diff --git a/src/nodes.coffee b/src/nodes.coffee index 782e3ef41a..28139551e9 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -2098,7 +2098,7 @@ exports.For = class For extends While @from = !!source.from [@name, @index] = [@index, @name] if @object or @from @index.error 'index cannot be a pattern matching expression' if @index instanceof Value - @range = @source instanceof Value and @source.base instanceof Range and not @source.properties.length + @range = @source instanceof Value and @source.base instanceof Range and not @source.properties.length and not @from @pattern = @name instanceof Value @index.error 'indexes do not apply to range loops' if @range and @index @name.error 'cannot pattern match over range loops' if @range and @pattern @@ -2182,7 +2182,6 @@ exports.For = class For extends While guardPart = "\n#{idt1}if (!#{utility 'hasProp', o}.call(#{svar}, #{kvar})) continue;" if @own if @from forPartFragments = [@makeCode("#{kvar} of #{svar}")] - guardPart = "\n" bodyFragments = body.compileToFragments merge(o, indent: idt1), LEVEL_TOP if bodyFragments and (bodyFragments.length > 0) bodyFragments = [].concat @makeCode("\n"), bodyFragments, @makeCode("\n") diff --git a/test/ranges.coffee b/test/ranges.coffee index 456b03c3ae..f04d10522a 100644 --- a/test/ranges.coffee +++ b/test/ranges.coffee @@ -75,6 +75,21 @@ test "large ranges are generated with looping constructs", -> eq 100, (len = up.length) eq 99, up[len - 1] +test "for-from loops over ranges", -> + array1 = [] + for x from [20..30] + array1.push(x) + if x == 25 + break + arrayEq array1, [20, 21, 22, 23, 24, 25] + +test "for-from comprehensions over ranges", -> + array1 = (x + 10 for x from [20..25]) + ok array1.join(' ') is '30 31 32 33 34 35' + + array2 = (x for x from [20..30] when x %% 2 == 0) + ok array2.join(' ') is '20 22 24 26 28 30' + test "#1012 slices with arguments object", -> expected = [0..9] argsAtStart = (-> [arguments[0]..9]) 0 From 07da7ad16e1830640f3b6b32136556cb26a5b17b Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Mon, 12 Sep 2016 19:05:33 +0100 Subject: [PATCH 03/11] for-from: tidy up the lexer --- lib/coffee-script/lexer.js | 57 +++++++++++++++++++------------------- src/lexer.coffee | 52 +++++++++++++++++----------------- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/lib/coffee-script/lexer.js b/lib/coffee-script/lexer.js index e029837823..a4866e937c 100644 --- a/lib/coffee-script/lexer.js +++ b/lib/coffee-script/lexer.js @@ -83,37 +83,38 @@ } ref2 = this.tokens, prev = ref2[ref2.length - 1]; tag = colon || (prev != null) && (((ref3 = prev[0]) === '.' || ref3 === '?.' || ref3 === '::' || ref3 === '?::') || !prev.spaced && prev[0] === '@') ? 'PROPERTY' : 'IDENTIFIER'; - if (tag === 'IDENTIFIER' && this.seenFor && id === 'from') { - tag = 'FORFROM'; - this.seenFor = false; - } - if (tag === 'IDENTIFIER' && (indexOf.call(JS_KEYWORDS, id) >= 0 || indexOf.call(COFFEE_KEYWORDS, id) >= 0)) { - tag = id.toUpperCase(); - if (tag === 'WHEN' && (ref4 = this.tag(), indexOf.call(LINE_BREAK, ref4) >= 0)) { - tag = 'LEADING_WHEN'; - } else if (tag === 'FOR') { - this.seenFor = true; - } else if (tag === 'UNLESS') { - tag = 'IF'; - } else if (indexOf.call(UNARY, tag) >= 0) { - tag = 'UNARY'; - } else if (indexOf.call(RELATION, tag) >= 0) { - if (tag !== 'INSTANCEOF' && this.seenFor) { - tag = 'FOR' + tag; - this.seenFor = false; - } else { - tag = 'RELATION'; - if (this.value() === '!') { - poppedToken = this.tokens.pop(); - id = '!' + id; + if (tag === 'IDENTIFIER') { + if (this.seenFor && id === 'from') { + tag = 'FORFROM'; + this.seenFor = false; + } else if (indexOf.call(JS_KEYWORDS, id) >= 0 || indexOf.call(COFFEE_KEYWORDS, id) >= 0) { + tag = id.toUpperCase(); + if (tag === 'WHEN' && (ref4 = this.tag(), indexOf.call(LINE_BREAK, ref4) >= 0)) { + tag = 'LEADING_WHEN'; + } else if (tag === 'FOR') { + this.seenFor = true; + } else if (tag === 'UNLESS') { + tag = 'IF'; + } else if (indexOf.call(UNARY, tag) >= 0) { + tag = 'UNARY'; + } else if (indexOf.call(RELATION, tag) >= 0) { + if (tag !== 'INSTANCEOF' && this.seenFor) { + tag = 'FOR' + tag; + this.seenFor = false; + } else { + tag = 'RELATION'; + if (this.value() === '!') { + poppedToken = this.tokens.pop(); + id = '!' + id; + } } } } - } - if (tag === 'IDENTIFIER' && indexOf.call(RESERVED, id) >= 0) { - this.error("reserved word '" + id + "'", { - length: id.length - }); + if (indexOf.call(RESERVED, id) >= 0) { + this.error("reserved word '" + id + "'", { + length: id.length + }); + } } if (tag !== 'PROPERTY') { if (indexOf.call(COFFEE_ALIASES, id) >= 0) { diff --git a/src/lexer.coffee b/src/lexer.coffee index 09499963e9..1d763a4d3e 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -122,32 +122,32 @@ exports.Lexer = class Lexer else 'IDENTIFIER' - if tag is 'IDENTIFIER' and @seenFor and id is 'from' - tag = 'FORFROM' - @seenFor = no - - if tag is 'IDENTIFIER' and (id in JS_KEYWORDS or id in COFFEE_KEYWORDS) - tag = id.toUpperCase() - if tag is 'WHEN' and @tag() in LINE_BREAK - tag = 'LEADING_WHEN' - else if tag is 'FOR' - @seenFor = yes - else if tag is 'UNLESS' - tag = 'IF' - else if tag in UNARY - tag = 'UNARY' - else if tag in RELATION - if tag isnt 'INSTANCEOF' and @seenFor - tag = 'FOR' + tag - @seenFor = no - else - tag = 'RELATION' - if @value() is '!' - poppedToken = @tokens.pop() - id = '!' + id - - if tag is 'IDENTIFIER' and id in RESERVED - @error "reserved word '#{id}'", length: id.length + if tag is 'IDENTIFIER' + if @seenFor and id is 'from' + tag = 'FORFROM' + @seenFor = no + else if id in JS_KEYWORDS or id in COFFEE_KEYWORDS + tag = id.toUpperCase() + if tag is 'WHEN' and @tag() in LINE_BREAK + tag = 'LEADING_WHEN' + else if tag is 'FOR' + @seenFor = yes + else if tag is 'UNLESS' + tag = 'IF' + else if tag in UNARY + tag = 'UNARY' + else if tag in RELATION + if tag isnt 'INSTANCEOF' and @seenFor + tag = 'FOR' + tag + @seenFor = no + else + tag = 'RELATION' + if @value() is '!' + poppedToken = @tokens.pop() + id = '!' + id + + if id in RESERVED + @error "reserved word '#{id}'", length: id.length unless tag is 'PROPERTY' if id in COFFEE_ALIASES From 5361fbff6e31915d5b179217eadd87d34571c974 Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Mon, 12 Sep 2016 20:35:22 +0100 Subject: [PATCH 04/11] for-from: add support for patterns --- lib/coffee-script/nodes.js | 82 ++++++++++++++++++++++---------------- src/lexer.coffee | 4 +- src/nodes.coffee | 62 ++++++++++++++++------------ test/arrays.coffee | 18 +++++++++ 4 files changed, 104 insertions(+), 62 deletions(-) diff --git a/lib/coffee-script/nodes.js b/lib/coffee-script/nodes.js index 853ea7a159..e80dc98cb8 100644 --- a/lib/coffee-script/nodes.js +++ b/lib/coffee-script/nodes.js @@ -3023,7 +3023,10 @@ this.own = !!source.own; this.object = !!source.object; this.from = !!source.from; - if (this.object || this.from) { + if (this.from && this.index) { + this.index.error('cannot use index with for-from'); + } + if (this.object) { ref3 = [this.index, this.name], this.name = ref3[0], this.index = ref3[1]; } if (this.index instanceof Value) { @@ -3040,9 +3043,6 @@ if (this.own && !this.object) { this.name.error('cannot use own with for-in'); } - if (this.from && this.name) { - this.name.error('cannot use index with for-from'); - } this.returns = false; } @@ -3070,10 +3070,18 @@ if (this.returns) { rvar = scope.freeVariable('results'); } - ivar = ((this.object || this.from) && index) || scope.freeVariable('i', { - single: true - }); - kvar = (this.range && name) || index || ivar; + if (this.from) { + if (this.pattern) { + ivar = scope.freeVariable('x', { + single: true + }); + } + } else { + ivar = (this.object && index) || scope.freeVariable('i', { + single: true + }); + } + kvar = ((this.range || this.from) && name) || index || ivar; kvarAssign = kvar !== ivar ? kvar + " = " : ""; if (this.step && !this.range) { ref4 = this.cacheToCodeFragments(this.step.cache(o, LEVEL_LIST, isComplexOrAssignable)), step = ref4[0], stepVar = ref4[1]; @@ -3101,36 +3109,38 @@ defPart += "" + this.tab + (ref = scope.freeVariable('ref')) + " = " + svar + ";\n"; svar = ref; } - if (name && !this.pattern) { - namePart = name + " = " + svar + "[" + kvar + "]"; - } - if (!(this.object || this.from)) { - if (step !== stepVar) { - defPart += "" + this.tab + step + ";\n"; - } - down = stepNum < 0; - if (!(this.step && (stepNum != null) && down)) { - lvar = scope.freeVariable('len'); + if (!this.from) { + if (name && !this.pattern) { + namePart = name + " = " + svar + "[" + kvar + "]"; } - declare = "" + kvarAssign + ivar + " = 0, " + lvar + " = " + svar + ".length"; - declareDown = "" + kvarAssign + ivar + " = " + svar + ".length - 1"; - compare = ivar + " < " + lvar; - compareDown = ivar + " >= 0"; - if (this.step) { - if (stepNum != null) { - if (down) { - compare = compareDown; - declare = declareDown; + if (!this.object) { + if (step !== stepVar) { + defPart += "" + this.tab + step + ";\n"; + } + down = stepNum < 0; + if (!(this.step && (stepNum != null) && down)) { + lvar = scope.freeVariable('len'); + } + declare = "" + kvarAssign + ivar + " = 0, " + lvar + " = " + svar + ".length"; + declareDown = "" + kvarAssign + ivar + " = " + svar + ".length - 1"; + compare = ivar + " < " + lvar; + compareDown = ivar + " >= 0"; + if (this.step) { + if (stepNum != null) { + if (down) { + compare = compareDown; + declare = declareDown; + } + } else { + compare = stepVar + " > 0 ? " + compare + " : " + compareDown; + declare = "(" + stepVar + " > 0 ? (" + declare + ") : " + declareDown + ")"; } + increment = ivar + " += " + stepVar; } else { - compare = stepVar + " > 0 ? " + compare + " : " + compareDown; - declare = "(" + stepVar + " > 0 ? (" + declare + ") : " + declareDown + ")"; + increment = "" + (kvar !== ivar ? "++" + ivar : ivar + "++"); } - increment = ivar + " += " + stepVar; - } else { - increment = "" + (kvar !== ivar ? "++" + ivar : ivar + "++"); + forPartFragments = [this.makeCode(declare + "; " + compare + "; " + kvarAssign + increment)]; } - forPartFragments = [this.makeCode(declare + "; " + compare + "; " + kvarAssign + increment)]; } } if (this.returns) { @@ -3148,7 +3158,11 @@ } } if (this.pattern) { - body.expressions.unshift(new Assign(this.name, new Literal(svar + "[" + kvar + "]"))); + if (this.from) { + body.expressions.unshift(new Assign(this.name, new IdentifierLiteral(kvar))); + } else { + body.expressions.unshift(new Assign(this.name, new Literal(svar + "[" + kvar + "]"))); + } } defPartFragments = [].concat(this.makeCode(defPart), this.pluckDirectCall(o, body)); if (namePart) { diff --git a/src/lexer.coffee b/src/lexer.coffee index 1d763a4d3e..b9ddffdb01 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -121,7 +121,7 @@ exports.Lexer = class Lexer 'PROPERTY' else 'IDENTIFIER' - + if tag is 'IDENTIFIER' if @seenFor and id is 'from' tag = 'FORFROM' @@ -145,7 +145,7 @@ exports.Lexer = class Lexer if @value() is '!' poppedToken = @tokens.pop() id = '!' + id - + if id in RESERVED @error "reserved word '#{id}'", length: id.length diff --git a/src/nodes.coffee b/src/nodes.coffee index 28139551e9..d1b9c31198 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -2096,14 +2096,17 @@ exports.For = class For extends While @own = !!source.own @object = !!source.object @from = !!source.from - [@name, @index] = [@index, @name] if @object or @from + @index.error 'cannot use index with for-from' if @from and @index + + [@name, @index] = [@index, @name] if @object + @index.error 'index cannot be a pattern matching expression' if @index instanceof Value @range = @source instanceof Value and @source.base instanceof Range and not @source.properties.length and not @from @pattern = @name instanceof Value @index.error 'indexes do not apply to range loops' if @range and @index @name.error 'cannot pattern match over range loops' if @range and @pattern @name.error 'cannot use own with for-in' if @own and not @object - @name.error 'cannot use index with for-from' if @from and @name + @returns = false children: ['body', 'source', 'guard', 'step'] @@ -2123,8 +2126,11 @@ exports.For = class For extends While scope.find(name) if name and not @pattern scope.find(index) if index rvar = scope.freeVariable 'results' if @returns - ivar = ((@object or @from) and index) or scope.freeVariable 'i', single: true - kvar = (@range and name) or index or ivar + if @from + ivar = scope.freeVariable 'x', single: true if @pattern + else + ivar = (@object and index) or scope.freeVariable 'i', single: true + kvar = ((@range or @from) and name) or index or ivar kvarAssign = if kvar isnt ivar then "#{kvar} = " else "" if @step and not @range [step, stepVar] = @cacheToCodeFragments @step.cache o, LEVEL_LIST, isComplexOrAssignable @@ -2142,28 +2148,29 @@ exports.For = class For extends While if (name or @own) and @source.unwrap() not instanceof IdentifierLiteral defPart += "#{@tab}#{ref = scope.freeVariable 'ref'} = #{svar};\n" svar = ref - if name and not @pattern - namePart = "#{name} = #{svar}[#{kvar}]" - if not (@object or @from) - defPart += "#{@tab}#{step};\n" if step isnt stepVar - down = stepNum < 0 - lvar = scope.freeVariable 'len' unless @step and stepNum? and down - declare = "#{kvarAssign}#{ivar} = 0, #{lvar} = #{svar}.length" - declareDown = "#{kvarAssign}#{ivar} = #{svar}.length - 1" - compare = "#{ivar} < #{lvar}" - compareDown = "#{ivar} >= 0" - if @step - if stepNum? - if down - compare = compareDown - declare = declareDown + if not @from + if name and not @pattern + namePart = "#{name} = #{svar}[#{kvar}]" + if not @object + defPart += "#{@tab}#{step};\n" if step isnt stepVar + down = stepNum < 0 + lvar = scope.freeVariable 'len' unless @step and stepNum? and down + declare = "#{kvarAssign}#{ivar} = 0, #{lvar} = #{svar}.length" + declareDown = "#{kvarAssign}#{ivar} = #{svar}.length - 1" + compare = "#{ivar} < #{lvar}" + compareDown = "#{ivar} >= 0" + if @step + if stepNum? + if down + compare = compareDown + declare = declareDown + else + compare = "#{stepVar} > 0 ? #{compare} : #{compareDown}" + declare = "(#{stepVar} > 0 ? (#{declare}) : #{declareDown})" + increment = "#{ivar} += #{stepVar}" else - compare = "#{stepVar} > 0 ? #{compare} : #{compareDown}" - declare = "(#{stepVar} > 0 ? (#{declare}) : #{declareDown})" - increment = "#{ivar} += #{stepVar}" - else - increment = "#{if kvar isnt ivar then "++#{ivar}" else "#{ivar}++"}" - forPartFragments = [@makeCode("#{declare}; #{compare}; #{kvarAssign}#{increment}")] + increment = "#{if kvar isnt ivar then "++#{ivar}" else "#{ivar}++"}" + forPartFragments = [@makeCode("#{declare}; #{compare}; #{kvarAssign}#{increment}")] if @returns resultPart = "#{@tab}#{rvar} = [];\n" returnResult = "\n#{@tab}return #{rvar};" @@ -2174,7 +2181,10 @@ exports.For = class For extends While else body = Block.wrap [new If @guard, body] if @guard if @pattern - body.expressions.unshift new Assign @name, new Literal "#{svar}[#{kvar}]" + if @from + body.expressions.unshift new Assign @name, new IdentifierLiteral kvar + else + body.expressions.unshift new Assign @name, new Literal "#{svar}[#{kvar}]" defPartFragments = [].concat @makeCode(defPart), @pluckDirectCall(o, body) varPart = "\n#{idt1}#{namePart};" if namePart if @object diff --git a/test/arrays.coffee b/test/arrays.coffee index 28fefcfa4c..2493d893cb 100644 --- a/test/arrays.coffee +++ b/test/arrays.coffee @@ -116,6 +116,19 @@ test "for-from loops over Array", -> array2.push(x) arrayEq array1, array2 + array1 = [[20, 30], [40, 50]] + array2 = [] + for [a, b] from array1 + array2.push(b) + array2.push(a) + arrayEq array2, [30, 20, 50, 40] + + array1 = [{a: 10, b: 20, c: 30}, {a: 40, b: 50, c: 60}] + array2 = [] + for {a: a, b, c: d} from array1 + array2.push([a, b, d]) + arrayEq array2, [[10, 20, 30], [40, 50, 60]] + test "for-from comprehensions over Array", -> @@ -125,3 +138,8 @@ test "for-from comprehensions over Array", -> array2 = (x for x from [30, 41, 57] when x %% 3 == 0) ok array2.join(' ') is '30 57' + array1 = (b + 5 for [a, b] from [[20, 30], [40, 50]]) + ok array1.join(' ') is '35 55' + + array2 = (a + b for [a, b] from [[10, 20], [30, 40], [50, 60]] when a + b >= 70) + ok array2.join(' ') is '70 110' From ab10937f2a1dec13f6eedc9123de0249c9c1470d Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Mon, 12 Sep 2016 20:47:35 +0100 Subject: [PATCH 05/11] for-from: fix bad alignment --- src/grammar.coffee | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/grammar.coffee b/src/grammar.coffee index b1d06795bb..126b68aaac 100644 --- a/src/grammar.coffee +++ b/src/grammar.coffee @@ -535,7 +535,7 @@ grammar = o 'FORIN Expression WHEN Expression BY Expression', -> source: $2, guard: $4, step: $6 o 'FORIN Expression BY Expression WHEN Expression', -> source: $2, step: $4, guard: $6 o 'FORFROM Expression', -> source: $2, from: yes - o 'FORFROM Expression WHEN Expression', -> source: $2, guard: $4, from: yes + o 'FORFROM Expression WHEN Expression', -> source: $2, guard: $4, from: yes ] Switch: [ From e759662e9fa92201dd66341eef81b80d77074445 Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Sun, 18 Sep 2016 21:02:57 +0100 Subject: [PATCH 06/11] for-from: add two more tests --- test/arrays.coffee | 5 +++++ test/scope.coffee | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/test/arrays.coffee b/test/arrays.coffee index 2493d893cb..6ecd371249 100644 --- a/test/arrays.coffee +++ b/test/arrays.coffee @@ -129,6 +129,11 @@ test "for-from loops over Array", -> array2.push([a, b, d]) arrayEq array2, [[10, 20, 30], [40, 50, 60]] + array1 = [[10, 20, 30, 40, 50]] + for [a, b..., c] from array1 + eq 10, a + arrayEq [20, 30, 40], b + eq 50, c test "for-from comprehensions over Array", -> diff --git a/test/scope.coffee b/test/scope.coffee index c84eabb66b..d76063262a 100644 --- a/test/scope.coffee +++ b/test/scope.coffee @@ -41,6 +41,10 @@ test "loop variable should be accessible after for-in loop", -> d = (x for x in [1,2]) eq x, 2 +test "loop variable should be accessible after for-from loop", -> + d = (x for x from [1,2]) + eq x, 2 + class Array then slice: fail # needs to be global class Object then hasOwnProperty: fail test "#1973: redefining Array/Object constructors shouldn't confuse __X helpers", -> From 813e10796d1fc0d6836031ab602a9443a9dd1f07 Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Sat, 29 Oct 2016 19:52:31 +0100 Subject: [PATCH 07/11] for-from: fix test "for-from loops over generators" See explanation here: https://github.com/jashkenas/coffeescript/pull/4306#issuecomment-257066877 --- test/generators.coffee | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/generators.coffee b/test/generators.coffee index bac74ffacc..2c0c8affcd 100644 --- a/test/generators.coffee +++ b/test/generators.coffee @@ -252,7 +252,7 @@ test "yield handles 'this' correctly", -> throws -> y.next new Error "boom" -test "for-from comprehensions over generators", -> +test "for-from loops over generators", -> array1 = [50, 30, 70, 20] gen = -> yield from array1 @@ -266,13 +266,17 @@ test "for-from comprehensions over generators", -> break if x is 30 for x from iterator + console.log('found', x) array3.push(x) for x from iterator array4.push(x) arrayEq array2, [50, 30] - arrayEq array3, [70, 20] + # Different JS engines have different opinions on the value of array3: + # https://github.com/jashkenas/coffeescript/pull/4306#issuecomment-257066877 + # As a temporary measure, either result is accepted. + ok array3.length == 0 or array3.join(',') == '70,20' arrayEq array4, [] From f279fcff108256b77b1b39b662e5362a7f2f244d Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Sat, 29 Oct 2016 19:58:22 +0100 Subject: [PATCH 08/11] for-from: delete leftover console.log --- test/generators.coffee | 1 - 1 file changed, 1 deletion(-) diff --git a/test/generators.coffee b/test/generators.coffee index 2c0c8affcd..0cfaadca34 100644 --- a/test/generators.coffee +++ b/test/generators.coffee @@ -266,7 +266,6 @@ test "for-from loops over generators", -> break if x is 30 for x from iterator - console.log('found', x) array3.push(x) for x from iterator From a4531b00d2da745f8066a3e2c28648feca4a0632 Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Tue, 1 Nov 2016 19:34:26 +0000 Subject: [PATCH 09/11] for-from: move code from one file to another --- lib/coffee-script/lexer.js | 64 ++++++++++++++++++------------------- lib/coffee-script/nodes.js | 7 +++- lib/coffee-script/parser.js | 2 +- src/lexer.coffee | 63 ++++++++++++++++++------------------ src/nodes.coffee | 9 +++--- test/compilation.coffee | 6 +--- test/error_messages.coffee | 7 ++++ test/generators.coffee | 4 +-- 8 files changed, 84 insertions(+), 78 deletions(-) diff --git a/lib/coffee-script/lexer.js b/lib/coffee-script/lexer.js index a15f9eb79e..d4bb1e4c76 100644 --- a/lib/coffee-script/lexer.js +++ b/lib/coffee-script/lexer.js @@ -105,42 +105,40 @@ } ref4 = this.tokens, prev = ref4[ref4.length - 1]; tag = colon || (prev != null) && (((ref5 = prev[0]) === '.' || ref5 === '?.' || ref5 === '::' || ref5 === '?::') || !prev.spaced && prev[0] === '@') ? 'PROPERTY' : 'IDENTIFIER'; - if (tag === 'IDENTIFIER') { - if (this.seenFor && id === 'from') { - tag = 'FORFROM'; - this.seenFor = false; - } else if ((indexOf.call(JS_KEYWORDS, id) >= 0 || indexOf.call(COFFEE_KEYWORDS, id) >= 0) && !(this.exportSpecifierList && indexOf.call(COFFEE_KEYWORDS, id) >= 0)) { - tag = id.toUpperCase(); - if (tag === 'WHEN' && (ref6 = this.tag(), indexOf.call(LINE_BREAK, ref6) >= 0)) { - tag = 'LEADING_WHEN'; - } else if (tag === 'FOR') { - this.seenFor = true; - } else if (tag === 'UNLESS') { - tag = 'IF'; - } else if (tag === 'IMPORT') { - this.seenImport = true; - } else if (tag === 'EXPORT') { - this.seenExport = true; - } else if (indexOf.call(UNARY, tag) >= 0) { - tag = 'UNARY'; - } else if (indexOf.call(RELATION, tag) >= 0) { - if (tag !== 'INSTANCEOF' && this.seenFor) { - tag = 'FOR' + tag; - this.seenFor = false; - } else { - tag = 'RELATION'; - if (this.value() === '!') { - poppedToken = this.tokens.pop(); - id = '!' + id; - } + if (tag === 'IDENTIFIER' && this.seenFor && id === 'from') { + tag = 'FORFROM'; + this.seenFor = false; + } else if (tag === 'IDENTIFIER' && (indexOf.call(JS_KEYWORDS, id) >= 0 || indexOf.call(COFFEE_KEYWORDS, id) >= 0) && !(this.exportSpecifierList && indexOf.call(COFFEE_KEYWORDS, id) >= 0)) { + tag = id.toUpperCase(); + if (tag === 'WHEN' && (ref6 = this.tag(), indexOf.call(LINE_BREAK, ref6) >= 0)) { + tag = 'LEADING_WHEN'; + } else if (tag === 'FOR') { + this.seenFor = true; + } else if (tag === 'UNLESS') { + tag = 'IF'; + } else if (tag === 'IMPORT') { + this.seenImport = true; + } else if (tag === 'EXPORT') { + this.seenExport = true; + } else if (indexOf.call(UNARY, tag) >= 0) { + tag = 'UNARY'; + } else if (indexOf.call(RELATION, tag) >= 0) { + if (tag !== 'INSTANCEOF' && this.seenFor) { + tag = 'FOR' + tag; + this.seenFor = false; + } else { + tag = 'RELATION'; + if (this.value() === '!') { + poppedToken = this.tokens.pop(); + id = '!' + id; } } } - if (indexOf.call(RESERVED, id) >= 0) { - this.error("reserved word '" + id + "'", { - length: id.length - }); - } + } + if (tag === 'IDENTIFIER' && indexOf.call(RESERVED, id) >= 0) { + this.error("reserved word '" + id + "'", { + length: id.length + }); } if (tag !== 'PROPERTY') { if (indexOf.call(COFFEE_ALIASES, id) >= 0) { diff --git a/lib/coffee-script/nodes.js b/lib/coffee-script/nodes.js index c7c85e8386..cc674cc2d1 100644 --- a/lib/coffee-script/nodes.js +++ b/lib/coffee-script/nodes.js @@ -3363,7 +3363,12 @@ this.name.error('cannot pattern match over range loops'); } if (this.own && !this.object) { - this.name.error('cannot use own with for-in'); + if (this.from) { + this.name.error('cannot use own with for-from'); + } + if (!this.from) { + this.name.error('cannot use own with for-in'); + } } this.returns = false; } diff --git a/lib/coffee-script/parser.js b/lib/coffee-script/parser.js index 7bf123a4ae..4c52db6a2e 100755 --- a/lib/coffee-script/parser.js +++ b/lib/coffee-script/parser.js @@ -532,7 +532,7 @@ this.$ = yy.addLocationDataFn(_$[$0-1], _$[$0])($$[$0]); break; case 214: this.$ = yy.addLocationDataFn(_$[$0-2], _$[$0])((function () { - $$[$0].own = true; + $$[$0].own = yy.addLocationDataFn(_$[$0-1])(new yy.IdentifierLiteral('own')); return $$[$0]; }())); break; diff --git a/src/lexer.coffee b/src/lexer.coffee index 8c454601ff..a643916237 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -141,38 +141,37 @@ exports.Lexer = class Lexer else 'IDENTIFIER' - if tag is 'IDENTIFIER' - if @seenFor and id is 'from' - tag = 'FORFROM' - @seenFor = no - else if (id in JS_KEYWORDS or id in COFFEE_KEYWORDS) and - not (@exportSpecifierList and id in COFFEE_KEYWORDS) - tag = id.toUpperCase() - if tag is 'WHEN' and @tag() in LINE_BREAK - tag = 'LEADING_WHEN' - else if tag is 'FOR' - @seenFor = yes - else if tag is 'UNLESS' - tag = 'IF' - else if tag is 'IMPORT' - @seenImport = yes - else if tag is 'EXPORT' - @seenExport = yes - else if tag in UNARY - tag = 'UNARY' - else if tag in RELATION - if tag isnt 'INSTANCEOF' and @seenFor - tag = 'FOR' + tag - @seenFor = no - else - tag = 'RELATION' - if @value() is '!' - poppedToken = @tokens.pop() - id = '!' + id - - if id in RESERVED - @error "reserved word '#{id}'", length: id.length - + if tag is 'IDENTIFIER' and @seenFor and id is 'from' + tag = 'FORFROM' + @seenFor = no + else if tag is 'IDENTIFIER' and (id in JS_KEYWORDS or id in COFFEE_KEYWORDS) and + not (@exportSpecifierList and id in COFFEE_KEYWORDS) + tag = id.toUpperCase() + if tag is 'WHEN' and @tag() in LINE_BREAK + tag = 'LEADING_WHEN' + else if tag is 'FOR' + @seenFor = yes + else if tag is 'UNLESS' + tag = 'IF' + else if tag is 'IMPORT' + @seenImport = yes + else if tag is 'EXPORT' + @seenExport = yes + else if tag in UNARY + tag = 'UNARY' + else if tag in RELATION + if tag isnt 'INSTANCEOF' and @seenFor + tag = 'FOR' + tag + @seenFor = no + else + tag = 'RELATION' + if @value() is '!' + poppedToken = @tokens.pop() + id = '!' + id + + if tag is 'IDENTIFIER' and id in RESERVED + @error "reserved word '#{id}'", length: id.length + unless tag is 'PROPERTY' if id in COFFEE_ALIASES alias = id diff --git a/src/nodes.coffee b/src/nodes.coffee index 1a2e1b8d4c..1bc94f0c80 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -2251,16 +2251,17 @@ exports.For = class For extends While @object = !!source.object @from = !!source.from @index.error 'cannot use index with for-from' if @from and @index - + [@name, @index] = [@index, @name] if @object - + @index.error 'index cannot be a pattern matching expression' if @index instanceof Value @range = @source instanceof Value and @source.base instanceof Range and not @source.properties.length and not @from @pattern = @name instanceof Value @index.error 'indexes do not apply to range loops' if @range and @index @name.error 'cannot pattern match over range loops' if @range and @pattern - @name.error 'cannot use own with for-in' if @own and not @object - + if @own and not @object + @name.error 'cannot use own with for-from' if @from + @name.error 'cannot use own with for-in' if not @from @returns = false children: ['body', 'source', 'guard', 'step'] diff --git a/test/compilation.coffee b/test/compilation.coffee index 0f95d6c4fb..a50c63a17f 100644 --- a/test/compilation.coffee +++ b/test/compilation.coffee @@ -12,7 +12,7 @@ test "ensure that carriage returns don't break compilation on Windows", -> test "#3089 - don't mutate passed in options to compile", -> opts = {} CoffeeScript.compile '1 + 1', opts - ok !opts.scope + ok !opts.scope test "--bare", -> eq -1, CoffeeScript.compile('x = y', bare: on).indexOf 'function' @@ -124,9 +124,5 @@ test "#3001: `own` shouldn't be allowed in a `for`-`in` loop", -> test "#2994: single-line `if` requires `then`", -> cantCompile "if b else x" -test "indexes are not supported in for-from loops", -> - cantCompile "x for x, i from [1, 2, 3]" - test "own is not supported in for-from loops", -> cantCompile "x for own x from [1, 2, 3]" - diff --git a/test/error_messages.coffee b/test/error_messages.coffee index 8b4db9cc19..635b91394f 100644 --- a/test/error_messages.coffee +++ b/test/error_messages.coffee @@ -1174,3 +1174,10 @@ test "CoffeeScript keywords cannot be used as local names in import list aliases import { bar as unless, baz as bar } from 'lib' ^^^^^^ ''' + +test "indexes are not supported in for-from loops", -> + assertErrorFormat "x for x, i from [1, 2, 3]", ''' + [stdin]:1:10: error: cannot use index with for-from + x for x, i from [1, 2, 3] + ^ + ''' diff --git a/test/generators.coffee b/test/generators.coffee index 0cfaadca34..1a3ee6cbd2 100644 --- a/test/generators.coffee +++ b/test/generators.coffee @@ -275,7 +275,7 @@ test "for-from loops over generators", -> # Different JS engines have different opinions on the value of array3: # https://github.com/jashkenas/coffeescript/pull/4306#issuecomment-257066877 # As a temporary measure, either result is accepted. - ok array3.length == 0 or array3.join(',') == '70,20' + ok array3.length is 0 or array3.join(',') is '70,20' arrayEq array4, [] @@ -285,7 +285,7 @@ test "for-from comprehensions over generators", -> yield from [30, 41, 51, 60] iterator = gen() - array1 = (x for x from iterator when x %% 2 == 1) + array1 = (x for x from iterator when x %% 2 is 1) array2 = (x for x from iterator) ok array1.join(' ') is '41 51' From 4be5a4d7783c1a63ee39f5ffe05466b9d33cdf2f Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Tue, 1 Nov 2016 19:41:48 +0000 Subject: [PATCH 10/11] for-from: clean up whitespace --- src/nodes.coffee | 20 ++++++++++---------- test/arrays.coffee | 3 +-- test/generators.coffee | 11 +++++------ test/ranges.coffee | 3 +-- 4 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/nodes.coffee b/src/nodes.coffee index 1bc94f0c80..62f139553b 100644 --- a/src/nodes.coffee +++ b/src/nodes.coffee @@ -2299,14 +2299,14 @@ exports.For = class For extends While forPartFragments = source.compileToFragments merge o, {index: ivar, name, @step, isComplex: isComplexOrAssignable} else - svar = @source.compile o, LEVEL_LIST + svar = @source.compile o, LEVEL_LIST if (name or @own) and @source.unwrap() not instanceof IdentifierLiteral - defPart += "#{@tab}#{ref = scope.freeVariable 'ref'} = #{svar};\n" - svar = ref - if not @from + defPart += "#{@tab}#{ref = scope.freeVariable 'ref'} = #{svar};\n" + svar = ref + unless @from if name and not @pattern namePart = "#{name} = #{svar}[#{kvar}]" - if not @object + unless @object defPart += "#{@tab}#{step};\n" if step isnt stepVar down = stepNum < 0 lvar = scope.freeVariable 'len' unless @step and stepNum? and down @@ -2325,7 +2325,7 @@ exports.For = class For extends While increment = "#{ivar} += #{stepVar}" else increment = "#{if kvar isnt ivar then "++#{ivar}" else "#{ivar}++"}" - forPartFragments = [@makeCode("#{declare}; #{compare}; #{kvarAssign}#{increment}")] + forPartFragments = [@makeCode("#{declare}; #{compare}; #{kvarAssign}#{increment}")] if @returns resultPart = "#{@tab}#{rvar} = [];\n" returnResult = "\n#{@tab}return #{rvar};" @@ -2343,12 +2343,12 @@ exports.For = class For extends While defPartFragments = [].concat @makeCode(defPart), @pluckDirectCall(o, body) varPart = "\n#{idt1}#{namePart};" if namePart if @object - forPartFragments = [@makeCode("#{kvar} in #{svar}")] + forPartFragments = [@makeCode("#{kvar} in #{svar}")] guardPart = "\n#{idt1}if (!#{utility 'hasProp', o}.call(#{svar}, #{kvar})) continue;" if @own - if @from - forPartFragments = [@makeCode("#{kvar} of #{svar}")] + else if @from + forPartFragments = [@makeCode("#{kvar} of #{svar}")] bodyFragments = body.compileToFragments merge(o, indent: idt1), LEVEL_TOP - if bodyFragments and (bodyFragments.length > 0) + if bodyFragments and bodyFragments.length > 0 bodyFragments = [].concat @makeCode("\n"), bodyFragments, @makeCode("\n") [].concat defPartFragments, @makeCode("#{resultPart or ''}#{@tab}for ("), forPartFragments, @makeCode(") {#{guardPart}#{varPart}"), bodyFragments, diff --git a/test/arrays.coffee b/test/arrays.coffee index 6ecd371249..bffd512787 100644 --- a/test/arrays.coffee +++ b/test/arrays.coffee @@ -136,11 +136,10 @@ test "for-from loops over Array", -> eq 50, c test "for-from comprehensions over Array", -> - array1 = (x + 10 for x from [10, 20, 30]) ok array1.join(' ') is '20 30 40' - array2 = (x for x from [30, 41, 57] when x %% 3 == 0) + array2 = (x for x from [30, 41, 57] when x %% 3 is 0) ok array2.join(' ') is '30 57' array1 = (b + 5 for [a, b] from [[20, 30], [40, 50]]) diff --git a/test/generators.coffee b/test/generators.coffee index 1a3ee6cbd2..55bdd538a1 100644 --- a/test/generators.coffee +++ b/test/generators.coffee @@ -255,22 +255,22 @@ test "yield handles 'this' correctly", -> test "for-from loops over generators", -> array1 = [50, 30, 70, 20] gen = -> yield from array1 - + array2 = [] array3 = [] array4 = [] - + iterator = gen() for x from iterator array2.push(x) break if x is 30 - + for x from iterator array3.push(x) - + for x from iterator array4.push(x) - + arrayEq array2, [50, 30] # Different JS engines have different opinions on the value of array3: # https://github.com/jashkenas/coffeescript/pull/4306#issuecomment-257066877 @@ -280,7 +280,6 @@ test "for-from loops over generators", -> test "for-from comprehensions over generators", -> - gen = -> yield from [30, 41, 51, 60] diff --git a/test/ranges.coffee b/test/ranges.coffee index f04d10522a..4811cba67f 100644 --- a/test/ranges.coffee +++ b/test/ranges.coffee @@ -79,8 +79,7 @@ test "for-from loops over ranges", -> array1 = [] for x from [20..30] array1.push(x) - if x == 25 - break + break if x == 25 arrayEq array1, [20, 21, 22, 23, 24, 25] test "for-from comprehensions over ranges", -> From 00fee4949a6e5b7506b5d4781e6035e09d59bdaa Mon Sep 17 00:00:00 2001 From: Alex Gordon Date: Tue, 1 Nov 2016 19:45:29 +0000 Subject: [PATCH 11/11] for-from: lexer bikeshedding --- src/lexer.coffee | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lexer.coffee b/src/lexer.coffee index a643916237..1613a0c715 100644 --- a/src/lexer.coffee +++ b/src/lexer.coffee @@ -141,10 +141,7 @@ exports.Lexer = class Lexer else 'IDENTIFIER' - if tag is 'IDENTIFIER' and @seenFor and id is 'from' - tag = 'FORFROM' - @seenFor = no - else if tag is 'IDENTIFIER' and (id in JS_KEYWORDS or id in COFFEE_KEYWORDS) and + if tag is 'IDENTIFIER' and (id in JS_KEYWORDS or id in COFFEE_KEYWORDS) and not (@exportSpecifierList and id in COFFEE_KEYWORDS) tag = id.toUpperCase() if tag is 'WHEN' and @tag() in LINE_BREAK @@ -168,6 +165,9 @@ exports.Lexer = class Lexer if @value() is '!' poppedToken = @tokens.pop() id = '!' + id + else if tag is 'IDENTIFIER' and @seenFor and id is 'from' + tag = 'FORFROM' + @seenFor = no if tag is 'IDENTIFIER' and id in RESERVED @error "reserved word '#{id}'", length: id.length