From 893908b8fe794e00a5ad43b235e79ce1b86e6546 Mon Sep 17 00:00:00 2001 From: Jeremy Ashkenas Date: Wed, 30 Dec 2009 00:22:27 -0500 Subject: [PATCH] removing dots from whitespace examples --- documentation/coffee/aliases.coffee | 2 +- .../coffee/array_comprehensions.coffee | 4 +- documentation/coffee/conditionals.coffee | 4 +- documentation/coffee/expressions.coffee | 6 +- documentation/coffee/functions.coffee | 4 +- documentation/coffee/overview.coffee | 6 +- documentation/coffee/scope.coffee | 2 +- documentation/coffee/super.coffee | 12 +- documentation/coffee/switch.coffee | 4 +- documentation/coffee/try.coffee | 2 +- documentation/coffee/while.coffee | 4 +- lib/coffee_script/grammar.y | 8 +- lib/coffee_script/parser.rb | 1094 ++++++++--------- test/unit/test_parser.rb | 3 +- 14 files changed, 577 insertions(+), 578 deletions(-) diff --git a/documentation/coffee/aliases.coffee b/documentation/coffee/aliases.coffee index f1a29e0f..720c2081 100644 --- a/documentation/coffee/aliases.coffee +++ b/documentation/coffee/aliases.coffee @@ -4,4 +4,4 @@ volume: 10 if band isnt spinal_tap let_the_wild_rumpus_begin() unless answer is no -if car.speed < speed_limit then accelerate(). +if car.speed < speed_limit then accelerate() diff --git a/documentation/coffee/array_comprehensions.coffee b/documentation/coffee/array_comprehensions.coffee index ddda9319..a04ab395 100644 --- a/documentation/coffee/array_comprehensions.coffee +++ b/documentation/coffee/array_comprehensions.coffee @@ -1,5 +1,5 @@ # Eat lunch. -lunch: food.eat() for food in ['toast', 'cheese', 'wine']. +lunch: food.eat() for food in ['toast', 'cheese', 'wine'] # Zebra-stripe a table. -highlight(row) for row, i in table if i % 2 is 0. \ No newline at end of file +highlight(row) for row, i in table when i % 2 is 0 \ No newline at end of file diff --git a/documentation/coffee/conditionals.coffee b/documentation/coffee/conditionals.coffee index 253d912c..50c18c43 100644 --- a/documentation/coffee/conditionals.coffee +++ b/documentation/coffee/conditionals.coffee @@ -2,8 +2,8 @@ mood: greatly_improved if singing if happy and knows_it claps_hands() - cha_cha_cha(). + cha_cha_cha() -date: if friday then sue else jill. +date: if friday then sue else jill expensive ||= do_the_math() \ No newline at end of file diff --git a/documentation/coffee/expressions.coffee b/documentation/coffee/expressions.coffee index 0e8da6d5..fa0c1e3a 100644 --- a/documentation/coffee/expressions.coffee +++ b/documentation/coffee/expressions.coffee @@ -2,8 +2,8 @@ grade: student => if student.excellent_work "A+" else if student.okay_stuff - if student.tried_hard then "B" else "B-". + if student.tried_hard then "B" else "B-" else - "C".. + "C" -eldest: if 24 > 21 then "Liz" else "Ike". \ No newline at end of file +eldest: if 24 > 21 then "Liz" else "Ike" \ No newline at end of file diff --git a/documentation/coffee/functions.coffee b/documentation/coffee/functions.coffee index 35f4415a..eb2b9b9b 100644 --- a/documentation/coffee/functions.coffee +++ b/documentation/coffee/functions.coffee @@ -1,2 +1,2 @@ -square: x => x * x. -cube: x => square(x) * x. \ No newline at end of file +square: x => x * x +cube: x => square(x) * x \ No newline at end of file diff --git a/documentation/coffee/overview.coffee b/documentation/coffee/overview.coffee index 8e44f8aa..44e4ec95 100644 --- a/documentation/coffee/overview.coffee +++ b/documentation/coffee/overview.coffee @@ -6,7 +6,7 @@ opposite_day: true number: -42 if opposite_day # Functions: -square: x => x * x. +square: x => x * x # Arrays: list: [1, 2, 3, 4, 5] @@ -15,8 +15,8 @@ list: [1, 2, 3, 4, 5] math: { root: Math.sqrt square: square - cube: x => x * square(x). + cube: x => x * square(x) } # Array comprehensions: -cubed_list: math.cube(num) for num in list. +cubed_list: math.cube(num) for num in list diff --git a/documentation/coffee/scope.coffee b/documentation/coffee/scope.coffee index f15b3eff..691072ab 100644 --- a/documentation/coffee/scope.coffee +++ b/documentation/coffee/scope.coffee @@ -1,5 +1,5 @@ num: 1 change_numbers: => num: 2 - new_num: 3. + new_num: 3 new_num: change_numbers() \ No newline at end of file diff --git a/documentation/coffee/super.coffee b/documentation/coffee/super.coffee index 3e80e804..cc28c84d 100644 --- a/documentation/coffee/super.coffee +++ b/documentation/coffee/super.coffee @@ -1,18 +1,18 @@ -Animal: => . +Animal: => Animal.prototype.move: meters => - alert(this.name + " moved " + meters + "m."). + alert(this.name + " moved " + meters + "m.") -Snake: name => this.name: name. +Snake: name => this.name: name Snake extends Animal Snake.prototype.move: => alert("Slithering...") - super(5). + super(5) -Horse: name => this.name: name. +Horse: name => this.name: name Horse extends Animal Horse.prototype.move: => alert("Galloping...") - super(45). + super(45) sam: new Snake("Sammy the Python") tom: new Horse("Tommy the Palomino") diff --git a/documentation/coffee/switch.coffee b/documentation/coffee/switch.coffee index 955adef6..ee6963a3 100644 --- a/documentation/coffee/switch.coffee +++ b/documentation/coffee/switch.coffee @@ -4,6 +4,6 @@ when "Wednesday" then go_to_the_park() when "Saturday" if day is bingo_day go_to_bingo() - go_dancing(). + go_dancing() when "Sunday" then go_to_church() -else go_to_work(). \ No newline at end of file +else go_to_work() \ No newline at end of file diff --git a/documentation/coffee/try.coffee b/documentation/coffee/try.coffee index 8a2c6275..169df020 100644 --- a/documentation/coffee/try.coffee +++ b/documentation/coffee/try.coffee @@ -4,4 +4,4 @@ try catch error print(error) finally - clean_up(). \ No newline at end of file + clean_up() \ No newline at end of file diff --git a/documentation/coffee/while.coffee b/documentation/coffee/while.coffee index ab0a850a..3ca4a984 100644 --- a/documentation/coffee/while.coffee +++ b/documentation/coffee/while.coffee @@ -1,5 +1,5 @@ while demand > supply sell() - restock(). + restock() -while supply > demand then buy(). \ No newline at end of file +while supply > demand then buy() \ No newline at end of file diff --git a/lib/coffee_script/grammar.y b/lib/coffee_script/grammar.y index 552331cd..1bbdde76 100644 --- a/lib/coffee_script/grammar.y +++ b/lib/coffee_script/grammar.y @@ -32,8 +32,8 @@ prechigh left '.' right INDENT left OUTDENT - right THROW FOR IN WHILE WHEN NEW SUPER IF THEN ELSE - left UNLESS EXTENDS + right THROW FOR IN WHILE WHEN NEW SUPER THEN ELSE + left UNLESS EXTENDS IF left ASSIGN '||=' '&&=' right RETURN '=>' preclow @@ -284,14 +284,14 @@ rule # Try/catch/finally exception handling blocks. Try: TRY Block Catch { result = TryNode.new(val[1], val[2][0], val[2][1]) } + | TRY Block FINALLY Block { result = TryNode.new(val[1], nil, nil, val[3]) } | TRY Block Catch FINALLY Block { result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) } ; # A catch clause. Catch: - /* nothing */ { result = [nil, nil] } - | CATCH IDENTIFIER Block { result = [val[1], val[2]] } + CATCH IDENTIFIER Block { result = [val[1], val[2]] } ; # Throw an exception. diff --git a/lib/coffee_script/parser.rb b/lib/coffee_script/parser.rb index 2c7760d2..5c7031cd 100644 --- a/lib/coffee_script/parser.rb +++ b/lib/coffee_script/parser.rb @@ -34,65 +34,74 @@ module_eval(<<'...end grammar.y/module_eval...', 'grammar.y', 400) ##### State transition tables begin ### clist = [ -'94,245,11,105,156,-159,-159,156,156,32,38,213,154,142,142,154,154,249', -'32,38,213,32,38,213,79,106,233,80,78,247,231,89,101,104,141,31,101,104', -'31,31,78,155,32,38,213,101,104,109,112,115,118,121,124,91,93,97,100', -'103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122', -'224,140,95,98,32,38,142,143,143,127,11,146,138,159,37,44,51,57,64,2', -'9,16,19,22,-159,-159,43,50,56,60,235,156,12,20,26,29,234,41,48,154,62', -'78,7,13,256,221,31,36,101,104,251,63,1,8,15,18,25,-159,-159,142,142', -'55,31,37,44,51,57,64,2,9,16,19,22,32,38,143,229,32,38,146,-159,-159', -'20,26,78,32,38,228,142,23,142,-159,-159,49,11,61,36,5,37,44,51,57,64', -'2,9,16,19,22,32,38,43,50,56,60,-159,-159,12,20,26,29,250,41,48,166,62', -'78,7,13,143,143,31,36,138,138,259,63,1,8,15,18,25,83,135,142,61,55,5', -'37,44,51,57,64,2,9,16,19,22,143,275,143,279,138,241,138,-159,-159,20', -'26,32,38,228,82,261,23,226,167,246,49,11,61,36,5,37,44,51,57,64,2,9', -'16,19,22,241,127,43,50,56,60,168,276,12,20,26,29,170,41,48,73,62,170', -'7,13,143,83,31,36,146,,,63,1,8,15,18,25,,135,,61,55,5,37,44,51,57,64', -'2,9,16,19,22,101,104,109,112,115,118,121,,,20,26,32,38,213,,214,23,', -',,49,11,61,36,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26', -'29,,41,48,,62,,7,13,,,31,36,,,264,63,1,8,15,18,25,,135,,61,55,5,37,44', -'51,57,64,2,9,16,19,22,101,104,109,112,115,118,121,,,20,26,,,,,142,23', -',,,49,11,61,36,5,37,44,51,57,64,2,9,16,19,22,141,,43,50,56,60,,,12,20', +'94,258,261,105,156,101,104,156,156,32,38,213,154,142,142,154,154,234', +'32,38,213,32,38,213,79,106,250,80,232,248,242,89,101,104,235,31,-159', +'-159,31,31,263,155,32,38,229,101,104,109,112,115,118,121,124,91,93,97', +'100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119', +'122,32,38,95,98,32,38,142,143,143,230,11,146,138,159,37,44,51,57,64', +'2,9,16,19,22,11,236,43,50,56,60,-159,-159,12,20,26,29,127,41,48,78,62', +'253,7,13,246,221,31,36,78,156,78,63,1,8,15,18,25,154,78,142,251,55,78', +'37,44,51,57,64,2,9,16,19,22,32,38,143,-159,-159,166,146,31,78,20,26', +'83,32,38,213,142,23,142,32,38,49,11,61,36,5,37,44,51,57,64,2,9,16,19', +'22,-159,-159,43,50,56,60,-159,-159,12,20,26,29,82,41,48,167,62,247,7', +'13,143,281,31,36,138,224,225,63,1,8,15,18,25,242,135,142,61,55,5,37', +'44,51,57,64,2,9,16,19,22,143,127,143,168,146,278,138,-159,-159,20,26', +'32,38,229,-159,-159,23,227,101,104,49,11,61,36,5,37,44,51,57,64,2,9', +'16,19,22,170,73,43,50,56,60,170,83,12,20,26,29,,41,48,,62,,7,13,143', +'277,31,36,138,,,63,1,8,15,18,25,,135,,61,55,5,37,44,51,57,64,2,9,16', +'19,22,101,104,109,112,115,118,121,,,20,26,101,104,109,112,115,23,,,', +'49,11,61,36,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29', +',41,48,,62,,7,13,,,31,36,,,266,63,1,8,15,18,25,,135,,61,55,5,37,44,51', +'57,64,2,9,16,19,22,101,104,109,112,115,118,121,,,20,26,,,,,142,23,,', +',49,11,61,36,5,37,44,51,57,64,2,9,16,19,22,141,,43,50,56,60,,,12,20', '26,29,156,41,48,,62,,7,13,154,,31,36,,,,63,1,8,15,18,25,,135,,61,55', -'5,,,216,140,31,,155,,,,143,,,,138,101,104,109,112,115,118,121,124,91', -'93,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12', -'20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,101,104', -'109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90', -'92,101,104,109,112,115,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22', +'5,,,,140,31,,155,32,38,213,143,214,,,138,101,104,109,112,115,118,121', +'124,91,93,142,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,141,,43', +'50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,', +',,,55,,,,216,140,101,104,109,112,115,,143,,,,138,101,104,109,112,115', +'118,121,124,91,93,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43', +'50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,', +',,,55,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117', +'120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,', +'43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25', +',,,,55,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114', +'117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22', ',,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18', '25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114', -'117,120,123,90,92,101,104,109,112,115,,23,,,,49,11,61,,5,37,44,51,57', -'64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', -',,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100', +'117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22', +',,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,78,,,63,1,8,15', +'18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111', +'114,117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16', +'19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8', +'15,18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9', +'16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63', +'1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100,103', +'108,111,114,117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64', +'2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,78', +',,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100', '103,108,111,114,117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57', '64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', ',,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100', '103,108,111,114,117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44,51,57', '64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', -'78,,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97', -'100,103,108,111,114,117,120,123,90,92,,,,,,,23,,,,49,11,61,,5,37,44', -'51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,', -',31,36,,,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124,91', -'93,97,100,103,108,111,114,117,120,123,90,92,,,,,,,23,,,,49,11,61,,5', -'37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,', -'7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124', -'91,93,97,100,103,108,111,114,117,120,123,90,92,,,,,,,23,,,,49,11,61', -',5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', -',7,13,,,31,36,78,,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121', -'124,91,93,97,100,103,108,111,114,117,120,123,90,92,,,,,,,23,,,,49,11', +',,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,97,100', +'103,101,104,109,112,115,118,121,124,91,93,97,100,103,,23,32,38,,49,11', '61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48', ',62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,101,104,109,112,115,118', '121,124,91,93,97,100,103,101,104,109,112,115,118,121,124,91,93,97,100', '103,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12', '20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,101,104', -'109,112,115,118,121,124,91,93,97,100,103,101,104,109,112,115,118,121', -'124,91,93,97,100,103,,23,32,38,,49,11,61,,5,37,44,51,57,64,2,9,16,19', -'22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15', -'18,25,,,,,55,101,104,109,112,115,118,121,124,91,93,101,104,109,112,115', -'118,121,124,91,93,101,104,109,112,115,118,121,23,,,,49,11,61,,5,37,44', -'51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,', -',31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49', +'109,112,115,118,121,124,91,93,101,104,109,112,115,118,121,,,,,,,,,,', +'23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20', +'26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,', +',,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50', +'56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,', +'55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16', +'19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8', +'15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51', +'57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31', +'36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49', '11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41', '48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,', ',,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,', @@ -100,15 +109,24 @@ clist = [ ',,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22', ',,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18', '25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64', -'2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,132', -',,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,', -'5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', -',7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', +'2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,', +',63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5', +'37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,', +'7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', ',,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26', '29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,', ',,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56', '60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55', -',,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19', +',,,,,,,,,,,,,,,,,,,,,,,,,,,23,32,38,,49,11,61,,5,37,44,51,57,64,2,9', +'16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63', +'1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37', +'44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13', +',,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49', +'11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41', +'48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,', +',,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,', +'12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,', +',,,,,,,,,,,,,,,,,,,,,,23,32,38,,49,11,61,,5,37,44,51,57,64,2,9,16,19', '22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15', '18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57', '64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', @@ -116,9 +134,9 @@ clist = [ ',5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', ',7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', ',,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26', -'29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,', -',,,,,,,,,,,,,23,32,38,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43', -'50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,', +'29,,41,48,,62,,7,13,,,31,36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,', +',,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50', +'56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,132,,,63,1,8,15,18,25,', ',,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2', '9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63', '1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37', @@ -126,17 +144,37 @@ clist = [ ',,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49', '11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41', '48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,', -',,,,,,23,32,38,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60', -',,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,', -',,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22', -',,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18', -'25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64', -'2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,', -',63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5', -'37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,', -'7,13,,,31,36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,', -',23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20', -'26,29,,41,48,,62,,7,13,,,31,36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,', +',,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,', +'12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,', +',,,,,,,,,,,,,,,,,,,,,,23,32,38,,49,11,61,,5,37,44,51,57,64,2,9,16,19', +'22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,78,,,63,1,8', +'15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51', +'57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31', +'36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49', +'11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41', +'48,,62,,7,13,,,31,36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,', +',,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60', +',,12,20,26,29,,41,48,,62,,7,13,,,31,36,132,,,63,1,8,15,18,25,,,,,55', +',,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19', +'22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15', +'18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57', +'64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', +',,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61', +',5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', +',7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', +'32,38,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20', +'26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,', +',,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50', +'56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,', +'55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16', +'19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8', +'15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51', +'57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31', +'36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11', +'61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48', +',62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,', +',,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12', +'20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,', ',,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43', '50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,', ',,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2', @@ -146,24 +184,15 @@ clist = [ ',,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49', '11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41', '48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,', -',,,,,,23,32,38,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60', -',,12,20,26,29,,41,48,,62,,7,13,,,31,36,78,,,63,1,8,15,18,25,,,,,55,', -',,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19', -'22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,132,,,63,1,8', -'15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51', -'57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31', -'36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49', -'11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41', -'48,,62,,7,13,,,31,36,132,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,', -',,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60', -',,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,', -',,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22', +',,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,', +'12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,', +',,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22', ',,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18', '25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64', '2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,', -',63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,32,38,,49,11,61', -',5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', -',7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', +',63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5', +'37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,', +'7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', ',,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26', '29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,', ',,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56', @@ -189,118 +218,87 @@ clist = [ ',,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26', '29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,', ',,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56', -'60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55', -',,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19', -'22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15', -'18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57', -'64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', -',,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61', -',5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', -',7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', -',,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26', -'29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,', -',,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56', -'60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55', -',,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19', -'22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15', -'18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57', -'64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', -',,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61', -',5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', -',7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23', -',,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26', -'29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,', -',,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19,22,,,43,50,56', -'60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,,,,,55', -',,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57,64,2,9,16,19', -'22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15', -'18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61,,5,37,44,51,57', -'64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36', -',,,63,1,8,15,18,25,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,23,,,,49,11,61', -',5,37,44,51,57,64,2,9,16,19,22,,,43,50,56,60,,,12,20,26,29,,41,48,,62', -',7,13,,,31,36,,,,63,1,8,15,18,25,94,,,105,55,,,,,,,,,,,,,,,,,,,,,106', -',,,,,89,23,,,,49,,61,,5,,,,,101,104,109,112,115,118,121,124,91,93,97', -'100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119', -'122,,94,95,98,105,,,,,248,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101', -'104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123', -'90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105,32,38,,,,,,,,', -',,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124', -'91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113', -'116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,78', -',,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117', -'120,123,90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,', -',,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121', -'124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110', -'113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,', -',,277,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111', -'114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105', -',,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118', -'121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107', -'110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,', -',,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111', -'114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,,,95,98,94,', -'161,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,78,,,,,,,101,104,109', -'112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96', -'99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106', -',,,,,89,,,,,,,211,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100', -'103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122', -',94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104', +'60,,,12,20,26,29,,41,48,,62,,7,13,,,31,36,,,,63,1,8,15,18,25,94,,,105', +'55,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,23,,,,49,,61,,5,,,,,101,104,109,112', +'115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99', +'102,107,110,113,116,119,122,,94,95,98,105,,,,,249,,,,,,,,,,,,,,,,,106', +',,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103', +'108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,,94', +'95,98,105,32,38,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104', '109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90', -'92,96,99,102,107,110,113,116,119,122,,,95,98,94,,273,105,,,,,,,,,,,', -',,,,,,,,,,106,,,,,,89,,,,,,,78,,,,,,,101,104,109,112,115,118,121,124', +'92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,', +',,,,106,,,,,,89,,,,,,,78,,,,,,,101,104,109,112,115,118,121,124,91,93', +'97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119', +'122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101', +'104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123', +'90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,', +',,,,,,,106,,,,,,89,,,,,,,,279,,,,,,101,104,109,112,115,118,121,124,91', +'93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116', +'119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,', +'101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120', +'123,90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,', +',,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124', '91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113', '116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,', ',,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117', '120,123,90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,', -',,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121', +',,,,,,,,,,,,,,,106,,,,,,89,,,,,,,211,,,,,,,101,104,109,112,115,118,121', '124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110', '113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,', ',,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114', -'117,120,123,90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,', -',,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118', -'121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107', -'110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,', -',,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111', -'114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105', -',,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118', -'121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107', -'110,113,116,119,122,94,,95,98,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,', -',,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114', -'117,120,123,90,92,96,99,102,107,110,113,116,119,122,94,,,105,,,,,,,', -',,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124', -'91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113', -'116,119,122,94,,,,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101', -'104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123', -'90,92,96,99,102,107,110,113,116,119,122,94,,,,,,,,,,,,,,,,,,,,,,,,,106', +'117,120,123,90,92,96,99,102,107,110,113,116,119,122,,,95,98,94,,275', +'105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,78,,,,,,,101,104,109,112', +'115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99', +'102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,', +',,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103', +'108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,,94', +'95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109', +'112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96', +'99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106', ',,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103', -'108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,94,', -',105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115', -'118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102', -'107,110,113,116,119,122,94,,,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,', -',,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111', -'114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,94,,,,,,,,,', -',,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121', -'124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110', -'113,116,119,122,94,,,,,,,,,,,,,,,,,,,,,,,,,106,,,,258,,89,,,,,,,,,,', -',,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117', -'120,123,90,92,96,99,102,107,110,113,116,119,122,94,,,,,,,,,,,,,,,,,', +'108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,,,95', +'98,94,,161,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,78,,,,,,,101,104', +'109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90', +'92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,,,,', +',,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97', +'100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119', +'122,,94,95,98,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101', +'104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123', +'90,92,96,99,102,107,110,113,116,119,122,,94,95,98,105,,,,,,,,,,,,,,', ',,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93', '97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119', -'122,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103', -'108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,89,', -',,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111', -'114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,89,,,,,,,,,', -',,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117', -'120,123,90,92,96,99,102,107,110,113,116,119,122,101,104,109,112,115', -'118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102', -'107,110,113,116,119,122,101,104,109,112,115,118,121,124,91,93,97,100', -'103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122', +'122,94,,,105,,,,,,,,,,,,,,,,,,,,,,106,,,,,,89,,,,,,,,,,,,,,101,104,109', +'112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96', +'99,102,107,110,113,116,119,122,94,,,105,,,,,,,,,,,,,,,,,,,,,,106,,,', +',,89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,106,,,,', +',89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,106,,,,', +',89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,106,,,,', +',89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,106,,,,260', +',89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,106,,,,', +',89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,106,,,,', +',89,,,,,,,,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108', +'111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,89,,,,,', +',,,,,,,,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114', +'117,120,123,90,92,96,99,102,107,110,113,116,119,122,89,,,,,,,,,,,,,', '101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120', -'123,90,92,96,99,102,107,110,113,116,119,122,101,104,109,112,115,118', -'121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107', -'110,113,116,119,122,101,104,109,112,115,118,121,124,91,93,97,100,103', -'108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119,122' ] - racc_action_table = arr = Array.new(8594, nil) +'123,90,92,96,99,102,107,110,113,116,119,122,89,,,,,,,,,,,,,,101,104', +'109,112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90', +'92,96,99,102,107,110,113,116,119,122,101,104,109,112,115,118,121,124', +'91,93,97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113', +'116,119,122,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111', +'114,117,120,123,90,92,96,99,102,107,110,113,116,119,122,101,104,109', +'112,115,118,121,124,91,93,97,100,103,108,111,114,117,120,123,90,92,96', +'99,102,107,110,113,116,119,122,101,104,109,112,115,118,121,124,91,93', +'97,100,103,108,111,114,117,120,123,90,92,96,99,102,107,110,113,116,119', +'122,101,104,109,112,115,118,121,124,91,93,97,100,103,108,111,114,117', +'120,123,90,92,96,99,102,107,110,113,116,119,122' ] + racc_action_table = arr = Array.new(8445, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -310,301 +308,299 @@ clist = [ end clist = [ -'68,215,127,68,228,75,75,227,61,223,223,223,228,54,53,227,61,223,162', -'162,162,217,217,217,24,68,162,24,250,217,156,68,194,194,53,228,197,197', -'227,61,127,61,215,215,215,68,68,68,68,68,68,68,68,68,68,68,68,68,68', -'68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,150,53,68,68,228,228', -'137,54,53,47,92,54,53,68,92,92,92,92,92,92,92,92,92,92,81,81,92,92,92', -'92,168,254,92,92,92,92,163,92,92,254,92,169,92,92,230,142,92,92,191', -'191,225,92,92,92,92,92,92,67,67,136,219,92,254,50,50,50,50,50,50,50', -'50,50,50,40,40,137,154,163,163,137,74,74,50,50,251,230,230,230,265,92', -'274,148,148,92,5,92,50,92,5,5,5,5,5,5,5,5,5,5,86,86,5,5,5,5,158,158', -'5,5,5,5,224,5,5,80,5,60,5,5,136,219,5,5,136,219,239,5,5,5,5,5,5,29,50', -'220,50,5,50,141,141,141,141,141,141,141,141,141,141,265,265,274,274', -'265,239,274,70,70,141,141,151,151,151,28,239,5,151,82,216,5,7,5,141', -'5,7,7,7,7,7,7,7,7,7,7,211,129,7,7,7,7,83,270,7,7,7,7,84,7,7,13,7,188', -'7,7,220,106,7,7,220,,,7,7,7,7,7,7,,141,,141,7,141,246,246,246,246,246', -'246,246,246,246,246,206,206,206,206,206,206,206,,,246,246,131,131,131', -',131,7,,,,7,8,7,246,7,8,8,8,8,8,8,8,8,8,8,,,8,8,8,8,,,8,8,8,8,,8,8,', -'8,,8,8,,,8,8,,,246,8,8,8,8,8,8,,246,,246,8,246,264,264,264,264,264,264', -'264,264,264,264,177,177,177,177,177,177,177,,,264,264,,,,,134,8,,,,8', -'11,8,264,8,11,11,11,11,11,11,11,11,11,11,134,,11,11,11,11,,,11,11,11', -'11,155,11,11,,11,,11,11,155,,11,11,,,,11,11,11,11,11,11,,264,,264,11', -'264,,,134,134,155,,155,,,,134,,,,134,186,186,186,186,186,186,186,186', -'186,186,,11,,,,11,12,11,,11,12,12,12,12,12,12,12,12,12,12,,,12,12,12', -'12,,,12,12,12,12,,12,12,,12,,12,12,,,12,12,,,,12,12,12,12,12,12,,,,', -'12,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180', -'180,180,180,180,200,200,200,200,200,,12,,,,12,273,12,,12,273,273,273', -'273,273,273,273,273,273,273,,,273,273,273,273,,,273,273,273,273,,273', -'273,,273,,273,273,,,273,273,,,,273,273,273,273,273,273,,,,,273,205,205', -'205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205', -'205,205,203,203,203,203,203,,273,,,,273,15,273,,273,15,15,15,15,15,15', -'15,15,15,15,,,15,15,15,15,,,15,15,15,15,,15,15,,15,,15,15,,,15,15,,', -',15,15,15,15,15,15,,,,,15,189,189,189,189,189,189,189,189,189,189,189', -'189,189,189,189,189,189,189,189,189,189,,,,,,,15,,,,15,18,15,,15,18', -'18,18,18,18,18,18,18,18,18,,,18,18,18,18,,,18,18,18,18,,18,18,,18,,18', -'18,,,18,18,,,,18,18,18,18,18,18,,,,,18,183,183,183,183,183,183,183,183', -'183,183,183,183,183,183,183,183,183,183,183,183,183,,,,,,,18,,,,18,23', -'18,,18,23,23,23,23,23,23,23,23,23,23,,,23,23,23,23,,,23,23,23,23,,23', -'23,,23,,23,23,,,23,23,23,,,23,23,23,23,23,23,,,,,23,202,202,202,202', +'68,231,240,68,229,194,194,256,61,162,162,162,229,54,136,256,61,162,223', +'223,223,217,217,217,24,68,223,24,156,217,240,68,191,191,163,229,70,70', +'256,61,240,61,231,231,231,68,68,68,68,68,68,68,68,68,68,68,68,68,68', +'68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,163,163,68,68,229,229', +'137,54,136,154,92,54,136,68,92,92,92,92,92,92,92,92,92,92,127,168,92', +'92,92,92,81,81,92,92,92,92,47,92,92,169,92,226,92,92,215,142,92,92,225', +'228,251,92,92,92,92,92,92,228,253,276,224,92,127,50,50,50,50,50,50,50', +'50,50,50,86,86,137,75,75,80,137,228,60,50,50,29,215,215,215,220,92,219', +'40,40,92,5,92,50,92,5,5,5,5,5,5,5,5,5,5,74,74,5,5,5,5,148,148,5,5,5', +'5,28,5,5,82,5,216,5,5,276,276,5,5,276,150,150,5,5,5,5,5,5,211,50,267', +'50,5,50,141,141,141,141,141,141,141,141,141,141,220,129,219,83,220,272', +'219,67,67,141,141,151,151,151,158,158,5,151,197,197,5,7,5,141,5,7,7', +'7,7,7,7,7,7,7,7,84,13,7,7,7,7,188,106,7,7,7,7,,7,7,,7,,7,7,267,267,7', +'7,267,,,7,7,7,7,7,7,,141,,141,7,141,247,247,247,247,247,247,247,247', +'247,247,175,175,175,175,175,175,175,,,247,247,203,203,203,203,203,7', +',,,7,8,7,247,7,8,8,8,8,8,8,8,8,8,8,,,8,8,8,8,,,8,8,8,8,,8,8,,8,,8,8', +',,8,8,,,247,8,8,8,8,8,8,,247,,247,8,247,266,266,266,266,266,266,266', +'266,266,266,206,206,206,206,206,206,206,,,266,266,,,,,53,8,,,,8,11,8', +'266,8,11,11,11,11,11,11,11,11,11,11,53,,11,11,11,11,,,11,11,11,11,155', +'11,11,,11,,11,11,155,,11,11,,,,11,11,11,11,11,11,,266,,266,11,266,,', +',53,155,,155,131,131,131,53,131,,,53,181,181,181,181,181,181,181,181', +'181,181,134,11,,,,11,12,11,,11,12,12,12,12,12,12,12,12,12,12,134,,12', +'12,12,12,,,12,12,12,12,,12,12,,12,,12,12,,,12,12,,,,12,12,12,12,12,12', +',,,,12,,,,134,134,200,200,200,200,200,,134,,,,134,186,186,186,186,186', +'186,186,186,186,186,,12,,,,12,275,12,,12,275,275,275,275,275,275,275', +'275,275,275,,,275,275,275,275,,,275,275,275,275,,275,275,,275,,275,275', +',,275,275,,,,275,275,275,275,275,275,,,,,275,189,189,189,189,189,189', +'189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,,,,,,,275', +',,,275,15,275,,275,15,15,15,15,15,15,15,15,15,15,,,15,15,15,15,,,15', +'15,15,15,,15,15,,15,,15,15,,,15,15,,,,15,15,15,15,15,15,,,,,15,183,183', +'183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183', +'183,183,,,,,,,15,,,,15,18,15,,15,18,18,18,18,18,18,18,18,18,18,,,18', +'18,18,18,,,18,18,18,18,,18,18,,18,,18,18,,,18,18,,,,18,18,18,18,18,18', +',,,,18,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174', +'174,174,174,174,174,,,,,,,18,,,,18,23,18,,18,23,23,23,23,23,23,23,23', +'23,23,,,23,23,23,23,,,23,23,23,23,,23,23,,23,,23,23,,,23,23,23,,,23', +'23,23,23,23,23,,,,,23,205,205,205,205,205,205,205,205,205,205,205,205', +'205,205,205,205,205,205,205,205,205,,,,,,,23,,,,23,118,23,,23,118,118', +'118,118,118,118,118,118,118,118,,,118,118,118,118,,,118,118,118,118', +',118,118,,118,,118,118,,,118,118,,,,118,118,118,118,118,118,,,,,118', '202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202,202', -',,,,,,23,,,,23,118,23,,23,118,118,118,118,118,118,118,118,118,118,,', -'118,118,118,118,,,118,118,118,118,,118,118,,118,,118,118,,,118,118,', -',,118,118,118,118,118,118,,,,,118,174,174,174,174,174,174,174,174,174', -'174,174,174,174,174,174,174,174,174,174,174,174,,,,,,,118,,,,118,25', -'118,,118,25,25,25,25,25,25,25,25,25,25,,,25,25,25,25,,,25,25,25,25,', -'25,25,,25,,25,25,,,25,25,,,,25,25,25,25,25,25,,,,,25,176,176,176,176', +'202,202,202,202,,,,,,,118,,,,118,25,118,,118,25,25,25,25,25,25,25,25', +'25,25,,,25,25,25,25,,,25,25,25,25,,25,25,,25,,25,25,,,25,25,,,,25,25', +'25,25,25,25,,,,,25,185,185,185,185,185,185,185,185,185,185,185,185,185', +'185,185,185,185,185,185,185,185,,,,,,,25,,,,25,261,25,,25,261,261,261', +'261,261,261,261,261,261,261,,,261,261,261,261,,,261,261,261,261,,261', +'261,,261,,261,261,,,261,261,261,,,261,261,261,261,261,261,,,,,261,176', '176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176', -',,,,,,25,,,,25,259,25,,25,259,259,259,259,259,259,259,259,259,259,,', -'259,259,259,259,,,259,259,259,259,,259,259,,259,,259,259,,,259,259,259', -',,259,259,259,259,259,259,,,,,259,185,185,185,185,185,185,185,185,185', -'185,185,185,185,185,185,185,185,185,185,185,185,,,,,,,259,,,,259,258', -'259,,259,258,258,258,258,258,258,258,258,258,258,,,258,258,258,258,', -',258,258,258,258,,258,258,,258,,258,258,,,258,258,,,,258,258,258,258', -'258,258,,,,,258,193,193,193,193,193,193,193,193,193,193,193,193,193', -'190,190,190,190,190,190,190,190,190,190,190,190,190,,258,,,,258,34,258', -',258,34,34,34,34,34,34,34,34,34,34,,,34,34,34,34,,,34,34,34,34,,34,34', -',34,,34,34,,,34,34,,,,34,34,34,34,34,34,,,,,34,199,199,199,199,199,199', -'199,199,199,199,199,199,199,196,196,196,196,196,196,196,196,196,196', -'196,196,196,,34,34,34,,34,117,34,,34,117,117,117,117,117,117,117,117', -'117,117,,,117,117,117,117,,,117,117,117,117,,117,117,,117,,117,117,', -',117,117,,,,117,117,117,117,117,117,,,,,117,184,184,184,184,184,184', -'184,184,184,184,181,181,181,181,181,181,181,181,181,181,175,175,175', -'175,175,175,175,117,,,,117,41,117,,117,41,41,41,41,41,41,41,41,41,41', -',,41,41,41,41,,,41,41,41,41,,41,41,,41,,41,41,,,41,41,,,,41,41,41,41', -'41,41,,,,,41,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,,,,41,243,41,,41,243,243', -'243,243,243,243,243,243,243,243,,,243,243,243,243,,,243,243,243,243', -',243,243,,243,,243,243,,,243,243,,,,243,243,243,243,243,243,,,,,243', -',,,,,,,,,,,,,,,,,,,,,,,,,,,243,,,,243,241,243,,243,241,241,241,241,241', -'241,241,241,241,241,,,241,241,241,241,,,241,241,241,241,,241,241,,241', -',241,241,,,241,241,,,,241,241,241,241,241,241,,,,,241,,,,,,,,,,,,,,', -',,,,,,,,,,,,,241,,,,241,48,241,,241,48,48,48,48,48,48,48,48,48,48,,', -'48,48,48,48,,,48,48,48,48,,48,48,,48,,48,48,,,48,48,,,,48,48,48,48,48', -'48,,,,,48,,,,,,,,,,,,,,,,,,,,,,,,,,,,48,,,,48,49,48,,48,49,49,49,49', -'49,49,49,49,49,49,,,49,49,49,49,,,49,49,49,49,,49,49,,49,,49,49,,,49', -'49,49,,,49,49,49,49,49,49,,,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,49,,,,49', -'116,49,,49,116,116,116,116,116,116,116,116,116,116,,,116,116,116,116', -',,116,116,116,116,,116,116,,116,,116,116,,,116,116,,,,116,116,116,116', -'116,116,,,,,116,,,,,,,,,,,,,,,,,,,,,,,,,,,,116,,,,116,231,116,,116,231', -'231,231,231,231,231,231,231,231,231,,,231,231,231,231,,,231,231,231', -'231,,231,231,,231,,231,231,,,231,231,,,,231,231,231,231,231,231,,,,', -'231,,,,,,,,,,,,,,,,,,,,,,,,,,,,231,,,,231,229,231,,231,229,229,229,229', -'229,229,229,229,229,229,,,229,229,229,229,,,229,229,229,229,,229,229', -',229,,229,229,,,229,229,,,,229,229,229,229,229,229,,,,,229,,,,,,,,,', -',,,,,,,,,,,,,,,,,,229,,,,229,55,229,,229,55,55,55,55,55,55,55,55,55', -'55,,,55,55,55,55,,,55,55,55,55,,55,55,,55,,55,55,,,55,55,,,,55,55,55', -'55,55,55,,,,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,55,56,55,,55,56,56', -'56,56,56,56,56,56,56,56,,,56,56,56,56,,,56,56,56,56,,56,56,,56,,56,56', -',,56,56,,,,56,56,56,56,56,56,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,', -',56,115,56,,56,115,115,115,115,115,115,115,115,115,115,,,115,115,115', -'115,,,115,115,115,115,,115,115,,115,,115,115,,,115,115,,,,115,115,115', -'115,115,115,,,,,115,,,,,,,,,,,,,,,,,,,,,,,,,,,,115,,,,115,213,115,,115', -'213,213,213,213,213,213,213,213,213,213,,,213,213,213,213,,,213,213', -'213,213,,213,213,,213,,213,213,,,213,213,,,,213,213,213,213,213,213', -',,,,213,,,,,,,,,,,,,,,,,,,,,,,,,,,,213,213,213,,213,62,213,,213,62,62', -'62,62,62,62,62,62,62,62,,,62,62,62,62,,,62,62,62,62,,62,62,,62,,62,62', -',,62,62,,,,62,62,62,62,62,62,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,', -',62,63,62,,62,63,63,63,63,63,63,63,63,63,63,,,63,63,63,63,,,63,63,63', -'63,,63,63,,63,,63,63,,,63,63,,,,63,63,63,63,63,63,,,,,63,,,,,,,,,,,', -',,,,,,,,,,,,,,,,63,,,,63,212,63,,63,212,212,212,212,212,212,212,212', -'212,212,,,212,212,212,212,,,212,212,212,212,,212,212,,212,,212,212,', -',212,212,,,,212,212,212,212,212,212,,,,,212,,,,,,,,,,,,,,,,,,,,,,,,', -',,,212,,,,212,0,212,,212,0,0,0,0,0,0,0,0,0,0,,,0,0,0,0,,,0,0,0,0,,0', -'0,,0,,0,0,,,0,0,,,,0,0,0,0,0,0,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0', -'0,,0,119,0,,0,119,119,119,119,119,119,119,119,119,119,,,119,119,119', -'119,,,119,119,119,119,,119,119,,119,,119,119,,,119,119,,,,119,119,119', -'119,119,119,,,,,119,,,,,,,,,,,,,,,,,,,,,,,,,,,,119,,,,119,170,119,,119', -'170,170,170,170,170,170,170,170,170,170,,,170,170,170,170,,,170,170', -'170,170,,170,170,,170,,170,170,,,170,170,,,,170,170,170,170,170,170', -',,,,170,,,,,,,,,,,,,,,,,,,,,,,,,,,,170,,,,170,161,170,,170,161,161,161', -'161,161,161,161,161,161,161,,,161,161,161,161,,,161,161,161,161,,161', -'161,,161,,161,161,,,161,161,,,,161,161,161,161,161,161,,,,,161,,,,,', -',,,,,,,,,,,,,,,,,,,,,,161,,,,161,146,161,,161,146,146,146,146,146,146', -'146,146,146,146,,,146,146,146,146,,,146,146,146,146,,146,146,,146,,146', -'146,,,146,146,146,,,146,146,146,146,146,146,,,,,146,,,,,,,,,,,,,,,,', -',,,,,,,,,,,146,,,,146,73,146,,146,73,73,73,73,73,73,73,73,73,73,,,73', -'73,73,73,,,73,73,73,73,,73,73,,73,,73,73,,,73,73,73,,,73,73,73,73,73', -'73,,,,,73,,,,,,,,,,,,,,,,,,,,,,,,,,,,73,,,,73,143,73,,73,143,143,143', -'143,143,143,143,143,143,143,,,143,143,143,143,,,143,143,143,143,,143', -'143,,143,,143,143,,,143,143,,,,143,143,143,143,143,143,,,,,143,,,,,', -',,,,,,,,,,,,,,,,,,,,,,143,,,,143,114,143,,143,114,114,114,114,114,114', -'114,114,114,114,,,114,114,114,114,,,114,114,114,114,,114,114,,114,,114', -'114,,,114,114,,,,114,114,114,114,114,114,,,,,114,,,,,,,,,,,,,,,,,,,', -',,,,,,,,114,,,,114,140,114,,114,140,140,140,140,140,140,140,140,140', -'140,,,140,140,140,140,,,140,140,140,140,,140,140,,140,,140,140,,,140', -'140,,,,140,140,140,140,140,140,,,,,140,,,,,,,,,,,,,,,,,,,,,,,,,,,,140', -',,,140,78,140,,140,78,78,78,78,78,78,78,78,78,78,,,78,78,78,78,,,78', -'78,78,78,,78,78,,78,,78,78,,,78,78,,,,78,78,78,78,78,78,,,,,78,,,,,', -',,,,,,,,,,,,,,,,,,,,,,78,78,78,,78,79,78,,78,79,79,79,79,79,79,79,79', -'79,79,,,79,79,79,79,,,79,79,79,79,,79,79,,79,,79,79,,,79,79,79,,,79', -'79,79,79,79,79,,,,,79,,,,,,,,,,,,,,,,,,,,,,,,,,,,79,,,,79,138,79,,79', -'138,138,138,138,138,138,138,138,138,138,,,138,138,138,138,,,138,138', -'138,138,,138,138,,138,,138,138,,,138,138,138,,,138,138,138,138,138,138', -',,,,138,,,,,,,,,,,,,,,,,,,,,,,,,,,,138,,,,138,135,138,,138,135,135,135', -'135,135,135,135,135,135,135,,,135,135,135,135,,,135,135,135,135,,135', -'135,,135,,135,135,,,135,135,135,,,135,135,135,135,135,135,,,,,135,,', -',,,,,,,,,,,,,,,,,,,,,,,,,135,,,,135,132,135,,135,132,132,132,132,132', -'132,132,132,132,132,,,132,132,132,132,,,132,132,132,132,,132,132,,132', -',132,132,,,132,132,132,,,132,132,132,132,132,132,,,,,132,,,,,,,,,,,', -',,,,,,,,,,,,,,,,132,,,,132,124,132,,132,124,124,124,124,124,124,124', -'124,124,124,,,124,124,124,124,,,124,124,124,124,,124,124,,124,,124,124', -',,124,124,,,,124,124,124,124,124,124,,,,,124,,,,,,,,,,,,,,,,,,,,,,,', -',,,,124,,,,124,123,124,,124,123,123,123,123,123,123,123,123,123,123', -',,123,123,123,123,,,123,123,123,123,,123,123,,123,,123,123,,,123,123', -',,,123,123,123,123,123,123,,,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,123,,', -',123,85,123,,123,85,85,85,85,85,85,85,85,85,85,,,85,85,85,85,,,85,85', -'85,85,,85,85,,85,,85,85,,,85,85,,,,85,85,85,85,85,85,,,,,85,,,,,,,,', -',,,,,,,,,,,,,,,,,,,85,85,85,,85,122,85,,85,122,122,122,122,122,122,122', -'122,122,122,,,122,122,122,122,,,122,122,122,122,,122,122,,122,,122,122', -',,122,122,,,,122,122,122,122,122,122,,,,,122,,,,,,,,,,,,,,,,,,,,,,,', -',,,,122,,,,122,87,122,,122,87,87,87,87,87,87,87,87,87,87,,,87,87,87', -'87,,,87,87,87,87,,87,87,,87,,87,87,,,87,87,,,,87,87,87,87,87,87,,,,', -'87,,,,,,,,,,,,,,,,,,,,,,,,,,,,87,,,,87,121,87,,87,121,121,121,121,121', -'121,121,121,121,121,,,121,121,121,121,,,121,121,121,121,,121,121,,121', -',121,121,,,121,121,,,,121,121,121,121,121,121,,,,,121,,,,,,,,,,,,,,', -',,,,,,,,,,,,,121,,,,121,89,121,,121,89,89,89,89,89,89,89,89,89,89,,', -'89,89,89,89,,,89,89,89,89,,89,89,,89,,89,89,,,89,89,,,,89,89,89,89,89', -'89,,,,,89,,,,,,,,,,,,,,,,,,,,,,,,,,,,89,,,,89,90,89,,89,90,90,90,90', -'90,90,90,90,90,90,,,90,90,90,90,,,90,90,90,90,,90,90,,90,,90,90,,,90', -'90,,,,90,90,90,90,90,90,,,,,90,,,,,,,,,,,,,,,,,,,,,,,,,,,,90,,,,90,91', -'90,,90,91,91,91,91,91,91,91,91,91,91,,,91,91,91,91,,,91,91,91,91,,91', -'91,,91,,91,91,,,91,91,,,,91,91,91,91,91,91,,,,,91,,,,,,,,,,,,,,,,,,', -',,,,,,,,,91,,,,91,1,91,,91,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,,,1,1,1,1,', -'1,1,,1,,1,1,,,1,1,,,,1,1,1,1,1,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,1', -',,,1,93,1,,1,93,93,93,93,93,93,93,93,93,93,,,93,93,93,93,,,93,93,93', -'93,,93,93,,93,,93,93,,,93,93,,,,93,93,93,93,93,93,,,,,93,,,,,,,,,,,', -',,,,,,,,,,,,,,,,93,,,,93,94,93,,93,94,94,94,94,94,94,94,94,94,94,,,94', -'94,94,94,,,94,94,94,94,,94,94,,94,,94,94,,,94,94,,,,94,94,94,94,94,94', -',,,,94,,,,,,,,,,,,,,,,,,,,,,,,,,,,94,,,,94,95,94,,94,95,95,95,95,95', -'95,95,95,95,95,,,95,95,95,95,,,95,95,95,95,,95,95,,95,,95,95,,,95,95', -',,,95,95,95,95,95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,,,,,,,95,,,,95,96,95', -',95,96,96,96,96,96,96,96,96,96,96,,,96,96,96,96,,,96,96,96,96,,96,96', -',96,,96,96,,,96,96,,,,96,96,96,96,96,96,,,,,96,,,,,,,,,,,,,,,,,,,,,', -',,,,,,96,,,,96,113,96,,96,113,113,113,113,113,113,113,113,113,113,,', -'113,113,113,113,,,113,113,113,113,,113,113,,113,,113,113,,,113,113,', -',,113,113,113,113,113,113,,,,,113,,,,,,,,,,,,,,,,,,,,,,,,,,,,113,,,', -'113,98,113,,113,98,98,98,98,98,98,98,98,98,98,,,98,98,98,98,,,98,98', -'98,98,,98,98,,98,,98,98,,,98,98,,,,98,98,98,98,98,98,,,,,98,,,,,,,,', -',,,,,,,,,,,,,,,,,,,98,,,,98,99,98,,98,99,99,99,99,99,99,99,99,99,99', -',,99,99,99,99,,,99,99,99,99,,99,99,,99,,99,99,,,99,99,,,,99,99,99,99', -'99,99,,,,,99,,,,,,,,,,,,,,,,,,,,,,,,,,,,99,,,,99,100,99,,99,100,100', -'100,100,100,100,100,100,100,100,,,100,100,100,100,,,100,100,100,100', -',100,100,,100,,100,100,,,100,100,,,,100,100,100,100,100,100,,,,,100', -',,,,,,,,,,,,,,,,,,,,,,,,,,,100,,,,100,102,100,,100,102,102,102,102,102', -'102,102,102,102,102,,,102,102,102,102,,,102,102,102,102,,102,102,,102', -',102,102,,,102,102,,,,102,102,102,102,102,102,,,,,102,,,,,,,,,,,,,,', -',,,,,,,,,,,,,102,,,,102,103,102,,102,103,103,103,103,103,103,103,103', -'103,103,,,103,103,103,103,,,103,103,103,103,,103,103,,103,,103,103,', -',103,103,,,,103,103,103,103,103,103,,,,,103,,,,,,,,,,,,,,,,,,,,,,,,', -',,,103,,,,103,105,103,,103,105,105,105,105,105,105,105,105,105,105,', -',105,105,105,105,,,105,105,105,105,,105,105,,105,,105,105,,,105,105', -',,,105,105,105,105,105,105,,,,,105,,,,,,,,,,,,,,,,,,,,,,,,,,,,105,,', -',105,120,105,,105,120,120,120,120,120,120,120,120,120,120,,,120,120', -'120,120,,,120,120,120,120,,120,120,,120,,120,120,,,120,120,,,,120,120', -'120,120,120,120,,,,,120,,,,,,,,,,,,,,,,,,,,,,,,,,,,120,,,,120,107,120', -',120,107,107,107,107,107,107,107,107,107,107,,,107,107,107,107,,,107', -'107,107,107,,107,107,,107,,107,107,,,107,107,,,,107,107,107,107,107', -'107,,,,,107,,,,,,,,,,,,,,,,,,,,,,,,,,,,107,,,,107,108,107,,107,108,108', -'108,108,108,108,108,108,108,108,,,108,108,108,108,,,108,108,108,108', -',108,108,,108,,108,108,,,108,108,,,,108,108,108,108,108,108,,,,,108', -',,,,,,,,,,,,,,,,,,,,,,,,,,,108,,,,108,109,108,,108,109,109,109,109,109', -'109,109,109,109,109,,,109,109,109,109,,,109,109,109,109,,109,109,,109', -',109,109,,,109,109,,,,109,109,109,109,109,109,,,,,109,,,,,,,,,,,,,,', -',,,,,,,,,,,,,109,,,,109,110,109,,109,110,110,110,110,110,110,110,110', -'110,110,,,110,110,110,110,,,110,110,110,110,,110,110,,110,,110,110,', -',110,110,,,,110,110,110,110,110,110,,,,,110,,,,,,,,,,,,,,,,,,,,,,,,', -',,,110,,,,110,111,110,,110,111,111,111,111,111,111,111,111,111,111,', -',111,111,111,111,,,111,111,111,111,,111,111,,111,,111,111,,,111,111', -',,,111,111,111,111,111,111,,,,,111,,,,,,,,,,,,,,,,,,,,,,,,,,,,111,,', -',111,112,111,,111,112,112,112,112,112,112,112,112,112,112,,,112,112', -'112,112,,,112,112,112,112,,112,112,,112,,112,112,,,112,112,,,,112,112', -'112,112,112,112,,,,,112,,,,,,,,,,,,,,,,,,,,,,,,,,,,112,,,,112,97,112', -',112,97,97,97,97,97,97,97,97,97,97,,,97,97,97,97,,,97,97,97,97,,97,97', -',97,,97,97,,,97,97,,,,97,97,97,97,97,97,222,,,222,97,,,,,,,,,,,,,,,', -',,,,,222,,,,,,222,97,,,,97,,97,,97,,,,,222,222,222,222,222,222,222,222', +'176,176,176,,,,,,,261,,,,261,260,261,,261,260,260,260,260,260,260,260', +'260,260,260,,,260,260,260,260,,,260,260,260,260,,260,260,,260,,260,260', +',,260,260,,,,260,260,260,260,260,260,,,,,260,180,180,180,180,180,180', +'180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,,,,,,,260', +',,,260,34,260,,260,34,34,34,34,34,34,34,34,34,34,,,34,34,34,34,,,34', +'34,34,34,,34,34,,34,,34,34,,,34,34,,,,34,34,34,34,34,34,,,,,34,190,190', +'190,190,190,190,190,190,190,190,190,190,190,196,196,196,196,196,196', +'196,196,196,196,196,196,196,,34,34,34,,34,117,34,,34,117,117,117,117', +'117,117,117,117,117,117,,,117,117,117,117,,,117,117,117,117,,117,117', +',117,,117,117,,,117,117,,,,117,117,117,117,117,117,,,,,117,199,199,199', +'199,199,199,199,199,199,199,199,199,199,193,193,193,193,193,193,193', +'193,193,193,193,193,193,,117,,,,117,41,117,,117,41,41,41,41,41,41,41', +'41,41,41,,,41,41,41,41,,,41,41,41,41,,41,41,,41,,41,41,,,41,41,,,,41', +'41,41,41,41,41,,,,,41,184,184,184,184,184,184,184,184,184,184,177,177', +'177,177,177,177,177,,,,,,,,,,,41,,,,41,244,41,,41,244,244,244,244,244', +'244,244,244,244,244,,,244,244,244,244,,,244,244,244,244,,244,244,,244', +',244,244,,,244,244,,,,244,244,244,244,244,244,,,,,244,,,,,,,,,,,,,,', +',,,,,,,,,,,,,244,,,,244,242,244,,244,242,242,242,242,242,242,242,242', +'242,242,,,242,242,242,242,,,242,242,242,242,,242,242,,242,,242,242,', +',242,242,,,,242,242,242,242,242,242,,,,,242,,,,,,,,,,,,,,,,,,,,,,,,', +',,,242,,,,242,48,242,,242,48,48,48,48,48,48,48,48,48,48,,,48,48,48,48', +',,48,48,48,48,,48,48,,48,,48,48,,,48,48,,,,48,48,48,48,48,48,,,,,48', +',,,,,,,,,,,,,,,,,,,,,,,,,,,48,,,,48,49,48,,48,49,49,49,49,49,49,49,49', +'49,49,,,49,49,49,49,,,49,49,49,49,,49,49,,49,,49,49,,,49,49,49,,,49', +'49,49,49,49,49,,,,,49,,,,,,,,,,,,,,,,,,,,,,,,,,,,49,,,,49,116,49,,49', +'116,116,116,116,116,116,116,116,116,116,,,116,116,116,116,,,116,116', +'116,116,,116,116,,116,,116,116,,,116,116,,,,116,116,116,116,116,116', +',,,,116,,,,,,,,,,,,,,,,,,,,,,,,,,,,116,,,,116,232,116,,116,232,232,232', +'232,232,232,232,232,232,232,,,232,232,232,232,,,232,232,232,232,,232', +'232,,232,,232,232,,,232,232,,,,232,232,232,232,232,232,,,,,232,,,,,', +',,,,,,,,,,,,,,,,,,,,,,232,,,,232,230,232,,232,230,230,230,230,230,230', +'230,230,230,230,,,230,230,230,230,,,230,230,230,230,,230,230,,230,,230', +'230,,,230,230,,,,230,230,230,230,230,230,,,,,230,,,,,,,,,,,,,,,,,,,', +',,,,,,,,230,,,,230,55,230,,230,55,55,55,55,55,55,55,55,55,55,,,55,55', +'55,55,,,55,55,55,55,,55,55,,55,,55,55,,,55,55,,,,55,55,55,55,55,55,', +',,,55,,,,,,,,,,,,,,,,,,,,,,,,,,,,55,,,,55,56,55,,55,56,56,56,56,56,56', +'56,56,56,56,,,56,56,56,56,,,56,56,56,56,,56,56,,56,,56,56,,,56,56,,', +',56,56,56,56,56,56,,,,,56,,,,,,,,,,,,,,,,,,,,,,,,,,,,56,,,,56,115,56', +',56,115,115,115,115,115,115,115,115,115,115,,,115,115,115,115,,,115', +'115,115,115,,115,115,,115,,115,115,,,115,115,,,,115,115,115,115,115', +'115,,,,,115,,,,,,,,,,,,,,,,,,,,,,,,,,,,115,,,,115,213,115,,115,213,213', +'213,213,213,213,213,213,213,213,,,213,213,213,213,,,213,213,213,213', +',213,213,,213,,213,213,,,213,213,,,,213,213,213,213,213,213,,,,,213', +',,,,,,,,,,,,,,,,,,,,,,,,,,,213,213,213,,213,62,213,,213,62,62,62,62', +'62,62,62,62,62,62,,,62,62,62,62,,,62,62,62,62,,62,62,,62,,62,62,,,62', +'62,,,,62,62,62,62,62,62,,,,,62,,,,,,,,,,,,,,,,,,,,,,,,,,,,62,,,,62,63', +'62,,62,63,63,63,63,63,63,63,63,63,63,,,63,63,63,63,,,63,63,63,63,,63', +'63,,63,,63,63,,,63,63,,,,63,63,63,63,63,63,,,,,63,,,,,,,,,,,,,,,,,,', +',,,,,,,,,63,,,,63,212,63,,63,212,212,212,212,212,212,212,212,212,212', +',,212,212,212,212,,,212,212,212,212,,212,212,,212,,212,212,,,212,212', +',,,212,212,212,212,212,212,,,,,212,,,,,,,,,,,,,,,,,,,,,,,,,,,,212,,', +',212,0,212,,212,0,0,0,0,0,0,0,0,0,0,,,0,0,0,0,,,0,0,0,0,,0,0,,0,,0,0', +',,0,0,,,,0,0,0,0,0,0,,,,,0,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0,0,,0,119,0', +',0,119,119,119,119,119,119,119,119,119,119,,,119,119,119,119,,,119,119', +'119,119,,119,119,,119,,119,119,,,119,119,,,,119,119,119,119,119,119', +',,,,119,,,,,,,,,,,,,,,,,,,,,,,,,,,,119,,,,119,170,119,,119,170,170,170', +'170,170,170,170,170,170,170,,,170,170,170,170,,,170,170,170,170,,170', +'170,,170,,170,170,,,170,170,,,,170,170,170,170,170,170,,,,,170,,,,,', +',,,,,,,,,,,,,,,,,,,,,,170,,,,170,161,170,,170,161,161,161,161,161,161', +'161,161,161,161,,,161,161,161,161,,,161,161,161,161,,161,161,,161,,161', +'161,,,161,161,,,,161,161,161,161,161,161,,,,,161,,,,,,,,,,,,,,,,,,,', +',,,,,,,,161,,,,161,146,161,,161,146,146,146,146,146,146,146,146,146', +'146,,,146,146,146,146,,,146,146,146,146,,146,146,,146,,146,146,,,146', +'146,146,,,146,146,146,146,146,146,,,,,146,,,,,,,,,,,,,,,,,,,,,,,,,,', +',146,,,,146,73,146,,146,73,73,73,73,73,73,73,73,73,73,,,73,73,73,73', +',,73,73,73,73,,73,73,,73,,73,73,,,73,73,73,,,73,73,73,73,73,73,,,,,73', +',,,,,,,,,,,,,,,,,,,,,,,,,,,73,,,,73,143,73,,73,143,143,143,143,143,143', +'143,143,143,143,,,143,143,143,143,,,143,143,143,143,,143,143,,143,,143', +'143,,,143,143,,,,143,143,143,143,143,143,,,,,143,,,,,,,,,,,,,,,,,,,', +',,,,,,,,143,,,,143,114,143,,143,114,114,114,114,114,114,114,114,114', +'114,,,114,114,114,114,,,114,114,114,114,,114,114,,114,,114,114,,,114', +'114,,,,114,114,114,114,114,114,,,,,114,,,,,,,,,,,,,,,,,,,,,,,,,,,,114', +',,,114,140,114,,114,140,140,140,140,140,140,140,140,140,140,,,140,140', +'140,140,,,140,140,140,140,,140,140,,140,,140,140,,,140,140,,,,140,140', +'140,140,140,140,,,,,140,,,,,,,,,,,,,,,,,,,,,,,,,,,,140,,,,140,78,140', +',140,78,78,78,78,78,78,78,78,78,78,,,78,78,78,78,,,78,78,78,78,,78,78', +',78,,78,78,,,78,78,,,,78,78,78,78,78,78,,,,,78,,,,,,,,,,,,,,,,,,,,,', +',,,,,,78,78,78,,78,79,78,,78,79,79,79,79,79,79,79,79,79,79,,,79,79,79', +'79,,,79,79,79,79,,79,79,,79,,79,79,,,79,79,79,,,79,79,79,79,79,79,,', +',,79,,,,,,,,,,,,,,,,,,,,,,,,,,,,79,,,,79,138,79,,79,138,138,138,138', +'138,138,138,138,138,138,,,138,138,138,138,,,138,138,138,138,,138,138', +',138,,138,138,,,138,138,138,,,138,138,138,138,138,138,,,,,138,,,,,,', +',,,,,,,,,,,,,,,,,,,,,138,,,,138,135,138,,138,135,135,135,135,135,135', +'135,135,135,135,,,135,135,135,135,,,135,135,135,135,,135,135,,135,,135', +'135,,,135,135,135,,,135,135,135,135,135,135,,,,,135,,,,,,,,,,,,,,,,', +',,,,,,,,,,,135,,,,135,132,135,,135,132,132,132,132,132,132,132,132,132', +'132,,,132,132,132,132,,,132,132,132,132,,132,132,,132,,132,132,,,132', +'132,132,,,132,132,132,132,132,132,,,,,132,,,,,,,,,,,,,,,,,,,,,,,,,,', +',132,,,,132,124,132,,132,124,124,124,124,124,124,124,124,124,124,,,124', +'124,124,124,,,124,124,124,124,,124,124,,124,,124,124,,,124,124,,,,124', +'124,124,124,124,124,,,,,124,,,,,,,,,,,,,,,,,,,,,,,,,,,,124,,,,124,123', +'124,,124,123,123,123,123,123,123,123,123,123,123,,,123,123,123,123,', +',123,123,123,123,,123,123,,123,,123,123,,,123,123,,,,123,123,123,123', +'123,123,,,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,123,,,,123,85,123,,123,85', +'85,85,85,85,85,85,85,85,85,,,85,85,85,85,,,85,85,85,85,,85,85,,85,,85', +'85,,,85,85,,,,85,85,85,85,85,85,,,,,85,,,,,,,,,,,,,,,,,,,,,,,,,,,,85', +'85,85,,85,122,85,,85,122,122,122,122,122,122,122,122,122,122,,,122,122', +'122,122,,,122,122,122,122,,122,122,,122,,122,122,,,122,122,,,,122,122', +'122,122,122,122,,,,,122,,,,,,,,,,,,,,,,,,,,,,,,,,,,122,,,,122,87,122', +',122,87,87,87,87,87,87,87,87,87,87,,,87,87,87,87,,,87,87,87,87,,87,87', +',87,,87,87,,,87,87,,,,87,87,87,87,87,87,,,,,87,,,,,,,,,,,,,,,,,,,,,', +',,,,,,87,,,,87,121,87,,87,121,121,121,121,121,121,121,121,121,121,,', +'121,121,121,121,,,121,121,121,121,,121,121,,121,,121,121,,,121,121,', +',,121,121,121,121,121,121,,,,,121,,,,,,,,,,,,,,,,,,,,,,,,,,,,121,,,', +'121,89,121,,121,89,89,89,89,89,89,89,89,89,89,,,89,89,89,89,,,89,89', +'89,89,,89,89,,89,,89,89,,,89,89,,,,89,89,89,89,89,89,,,,,89,,,,,,,,', +',,,,,,,,,,,,,,,,,,,89,,,,89,90,89,,89,90,90,90,90,90,90,90,90,90,90', +',,90,90,90,90,,,90,90,90,90,,90,90,,90,,90,90,,,90,90,,,,90,90,90,90', +'90,90,,,,,90,,,,,,,,,,,,,,,,,,,,,,,,,,,,90,,,,90,91,90,,90,91,91,91', +'91,91,91,91,91,91,91,,,91,91,91,91,,,91,91,91,91,,91,91,,91,,91,91,', +',91,91,,,,91,91,91,91,91,91,,,,,91,,,,,,,,,,,,,,,,,,,,,,,,,,,,91,,,', +'91,1,91,,91,1,1,1,1,1,1,1,1,1,1,,,1,1,1,1,,,1,1,1,1,,1,1,,1,,1,1,,,1', +'1,,,,1,1,1,1,1,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,1,93,1,,1,93', +'93,93,93,93,93,93,93,93,93,,,93,93,93,93,,,93,93,93,93,,93,93,,93,,93', +'93,,,93,93,,,,93,93,93,93,93,93,,,,,93,,,,,,,,,,,,,,,,,,,,,,,,,,,,93', +',,,93,94,93,,93,94,94,94,94,94,94,94,94,94,94,,,94,94,94,94,,,94,94', +'94,94,,94,94,,94,,94,94,,,94,94,,,,94,94,94,94,94,94,,,,,94,,,,,,,,', +',,,,,,,,,,,,,,,,,,,94,,,,94,95,94,,94,95,95,95,95,95,95,95,95,95,95', +',,95,95,95,95,,,95,95,95,95,,95,95,,95,,95,95,,,95,95,,,,95,95,95,95', +'95,95,,,,,95,,,,,,,,,,,,,,,,,,,,,,,,,,,,95,,,,95,96,95,,95,96,96,96', +'96,96,96,96,96,96,96,,,96,96,96,96,,,96,96,96,96,,96,96,,96,,96,96,', +',96,96,,,,96,96,96,96,96,96,,,,,96,,,,,,,,,,,,,,,,,,,,,,,,,,,,96,,,', +'96,113,96,,96,113,113,113,113,113,113,113,113,113,113,,,113,113,113', +'113,,,113,113,113,113,,113,113,,113,,113,113,,,113,113,,,,113,113,113', +'113,113,113,,,,,113,,,,,,,,,,,,,,,,,,,,,,,,,,,,113,,,,113,98,113,,113', +'98,98,98,98,98,98,98,98,98,98,,,98,98,98,98,,,98,98,98,98,,98,98,,98', +',98,98,,,98,98,,,,98,98,98,98,98,98,,,,,98,,,,,,,,,,,,,,,,,,,,,,,,,', +',,98,,,,98,99,98,,98,99,99,99,99,99,99,99,99,99,99,,,99,99,99,99,,,99', +'99,99,99,,99,99,,99,,99,99,,,99,99,,,,99,99,99,99,99,99,,,,,99,,,,,', +',,,,,,,,,,,,,,,,,,,,,,99,,,,99,100,99,,99,100,100,100,100,100,100,100', +'100,100,100,,,100,100,100,100,,,100,100,100,100,,100,100,,100,,100,100', +',,100,100,,,,100,100,100,100,100,100,,,,,100,,,,,,,,,,,,,,,,,,,,,,,', +',,,,100,,,,100,102,100,,100,102,102,102,102,102,102,102,102,102,102', +',,102,102,102,102,,,102,102,102,102,,102,102,,102,,102,102,,,102,102', +',,,102,102,102,102,102,102,,,,,102,,,,,,,,,,,,,,,,,,,,,,,,,,,,102,,', +',102,103,102,,102,103,103,103,103,103,103,103,103,103,103,,,103,103', +'103,103,,,103,103,103,103,,103,103,,103,,103,103,,,103,103,,,,103,103', +'103,103,103,103,,,,,103,,,,,,,,,,,,,,,,,,,,,,,,,,,,103,,,,103,105,103', +',103,105,105,105,105,105,105,105,105,105,105,,,105,105,105,105,,,105', +'105,105,105,,105,105,,105,,105,105,,,105,105,,,,105,105,105,105,105', +'105,,,,,105,,,,,,,,,,,,,,,,,,,,,,,,,,,,105,,,,105,120,105,,105,120,120', +'120,120,120,120,120,120,120,120,,,120,120,120,120,,,120,120,120,120', +',120,120,,120,,120,120,,,120,120,,,,120,120,120,120,120,120,,,,,120', +',,,,,,,,,,,,,,,,,,,,,,,,,,,120,,,,120,107,120,,120,107,107,107,107,107', +'107,107,107,107,107,,,107,107,107,107,,,107,107,107,107,,107,107,,107', +',107,107,,,107,107,,,,107,107,107,107,107,107,,,,,107,,,,,,,,,,,,,,', +',,,,,,,,,,,,,107,,,,107,108,107,,107,108,108,108,108,108,108,108,108', +'108,108,,,108,108,108,108,,,108,108,108,108,,108,108,,108,,108,108,', +',108,108,,,,108,108,108,108,108,108,,,,,108,,,,,,,,,,,,,,,,,,,,,,,,', +',,,108,,,,108,109,108,,108,109,109,109,109,109,109,109,109,109,109,', +',109,109,109,109,,,109,109,109,109,,109,109,,109,,109,109,,,109,109', +',,,109,109,109,109,109,109,,,,,109,,,,,,,,,,,,,,,,,,,,,,,,,,,,109,,', +',109,110,109,,109,110,110,110,110,110,110,110,110,110,110,,,110,110', +'110,110,,,110,110,110,110,,110,110,,110,,110,110,,,110,110,,,,110,110', +'110,110,110,110,,,,,110,,,,,,,,,,,,,,,,,,,,,,,,,,,,110,,,,110,111,110', +',110,111,111,111,111,111,111,111,111,111,111,,,111,111,111,111,,,111', +'111,111,111,,111,111,,111,,111,111,,,111,111,,,,111,111,111,111,111', +'111,,,,,111,,,,,,,,,,,,,,,,,,,,,,,,,,,,111,,,,111,112,111,,111,112,112', +'112,112,112,112,112,112,112,112,,,112,112,112,112,,,112,112,112,112', +',112,112,,112,,112,112,,,112,112,,,,112,112,112,112,112,112,,,,,112', +',,,,,,,,,,,,,,,,,,,,,,,,,,,112,,,,112,97,112,,112,97,97,97,97,97,97', +'97,97,97,97,,,97,97,97,97,,,97,97,97,97,,97,97,,97,,97,97,,,97,97,,', +',97,97,97,97,97,97,222,,,222,97,,,,,,,,,,,,,,,,,,,,,222,,,,,,222,97', +',,,97,,97,,97,,,,,222,222,222,222,222,222,222,222,222,222,222,222,222', '222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222,222', -'222,222,222,222,222,,278,222,222,278,,,,,222,,,,,,,,,,,,,,,,,278,,,', -',,278,,,,,,,,,,,,,,278,278,278,278,278,278,278,278,278,278,278,278,278', -'278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278', -',149,278,278,149,278,278,,,,,,,,,,,,,,,,,,,,149,,,,,,149,,,,,,,,,,,', -',,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149', -'149,149,149,149,149,149,149,149,149,149,149,149,149,,88,149,149,88,', -',,,,,,,,,,,,,,,,,,,,88,,,,,,88,,,,,,,88,,,,,,,88,88,88,88,88,88,88,88', -'88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,,171', -'88,88,171,,,,,,,,,,,,,,,,,,,,,,171,,,,,,171,,,,,,,,,,,,,,171,171,171', +',280,222,222,280,,,,,222,,,,,,,,,,,,,,,,,280,,,,,,280,,,,,,,,,,,,,,280', +'280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280,280', +'280,280,280,280,280,280,280,280,280,280,280,280,,46,280,280,46,280,280', +',,,,,,,,,,,,,,,,,,,46,,,,,,46,,,,,,,,,,,,,,46,46,46,46,46,46,46,46,46', +'46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,,88,46', +'46,88,,,,,,,,,,,,,,,,,,,,,,88,,,,,,88,,,,,,,88,,,,,,,88,88,88,88,88', +'88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88,88', +'88,88,,171,88,88,171,,,,,,,,,,,,,,,,,,,,,,171,,,,,,171,,,,,,,,,,,,,', '171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171', -'171,171,171,171,171,171,171,171,171,171,,271,171,171,271,,,,,,,,,,,', -',,,,,,,,,,271,,,,,,271,,,,,,,,271,,,,,,271,271,271,271,271,271,271,271', -'271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271', -'271,271,271,271,271,,77,271,271,77,,,,,,,,,,,,,,,,,,,,,,77,,,,,,77,', -',,,,,,,,,,,,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77', -'77,77,77,77,77,77,77,77,77,77,77,,165,77,77,165,,,,,,,,,,,,,,,,,,,,', -',165,,,,,,165,,,,,,,,,,,,,,165,165,165,165,165,165,165,165,165,165,165', +'171,171,171,171,171,171,171,171,171,171,171,171,171,,273,171,171,273', +',,,,,,,,,,,,,,,,,,,,,273,,,,,,273,,,,,,,,273,,,,,,273,273,273,273,273', +'273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273,273', +'273,273,273,273,273,273,273,273,,243,273,273,243,,,,,,,,,,,,,,,,,,,', +',,243,,,,,,243,,,,,,,,,,,,,,243,243,243,243,243,243,243,243,243,243', +'243,243,243,243,243,243,243,243,243,243,243,243,243,243,243,243,243', +'243,243,243,,245,243,243,245,,,,,,,,,,,,,,,,,,,,,,245,,,,,,245,,,,,', +',,,,,,,,245,245,245,245,245,245,245,245,245,245,245,245,245,245,245', +'245,245,245,245,245,245,245,245,245,245,245,245,245,245,245,,165,245', +'245,165,,,,,,,,,,,,,,,,,,,,,,165,,,,,,165,,,,,,,,,,,,,,165,165,165,165', '165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165', -'165,165,,,165,165,71,,71,71,,,,,,,,,,,,,,,,,,,,,,71,,,,,,71,,,,,,,71', -',,,,,,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71', -'71,71,71,71,71,71,71,71,71,,130,71,71,130,,,,,,,,,,,,,,,,,,,,,,130,', -',,,,130,,,,,,,130,,,,,,,130,130,130,130,130,130,130,130,130,130,130', +'165,165,165,165,165,165,165,165,165,,130,165,165,130,,,,,,,,,,,,,,,', +',,,,,,130,,,,,,130,,,,,,,130,,,,,,,130,130,130,130,130,130,130,130,130', '130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130', -'130,130,,255,130,130,255,,,,,,,,,,,,,,,,,,,,,,255,,,,,,255,,,,,,,,,', -',,,,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255', -'255,255,255,255,255,255,255,255,255,255,255,255,255,255,,,255,255,262', -',262,262,,,,,,,,,,,,,,,,,,,,,,262,,,,,,262,,,,,,,262,,,,,,,262,262,262', -'262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262,262', -'262,262,262,262,262,262,262,262,262,262,,133,262,262,133,,,,,,,,,,,', -',,,,,,,,,,133,,,,,,133,,,,,,,,,,,,,,133,133,133,133,133,133,133,133', -'133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133', -'133,133,133,133,133,,242,133,133,242,,,,,,,,,,,,,,,,,,,,,,242,,,,,,242', -',,,,,,,,,,,,,242,242,242,242,242,242,242,242,242,242,242,242,242,242', -'242,242,242,242,242,242,242,242,242,242,242,242,242,242,242,242,,257', -'242,242,257,,,,,,,,,,,,,,,,,,,,,,257,,,,,,257,,,,,,,,,,,,,,257,257,257', +'130,130,130,130,,265,130,130,265,,,,,,,,,,,,,,,,,,,,,,265,,,,,,265,', +',,,,,,,,,,,,265,265,265,265,265,265,265,265,265,265,265,265,265,265', +'265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,265,,,265', +'265,264,,264,264,,,,,,,,,,,,,,,,,,,,,,264,,,,,,264,,,,,,,264,,,,,,,264', +'264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264,264', +'264,264,264,264,264,264,264,264,264,264,264,264,,257,264,264,257,,,', +',,,,,,,,,,,,,,,,,,257,,,,,,257,,,,,,,,,,,,,,257,257,257,257,257,257', '257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257', -'257,257,257,257,257,257,257,257,257,257,,46,257,257,46,,,,,,,,,,,,,', -',,,,,,,,46,,,,,,46,,,,,,,,,,,,,,46,46,46,46,46,46,46,46,46,46,46,46', -'46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,46,,244,46,46,244', -',,,,,,,,,,,,,,,,,,,,,244,,,,,,244,,,,,,,,,,,,,,244,244,244,244,244,244', -'244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244', -'244,244,244,244,244,244,244,,263,244,244,263,,,,,,,,,,,,,,,,,,,,,,263', -',,,,,263,,,,,,,,,,,,,,263,263,263,263,263,263,263,263,263,263,263,263', -'263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263', -'263,232,,263,263,,,,,,,,,,,,,,,,,,,,,,232,,,,,,232,,,,,,,,,,,,,,232', -'232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232,232', -'232,232,232,232,232,232,232,232,232,232,232,232,179,,,179,,,,,,,,,,', -',,,,,,,,,,,179,,,,,,179,,,,,,,,,,,,,,179,179,179,179,179,179,179,179', -'179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179', -'179,179,179,179,179,178,,,,,,,,,,,,,,,,,,,,,,,,,178,,,,,,178,,,,,,,', -',,,,,,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178', -'178,178,178,178,178,178,178,178,178,178,178,178,178,178,72,,,,,,,,,', -',,,,,,,,,,,,,,,72,,,,,,72,,,,,,,,,,,,,,72,72,72,72,72,72,72,72,72,72', -'72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,218,,,218', -',,,,,,,,,,,,,,,,,,,,,218,,,,,,218,,,,,,,,,,,,,,218,218,218,218,218,218', -'218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218', -'218,218,218,218,218,218,218,182,,,182,,,,,,,,,,,,,,,,,,,,,,182,,,,,', -'182,,,,,,,,,,,,,,182,182,182,182,182,182,182,182,182,182,182,182,182', +'257,257,257,257,257,257,257,,77,257,257,77,,,,,,,,,,,,,,,,,,,,,,77,', +',,,,77,,,,,,,,,,,,,,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77', +'77,77,77,77,77,77,77,77,77,77,77,77,77,77,,259,77,77,259,,,,,,,,,,,', +',,,,,,,,,,259,,,,,,259,,,,,,,,,,,,,,259,259,259,259,259,259,259,259', +'259,259,259,259,259,259,259,259,259,259,259,259,259,259,259,259,259', +'259,259,259,259,259,,,259,259,71,,71,71,,,,,,,,,,,,,,,,,,,,,,71,,,,', +',71,,,,,,,71,,,,,,,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71', +'71,71,71,71,71,71,71,71,71,71,71,71,71,,149,71,71,149,,,,,,,,,,,,,,', +',,,,,,,149,,,,,,149,,,,,,,,,,,,,,149,149,149,149,149,149,149,149,149', +'149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149,149', +'149,149,149,149,,133,149,149,133,,,,,,,,,,,,,,,,,,,,,,133,,,,,,133,', +',,,,,,,,,,,,133,133,133,133,133,133,133,133,133,133,133,133,133,133', +'133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,,182', +'133,133,182,,,,,,,,,,,,,,,,,,,,,,182,,,,,,182,,,,,,,,,,,,,,182,182,182', '182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182', -'187,,,,,,,,,,,,,,,,,,,,,,,,,187,,,,,,187,,,,,,,,,,,,,,187,187,187,187', +'182,182,182,182,182,182,182,182,182,182,179,,,179,,,,,,,,,,,,,,,,,,', +',,,179,,,,,,179,,,,,,,,,,,,,,179,179,179,179,179,179,179,179,179,179', +'179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179', +'179,179,179,218,,,218,,,,,,,,,,,,,,,,,,,,,,218,,,,,,218,,,,,,,,,,,,', +',218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218,218', +'218,218,218,218,218,218,218,218,218,218,218,218,218,72,,,,,,72,,,,,', +',,,,,,,,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72', +'72,72,72,72,72,72,72,72,72,72,271,,,,,,271,,,,,,,,,,,,,,271,271,271', +'271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271,271', +'271,271,271,271,271,271,271,271,271,271,187,,,,,,187,,,,,,,,,,,,,,187', '187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187', -'187,187,187,187,187,187,187,187,187,237,,,,,,,,,,,,,,,,,,,,,,,,,237', -',,,237,,237,,,,,,,,,,,,,,237,237,237,237,237,237,237,237,237,237,237', -'237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,237', -'237,237,269,,,,,,,,,,,,,,,,,,,,,,,,,269,,,,,,269,,,,,,,,,,,,,,269,269', -'269,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269,269', -'269,269,269,269,269,269,269,269,269,269,269,157,,,,,,,,,,,,,,157,157', +'187,187,187,187,187,187,187,187,187,187,187,187,238,,,,238,,238,,,,', +',,,,,,,,,238,238,238,238,238,238,238,238,238,238,238,238,238,238,238', +'238,238,238,238,238,238,238,238,238,238,238,238,238,238,238,178,,,,', +',178,,,,,,,,,,,,,,178,178,178,178,178,178,178,178,178,178,178,178,178', +'178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178', +'233,,,,,,233,,,,,,,,,,,,,,233,233,233,233,233,233,233,233,233,233,233', +'233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233,233', +'233,233,157,,,,,,,,,,,,,,157,157,157,157,157,157,157,157,157,157,157', '157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157', -'157,157,157,157,157,157,157,157,157,157,157,69,,,,,,,,,,,,,,69,69,69', -'69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69', -'69,69,69,69,173,,,,,,,,,,,,,,173,173,173,173,173,173,173,173,173,173', +'157,157,69,,,,,,,,,,,,,,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69', +'69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,173,,,,,,,,,,,,,,173,173', '173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173', -'173,173,173,198,198,198,198,198,198,198,198,198,198,198,198,198,198', -'198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,204', +'173,173,173,173,173,173,173,173,173,173,173,201,201,201,201,201,201', +'201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201', +'201,201,201,201,201,201,201,204,204,204,204,204,204,204,204,204,204', '204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204', -'204,204,204,204,204,204,204,204,204,204,204,204,195,195,195,195,195', -'195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195', -'195,195,195,195,195,195,195,195,192,192,192,192,192,192,192,192,192', +'204,204,204,198,198,198,198,198,198,198,198,198,198,198,198,198,198', +'198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,192', '192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192', -'192,192,192,192,201,201,201,201,201,201,201,201,201,201,201,201,201', -'201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201' ] - racc_action_check = arr = Array.new(8594, nil) +'192,192,192,192,192,192,192,192,192,192,192,192,195,195,195,195,195', +'195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195', +'195,195,195,195,195,195,195,195' ] + racc_action_check = arr = Array.new(8445, nil) idx = 0 clist.each do |str| str.split(',', -1).each do |i| @@ -615,34 +611,34 @@ clist = [ racc_action_pointer = [ 2687, 4619, nil, nil, nil, 167, nil, 251, 335, nil, - nil, 419, 503, 193, nil, 671, nil, nil, 755, nil, - nil, nil, nil, 839, -57, 1007, nil, nil, 246, 201, + nil, 419, 503, 179, nil, 671, nil, nil, 755, nil, + nil, nil, nil, 839, -57, 1007, nil, nil, 195, 144, nil, nil, nil, nil, 1259, nil, nil, nil, nil, nil, - 66, 1427, nil, nil, nil, nil, 7408, 81, 1679, 1763, - 132, nil, nil, -2, -3, 2099, 2183, nil, nil, nil, - 160, 1, 2435, 2519, nil, nil, nil, 85, -2, 8323, - 192, 6873, 7860, 3107, 108, -42, nil, 6718, 3443, 3527, - 180, 52, 250, 189, 251, 4031, 101, 4199, 6490, 4367, + 84, 1427, nil, nil, nil, nil, 6414, 108, 1679, 1763, + 132, nil, nil, 399, -3, 2099, 2183, nil, nil, nil, + 116, 1, 2435, 2519, nil, nil, nil, 192, -2, 8174, + -11, 7408, 7836, 3107, 136, 104, nil, 7253, 3443, 3527, + 135, 58, 198, 151, 239, 4031, 66, 4199, 6490, 4367, 4451, 4535, 83, 4703, 4787, 4871, 4955, 6215, 5123, 5207, - 5291, nil, 5375, 5459, nil, 5543, 273, 5711, 5795, 5879, + 5291, nil, 5375, 5459, nil, 5543, 259, 5711, 5795, 5879, 5963, 6047, 6131, 5039, 3275, 2267, 1847, 1343, 923, 2771, - 5627, 4283, 4115, 3947, 3863, nil, nil, 0, nil, 265, - 6949, 245, 3779, 7180, 399, 3695, 118, 65, 3611, nil, - 3359, 216, 105, 3191, nil, nil, 3023, nil, 119, 6414, - 53, 161, nil, nil, 73, 440, -48, 8279, 142, nil, - nil, 2939, -64, 70, nil, 6794, nil, nil, 90, 76, - 2855, 6566, nil, 8367, 930, 1370, 1014, 353, 7785, 7710, - 510, 1360, 8010, 762, 1350, 1098, 442, 8085, 256, 678, - 1195, 76, 8487, 1182, -15, 8457, 1279, -11, 8397, 1266, - 531, 8517, 846, 615, 8427, 594, 269, nil, nil, nil, - nil, 236, 2603, 2351, nil, -40, 174, -61, 7935, 119, - 202, nil, 6262, -73, 180, 102, nil, 0, -3, 2015, - 78, 1931, 7635, nil, nil, nil, nil, 8160, nil, 206, - nil, 1595, 7256, 1511, 7484, nil, 300, nil, nil, nil, - -12, 119, nil, nil, 99, 7025, nil, 7332, 1175, 1091, - nil, nil, 7104, 7560, 384, 147, nil, nil, nil, 8235, - 233, 6642, nil, 587, 149, nil, nil, nil, 6338, nil, - nil ] + 5627, 4283, 4115, 3947, 3863, nil, nil, 97, nil, 230, + 6946, 399, 3779, 7560, 483, 3695, -2, 65, 3611, nil, + 3359, 216, 105, 3191, nil, nil, 3023, nil, 142, 7484, + 186, 161, nil, nil, 6, 440, -50, 8130, 199, nil, + nil, 2939, -73, -7, nil, 6870, nil, nil, 85, 74, + 2855, 6566, nil, 8218, 762, 269, 1098, 1444, 8036, 7711, + 1182, 442, 7636, 678, 1434, 1014, 526, 7936, 245, 594, + 1266, -15, 8338, 1363, -42, 8368, 1279, 203, 8308, 1350, + 515, 8248, 930, 280, 8278, 846, 353, nil, nil, nil, + nil, 185, 2603, 2351, nil, 78, 123, -61, 7786, 149, + 147, nil, 6262, -64, 120, 83, 93, nil, 117, -3, + 2015, -40, 1931, 8086, nil, nil, nil, nil, 7986, nil, + -1, nil, 1595, 6718, 1511, 6794, nil, 300, nil, nil, + nil, 85, nil, 93, nil, nil, 0, 7177, nil, 7329, + 1175, 1091, nil, nil, 7101, 7022, 384, 202, nil, nil, + nil, 7886, 196, 6642, nil, 587, 118, nil, nil, nil, + 6338, nil, nil ] racc_action_default = [ -1, -159, -34, -22, -11, -159, -113, -159, -159, -35, @@ -660,87 +656,89 @@ racc_action_default = [ -159, -159, -159, -159, -159, -154, -156, -159, -150, -152, -159, -159, -121, -122, -8, -121, -159, -112, -121, -102, -159, -159, -159, -159, -98, -101, -121, -99, -46, -42, - -129, -159, -41, -106, -159, -105, -159, -51, -47, -132, - -147, -159, -159, -159, -86, -87, -92, 281, -159, -159, + -159, -159, -41, -106, -159, -105, -159, -51, -47, -132, + -147, -159, -159, -159, -86, -87, -92, 283, -159, -159, -159, -5, -133, -85, -72, -61, -73, -62, -157, -83, -74, -63, -84, -75, -64, -76, -65, -158, -159, -77, -66, -55, -78, -67, -56, -79, -68, -57, -80, -69, -58, -81, -70, -59, -82, -71, -60, -153, -149, -155, -151, -159, -159, -159, -120, -159, -159, -159, -38, -114, - -159, -100, -159, -159, -159, -127, -104, -159, -159, -159, - -159, -159, -148, -117, -23, -137, -135, -138, -134, -159, - -143, -159, -124, -159, -123, -126, -159, -115, -103, -116, - -159, -159, -108, -107, -159, -39, -110, -40, -159, -159, - -144, -140, -159, -125, -159, -159, -130, -128, -109, -139, - -159, -159, -145, -159, -159, -118, -141, -142, -159, -119, - -146 ] + -159, -100, -159, -159, -159, -159, -127, -104, -159, -159, + -159, -159, -159, -148, -117, -23, -137, -135, -138, -134, + -159, -143, -159, -124, -159, -123, -126, -159, -115, -103, + -116, -159, -128, -159, -108, -107, -159, -39, -110, -40, + -159, -159, -144, -140, -159, -125, -159, -159, -130, -129, + -109, -139, -159, -159, -145, -159, -159, -118, -141, -142, + -159, -119, -146 ] racc_goto_table = [ - 34, 147, 84, 46, 67, 169, 252, 253, 68, 128, - 69, 70, 28, 137, 71, 72, 208, 225, 74, 240, - 129, 75, 239, 126, 76, 125, 77, nil, 81, nil, - nil, nil, nil, 268, 85, 151, nil, 46, 134, 136, - 87, nil, nil, nil, 88, 152, nil, 260, nil, nil, - nil, 130, 139, 139, nil, nil, 40, nil, 148, 149, - nil, 150, nil, nil, nil, 157, 158, nil, nil, nil, + 34, 147, 84, 46, 67, 169, 28, 241, 68, 128, + 69, 70, 208, 152, 71, 72, 226, 129, 74, 254, + 255, 75, 125, 240, 76, 126, 77, nil, 81, nil, + nil, nil, nil, nil, 85, 151, 262, 46, 134, 136, + 87, nil, nil, 137, 88, nil, nil, 270, nil, nil, + nil, 130, 139, 139, nil, nil, nil, nil, 148, 149, + 40, 150, nil, nil, nil, 157, 158, nil, nil, nil, nil, nil, 160, nil, nil, nil, nil, nil, 85, 188, 164, 46, 165, 162, 147, 85, 87, nil, 46, 172, 171, 210, 173, 174, 175, 176, 177, 178, 179, 180, - 181, 182, 183, 184, 220, 185, 186, 209, 187, 238, + 181, 182, 183, 184, 209, 185, 186, 152, 187, 239, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 201, 202, 203, 204, 205, 206, 207, 230, - 219, nil, 134, 139, 163, 139, 139, nil, nil, 152, + 199, 200, 201, 202, 203, 204, 205, 206, 207, 231, + 219, nil, 134, 139, 220, 139, 139, nil, 163, nil, nil, nil, 215, 218, nil, nil, 222, nil, 217, nil, - nil, 227, nil, nil, nil, nil, 223, nil, nil, nil, - nil, nil, nil, 87, 232, nil, nil, 147, nil, nil, - 236, nil, nil, 237, nil, nil, nil, nil, nil, nil, + nil, 228, nil, nil, nil, nil, 223, nil, nil, nil, + nil, nil, nil, 87, 233, nil, nil, 147, nil, nil, + 237, nil, nil, 238, nil, nil, nil, nil, nil, nil, + 152, 152, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 220, - nil, 152, 152, 243, nil, 242, 244, nil, 139, 139, - nil, nil, nil, nil, nil, nil, nil, 220, 254, nil, - 227, nil, 255, nil, 257, 265, nil, nil, 152, nil, - nil, nil, nil, nil, 262, nil, 263, nil, nil, nil, - nil, 266, 267, 274, nil, nil, nil, nil, nil, nil, - 270, 269, 271, 272, 139, nil, nil, nil, nil, nil, - nil, nil, nil, 139, nil, nil, 278, nil, 280 ] + nil, nil, nil, nil, nil, nil, nil, nil, 152, nil, + nil, nil, nil, 244, nil, 243, 245, nil, 139, 139, + nil, nil, nil, nil, nil, nil, 252, nil, nil, 256, + nil, 228, nil, 257, nil, 259, 267, nil, nil, nil, + 220, nil, nil, nil, nil, 264, nil, 265, nil, nil, + nil, nil, 268, nil, 269, 276, nil, nil, nil, 220, + nil, nil, 272, 271, 273, 274, 139, nil, nil, nil, + nil, nil, nil, nil, nil, 139, nil, nil, 280, nil, + 282 ] racc_goto_check = [ - 2, 27, 34, 4, 4, 35, 22, 22, 4, 39, - 4, 4, 1, 28, 4, 4, 38, 33, 4, 37, - 40, 4, 36, 42, 20, 41, 4, nil, 4, nil, - nil, nil, nil, 22, 2, 30, nil, 4, 5, 5, - 2, nil, nil, nil, 4, 19, nil, 37, nil, nil, - nil, 4, 9, 9, nil, nil, 3, nil, 4, 4, - nil, 20, nil, nil, nil, 4, 4, nil, nil, nil, + 2, 27, 34, 4, 4, 35, 1, 37, 4, 39, + 4, 4, 38, 19, 4, 4, 33, 40, 4, 22, + 22, 4, 41, 36, 20, 42, 4, nil, 4, nil, + nil, nil, nil, nil, 2, 30, 37, 4, 5, 5, + 2, nil, nil, 28, 4, nil, nil, 22, nil, nil, + nil, 4, 9, 9, nil, nil, nil, nil, 4, 4, + 3, 20, nil, nil, nil, 4, 4, nil, nil, nil, nil, nil, 20, nil, nil, nil, nil, nil, 2, 34, 20, 4, 4, 32, 27, 2, 2, nil, 4, 20, 4, 39, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 28, 4, 4, 41, 4, 35, + 4, 4, 4, 4, 41, 4, 4, 19, 4, 35, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 20, 30, - 5, nil, 5, 9, 3, 9, 9, nil, nil, 19, + 5, nil, 5, 9, 28, 9, 9, nil, 3, nil, nil, nil, 32, 4, nil, nil, 4, nil, 32, nil, nil, 2, nil, nil, nil, nil, 32, nil, nil, nil, nil, nil, nil, 2, 4, nil, nil, 27, nil, nil, 20, nil, nil, 4, nil, nil, nil, nil, nil, nil, + 19, 19, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, - nil, nil, nil, nil, nil, nil, nil, nil, nil, 28, - nil, 19, 19, 2, nil, 4, 4, nil, 9, 9, - nil, nil, nil, nil, nil, nil, nil, 28, 2, nil, - 2, nil, 4, nil, 4, 5, nil, nil, 19, nil, - nil, nil, nil, nil, 4, nil, 4, nil, nil, nil, - nil, 20, 20, 5, nil, nil, nil, nil, nil, nil, - 20, 4, 4, 20, 9, nil, nil, nil, nil, nil, - nil, nil, nil, 9, nil, nil, 4, nil, 2 ] + nil, nil, nil, nil, nil, nil, nil, nil, 19, nil, + nil, nil, nil, 2, nil, 4, 4, nil, 9, 9, + nil, nil, nil, nil, nil, nil, 20, nil, nil, 2, + nil, 2, nil, 4, nil, 4, 5, nil, nil, nil, + 28, nil, nil, nil, nil, 4, nil, 4, nil, nil, + nil, nil, 20, nil, 20, 5, nil, nil, nil, 28, + nil, nil, 20, 4, 4, 20, 9, nil, nil, nil, + nil, nil, nil, nil, nil, 9, nil, nil, 4, nil, + 2 ] racc_goto_pointer = [ - nil, 12, 0, 56, 3, -11, nil, nil, nil, -1, - nil, nil, nil, nil, nil, nil, nil, nil, nil, -16, - 1, nil, -221, nil, nil, nil, nil, -53, -37, nil, - -26, nil, 10, -133, -27, -79, -189, -192, -111, -38, - -27, -22, -24 ] + nil, 6, 0, 60, 3, -11, nil, nil, nil, -1, + nil, nil, nil, nil, nil, nil, nil, nil, nil, -48, + 1, nil, -209, nil, nil, nil, nil, -53, -7, nil, + -26, nil, 10, -134, -27, -79, -188, -204, -115, -38, + -30, -25, -22 ] racc_goto_default = [ nil, nil, 212, 86, 133, 53, 59, 66, 4, 10, @@ -878,8 +876,8 @@ racc_reduce_table = [ 4, 123, :_reduce_125, 3, 123, :_reduce_126, 3, 103, :_reduce_127, - 5, 103, :_reduce_128, - 0, 124, :_reduce_129, + 4, 103, :_reduce_128, + 5, 103, :_reduce_129, 3, 124, :_reduce_130, 2, 104, :_reduce_131, 3, 117, :_reduce_132, @@ -912,7 +910,7 @@ racc_reduce_table = [ racc_reduce_n = 159 -racc_shift_n = 281 +racc_shift_n = 283 racc_token_table = { false => 0, @@ -1973,16 +1971,16 @@ module_eval(<<'.,.,', 'grammar.y', 285) end .,., -module_eval(<<'.,.,', 'grammar.y', 287) +module_eval(<<'.,.,', 'grammar.y', 286) def _reduce_128(val, _values, result) - result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) + result = TryNode.new(val[1], nil, nil, val[3]) result end .,., -module_eval(<<'.,.,', 'grammar.y', 292) +module_eval(<<'.,.,', 'grammar.y', 288) def _reduce_129(val, _values, result) - result = [nil, nil] + result = TryNode.new(val[1], val[2][0], val[2][1], val[4]) result end .,., diff --git a/test/unit/test_parser.rb b/test/unit/test_parser.rb index e8318501..88305e73 100644 --- a/test/unit/test_parser.rb +++ b/test/unit/test_parser.rb @@ -45,7 +45,7 @@ class ParserTest < Test::Unit::TestCase end def test_parsing_array_comprehension - nodes = @par.parse("i for x, i in [10, 9, 8, 7, 6, 5] if i % 2 is 0").expressions + nodes = @par.parse("i for x, i in [10, 9, 8, 7, 6, 5] when i % 2 is 0").expressions assert nodes.first.is_a? ForNode assert nodes.first.body.literal == 'i' assert nodes.first.filter.operator == '===' @@ -78,6 +78,7 @@ class ParserTest < Test::Unit::TestCase end def test_no_wrapping_parens_around_statements + @par.parse("try thing() catch error fail()").compile assert_raises(SyntaxError) do @par.parse("(try thing() catch error fail())").compile end