Skip to content

Instantly share code, notes, and snippets.

@yorickpeterse
Created May 21, 2016 03:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yorickpeterse/82d5b164b369a40fa2571cf23b626f42 to your computer and use it in GitHub Desktop.
Save yorickpeterse/82d5b164b369a40fa2571cf23b626f42 to your computer and use it in GitHub Desktop.
# line 1 "lib/aeon/lexer.rl"
# line 3 "lib/aeon/lexer.rl"
module Aeon
class Lexer
# line 9 "lib/aeon/lexer.rb"
class << self
attr_accessor :_aeon_lexer_trans_keys
private :_aeon_lexer_trans_keys, :_aeon_lexer_trans_keys=
end
self._aeon_lexer_trans_keys = [
0, 0, 34, 92, 0, 0,
39, 92, 0, 0, 43,
57, 48, 57, 48, 57,
42, 42, 42, 47, 0, 127,
0, 127, 10, 10, 61,
91, 34, 92, 10, 10,
61, 61, 38, 61, 39, 92,
42, 61, 48, 64, 46,
95, 48, 95, 48, 64,
46, 46, 46, 46, 42, 61,
9, 58, 9, 32, 10,
10, 60, 61, 62, 62,
61, 61, 61, 62, 0, 127,
0, 127, 0, 127, 61,
61, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 61,
124, 9, 32, 9, 32,
0, 127, 0, 127, 0
]
class << self
attr_accessor :_aeon_lexer_key_spans
private :_aeon_lexer_key_spans, :_aeon_lexer_key_spans=
end
self._aeon_lexer_key_spans = [
0, 59, 0, 54, 0, 15, 10, 10,
1, 6, 128, 128, 1, 31, 59, 1,
1, 24, 54, 20, 17, 50, 48, 17,
1, 1, 20, 50, 24, 1, 2, 1,
1, 2, 128, 128, 128, 1, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 64, 24, 24,
128, 128
]
class << self
attr_accessor :_aeon_lexer_index_offsets
private :_aeon_lexer_index_offsets, :_aeon_lexer_index_offsets=
end
self._aeon_lexer_index_offsets = [
0, 0, 60, 61, 116, 117, 133, 144,
155, 157, 164, 293, 422, 424, 456, 516,
518, 520, 545, 600, 621, 639, 690, 739,
757, 759, 761, 782, 833, 858, 860, 863,
865, 867, 870, 999, 1128, 1257, 1259, 1388,
1517, 1646, 1775, 1904, 2033, 2162, 2291, 2420,
2549, 2678, 2807, 2936, 3065, 3194, 3323, 3452,
3581, 3710, 3839, 3968, 4097, 4226, 4355, 4484,
4613, 4742, 4871, 5000, 5129, 5258, 5387, 5516,
5645, 5774, 5903, 6032, 6161, 6290, 6419, 6548,
6677, 6806, 6935, 7064, 7193, 7322, 7451, 7580,
7709, 7838, 7967, 8096, 8225, 8354, 8483, 8612,
8741, 8870, 8999, 9128, 9257, 9386, 9451, 9476,
9501, 9630
]
class << self
attr_accessor :_aeon_lexer_indicies
private :_aeon_lexer_indicies, :_aeon_lexer_indicies=
end
self._aeon_lexer_indicies = [
2, 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, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 3, 1, 1, 5, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 6, 4, 4, 8, 7, 8,
7, 7, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 7, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 10,
11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 7, 14, 13, 14, 13, 13,
13, 13, 15, 13, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 18, 17,
17, 19, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 20, 21, 22,
17, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 34, 17,
35, 36, 37, 17, 38, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 40,
17, 41, 42, 16, 17, 43, 44, 45,
46, 47, 48, 16, 16, 49, 16, 16,
50, 51, 52, 16, 53, 16, 54, 55,
56, 57, 16, 16, 16, 16, 16, 58,
59, 60, 17, 17, 16, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 61, 10,
10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 10,
10, 10, 10, 10, 61, 10, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
10, 10, 10, 10, 16, 10, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
10, 10, 10, 10, 10, 16, 18, 62,
64, 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, 65, 63,
2, 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, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 3, 1, 10, 66, 68, 67,
70, 69, 69, 69, 69, 69, 69, 69,
69, 69, 69, 69, 69, 69, 69, 69,
69, 69, 69, 69, 69, 69, 69, 71,
69, 5, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 6, 4,
73, 72, 72, 72, 72, 72, 72, 72,
72, 72, 72, 72, 72, 72, 72, 72,
72, 72, 72, 74, 72, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 75,
75, 75, 76, 75, 75, 77, 75, 79,
78, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 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, 78,
80, 78, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 81, 81, 81, 81, 81, 81, 81,
81, 8, 81, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 82, 82, 82,
83, 84, 82, 85, 82, 87, 86, 89,
88, 13, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 90, 90, 90, 90,
90, 90, 90, 90, 91, 90, 93, 94,
92, 92, 95, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 93, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 96,
92, 93, 94, 92, 92, 95, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92,
93, 92, 94, 97, 99, 100, 98, 102,
101, 104, 103, 106, 107, 105, 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,
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, 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, 108, 62, 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, 62, 62, 62, 62, 62, 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,
110, 109, 109, 109, 109, 109, 109, 109,
109, 109, 109, 109, 109, 109, 109, 108,
108, 108, 108, 108, 108, 108, 108, 108,
108, 109, 109, 109, 109, 109, 110, 109,
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, 109, 109, 109, 108, 109,
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, 109, 109, 109, 109, 108,
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, 111, 111, 111, 111, 111, 111,
111, 111, 111, 111, 111, 111, 111, 111,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 111, 111, 111, 111, 111, 111,
111, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 111, 111, 111, 111, 39,
111, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 39, 39, 39, 39, 39,
39, 39, 39, 111, 111, 111, 111, 111,
39, 113, 112, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 115, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 116, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 16,
16, 16, 117, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 118,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 119, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 120, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 121, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 16, 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, 61, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 61, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 16, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 122, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 16, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 123, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 16, 16,
16, 124, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 125, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 16,
16, 16, 16, 126, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 127, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 128, 16, 16,
16, 16, 16, 16, 16, 16, 16, 129,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 130, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 131, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 16, 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, 61, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 61, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 16, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 132, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 16, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
133, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 134, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 16,
16, 135, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 136, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
137, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 138, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 139, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 16, 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, 61, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 61, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 16, 114, 16, 16, 16, 16, 140,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 16, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
141, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 142, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 143, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
144, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 145, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 146, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 147, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 16, 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, 61, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 61, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 16, 114, 16, 16, 16, 16, 148,
16, 16, 16, 16, 16, 16, 16, 16,
16, 149, 16, 16, 16, 16, 16, 150,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 16, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
151, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 152, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 16,
16, 16, 153, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
154, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
16, 16, 16, 155, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 156, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 16, 16, 16, 16, 157, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 16, 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, 61, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 61, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 16, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 158, 16, 16, 114, 114, 114,
114, 114, 16, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 159,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 160, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 161,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 16,
16, 16, 16, 162, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 163, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 164, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 165, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 16, 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, 61, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 61, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 16, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
166, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 16, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
167, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
168, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
169, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 16,
16, 16, 16, 170, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 171, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
16, 16, 16, 16, 172, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 173, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 174, 16, 16, 16, 16,
16, 16, 175, 16, 114, 114, 114, 114,
114, 16, 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, 61, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 61, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 16, 114, 176, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 177,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 16, 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, 61, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 114, 114, 114,
114, 114, 61, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 16, 114, 16, 16, 16, 16,
16, 16, 16, 16, 178, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 16, 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, 61, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 114, 114,
114, 114, 114, 61, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 16, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
179, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 16, 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, 61, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 114,
114, 114, 114, 114, 61, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 16, 114, 16, 16,
16, 16, 180, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 16, 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, 61,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
114, 114, 114, 114, 114, 61, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 16, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 181, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 16, 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,
61, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 114, 114, 114, 114, 114, 61, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 16, 114,
16, 16, 16, 16, 182, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 16,
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, 61, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 114, 114, 114, 114, 114, 61,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 16,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 183, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
16, 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, 61, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 114, 114, 114, 114, 114,
61, 114, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
16, 114, 16, 16, 16, 16, 184, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 114, 114, 114, 114,
114, 16, 186, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 185, 185, 185, 185, 185, 185, 185,
185, 187, 185, 189, 190, 190, 190, 190,
188, 188, 188, 188, 188, 188, 188, 188,
188, 188, 188, 188, 188, 188, 188, 188,
188, 188, 189, 188, 193, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 192, 192, 192, 192, 192,
192, 192, 192, 193, 192, 196, 196, 196,
196, 196, 196, 196, 196, 196, 195, 195,
195, 195, 195, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 195, 196, 196,
196, 196, 196, 196, 196, 197, 198, 196,
196, 199, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 196, 196, 196, 196, 196, 196,
196, 196, 200, 196, 194, 196, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
196, 196, 196, 196, 196, 194, 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, 201, 201, 201, 202,
201, 201, 201, 201, 201, 201, 201, 201,
201, 201, 201, 201, 201, 201, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
201, 201, 201, 201, 201, 202, 201, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 201, 201, 201, 201, 194, 201, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 194, 194, 194, 194, 194, 194, 194,
194, 201, 201, 201, 201, 201, 194, 0
]
class << self
attr_accessor :_aeon_lexer_trans_targs
private :_aeon_lexer_trans_targs, :_aeon_lexer_trans_targs=
end
self._aeon_lexer_trans_targs = [
10, 1, 10, 2, 3, 10, 4, 10,
6, 22, 10, 21, 10, 8, 9, 10,
11, 10, 10, 12, 13, 14, 15, 16,
17, 18, 10, 10, 19, 20, 10, 23,
24, 26, 27, 30, 32, 33, 34, 36,
10, 10, 37, 38, 39, 43, 47, 50,
58, 62, 67, 69, 76, 79, 81, 86,
92, 99, 10, 101, 10, 10, 10, 10,
10, 10, 15, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 5,
7, 10, 10, 10, 10, 10, 10, 25,
10, 10, 10, 10, 10, 28, 10, 29,
10, 10, 10, 10, 31, 10, 10, 10,
10, 10, 10, 10, 35, 10, 10, 10,
10, 10, 10, 11, 40, 41, 42, 11,
44, 45, 46, 11, 48, 49, 11, 11,
51, 53, 52, 11, 54, 55, 56, 57,
11, 59, 60, 61, 11, 63, 64, 65,
66, 11, 68, 11, 70, 74, 75, 71,
72, 73, 11, 11, 11, 77, 78, 11,
80, 11, 82, 83, 84, 85, 11, 87,
89, 88, 11, 90, 91, 11, 93, 97,
94, 96, 95, 11, 11, 98, 11, 100,
11, 10, 10, 10, 102, 103, 102, 102,
102, 103, 105, 104, 0, 104, 104, 104,
104, 104, 104
]
class << self
attr_accessor :_aeon_lexer_trans_actions
private :_aeon_lexer_trans_actions, :_aeon_lexer_trans_actions=
end
self._aeon_lexer_trans_actions = [
1, 0, 2, 0, 0, 3, 0, 4,
0, 5, 6, 7, 8, 0, 0, 9,
12, 13, 14, 0, 0, 15, 16, 0,
0, 15, 17, 18, 0, 0, 19, 0,
0, 15, 0, 0, 0, 0, 0, 0,
20, 21, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 22, 0, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 0,
0, 42, 43, 44, 45, 46, 47, 0,
48, 49, 50, 51, 52, 0, 53, 0,
54, 55, 56, 57, 0, 58, 59, 60,
61, 62, 63, 64, 0, 65, 66, 67,
68, 69, 70, 71, 0, 0, 0, 72,
0, 0, 0, 73, 0, 0, 74, 75,
0, 0, 0, 76, 0, 0, 0, 0,
77, 0, 0, 0, 78, 0, 0, 0,
0, 79, 0, 80, 0, 0, 0, 0,
0, 0, 81, 82, 83, 0, 0, 84,
0, 85, 0, 0, 0, 0, 86, 0,
0, 0, 87, 0, 0, 88, 0, 0,
0, 0, 0, 89, 90, 0, 91, 0,
92, 93, 94, 95, 96, 97, 98, 99,
100, 101, 0, 102, 0, 103, 104, 105,
106, 107, 108
]
class << self
attr_accessor :_aeon_lexer_to_state_actions
private :_aeon_lexer_to_state_actions, :_aeon_lexer_to_state_actions=
end
self._aeon_lexer_to_state_actions = [
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 10, 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, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 10, 0,
10, 0
]
class << self
attr_accessor :_aeon_lexer_from_state_actions
private :_aeon_lexer_from_state_actions, :_aeon_lexer_from_state_actions=
end
self._aeon_lexer_from_state_actions = [
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 11, 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, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 11, 0,
11, 0
]
class << self
attr_accessor :_aeon_lexer_eof_trans
private :_aeon_lexer_eof_trans, :_aeon_lexer_eof_trans=
end
self._aeon_lexer_eof_trans = [
0, 1, 1, 1, 1, 8, 11, 8,
13, 13, 0, 11, 63, 64, 63, 11,
68, 70, 63, 73, 76, 79, 82, 83,
87, 89, 91, 63, 98, 98, 99, 102,
104, 106, 63, 110, 112, 113, 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,
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, 186, 0, 192,
0, 202
]
class << self
attr_accessor :aeon_lexer_start
end
self.aeon_lexer_start = 10;
class << self
attr_accessor :aeon_lexer_first_final
end
self.aeon_lexer_first_final = 10;
class << self
attr_accessor :aeon_lexer_error
end
self.aeon_lexer_error = 0;
class << self
attr_accessor :aeon_lexer_en_line_start
end
self.aeon_lexer_en_line_start = 102;
class << self
attr_accessor :aeon_lexer_en_compile_flag
end
self.aeon_lexer_en_compile_flag = 104;
class << self
attr_accessor :aeon_lexer_en_main
end
self.aeon_lexer_en_main = 10;
# line 6 "lib/aeon/lexer.rl"
# % fix highlight
def initialize(data)
@data = data
@ts = 0
@te = 0
@top = 0
@cs = self.class.aeon_lexer_start
@act = 0
@eof = @data.bytesize
@p = 0
@pe = @eof
@emit_unindent_eol = false
@emit_indent = false
@indent_stack = []
@curly_count = 0
@line = 1
@column = 1
end
def lex
token = nil
_aeon_lexer_eof_trans = self.class.send(:_aeon_lexer_eof_trans)
_aeon_lexer_from_state_actions = self.class.send(:_aeon_lexer_from_state_actions)
_aeon_lexer_index_offsets = self.class.send(:_aeon_lexer_index_offsets)
_aeon_lexer_indicies = self.class.send(:_aeon_lexer_indicies)
_aeon_lexer_key_spans = self.class.send(:_aeon_lexer_key_spans)
_aeon_lexer_to_state_actions = self.class.send(:_aeon_lexer_to_state_actions)
_aeon_lexer_trans_actions = self.class.send(:_aeon_lexer_trans_actions)
_aeon_lexer_trans_keys = self.class.send(:_aeon_lexer_trans_keys)
_aeon_lexer_trans_targs = self.class.send(:_aeon_lexer_trans_targs)
# line 1520 "lib/aeon/lexer.rb"
begin
testEof = false
_slen, _trans, _keys, _inds, _acts, _nacts = nil
_goto_level = 0
_resume = 10
_eof_trans = 15
_again = 20
_test_eof = 30
_out = 40
while true
if _goto_level <= 0
if @p == @pe
_goto_level = _test_eof
next
end
if @cs == 0
_goto_level = _out
next
end
end
if _goto_level <= _resume
case _aeon_lexer_from_state_actions[ @cs]
when 11 then
# line 1 "NONE"
begin
@ts = @p
end
# line 1548 "lib/aeon/lexer.rb"
end
_keys = @cs << 1
_inds = _aeon_lexer_index_offsets[ @cs]
_slen = _aeon_lexer_key_spans[ @cs]
_wide = ( (@data.getbyte(@p) || 0))
_trans = if ( _slen > 0 &&
_aeon_lexer_trans_keys[_keys] <= _wide &&
_wide <= _aeon_lexer_trans_keys[_keys + 1]
) then
_aeon_lexer_indicies[ _inds + _wide - _aeon_lexer_trans_keys[_keys] ]
else
_aeon_lexer_indicies[ _inds + _slen ]
end
end
if _goto_level <= _eof_trans
@cs = _aeon_lexer_trans_targs[_trans]
if _aeon_lexer_trans_actions[_trans] != 0
case _aeon_lexer_trans_actions[_trans]
when 15 then
# line 1 "NONE"
begin
@te = @p+1
end
when 100 then
# line 231 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
indent = (@te - @ts) - 1
last = @indent_stack.last || 0
# We only want to emit an indent when explicitly told. This allows
# for code such as:
#
# foo
# .bar
# .baz
#
# Which will then be treated as:
#
# foo.bar.baz
if @emit_indent
@emit_indent = false
if indent > last
token = indent_token(:Indent)
@indent_stack.push(indent)
end
elsif indent < last
token = indent_token(:Unindent)
@indent_stack.pop
end
@column += indent
@p = @p - 1;
@cs = 10;
if token
begin
@p += 1
_goto_level = _out
next
end
end
end
end
when 96 then
# line 270 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
last = @indent_stack.last || 0
if last > 0
token = indent_token(:Unindent)
@indent_stack.pop
@p = @p - 1;
begin
@p += 1
_goto_level = _out
next
end
else
@p = @p - 1;
@cs = 10;
end
end
end
when 98 then
# line 287 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
@p = @p - 1;
@cs = 10;
end
end
when 99 then
# line 1 "NONE"
begin
case @act
when 1 then
begin begin @p = (( @te))-1; end
indent = (@te - @ts) - 1
last = @indent_stack.last || 0
# We only want to emit an indent when explicitly told. This allows
# for code such as:
#
# foo
# .bar
# .baz
#
# Which will then be treated as:
#
# foo.bar.baz
if @emit_indent
@emit_indent = false
if indent > last
token = indent_token(:Indent)
@indent_stack.push(indent)
end
elsif indent < last
token = indent_token(:Unindent)
@indent_stack.pop
end
@column += indent
@p = @p - 1;
@cs = 10;
if token
begin
@p += 1
_goto_level = _out
next
end
end
end
when 3 then
begin begin @p = (( @te))-1; end
@p = @p - 1;
@cs = 10;
end
end
end
when 102 then
# line 294 "lib/aeon/lexer.rl"
begin
@te = @p+1
end
when 108 then
# line 144 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Identifier)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 103 then
# line 179 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ParenOpen)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 104 then
# line 184 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ParenClose)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 105 then
# line 174 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Comma)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 106 then
# line 301 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:CompileFlagClose)
@cs = 10;
begin
@p += 1
_goto_level = _out
next
end
end
end
when 107 then
# line 144 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Identifier)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 28 then
# line 311 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:CompileFlagOpen)
@cs = 104;
begin
@p += 1
_goto_level = _out
next
end
end
end
when 9 then
# line 428 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = offset_token(:Docstring, @ts + 2, @te - 2, 4)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 2 then
# line 443 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = string_token("\\\"", "\"", :DoubleString)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 3 then
# line 448 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = string_token("\\'", "'", :SingleString)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 66 then
# line 453 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = offset_token(:InstanceVariable, @ts + 1, @te, 1)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 24 then
# line 144 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Identifier)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 54 then
# line 465 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ColonColon)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 45 then
# line 470 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Arrow)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 17 then
# line 179 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ParenOpen)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 18 then
# line 184 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ParenClose)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 20 then
# line 478 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:BrackOpen)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 21 then
# line 483 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:BrackClose)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 39 then
# line 488 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:PlusAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 44 then
# line 493 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:MinAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 51 then
# line 498 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:DivAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 31 then
# line 503 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ModAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 37 then
# line 508 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:MulAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 69 then
# line 513 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:BitwiseExclOrAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 94 then
# line 518 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:PipeAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 34 then
# line 523 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:AmpersandAssign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 27 then
# line 528 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:NotEqual)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 59 then
# line 533 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Compare)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 61 then
# line 548 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Equal)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 19 then
# line 174 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Comma)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 40 then
# line 570 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:PlusPrefix)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 46 then
# line 575 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:MinusPrefix)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 33 then
# line 595 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:And)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 95 then
# line 600 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Or)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 49 then
# line 620 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:RangeExcl)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 63 then
# line 630 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:GreaterEqual)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 36 then
# line 635 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:Power)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 57 then
# line 645 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ShiftLeft)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 64 then
# line 650 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:ShiftRight)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 22 then
# line 665 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:CurlyOpen)
@curly_count += 1
begin
@p += 1
_goto_level = _out
next
end
end
end
when 23 then
# line 673 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
token = token(:CurlyClose)
@curly_count -= 1
begin
@p += 1
_goto_level = _out
next
end
end
end
when 52 then
# line 682 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
if @curly_count == 0
@emit_unindent_eol = true
token = indent_token(:Indent)
@column += (@te - @ts) - 1
else
token = offset_token(:Colon, @ts, @ts + 1, 0)
# The above return token already increments the column by 1,
# so we have to manually add one _less_.
@column += (@te - @ts) - 2
end
@p = @p - 1;
begin
@p += 1
_goto_level = _out
next
end
end
end
when 53 then
# line 703 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
if @curly_count > 0
token = offset_token(:Colon, @ts, @ts + 1, 0)
end
@line += 1;
@column = 1;
if token
begin
@p += 1
_goto_level = _out
next
end
elsif @curly_count == 0
@emit_indent = true
@cs = 102;
end
end
end
when 14 then
# line 114 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
if @emit_unindent_eol
@emit_unindent_eol = false
token = indent_token(:Unindent)
end
@line += 1;
@column = 1;
@cs = 102;
if token
begin
@p += 1
_goto_level = _out
next
end
end
end
end
when 13 then
# line 131 "lib/aeon/lexer.rl"
begin
@te = @p+1
begin
@column += 1
end
end
when 41 then
# line 433 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Integer)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 42 then
# line 438 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Float)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 65 then
# line 453 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = offset_token(:InstanceVariable, @ts + 1, @te, 1)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 70 then
# line 144 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Identifier)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 67 then
# line 460 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Constant)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 26 then
# line 538 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Not)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 60 then
# line 543 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Assign)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 47 then
# line 555 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Dot)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 38 then
# line 560 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Plus)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 43 then
# line 565 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Minus)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 50 then
# line 580 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Div)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 30 then
# line 585 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Modulo)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 35 then
# line 590 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Star)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 93 then
# line 605 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Pipe)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 32 then
# line 610 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Ampersand)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 48 then
# line 615 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:RangeInc)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 58 then
# line 625 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:LowerEqual)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 68 then
# line 640 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:BitwiseExclOr)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 56 then
# line 655 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Lower)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 62 then
# line 660 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
token = token(:Greater)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 55 then
# line 682 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
if @curly_count == 0
@emit_unindent_eol = true
token = indent_token(:Indent)
@column += (@te - @ts) - 1
else
token = offset_token(:Colon, @ts, @ts + 1, 0)
# The above return token already increments the column by 1,
# so we have to manually add one _less_.
@column += (@te - @ts) - 2
end
@p = @p - 1;
begin
@p += 1
_goto_level = _out
next
end
end
end
when 25 then
# line 131 "lib/aeon/lexer.rl"
begin
@te = @p
@p = @p - 1; begin
@column += 1
end
end
when 4 then
# line 433 "lib/aeon/lexer.rl"
begin
begin @p = (( @te))-1; end
begin
token = token(:Integer)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 8 then
# line 580 "lib/aeon/lexer.rl"
begin
begin @p = (( @te))-1; end
begin
token = token(:Div)
begin
@p += 1
_goto_level = _out
next
end
end
end
when 1 then
# line 131 "lib/aeon/lexer.rl"
begin
begin @p = (( @te))-1; end
begin
@column += 1
end
end
when 6 then
# line 1 "NONE"
begin
case @act
when 12 then
begin begin @p = (( @te))-1; end
token = token(:Trait)
begin
@p += 1
_goto_level = _out
next
end
end
when 13 then
begin begin @p = (( @te))-1; end
token = token(:Class)
begin
@p += 1
_goto_level = _out
next
end
end
when 14 then
begin begin @p = (( @te))-1; end
token = token(:Extends)
begin
@p += 1
_goto_level = _out
next
end
end
when 15 then
begin begin @p = (( @te))-1; end
token = token(:Module)
begin
@p += 1
_goto_level = _out
next
end
end
when 16 then
begin begin @p = (( @te))-1; end
token = token(:Def)
begin
@p += 1
_goto_level = _out
next
end
end
when 17 then
begin begin @p = (( @te))-1; end
token = token(:Enum)
begin
@p += 1
_goto_level = _out
next
end
end
when 18 then
begin begin @p = (( @te))-1; end
token = token(:Member)
begin
@p += 1
_goto_level = _out
next
end
end
when 19 then
begin begin @p = (( @te))-1; end
token = token(:Use)
begin
@p += 1
_goto_level = _out
next
end
end
when 20 then
begin begin @p = (( @te))-1; end
token = token(:Import)
begin
@p += 1
_goto_level = _out
next
end
end
when 21 then
begin begin @p = (( @te))-1; end
token = token(:As)
begin
@p += 1
_goto_level = _out
next
end
end
when 22 then
begin begin @p = (( @te))-1; end
token = token(:Let)
begin
@p += 1
_goto_level = _out
next
end
end
when 23 then
begin begin @p = (( @te))-1; end
token = token(:Mutable)
begin
@p += 1
_goto_level = _out
next
end
end
when 24 then
begin begin @p = (( @te))-1; end
token = token(:Return)
begin
@p += 1
_goto_level = _out
next
end
end
when 25 then
begin begin @p = (( @te))-1; end
token = token(:Super)
begin
@p += 1
_goto_level = _out
next
end
end
when 26 then
begin begin @p = (( @te))-1; end
token = token(:Break)
begin
@p += 1
_goto_level = _out
next
end
end
when 27 then
begin begin @p = (( @te))-1; end
token = token(:Next)
begin
@p += 1
_goto_level = _out
next
end
end
when 28 then
begin begin @p = (( @te))-1; end
token = token(:Public)
begin
@p += 1
_goto_level = _out
next
end
end
when 29 then
begin begin @p = (( @te))-1; end
token = token(:Dynamic)
begin
@p += 1
_goto_level = _out
next
end
end
when 30 then
begin begin @p = (( @te))-1; end
token = token(:Type)
begin
@p += 1
_goto_level = _out
next
end
end
when 31 then
begin begin @p = (( @te))-1; end
token = token(:True)
begin
@p += 1
_goto_level = _out
next
end
end
when 32 then
begin begin @p = (( @te))-1; end
token = token(:False)
begin
@p += 1
_goto_level = _out
next
end
end
when 33 then
begin begin @p = (( @te))-1; end
token = token(:Self)
begin
@p += 1
_goto_level = _out
next
end
end
when 35 then
begin begin @p = (( @te))-1; end
token = token(:Integer)
begin
@p += 1
_goto_level = _out
next
end
end
when 36 then
begin begin @p = (( @te))-1; end
token = token(:Float)
begin
@p += 1
_goto_level = _out
next
end
end
when 40 then
begin begin @p = (( @te))-1; end
token = token(:Identifier)
begin
@p += 1
_goto_level = _out
next
end
end
when 89 then
begin begin @p = (( @te))-1; end
@column += 1
end
else
begin begin @p = (( @te))-1; end
end
end
end
when 101 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 231 "lib/aeon/lexer.rl"
begin
@act = 1; end
when 97 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 287 "lib/aeon/lexer.rl"
begin
@act = 3; end
when 29 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 309 "lib/aeon/lexer.rl"
begin
@act = 10; end
when 89 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 317 "lib/aeon/lexer.rl"
begin
@act = 12; end
when 73 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 322 "lib/aeon/lexer.rl"
begin
@act = 13; end
when 77 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 327 "lib/aeon/lexer.rl"
begin
@act = 14; end
when 82 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 332 "lib/aeon/lexer.rl"
begin
@act = 15; end
when 74 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 337 "lib/aeon/lexer.rl"
begin
@act = 16; end
when 76 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 342 "lib/aeon/lexer.rl"
begin
@act = 17; end
when 81 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 347 "lib/aeon/lexer.rl"
begin
@act = 18; end
when 92 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 352 "lib/aeon/lexer.rl"
begin
@act = 19; end
when 79 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 357 "lib/aeon/lexer.rl"
begin
@act = 20; end
when 71 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 362 "lib/aeon/lexer.rl"
begin
@act = 21; end
when 80 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 367 "lib/aeon/lexer.rl"
begin
@act = 22; end
when 83 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 373 "lib/aeon/lexer.rl"
begin
@act = 23; end
when 86 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 378 "lib/aeon/lexer.rl"
begin
@act = 24; end
when 88 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 383 "lib/aeon/lexer.rl"
begin
@act = 25; end
when 72 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 388 "lib/aeon/lexer.rl"
begin
@act = 26; end
when 84 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 393 "lib/aeon/lexer.rl"
begin
@act = 27; end
when 85 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 398 "lib/aeon/lexer.rl"
begin
@act = 28; end
when 75 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 403 "lib/aeon/lexer.rl"
begin
@act = 29; end
when 91 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 408 "lib/aeon/lexer.rl"
begin
@act = 30; end
when 90 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 413 "lib/aeon/lexer.rl"
begin
@act = 31; end
when 78 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 418 "lib/aeon/lexer.rl"
begin
@act = 32; end
when 87 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 423 "lib/aeon/lexer.rl"
begin
@act = 33; end
when 7 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 433 "lib/aeon/lexer.rl"
begin
@act = 35; end
when 5 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 438 "lib/aeon/lexer.rl"
begin
@act = 36; end
when 12 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 144 "lib/aeon/lexer.rl"
begin
@act = 40; end
when 16 then
# line 1 "NONE"
begin
@te = @p+1
end
# line 131 "lib/aeon/lexer.rl"
begin
@act = 89; end
# line 3258 "lib/aeon/lexer.rb"
end
end
end
if _goto_level <= _again
case _aeon_lexer_to_state_actions[ @cs]
when 10 then
# line 1 "NONE"
begin
@ts = nil; end
# line 3268 "lib/aeon/lexer.rb"
end
if @cs == 0
_goto_level = _out
next
end
@p += 1
if @p != @pe
_goto_level = _resume
next
end
end
if _goto_level <= _test_eof
if @p == @eof
if _aeon_lexer_eof_trans[ @cs] > 0
_trans = _aeon_lexer_eof_trans[ @cs] - 1;
_goto_level = _eof_trans
next;
end
end
end
if _goto_level <= _out
break
end
end
end
# line 43 "lib/aeon/lexer.rl"
# % fix highlight
return token if token
if @emit_unindent_eol
@emit_unindent_eol = false
return indent_token(:Unindent)
end
while @indent_stack.length > 0
@indent_stack.pop
return indent_token(:Unindent)
end
nil
end
private
def to_string(start, stop)
return @data.byteslice(start, stop - start)
end
def new_token(type, value, length)
token = Token.new(type, value, @line, @column)
@column += length
token
end
def token(type)
value = to_string(@ts, @te)
length = value.length
new_token(type, value, length)
end
def offset_token(type, start, stop, offset)
value = to_string(start, stop)
length = value.length + offset
new_token(type, value, length)
end
def string_token(find, replace, type)
slice = to_string(@ts + 1, @te - 1)
length = slice.length + 2
string = slice.gsub(find, replace)
new_token(type, string, length)
end
def indent_token(type)
Token.new(type, '', @line, @column)
end
# line 723 "lib/aeon/lexer.rl"
end
end
# This file is automatically generated by ruby-ll. Manually changing this file
# is not recommended as any changes will be lost the next time this parser is
# re-generated.
require 'll/setup'
module Aeon
class Parser < LL::Driver
CONFIG = LL::DriverConfig.new
CONFIG.terminals = [
:$EOF, # 0
:Arrow, # 1
:BrackClose, # 2
:BrackOpen, # 3
:Colon, # 4
:ColonColon, # 5
:Comma, # 6
:Constant, # 7
:CurlyClose, # 8
:CurlyOpen, # 9
:Docstring, # 10
:Dot, # 11
:Assign, # 12
:Float, # 13
:Greater, # 14
:Identifier, # 15
:InstanceVariable, # 16
:Integer, # 17
:Lower, # 18
:ParenClose, # 19
:ParenOpen, # 20
:Pipe, # 21
:Equal, # 22
:Trait, # 23
:Class, # 24
:Def, # 25
:Enum, # 26
:Use, # 27
:Import, # 28
:As, # 29
:Let, # 30
:Mutable, # 31
:Return, # 32
:Super, # 33
:Break, # 34
:Next, # 35
:Public, # 36
:Dynamic, # 37
:Indent, # 38
:Unindent, # 39
:True, # 40
:False, # 41
:Member, # 42
:Plus, # 43
:Minus, # 44
:Modulo, # 45
:Div, # 46
:Star, # 47
:And, # 48
:Or, # 49
:Ampersand, # 50
:LowerEqual, # 51
:GreaterEqual, # 52
:Power, # 53
:PlusAssign, # 54
:MinAssign, # 55
:DivAssign, # 56
:ModAssign, # 57
:MulAssign, # 58
:PipeAssign, # 59
:AmpersandAssign, # 60
:Compare, # 61
:Not, # 62
:NotEqual, # 63
:RangeInc, # 64
:RangeExcl, # 65
:BitwiseExclOr, # 66
:BitwiseExclOrAssign, # 67
:ShiftLeft, # 68
:ShiftRight, # 69
:Type, # 70
:PlusPrefix, # 71
:MinPrefix, # 72
:Module, # 73
:Self, # 74
:SingleString, # 75
:DoubleString, # 76
:Extends, # 77
:CompileFlagOpen, # 78
:CompileFlagClose, # 79
].freeze
CONFIG.rules = [
[3, 0, 4, 119, 6, 0], # 0
[3, 1, 0, 2], # 1
[3, 2, 4, 120, 6, 0, 0, 4], # 2
[3, 3, 0, 4, 1, 49], # 3
[3, 4, 4, 121, 6, 0, 0, 6], # 4
[3, 5, 0, 6, 1, 48], # 5
[3, 6, 4, 122, 6, 0, 0, 9], # 6
[3, 7, 0, 9, 0, 8], # 7
[3, 8, 1, 61], # 8
[3, 9, 1, 22], # 9
[3, 10, 1, 63], # 10
[3, 11, 4, 123, 6, 0, 0, 12], # 11
[3, 12, 0, 12, 0, 11], # 12
[3, 13, 1, 51], # 13
[3, 14, 1, 18], # 14
[3, 15, 1, 14], # 15
[3, 16, 1, 52], # 16
[3, 17, 4, 124, 6, 0, 0, 15], # 17
[3, 18, 0, 15, 0, 14], # 18
[3, 19, 1, 21], # 19
[3, 20, 1, 66], # 20
[3, 21, 4, 125, 6, 0, 0, 17], # 21
[3, 22, 0, 17, 1, 50], # 22
[3, 23, 4, 126, 6, 0, 0, 20], # 23
[3, 24, 0, 20, 0, 19], # 24
[3, 25, 1, 68], # 25
[3, 26, 1, 69], # 26
[3, 27, 4, 127, 6, 0, 0, 23], # 27
[3, 28, 0, 23, 0, 22], # 28
[3, 29, 1, 43], # 29
[3, 30, 1, 44], # 30
[3, 31, 4, 128, 6, 0, 0, 26], # 31
[3, 32, 0, 26, 0, 25], # 32
[3, 33, 1, 46], # 33
[3, 34, 1, 45], # 34
[3, 35, 1, 47], # 35
[3, 36, 4, 129, 6, 0, 0, 28], # 36
[3, 37, 0, 28, 1, 53], # 37
[3, 38, 8, 130, 0, 30], # 38
[3, 39, 0, 1, 1, 64], # 39
[3, 40, 8, 131, 1, 65], # 40
[3, 41, 0, 32, 0, 31], # 41
[3, 42, 0, 32], # 42
[3, 43, 1, 62], # 43
[3, 44, 1, 43], # 44
[3, 45, 1, 44], # 45
[3, 46, 0, 33, 0, 36], # 46
[3, 47, 4, 132, 6, 0, 0, 34], # 47
[3, 48, 2, 0], # 48
[3, 49, 8, 133, 0, 35, 1, 11], # 49
[3, 50, 1, 15], # 50
[3, 51, 1, 24], # 51
[3, 52, 1, 23], # 52
[3, 53, 1, 26], # 53
[3, 54, 1, 73], # 54
[3, 55, 0, 37], # 55
[3, 56, 0, 38], # 56
[3, 57, 0, 39], # 57
[3, 58, 0, 40], # 58
[3, 59, 0, 43], # 59
[3, 60, 0, 55], # 60
[3, 61, 0, 60], # 61
[3, 62, 1, 19, 0, 0, 1, 20], # 62
[3, 63, 0, 62], # 63
[3, 64, 0, 48], # 64
[3, 65, 0, 66], # 65
[3, 66, 0, 67], # 66
[3, 67, 0, 68], # 67
[3, 68, 0, 84], # 68
[3, 69, 0, 85], # 69
[3, 70, 0, 87], # 70
[3, 71, 0, 88], # 71
[3, 72, 0, 97], # 72
[3, 73, 0, 106], # 73
[3, 74, 0, 108], # 74
[3, 75, 0, 114], # 75
[3, 76, 0, 115], # 76
[3, 77, 0, 116], # 77
[3, 78, 1, 17], # 78
[3, 79, 1, 13], # 79
[3, 80, 1, 75], # 80
[3, 81, 1, 76], # 81
[3, 82, 1, 2, 8, 134, 1, 3], # 82
[3, 83, 4, 135, 6, 0, 0, 1], # 83
[3, 84, 0, 1, 1, 6], # 84
[3, 85, 1, 8, 8, 136, 1, 9], # 85
[3, 86, 4, 137, 6, 0, 0, 46], # 86
[3, 87, 0, 46, 1, 6], # 87
[3, 88, 0, 1, 1, 4, 0, 1], # 88
[3, 89, 1, 15], # 89
[3, 90, 1, 7], # 90
[3, 91, 1, 16], # 91
[3, 92, 1, 7], # 92
[3, 93, 1, 15], # 93
[3, 94, 1, 37], # 94
[3, 95, 4, 138, 6, 0, 0, 47], # 95
[3, 96, 4, 139, 6, 0, 0, 47, 1, 5], # 96
[3, 97, 0, 54, 1, 5], # 97
[3, 98, 0, 47], # 98
[3, 99, 1, 24], # 99
[3, 100, 1, 23], # 100
[3, 101, 1, 26], # 101
[3, 102, 1, 73], # 102
[3, 103, 8, 140, 0, 52], # 103
[3, 104, 0, 57], # 104
[3, 105, 0, 65], # 105
[3, 106, 8, 142, 1, 19, 8, 141, 1, 20], # 106
[3, 107, 0, 61], # 107
[3, 108, 4, 143, 6, 0, 0, 1], # 108
[3, 109, 0, 1, 1, 6], # 109
[3, 110, 1, 39, 0, 0, 1, 38, 8, 145, 8, 144, 1, 1], # 110
[3, 111, 0, 60], # 111
[3, 112, 1, 39, 0, 0, 1, 38], # 112
[3, 113, 0, 63, 8, 146, 1, 30], # 113
[3, 114, 0, 81, 8, 147, 0, 52], # 114
[3, 115, 0, 81, 0, 48], # 115
[3, 116, 0, 81, 0, 64, 0, 51], # 116
[3, 117, 0, 47], # 117
[3, 118, 0, 48], # 118
[3, 119, 0, 1, 1, 12], # 119
[3, 120, 0, 1, 1, 54], # 120
[3, 121, 0, 1, 1, 55], # 121
[3, 122, 0, 1, 1, 56], # 122
[3, 123, 0, 1, 1, 57], # 123
[3, 124, 0, 1, 1, 58], # 124
[3, 125, 0, 1, 1, 67], # 125
[3, 126, 0, 1, 1, 59], # 126
[3, 127, 0, 1, 1, 60], # 127
[3, 128, 8, 148, 1, 32], # 128
[3, 129, 8, 149, 1, 33], # 129
[3, 130, 1, 34], # 130
[3, 131, 1, 35], # 131
[3, 132, 1, 40], # 132
[3, 133, 1, 41], # 133
[3, 134, 8, 152, 8, 151, 0, 76, 8, 150, 0, 69, 0, 75], # 134
[3, 135, 8, 153, 0, 70], # 135
[3, 136, 0, 73], # 136
[3, 137, 0, 52], # 137
[3, 138, 0, 115], # 138
[3, 139, 0, 72, 1, 11], # 139
[3, 140, 0, 52], # 140
[3, 141, 0, 73], # 141
[3, 142, 1, 47], # 142
[3, 143, 1, 43], # 143
[3, 144, 1, 44], # 144
[3, 145, 1, 46], # 145
[3, 146, 1, 45], # 146
[3, 147, 1, 50], # 147
[3, 148, 1, 51], # 148
[3, 149, 1, 52], # 149
[3, 150, 1, 22], # 150
[3, 151, 1, 63], # 151
[3, 152, 1, 53], # 152
[3, 153, 1, 61], # 153
[3, 154, 1, 66], # 154
[3, 155, 1, 68], # 155
[3, 156, 1, 69], # 156
[3, 157, 1, 21], # 157
[3, 158, 1, 71], # 158
[3, 159, 1, 72], # 159
[3, 160, 1, 24], # 160
[3, 161, 1, 23], # 161
[3, 162, 1, 26], # 162
[3, 163, 1, 73], # 163
[3, 164, 1, 39, 0, 0, 1, 38], # 164
[3, 165, 1, 25, 1, 36], # 165
[3, 166, 1, 25], # 166
[3, 167, 1, 19, 8, 154, 1, 20], # 167
[3, 168, 2, 0], # 168
[3, 169, 4, 155, 6, 0, 0, 79], # 169
[3, 170, 0, 79, 1, 6], # 170
[3, 171, 8, 157, 8, 156, 0, 107], # 171
[3, 172, 8, 158, 1, 15], # 172
[3, 173, 0, 81], # 173
[3, 174, 0, 1, 1, 12], # 174
[3, 175, 0, 83, 1, 1], # 175
[3, 176, 0, 107], # 176
[3, 177, 0, 115], # 177
[3, 178, 1, 10], # 178
[3, 179, 1, 39, 0, 0, 1, 38, 8, 159, 0, 107, 1, 24], # 179
[3, 180, 0, 107, 1, 77], # 180
[3, 181, 1, 39, 0, 0, 1, 38, 0, 107, 1, 23], # 181
[3, 182, 1, 39, 0, 89, 1, 38, 0, 107, 1, 26], # 182
[3, 183, 4, 160, 6, 0], # 183
[3, 184, 0, 1], # 184
[3, 185, 0, 91], # 185
[3, 186, 8, 161, 1, 7, 1, 42], # 186
[3, 187, 0, 94], # 187
[3, 188, 0, 93], # 188
[3, 189, 0, 37, 1, 12], # 189
[3, 190, 1, 19, 0, 95, 1, 20], # 190
[3, 191, 4, 162, 6, 0, 0, 49], # 191
[3, 192, 0, 49, 1, 6], # 192
[3, 193, 8, 163, 0, 52, 1, 28], # 193
[3, 194, 1, 19, 0, 99, 1, 20], # 194
[3, 195, 4, 164, 6, 0, 0, 101], # 195
[3, 196, 0, 101, 1, 6], # 196
[3, 197, 0, 102], # 197
[3, 198, 0, 104], # 198
[3, 199, 8, 165, 0, 49], # 199
[3, 200, 0, 49, 1, 29], # 200
[3, 201, 8, 166, 0, 50], # 201
[3, 202, 0, 50, 1, 29], # 202
[3, 203, 8, 167, 0, 107, 1, 27], # 203
[3, 204, 8, 169, 8, 168, 0, 52], # 204
[3, 205, 0, 107, 1, 12, 0, 107, 1, 70], # 205
[3, 206, 1, 14, 0, 110, 1, 18], # 206
[3, 207, 4, 170, 6, 0, 0, 112], # 207
[3, 208, 0, 112, 1, 6], # 208
[3, 209, 8, 171, 0, 107], # 209
[3, 210, 0, 107, 1, 12], # 210
[3, 211, 1, 39, 0, 0, 1, 38, 0, 50, 1, 73], # 211
[3, 212, 1, 74], # 212
[3, 213, 1, 79, 8, 172, 1, 15, 1, 78], # 213
[3, 214, 1, 19, 4, 173, 6, 0, 1, 15, 1, 20], # 214
[3, 215, 1, 15, 1, 6], # 215
[3, 216, 0, 1], # 216
[3, 217, 0, 3], # 217
[3, 218, 0, 5], # 218
[3, 219, 0, 7], # 219
[3, 220, 0, 10], # 220
[3, 221, 0, 13], # 221
[3, 222, 0, 16], # 222
[3, 223, 0, 18], # 223
[3, 224, 0, 21], # 224
[3, 225, 0, 24], # 225
[3, 226, 0, 27], # 226
[3, 227, 0, 29], # 227
[3, 228, 0, 1], # 228
[3, 229, 0, 34], # 229
[3, 230, 0, 57], # 230
[3, 231, 0, 41], # 231
[3, 232, 0, 42], # 232
[3, 233, 0, 44], # 233
[3, 234, 0, 45], # 234
[3, 235, 0, 53], # 235
[3, 236, 0, 53], # 236
[3, 237, 0, 56], # 237
[3, 238, 0, 58], # 238
[3, 239, 0, 61], # 239
[3, 240, 0, 59], # 240
[3, 241, 0, 76], # 241
[3, 242, 0, 82], # 242
[3, 243, 1, 31], # 243
[3, 244, 0, 64], # 244
[3, 245, 0, 1], # 245
[3, 246, 0, 57], # 246
[3, 247, 0, 109], # 247
[3, 248, 0, 82], # 248
[3, 249, 0, 74], # 249
[3, 250, 0, 71], # 250
[3, 251, 0, 77], # 251
[3, 252, 0, 78], # 252
[3, 253, 0, 80], # 253
[3, 254, 1, 65], # 254
[3, 255, 0, 81], # 255
[3, 256, 0, 86], # 256
[3, 257, 0, 90], # 257
[3, 258, 0, 92], # 258
[3, 259, 0, 96], # 259
[3, 260, 0, 98], # 260
[3, 261, 0, 100], # 261
[3, 262, 0, 103], # 262
[3, 263, 0, 105], # 263
[3, 264, 0, 98], # 264
[3, 265, 0, 109], # 265
[3, 266, 0, 82], # 266
[3, 267, 0, 111], # 267
[3, 268, 0, 113], # 268
[3, 269, 0, 117], # 269
[3, 270, 0, 118], # 270
].freeze
CONFIG.table = [
[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, 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, 0, 0, 0, 0, 0, 0, 0, 0], # 0
[-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, 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, -1, -1, 1, -1, -1, 1, 1, 1, 1, -1, 1, -1], # 1
[-1, 2, -1, 2, -1, 2, -1, 2, -1, 2, 2, -1, -1, 2, -1, 2, 2, 2, -1, -1, 2, -1, -1, 2, 2, 2, 2, 2, 2, -1, 2, -1, 2, 2, 2, 2, 2, -1, -1, -1, 2, 2, -1, 2, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, 2, 2, 2, 2, -1, 2, -1], # 2
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3, -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], # 3
[-1, 4, -1, 4, -1, 4, -1, 4, -1, 4, 4, -1, -1, 4, -1, 4, 4, 4, -1, -1, 4, -1, -1, 4, 4, 4, 4, 4, 4, -1, 4, -1, 4, 4, 4, 4, 4, -1, -1, -1, 4, 4, -1, 4, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, 4, 4, 4, 4, -1, 4, -1], # 4
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -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], # 5
[-1, 6, -1, 6, -1, 6, -1, 6, -1, 6, 6, -1, -1, 6, -1, 6, 6, 6, -1, -1, 6, -1, -1, 6, 6, 6, 6, 6, 6, -1, 6, -1, 6, 6, 6, 6, 6, -1, -1, -1, 6, 6, -1, 6, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, -1, -1, -1, -1, -1, 6, -1, -1, 6, 6, 6, 6, -1, 6, -1], # 6
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7, -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, -1, -1, -1, -1, 7, -1, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 7
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 9, -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, -1, -1, -1, -1, 8, -1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 8
[-1, 11, -1, 11, -1, 11, -1, 11, -1, 11, 11, -1, -1, 11, -1, 11, 11, 11, -1, -1, 11, -1, -1, 11, 11, 11, 11, 11, 11, -1, 11, -1, 11, 11, 11, 11, 11, -1, -1, -1, 11, 11, -1, 11, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, -1, -1, -1, -1, -1, 11, -1, -1, 11, 11, 11, 11, -1, 11, -1], # 9
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 12, -1, -1, -1, 12, -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, 12, 12, -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], # 10
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, 14, -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, 13, 16, -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], # 11
[-1, 17, -1, 17, -1, 17, -1, 17, -1, 17, 17, -1, -1, 17, -1, 17, 17, 17, -1, -1, 17, -1, -1, 17, 17, 17, 17, 17, 17, -1, 17, -1, 17, 17, 17, 17, 17, -1, -1, -1, 17, 17, -1, 17, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, -1, -1, -1, 17, -1, -1, 17, 17, 17, 17, -1, 17, -1], # 12
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 13
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 14
[-1, 21, -1, 21, -1, 21, -1, 21, -1, 21, 21, -1, -1, 21, -1, 21, 21, 21, -1, -1, 21, -1, -1, 21, 21, 21, 21, 21, 21, -1, 21, -1, 21, 21, 21, 21, 21, -1, -1, -1, 21, 21, -1, 21, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, -1, -1, -1, -1, -1, -1, -1, 21, -1, -1, 21, 21, 21, 21, -1, 21, -1], # 15
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 22, -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], # 16
[-1, 23, -1, 23, -1, 23, -1, 23, -1, 23, 23, -1, -1, 23, -1, 23, 23, 23, -1, -1, 23, -1, -1, 23, 23, 23, 23, 23, 23, -1, 23, -1, 23, 23, 23, 23, 23, -1, -1, -1, 23, 23, -1, 23, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1, -1, -1, -1, -1, -1, -1, 23, -1, -1, 23, 23, 23, 23, -1, 23, -1], # 17
[-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, -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, 24, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 18
[-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, -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, 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 19
[-1, 27, -1, 27, -1, 27, -1, 27, -1, 27, 27, -1, -1, 27, -1, 27, 27, 27, -1, -1, 27, -1, -1, 27, 27, 27, 27, 27, 27, -1, 27, -1, 27, 27, 27, 27, 27, -1, -1, -1, 27, 27, -1, 27, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 27, -1, -1, -1, -1, -1, -1, -1, 27, -1, -1, 27, 27, 27, 27, -1, 27, -1], # 20
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 28, 28, -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, -1], # 21
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 29, 30, -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, -1], # 22
[-1, 31, -1, 31, -1, 31, -1, 31, -1, 31, 31, -1, -1, 31, -1, 31, 31, 31, -1, -1, 31, -1, -1, 31, 31, 31, 31, 31, 31, -1, 31, -1, 31, 31, 31, 31, 31, -1, -1, -1, 31, 31, -1, 31, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, 31, 31, 31, 31, -1, 31, -1], # 23
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 32, 32, -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], # 24
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 33, 35, -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], # 25
[-1, 36, -1, 36, -1, 36, -1, 36, -1, 36, 36, -1, -1, 36, -1, 36, 36, 36, -1, -1, 36, -1, -1, 36, 36, 36, 36, 36, 36, -1, 36, -1, 36, 36, 36, 36, 36, -1, -1, -1, 36, 36, -1, 36, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, 36, 36, 36, 36, -1, 36, -1], # 26
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -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], # 27
[-1, 38, -1, 38, -1, 38, -1, 38, -1, 38, 38, -1, -1, 38, -1, 38, 38, 38, -1, -1, 38, -1, -1, 38, 38, 38, 38, 38, 38, -1, 38, -1, 38, 38, 38, 38, 38, -1, -1, -1, 38, 38, -1, 38, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, 38, 38, 38, 38, -1, 38, -1], # 28
[-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, -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, 39, 40, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 29
[-1, 42, -1, 42, -1, 42, -1, 42, -1, 42, 42, -1, -1, 42, -1, 42, 42, 42, -1, -1, 42, -1, -1, 42, 42, 42, 42, 42, 42, -1, 42, -1, 42, 42, 42, 42, 42, -1, -1, -1, 42, 42, -1, 41, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, 42, -1, -1, 42, 42, 42, 42, -1, 42, -1], # 30
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 31
[-1, 46, -1, 46, -1, 46, -1, 46, -1, 46, 46, -1, -1, 46, -1, 46, 46, 46, -1, -1, 46, -1, -1, 46, 46, 46, 46, 46, 46, -1, 46, -1, 46, 46, 46, 46, 46, -1, -1, -1, 46, 46, -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, 46, -1, -1, 46, 46, 46, 46, -1, 46, -1], # 32
[48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 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, 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], # 33
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 49, -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, -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], # 34
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, 52, 51, -1, 53, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 54, -1, -1, -1, -1, -1, -1], # 35
[-1, 61, -1, 58, -1, 60, -1, 60, -1, 59, 68, -1, -1, 56, -1, 60, 64, 55, -1, -1, 62, -1, -1, 70, 69, 67, 71, 73, 72, -1, 63, -1, 65, 65, 65, 65, 67, -1, -1, -1, 66, 66, -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, 74, -1, -1, 75, 76, 57, 57, -1, 77, -1], # 36
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, -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, -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], # 37
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -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, -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], # 38
[-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, -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, -1, -1, -1, -1, -1, -1, -1, 80, 81, -1, -1, -1], # 39
[-1, -1, -1, 82, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1], # 40
[-1, 83, -1, 83, -1, 83, -1, 83, -1, 83, 83, -1, -1, 83, -1, 83, 83, 83, -1, -1, 83, -1, -1, 83, 83, 83, 83, 83, 83, -1, 83, -1, 83, 83, 83, 83, 83, -1, -1, -1, 83, 83, -1, 83, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, 83, 83, 83, 83, -1, 83, -1], # 41
[-1, -1, -1, -1, -1, -1, 84, -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, -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, -1, -1, -1, -1, -1], # 42
[-1, -1, -1, -1, -1, -1, -1, -1, -1, 85, -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, -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, -1, -1], # 43
[-1, 86, -1, 86, -1, 86, -1, 86, -1, 86, 86, -1, -1, 86, -1, 86, 86, 86, -1, -1, 86, -1, -1, 86, 86, 86, 86, 86, 86, -1, 86, -1, 86, 86, 86, 86, 86, -1, -1, -1, 86, 86, -1, 86, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, -1, -1, -1, -1, -1, 86, -1, -1, 86, 86, 86, 86, -1, 86, -1], # 44
[-1, -1, -1, -1, -1, -1, 87, -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, -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, -1, -1, -1, -1, -1], # 45
[-1, 88, -1, 88, -1, 88, -1, 88, -1, 88, 88, -1, -1, 88, -1, 88, 88, 88, -1, -1, 88, -1, -1, 88, 88, 88, 88, 88, 88, -1, 88, -1, 88, 88, 88, 88, 88, -1, -1, -1, 88, 88, -1, 88, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, -1, -1, -1, 88, -1, -1, 88, 88, 88, 88, -1, 88, -1], # 46
[-1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, 89, -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, -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], # 47
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -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], # 48
[-1, -1, -1, -1, -1, -1, -1, 92, -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, -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, -1, -1, -1, -1], # 49
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 93, -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, -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], # 50
[-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, -1, -1, -1, 94, -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, -1, -1, -1, -1, -1, -1, -1, -1], # 51
[-1, -1, -1, -1, -1, 96, -1, 95, -1, -1, -1, -1, -1, -1, -1, 95, -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, -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], # 52
[-1, -1, -1, -1, -1, 97, -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, -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, -1, -1, -1, -1, -1, -1], # 53
[-1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, 100, 99, -1, 101, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 102, -1, -1, -1, -1, -1, -1], # 54
[-1, -1, -1, -1, -1, 103, -1, 103, -1, -1, -1, -1, -1, -1, -1, 103, -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, -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], # 55
[-1, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, 105, 105, 105, 105, 105, 105, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 56
[-1, 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 107, -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, -1, -1, -1, -1, -1, -1, -1], # 57
[-1, 108, -1, 108, -1, 108, -1, 108, -1, 108, 108, -1, -1, 108, -1, 108, 108, 108, -1, -1, 108, -1, -1, 108, 108, 108, 108, 108, 108, -1, 108, -1, 108, 108, 108, 108, 108, -1, -1, -1, 108, 108, -1, 108, 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 108, -1, -1, -1, -1, -1, -1, -1, 108, -1, -1, 108, 108, 108, 108, -1, 108, -1], # 58
[-1, -1, -1, -1, -1, -1, 109, -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, -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, -1, -1, -1, -1, -1], # 59
[-1, 110, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 60
[-1, 111, -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, -1, -1, 112, -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, -1, -1, -1, -1, -1, -1, -1], # 61
[-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, 113, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 62
[-1, -1, -1, -1, -1, 114, -1, 114, -1, -1, -1, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, -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, -1, -1, -1, -1, -1, -1, -1, -1], # 63
[-1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, -1, -1, -1, -1, 117, 118, -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, -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], # 64
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 119, -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, -1, -1, -1, -1, -1, -1, -1, 120, 121, 122, 123, 124, 126, 127, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 65
[-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, 128, 129, 130, 131, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 66
[-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, -1, -1, -1, -1, -1, -1, 132, 133, -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, -1, -1, -1, -1], # 67
[-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, 134, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 68
[-1, -1, -1, -1, -1, 135, -1, 135, -1, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, 136, 136, 136, 136, -1, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, 136, 136, 136, 136, -1, -1, 136, 136, 136, 136, -1, -1, -1, -1, -1, -1, -1, 136, -1, 136, -1, -1, 136, -1, 136, 136, -1, 136, 136, 136, 135, -1, -1, -1, -1, -1], # 69
[-1, -1, -1, -1, -1, 137, -1, 137, -1, -1, -1, -1, -1, -1, -1, 137, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1], # 70
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 139, -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, -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], # 71
[-1, -1, -1, -1, -1, 140, -1, 140, -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, -1, -1, -1, 141, 141, 141, 141, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, 141, 141, 141, 141, -1, -1, 141, 141, 141, 141, -1, -1, -1, -1, -1, -1, -1, 141, -1, 141, -1, -1, 141, -1, 141, 141, -1, 141, 141, 141, -1, -1, -1, -1, -1, -1], # 72
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 157, 150, 161, 160, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 143, 144, 146, 145, 142, -1, -1, 147, 148, 149, 152, -1, -1, -1, -1, -1, -1, -1, 153, -1, 151, -1, -1, 154, -1, 155, 156, -1, 158, 159, 163, -1, -1, -1, -1, -1, -1], # 73
[-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, -1, -1, -1, -1, 164, -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, -1, -1, -1, -1, -1, -1, -1], # 74
[-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, 166, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 165, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 75
[168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168], # 76
[-1, -1, -1, -1, -1, 169, -1, 169, -1, -1, -1, -1, -1, -1, -1, 169, -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, -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], # 77
[-1, -1, -1, -1, -1, -1, 170, -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, -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, -1, -1, -1, -1, -1], # 78
[-1, -1, -1, -1, -1, 171, -1, 171, -1, -1, -1, -1, -1, -1, -1, 171, -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, -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], # 79
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, -1, -1, 172, -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, -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], # 80
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 174, -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, -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], # 81
[-1, 175, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 82
[-1, -1, -1, -1, -1, 176, -1, 176, -1, -1, -1, -1, -1, -1, -1, 176, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, -1], # 83
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 178, -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, -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, -1], # 84
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 179, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 85
[-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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 180, -1, -1], # 86
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 181, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 87
[-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, 182, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 88
[183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183], # 89
[-1, 184, -1, 184, -1, 184, -1, 184, -1, 184, 184, -1, -1, 184, -1, 184, 184, 184, -1, -1, 184, -1, -1, 184, 184, 184, 184, 184, 184, -1, 184, -1, 184, 184, 184, 184, 184, -1, -1, -1, 184, 184, 185, 184, 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 184, -1, -1, -1, -1, -1, -1, -1, 184, -1, -1, 184, 184, 184, 184, -1, 184, -1], # 90
[-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, -1, -1, -1, -1, -1, -1, -1, -1, 186, -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, -1, -1, -1], # 91
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 188, -1, -1, -1, -1, -1, -1, -1, 187, -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, -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], # 92
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 189, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 190, -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, -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], # 94
[-1, -1, -1, -1, -1, -1, -1, 191, -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, -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, -1, -1, -1, -1], # 95
[-1, -1, -1, -1, -1, -1, 192, -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, -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, -1, -1, -1, -1, -1], # 96
[-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, 193, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 97
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 194, -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, -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], # 98
[-1, -1, -1, -1, -1, -1, -1, 195, -1, -1, -1, -1, -1, -1, -1, 195, -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, -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], # 99
[-1, -1, -1, -1, -1, -1, 196, -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, -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, -1, -1, -1, -1, -1], # 100
[-1, -1, -1, -1, -1, -1, -1, 197, -1, -1, -1, -1, -1, -1, -1, 198, -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, -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], # 101
[-1, -1, -1, -1, -1, -1, -1, 199, -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, -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, -1, -1, -1, -1], # 102
[-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, 200, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 103
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 201, -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, -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], # 104
[-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, 202, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 105
[-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, 203, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 106
[-1, -1, -1, -1, -1, 204, -1, 204, -1, -1, -1, -1, -1, -1, -1, 204, -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, -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], # 107
[-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, -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, -1, -1, 205, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 108
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 206, -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, -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], # 109
[-1, -1, -1, -1, -1, 207, -1, 207, -1, -1, -1, -1, -1, -1, -1, 207, -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, -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], # 110
[-1, -1, -1, -1, -1, -1, 208, -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, -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, -1, -1, -1, -1, -1], # 111
[-1, -1, -1, -1, -1, 209, -1, 209, -1, -1, -1, -1, -1, -1, -1, 209, -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, -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], # 112
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 210, -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, -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], # 113
[-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, -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, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1], # 114
[-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, -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, -1, -1, -1, -1, -1, -1, 212, -1, -1, -1, -1, -1], # 115
[-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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 213, -1], # 116
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 214, -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, -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], # 117
[-1, -1, -1, -1, -1, -1, 215, -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, -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, -1, -1, -1, -1, -1], # 118
[-1, 216, -1, 216, -1, 216, -1, 216, -1, 216, 216, -1, -1, 216, -1, 216, 216, 216, -1, -1, 216, -1, -1, 216, 216, 216, 216, 216, 216, -1, 216, -1, 216, 216, 216, 216, 216, -1, -1, -1, 216, 216, -1, 216, 216, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, -1, -1, -1, -1, -1, 216, -1, -1, 216, 216, 216, 216, -1, 216, -1], # 119
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 217, -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], # 120
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 218, -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], # 121
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 219, -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, -1, -1, -1, -1, 219, -1, 219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 122
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 220, -1, -1, -1, 220, -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, 220, 220, -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], # 123
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 221, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 124
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 222, -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], # 125
[-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, -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, 223, 223, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 126
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 224, 224, -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, -1], # 127
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 225, 225, 225, -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], # 128
[-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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 226, -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], # 129
[-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, -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, 227, 227, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 130
[-1, 228, -1, 228, -1, 228, -1, 228, -1, 228, 228, -1, -1, 228, -1, 228, 228, 228, -1, -1, 228, -1, -1, 228, 228, 228, 228, 228, 228, -1, 228, -1, 228, 228, 228, 228, 228, -1, -1, -1, 228, 228, -1, 228, 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, 228, -1, -1, 228, 228, 228, 228, -1, 228, -1], # 131
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, -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, -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], # 132
[-1, 230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 230, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 230, -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, -1, -1, -1, -1, -1, -1, -1], # 133
[-1, 231, -1, 231, -1, 231, -1, 231, -1, 231, 231, -1, -1, 231, -1, 231, 231, 231, -1, -1, 231, -1, -1, 231, 231, 231, 231, 231, 231, -1, 231, -1, 231, 231, 231, 231, 231, -1, -1, -1, 231, 231, -1, 231, 231, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 231, -1, -1, -1, -1, -1, -1, -1, 231, -1, -1, 231, 231, 231, 231, -1, 231, -1], # 134
[-1, -1, -1, -1, -1, -1, 232, -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, -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, -1, -1, -1, -1, -1], # 135
[-1, 233, -1, 233, -1, 233, -1, 233, -1, 233, 233, -1, -1, 233, -1, 233, 233, 233, -1, -1, 233, -1, -1, 233, 233, 233, 233, 233, 233, -1, 233, -1, 233, 233, 233, 233, 233, -1, -1, -1, 233, 233, -1, 233, 233, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, -1, -1, -1, -1, -1, 233, -1, -1, 233, 233, 233, 233, -1, 233, -1], # 136
[-1, -1, -1, -1, -1, -1, 234, -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, -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, -1, -1, -1, -1, -1], # 137
[-1, -1, -1, -1, -1, 235, -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, -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, -1, -1, -1, -1, -1, -1], # 138
[-1, -1, -1, -1, -1, 236, -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, -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, -1, -1, -1, -1, -1, -1], # 139
[-1, 237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 237, 237, 237, 237, 237, 237, 237, -1, -1, -1, -1, -1, -1, 237, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 140
[-1, 238, -1, 238, -1, 238, -1, 238, -1, 238, 238, -1, -1, 238, -1, 238, 238, 238, -1, -1, 238, -1, -1, 238, 238, 238, 238, 238, 238, -1, 238, -1, 238, 238, 238, 238, 238, -1, -1, -1, 238, 238, -1, 238, 238, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 238, -1, -1, -1, -1, -1, -1, -1, 238, -1, -1, 238, 238, 238, 238, -1, 238, -1], # 141
[-1, 239, -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, -1, -1, 239, -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, -1, -1, -1, -1, -1, -1, -1], # 142
[-1, -1, -1, -1, -1, -1, 240, -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, -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, -1, -1, -1, -1, -1], # 143
[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, 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, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241], # 144
[-1, 242, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 145
[-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, 243, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 146
[-1, -1, -1, -1, -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, -1, 244, 244, -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, -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], # 147
[-1, 245, -1, 245, -1, 245, -1, 245, -1, 245, 245, -1, -1, 245, -1, 245, 245, 245, -1, -1, 245, -1, -1, 245, 245, 245, 245, 245, 245, -1, 245, -1, 245, 245, 245, 245, 245, -1, -1, -1, 245, 245, -1, 245, 245, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 245, -1, -1, -1, -1, -1, -1, -1, 245, -1, -1, 245, 245, 245, 245, -1, 245, -1], # 148
[-1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 246, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 246, -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, -1, -1, -1, -1, -1, -1, -1], # 149
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 247, -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, -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], # 150
[-1, 248, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 151
[-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, -1, -1, -1, -1, 249, -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, -1, -1, -1, -1, -1, -1, -1], # 152
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 250, -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, -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], # 153
[-1, -1, -1, -1, -1, 251, -1, 251, -1, -1, -1, -1, -1, -1, -1, 251, -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, -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], # 154
[-1, -1, -1, -1, -1, -1, 252, -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, -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, -1, -1, -1, -1, -1], # 155
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 253, -1, -1, 253, -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, -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], # 156
[-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, -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, 254, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 157
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 255, -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, -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], # 158
[-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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1], # 159
[-1, 257, -1, 257, -1, 257, -1, 257, -1, 257, 257, -1, -1, 257, -1, 257, 257, 257, -1, -1, 257, -1, -1, 257, 257, 257, 257, 257, 257, -1, 257, -1, 257, 257, 257, 257, 257, -1, -1, -1, 257, 257, 257, 257, 257, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, 257, 257, 257, 257, -1, 257, -1], # 160
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, -1, -1, -1, -1, -1, -1, 258, -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, -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], # 161
[-1, -1, -1, -1, -1, -1, 259, -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, -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, -1, -1, -1, -1, -1], # 162
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -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, -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], # 163
[-1, -1, -1, -1, -1, -1, 261, -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, -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, -1, -1, -1, -1, -1], # 164
[-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, 262, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 165
[-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, 263, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 166
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 264, -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, -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], # 167
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 265, -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, -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], # 168
[-1, 266, -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, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], # 169
[-1, -1, -1, -1, -1, -1, 267, -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, -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, -1, -1, -1, -1, -1], # 170
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 268, -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, -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], # 171
[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 269, -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, -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], # 172
[-1, -1, -1, -1, -1, -1, 270, -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, -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, -1, -1, -1, -1, -1], # 173
].freeze
CONFIG.actions = [
[:_rule_0, 1], # 0
[:_rule_1, 1], # 1
[:_rule_2, 2], # 2
[:_rule_3, 2], # 3
[:_rule_4, 2], # 4
[:_rule_5, 2], # 5
[:_rule_6, 2], # 6
[:_rule_7, 2], # 7
[:_rule_8, 1], # 8
[:_rule_9, 1], # 9
[:_rule_10, 1], # 10
[:_rule_11, 2], # 11
[:_rule_12, 2], # 12
[:_rule_13, 1], # 13
[:_rule_14, 1], # 14
[:_rule_15, 1], # 15
[:_rule_16, 1], # 16
[:_rule_17, 2], # 17
[:_rule_18, 2], # 18
[:_rule_19, 1], # 19
[:_rule_20, 1], # 20
[:_rule_21, 2], # 21
[:_rule_22, 2], # 22
[:_rule_23, 2], # 23
[:_rule_24, 2], # 24
[:_rule_25, 1], # 25
[:_rule_26, 1], # 26
[:_rule_27, 2], # 27
[:_rule_28, 2], # 28
[:_rule_29, 1], # 29
[:_rule_30, 1], # 30
[:_rule_31, 2], # 31
[:_rule_32, 2], # 32
[:_rule_33, 1], # 33
[:_rule_34, 1], # 34
[:_rule_35, 1], # 35
[:_rule_36, 2], # 36
[:_rule_37, 2], # 37
[:_rule_38, 2], # 38
[:_rule_39, 2], # 39
[:_rule_40, 2], # 40
[:_rule_41, 2], # 41
[:_rule_42, 1], # 42
[:_rule_43, 1], # 43
[:_rule_44, 1], # 44
[:_rule_45, 1], # 45
[:_rule_46, 2], # 46
[:_rule_47, 2], # 47
[:_rule_48, 0], # 48
[:_rule_49, 3], # 49
[:_rule_50, 1], # 50
[:_rule_51, 1], # 51
[:_rule_52, 1], # 52
[:_rule_53, 1], # 53
[:_rule_54, 1], # 54
[:_rule_55, 1], # 55
[:_rule_56, 1], # 56
[:_rule_57, 1], # 57
[:_rule_58, 1], # 58
[:_rule_59, 1], # 59
[:_rule_60, 1], # 60
[:_rule_61, 1], # 61
[:_rule_62, 3], # 62
[:_rule_63, 1], # 63
[:_rule_64, 1], # 64
[:_rule_65, 1], # 65
[:_rule_66, 1], # 66
[:_rule_67, 1], # 67
[:_rule_68, 1], # 68
[:_rule_69, 1], # 69
[:_rule_70, 1], # 70
[:_rule_71, 1], # 71
[:_rule_72, 1], # 72
[:_rule_73, 1], # 73
[:_rule_74, 1], # 74
[:_rule_75, 1], # 75
[:_rule_76, 1], # 76
[:_rule_77, 1], # 77
[:_rule_78, 1], # 78
[:_rule_79, 1], # 79
[:_rule_80, 1], # 80
[:_rule_81, 1], # 81
[:_rule_82, 3], # 82
[:_rule_83, 2], # 83
[:_rule_84, 2], # 84
[:_rule_85, 3], # 85
[:_rule_86, 2], # 86
[:_rule_87, 2], # 87
[:_rule_88, 3], # 88
[:_rule_89, 1], # 89
[:_rule_90, 1], # 90
[:_rule_91, 1], # 91
[:_rule_92, 1], # 92
[:_rule_93, 1], # 93
[:_rule_94, 1], # 94
[:_rule_95, 2], # 95
[:_rule_96, 3], # 96
[:_rule_97, 2], # 97
[:_rule_98, 1], # 98
[:_rule_99, 1], # 99
[:_rule_100, 1], # 100
[:_rule_101, 1], # 101
[:_rule_102, 1], # 102
[:_rule_103, 2], # 103
[:_rule_104, 1], # 104
[:_rule_105, 1], # 105
[:_rule_106, 4], # 106
[:_rule_107, 1], # 107
[:_rule_108, 2], # 108
[:_rule_109, 2], # 109
[:_rule_110, 6], # 110
[:_rule_111, 1], # 111
[:_rule_112, 3], # 112
[:_rule_113, 3], # 113
[:_rule_114, 3], # 114
[:_rule_115, 2], # 115
[:_rule_116, 3], # 116
[:_rule_117, 1], # 117
[:_rule_118, 1], # 118
[:_rule_119, 2], # 119
[:_rule_120, 2], # 120
[:_rule_121, 2], # 121
[:_rule_122, 2], # 122
[:_rule_123, 2], # 123
[:_rule_124, 2], # 124
[:_rule_125, 2], # 125
[:_rule_126, 2], # 126
[:_rule_127, 2], # 127
[:_rule_128, 2], # 128
[:_rule_129, 2], # 129
[:_rule_130, 1], # 130
[:_rule_131, 1], # 131
[:_rule_132, 1], # 132
[:_rule_133, 1], # 133
[:_rule_134, 6], # 134
[:_rule_135, 2], # 135
[:_rule_136, 1], # 136
[:_rule_137, 1], # 137
[:_rule_138, 1], # 138
[:_rule_139, 2], # 139
[:_rule_140, 1], # 140
[:_rule_141, 1], # 141
[:_rule_142, 1], # 142
[:_rule_143, 1], # 143
[:_rule_144, 1], # 144
[:_rule_145, 1], # 145
[:_rule_146, 1], # 146
[:_rule_147, 1], # 147
[:_rule_148, 1], # 148
[:_rule_149, 1], # 149
[:_rule_150, 1], # 150
[:_rule_151, 1], # 151
[:_rule_152, 1], # 152
[:_rule_153, 1], # 153
[:_rule_154, 1], # 154
[:_rule_155, 1], # 155
[:_rule_156, 1], # 156
[:_rule_157, 1], # 157
[:_rule_158, 1], # 158
[:_rule_159, 1], # 159
[:_rule_160, 1], # 160
[:_rule_161, 1], # 161
[:_rule_162, 1], # 162
[:_rule_163, 1], # 163
[:_rule_164, 3], # 164
[:_rule_165, 2], # 165
[:_rule_166, 1], # 166
[:_rule_167, 3], # 167
[:_rule_168, 0], # 168
[:_rule_169, 2], # 169
[:_rule_170, 2], # 170
[:_rule_171, 3], # 171
[:_rule_172, 2], # 172
[:_rule_173, 1], # 173
[:_rule_174, 2], # 174
[:_rule_175, 2], # 175
[:_rule_176, 1], # 176
[:_rule_177, 1], # 177
[:_rule_178, 1], # 178
[:_rule_179, 6], # 179
[:_rule_180, 2], # 180
[:_rule_181, 5], # 181
[:_rule_182, 5], # 182
[:_rule_183, 1], # 183
[:_rule_184, 1], # 184
[:_rule_185, 1], # 185
[:_rule_186, 3], # 186
[:_rule_187, 1], # 187
[:_rule_188, 1], # 188
[:_rule_189, 2], # 189
[:_rule_190, 3], # 190
[:_rule_191, 2], # 191
[:_rule_192, 2], # 192
[:_rule_193, 3], # 193
[:_rule_194, 3], # 194
[:_rule_195, 2], # 195
[:_rule_196, 2], # 196
[:_rule_197, 1], # 197
[:_rule_198, 1], # 198
[:_rule_199, 2], # 199
[:_rule_200, 2], # 200
[:_rule_201, 2], # 201
[:_rule_202, 2], # 202
[:_rule_203, 3], # 203
[:_rule_204, 3], # 204
[:_rule_205, 4], # 205
[:_rule_206, 3], # 206
[:_rule_207, 2], # 207
[:_rule_208, 2], # 208
[:_rule_209, 2], # 209
[:_rule_210, 2], # 210
[:_rule_211, 5], # 211
[:_rule_212, 1], # 212
[:_rule_213, 4], # 213
[:_rule_214, 4], # 214
[:_rule_215, 2], # 215
[:_rule_216, 1], # 216
[:_rule_217, 1], # 217
[:_rule_218, 1], # 218
[:_rule_219, 1], # 219
[:_rule_220, 1], # 220
[:_rule_221, 1], # 221
[:_rule_222, 1], # 222
[:_rule_223, 1], # 223
[:_rule_224, 1], # 224
[:_rule_225, 1], # 225
[:_rule_226, 1], # 226
[:_rule_227, 1], # 227
[:_rule_228, 1], # 228
[:_rule_229, 1], # 229
[:_rule_230, 1], # 230
[:_rule_231, 1], # 231
[:_rule_232, 1], # 232
[:_rule_233, 1], # 233
[:_rule_234, 1], # 234
[:_rule_235, 1], # 235
[:_rule_236, 1], # 236
[:_rule_237, 1], # 237
[:_rule_238, 1], # 238
[:_rule_239, 1], # 239
[:_rule_240, 1], # 240
[:_rule_241, 1], # 241
[:_rule_242, 1], # 242
[:_rule_243, 1], # 243
[:_rule_244, 1], # 244
[:_rule_245, 1], # 245
[:_rule_246, 1], # 246
[:_rule_247, 1], # 247
[:_rule_248, 1], # 248
[:_rule_249, 1], # 249
[:_rule_250, 1], # 250
[:_rule_251, 1], # 251
[:_rule_252, 1], # 252
[:_rule_253, 1], # 253
[:_rule_254, 1], # 254
[:_rule_255, 1], # 255
[:_rule_256, 1], # 256
[:_rule_257, 1], # 257
[:_rule_258, 1], # 258
[:_rule_259, 1], # 259
[:_rule_260, 1], # 260
[:_rule_261, 1], # 261
[:_rule_262, 1], # 262
[:_rule_263, 1], # 263
[:_rule_264, 1], # 264
[:_rule_265, 1], # 265
[:_rule_266, 1], # 266
[:_rule_267, 1], # 267
[:_rule_268, 1], # 268
[:_rule_269, 1], # 269
[:_rule_270, 1], # 270
].freeze
def initialize(data)
@lexer = Lexer.new(data)
@line = 1
@column = 1
end
def each_token
while token = @lexer.lex
yield [token.type, token]
end
yield [-1, -1]
end
def parser_error(stack_type, stack_value, token_type, token_value)
value = stack_value
if value.is_a?(Token)
value = value.value
end
message = parser_error_message(stack_type, value, token_type)
if value.is_a?(Token)
message += " on line #{value.line}, column #{value.column}"
end
raise LL::ParserError, message
end
def s(type, *children, location: nil)
if location
line = location.line
column = location.column
elsif children[0].is_a?(Token)
line = children[0].line
column = children[0].column
end
children = children.map do |child|
child.is_a?(Token) ? child.value : child
end
Node.new(type, children, line: line, column: column)
end
def combine_operators(val)
node = val[0]
val[1].each do |(name, expr)|
node = s(:send, node, name, expr, location: name)
end
node
end
def _rule_0(val)
s(:exprs, *val[0])
end
def _rule_1(val)
val[0]
end
def _rule_2(val)
node = val[0]
val[1].each do |(op, expr)|
node = s(:or, node, expr, location: op)
end
node
end
def _rule_3(val)
val
end
def _rule_4(val)
node = val[0]
val[1].each do |(op, expr)|
node = s(:and, node, expr, location: op)
end
node
end
def _rule_5(val)
val
end
def _rule_6(val)
combine_operators(val)
end
def _rule_7(val)
val
end
def _rule_8(val)
val[0]
end
def _rule_9(val)
val[0]
end
def _rule_10(val)
val[0]
end
def _rule_11(val)
combine_operators(val)
end
def _rule_12(val)
val
end
def _rule_13(val)
val[0]
end
def _rule_14(val)
val[0]
end
def _rule_15(val)
val[0]
end
def _rule_16(val)
val[0]
end
def _rule_17(val)
combine_operators(val)
end
def _rule_18(val)
val
end
def _rule_19(val)
val[0]
end
def _rule_20(val)
val[0]
end
def _rule_21(val)
combine_operators(val)
end
def _rule_22(val)
val
end
def _rule_23(val)
combine_operators(val)
end
def _rule_24(val)
val
end
def _rule_25(val)
val[0]
end
def _rule_26(val)
val[0]
end
def _rule_27(val)
combine_operators(val)
end
def _rule_28(val)
val
end
def _rule_29(val)
val[0]
end
def _rule_30(val)
val[0]
end
def _rule_31(val)
combine_operators(val)
end
def _rule_32(val)
val
end
def _rule_33(val)
val[0]
end
def _rule_34(val)
val[0]
end
def _rule_35(val)
val[0]
end
def _rule_36(val)
combine_operators(val)
end
def _rule_37(val)
val
end
def _rule_38(val)
if val[1] and val[1][2]
s(val[1][0], val[0], val[1][2], location: val[1][1])
elsif val[1]
s(val[1][0], val[0], location: val[1][1])
else
val[0]
end
end
def _rule_39(val)
[:irange, val[0], val[1]]
end
def _rule_40(val)
if val[1]
[:erange, val[0], val[1]]
else
[:rest, val[0]]
end
end
def _rule_41(val)
s(:send, val[1], val[0][0], location: val[0][1])
end
def _rule_42(val)
val[0]
end
def _rule_43(val)
['!', val[0]]
end
def _rule_44(val)
['+@', val[0]]
end
def _rule_45(val)
['-@', val[0]]
end
def _rule_46(val)
node = val[0]
val[1].each do |(ident, args)|
node = s(:send, node, ident, *args, location: ident)
end
node
end
def _rule_47(val)
[val[0], *val[1]]
end
def _rule_48(val)
val
end
def _rule_49(val)
[val[1], val[2]]
end
def _rule_50(val)
val[0]
end
def _rule_51(val)
val[0]
end
def _rule_52(val)
val[0]
end
def _rule_53(val)
val[0]
end
def _rule_54(val)
val[0]
end
def _rule_55(val)
val[0]
end
def _rule_56(val)
val[0]
end
def _rule_57(val)
val[0]
end
def _rule_58(val)
val[0]
end
def _rule_59(val)
val[0]
end
def _rule_60(val)
val[0]
end
def _rule_61(val)
val[0]
end
def _rule_62(val)
val[1]
end
def _rule_63(val)
val[0]
end
def _rule_64(val)
val[0]
end
def _rule_65(val)
val[0]
end
def _rule_66(val)
val[0]
end
def _rule_67(val)
val[0]
end
def _rule_68(val)
val[0]
end
def _rule_69(val)
val[0]
end
def _rule_70(val)
val[0]
end
def _rule_71(val)
val[0]
end
def _rule_72(val)
val[0]
end
def _rule_73(val)
val[0]
end
def _rule_74(val)
val[0]
end
def _rule_75(val)
val[0]
end
def _rule_76(val)
val[0]
end
def _rule_77(val)
val[0]
end
def _rule_78(val)
s(:integer, val[0].value.to_i, location: val[0])
end
def _rule_79(val)
s(:float, val[0].value.to_f, location: val[0])
end
def _rule_80(val)
s(:sstring, val[0])
end
def _rule_81(val)
s(:dstring, val[0])
end
def _rule_82(val)
s(:array, *val[1], location: val[0])
end
def _rule_83(val)
val.flatten
end
def _rule_84(val)
val[1]
end
def _rule_85(val)
s(:hash, *val[1], location: val[0])
end
def _rule_86(val)
val.flatten
end
def _rule_87(val)
val[1]
end
def _rule_88(val)
s(:keyval, val[0], val[2])
end
def _rule_89(val)
[:ident, val[0]]
end
def _rule_90(val)
[:const, val[0]]
end
def _rule_91(val)
s(:ivar, val[0], location: val[0])
end
def _rule_92(val)
s(:const, nil, val[0], location: val[0])
end
def _rule_93(val)
s(:ident, nil, val[0], location: val[0])
end
def _rule_94(val)
s(:dynamic, location: val[0])
end
def _rule_95(val)
node = s(val[0][0], nil, val[0][1], location: val[0][1])
val[1].each do |(type, name)|
node = s(type, node, name, location: name)
end
node
end
def _rule_96(val)
rec = val[0] ? s(:toplevel, location: val[0]) : nil
node = s(val[1][0], rec, val[1][1], location: val[0])
val[2].each do |(type, name)|
node = s(type, node, name, location: name)
end
node
end
def _rule_97(val)
val[1]
end
def _rule_98(val)
val[0]
end
def _rule_99(val)
[:const, val[0]]
end
def _rule_100(val)
[:const, val[0]]
end
def _rule_101(val)
[:const, val[0]]
end
def _rule_102(val)
[:const, val[0]]
end
def _rule_103(val)
if val[1]
type, expr = val[1]
case type
when :send
name = val[0].children[1]
receiver = val[0].children[0]
s(:send, receiver, name, *expr, location: val[0])
when :assign
s(:assign, val[0], expr, location: loc)
else
s(:assign, val[0], s(:send, val[0], type, expr, location: loc))
end
else
val[0]
end
end
def _rule_104(val)
[:send, val[0]]
end
def _rule_105(val)
val[0]
end
def _rule_106(val)
args = val[1] ? val[1] : []
args << val[3] if val[3]
args
end
def _rule_107(val)
val
end
def _rule_108(val)
val.flatten
end
def _rule_109(val)
val[1]
end
def _rule_110(val)
s(:closure, val[1], val[2], val[4], location: val[0])
end
def _rule_111(val)
val[0]
end
def _rule_112(val)
s(:closure, nil, nil, val[1], location: val[0])
end
def _rule_113(val)
type = val[1] ? :letm : :let
val_type, name, default = val[2]
s(type, name, val_type, default, location: val[0])
end
def _rule_114(val)
if val[1]
val
else
[nil, val[0], val[2]]
end
end
def _rule_115(val)
[nil, val[0], val[1]]
end
def _rule_116(val)
val
end
def _rule_117(val)
s(val[0][0], nil, val[0][1], location: val[0][1])
end
def _rule_118(val)
val[0]
end
def _rule_119(val)
[:assign, val[0], val[1]]
end
def _rule_120(val)
['+', val[0], val[1]]
end
def _rule_121(val)
['-', val[0], val[1]]
end
def _rule_122(val)
['/', val[0], val[1]]
end
def _rule_123(val)
['%', val[0], val[1]]
end
def _rule_124(val)
['*', val[0], val[1]]
end
def _rule_125(val)
['^', val[0], val[1]]
end
def _rule_126(val)
['|', val[0], val[1]]
end
def _rule_127(val)
['&', val[0], val[1]]
end
def _rule_128(val)
s(:return, val[1], location: val[0])
end
def _rule_129(val)
if val[1]
s(:super, *val[1], location: val[0])
else
s(:super, location: val[0])
end
end
def _rule_130(val)
s(:break, location: val[0])
end
def _rule_131(val)
s(:next, location: val[0])
end
def _rule_132(val)
s(:true, location: val[0])
end
def _rule_133(val)
s(:false, location: val[0])
end
def _rule_134(val)
vis, vis_tok = val[0]
rec, name = val[1]
if val[5]
s(:def, rec, name, vis, val[2], val[3], val[4], val[5], location: vis_tok)
else
s(:rdef, rec, name, vis, val[2], val[3], val[4], location: vis_tok)
end
end
def _rule_135(val)
if val[1]
val
else
[nil, val[0].children[1]]
end
end
def _rule_136(val)
[nil, val[0]]
end
def _rule_137(val)
val[0]
end
def _rule_138(val)
val[0]
end
def _rule_139(val)
if val[1].is_a?(Node)
val[1].children[1]
else
val[1]
end
end
def _rule_140(val)
val[0]
end
def _rule_141(val)
val[0]
end
def _rule_142(val)
val[0]
end
def _rule_143(val)
val[0]
end
def _rule_144(val)
val[0]
end
def _rule_145(val)
val[0]
end
def _rule_146(val)
val[0]
end
def _rule_147(val)
val[0]
end
def _rule_148(val)
val[0]
end
def _rule_149(val)
val[0]
end
def _rule_150(val)
val[0]
end
def _rule_151(val)
val[0]
end
def _rule_152(val)
val[0]
end
def _rule_153(val)
val[0]
end
def _rule_154(val)
val[0]
end
def _rule_155(val)
val[0]
end
def _rule_156(val)
val[0]
end
def _rule_157(val)
val[0]
end
def _rule_158(val)
val[0]
end
def _rule_159(val)
val[0]
end
def _rule_160(val)
val[0]
end
def _rule_161(val)
val[0]
end
def _rule_162(val)
val[0]
end
def _rule_163(val)
val[0]
end
def _rule_164(val)
val[1]
end
def _rule_165(val)
[:public, val[0]]
end
def _rule_166(val)
[:private, val[0]]
end
def _rule_167(val)
s(:args, *val[1])
end
def _rule_168(val)
s(:args)
end
def _rule_169(val)
val.flatten
end
def _rule_170(val)
val[1]
end
def _rule_171(val)
args = [val[0]] # name, type, default
if val[1]
if val[1][0]
args[1] = val[0] # type
args[0] = val[1][0].value # name
end
args[2] = val[1][1] if val[1][1] # default
end
if args[0].is_a?(Node)
args[0] = args[0].children[1]
end
type = val[2] ? :restarg : :arg
s(type, *args)
end
def _rule_172(val)
val
end
def _rule_173(val)
[nil, val[0]]
end
def _rule_174(val)
val[1]
end
def _rule_175(val)
val[1]
end
def _rule_176(val)
val[0]
end
def _rule_177(val)
val[0]
end
def _rule_178(val)
s(:docstring, val[0])
end
def _rule_179(val)
s(:class, val[1], val[2], val[4], location: val[0])
end
def _rule_180(val)
val[1]
end
def _rule_181(val)
s(:trait, val[1], val[3], location: val[0])
end
def _rule_182(val)
s(:enum, val[1], val[3], location: val[0])
end
def _rule_183(val)
s(:exprs, *val[0])
end
def _rule_184(val)
val[0]
end
def _rule_185(val)
val[0]
end
def _rule_186(val)
s(:member, val[1], *val[2], location: val[0])
end
def _rule_187(val)
[val[0]]
end
def _rule_188(val)
[nil, val[0]]
end
def _rule_189(val)
val[1]
end
def _rule_190(val)
val[1]
end
def _rule_191(val)
s(:args, val[0], *val[1])
end
def _rule_192(val)
val[1]
end
def _rule_193(val)
if val[2]
s(:import, val[1], val[2], location: val[0])
else
s(:import, val[1], location: val[0])
end
end
def _rule_194(val)
s(:symbols, *val[1], location: val[0])
end
def _rule_195(val)
val.flatten
end
def _rule_196(val)
val[1]
end
def _rule_197(val)
val[0]
end
def _rule_198(val)
val[0]
end
def _rule_199(val)
val[1] ? s(:alias, val[0], val[1]) : val[0]
end
def _rule_200(val)
val[1]
end
def _rule_201(val)
val[1] ? s(:alias, val[0], val[1]) : val[0]
end
def _rule_202(val)
val[1]
end
def _rule_203(val)
if val[2]
s(:use, val[1], val[2], location: val[0])
else
s(:use, val[1], location: val[0])
end
end
def _rule_204(val)
if val[1] or val[2]
s(:type, val[0], val[1], val[2])
else
val[0]
end
end
def _rule_205(val)
s(:tdef, val[1], val[3], location: val[0])
end
def _rule_206(val)
s(:targs, *val[1], location: val[0])
end
def _rule_207(val)
val.flatten
end
def _rule_208(val)
val[1]
end
def _rule_209(val)
val[1] ? s(:tdef, val[0], val[1]) : s(:tdef, val[0])
end
def _rule_210(val)
val[1]
end
def _rule_211(val)
s(:module, val[1], val[3], location: val[0])
end
def _rule_212(val)
s(:self, location: val[0])
end
def _rule_213(val)
s(:compile_flag, val[1], *val[2], location: val[0])
end
def _rule_214(val)
[val[1], *val[2]]
end
def _rule_215(val)
val[1]
end
def _rule_216(val)
val[0]
end
def _rule_217(val)
val[0]
end
def _rule_218(val)
val[0]
end
def _rule_219(val)
val[0]
end
def _rule_220(val)
val[0]
end
def _rule_221(val)
val[0]
end
def _rule_222(val)
val[0]
end
def _rule_223(val)
val[0]
end
def _rule_224(val)
val[0]
end
def _rule_225(val)
val[0]
end
def _rule_226(val)
val[0]
end
def _rule_227(val)
val[0]
end
def _rule_228(val)
val[0]
end
def _rule_229(val)
val[0]
end
def _rule_230(val)
val[0]
end
def _rule_231(val)
val[0]
end
def _rule_232(val)
val[0]
end
def _rule_233(val)
val[0]
end
def _rule_234(val)
val[0]
end
def _rule_235(val)
val[0]
end
def _rule_236(val)
val[0]
end
def _rule_237(val)
val[0]
end
def _rule_238(val)
val[0]
end
def _rule_239(val)
val[0]
end
def _rule_240(val)
val[0]
end
def _rule_241(val)
val[0]
end
def _rule_242(val)
val[0]
end
def _rule_243(val)
val[0]
end
def _rule_244(val)
val[0]
end
def _rule_245(val)
val[0]
end
def _rule_246(val)
val[0]
end
def _rule_247(val)
val[0]
end
def _rule_248(val)
val[0]
end
def _rule_249(val)
val[0]
end
def _rule_250(val)
val[0]
end
def _rule_251(val)
val[0]
end
def _rule_252(val)
val[0]
end
def _rule_253(val)
val[0]
end
def _rule_254(val)
val[0]
end
def _rule_255(val)
val[0]
end
def _rule_256(val)
val[0]
end
def _rule_257(val)
val[0]
end
def _rule_258(val)
val[0]
end
def _rule_259(val)
val[0]
end
def _rule_260(val)
val[0]
end
def _rule_261(val)
val[0]
end
def _rule_262(val)
val[0]
end
def _rule_263(val)
val[0]
end
def _rule_264(val)
val[0]
end
def _rule_265(val)
val[0]
end
def _rule_266(val)
val[0]
end
def _rule_267(val)
val[0]
end
def _rule_268(val)
val[0]
end
def _rule_269(val)
val[0]
end
def _rule_270(val)
val[0]
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment