# -*- encoding:utf-8; warn-indent:false; frozen_string_literal: true -*-
# line 1 "lib/parser/lexer.rl"
# line 3 "lib/parser/lexer.rl"
#
# === BEFORE YOU START ===
#
# Read the Ruby Hacking Guide chapter 11, available in English at
# http://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite-state-lexer/
#
# Remember two things about Ragel scanners:
#
# 1) Longest match wins.
#
# 2) If two matches have the same length, the first
# in source code wins.
#
# General rules of making Ragel and Bison happy:
#
# * `p` (position) and `@te` contain the index of the character
# they're pointing to ("current"), plus one. `@ts` contains the index
# of the corresponding character. The code for extracting matched token is:
#
# @source_buffer.slice(@ts...@te)
#
# * If your input is `foooooooobar` and the rule is:
#
# 'f' 'o'+
#
# the result will be:
#
# foooooooobar
# ^ ts=0 ^ p=te=9
#
# * A Ragel lexer action should not emit more than one token, unless
# you know what you are doing.
#
# * All Ragel commands (fnext, fgoto, ...) end with a semicolon.
#
# * If an action emits the token and transitions to another state, use
# these Ragel commands:
#
# emit($whatever)
# fnext $next_state; fbreak;
#
# If you perform `fgoto` in an action which does not emit a token nor
# rewinds the stream pointer, the parser's side-effectful,
# context-sensitive lookahead actions will break in a hard to detect
# and debug way.
#
# * If an action does not emit a token:
#
# fgoto $next_state;
#
# * If an action features lookbehind, i.e. matches characters with the
# intent of passing them to another action:
#
# p = @ts - 1
# fgoto $next_state;
#
# or, if the lookbehind consists of a single character:
#
# fhold; fgoto $next_state;
#
# * Ragel merges actions. So, if you have `e_lparen = '(' %act` and
# `c_lparen = '('` and a lexer action `e_lparen | c_lparen`, the result
# _will_ invoke the action `act`.
#
# e_something stands for "something with **e**mbedded action".
#
# * EOF is explicit and is matched by `c_eof`. If you want to introspect
# the state of the lexer, add this rule to the state:
#
# c_eof => do_eof;
#
# * If you proceed past EOF, the lexer will complain:
#
# NoMethodError: undefined method `ord' for nil:NilClass
#
class Parser::Lexer
# line 85 "lib/parser/lexer-F1.rb"
class << self
attr_accessor :_lex_trans_keys
private :_lex_trans_keys, :_lex_trans_keys=
end
self._lex_trans_keys = [
0, 0, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
58, 58, 58, 58, 46, 46,
0, 127, 58, 58, 60,
60, 62, 62, 10, 10,
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, 115, 115,
99, 99, 117, 117, 101,
101, 108, 116, 101, 101,
115, 115, 115, 115, 105, 105,
108, 108, 105, 105, 108,
108, 58, 58, 0, 127,
10, 10, 0, 127, 9, 92,
10, 10, 9, 92, 58,
58, 98, 98, 101, 101,
103, 103, 105, 105, 110, 110,
0, 127, 61, 61, 9,
92, 9, 92, 9, 92,
9, 92, 9, 92, 10, 10,
0, 127, 0, 127, 61,
126, 93, 93, 0, 127,
0, 127, 10, 10, 34, 34,
10, 10, 39, 39, 0,
127, 10, 96, 96, 96,
0, 127, 0, 127, 0, 127,
0, 127, 0, 127, 0,
127, 58, 58, 58, 58,
0, 127, 43, 57, 48, 57,
48, 57, 48, 57, 48,
57, 115, 115, 99, 99,
117, 117, 101, 101, 99, 99,
117, 117, 101, 101, 0,
127, 58, 58, 9, 92,
9, 92, 9, 92, 9, 92,
9, 92, 9, 92, 60,
60, 10, 10, 9, 92,
9, 92, 10, 10, 10, 10,
10, 10, 10, 10, 46,
46, 101, 101, 103, 103,
105, 105, 110, 110, 69, 69,
78, 78, 68, 68, 95,
95, 95, 95, 0, 26,
0, 0, 36, 64, 0, 127,
48, 57, 0, 127, 0,
127, 0, 127, 0, 127,
9, 32, 0, 0, 61, 126,
10, 10, 10, 10, 0,
127, 0, 127, 48, 57,
115, 115, 38, 38, 42, 42,
64, 64, 58, 58, 60,
61, 62, 62, 61, 126,
61, 61, 61, 62, 0, 127,
0, 127, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 93, 93, 10, 10,
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, 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, 124, 124, 0, 127,
0, 127, 9, 32, 10, 10,
10, 10, 46, 46, 10,
10, 0, 0, 0, 127,
0, 127, 61, 61, 0, 0,
9, 32, 0, 0, 61,
126, 10, 10, 10, 10,
38, 38, 42, 42, 64, 64,
60, 61, 62, 62, 61,
126, 61, 61, 61, 62,
0, 127, 93, 93, 10, 10,
124, 124, 0, 126, 0,
127, 0, 61, 9, 61,
9, 61, 0, 0, 9, 61,
9, 62, 46, 46, 46,
46, 58, 58, 9, 32,
0, 0, 0, 127, 0, 0,
9, 124, 0, 0, 10,
10, 10, 10, 0, 0,
9, 61, 58, 58, 60, 60,
62, 62, 9, 32, 10,
10, 0, 127, 102, 102,
101, 101, 110, 110, 104, 104,
0, 127, 0, 127, 0,
127, 0, 0, 0, 127,
10, 10, 0, 123, 9, 32,
10, 10, 10, 10, 10,
10, 0, 0, 111, 111,
0, 0, 0, 127, 0, 127,
9, 32, 0, 0, 10,
10, 10, 10, 10, 10,
0, 0, 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,
58, 61, 0, 0, 61,
126, 61, 61, 0, 0,
0, 0, 0, 0, 9, 32,
61, 61, 9, 32, 61,
126, 10, 10, 10, 10,
0, 127, 38, 61, 0, 0,
42, 61, 61, 61, 9,
92, 9, 92, 9, 92,
46, 46, 46, 46, 10, 10,
0, 26, 0, 127, 0,
127, 61, 61, 0, 0,
61, 126, 61, 62, 0, 0,
0, 0, 0, 0, 0,
0, 61, 126, 0, 127,
48, 57, 38, 38, 42, 42,
64, 64, 60, 61, 62,
62, 61, 61, 61, 62,
0, 127, 48, 57, 0, 127,
124, 124, 64, 64, 60,
61, 0, 0, 10, 34,
10, 39, 96, 96, 62, 62,
61, 126, 61, 62, 0,
26, 0, 127, 0, 127,
0, 127, 0, 0, 10, 10,
0, 0, 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, 126, 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, 0, 61, 124, 0,
92, 9, 32, 0, 0,
10, 10, 10, 10, 10, 10,
0, 0, 0, 127, 0,
127, 9, 32, 0, 0,
10, 10, 10, 10, 10, 10,
0, 0, 0, 127, 0,
127, 61, 61, 0, 0,
9, 32, 0, 0, 61, 126,
10, 10, 10, 10, 0,
127, 0, 127, 48, 57,
61, 61, 38, 61, 0, 0,
0, 0, 42, 61, 61,
62, 46, 57, 46, 46,
10, 10, 48, 101, 48, 95,
46, 120, 48, 114, 43,
57, 48, 105, 102, 102,
0, 0, 101, 105, 0, 0,
0, 0, 48, 114, 48,
114, 48, 114, 48, 114,
105, 114, 102, 102, 0, 0,
101, 105, 115, 115, 0,
0, 0, 0, 48, 114,
48, 114, 48, 114, 48, 114,
48, 114, 48, 114, 48,
114, 48, 114, 46, 114,
48, 114, 46, 114, 48, 114,
58, 58, 60, 61, 62,
62, 61, 126, 61, 61,
61, 62, 0, 127, 0, 127,
0, 0, 0, 127, 0,
127, 0, 127, 0, 127,
0, 127, 0, 127, 0, 0,
10, 10, 0, 0, 0,
0, 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,
9, 92, 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,
0, 127, 0, 127, 0,
0, 61, 124, 0, 0,
9, 92, 9, 92, 9, 92,
46, 46, 46, 46, 10,
10, 46, 46, 10, 10,
10, 61, 10, 10, 10, 101,
10, 110, 10, 100, 10,
10, 0, 95, 9, 32,
0, 0, 10, 10, 10, 10,
98, 98, 9, 32, 10,
10, 95, 95, 0
]
class << self
attr_accessor :_lex_key_spans
private :_lex_key_spans, :_lex_key_spans=
end
self._lex_key_spans = [
0, 128, 128, 128, 128, 128, 128, 128,
1, 1, 1, 128, 1, 1, 1, 1,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 1, 1, 1, 1, 9, 1,
1, 1, 1, 1, 1, 1, 1, 128,
1, 128, 84, 1, 84, 1, 1, 1,
1, 1, 1, 128, 1, 84, 84, 84,
84, 84, 1, 128, 128, 66, 1, 128,
128, 1, 1, 1, 1, 128, 87, 1,
128, 128, 128, 128, 128, 128, 1, 1,
128, 15, 10, 10, 10, 10, 1, 1,
1, 1, 1, 1, 1, 128, 1, 84,
84, 84, 84, 84, 84, 1, 1, 84,
84, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 27,
0, 29, 128, 10, 128, 128, 128, 128,
24, 0, 66, 1, 1, 128, 128, 10,
1, 1, 1, 1, 1, 2, 1, 66,
1, 2, 128, 128, 128, 128, 128, 128,
128, 1, 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, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 1, 128,
128, 24, 1, 1, 1, 1, 0, 128,
128, 1, 0, 24, 0, 66, 1, 1,
1, 1, 1, 2, 1, 66, 1, 2,
128, 1, 1, 1, 127, 128, 62, 53,
53, 0, 53, 54, 1, 1, 1, 24,
0, 128, 0, 116, 0, 1, 1, 0,
53, 1, 1, 1, 24, 1, 128, 1,
1, 1, 1, 128, 128, 128, 0, 128,
1, 124, 24, 1, 1, 1, 0, 1,
0, 128, 128, 24, 0, 1, 1, 1,
0, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 4, 0, 66, 1, 0,
0, 0, 24, 1, 24, 66, 1, 1,
128, 24, 0, 20, 1, 84, 84, 84,
1, 1, 1, 27, 128, 128, 1, 0,
66, 2, 0, 0, 0, 0, 66, 128,
10, 1, 1, 1, 2, 1, 1, 2,
128, 10, 128, 1, 1, 2, 0, 25,
30, 1, 1, 66, 2, 27, 128, 128,
128, 0, 1, 0, 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, 66, 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, 0, 64, 93, 24, 0,
1, 1, 1, 0, 128, 128, 24, 0,
1, 1, 1, 0, 128, 128, 1, 0,
24, 0, 66, 1, 1, 128, 128, 10,
1, 24, 0, 0, 20, 2, 12, 1,
1, 54, 48, 75, 67, 15, 58, 1,
0, 5, 0, 0, 67, 67, 67, 67,
10, 1, 0, 5, 1, 0, 0, 67,
67, 67, 67, 67, 67, 67, 67, 69,
67, 69, 67, 1, 2, 1, 66, 1,
2, 128, 128, 0, 128, 128, 128, 128,
128, 128, 0, 1, 0, 0, 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, 84, 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, 128, 128, 0, 64, 0,
84, 84, 84, 1, 1, 1, 1, 1,
52, 1, 92, 101, 91, 1, 96, 24,
0, 1, 1, 1, 24, 1, 1
]
class << self
attr_accessor :_lex_index_offsets
private :_lex_index_offsets, :_lex_index_offsets=
end
self._lex_index_offsets = [
0, 0, 129, 258, 387, 516, 645, 774,
903, 905, 907, 909, 1038, 1040, 1042, 1044,
1046, 1175, 1304, 1433, 1562, 1691, 1820, 1949,
2078, 2207, 2336, 2465, 2594, 2723, 2852, 2981,
3110, 3239, 3368, 3370, 3372, 3374, 3376, 3386,
3388, 3390, 3392, 3394, 3396, 3398, 3400, 3402,
3531, 3533, 3662, 3747, 3749, 3834, 3836, 3838,
3840, 3842, 3844, 3846, 3975, 3977, 4062, 4147,
4232, 4317, 4402, 4404, 4533, 4662, 4729, 4731,
4860, 4989, 4991, 4993, 4995, 4997, 5126, 5214,
5216, 5345, 5474, 5603, 5732, 5861, 5990, 5992,
5994, 6123, 6139, 6150, 6161, 6172, 6183, 6185,
6187, 6189, 6191, 6193, 6195, 6197, 6326, 6328,
6413, 6498, 6583, 6668, 6753, 6838, 6840, 6842,
6927, 7012, 7014, 7016, 7018, 7020, 7022, 7024,
7026, 7028, 7030, 7032, 7034, 7036, 7038, 7040,
7068, 7069, 7099, 7228, 7239, 7368, 7497, 7626,
7755, 7780, 7781, 7848, 7850, 7852, 7981, 8110,
8121, 8123, 8125, 8127, 8129, 8131, 8134, 8136,
8203, 8205, 8208, 8337, 8466, 8595, 8724, 8853,
8982, 9111, 9113, 9115, 9244, 9373, 9502, 9631,
9760, 9889, 10018, 10147, 10276, 10405, 10534, 10663,
10792, 10921, 11050, 11179, 11308, 11437, 11566, 11695,
11824, 11953, 12082, 12211, 12340, 12469, 12598, 12727,
12856, 12985, 13114, 13243, 13372, 13501, 13630, 13759,
13888, 14017, 14146, 14275, 14404, 14533, 14662, 14791,
14920, 15049, 15178, 15307, 15436, 15565, 15694, 15823,
15952, 16081, 16210, 16339, 16468, 16597, 16726, 16855,
16984, 17113, 17242, 17371, 17500, 17629, 17758, 17887,
18016, 18145, 18274, 18403, 18532, 18661, 18790, 18919,
19048, 19177, 19306, 19435, 19564, 19693, 19822, 19824,
19953, 20082, 20107, 20109, 20111, 20113, 20115, 20116,
20245, 20374, 20376, 20377, 20402, 20403, 20470, 20472,
20474, 20476, 20478, 20480, 20483, 20485, 20552, 20554,
20557, 20686, 20688, 20690, 20692, 20820, 20949, 21012,
21066, 21120, 21121, 21175, 21230, 21232, 21234, 21236,
21261, 21262, 21391, 21392, 21509, 21510, 21512, 21514,
21515, 21569, 21571, 21573, 21575, 21600, 21602, 21731,
21733, 21735, 21737, 21739, 21868, 21997, 22126, 22127,
22256, 22258, 22383, 22408, 22410, 22412, 22414, 22415,
22417, 22418, 22547, 22676, 22701, 22702, 22704, 22706,
22708, 22709, 22838, 22967, 23096, 23225, 23354, 23483,
23612, 23741, 23870, 23999, 24128, 24257, 24386, 24515,
24644, 24773, 24902, 25031, 25036, 25037, 25104, 25106,
25107, 25108, 25109, 25134, 25136, 25161, 25228, 25230,
25232, 25361, 25386, 25387, 25408, 25410, 25495, 25580,
25665, 25667, 25669, 25671, 25699, 25828, 25957, 25959,
25960, 26027, 26030, 26031, 26032, 26033, 26034, 26101,
26230, 26241, 26243, 26245, 26247, 26250, 26252, 26254,
26257, 26386, 26397, 26526, 26528, 26530, 26533, 26534,
26560, 26591, 26593, 26595, 26662, 26665, 26693, 26822,
26951, 27080, 27081, 27083, 27084, 27213, 27342, 27471,
27600, 27729, 27858, 27987, 28116, 28245, 28374, 28503,
28632, 28761, 28890, 29019, 29148, 29277, 29406, 29535,
29664, 29793, 29922, 30051, 30180, 30309, 30438, 30567,
30696, 30825, 30954, 31083, 31212, 31341, 31470, 31599,
31728, 31857, 31986, 32115, 32244, 32373, 32502, 32631,
32760, 32889, 33018, 33147, 33276, 33405, 33534, 33663,
33792, 33921, 34050, 34179, 34308, 34437, 34566, 34695,
34824, 34953, 35020, 35149, 35278, 35407, 35536, 35665,
35794, 35923, 36052, 36181, 36310, 36439, 36568, 36697,
36826, 36955, 37084, 37213, 37342, 37471, 37600, 37729,
37858, 37987, 38116, 38245, 38246, 38311, 38405, 38430,
38431, 38433, 38435, 38437, 38438, 38567, 38696, 38721,
38722, 38724, 38726, 38728, 38729, 38858, 38987, 38989,
38990, 39015, 39016, 39083, 39085, 39087, 39216, 39345,
39356, 39358, 39383, 39384, 39385, 39406, 39409, 39422,
39424, 39426, 39481, 39530, 39606, 39674, 39690, 39749,
39751, 39752, 39758, 39759, 39760, 39828, 39896, 39964,
40032, 40043, 40045, 40046, 40052, 40054, 40055, 40056,
40124, 40192, 40260, 40328, 40396, 40464, 40532, 40600,
40670, 40738, 40808, 40876, 40878, 40881, 40883, 40950,
40952, 40955, 41084, 41213, 41214, 41343, 41472, 41601,
41730, 41859, 41988, 41989, 41991, 41992, 41993, 42122,
42251, 42380, 42509, 42638, 42767, 42896, 43025, 43154,
43283, 43412, 43541, 43670, 43799, 43928, 44057, 44186,
44315, 44444, 44573, 44702, 44831, 44960, 45089, 45218,
45347, 45476, 45605, 45734, 45863, 45992, 46121, 46250,
46379, 46508, 46637, 46766, 46851, 46980, 47109, 47238,
47367, 47496, 47625, 47754, 47883, 48012, 48141, 48270,
48399, 48528, 48657, 48786, 48915, 49044, 49173, 49302,
49431, 49560, 49689, 49818, 49947, 50076, 50205, 50334,
50463, 50592, 50721, 50850, 50979, 51108, 51237, 51366,
51495, 51624, 51753, 51882, 52011, 52140, 52269, 52398,
52527, 52656, 52785, 52914, 53043, 53172, 53301, 53430,
53559, 53688, 53817, 53946, 54075, 54204, 54333, 54462,
54591, 54720, 54849, 54978, 55107, 55236, 55237, 55302,
55303, 55388, 55473, 55558, 55560, 55562, 55564, 55566,
55568, 55621, 55623, 55716, 55818, 55910, 55912, 56009,
56034, 56035, 56037, 56039, 56041, 56066, 56068
]
class << self
attr_accessor :_lex_indicies
private :_lex_indicies, :_lex_indicies=
end
self._lex_indicies = [
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 1, 1, 2, 1, 2, 1, 1,
2, 2, 1, 1, 1, 3, 1, 1,
4, 4, 4, 4, 4, 4, 4, 4,
4, 4, 1, 1, 1, 1, 1, 1,
1, 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, 2, 1, 2, 2, 0,
1, 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, 2, 2, 2, 1, 2,
0, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 2, 2, 2, 2, 2,
2, 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, 2, 2, 2, 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, 2, 2, 2, 2,
2, 1, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 2, 2, 2, 2,
2, 2, 6, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 2, 2, 2,
2, 5, 2, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 2, 2, 2,
2, 2, 5, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 2, 2, 2,
2, 2, 2, 2, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 2, 2,
2, 2, 7, 2, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 2, 2,
2, 2, 2, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 8, 8,
8, 8, 8, 8, 8, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 8,
8, 8, 8, 9, 8, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 8,
8, 8, 8, 8, 9, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 11,
11, 11, 11, 11, 11, 11, 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,
11, 11, 11, 11, 11, 11, 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,
11, 11, 11, 11, 11, 10, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 14,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
15, 12, 12, 12, 12, 14, 12, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 12, 12, 12, 12, 13, 12, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 12, 12, 12, 12, 12, 13, 15,
12, 12, 16, 17, 12, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 20, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 21,
18, 18, 18, 18, 20, 18, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
18, 18, 18, 18, 19, 18, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
18, 18, 18, 18, 18, 19, 21, 18,
23, 22, 24, 22, 25, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 27,
22, 27, 27, 27, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 27, 22,
22, 22, 22, 28, 29, 22, 30, 22,
31, 32, 33, 34, 35, 28, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
36, 22, 37, 33, 38, 39, 22, 26,
26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26,
26, 40, 41, 33, 42, 26, 22, 26,
26, 26, 26, 26, 26, 26, 26, 43,
26, 26, 26, 26, 26, 26, 26, 26,
44, 26, 26, 45, 26, 46, 26, 26,
26, 47, 48, 22, 42, 22, 26, 22,
22, 22, 22, 22, 22, 22, 22, 22,
49, 22, 49, 49, 49, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 49,
22, 22, 22, 22, 50, 51, 22, 52,
22, 53, 54, 55, 56, 57, 50, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 58, 22, 59, 55, 60, 61, 22,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 62, 63, 55, 24, 19, 22,
19, 19, 19, 19, 19, 19, 19, 19,
64, 19, 19, 19, 19, 19, 19, 19,
19, 65, 19, 19, 66, 19, 67, 19,
19, 19, 68, 69, 22, 24, 22, 19,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 20, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 21, 22, 22, 22, 22, 20,
22, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 22, 22, 22, 22, 19,
22, 19, 19, 19, 19, 19, 70, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 22, 22, 22, 22, 22,
19, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 20, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 21, 22, 22, 22, 22,
20, 22, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 22, 22, 22, 22,
19, 22, 19, 19, 19, 19, 71, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 22, 22, 22, 22,
22, 19, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 20, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 21, 22, 22, 22,
22, 20, 22, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 22, 22, 22,
22, 19, 22, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 72, 19, 19,
19, 19, 19, 19, 19, 22, 22, 22,
22, 22, 19, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 20, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 21, 22, 22,
22, 22, 20, 22, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 22, 22,
22, 22, 19, 22, 19, 19, 73, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 22, 22,
22, 22, 22, 19, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 20, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 21, 22,
22, 22, 22, 20, 22, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 22,
22, 22, 22, 19, 22, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 74, 19, 19, 19, 19, 19, 22,
22, 22, 22, 22, 19, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 20, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 21,
22, 22, 22, 22, 20, 22, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
22, 22, 22, 22, 19, 22, 19, 19,
19, 19, 70, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
22, 22, 22, 22, 22, 19, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 20,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
21, 22, 22, 22, 22, 20, 22, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 22, 22, 22, 22, 19, 22, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 75, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 22, 22, 22, 22, 22, 19, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
20, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 21, 22, 22, 22, 22, 20, 22,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 22, 22, 22, 22, 19, 22,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 76, 19, 19, 19, 19,
19, 19, 19, 77, 19, 19, 19, 19,
19, 19, 22, 22, 22, 22, 22, 19,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 20, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 21, 22, 22, 22, 22, 20,
22, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 22, 22, 22, 22, 19,
22, 19, 19, 19, 19, 78, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 22, 22, 22, 22, 22,
19, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 20, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 21, 22, 22, 22, 22,
20, 22, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 22, 22, 22, 22,
19, 22, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 79, 19, 19, 19,
19, 19, 19, 19, 22, 22, 22, 22,
22, 19, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 20, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 21, 22, 22, 22,
22, 20, 22, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 22, 22, 22,
22, 19, 22, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 70, 19, 19,
19, 19, 19, 19, 19, 22, 22, 22,
22, 22, 19, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 20, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 21, 22, 22,
22, 22, 20, 22, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 22, 22,
22, 22, 19, 22, 19, 19, 19, 19,
19, 19, 19, 19, 80, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 22, 22,
22, 22, 22, 19, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 20, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 21, 22,
22, 22, 22, 20, 22, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 22,
22, 22, 22, 19, 22, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
70, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 22,
22, 22, 22, 22, 19, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 20, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 21,
22, 22, 22, 22, 20, 22, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
22, 22, 22, 22, 19, 22, 19, 19,
19, 19, 19, 19, 19, 81, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
22, 22, 22, 22, 22, 19, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 20,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
21, 22, 22, 22, 22, 20, 22, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 22, 22, 22, 22, 19, 22, 19,
19, 19, 19, 19, 19, 19, 19, 82,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 22, 22, 22, 22, 22, 19, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22,
20, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 21, 22, 22, 22, 22, 20, 22,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 22, 22, 22, 22, 19, 22,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 74, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 22, 22, 22, 22, 22, 19,
84, 83, 85, 83, 86, 83, 55, 83,
87, 83, 83, 83, 83, 83, 83, 83,
88, 83, 89, 83, 90, 83, 55, 83,
91, 83, 55, 83, 92, 83, 86, 83,
94, 93, 95, 95, 95, 95, 95, 95,
95, 95, 95, 97, 95, 97, 97, 97,
95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 97, 95, 95, 95, 95, 95,
95, 95, 98, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 95, 99, 95,
95, 96, 95, 96, 96, 96, 100, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 95, 95, 95,
95, 95, 96, 101, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 103, 95,
103, 103, 103, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 103, 95, 95,
95, 95, 95, 95, 95, 104, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 95, 95,
95, 95, 95, 95, 95, 95, 102, 102,
102, 102, 102, 102, 102, 102, 102, 102,
102, 102, 102, 102, 102, 102, 102, 102,
102, 102, 102, 102, 102, 102, 102, 102,
95, 105, 95, 95, 102, 95, 102, 102,
102, 106, 102, 102, 102, 102, 102, 102,
102, 102, 102, 102, 102, 102, 102, 102,
102, 102, 102, 102, 102, 102, 102, 102,
95, 95, 95, 95, 95, 102, 108, 107,
108, 108, 108, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 108, 107, 107,
107, 107, 107, 107, 107, 109, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 110, 107, 111, 107, 112, 107, 112,
112, 112, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 112, 107, 107, 107,
107, 107, 107, 107, 113, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
107, 107, 107, 107, 107, 107, 107, 107,
114, 107, 115, 116, 118, 117, 119, 117,
120, 117, 121, 117, 122, 117, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 124, 124,
124, 124, 124, 124, 124, 124, 123, 123,
123, 123, 123, 123, 123, 123, 123, 123,
124, 124, 124, 124, 124, 124, 124, 123,
123, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 123, 123, 123, 123, 123,
123, 124, 124, 124, 124, 124, 124, 123,
123, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 123, 123, 123, 123, 123,
123, 123, 123, 123, 123, 123, 123, 123,
123, 124, 124, 124, 124, 124, 123, 125,
115, 126, 127, 126, 126, 126, 115, 115,
115, 115, 115, 115, 115, 115, 115, 115,
115, 115, 115, 115, 115, 115, 115, 115,
126, 115, 115, 128, 115, 115, 115, 115,
115, 115, 115, 115, 115, 115, 115, 115,
129, 129, 129, 129, 129, 129, 129, 129,
129, 129, 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, 130, 115, 131, 132,
131, 131, 131, 115, 115, 115, 115, 115,
115, 115, 115, 115, 115, 115, 115, 115,
115, 115, 115, 115, 115, 131, 115, 115,
133, 115, 115, 115, 115, 115, 115, 115,
115, 115, 115, 115, 115, 134, 134, 134,
134, 134, 134, 134, 134, 134, 134, 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, 135, 115, 137, 138, 137, 137, 137,
136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 137, 136, 136, 139, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 140, 140, 140, 140, 140, 140,
140, 140, 140, 140, 136, 136, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 136, 136, 136, 136, 136, 136,
136, 136, 136, 136, 136, 136, 141, 136,
143, 144, 143, 143, 143, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 143,
142, 142, 145, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 146,
146, 146, 146, 146, 146, 146, 146, 146,
146, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 147, 142, 143, 148, 143,
143, 143, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 143, 142, 142, 145,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 146, 146, 146, 146,
146, 146, 146, 146, 146, 146, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
147, 142, 127, 115, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 151, 151, 149,
151, 149, 151, 151, 149, 149, 151, 151,
151, 152, 151, 151, 153, 153, 153, 153,
153, 153, 153, 153, 153, 153, 151, 151,
151, 151, 151, 151, 151, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 149,
151, 149, 149, 150, 151, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 149,
149, 149, 151, 149, 150, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 149,
149, 149, 149, 149, 149, 149, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151,
149, 149, 149, 149, 151, 149, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151,
151, 151, 151, 151, 151, 151, 151, 151,
149, 149, 149, 149, 149, 151, 154, 151,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 151,
149, 154, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 156, 149, 149,
149, 149, 157, 149, 149, 149, 149, 149,
158, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
125, 149, 149, 149, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 149, 149,
149, 149, 155, 159, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 149, 149,
149, 158, 149, 155, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 162, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 161, 161,
161, 161, 161, 161, 161, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 161,
161, 161, 161, 160, 161, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 160,
160, 160, 160, 160, 160, 160, 160, 161,
161, 161, 161, 161, 160, 164, 163, 167,
166, 162, 161, 167, 168, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 156,
149, 149, 149, 149, 157, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
149, 149, 149, 149, 155, 159, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
155, 155, 155, 155, 155, 155, 155, 155,
149, 149, 149, 149, 149, 155, 170, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 169, 169, 169, 169,
169, 169, 169, 169, 167, 169, 167, 170,
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, 172, 115, 115, 115, 115, 115, 115,
115, 115, 115, 115, 115, 115, 115, 115,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 173, 115, 115, 174, 115, 172,
115, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 115, 115, 115, 115, 171,
115, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 115, 115, 115, 115, 115,
171, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 172, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 173, 149, 149, 174, 149,
172, 149, 171, 171, 171, 171, 171, 171,
175, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 149, 149, 149, 149,
171, 149, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 149, 149, 149, 149,
149, 171, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 172, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 173, 149, 149, 174,
149, 172, 149, 171, 171, 171, 171, 171,
171, 171, 171, 176, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 149, 149, 149,
149, 171, 149, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 149, 149, 149,
149, 149, 171, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 172, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 173, 149, 149,
174, 149, 172, 149, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 177, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 149, 149,
149, 149, 171, 149, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 149, 149,
149, 149, 149, 171, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 149, 172, 149, 149,
149, 149, 149, 149, 149, 149, 149, 149,
149, 149, 149, 149, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 173, 149,
149, 174, 149, 172, 149, 171, 171, 171,
177, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 149,
149, 149, 149, 171, 149, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 149,
149, 149, 149, 149, 171, 178, 178, 178,
178, 178, 178, 178, 178, 178, 178, 178,
178, 178, 178, 178, 178, 178, 178, 178,
178, 178, 178, 178, 178, 178, 178, 178,
178, 178, 178, 178, 178, 178, 180, 178,
178, 178, 178, 178, 178, 178, 178, 178,
178, 178, 178, 178, 178, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 181,
178, 178, 178, 178, 180, 178, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
178, 178, 178, 178, 179, 178, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
178, 178, 178, 178, 178, 179, 181, 178,
178, 182, 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, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 183, 183, 183, 183,
183, 183, 183, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 183, 183, 183,
183, 184, 183, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 184, 184, 184,
184, 184, 184, 184, 184, 183, 183, 183,
183, 183, 184, 186, 185, 186, 185, 185,
187, 187, 187, 187, 187, 187, 187, 187,
187, 187, 185, 187, 187, 187, 187, 187,
187, 187, 187, 187, 187, 185, 188, 188,
188, 188, 188, 188, 188, 188, 188, 188,
185, 190, 190, 190, 190, 190, 190, 190,
190, 190, 190, 189, 191, 191, 191, 191,
191, 191, 191, 191, 191, 191, 189, 193,
192, 194, 192, 195, 192, 196, 192, 198,
197, 199, 197, 200, 197, 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, 201, 201, 201,
201, 201, 201, 201, 201, 201, 201, 183,
183, 183, 183, 183, 183, 183, 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,
183, 183, 183, 183, 201, 183, 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,
183, 183, 183, 183, 183, 201, 202, 189,
203, 204, 203, 203, 203, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 203,
189, 189, 205, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 206, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 207, 189, 208, 209, 208,
208, 208, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 208, 189, 189, 210,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
211, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
212, 189, 214, 215, 214, 214, 214, 213,
213, 213, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 213, 213, 213,
213, 214, 213, 213, 216, 213, 213, 213,
213, 213, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 217, 213, 213,
213, 213, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 213, 213, 213,
213, 213, 213, 213, 213, 218, 213, 220,
221, 220, 220, 220, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 220, 219,
219, 222, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 223, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 224, 219, 220, 221, 220, 220,
220, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 220, 219, 219, 222, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 225,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 224,
219, 220, 226, 220, 220, 220, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
220, 219, 219, 222, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 223, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 224, 219, 227, 189,
204, 189, 229, 230, 229, 229, 229, 228,
228, 228, 228, 228, 228, 228, 228, 228,
228, 228, 228, 228, 228, 228, 228, 228,
228, 229, 228, 228, 231, 228, 228, 232,
228, 228, 228, 228, 228, 228, 228, 233,
228, 228, 228, 228, 228, 228, 228, 228,
228, 228, 228, 228, 228, 228, 228, 228,
228, 228, 228, 228, 228, 228, 228, 228,
228, 228, 228, 228, 228, 228, 228, 228,
228, 228, 228, 228, 228, 228, 228, 228,
228, 228, 228, 228, 228, 234, 228, 236,
230, 236, 236, 236, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 236, 235,
235, 231, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 235, 235, 235, 235, 235, 235,
235, 235, 234, 235, 239, 238, 241, 240,
242, 237, 243, 237, 244, 228, 246, 245,
247, 245, 248, 245, 249, 245, 250, 245,
251, 245, 252, 245, 253, 245, 254, 245,
255, 245, 245, 245, 255, 245, 245, 245,
245, 245, 256, 245, 245, 245, 245, 245,
245, 245, 245, 245, 245, 245, 245, 245,
245, 245, 255, 245, 257, 258, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 259, 2, 260, 260, 260, 260, 260,
260, 260, 260, 260, 260, 260, 260, 260,
260, 260, 260, 260, 260, 260, 260, 260,
260, 260, 260, 260, 260, 260, 260, 260,
260, 260, 260, 260, 260, 260, 260, 260,
260, 260, 260, 260, 260, 260, 260, 260,
260, 260, 260, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 260, 260, 260,
260, 260, 260, 260, 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, 260, 260,
260, 260, 0, 260, 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, 260, 260,
260, 260, 260, 0, 4, 4, 4, 4,
4, 4, 4, 4, 4, 4, 260, 261,
261, 261, 261, 261, 261, 261, 261, 261,
261, 261, 261, 261, 261, 261, 261, 261,
261, 261, 261, 261, 261, 261, 261, 261,
261, 261, 261, 261, 261, 261, 261, 261,
261, 261, 261, 261, 261, 261, 261, 261,
261, 261, 261, 261, 261, 261, 261, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 261, 261, 261, 261, 261, 261, 261,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 261, 261, 261, 261, 5, 261,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 261, 261, 261, 261, 261, 5,
262, 262, 262, 262, 262, 262, 262, 262,
262, 262, 262, 262, 262, 262, 262, 262,
262, 262, 262, 262, 262, 262, 262, 262,
262, 262, 262, 262, 262, 262, 262, 262,
262, 262, 262, 262, 262, 262, 262, 262,
262, 262, 262, 262, 262, 262, 262, 262,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 262, 262, 262, 262, 262, 262,
262, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 262, 262, 262, 262, 7,
262, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 262, 262, 262, 262, 262,
7, 264, 265, 265, 265, 264, 265, 265,
265, 265, 266, 267, 266, 266, 266, 265,
265, 265, 265, 265, 265, 265, 265, 265,
265, 265, 265, 264, 265, 265, 265, 265,
265, 266, 268, 265, 269, 270, 271, 272,
265, 265, 265, 273, 274, 265, 274, 265,
275, 265, 265, 265, 265, 265, 265, 265,
265, 265, 265, 276, 265, 277, 278, 279,
265, 265, 280, 281, 280, 280, 282, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 283, 284, 265, 275,
285, 275, 286, 287, 288, 289, 290, 291,
263, 263, 292, 263, 263, 263, 293, 294,
295, 263, 263, 296, 297, 298, 299, 263,
300, 263, 301, 263, 265, 302, 265, 274,
265, 263, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 304, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 303, 303, 303, 304,
303, 304, 303, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 303, 303, 303,
303, 263, 303, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 303, 303, 303,
303, 303, 263, 266, 305, 266, 266, 266,
305, 305, 305, 305, 305, 305, 305, 305,
305, 305, 305, 305, 305, 305, 305, 305,
305, 305, 266, 305, 306, 275, 307, 307,
275, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 275, 307,
308, 309, 310, 311, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 9, 9, 312,
9, 312, 9, 9, 312, 312, 9, 9,
9, 314, 9, 9, 315, 315, 315, 315,
315, 315, 315, 315, 315, 315, 9, 9,
9, 9, 9, 9, 9, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 312,
9, 312, 312, 313, 9, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 312,
312, 312, 9, 312, 313, 316, 316, 316,
316, 316, 316, 316, 316, 316, 316, 316,
316, 316, 316, 316, 316, 316, 316, 316,
316, 316, 316, 316, 316, 316, 316, 316,
316, 316, 316, 316, 316, 316, 316, 316,
316, 316, 316, 316, 316, 316, 316, 316,
316, 316, 316, 316, 316, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 316,
316, 316, 316, 316, 316, 316, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
316, 316, 316, 316, 313, 316, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
313, 313, 313, 313, 313, 313, 313, 313,
316, 316, 316, 316, 316, 313, 315, 315,
315, 315, 315, 315, 315, 315, 315, 315,
316, 317, 307, 275, 307, 275, 307, 275,
307, 319, 318, 275, 320, 307, 275, 307,
321, 275, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 312, 312, 312, 312, 312, 312, 312,
312, 275, 312, 275, 307, 275, 275, 307,
303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
303, 304, 303, 303, 303, 303, 303, 303,
303, 303, 303, 303, 303, 303, 303, 303,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 303, 303, 303, 304, 303, 304,
303, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 303, 303, 303, 303, 280,
303, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 303, 303, 303, 303, 303,
280, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 304, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 322, 322, 322, 304, 322,
304, 322, 280, 280, 280, 280, 323, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 322, 322, 322, 322,
280, 322, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 322, 322, 322, 322,
322, 280, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 304, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 322, 322, 322, 304,
322, 304, 322, 280, 280, 280, 280, 280,
280, 324, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 322, 322, 322,
322, 280, 322, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 322, 322, 322,
322, 322, 280, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 304, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 322, 322, 322,
304, 322, 304, 322, 280, 280, 280, 280,
280, 280, 280, 280, 325, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 322, 322,
322, 322, 280, 322, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 322, 322,
322, 322, 322, 280, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 304, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 322, 322,
322, 304, 322, 304, 322, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 326, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 322,
322, 322, 322, 280, 322, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 322,
322, 322, 322, 322, 280, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 304, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 322,
322, 322, 304, 322, 304, 322, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 327, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
322, 322, 322, 322, 280, 322, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
322, 322, 322, 322, 322, 280, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 322, 304,
322, 322, 322, 322, 322, 322, 322, 322,
322, 322, 322, 322, 322, 322, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
322, 322, 322, 304, 322, 304, 322, 280,
280, 280, 326, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 322, 322, 322, 322, 280, 322, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 280, 280, 280, 280, 280, 280, 280,
280, 322, 322, 322, 322, 322, 280, 321,
312, 267, 312, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 329, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 330, 331, 263, 263, 263, 263, 263,
332, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 333, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 334, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 335, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 336, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 337, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
338, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 339, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 340, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 341, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 342,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 343, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 339, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 344, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
343, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 345,
263, 346, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 263, 263, 263, 263, 347, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 348, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 341, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 341, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 349, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 350, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 263, 263,
351, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 263,
263, 263, 263, 352, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 341, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 353, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 354, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 341, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
355, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 356, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 357, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 341, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 358, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 348, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 359, 263, 263, 263, 263, 263, 263,
263, 263, 263, 341, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 263, 263, 360, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 361, 361,
361, 361, 361, 361, 361, 361, 361, 361,
361, 361, 361, 361, 361, 361, 361, 361,
361, 361, 361, 361, 361, 361, 361, 361,
361, 361, 361, 361, 361, 361, 361, 304,
361, 361, 361, 361, 361, 361, 361, 361,
361, 361, 361, 361, 361, 361, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
361, 361, 361, 304, 361, 304, 361, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 361, 361, 361, 361, 263, 361, 263,
263, 263, 263, 263, 263, 263, 263, 362,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 361, 361, 361, 361, 361, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 363, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 364, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 365, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 366, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 367,
263, 368, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 369,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 263, 341, 263, 263, 263, 370, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 263, 341, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 341, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 371, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 372, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 357, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 373, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 295, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 355,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 341, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 263, 263, 341, 263, 263, 263, 263,
263, 263, 263, 341, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 374, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 375, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 376, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 357, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 377,
263, 263, 263, 378, 263, 263, 263, 263,
263, 379, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 379, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
341, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 341, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 380, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 381, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 382, 383, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 341,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 384, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 357,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 385, 263, 263,
386, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 341, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 352,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 387, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 388, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 370, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
389, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 295, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 263,
263, 263, 390, 263, 263, 263, 263, 263,
263, 263, 263, 263, 384, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
352, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 391, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 392, 263, 263, 263, 263, 263, 263,
263, 393, 263, 263, 263, 263, 263, 263,
263, 394, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 304,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 304, 328, 304, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 263, 328, 263,
263, 263, 263, 370, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 328, 328, 263, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
304, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 328, 328, 328, 304, 328, 304, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 263, 328,
263, 263, 263, 263, 358, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 328, 328, 263,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 304, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 328, 328, 328, 304, 328, 304,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 263,
328, 263, 263, 263, 263, 263, 263, 263,
263, 378, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 328, 328,
263, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 304, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 328, 328, 328, 304, 328,
304, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
263, 328, 263, 263, 263, 263, 263, 263,
263, 395, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 328,
328, 263, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 304, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 328, 328, 328, 304,
328, 304, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 263, 328, 263, 263, 263, 263, 352,
263, 263, 263, 376, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
328, 328, 263, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 304, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 328, 328, 328,
304, 328, 304, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 263, 328, 263, 263, 263, 263,
263, 263, 263, 263, 396, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 328, 328, 263, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 304, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 328, 328,
328, 304, 328, 304, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 263, 328, 263, 263, 263,
263, 397, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 328, 328, 263, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 328, 304, 328,
328, 328, 328, 328, 328, 328, 328, 328,
328, 328, 328, 328, 328, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 328,
328, 328, 304, 328, 304, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 263, 328, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
263, 346, 263, 263, 263, 263, 263, 263,
263, 263, 263, 263, 263, 263, 263, 263,
328, 328, 328, 328, 328, 263, 275, 307,
399, 400, 400, 400, 399, 400, 400, 400,
400, 401, 400, 401, 401, 401, 400, 400,
400, 400, 400, 400, 400, 400, 400, 400,
400, 400, 399, 400, 400, 400, 400, 400,
401, 400, 400, 402, 400, 400, 400, 400,
400, 400, 400, 400, 400, 400, 403, 400,
400, 400, 400, 400, 400, 400, 400, 400,
400, 400, 400, 400, 400, 400, 400, 400,
400, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 400, 404, 400, 400, 398,
400, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 400, 400, 400, 400, 400,
398, 405, 405, 405, 405, 405, 405, 405,
405, 405, 405, 405, 405, 405, 405, 405,
405, 405, 405, 405, 405, 405, 405, 405,
405, 405, 405, 405, 405, 405, 405, 405,
405, 405, 14, 405, 405, 405, 405, 405,
405, 405, 405, 405, 405, 405, 405, 405,
405, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 15, 405, 405, 405, 405,
14, 405, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 405, 405, 405, 405,
13, 405, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 405, 405, 405, 405,
405, 13, 401, 406, 401, 401, 401, 406,
406, 406, 406, 406, 406, 406, 406, 406,
406, 406, 406, 406, 406, 406, 406, 406,
406, 401, 406, 407, 408, 409, 410, 411,
405, 412, 405, 413, 415, 416, 416, 416,
415, 416, 416, 416, 416, 417, 418, 417,
417, 417, 416, 416, 416, 416, 416, 416,
416, 416, 416, 416, 416, 416, 415, 416,
416, 416, 416, 416, 417, 419, 416, 420,
416, 421, 422, 416, 416, 416, 423, 424,
416, 424, 416, 421, 416, 416, 416, 416,
416, 416, 416, 416, 416, 416, 416, 416,
425, 426, 427, 416, 416, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 429,
430, 416, 421, 414, 421, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 416,
431, 416, 424, 416, 414, 432, 432, 432,
432, 432, 432, 432, 432, 432, 432, 432,
432, 432, 432, 432, 432, 432, 432, 432,
432, 432, 432, 432, 432, 432, 432, 432,
432, 432, 432, 432, 432, 432, 433, 432,
432, 432, 432, 432, 432, 432, 432, 432,
432, 432, 432, 432, 432, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 432,
432, 432, 432, 432, 433, 432, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
432, 432, 432, 432, 414, 432, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
414, 414, 414, 414, 414, 414, 414, 414,
432, 432, 432, 432, 432, 414, 435, 434,
436, 417, 437, 417, 417, 417, 437, 437,
437, 437, 437, 437, 437, 437, 437, 437,
437, 437, 437, 437, 437, 437, 437, 437,
417, 437, 438, 421, 439, 439, 421, 439,
439, 439, 439, 439, 439, 439, 439, 439,
439, 439, 439, 439, 439, 439, 439, 439,
439, 439, 439, 439, 439, 439, 439, 439,
439, 439, 439, 439, 439, 439, 439, 439,
439, 439, 439, 439, 439, 439, 439, 439,
439, 439, 439, 439, 439, 439, 439, 439,
439, 439, 439, 439, 439, 439, 439, 439,
439, 439, 439, 439, 421, 439, 440, 441,
442, 443, 421, 439, 421, 439, 421, 439,
421, 444, 439, 421, 439, 446, 421, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 445, 445,
445, 445, 445, 445, 445, 445, 421, 445,
421, 439, 421, 421, 439, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 447, 433, 447,
447, 447, 447, 447, 447, 447, 447, 447,
447, 447, 447, 447, 447, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 447,
447, 447, 447, 447, 433, 447, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
447, 447, 447, 447, 428, 447, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
428, 428, 428, 428, 428, 428, 428, 428,
447, 447, 447, 447, 447, 428, 446, 445,
418, 445, 421, 439, 449, 448, 448, 448,
449, 448, 448, 448, 448, 450, 451, 450,
450, 450, 448, 448, 448, 448, 448, 448,
448, 448, 448, 448, 448, 448, 449, 448,
448, 448, 448, 448, 450, 448, 448, 452,
448, 24, 453, 448, 454, 448, 455, 24,
55, 456, 57, 24, 448, 448, 448, 448,
448, 448, 448, 448, 448, 448, 457, 448,
458, 55, 459, 460, 448, 448, 448, 448,
448, 448, 448, 448, 448, 448, 448, 448,
448, 448, 448, 448, 448, 448, 448, 448,
448, 448, 448, 448, 448, 448, 448, 55,
461, 55, 24, 448, 448, 448, 448, 448,
448, 448, 448, 448, 448, 462, 448, 448,
448, 448, 448, 448, 448, 448, 463, 448,
448, 464, 448, 465, 448, 448, 448, 68,
69, 448, 24, 448, 466, 466, 466, 466,
466, 466, 466, 466, 466, 450, 466, 450,
450, 450, 466, 466, 466, 466, 466, 466,
466, 466, 466, 466, 466, 466, 466, 466,
466, 466, 466, 466, 450, 466, 466, 466,
466, 50, 51, 466, 52, 466, 53, 54,
55, 56, 57, 50, 466, 466, 466, 466,
466, 466, 466, 466, 466, 466, 58, 466,
59, 55, 60, 61, 466, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 62,
63, 55, 24, 19, 466, 19, 19, 19,
19, 19, 19, 19, 19, 64, 19, 19,
19, 19, 19, 19, 19, 19, 65, 19,
19, 66, 19, 67, 19, 19, 19, 68,
69, 466, 24, 466, 19, 467, 468, 468,
468, 467, 468, 468, 468, 468, 55, 469,
55, 55, 55, 468, 468, 468, 468, 468,
468, 468, 468, 468, 468, 468, 468, 467,
468, 468, 468, 468, 468, 55, 468, 468,
468, 468, 468, 468, 468, 468, 468, 468,
468, 468, 468, 468, 468, 468, 468, 468,
468, 468, 468, 468, 468, 468, 468, 468,
468, 468, 55, 468, 55, 469, 55, 55,
55, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 55, 18, 18, 18, 18,
18, 24, 18, 18, 18, 18, 18, 18,
18, 55, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
55, 18, 55, 469, 55, 55, 55, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 55, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 55, 18,
470, 55, 469, 55, 55, 55, 471, 471,
471, 471, 471, 471, 471, 471, 471, 471,
471, 471, 471, 471, 471, 471, 471, 471,
55, 471, 471, 471, 471, 471, 471, 471,
471, 471, 472, 471, 471, 471, 471, 471,
471, 471, 471, 471, 471, 471, 471, 471,
471, 471, 471, 471, 471, 55, 471, 55,
469, 55, 55, 55, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 55, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 18, 18, 18, 18, 18,
18, 18, 18, 55, 55, 18, 473, 467,
55, 467, 475, 474, 477, 478, 477, 477,
477, 476, 476, 476, 476, 476, 476, 476,
476, 476, 476, 476, 476, 476, 476, 476,
476, 476, 476, 477, 476, 479, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 20,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
21, 467, 467, 467, 467, 20, 467, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 467, 467, 467, 467, 19, 467, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 19, 19, 19, 19, 19, 19, 19,
19, 467, 467, 467, 467, 467, 19, 480,
55, 469, 55, 55, 55, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 55,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 55, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 24, 467, 481, 482, 483,
484, 485, 486, 55, 469, 55, 55, 55,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 55, 467, 467, 467, 467, 467,
467, 467, 467, 467, 24, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 467,
467, 467, 467, 467, 467, 467, 467, 55,
467, 55, 474, 24, 487, 24, 487, 488,
489, 488, 488, 488, 476, 476, 476, 476,
476, 476, 476, 476, 476, 476, 476, 476,
476, 476, 476, 476, 476, 476, 488, 476,
490, 487, 491, 491, 491, 491, 491, 491,
491, 491, 491, 27, 491, 27, 27, 27,
491, 491, 491, 491, 491, 491, 491, 491,
491, 491, 491, 491, 491, 491, 491, 491,
491, 491, 27, 491, 491, 491, 491, 28,
29, 491, 30, 491, 31, 32, 33, 34,
35, 28, 491, 491, 491, 491, 491, 491,
491, 491, 491, 491, 36, 491, 37, 33,
38, 39, 491, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 40, 41, 33,
42, 26, 491, 26, 26, 26, 26, 26,
26, 26, 26, 43, 26, 26, 26, 26,
26, 26, 26, 26, 44, 26, 26, 45,
26, 46, 26, 26, 26, 47, 48, 491,
42, 491, 26, 55, 487, 492, 487, 493,
487, 494, 487, 495, 94, 94, 94, 495,
94, 94, 94, 94, 496, 94, 496, 496,
496, 94, 94, 94, 94, 94, 94, 94,
94, 94, 94, 94, 94, 495, 94, 94,
94, 94, 94, 496, 94, 94, 94, 94,
94, 94, 94, 94, 94, 94, 94, 94,
94, 94, 94, 94, 94, 94, 94, 94,
94, 94, 94, 94, 94, 94, 94, 94,
94, 94, 94, 94, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 94, 497,
94, 94, 96, 94, 96, 96, 96, 100,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 94, 94,
94, 94, 94, 96, 93, 93, 93, 93,
93, 93, 93, 93, 93, 93, 93, 93,
93, 93, 93, 93, 93, 93, 93, 93,
93, 93, 93, 93, 93, 93, 93, 93,
93, 93, 93, 93, 93, 498, 93, 93,
93, 93, 93, 93, 93, 93, 93, 93,
93, 93, 93, 93, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 94, 93,
93, 93, 93, 498, 93, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 93,
93, 93, 93, 96, 93, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 93,
93, 93, 93, 93, 96, 499, 499, 499,
499, 499, 499, 499, 499, 499, 97, 499,
97, 97, 97, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 97, 499, 499,
499, 499, 499, 499, 499, 98, 499, 499,
499, 499, 499, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 499, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
499, 99, 499, 499, 96, 499, 96, 96,
96, 100, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
499, 499, 499, 499, 499, 96, 500, 499,
499, 499, 499, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 499, 499, 499,
498, 499, 499, 499, 499, 499, 499, 499,
499, 499, 499, 499, 499, 499, 499, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 94, 499, 499, 499, 499, 498, 499,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 499, 499, 499, 499, 96, 499,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 96, 96, 96, 96, 501, 96,
96, 96, 96, 96, 96, 96, 96, 96,
96, 96, 499, 499, 499, 499, 499, 96,
101, 499, 503, 502, 502, 502, 503, 502,
502, 502, 502, 504, 502, 504, 504, 504,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 503, 502, 502, 502,
502, 502, 504, 502, 502, 505, 502, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 502, 506, 502,
502, 502, 502, 502, 502, 502, 507, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 502, 502, 502,
502, 502, 502, 502, 502, 508, 502, 504,
509, 504, 504, 504, 509, 509, 509, 509,
509, 509, 509, 509, 509, 509, 509, 509,
509, 509, 509, 509, 509, 509, 504, 509,
510, 511, 512, 513, 515, 514, 516, 517,
514, 518, 520, 521, 521, 521, 520, 521,
521, 521, 521, 522, 523, 522, 522, 522,
521, 521, 521, 521, 521, 521, 521, 521,
521, 521, 521, 521, 520, 521, 521, 521,
521, 521, 522, 521, 521, 524, 521, 521,
521, 521, 521, 521, 521, 521, 521, 521,
521, 521, 521, 521, 521, 521, 521, 521,
521, 521, 521, 521, 521, 521, 521, 521,
521, 521, 521, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 521, 525, 521,
521, 519, 521, 519, 519, 519, 519, 519,
519, 519, 519, 526, 519, 519, 519, 519,
519, 519, 519, 519, 527, 519, 519, 528,
519, 529, 519, 519, 519, 521, 521, 521,
521, 521, 519, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 530, 530, 530, 530, 530,
530, 530, 530, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 530, 530, 530,
530, 530, 530, 530, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 530, 530,
530, 530, 519, 530, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 530, 530,
530, 530, 530, 519, 522, 531, 522, 522,
522, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 531, 531, 531, 531, 531,
531, 531, 531, 522, 531, 532, 533, 534,
535, 536, 538, 537, 539, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 540,
540, 540, 540, 540, 540, 540, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
540, 540, 540, 540, 519, 540, 519, 519,
519, 519, 519, 541, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
540, 540, 540, 540, 540, 519, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
540, 540, 540, 540, 540, 540, 540, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 540, 540, 540, 540, 519, 540, 519,
519, 519, 519, 542, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 540, 540, 540, 540, 540, 519, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 540, 540, 540, 540, 540, 540, 540,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 540, 540, 540, 540, 519, 540,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 543, 519, 519, 519, 519, 519,
519, 519, 540, 540, 540, 540, 540, 519,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 540, 540, 540, 540, 540, 540,
540, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 540, 540, 540, 540, 519,
540, 519, 519, 544, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 540, 540, 540, 540, 540,
519, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 540, 540, 540, 540, 540,
540, 540, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 540, 540, 540, 540,
519, 540, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 545, 519,
519, 519, 519, 519, 540, 540, 540, 540,
540, 519, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 540, 540, 540, 540,
540, 540, 540, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 540, 540, 540,
540, 519, 540, 519, 519, 519, 519, 541,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 540, 540, 540,
540, 540, 519, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 540, 540, 540,
540, 540, 540, 540, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 540, 540,
540, 540, 519, 540, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 546, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 540, 540,
540, 540, 540, 519, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 540, 540,
540, 540, 540, 540, 540, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 540,
540, 540, 540, 519, 540, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
547, 519, 519, 519, 519, 519, 519, 519,
548, 519, 519, 519, 519, 519, 519, 540,
540, 540, 540, 540, 519, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 540,
540, 540, 540, 540, 540, 540, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
540, 540, 540, 540, 519, 540, 519, 519,
519, 519, 549, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
540, 540, 540, 540, 540, 519, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
540, 540, 540, 540, 540, 540, 540, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 540, 540, 540, 540, 519, 540, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 550, 519, 519, 519, 519, 519, 519,
519, 540, 540, 540, 540, 540, 519, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 540, 540, 540, 540, 540, 540, 540,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 540, 540, 540, 540, 519, 540,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 541, 519, 519, 519, 519, 519,
519, 519, 540, 540, 540, 540, 540, 519,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 540, 540, 540, 540, 540, 540,
540, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 540, 540, 540, 540, 519,
540, 519, 519, 519, 519, 519, 519, 519,
519, 551, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 540, 540, 540, 540, 540,
519, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 540, 540, 540, 540, 540,
540, 540, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 540, 540, 540, 540,
519, 540, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 541, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 540, 540, 540, 540,
540, 519, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 540, 540, 540, 540,
540, 540, 540, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 540, 540, 540,
540, 519, 540, 519, 519, 519, 519, 519,
519, 519, 552, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 540, 540, 540,
540, 540, 519, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 540, 540, 540,
540, 540, 540, 540, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 540, 540,
540, 540, 519, 540, 519, 519, 519, 519,
519, 519, 519, 519, 553, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 540, 540,
540, 540, 540, 519, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 540, 540, 540, 540,
540, 540, 540, 540, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 540, 540,
540, 540, 540, 540, 540, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 540,
540, 540, 540, 519, 540, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 519,
545, 519, 519, 519, 519, 519, 519, 519,
519, 519, 519, 519, 519, 519, 519, 540,
540, 540, 540, 540, 519, 555, 125, 125,
125, 555, 125, 125, 125, 125, 556, 557,
556, 556, 556, 125, 125, 125, 125, 125,
125, 125, 125, 125, 125, 125, 125, 555,
125, 125, 125, 125, 125, 556, 558, 125,
559, 125, 560, 561, 125, 562, 125, 563,
564, 125, 565, 566, 567, 125, 125, 125,
125, 125, 125, 125, 125, 125, 125, 568,
125, 569, 570, 571, 572, 125, 573, 574,
573, 573, 575, 573, 573, 573, 573, 573,
573, 573, 573, 573, 573, 573, 573, 573,
573, 573, 573, 573, 573, 573, 573, 573,
576, 577, 125, 578, 579, 125, 580, 581,
582, 583, 584, 585, 554, 554, 586, 554,
554, 554, 587, 588, 589, 554, 554, 590,
591, 592, 593, 554, 594, 554, 595, 554,
596, 597, 125, 578, 125, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 602,
601, 601, 603, 601, 604, 606, 607, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 608, 605,
610, 609, 611, 612, 613, 556, 614, 556,
556, 556, 614, 614, 614, 614, 614, 614,
614, 614, 614, 614, 614, 614, 614, 614,
614, 614, 614, 614, 556, 614, 616, 615,
618, 619, 618, 618, 618, 617, 617, 617,
617, 617, 617, 617, 617, 617, 617, 617,
617, 617, 617, 617, 617, 617, 617, 618,
617, 125, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 125, 620, 621, 622, 623, 624,
626, 626, 626, 626, 626, 626, 626, 626,
626, 626, 626, 626, 626, 626, 626, 626,
626, 626, 626, 626, 626, 626, 626, 626,
626, 626, 626, 626, 626, 626, 626, 626,
626, 626, 626, 626, 626, 626, 626, 626,
626, 626, 626, 626, 626, 626, 626, 626,
625, 625, 625, 625, 625, 625, 625, 625,
625, 625, 626, 626, 626, 626, 626, 626,
626, 627, 627, 627, 627, 627, 627, 627,
627, 627, 627, 627, 627, 627, 627, 627,
627, 627, 627, 627, 627, 627, 627, 627,
627, 627, 627, 626, 626, 626, 626, 626,
626, 627, 627, 627, 627, 627, 627, 627,
627, 627, 627, 627, 627, 627, 627, 627,
627, 627, 627, 627, 627, 627, 627, 627,
627, 627, 627, 626, 626, 626, 626, 626,
625, 629, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
125, 628, 630, 632, 631, 631, 631, 631,
631, 631, 631, 631, 631, 631, 631, 631,
631, 631, 631, 631, 631, 631, 125, 631,
125, 115, 126, 127, 126, 126, 126, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 126, 628, 628, 128, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 129, 129, 129, 129, 129, 129, 129,
129, 129, 129, 628, 628, 628, 125, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 130, 628, 143,
144, 143, 143, 143, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 143, 142,
142, 145, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 146, 146,
146, 146, 146, 146, 146, 146, 146, 146,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 142, 142, 142, 142, 142, 142,
142, 142, 147, 142, 126, 127, 126, 126,
126, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 126, 628, 628, 128, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 129, 129, 129, 129, 129,
129, 129, 129, 129, 129, 628, 628, 628,
125, 125, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 628,
628, 628, 628, 628, 628, 628, 628, 130,
628, 634, 620, 636, 635, 638, 637, 620,
639, 639, 639, 620, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639,
639, 639, 639, 639, 639, 639, 639, 639,
639, 620, 639, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 641, 642, 620, 643,
151, 644, 642, 620, 620, 645, 646, 620,
646, 620, 151, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 647, 620, 648,
649, 650, 620, 651, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 652, 620,
620, 151, 640, 151, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 620, 653,
620, 654, 620, 640, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 656, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 655, 655,
655, 657, 655, 656, 655, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 655,
655, 655, 655, 640, 655, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 640,
640, 640, 640, 640, 640, 640, 640, 655,
655, 655, 655, 655, 640, 659, 658, 660,
662, 663, 661, 661, 661, 661, 661, 661,
661, 661, 661, 661, 661, 661, 661, 661,
661, 661, 661, 661, 661, 661, 661, 661,
661, 661, 661, 661, 661, 661, 661, 661,
661, 661, 661, 661, 661, 661, 661, 661,
661, 661, 661, 661, 661, 661, 661, 661,
661, 661, 661, 661, 661, 661, 661, 661,
661, 661, 661, 661, 661, 661, 661, 661,
661, 664, 661, 666, 667, 665, 668, 669,
670, 671, 151, 655, 655, 672, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 151, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 655,
655, 655, 655, 655, 655, 655, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
655, 655, 655, 655, 150, 655, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150,
655, 655, 655, 655, 655, 150, 153, 153,
153, 153, 153, 153, 153, 153, 153, 153,
655, 673, 655, 151, 655, 151, 655, 151,
674, 655, 151, 655, 151, 655, 151, 151,
655, 675, 675, 675, 675, 675, 675, 675,
675, 675, 675, 675, 675, 675, 675, 675,
675, 675, 675, 675, 675, 675, 675, 675,
675, 675, 675, 675, 675, 675, 675, 675,
675, 675, 675, 675, 675, 675, 675, 675,
675, 675, 675, 675, 675, 675, 675, 675,
675, 677, 677, 677, 677, 677, 677, 677,
677, 677, 677, 675, 675, 675, 675, 675,
675, 678, 676, 676, 676, 676, 676, 676,
676, 676, 676, 676, 676, 676, 676, 676,
676, 676, 676, 676, 676, 676, 676, 676,
676, 676, 676, 676, 675, 675, 675, 675,
676, 675, 676, 676, 676, 676, 676, 676,
676, 676, 676, 676, 676, 676, 676, 676,
676, 676, 676, 676, 676, 676, 676, 676,
676, 676, 676, 676, 675, 675, 675, 675,
675, 676, 680, 680, 680, 680, 680, 680,
680, 680, 680, 680, 679, 681, 681, 681,
681, 681, 681, 681, 681, 681, 681, 681,
681, 681, 681, 681, 681, 681, 681, 681,
681, 681, 681, 681, 681, 681, 681, 681,
681, 681, 681, 681, 681, 681, 681, 681,
681, 681, 681, 681, 681, 681, 681, 681,
681, 681, 681, 681, 681, 683, 683, 683,
683, 683, 683, 683, 683, 683, 683, 681,
681, 681, 681, 681, 681, 681, 682, 682,
682, 682, 682, 682, 682, 682, 682, 682,
682, 682, 682, 682, 682, 682, 682, 682,
682, 682, 682, 682, 682, 682, 682, 682,
681, 681, 681, 681, 682, 681, 682, 682,
682, 682, 682, 682, 682, 682, 682, 682,
682, 682, 682, 682, 682, 682, 682, 682,
682, 682, 682, 682, 682, 682, 682, 682,
681, 681, 681, 681, 681, 682, 673, 655,
672, 655, 684, 685, 620, 686, 166, 156,
156, 156, 156, 156, 156, 156, 156, 156,
156, 156, 156, 156, 156, 156, 156, 156,
156, 156, 156, 156, 156, 156, 167, 156,
168, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 157, 157, 157,
157, 157, 157, 157, 157, 167, 157, 167,
170, 125, 620, 578, 125, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 125, 620, 125, 629,
620, 690, 689, 689, 689, 690, 689, 689,
689, 689, 689, 689, 689, 689, 689, 689,
689, 689, 689, 689, 689, 689, 689, 689,
689, 689, 689, 690, 689, 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, 172, 115,
115, 115, 115, 115, 115, 115, 115, 115,
115, 115, 115, 115, 115, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 173,
115, 115, 174, 115, 172, 115, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
115, 115, 115, 115, 171, 115, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
115, 115, 115, 115, 115, 171, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 172,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
173, 620, 620, 174, 620, 172, 620, 171,
171, 171, 171, 691, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 620, 620, 620, 620, 171, 620, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 620, 620, 620, 620, 620, 171, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
172, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 173, 620, 620, 174, 620, 172, 620,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 692, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 620, 620, 620, 620, 171, 620,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171,
171, 171, 620, 620, 620, 620, 620, 171,
693, 694, 620, 615, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 695, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 696, 697, 554, 554, 554, 554,
554, 698, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 699, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 700, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 701,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 702, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 703, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 704, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 705, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 706, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 707, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 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,
172, 115, 115, 115, 115, 115, 115, 115,
115, 115, 115, 115, 115, 115, 115, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 115, 115, 174, 115, 172, 115,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 115, 115, 115, 115, 554, 115,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 115, 115, 115, 115, 115, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 708, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 709, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 705,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 710, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 709, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 711, 554, 712, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 554, 554, 554, 554, 713,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
714, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 707, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 707, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 715,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 716, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 554,
554, 554, 717, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 718, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 707, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 719, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
720, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 707, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 721, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 722, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 723, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 554,
707, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 724, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
714, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 725, 554, 554, 554, 554,
554, 554, 554, 554, 554, 707, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 554, 554, 707, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 726, 554, 727, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 728, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 707,
554, 554, 554, 725, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 707,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 729, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 730, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 723,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 731,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 589, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 721, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 707, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 554, 732,
554, 554, 554, 554, 554, 554, 554, 707,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 733, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 734,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 735, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 723, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 736, 554, 554, 554, 737,
554, 554, 554, 554, 554, 738, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 738,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 707, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 707, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 739,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 740,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 741, 742,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 707, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
743, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 744, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 554, 745, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
746, 746, 746, 746, 746, 746, 746, 746,
746, 746, 746, 746, 746, 746, 746, 746,
746, 746, 746, 746, 746, 746, 746, 746,
746, 746, 746, 746, 746, 746, 746, 746,
746, 748, 746, 746, 746, 746, 746, 746,
746, 746, 746, 746, 746, 746, 746, 746,
747, 747, 747, 747, 747, 747, 747, 747,
747, 747, 749, 746, 746, 750, 746, 748,
746, 747, 747, 747, 747, 747, 747, 747,
747, 747, 747, 747, 747, 747, 747, 747,
747, 747, 747, 747, 747, 747, 747, 747,
747, 747, 747, 746, 746, 746, 746, 747,
746, 747, 747, 747, 747, 747, 747, 747,
747, 747, 747, 747, 747, 747, 747, 747,
747, 747, 747, 747, 747, 747, 747, 747,
747, 747, 747, 746, 746, 746, 746, 746,
747, 606, 751, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 605, 605, 605, 605, 605, 605,
605, 605, 608, 605, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 752, 554,
554, 753, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 707, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
718, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 554, 754, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 755, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 725, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 756, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 589,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 554,
554, 554, 554, 757, 554, 554, 554, 554,
554, 554, 554, 554, 554, 758, 554, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 718, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 723, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 759, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 760, 554, 554, 554, 554,
554, 554, 554, 761, 554, 554, 554, 554,
554, 554, 554, 762, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 725, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 763, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 764, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 732, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 765, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 598,
599, 599, 599, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 172, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 173,
598, 598, 174, 598, 172, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 600, 598, 598, 554, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 732, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
598, 598, 598, 598, 598, 554, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
598, 599, 599, 599, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 599, 172,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
173, 598, 598, 174, 598, 172, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 600, 598, 598, 554, 598, 554,
554, 554, 554, 554, 554, 554, 766, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 598, 598, 598, 598, 598, 554, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 598, 599, 599, 599, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 599,
172, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 173, 598, 598, 174, 598, 172, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 600, 598, 598, 554, 598,
554, 554, 554, 554, 718, 554, 554, 554,
767, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 598, 598, 598, 598, 598, 554,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 598, 599, 599, 599, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
599, 172, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 173, 598, 598, 174, 598, 172,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 600, 598, 598, 554,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 768, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 598, 598, 598, 598, 598,
554, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 598, 599, 599, 599, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 172, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 173, 598, 598, 174, 598,
172, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 600, 598, 598,
554, 598, 554, 554, 554, 554, 732, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 598, 598, 598, 598,
598, 554, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 598, 599, 599, 599,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 599, 172, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 173, 598, 598, 174,
598, 172, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 600, 598,
598, 554, 598, 554, 554, 554, 554, 554,
554, 554, 554, 769, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 598, 598, 598,
598, 598, 554, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 598, 599, 599,
599, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 599, 172, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 173, 598, 598,
174, 598, 172, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 600,
598, 598, 554, 598, 554, 554, 554, 554,
770, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 598, 598,
598, 598, 598, 554, 598, 598, 598, 598,
598, 598, 598, 598, 598, 599, 598, 599,
599, 599, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 599, 172, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 173, 598,
598, 174, 598, 172, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
600, 598, 598, 554, 598, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 554,
712, 554, 554, 554, 554, 554, 554, 554,
554, 554, 554, 554, 554, 554, 554, 598,
598, 598, 598, 598, 554, 771, 125, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 620, 620, 620,
620, 620, 620, 620, 620, 772, 620, 774,
773, 773, 773, 774, 773, 773, 773, 773,
775, 776, 775, 775, 775, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773,
773, 774, 773, 773, 773, 773, 773, 775,
773, 773, 777, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 773, 773, 773, 773, 773,
773, 773, 773, 778, 773, 775, 779, 775,
775, 775, 779, 779, 779, 779, 779, 779,
779, 779, 779, 779, 779, 779, 779, 779,
779, 779, 779, 779, 775, 779, 780, 781,
782, 783, 784, 786, 785, 787, 789, 790,
790, 790, 789, 790, 790, 790, 790, 791,
792, 791, 791, 791, 790, 790, 790, 790,
790, 790, 790, 790, 790, 790, 790, 790,
789, 790, 790, 790, 790, 790, 791, 790,
793, 794, 790, 790, 790, 793, 790, 790,
790, 790, 790, 790, 790, 790, 790, 790,
790, 790, 790, 790, 790, 790, 790, 790,
790, 790, 790, 790, 790, 790, 790, 788,
788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788,
788, 790, 795, 790, 790, 788, 790, 788,
788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788,
788, 788, 788, 788, 788, 788, 788, 788,
788, 790, 790, 790, 790, 790, 788, 796,
796, 796, 796, 796, 796, 796, 796, 796,
796, 796, 796, 796, 796, 796, 796, 796,
796, 796, 796, 796, 796, 796, 796, 796,
796, 796, 796, 796, 796, 796, 796, 796,
180, 796, 796, 796, 796, 796, 796, 796,
796, 796, 796, 796, 796, 796, 796, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 181, 796, 796, 796, 796, 180, 796,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 796, 796, 796, 796, 179, 796,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 179, 179, 179, 179, 179, 179,
179, 179, 796, 796, 796, 796, 796, 179,
791, 797, 791, 791, 791, 797, 797, 797,
797, 797, 797, 797, 797, 797, 797, 797,
797, 797, 797, 797, 797, 797, 797, 791,
797, 798, 799, 800, 801, 802, 803, 796,
804, 806, 807, 807, 807, 806, 807, 807,
807, 807, 808, 809, 808, 808, 808, 807,
807, 807, 807, 807, 807, 807, 807, 807,
807, 807, 807, 806, 807, 807, 807, 807,
807, 808, 810, 811, 812, 813, 814, 815,
811, 816, 817, 818, 814, 819, 820, 821,
814, 822, 823, 823, 823, 823, 823, 823,
823, 823, 823, 824, 825, 826, 827, 828,
829, 830, 831, 832, 831, 831, 833, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 834, 835, 836, 814,
837, 811, 838, 839, 840, 841, 842, 843,
805, 805, 844, 805, 805, 805, 845, 846,
847, 805, 805, 848, 849, 850, 851, 805,
852, 805, 853, 805, 854, 855, 856, 857,
807, 805, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 858, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 189, 189, 189, 189,
189, 858, 189, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 189, 189, 189,
189, 805, 189, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 189, 189, 189,
189, 189, 805, 860, 859, 861, 808, 862,
808, 808, 808, 862, 862, 862, 862, 862,
862, 862, 862, 862, 862, 862, 862, 862,
862, 862, 862, 862, 862, 808, 862, 863,
865, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 865, 864, 866, 867, 868, 869, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
184, 184, 870, 184, 870, 184, 184, 870,
870, 184, 184, 184, 871, 184, 184, 872,
872, 872, 872, 872, 872, 872, 872, 872,
872, 184, 184, 184, 184, 184, 184, 184,
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, 870, 184, 870, 870, 201, 184,
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, 870, 870, 870, 184, 870, 201,
873, 873, 873, 873, 873, 873, 873, 873,
873, 873, 873, 873, 873, 873, 873, 873,
873, 873, 873, 873, 873, 873, 873, 873,
873, 873, 873, 873, 873, 873, 873, 873,
873, 873, 873, 873, 873, 873, 873, 873,
873, 873, 873, 873, 873, 873, 873, 873,
201, 201, 201, 201, 201, 201, 201, 201,
201, 201, 873, 873, 873, 873, 873, 873,
873, 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, 873, 873, 873, 873, 201,
873, 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, 873, 873, 873, 873, 873,
201, 872, 872, 872, 872, 872, 872, 872,
872, 872, 872, 873, 874, 189, 814, 875,
875, 875, 875, 875, 875, 875, 876, 875,
875, 875, 875, 875, 875, 875, 875, 875,
875, 875, 875, 875, 875, 874, 875, 877,
878, 814, 879, 879, 879, 879, 879, 879,
879, 879, 879, 879, 879, 879, 879, 879,
879, 879, 879, 879, 874, 879, 874, 880,
875, 882, 881, 188, 188, 188, 188, 188,
188, 188, 188, 188, 188, 881, 884, 883,
885, 883, 188, 188, 188, 188, 188, 188,
188, 188, 188, 188, 886, 886, 886, 886,
886, 886, 886, 886, 886, 886, 886, 887,
886, 886, 886, 886, 886, 886, 886, 886,
886, 886, 886, 886, 886, 886, 886, 886,
886, 886, 886, 886, 886, 886, 886, 886,
886, 888, 886, 886, 886, 886, 886, 887,
886, 187, 187, 187, 187, 187, 187, 187,
187, 187, 187, 886, 886, 886, 886, 886,
886, 886, 886, 886, 886, 886, 886, 886,
886, 886, 886, 886, 886, 886, 886, 886,
886, 886, 886, 886, 886, 886, 886, 886,
886, 886, 886, 886, 886, 886, 886, 886,
186, 886, 890, 889, 891, 891, 891, 891,
891, 891, 891, 891, 891, 891, 889, 889,
889, 889, 889, 889, 889, 889, 892, 889,
893, 894, 889, 889, 889, 889, 889, 889,
889, 889, 889, 895, 889, 889, 889, 889,
889, 889, 889, 889, 896, 889, 889, 889,
889, 889, 889, 897, 889, 889, 892, 889,
893, 894, 889, 889, 889, 898, 889, 889,
889, 889, 889, 895, 889, 889, 899, 889,
889, 889, 889, 889, 896, 889, 190, 190,
190, 190, 190, 190, 190, 190, 190, 190,
900, 900, 900, 900, 900, 900, 900, 900,
900, 900, 900, 901, 900, 900, 900, 900,
900, 900, 900, 900, 900, 900, 900, 900,
900, 900, 900, 900, 900, 900, 900, 900,
900, 900, 900, 900, 900, 902, 900, 900,
900, 900, 900, 901, 900, 900, 900, 903,
900, 900, 900, 900, 900, 900, 900, 900,
904, 900, 905, 189, 905, 189, 189, 191,
191, 191, 191, 191, 191, 191, 191, 191,
191, 189, 191, 191, 191, 191, 191, 191,
191, 191, 191, 191, 906, 906, 906, 906,
906, 906, 906, 906, 906, 906, 906, 906,
906, 906, 906, 906, 906, 906, 906, 906,
906, 906, 906, 906, 906, 906, 906, 906,
906, 906, 906, 906, 906, 906, 906, 906,
906, 905, 906, 906, 906, 906, 906, 906,
906, 906, 906, 907, 906, 909, 908, 910,
912, 911, 911, 911, 913, 911, 914, 915,
891, 891, 891, 891, 891, 891, 891, 891,
891, 891, 889, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 897,
889, 889, 889, 889, 889, 889, 889, 889,
889, 898, 889, 889, 889, 889, 889, 889,
889, 889, 899, 889, 916, 916, 916, 916,
916, 916, 916, 916, 916, 916, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 889, 917, 889, 889, 889, 889,
889, 889, 889, 889, 889, 898, 889, 889,
889, 889, 889, 889, 889, 889, 899, 889,
919, 919, 919, 919, 919, 919, 919, 919,
919, 919, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 920,
918, 918, 918, 918, 918, 918, 918, 918,
918, 921, 918, 918, 918, 918, 918, 918,
918, 918, 922, 918, 919, 919, 919, 919,
919, 919, 919, 919, 919, 919, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 923, 918, 918, 918, 918,
918, 918, 918, 918, 918, 921, 918, 918,
918, 918, 918, 918, 918, 918, 922, 918,
921, 918, 918, 918, 918, 918, 918, 918,
918, 922, 918, 925, 924, 926, 928, 927,
927, 927, 929, 927, 931, 930, 932, 933,
935, 935, 934, 934, 934, 934, 934, 934,
934, 934, 934, 934, 934, 934, 934, 934,
934, 934, 934, 934, 934, 934, 934, 934,
934, 934, 934, 934, 934, 934, 934, 934,
934, 934, 934, 934, 934, 934, 934, 934,
934, 934, 934, 934, 934, 934, 934, 936,
934, 934, 934, 934, 934, 934, 934, 934,
934, 937, 934, 934, 934, 934, 934, 934,
934, 934, 938, 934, 939, 939, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 940, 918, 918, 918, 918,
918, 918, 918, 918, 918, 921, 918, 918,
918, 918, 918, 918, 918, 918, 922, 918,
939, 939, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 923,
918, 918, 918, 918, 918, 918, 918, 918,
918, 921, 918, 918, 918, 918, 918, 918,
918, 918, 922, 918, 942, 942, 942, 942,
942, 942, 942, 942, 942, 942, 941, 941,
941, 941, 941, 941, 941, 941, 941, 941,
941, 941, 941, 941, 941, 941, 941, 941,
941, 941, 941, 941, 941, 941, 941, 941,
941, 941, 941, 941, 941, 941, 941, 941,
941, 941, 941, 943, 941, 941, 941, 941,
941, 941, 941, 941, 941, 944, 941, 941,
941, 941, 941, 941, 941, 941, 945, 941,
947, 947, 947, 947, 947, 947, 947, 947,
947, 947, 946, 946, 946, 946, 946, 946,
946, 946, 946, 946, 946, 946, 946, 946,
946, 946, 946, 946, 946, 946, 946, 946,
946, 946, 946, 946, 946, 946, 946, 946,
946, 946, 946, 946, 946, 946, 946, 948,
946, 946, 946, 946, 946, 946, 946, 946,
946, 949, 946, 946, 946, 946, 946, 946,
946, 946, 950, 946, 952, 952, 952, 952,
952, 952, 952, 952, 952, 952, 951, 951,
951, 951, 951, 951, 951, 952, 952, 952,
952, 952, 952, 951, 951, 951, 951, 951,
951, 951, 951, 951, 951, 951, 951, 951,
951, 951, 951, 951, 951, 951, 951, 951,
951, 951, 951, 953, 951, 952, 952, 952,
952, 952, 952, 951, 951, 954, 951, 951,
951, 951, 951, 951, 951, 951, 955, 951,
956, 956, 956, 956, 956, 956, 956, 956,
956, 956, 918, 918, 918, 918, 918, 918,
918, 956, 956, 956, 956, 956, 956, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 957,
918, 956, 956, 956, 956, 956, 956, 918,
918, 921, 918, 918, 918, 918, 918, 918,
918, 918, 922, 918, 956, 956, 956, 956,
956, 956, 956, 956, 956, 956, 918, 918,
918, 918, 918, 918, 918, 956, 956, 956,
956, 956, 956, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 923, 918, 956, 956, 956,
956, 956, 956, 918, 918, 921, 918, 918,
918, 918, 918, 918, 918, 918, 922, 918,
959, 958, 960, 960, 960, 960, 960, 960,
960, 960, 960, 960, 958, 958, 958, 958,
958, 958, 958, 958, 958, 958, 958, 961,
958, 958, 958, 958, 958, 958, 958, 958,
958, 958, 958, 958, 958, 958, 958, 958,
958, 958, 958, 958, 958, 958, 958, 958,
958, 962, 958, 958, 958, 958, 958, 961,
958, 958, 958, 963, 958, 958, 958, 958,
958, 958, 958, 958, 964, 958, 965, 965,
965, 965, 965, 965, 965, 965, 965, 965,
958, 958, 958, 958, 958, 958, 958, 958,
958, 958, 958, 958, 958, 958, 958, 958,
958, 958, 958, 958, 958, 958, 958, 958,
958, 958, 958, 958, 958, 958, 958, 958,
958, 958, 958, 958, 958, 966, 958, 958,
958, 958, 958, 958, 958, 958, 958, 963,
958, 958, 958, 958, 958, 958, 958, 958,
964, 958, 967, 918, 968, 968, 968, 968,
968, 968, 968, 968, 968, 968, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 969, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 970, 918, 918, 918, 918,
918, 969, 918, 918, 918, 921, 918, 918,
918, 918, 918, 918, 918, 918, 922, 918,
968, 968, 968, 968, 968, 968, 968, 968,
968, 968, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 918,
918, 918, 918, 918, 918, 918, 918, 923,
918, 918, 918, 918, 918, 918, 918, 918,
918, 921, 918, 918, 918, 918, 918, 918,
918, 918, 922, 918, 876, 883, 814, 971,
875, 865, 875, 972, 973, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 865, 883, 865, 875,
865, 814, 875, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 201, 201, 201, 201, 201,
201, 201, 201, 201, 201, 870, 870, 870,
870, 870, 870, 974, 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, 870, 870,
870, 870, 201, 870, 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, 870, 870,
870, 870, 870, 201, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 189, 858, 189, 189,
189, 189, 189, 189, 189, 189, 189, 189,
189, 189, 189, 189, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 975, 189,
189, 189, 189, 858, 189, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 189,
189, 189, 189, 831, 189, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 189,
189, 189, 189, 189, 831, 976, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 858,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
975, 977, 977, 977, 977, 858, 977, 831,
831, 831, 831, 978, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 977, 977, 977, 977, 831, 977, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 977, 977, 977, 977, 977, 831, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
858, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 975, 977, 977, 977, 977, 858, 977,
831, 831, 831, 831, 831, 831, 979, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 977, 977, 977, 977, 831, 977,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 977, 977, 977, 977, 977, 831,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 858, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 975, 977, 977, 977, 977, 858,
977, 831, 831, 831, 831, 831, 831, 831,
831, 980, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 977, 977, 977, 977, 831,
977, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 977, 977, 977, 977, 977,
831, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 858, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 975, 977, 977, 977, 977,
858, 977, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 981,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 977, 977, 977, 977,
831, 977, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 977, 977, 977, 977,
977, 831, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 858, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 975, 977, 977, 977,
977, 858, 977, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
982, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 977, 977, 977,
977, 831, 977, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 977, 977, 977,
977, 977, 831, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 977, 858, 977, 977, 977,
977, 977, 977, 977, 977, 977, 977, 977,
977, 977, 977, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 975, 977, 977,
977, 977, 858, 977, 831, 831, 831, 981,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 977, 977,
977, 977, 831, 977, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 831, 831,
831, 831, 831, 831, 831, 831, 977, 977,
977, 977, 977, 831, 983, 985, 984, 986,
987, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
989, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 990,
991, 805, 805, 805, 805, 805, 992, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 993, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 994,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 995, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 996, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
997, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 998, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
999, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 1000, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 1001, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 1002, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1003, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 1004, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 1005, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 1006,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 1007, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
1003, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1008,
805, 1009, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 805, 805, 805, 1010, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 1011, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1012, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 1013, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 1014, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 1015, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 805, 805,
1016, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 1017, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1013, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 1018, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 1019, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1020, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
1021, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 1022, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 1023, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 1013, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 1024, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1025, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1026,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 1027, 1027, 1027,
1027, 1027, 1027, 1027, 1027, 1027, 203, 204,
203, 203, 203, 1027, 1027, 1027, 1027, 1027,
1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027,
1027, 1027, 1027, 1027, 1027, 203, 858, 1027,
205, 1027, 1027, 1027, 1027, 1027, 1027, 1027,
1027, 1027, 1027, 1027, 1027, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1027,
1027, 206, 1027, 1027, 858, 1027, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
1027, 207, 1027, 1027, 805, 1027, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
1027, 1027, 1027, 1027, 1027, 805, 220, 221,
220, 220, 220, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 220, 219, 219,
222, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 225, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 219, 219, 219, 219, 219, 219, 219,
219, 224, 219, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
1029, 805, 805, 805, 805, 805, 805, 805,
805, 805, 1030, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 1031, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 1032, 1032, 1032,
1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1032, 1032, 1032, 1032, 1032, 1032, 858, 1032,
1032, 1032, 1032, 1032, 1032, 1032, 1032, 1032,
1032, 1032, 1032, 1032, 1032, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1032,
1032, 1032, 1032, 1032, 858, 1032, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
1032, 1032, 1032, 1032, 805, 1032, 805, 805,
805, 805, 805, 805, 805, 805, 1033, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
1032, 1032, 1032, 1032, 1032, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 1034, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 1035, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 1036, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
1037, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1038, 805,
1039, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1040, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 1013, 805, 805, 805, 1041, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 805, 1013, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 1006, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1042, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 1043, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 1023, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 1044, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
847, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1045, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1046, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 1006, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1013,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 1047, 805, 805, 805,
805, 805, 805, 805, 1013, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1048, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 1049, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1050, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1023, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
1051, 805, 805, 805, 1052, 805, 805, 805,
805, 805, 1053, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 1054, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1020, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 1006, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 1055, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 1056, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 1057, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 1058, 1059, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1006, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 1060, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1061, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 1047, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
1062, 805, 805, 1063, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
1006, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 1064, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1020,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 1065,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1066,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1067,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 1006, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 1068, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 1069, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1055, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 805, 805, 805,
1070, 805, 805, 805, 805, 805, 805, 805,
805, 805, 1071, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 1017, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1046,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 1072, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
1073, 805, 805, 805, 805, 805, 805, 805,
1074, 805, 805, 805, 805, 805, 805, 805,
1075, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 1076, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 1012, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 1077, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 1078, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 1047, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 1079, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 1047,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 858, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 858, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 805, 988, 805, 805, 805,
805, 805, 805, 805, 1080, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 805, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 858, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 988,
988, 988, 988, 988, 858, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 805, 988, 805, 805,
805, 805, 1017, 805, 805, 805, 1081, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 805, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 858,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
988, 988, 988, 988, 988, 858, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 805, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 1082, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 805, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
858, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 988, 988, 988, 988, 988, 858, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 805, 988,
805, 805, 805, 805, 1047, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 805,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 858, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 988, 988, 988, 988, 988, 858,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 805,
988, 805, 805, 805, 805, 805, 805, 805,
805, 1083, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
805, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 858, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 988, 988, 988, 988, 988,
858, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
805, 988, 805, 805, 805, 805, 1084, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 805, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 858, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 988, 988, 988, 988,
988, 858, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 805, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 1085, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 805, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 988, 858, 988, 988, 988,
988, 988, 988, 988, 988, 988, 988, 988,
988, 988, 988, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 988, 988, 988,
988, 988, 858, 988, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 805, 988, 805, 805, 805, 1055,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 805, 805,
805, 805, 805, 805, 805, 805, 988, 988,
988, 988, 988, 805, 1086, 874, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 814, 864, 1087, 1089,
1088, 1089, 1089, 1089, 1088, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1089, 1088,
1088, 1090, 1088, 1088, 1091, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 233, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1088, 1088, 1092, 1088, 229, 230, 229, 229,
229, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 1093, 1093, 229, 1093, 1093, 231, 1093,
1093, 232, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 233, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
1093, 1093, 1093, 1093, 1093, 1093, 1093, 234,
1093, 236, 1094, 236, 236, 236, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
236, 1094, 1094, 231, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 1094, 1094, 1094, 1094,
1094, 1094, 1094, 1094, 234, 1094, 1096, 1095,
1098, 1097, 239, 238, 244, 1093, 242, 1093,
1100, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1101, 1099, 1100, 1099, 1100,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1103, 1099, 1100, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1104, 1099, 1100, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1099, 1099, 1099, 1105, 1099, 1107, 1105,
1109, 1108, 1108, 1108, 1109, 1108, 1108, 1108,
1108, 1110, 1111, 1110, 1110, 1110, 1108, 1108,
1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1108, 1108, 1109, 1108, 1108, 1108, 1108, 1108,
1110, 1108, 1108, 1112, 1108, 1108, 1108, 1108,
1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1108, 1108, 1108, 1108, 1108, 1113, 1108, 1108,
1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1108, 1108, 1108, 1108, 1114, 1108, 1108, 1115,
1108, 1110, 1116, 1110, 1110, 1110, 1116, 1116,
1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1110, 1116, 1117, 1118, 1119, 1120, 1121, 1123,
1122, 1125, 1126, 1125, 1125, 1125, 1124, 1124,
1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1125, 1124, 1111, 1122, 1127, 1122, 0
]
class << self
attr_accessor :_lex_trans_targs
private :_lex_trans_targs, :_lex_trans_targs=
end
self._lex_trans_targs = [
130, 129, 0, 2, 131, 132, 4, 133,
134, 134, 134, 134, 247, 7, 8, 9,
247, 247, 276, 11, 12, 276, 276, 280,
280, 16, 11, 17, 278, 279, 281, 282,
280, 276, 283, 284, 286, 13, 14, 287,
288, 15, 280, 18, 19, 24, 31, 290,
291, 17, 278, 279, 281, 282, 280, 276,
283, 284, 286, 13, 14, 287, 288, 15,
18, 19, 24, 31, 290, 291, 289, 20,
21, 22, 23, 25, 26, 29, 27, 28,
30, 32, 33, 276, 35, 36, 37, 39,
42, 40, 41, 43, 45, 307, 307, 307,
308, 47, 310, 48, 311, 49, 308, 47,
310, 48, 311, 345, 50, 345, 51, 52,
50, 345, 51, 345, 345, 345, 55, 56,
57, 58, 356, 345, 345, 345, 61, 62,
63, 345, 66, 61, 62, 63, 345, 66,
64, 64, 62, 63, 366, 65, 64, 64,
62, 63, 366, 65, 62, 345, 383, 345,
68, 384, 390, 72, 399, 400, 77, 78,
72, 73, 398, 73, 398, 345, 74, 75,
76, 401, 79, 80, 347, 53, 349, 82,
83, 406, 508, 85, 86, 87, 508, 516,
516, 516, 90, 538, 537, 516, 540, 542,
516, 95, 96, 97, 546, 516, 99, 100,
557, 526, 579, 103, 104, 105, 109, 110,
103, 104, 105, 109, 110, 106, 106, 104,
105, 107, 108, 106, 106, 104, 105, 107,
108, 627, 104, 516, 696, 111, 698, 113,
117, 699, 115, 696, 112, 696, 114, 698,
114, 698, 116, 698, 696, 710, 119, 120,
121, 716, 123, 124, 125, 126, 127, 710,
710, 128, 1, 3, 129, 129, 129, 135,
134, 134, 136, 137, 138, 139, 141, 144,
145, 146, 147, 134, 148, 149, 151, 153,
154, 155, 159, 161, 162, 163, 179, 184,
191, 196, 203, 210, 213, 214, 218, 212,
222, 230, 234, 236, 241, 243, 246, 134,
134, 134, 134, 134, 134, 140, 134, 140,
134, 142, 5, 143, 134, 6, 134, 134,
150, 152, 134, 156, 157, 158, 154, 160,
134, 164, 165, 174, 177, 166, 167, 168,
169, 170, 171, 172, 173, 135, 175, 176,
178, 180, 183, 181, 182, 185, 188, 186,
187, 189, 190, 192, 194, 193, 195, 197,
198, 134, 199, 200, 201, 202, 134, 204,
207, 205, 206, 208, 209, 211, 215, 216,
217, 219, 221, 220, 223, 224, 225, 227,
226, 228, 229, 231, 232, 233, 235, 237,
238, 239, 240, 242, 244, 245, 248, 247,
247, 249, 250, 252, 253, 247, 247, 247,
251, 247, 251, 10, 254, 247, 256, 255,
255, 259, 260, 261, 262, 255, 264, 265,
266, 267, 269, 271, 272, 273, 274, 275,
255, 257, 255, 258, 255, 255, 255, 255,
255, 263, 255, 263, 268, 255, 270, 255,
276, 276, 277, 292, 293, 279, 295, 296,
283, 297, 298, 299, 300, 301, 303, 304,
305, 306, 276, 276, 276, 276, 276, 276,
280, 285, 276, 276, 276, 276, 276, 276,
276, 276, 276, 294, 276, 294, 276, 276,
276, 276, 302, 276, 34, 38, 44, 307,
309, 312, 46, 307, 307, 308, 313, 313,
314, 315, 317, 319, 320, 313, 313, 316,
313, 316, 313, 318, 313, 313, 313, 322,
321, 321, 323, 324, 325, 327, 329, 330,
335, 342, 321, 321, 321, 321, 326, 321,
326, 321, 328, 321, 321, 322, 331, 332,
333, 334, 336, 337, 340, 338, 339, 341,
343, 344, 346, 345, 354, 355, 357, 358,
360, 361, 362, 363, 365, 367, 368, 371,
372, 397, 403, 404, 405, 406, 407, 408,
409, 410, 364, 412, 429, 434, 441, 446,
448, 454, 457, 458, 462, 456, 466, 477,
481, 484, 492, 496, 499, 500, 345, 50,
51, 345, 53, 348, 345, 345, 350, 352,
353, 345, 351, 345, 345, 345, 345, 345,
54, 345, 345, 345, 345, 345, 359, 345,
359, 345, 345, 59, 345, 60, 345, 345,
364, 345, 369, 345, 370, 345, 345, 345,
373, 382, 345, 67, 385, 386, 387, 345,
388, 69, 391, 392, 70, 395, 396, 345,
374, 376, 345, 375, 345, 345, 377, 380,
381, 345, 378, 379, 345, 345, 345, 345,
345, 345, 389, 345, 383, 393, 394, 345,
393, 345, 383, 393, 71, 402, 345, 345,
345, 345, 345, 81, 84, 345, 411, 413,
414, 424, 427, 415, 416, 417, 418, 419,
420, 421, 422, 423, 425, 426, 428, 430,
433, 431, 432, 435, 438, 436, 437, 439,
440, 442, 444, 443, 445, 447, 449, 451,
450, 452, 453, 455, 423, 459, 460, 461,
463, 465, 464, 467, 468, 469, 474, 470,
471, 472, 345, 346, 347, 53, 473, 352,
475, 476, 478, 479, 480, 482, 483, 485,
486, 487, 490, 488, 489, 491, 493, 494,
495, 497, 498, 345, 364, 501, 501, 502,
503, 504, 506, 501, 501, 501, 505, 501,
505, 501, 507, 501, 509, 508, 508, 510,
511, 508, 512, 514, 508, 508, 508, 508,
513, 508, 513, 515, 508, 517, 516, 516,
520, 521, 522, 516, 523, 525, 528, 529,
530, 531, 532, 516, 533, 534, 539, 567,
571, 516, 572, 574, 576, 516, 577, 578,
580, 584, 586, 587, 589, 590, 608, 613,
620, 628, 635, 642, 647, 648, 652, 646,
657, 667, 673, 676, 685, 689, 693, 694,
695, 528, 518, 516, 519, 516, 516, 516,
516, 516, 516, 524, 516, 524, 516, 88,
527, 516, 516, 516, 516, 516, 516, 516,
516, 516, 535, 516, 536, 516, 516, 89,
91, 516, 92, 548, 559, 562, 541, 563,
564, 549, 553, 555, 516, 541, 92, 543,
545, 93, 516, 543, 516, 544, 516, 516,
94, 547, 516, 516, 550, 552, 516, 550,
551, 553, 555, 552, 516, 554, 516, 516,
556, 558, 516, 98, 516, 516, 516, 560,
552, 553, 555, 560, 561, 516, 550, 552,
553, 555, 516, 550, 552, 553, 555, 516,
565, 552, 553, 555, 565, 566, 516, 92,
567, 541, 568, 553, 555, 569, 552, 92,
569, 541, 570, 573, 575, 516, 101, 102,
516, 516, 581, 582, 583, 578, 585, 516,
516, 588, 516, 516, 516, 591, 592, 601,
606, 593, 594, 595, 596, 597, 598, 599,
600, 517, 602, 603, 604, 605, 517, 607,
609, 612, 610, 611, 517, 517, 614, 617,
615, 616, 618, 619, 517, 621, 623, 622,
624, 625, 626, 516, 516, 629, 517, 630,
516, 631, 632, 633, 634, 518, 636, 639,
637, 638, 640, 641, 643, 644, 645, 517,
649, 650, 651, 653, 655, 656, 654, 517,
658, 659, 660, 663, 661, 662, 664, 665,
666, 668, 670, 669, 671, 672, 674, 675,
677, 678, 680, 683, 679, 681, 682, 684,
686, 687, 688, 690, 691, 692, 516, 516,
696, 697, 701, 702, 703, 696, 696, 696,
700, 696, 696, 705, 704, 706, 704, 707,
708, 709, 704, 704, 710, 710, 711, 712,
713, 715, 717, 718, 710, 710, 710, 714,
710, 714, 710, 118, 710, 710, 710, 122
]
class << self
attr_accessor :_lex_trans_actions
private :_lex_trans_actions, :_lex_trans_actions=
end
self._lex_trans_actions = [
0, 1, 0, 0, 0, 0, 0, 0,
2, 3, 4, 5, 6, 0, 0, 0,
7, 8, 9, 0, 0, 10, 11, 12,
13, 14, 15, 15, 16, 17, 15, 18,
17, 19, 17, 15, 15, 16, 15, 20,
15, 15, 21, 15, 15, 15, 15, 15,
15, 0, 22, 23, 0, 24, 23, 25,
23, 0, 0, 22, 0, 26, 0, 0,
0, 0, 0, 0, 0, 0, 13, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 27, 0, 0, 0, 0,
0, 0, 0, 0, 0, 28, 29, 30,
31, 0, 0, 0, 31, 14, 32, 15,
15, 15, 32, 33, 0, 34, 0, 14,
15, 35, 15, 36, 37, 38, 0, 0,
0, 0, 0, 39, 40, 41, 0, 14,
0, 42, 0, 15, 43, 15, 44, 15,
45, 46, 47, 46, 48, 46, 0, 49,
50, 49, 51, 49, 52, 53, 0, 54,
0, 0, 0, 0, 55, 55, 0, 0,
56, 56, 57, 0, 14, 58, 0, 0,
0, 55, 0, 0, 59, 0, 0, 0,
0, 59, 60, 0, 0, 0, 61, 62,
63, 64, 0, 65, 65, 66, 67, 67,
68, 0, 0, 0, 0, 69, 0, 0,
0, 0, 0, 0, 14, 0, 0, 0,
15, 43, 15, 15, 15, 45, 46, 47,
46, 46, 46, 0, 49, 50, 49, 49,
49, 70, 52, 71, 72, 0, 73, 0,
74, 74, 0, 75, 0, 76, 45, 77,
0, 78, 14, 79, 80, 81, 0, 0,
0, 0, 0, 0, 0, 0, 0, 82,
83, 86, 0, 0, 87, 88, 89, 90,
91, 92, 0, 14, 0, 0, 65, 65,
0, 0, 0, 93, 0, 0, 0, 0,
94, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 95,
96, 97, 98, 99, 100, 45, 101, 0,
102, 0, 0, 0, 103, 0, 104, 105,
0, 0, 106, 0, 0, 0, 107, 0,
108, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 107, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 109, 0, 0, 0, 0, 110, 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, 65, 111,
112, 0, 0, 65, 0, 113, 114, 115,
45, 116, 0, 0, 14, 117, 0, 118,
119, 0, 14, 0, 0, 120, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
121, 0, 122, 0, 123, 124, 125, 126,
127, 45, 128, 0, 0, 129, 0, 130,
131, 132, 133, 14, 0, 13, 0, 0,
13, 0, 0, 0, 0, 0, 0, 65,
65, 65, 134, 135, 136, 137, 138, 139,
140, 0, 141, 142, 143, 144, 145, 146,
147, 148, 149, 45, 150, 0, 151, 152,
153, 154, 155, 156, 0, 0, 0, 157,
65, 65, 0, 158, 159, 160, 161, 162,
0, 0, 0, 0, 0, 163, 164, 45,
165, 0, 166, 14, 167, 168, 169, 170,
171, 172, 0, 14, 0, 0, 0, 0,
0, 0, 173, 174, 175, 176, 45, 177,
0, 178, 14, 179, 180, 181, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 182, 183, 0, 184, 0, 0,
65, 185, 0, 0, 185, 185, 0, 0,
65, 186, 0, 186, 0, 186, 186, 186,
0, 0, 186, 182, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 0, 0, 187, 188,
188, 189, 190, 0, 191, 192, 0, 59,
0, 193, 0, 194, 195, 196, 197, 198,
15, 199, 200, 201, 202, 203, 45, 204,
0, 205, 206, 0, 207, 0, 208, 209,
185, 210, 0, 211, 0, 212, 213, 214,
0, 0, 215, 0, 0, 0, 0, 216,
0, 0, 0, 0, 0, 0, 0, 217,
0, 0, 218, 0, 219, 220, 0, 0,
0, 221, 0, 0, 222, 223, 224, 225,
226, 227, 0, 228, 229, 229, 0, 230,
0, 231, 232, 232, 0, 0, 233, 234,
235, 236, 237, 0, 0, 238, 14, 182,
182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 59, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 239, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182,
182, 240, 241, 242, 243, 244, 244, 240,
182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 182, 182, 182, 182, 182,
182, 182, 182, 245, 246, 247, 248, 0,
14, 0, 0, 249, 250, 251, 45, 252,
0, 253, 14, 254, 65, 255, 256, 0,
14, 257, 0, 0, 258, 259, 260, 261,
45, 262, 0, 14, 263, 264, 265, 266,
0, 14, 0, 267, 0, 65, 268, 0,
0, 0, 0, 269, 0, 0, 270, 270,
0, 271, 0, 0, 0, 272, 65, 273,
273, 273, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 274, 275, 276, 0, 277, 278, 279,
280, 281, 282, 45, 283, 0, 284, 0,
0, 285, 286, 287, 288, 289, 290, 291,
292, 293, 0, 294, 0, 295, 296, 0,
0, 297, 298, 299, 0, 0, 300, 0,
0, 299, 301, 301, 302, 303, 0, 304,
305, 0, 306, 307, 308, 0, 309, 310,
0, 0, 311, 312, 299, 299, 313, 0,
0, 314, 314, 0, 315, 0, 316, 317,
65, 0, 318, 0, 319, 320, 321, 322,
322, 323, 323, 0, 0, 324, 325, 325,
326, 326, 327, 328, 328, 329, 329, 330,
331, 331, 332, 332, 0, 0, 333, 334,
335, 336, 337, 338, 338, 335, 337, 339,
270, 340, 0, 0, 0, 341, 0, 0,
342, 343, 273, 273, 273, 344, 273, 345,
346, 14, 347, 348, 349, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 350, 0, 0, 0, 0, 344, 0,
0, 0, 0, 0, 351, 352, 0, 0,
0, 0, 0, 0, 353, 0, 0, 0,
0, 0, 352, 354, 355, 0, 356, 0,
357, 0, 0, 0, 0, 358, 0, 0,
0, 0, 0, 0, 0, 0, 0, 359,
0, 0, 0, 0, 0, 0, 0, 358,
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, 360, 361,
362, 363, 363, 74, 363, 364, 365, 366,
0, 367, 368, 0, 369, 0, 370, 0,
0, 0, 371, 372, 373, 374, 0, 14,
0, 65, 0, 65, 375, 376, 377, 45,
378, 0, 379, 0, 380, 381, 382, 0
]
class << self
attr_accessor :_lex_to_state_actions
private :_lex_to_state_actions, :_lex_to_state_actions=
end
self._lex_to_state_actions = [
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, 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,
84, 84, 0, 0, 0, 0, 84, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 84,
0, 0, 0, 0, 0, 0, 0, 84,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 84, 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, 84, 0, 0, 0, 0,
0, 84, 0, 0, 0, 0, 0, 0,
0, 84, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 84, 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, 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, 84, 0, 0,
0, 0, 0, 0, 84, 0, 0, 0,
0, 0, 0, 0, 84, 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,
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,
84, 0, 0, 0, 0, 0, 0, 0,
84, 0, 0, 0, 0, 0, 84, 0,
0, 0, 0, 0, 0, 0, 0
]
class << self
attr_accessor :_lex_from_state_actions
private :_lex_from_state_actions, :_lex_from_state_actions=
end
self._lex_from_state_actions = [
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, 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,
85, 85, 0, 0, 0, 0, 85, 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, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 85,
0, 0, 0, 0, 0, 0, 0, 85,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 85, 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, 85, 0, 0, 0, 0,
0, 85, 0, 0, 0, 0, 0, 0,
0, 85, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 85, 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, 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, 85, 0, 0,
0, 0, 0, 0, 85, 0, 0, 0,
0, 0, 0, 0, 85, 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,
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,
85, 0, 0, 0, 0, 0, 0, 0,
85, 0, 0, 0, 0, 0, 85, 0,
0, 0, 0, 0, 0, 0, 0
]
class << self
attr_accessor :_lex_eof_trans
private :_lex_eof_trans, :_lex_eof_trans=
end
self._lex_eof_trans = [
0, 0, 0, 0, 0, 9, 11, 13,
13, 13, 13, 19, 19, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 84, 84, 84, 84, 84, 84,
84, 84, 84, 84, 84, 84, 94, 96,
96, 96, 108, 108, 108, 116, 118, 118,
118, 118, 118, 124, 116, 116, 116, 116,
116, 116, 116, 150, 150, 150, 150, 150,
150, 116, 166, 116, 166, 150, 150, 116,
116, 150, 150, 150, 150, 179, 179, 179,
184, 186, 186, 186, 190, 190, 193, 193,
193, 193, 198, 198, 198, 184, 190, 190,
190, 190, 190, 190, 190, 190, 190, 229,
236, 238, 238, 238, 238, 229, 246, 246,
246, 246, 246, 246, 246, 246, 246, 246,
0, 0, 261, 261, 262, 263, 0, 304,
306, 307, 308, 309, 311, 313, 317, 317,
308, 308, 308, 308, 319, 308, 308, 313,
308, 308, 304, 323, 323, 323, 323, 323,
323, 313, 313, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 362, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 329, 329,
329, 329, 329, 329, 329, 329, 308, 0,
406, 407, 408, 410, 406, 406, 414, 0,
433, 435, 437, 438, 439, 440, 441, 443,
440, 440, 440, 440, 440, 446, 440, 440,
448, 446, 446, 440, 0, 467, 468, 19,
19, 471, 472, 19, 468, 468, 475, 477,
480, 468, 481, 468, 482, 483, 485, 487,
468, 475, 488, 488, 477, 488, 492, 488,
488, 488, 488, 0, 94, 500, 501, 500,
500, 0, 510, 511, 513, 515, 517, 515,
519, 0, 531, 532, 533, 534, 536, 538,
540, 541, 541, 541, 541, 541, 541, 541,
541, 541, 541, 541, 541, 541, 541, 541,
541, 0, 599, 602, 605, 606, 610, 612,
613, 614, 615, 616, 618, 621, 622, 624,
626, 629, 631, 632, 116, 629, 634, 629,
621, 636, 638, 621, 621, 656, 659, 661,
662, 666, 669, 670, 671, 672, 656, 656,
656, 656, 656, 656, 656, 656, 656, 656,
676, 680, 682, 656, 656, 621, 687, 688,
688, 688, 621, 621, 621, 689, 116, 621,
621, 694, 621, 616, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 116,
599, 599, 599, 599, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 599,
747, 606, 599, 599, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 599,
599, 599, 599, 599, 599, 599, 599, 599,
599, 599, 599, 772, 621, 0, 780, 781,
782, 784, 786, 788, 0, 797, 798, 799,
800, 802, 797, 805, 0, 190, 860, 862,
863, 864, 865, 867, 869, 871, 874, 874,
190, 876, 878, 879, 880, 876, 882, 884,
884, 887, 887, 890, 901, 190, 907, 909,
911, 912, 915, 916, 890, 890, 919, 919,
919, 925, 927, 928, 931, 933, 934, 935,
919, 919, 942, 947, 952, 919, 919, 959,
959, 919, 919, 884, 876, 876, 884, 876,
876, 871, 190, 977, 978, 978, 978, 978,
978, 978, 984, 871, 987, 988, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 1028, 1029, 989, 989, 1033, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 989, 989, 989,
989, 989, 989, 989, 989, 1087, 865, 1088,
0, 1094, 1095, 1096, 1098, 1094, 1094, 1094,
0, 1103, 1103, 1103, 1103, 1107, 0, 1117,
1118, 1119, 1121, 1123, 1125, 1123, 1123
]
class << self
attr_accessor :lex_start
end
self.lex_start = 128;
class << self
attr_accessor :lex_error
end
self.lex_error = 0;
class << self
attr_accessor :lex_en_expr_variable
end
self.lex_en_expr_variable = 129;
class << self
attr_accessor :lex_en_expr_fname
end
self.lex_en_expr_fname = 134;
class << self
attr_accessor :lex_en_expr_endfn
end
self.lex_en_expr_endfn = 247;
class << self
attr_accessor :lex_en_expr_dot
end
self.lex_en_expr_dot = 255;
class << self
attr_accessor :lex_en_expr_arg
end
self.lex_en_expr_arg = 276;
class << self
attr_accessor :lex_en_expr_cmdarg
end
self.lex_en_expr_cmdarg = 307;
class << self
attr_accessor :lex_en_expr_endarg
end
self.lex_en_expr_endarg = 313;
class << self
attr_accessor :lex_en_expr_mid
end
self.lex_en_expr_mid = 321;
class << self
attr_accessor :lex_en_expr_beg
end
self.lex_en_expr_beg = 345;
class << self
attr_accessor :lex_en_expr_labelarg
end
self.lex_en_expr_labelarg = 501;
class << self
attr_accessor :lex_en_expr_value
end
self.lex_en_expr_value = 508;
class << self
attr_accessor :lex_en_expr_end
end
self.lex_en_expr_end = 516;
class << self
attr_accessor :lex_en_leading_dot
end
self.lex_en_leading_dot = 696;
class << self
attr_accessor :lex_en_line_comment
end
self.lex_en_line_comment = 704;
class << self
attr_accessor :lex_en_line_begin
end
self.lex_en_line_begin = 710;
class << self
attr_accessor :lex_en_inside_string
end
self.lex_en_inside_string = 128;
# line 82 "lib/parser/lexer.rl"
# %
attr_reader :source_buffer
attr_accessor :diagnostics
attr_accessor :static_env
attr_accessor :force_utf32
attr_accessor :cond, :cmdarg, :context, :command_start
attr_accessor :tokens, :comments
attr_reader :paren_nest, :cmdarg_stack, :cond_stack, :lambda_stack, :version
def initialize(version)
@version = version
@static_env = nil
@context = nil
@tokens = nil
@comments = nil
@_lex_actions =
if self.class.respond_to?(:_lex_actions, true)
self.class.send :_lex_actions
else
[]
end
@emit_integer = lambda { |chars, p| emit(:tINTEGER, chars); p }
@emit_rational = lambda { |chars, p| emit(:tRATIONAL, Rational(chars)); p }
@emit_imaginary = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, chars)); p }
@emit_imaginary_rational = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, Rational(chars))); p }
@emit_integer_re = lambda { |chars, p| emit(:tINTEGER, chars, @ts, @te - 2); p - 2 }
@emit_integer_if = lambda { |chars, p| emit(:tINTEGER, chars, @ts, @te - 2); p - 2 }
@emit_integer_rescue = lambda { |chars, p| emit(:tINTEGER, chars, @ts, @te - 6); p - 6 }
@emit_float = lambda { |chars, p| emit(:tFLOAT, Float(chars)); p }
@emit_imaginary_float = lambda { |chars, p| emit(:tIMAGINARY, Complex(0, Float(chars))); p }
@emit_float_if = lambda { |chars, p| emit(:tFLOAT, Float(chars), @ts, @te - 2); p - 2 }
@emit_float_rescue = lambda { |chars, p| emit(:tFLOAT, Float(chars), @ts, @te - 6); p - 6 }
reset
end
def reset(reset_state=true)
# Ragel state:
if reset_state
# Unit tests set state prior to resetting lexer.
@cs = self.class.lex_en_line_begin
@cond = StackState.new('cond')
@cmdarg = StackState.new('cmdarg')
@cond_stack = []
@cmdarg_stack = []
end
@force_utf32 = false # Set to true by some tests
@source_pts = nil # @source as a codepoint array
@p = 0 # stream position (saved manually in #advance)
@ts = nil # token start
@te = nil # token end
@act = 0 # next action
@stack = [] # state stack
@top = 0 # state stack top pointer
# Lexer state:
@token_queue = []
@eq_begin_s = nil # location of last encountered =begin
@sharp_s = nil # location of last encountered #
@newline_s = nil # location of last encountered newline
@num_base = nil # last numeric base
@num_digits_s = nil # starting position of numeric digits
@num_suffix_s = nil # starting position of numeric suffix
@num_xfrm = nil # numeric suffix-induced transformation
# Ruby 1.9 ->() lambdas emit a distinct token if do/{ is
# encountered after a matching closing parenthesis.
@paren_nest = 0
@lambda_stack = []
# If the lexer is in `command state' (aka expr_value)
# at the entry to #advance, it will transition to expr_cmdarg
# instead of expr_arg at certain points.
@command_start = true
# State before =begin / =end block comment
@cs_before_block_comment = self.class.lex_en_line_begin
@strings = Parser::LexerStrings.new(self, @version)
end
def source_buffer=(source_buffer)
@source_buffer = source_buffer
if @source_buffer
source = @source_buffer.source
if source.encoding == Encoding::UTF_8
@source_pts = source.unpack('U*')
else
@source_pts = source.unpack('C*')
end
if @source_pts[0] == 0xfeff
# Skip byte order mark.
@p = 1
end
else
@source_pts = nil
end
@strings.source_buffer = @source_buffer
@strings.source_pts = @source_pts
end
def encoding
@source_buffer.source.encoding
end
LEX_STATES = {
:line_begin => lex_en_line_begin,
:expr_dot => lex_en_expr_dot,
:expr_fname => lex_en_expr_fname,
:expr_value => lex_en_expr_value,
:expr_beg => lex_en_expr_beg,
:expr_mid => lex_en_expr_mid,
:expr_arg => lex_en_expr_arg,
:expr_cmdarg => lex_en_expr_cmdarg,
:expr_end => lex_en_expr_end,
:expr_endarg => lex_en_expr_endarg,
:expr_endfn => lex_en_expr_endfn,
:expr_labelarg => lex_en_expr_labelarg,
:inside_string => lex_en_inside_string
}
def state
LEX_STATES.invert.fetch(@cs, @cs)
end
def state=(state)
@cs = LEX_STATES.fetch(state)
end
def push_cmdarg
@cmdarg_stack.push(@cmdarg)
@cmdarg = StackState.new("cmdarg.#{@cmdarg_stack.count}")
end
def pop_cmdarg
@cmdarg = @cmdarg_stack.pop
end
def push_cond
@cond_stack.push(@cond)
@cond = StackState.new("cond.#{@cond_stack.count}")
end
def pop_cond
@cond = @cond_stack.pop
end
def dedent_level
@strings.dedent_level
end
# Return next token: [type, value].
def advance
unless @token_queue.empty?
return @token_queue.shift
end
# Ugly, but dependent on Ragel output. Consider refactoring it somehow.
klass = self.class
_lex_trans_keys = klass.send :_lex_trans_keys
_lex_key_spans = klass.send :_lex_key_spans
_lex_index_offsets = klass.send :_lex_index_offsets
_lex_indicies = klass.send :_lex_indicies
_lex_trans_targs = klass.send :_lex_trans_targs
_lex_trans_actions = klass.send :_lex_trans_actions
_lex_to_state_actions = klass.send :_lex_to_state_actions
_lex_from_state_actions = klass.send :_lex_from_state_actions
_lex_eof_trans = klass.send :_lex_eof_trans
_lex_actions = @_lex_actions
pe = @source_pts.size + 2
p, eof = @p, pe
cmd_state = @command_start
@command_start = false
# line 8435 "lib/parser/lexer-F1.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 _lex_from_state_actions[ @cs]
when 85 then
# line 1 "NONE"
begin
@ts = p
end
# line 8463 "lib/parser/lexer-F1.rb"
end
_keys = @cs << 1
_inds = _lex_index_offsets[ @cs]
_slen = _lex_key_spans[ @cs]
_wide = ( (@source_pts[p] || 0))
_trans = if ( _slen > 0 &&
_lex_trans_keys[_keys] <= _wide &&
_wide <= _lex_trans_keys[_keys + 1]
) then
_lex_indicies[ _inds + _wide - _lex_trans_keys[_keys] ]
else
_lex_indicies[ _inds + _slen ]
end
end
if _goto_level <= _eof_trans
@cs = _lex_trans_targs[_trans]
if _lex_trans_actions[_trans] != 0
case _lex_trans_actions[_trans]
when 14 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
when 15 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
when 45 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
when 49 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
when 190 then
# line 777 "lib/parser/lexer.rl"
begin
tm = p end
when 22 then
# line 1061 "lib/parser/lexer.rl"
begin
tm = p end
when 24 then
# line 1074 "lib/parser/lexer.rl"
begin
tm = p end
when 26 then
# line 1102 "lib/parser/lexer.rl"
begin
tm = p end
when 56 then
# line 1299 "lib/parser/lexer.rl"
begin
heredoc_e = p end
when 229 then
# line 1400 "lib/parser/lexer.rl"
begin
tm = p - 1; diag_msg = :ivar_name end
when 232 then
# line 1401 "lib/parser/lexer.rl"
begin
tm = p - 2; diag_msg = :cvar_name end
when 244 then
# line 1488 "lib/parser/lexer.rl"
begin
tm = p end
when 188 then
# line 1595 "lib/parser/lexer.rl"
begin
ident_tok = tok; ident_ts = @ts; ident_te = @te; end
when 331 then
# line 1781 "lib/parser/lexer.rl"
begin
@num_base = 16; @num_digits_s = p end
when 325 then
# line 1782 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = p end
when 328 then
# line 1783 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = p end
when 322 then
# line 1784 "lib/parser/lexer.rl"
begin
@num_base = 2; @num_digits_s = p end
when 337 then
# line 1785 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = @ts end
when 299 then
# line 1786 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = @ts end
when 314 then
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 307 then
# line 1830 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 304 then
# line 1831 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 74 then
# line 2034 "lib/parser/lexer.rl"
begin
tm = p end
when 65 then
# line 1 "NONE"
begin
@te = p+1
end
when 1 then
# line 848 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit_global_var
@cs = (stack_pop); begin
p += 1
_goto_level = _out
next
end
end
end
when 87 then
# line 848 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_global_var
@cs = (stack_pop); begin
p += 1
_goto_level = _out
next
end
end
end
when 89 then
# line 855 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_class_var
@cs = (stack_pop); begin
p += 1
_goto_level = _out
next
end
end
end
when 88 then
# line 862 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_instance_var
@cs = (stack_pop); begin
p += 1
_goto_level = _out
next
end
end
end
when 110 then
# line 880 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_table(KEYWORDS_BEGIN);
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 96 then
# line 888 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit(:tIDENTIFIER)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 3 then
# line 892 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = @ts - 1
@cs = 516; begin
@stack[ @top] = @cs
@top+= 1
@cs = 129
_goto_level = _again
next
end
end
end
when 93 then
# line 901 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_table(PUNCTUATION)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 105 then
# line 905 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 5 then
# line 911 "lib/parser/lexer.rl"
begin
@te = p+1
begin
if version?(23)
type, delimiter = tok[0..-2], tok[-1].chr
@strings.push_literal(type, delimiter, @ts)
begin
@cs = 128
_goto_level = _again
next
end
else
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
end
when 92 then
# line 925 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 91 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 109 then
# line 880 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(KEYWORDS_BEGIN);
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 106 then
# line 884 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tCONSTANT)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 108 then
# line 888 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tIDENTIFIER)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 103 then
# line 892 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
@cs = 516; begin
@stack[ @top] = @cs
@top+= 1
@cs = 129
_goto_level = _again
next
end
end
end
when 99 then
# line 901 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(PUNCTUATION)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 104 then
# line 908 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 97 then
# line 922 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 102 then
# line 925 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 4 then
# line 901 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin emit_table(PUNCTUATION)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 2 then
# line 925 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 95 then
# line 1 "NONE"
begin
case @act
when 4 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS_BEGIN);
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
when 5 then
begin begin p = (( @te))-1; end
emit(:tCONSTANT)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
when 6 then
begin begin p = (( @te))-1; end
emit(:tIDENTIFIER)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 7 then
# line 937 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit(:tLABEL, tok(@ts, @te - 2), @ts, @te - 1)
p = p - 1; @cs = 501; begin
p += 1
_goto_level = _out
next
end
end
end
when 8 then
# line 941 "lib/parser/lexer.rl"
begin
@te = p+1
begin
if @version >= 31 && @context.in_argdef
emit(:tBDOT3, '...'.freeze)
# emit(:tNL, "\n".freeze, @te - 1, @te)
@cs = 516; begin
p += 1
_goto_level = _out
next
end
else
p -= 3;
begin
@cs = 516
_goto_level = _again
next
end
end
end
end
when 112 then
# line 955 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 111 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 114 then
# line 952 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 113 then
# line 955 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 6 then
# line 955 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 120 then
# line 981 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_table(PUNCTUATION)
@cs = 276; begin
p += 1
_goto_level = _out
next
end
end
end
when 119 then
# line 987 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 118 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 130 then
# line 966 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tCONSTANT)
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
when 121 then
# line 970 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tIDENTIFIER)
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
when 126 then
# line 981 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(PUNCTUATION)
@cs = 276; begin
p += 1
_goto_level = _out
next
end
end
end
when 124 then
# line 984 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 129 then
# line 987 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 153 then
# line 1047 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Unlike expr_beg as invoked in the next rule, do not warn
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 136 then
# line 1065 "lib/parser/lexer.rl"
begin
@te = p+1
begin
check_ambiguous_slash(tm)
p = tm - 1
begin
@cs = 345
_goto_level = _again
next
end
end
end
when 142 then
# line 1086 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 10 then
# line 1094 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = @ts - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 144 then
# line 1103 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = tm - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 25 then
# line 1114 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 131 then
# line 1128 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 132 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 143 then
# line 1056 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 139 then
# line 1075 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
diagnostic :warning, :ambiguous_prefix, { :prefix => tok(tm, @te) },
range(tm, @te)
p = tm - 1
begin
@cs = 345
_goto_level = _again
next
end
end
end
when 141 then
# line 1091 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 135 then
# line 1114 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 134 then
# line 1119 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 152 then
# line 1128 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 11 then
# line 1119 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
end
when 27 then
# line 1128 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 9 then
# line 1 "NONE"
begin
case @act
when 33 then
begin begin p = (( @te))-1; end
check_ambiguous_slash(tm)
p = tm - 1
begin
@cs = 345
_goto_level = _again
next
end
end
when 34 then
begin begin p = (( @te))-1; end
diagnostic :warning, :ambiguous_prefix, { :prefix => tok(tm, @te) },
range(tm, @te)
p = tm - 1
begin
@cs = 345
_goto_level = _again
next
end
end
when 39 then
begin begin p = (( @te))-1; end
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
else
begin begin p = (( @te))-1; end
end
end
end
when 29 then
# line 1164 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = @ts - 1
begin
@cs = 276
_goto_level = _again
next
end
end
end
when 157 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 158 then
# line 1164 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
begin
@cs = 276
_goto_level = _again
next
end
end
end
when 30 then
# line 1164 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin p = @ts - 1
begin
@cs = 276
_goto_level = _again
next
end
end
end
when 28 then
# line 1 "NONE"
begin
case @act
when 46 then
begin begin p = (( @te))-1; end
if @cond.active?
emit(:kDO_COND, 'do'.freeze, @te - 2, @te)
else
emit(:kDO, 'do'.freeze, @te - 2, @te)
end
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 47 then
begin begin p = (( @te))-1; end
p = @ts - 1
begin
@cs = 276
_goto_level = _again
next
end
end
end
end
when 168 then
# line 1200 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_do(true)
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 161 then
# line 1206 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 162 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 163 then
# line 1203 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 166 then
# line 1206 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 172 then
# line 1230 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 171 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 180 then
# line 1222 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 174 then
# line 1224 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 178 then
# line 1230 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 173 then
# line 1 "NONE"
begin
case @act
when 54 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
when 55 then
begin begin p = (( @te))-1; end
p = @ts - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
end
when 42 then
# line 1245 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
p = p - 1; @cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 214 then
# line 1262 "lib/parser/lexer.rl"
begin
@te = p+1
begin
type = delimiter = tok[0].chr
@strings.push_literal(type, delimiter, @ts)
p = p - 1;
begin
@cs = 128
_goto_level = _again
next
end
end
end
when 206 then
# line 1272 "lib/parser/lexer.rl"
begin
@te = p+1
begin
type, delimiter = @source_buffer.slice(@ts, 1).chr, tok[-1].chr
@strings.push_literal(type, delimiter, @ts)
begin
@cs = 128
_goto_level = _again
next
end
end
end
when 40 then
# line 1280 "lib/parser/lexer.rl"
begin
@te = p+1
begin
type, delimiter = tok[0..-2], tok[-1].chr
@strings.push_literal(type, delimiter, @ts)
begin
@cs = 128
_goto_level = _again
next
end
end
end
when 227 then
# line 1357 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p = p - 1; p = p - 1;
emit(:tSYMBEG, tok(@ts, @ts + 1), @ts, @ts + 1)
begin
@cs = 134
_goto_level = _again
next
end
end
end
when 215 then
# line 1365 "lib/parser/lexer.rl"
begin
@te = p+1
begin
type, delimiter = tok, tok[-1].chr
@strings.push_literal(type, delimiter, @ts);
begin
@cs = 128
_goto_level = _again
next
end
end
end
when 226 then
# line 1375 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit(:tSYMBOL, tok(@ts + 1, @ts + 2))
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 54 then
# line 1389 "lib/parser/lexer.rl"
begin
@te = p+1
begin
gvar_name = tok(@ts + 1)
if @version >= 33 && gvar_name.start_with?('$0') && gvar_name.length > 2
diagnostic :error, :gvar_name, { :name => gvar_name }, range(@ts + 1, @te)
end
emit(:tSYMBOL, gvar_name, @ts)
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 236 then
# line 1416 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p, next_state = @strings.read_character_constant(@ts)
p = p - 1; # Ragel will do `p += 1` to consume input, prevent it
# If strings lexer founds a character constant (?a) emit it,
# otherwise read ternary operator
if @token_queue.empty?
begin
@cs = (next_state)
_goto_level = _again
next
end
else
@cs = (next_state);
begin
p += 1
_goto_level = _out
next
end
end
end
end
when 237 then
# line 1431 "lib/parser/lexer.rl"
begin
@te = p+1
begin
diagnostic :fatal, :incomplete_escape, nil, range(@ts, @ts + 1)
end
end
when 216 then
# line 1483 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_table(PUNCTUATION_BEGIN)
begin
p += 1
_goto_level = _out
next
end
end
end
when 37 then
# line 1504 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p = p - 1;
if version?(18)
ident = tok(@ts, @te - 2)
emit((@source_buffer.slice(@ts, 1) =~ /[A-Z]/) ? :tCONSTANT : :tIDENTIFIER,
ident, @ts, @te - 2)
p = p - 1; # continue as a symbol
if !@static_env.nil? && @static_env.declared?(ident)
@cs = 516;
else
@cs = (arg_or_cmdarg(cmd_state));
end
else
emit(:tLABEL, tok(@ts, @te - 2), @ts, @te - 1)
@cs = 501;
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 34 then
# line 1597 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit(:tIDENTIFIER, ident_tok, ident_ts, ident_te)
p = ident_te - 1
if !@static_env.nil? && @static_env.declared?(ident_tok) && @version < 25
@cs = 247;
else
@cs = 307;
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 200 then
# line 1616 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p = @ts - 1
@cs_before_block_comment = @cs
begin
@cs = 710
_goto_level = _again
next
end
end
end
when 41 then
# line 1632 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = @ts - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 183 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 210 then
# line 1245 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
p = p - 1; @cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 209 then
# line 1252 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tSTAR, '*'.freeze)
begin
p += 1
_goto_level = _out
next
end
end
end
when 205 then
# line 1287 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
diagnostic :fatal, :string_eof, nil, range(@ts, @ts + 1)
end
end
when 234 then
# line 1348 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
end
end
when 217 then
# line 1389 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
gvar_name = tok(@ts + 1)
if @version >= 33 && gvar_name.start_with?('$0') && gvar_name.length > 2
diagnostic :error, :gvar_name, { :name => gvar_name }, range(@ts + 1, @te)
end
emit(:tSYMBOL, gvar_name, @ts)
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 230 then
# line 1403 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_colon_with_digits(p, tm, diag_msg)
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 235 then
# line 1431 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
diagnostic :fatal, :incomplete_escape, nil, range(@ts, @ts + 1)
end
end
when 207 then
# line 1483 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(PUNCTUATION_BEGIN)
begin
p += 1
_goto_level = _out
next
end
end
end
when 211 then
# line 1531 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if @version >= 27
emit(:tBDOT2)
else
emit(:tDOT2)
end
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 212 then
# line 1542 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
# Here we scan and conditionally emit "\n":
# + if it's there
# + and emitted we do nothing
# + and not emitted we return `p` to "\n" to process it on the next scan
# + if it's not there we do nothing
followed_by_nl = @te - 1 == @newline_s
nl_emitted = false
dots_te = followed_by_nl ? @te - 1 : @te
if @version >= 30
if @lambda_stack.any? && @lambda_stack.last + 1 == @paren_nest
# To reject `->(...)` like `->...`
emit(:tDOT3, '...'.freeze, @ts, dots_te)
else
emit(:tBDOT3, '...'.freeze, @ts, dots_te)
if @version >= 31 && followed_by_nl && @context.in_argdef
emit(:tNL, @te - 1, @te)
nl_emitted = true
end
end
elsif @version >= 27
emit(:tBDOT3, '...'.freeze, @ts, dots_te)
else
emit(:tDOT3, '...'.freeze, @ts, dots_te)
end
if followed_by_nl && !nl_emitted
# return "\n" to process it on the next scan
p = p - 1;
end
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 187 then
# line 831 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tIDENTIFIER)
if !@static_env.nil? && @static_env.declared?(tok)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
elsif @version >= 32 && tok =~ /\A_[1-9]\z/
@cs = 247; begin
p += 1
_goto_level = _out
next
end
else
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
end
when 197 then
# line 1613 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 199 then
# line 1616 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
p = @ts - 1
@cs_before_block_comment = @cs
begin
@cs = 710
_goto_level = _again
next
end
end
end
when 202 then
# line 1632 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 39 then
# line 1287 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
diagnostic :fatal, :string_eof, nil, range(@ts, @ts + 1)
end
end
when 58 then
# line 1348 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
end
end
when 33 then
# line 831 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
emit(:tIDENTIFIER)
if !@static_env.nil? && @static_env.declared?(tok)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
elsif @version >= 32 && tok =~ /\A_[1-9]\z/
@cs = 247; begin
p += 1
_goto_level = _out
next
end
else
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
end
when 38 then
# line 1613 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
end
when 53 then
# line 1632 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin p = @ts - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 36 then
# line 1 "NONE"
begin
case @act
when 60 then
begin begin p = (( @te))-1; end
emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
p = p - 1; @cs = 516; begin
p += 1
_goto_level = _out
next
end
end
when 67 then
begin begin p = (( @te))-1; end
diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
end
when 76 then
begin begin p = (( @te))-1; end
if @version >= 27
emit(:tPIPE, tok(@ts, @ts + 1), @ts, @ts + 1)
p = p - 1;
@cs = 345; begin
p += 1
_goto_level = _out
next
end
else
p -= 2
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 80 then
begin begin p = (( @te))-1; end
emit_table(PUNCTUATION_BEGIN)
begin
p += 1
_goto_level = _out
next
end
end
when 81 then
begin begin p = (( @te))-1; end
emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
p = tm - 1
@cs = 321; begin
p += 1
_goto_level = _out
next
end
end
when 82 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS_BEGIN)
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 86 then
begin begin p = (( @te))-1; end
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
when 87 then
begin begin p = (( @te))-1; end
emit(:tIDENTIFIER)
if !@static_env.nil? && @static_env.declared?(tok)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
elsif @version >= 32 && tok =~ /\A_[1-9]\z/
@cs = 247; begin
p += 1
_goto_level = _out
next
end
else
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
when 91 then
begin begin p = (( @te))-1; end
p = @ts - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
end
when 247 then
# line 1652 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 248 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 249 then
# line 1640 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 253 then
# line 1652 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 61 then
# line 1662 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 257 then
# line 1667 "lib/parser/lexer.rl"
begin
@te = p+1
begin
@strings.push_literal(tok, tok, @ts)
begin
@cs = 128
_goto_level = _again
next
end
end
end
when 256 then
# line 1678 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 255 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 259 then
# line 1672 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 258 then
# line 1678 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 60 then
# line 1678 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin p = p - 1; begin
@cs = 345
_goto_level = _again
next
end
end
end
when 292 then
# line 1689 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit(:tLAMBDA, '->'.freeze, @ts, @ts + 2)
@lambda_stack.push @paren_nest
@cs = 247; begin
p += 1
_goto_level = _out
next
end
end
end
when 71 then
# line 1730 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_singleton_class
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 267 then
# line 1851 "lib/parser/lexer.rl"
begin
@te = p+1
begin
type, delimiter = tok, tok[-1].chr
@strings.push_literal(type, delimiter, @ts, nil, false, false, true);
begin
@cs = 128
_goto_level = _again
next
end
end
end
when 63 then
# line 1870 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = @ts - 1; begin
@stack[ @top] = @cs
@top+= 1
@cs = 129
_goto_level = _again
next
end
end
end
when 288 then
# line 1877 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_table(PUNCTUATION)
@cs = 255; begin
p += 1
_goto_level = _out
next
end
end
end
when 341 then
# line 1901 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit_table(PUNCTUATION)
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 281 then
# line 1910 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit_table(PUNCTUATION);
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 286 then
# line 1937 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit(:tOP_ASGN, tok(@ts, @te - 1))
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 272 then
# line 1941 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit(:tEH, '?'.freeze)
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 269 then
# line 1960 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit_table(PUNCTUATION)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 271 then
# line 1973 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit(:tSEMI, ';'.freeze)
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 346 then
# line 1977 "lib/parser/lexer.rl"
begin
@te = p+1
begin
diagnostic :error, :bare_backslash, nil, range(@ts, @ts + 1)
p = p - 1;
end
end
when 266 then
# line 1983 "lib/parser/lexer.rl"
begin
@te = p+1
begin
diagnostic :fatal, :unexpected, { :character => tok.inspect[1..-2] }
end
end
when 265 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 357 then
# line 1726 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(KEYWORDS)
@cs = 134; begin
p += 1
_goto_level = _out
next
end
end
end
when 355 then
# line 1730 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_singleton_class
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 354 then
# line 1740 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(KEYWORDS)
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 296 then
# line 1801 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
diagnostic :error, :no_dot_digit_literal
end
end
when 343 then
# line 1862 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tCONSTANT)
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
when 285 then
# line 1870 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1; begin
@stack[ @top] = @cs
@top+= 1
@cs = 129
_goto_level = _again
next
end
end
end
when 293 then
# line 1877 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(PUNCTUATION)
@cs = 255; begin
p += 1
_goto_level = _out
next
end
end
end
when 349 then
# line 831 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tIDENTIFIER)
if !@static_env.nil? && @static_env.declared?(tok)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
elsif @version >= 32 && tok =~ /\A_[1-9]\z/
@cs = 247; begin
p += 1
_goto_level = _out
next
end
else
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
end
when 291 then
# line 1901 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_table(PUNCTUATION)
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 287 then
# line 1910 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_table(PUNCTUATION);
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 280 then
# line 1916 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(PUNCTUATION)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 294 then
# line 1960 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(PUNCTUATION)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 278 then
# line 1967 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 284 then
# line 1983 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
diagnostic :fatal, :unexpected, { :character => tok.inspect[1..-2] }
end
end
when 69 then
# line 1788 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 64 then
# line 1801 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
diagnostic :error, :no_dot_digit_literal
end
end
when 68 then
# line 1833 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 62 then
# line 1983 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
diagnostic :fatal, :unexpected, { :character => tok.inspect[1..-2] }
end
end
when 66 then
# line 1 "NONE"
begin
case @act
when 104 then
begin begin p = (( @te))-1; end
if @lambda_stack.last == @paren_nest
@lambda_stack.pop
if tok == '{'.freeze
emit(:tLAMBEG, '{'.freeze)
else # 'do'
emit(:kDO_LAMBDA, 'do'.freeze)
end
else
if tok == '{'.freeze
emit(:tLCURLY, '{'.freeze)
else # 'do'
emit_do
end
end
if tok == '{'.freeze
@paren_nest += 1
end
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 105 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@cs = 134; begin
p += 1
_goto_level = _out
next
end
end
when 106 then
begin begin p = (( @te))-1; end
emit_singleton_class
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 107 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
when 108 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 109 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@cs = 321; begin
p += 1
_goto_level = _out
next
end
end
when 110 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
if version?(18) && tok == 'not'.freeze
@cs = 345; begin
p += 1
_goto_level = _out
next
end
else
@cs = 276; begin
p += 1
_goto_level = _out
next
end
end
end
when 111 then
begin begin p = (( @te))-1; end
if version?(18)
emit(:tIDENTIFIER)
unless !@static_env.nil? && @static_env.declared?(tok)
@cs = (arg_or_cmdarg(cmd_state));
end
else
emit(:k__ENCODING__, '__ENCODING__'.freeze)
end
begin
p += 1
_goto_level = _out
next
end
end
when 112 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
begin
p += 1
_goto_level = _out
next
end
end
when 113 then
begin begin p = (( @te))-1; end
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
when 115 then
begin begin p = (( @te))-1; end
if version?(18, 19, 20)
diagnostic :error,
:trailing_in_number, { :character => tok(@te - 1, @te) },
range(@te - 1, @te)
else
emit(:tINTEGER, tok(@ts, @te - 1).to_i, @ts, @te - 1)
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 116 then
begin begin p = (( @te))-1; end
if version?(18, 19, 20)
diagnostic :error,
:trailing_in_number, { :character => tok(@te - 1, @te) },
range(@te - 1, @te)
else
emit(:tFLOAT, tok(@ts, @te - 1).to_f, @ts, @te - 1)
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 117 then
begin begin p = (( @te))-1; end
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
when 119 then
begin begin p = (( @te))-1; end
emit(:tCONSTANT)
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
when 123 then
begin begin p = (( @te))-1; end
emit(:tIDENTIFIER)
if !@static_env.nil? && @static_env.declared?(tok)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
elsif @version >= 32 && tok =~ /\A_[1-9]\z/
@cs = 247; begin
p += 1
_goto_level = _out
next
end
else
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
when 124 then
begin begin p = (( @te))-1; end
if tm == @te
# Suffix was consumed, e.g. foo!
emit(:tFID)
else
# Suffix was not consumed, e.g. foo!=
emit(:tIDENTIFIER, tok(@ts, tm), @ts, tm)
p = tm - 1
end
@cs = 276; begin
p += 1
_goto_level = _out
next
end
end
when 126 then
begin begin p = (( @te))-1; end
emit_table(PUNCTUATION);
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 127 then
begin begin p = (( @te))-1; end
emit_table(PUNCTUATION)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 368 then
# line 2024 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit(:tNL, nil, @newline_s, @newline_s + 1)
if @version < 27
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
else
emit(:tBDOT3)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 80 then
# line 2035 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = tm - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 362 then
# line 2038 "lib/parser/lexer.rl"
begin
@te = p+1
begin emit(:tNL, nil, @newline_s, @newline_s + 1)
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
end
end
when 365 then
# line 1999 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if @version < 27
# Ruby before 2.7 doesn't support comments before leading dot.
# If a line after "a" starts with a comment then "a" is a self-contained statement.
# So in that case we emit a special tNL token and start reading the
# next line as a separate statement.
#
# Note: block comments before leading dot are not supported on any version of Ruby.
emit(:tNL, nil, @newline_s, @newline_s + 1)
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 367 then
# line 2013 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tNL, nil, @newline_s, @newline_s + 1)
if @version < 27
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
else
emit(:tBDOT2)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 366 then
# line 2035 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = tm - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 364 then
# line 2038 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tNL, nil, @newline_s, @newline_s + 1)
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
end
end
when 75 then
# line 1999 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin
if @version < 27
# Ruby before 2.7 doesn't support comments before leading dot.
# If a line after "a" starts with a comment then "a" is a self-contained statement.
# So in that case we emit a special tNL token and start reading the
# next line as a separate statement.
#
# Note: block comments before leading dot are not supported on any version of Ruby.
emit(:tNL, nil, @newline_s, @newline_s + 1)
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 72 then
# line 2038 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin emit(:tNL, nil, @newline_s, @newline_s + 1)
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
end
end
when 76 then
# line 1 "NONE"
begin
case @act
when 140 then
begin begin p = (( @te))-1; end
if @version < 27
# Ruby before 2.7 doesn't support comments before leading dot.
# If a line after "a" starts with a comment then "a" is a self-contained statement.
# So in that case we emit a special tNL token and start reading the
# next line as a separate statement.
#
# Note: block comments before leading dot are not supported on any version of Ruby.
emit(:tNL, nil, @newline_s, @newline_s + 1)
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
end
end
when 144 then
begin begin p = (( @te))-1; end
emit(:tNL, nil, @newline_s, @newline_s + 1)
p = p - 1; @cs = 710; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 371 then
# line 2048 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_comment(@eq_begin_s, @te)
begin
@cs = (@cs_before_block_comment)
_goto_level = _again
next
end
end
end
when 370 then
# line 2056 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
diagnostic :fatal, :embedded_document, nil,
range(@eq_begin_s, @eq_begin_s + '=begin'.length)
end
end
when 381 then
# line 2066 "lib/parser/lexer.rl"
begin
@te = p+1
begin @eq_begin_s = @ts
begin
@cs = 704
_goto_level = _again
next
end
end
end
when 82 then
# line 2070 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = pe - 3 end
end
when 373 then
# line 2073 "lib/parser/lexer.rl"
begin
@te = p+1
begin cmd_state = true; p = p - 1; begin
@cs = 508
_goto_level = _again
next
end
end
end
when 374 then
# line 566 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Sit at EOF indefinitely. #advance would return $eof each time.
# This allows to feed the lexer more data if needed; this is only used
# in tests.
#
# Note that this action is not embedded into e_eof like e_nl and e_bs
# below. This is due to the fact that scanner state at EOF is observed
# by tests, and encapsulating it in a rule would break the introspection.
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 375 then
# line 2063 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 380 then
# line 2066 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin @eq_begin_s = @ts
begin
@cs = 704
_goto_level = _again
next
end
end
end
when 379 then
# line 2073 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin cmd_state = true; p = p - 1; begin
@cs = 508
_goto_level = _again
next
end
end
end
when 81 then
# line 2073 "lib/parser/lexer.rl"
begin
begin p = (( @te))-1; end
begin cmd_state = true; p = p - 1; begin
@cs = 508
_goto_level = _again
next
end
end
end
when 86 then
# line 2080 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p, next_state = @strings.advance(p)
p = p - 1; # Ragel will do `p += 1` to consume input, prevent it
@cs = (next_state);
begin
p += 1
_goto_level = _out
next
end
end
end
when 52 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
when 154 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 1047 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Unlike expr_beg as invoked in the next rule, do not warn
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 145 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 1103 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = tm - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 137 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 1114 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 213 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 1542 "lib/parser/lexer.rl"
begin
@te = p+1
begin
# Here we scan and conditionally emit "\n":
# + if it's there
# + and emitted we do nothing
# + and not emitted we return `p` to "\n" to process it on the next scan
# + if it's not there we do nothing
followed_by_nl = @te - 1 == @newline_s
nl_emitted = false
dots_te = followed_by_nl ? @te - 1 : @te
if @version >= 30
if @lambda_stack.any? && @lambda_stack.last + 1 == @paren_nest
# To reject `->(...)` like `->...`
emit(:tDOT3, '...'.freeze, @ts, dots_te)
else
emit(:tBDOT3, '...'.freeze, @ts, dots_te)
if @version >= 31 && followed_by_nl && @context.in_argdef
emit(:tNL, @te - 1, @te)
nl_emitted = true
end
end
elsif @version >= 27
emit(:tBDOT3, '...'.freeze, @ts, dots_te)
else
emit(:tDOT3, '...'.freeze, @ts, dots_te)
end
if followed_by_nl && !nl_emitted
# return "\n" to process it on the next scan
p = p - 1;
end
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 201 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 1616 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p = @ts - 1
@cs_before_block_comment = @cs
begin
@cs = 710
_goto_level = _again
next
end
end
end
when 295 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 1949 "lib/parser/lexer.rl"
begin
@te = p+1
begin
if @paren_nest == 0
diagnostic :warning, :triple_dot_at_eol, nil, range(@ts, @te - 1)
end
emit(:tDOT3, '...'.freeze, @ts, @te - 1)
p = p - 1;
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 372 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 2048 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit_comment(@eq_begin_s, @te)
begin
@cs = (@cs_before_block_comment)
_goto_level = _again
next
end
end
end
when 369 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 2053 "lib/parser/lexer.rl"
begin
@te = p+1
end
when 382 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 2066 "lib/parser/lexer.rl"
begin
@te = p+1
begin @eq_begin_s = @ts
begin
@cs = 704
_goto_level = _again
next
end
end
end
when 83 then
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 2070 "lib/parser/lexer.rl"
begin
@te = p+1
begin p = pe - 3 end
end
when 317 then
# line 674 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_rational end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 315 then
# line 675 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_imaginary end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 320 then
# line 676 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_imaginary_rational end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 318 then
# line 677 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer_re end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 316 then
# line 678 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer_if end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 319 then
# line 679 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer_rescue end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 308 then
# line 683 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_imaginary_float end
# line 1833 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 309 then
# line 684 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_float_if end
# line 1833 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 310 then
# line 688 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_rational end
# line 1833 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 312 then
# line 689 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_imaginary_rational end
# line 1833 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 311 then
# line 690 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_float_rescue end
# line 1833 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 147 then
# line 696 "lib/parser/lexer.rl"
begin
e_lbrace
end
# line 1028 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if @lambda_stack.last == @paren_nest
@lambda_stack.pop
emit(:tLAMBEG, '{'.freeze, @te - 1, @te)
else
emit(:tLCURLY, '{'.freeze, @te - 1, @te)
end
@command_start = true
@paren_nest += 1
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 169 then
# line 696 "lib/parser/lexer.rl"
begin
e_lbrace
end
# line 1187 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if @lambda_stack.last == @paren_nest
@lambda_stack.pop
emit(:tLAMBEG, '{'.freeze)
else
emit(:tLBRACE_ARG, '{'.freeze)
end
@paren_nest += 1
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 245 then
# line 696 "lib/parser/lexer.rl"
begin
e_lbrace
end
# line 1459 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if @lambda_stack.last == @paren_nest
@lambda_stack.pop
@command_start = true
emit(:tLAMBEG, '{'.freeze)
else
emit(:tLBRACE, '{'.freeze)
end
@paren_nest += 1
begin
p += 1
_goto_level = _out
next
end
end
end
when 360 then
# line 696 "lib/parser/lexer.rl"
begin
e_lbrace
end
# line 1697 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if @lambda_stack.last == @paren_nest
@lambda_stack.pop
if tok == '{'.freeze
emit(:tLAMBEG, '{'.freeze)
else # 'do'
emit(:kDO_LAMBDA, 'do'.freeze)
end
else
if tok == '{'.freeze
emit(:tLCURLY, '{'.freeze)
else # 'do'
emit_do
end
end
if tok == '{'.freeze
@paren_nest += 1
end
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
end
when 361 then
# line 700 "lib/parser/lexer.rl"
begin
if @strings.close_interp_on_current_literal(p)
p = p - 1;
@cs = 128;
begin
p += 1
_goto_level = _out
next
end
end
@paren_nest -= 1
end
# line 1920 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_rbrace_rparen_rbrack
if tok == '}'.freeze || tok == ']'.freeze
if @version >= 25
@cs = 516;
else
@cs = 313;
end
else # )
# fnext expr_endfn; ?
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 43 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
when 16 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1061 "lib/parser/lexer.rl"
begin
tm = p end
when 18 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1074 "lib/parser/lexer.rl"
begin
tm = p end
when 20 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1102 "lib/parser/lexer.rl"
begin
tm = p end
when 98 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 922 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 117 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 952 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 125 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 984 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 19 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1114 "lib/parser/lexer.rl"
begin
@te = p+1
begin
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 156 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1119 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 148 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1125 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 167 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1203 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 179 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1224 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 175 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1227 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
when 44 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1245 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
p = p - 1; @cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 35 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1597 "lib/parser/lexer.rl"
begin
@te = p+1
begin
emit(:tIDENTIFIER, ident_tok, ident_ts, ident_te)
p = ident_te - 1
if !@static_env.nil? && @static_env.declared?(ident_tok) && @version < 25
@cs = 247;
else
@cs = 307;
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 198 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1613 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 254 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1640 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 250 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1643 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if @context.in_kwarg
p = p - 1; begin
@cs = 516
_goto_level = _again
next
end
else
begin
@cs = 710
_goto_level = _again
next
end
end
end
end
when 263 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1672 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 260 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1675 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin begin
@cs = 710
_goto_level = _again
next
end
end
end
when 347 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1967 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 279 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1970 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin begin
@cs = 696
_goto_level = _again
next
end
end
end
when 376 then
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 2063 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 46 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
when 50 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
when 101 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 922 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 116 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 952 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 128 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 984 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 150 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1122 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin begin
@cs = 516
_goto_level = _again
next
end
end
end
when 165 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1203 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 177 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1224 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 204 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1613 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 252 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1640 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 262 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1672 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 283 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1967 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 378 then
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 2063 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 122 then
# line 777 "lib/parser/lexer.rl"
begin
tm = p end
# line 974 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
@cs = (arg_or_cmdarg(cmd_state)); p = tm - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 218 then
# line 777 "lib/parser/lexer.rl"
begin
tm = p end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 189 then
# line 777 "lib/parser/lexer.rl"
begin
tm = p end
# line 1586 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 276 then
# line 777 "lib/parser/lexer.rl"
begin
tm = p end
# line 1 "NONE"
begin
case @act
when 104 then
begin begin p = (( @te))-1; end
if @lambda_stack.last == @paren_nest
@lambda_stack.pop
if tok == '{'.freeze
emit(:tLAMBEG, '{'.freeze)
else # 'do'
emit(:kDO_LAMBDA, 'do'.freeze)
end
else
if tok == '{'.freeze
emit(:tLCURLY, '{'.freeze)
else # 'do'
emit_do
end
end
if tok == '{'.freeze
@paren_nest += 1
end
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 105 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@cs = 134; begin
p += 1
_goto_level = _out
next
end
end
when 106 then
begin begin p = (( @te))-1; end
emit_singleton_class
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 107 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
when 108 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 109 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
@cs = 321; begin
p += 1
_goto_level = _out
next
end
end
when 110 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
if version?(18) && tok == 'not'.freeze
@cs = 345; begin
p += 1
_goto_level = _out
next
end
else
@cs = 276; begin
p += 1
_goto_level = _out
next
end
end
end
when 111 then
begin begin p = (( @te))-1; end
if version?(18)
emit(:tIDENTIFIER)
unless !@static_env.nil? && @static_env.declared?(tok)
@cs = (arg_or_cmdarg(cmd_state));
end
else
emit(:k__ENCODING__, '__ENCODING__'.freeze)
end
begin
p += 1
_goto_level = _out
next
end
end
when 112 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS)
begin
p += 1
_goto_level = _out
next
end
end
when 113 then
begin begin p = (( @te))-1; end
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
when 115 then
begin begin p = (( @te))-1; end
if version?(18, 19, 20)
diagnostic :error,
:trailing_in_number, { :character => tok(@te - 1, @te) },
range(@te - 1, @te)
else
emit(:tINTEGER, tok(@ts, @te - 1).to_i, @ts, @te - 1)
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 116 then
begin begin p = (( @te))-1; end
if version?(18, 19, 20)
diagnostic :error,
:trailing_in_number, { :character => tok(@te - 1, @te) },
range(@te - 1, @te)
else
emit(:tFLOAT, tok(@ts, @te - 1).to_f, @ts, @te - 1)
p = p - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 117 then
begin begin p = (( @te))-1; end
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
when 119 then
begin begin p = (( @te))-1; end
emit(:tCONSTANT)
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
when 123 then
begin begin p = (( @te))-1; end
emit(:tIDENTIFIER)
if !@static_env.nil? && @static_env.declared?(tok)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
elsif @version >= 32 && tok =~ /\A_[1-9]\z/
@cs = 247; begin
p += 1
_goto_level = _out
next
end
else
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
when 124 then
begin begin p = (( @te))-1; end
if tm == @te
# Suffix was consumed, e.g. foo!
emit(:tFID)
else
# Suffix was not consumed, e.g. foo!=
emit(:tIDENTIFIER, tok(@ts, tm), @ts, tm)
p = tm - 1
end
@cs = 276; begin
p += 1
_goto_level = _out
next
end
end
when 126 then
begin begin p = (( @te))-1; end
emit_table(PUNCTUATION);
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 127 then
begin begin p = (( @te))-1; end
emit_table(PUNCTUATION)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 123 then
# line 778 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 974 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tFID, tok(@ts, tm), @ts, tm)
@cs = (arg_or_cmdarg(cmd_state)); p = tm - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 219 then
# line 778 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 191 then
# line 778 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1586 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 277 then
# line 778 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1884 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if tm == @te
# Suffix was consumed, e.g. foo!
emit(:tFID)
else
# Suffix was not consumed, e.g. foo!=
emit(:tIDENTIFIER, tok(@ts, tm), @ts, tm)
p = tm - 1
end
@cs = 276; begin
p += 1
_goto_level = _out
next
end
end
end
when 220 then
# line 783 "lib/parser/lexer.rl"
begin
tm = p end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 192 then
# line 783 "lib/parser/lexer.rl"
begin
tm = p end
# line 1586 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 221 then
# line 784 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 193 then
# line 784 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1586 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 225 then
# line 785 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 196 then
# line 785 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1586 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 224 then
# line 786 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 195 then
# line 786 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1 "NONE"
begin
case @act
when 60 then
begin begin p = (( @te))-1; end
emit(:tUNARY_NUM, tok(@ts, @ts + 1), @ts, @ts + 1)
p = p - 1; @cs = 516; begin
p += 1
_goto_level = _out
next
end
end
when 67 then
begin begin p = (( @te))-1; end
diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
end
when 76 then
begin begin p = (( @te))-1; end
if @version >= 27
emit(:tPIPE, tok(@ts, @ts + 1), @ts, @ts + 1)
p = p - 1;
@cs = 345; begin
p += 1
_goto_level = _out
next
end
else
p -= 2
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 80 then
begin begin p = (( @te))-1; end
emit_table(PUNCTUATION_BEGIN)
begin
p += 1
_goto_level = _out
next
end
end
when 81 then
begin begin p = (( @te))-1; end
emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
p = tm - 1
@cs = 321; begin
p += 1
_goto_level = _out
next
end
end
when 82 then
begin begin p = (( @te))-1; end
emit_table(KEYWORDS_BEGIN)
@command_start = true
@cs = 508; begin
p += 1
_goto_level = _out
next
end
end
when 86 then
begin begin p = (( @te))-1; end
p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
when 87 then
begin begin p = (( @te))-1; end
emit(:tIDENTIFIER)
if !@static_env.nil? && @static_env.declared?(tok)
@cs = 247; begin
p += 1
_goto_level = _out
next
end
elsif @version >= 32 && tok =~ /\A_[1-9]\z/
@cs = 247; begin
p += 1
_goto_level = _out
next
end
else
@cs = (arg_or_cmdarg(cmd_state)); begin
p += 1
_goto_level = _out
next
end
end
end
when 91 then
begin begin p = (( @te))-1; end
p = @ts - 1; begin
@cs = 516
_goto_level = _again
next
end
end
end
end
when 222 then
# line 787 "lib/parser/lexer.rl"
begin
tm = p - 3 end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 194 then
# line 787 "lib/parser/lexer.rl"
begin
tm = p - 3 end
# line 1586 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin p = @ts - 1
begin
@cs = 516
_goto_level = _again
next
end
end
end
when 223 then
# line 792 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1381 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tSYMBOL, tok(@ts + 1, tm), @ts, tm)
p = tm - 1
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 342 then
# line 797 "lib/parser/lexer.rl"
begin
tm = p - 2 end
# line 1866 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tCONSTANT, tok(@ts, tm), @ts, tm)
p = tm - 1; begin
p += 1
_goto_level = _out
next
end
end
end
when 146 then
# line 803 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
end
# line 1022 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tLBRACK, '['.freeze, @te - 1, @te)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 238 then
# line 803 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
end
# line 1473 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tLBRACK, '['.freeze)
begin
p += 1
_goto_level = _out
next
end
end
end
when 345 then
# line 803 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
end
# line 1945 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tLBRACK2, '['.freeze)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 348 then
# line 809 "lib/parser/lexer.rl"
begin
@paren_nest -= 1
end
# line 1920 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_rbrace_rparen_rbrack
if tok == '}'.freeze || tok == ']'.freeze
if @version >= 25
@cs = 516;
else
@cs = 313;
end
else # )
# fnext expr_endfn; ?
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 138 then
# line 816 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
if version?(18)
@command_start = true
end
end
# line 1003 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
if version?(18)
emit(:tLPAREN2, '('.freeze, @te - 1, @te)
@cs = 508; begin
p += 1
_goto_level = _out
next
end
else
emit(:tLPAREN_ARG, '('.freeze, @te - 1, @te)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 151 then
# line 816 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
if version?(18)
@command_start = true
end
end
# line 1016 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tLPAREN2, '('.freeze)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 159 then
# line 816 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
if version?(18)
@command_start = true
end
end
# line 1141 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit(:tLPAREN_ARG, '('.freeze, @te - 1, @te)
if version?(18)
@cs = 508; begin
p += 1
_goto_level = _out
next
end
else
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
end
when 208 then
# line 816 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
if version?(18)
@command_start = true
end
end
# line 1478 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:tLPAREN, '('.freeze)
begin
p += 1
_goto_level = _out
next
end
end
end
when 289 then
# line 816 "lib/parser/lexer.rl"
begin
@cond.push(false); @cmdarg.push(false)
@paren_nest += 1
if version?(18)
@command_start = true
end
end
# line 1916 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit_table(PUNCTUATION)
@cs = 345; begin
p += 1
_goto_level = _out
next
end
end
end
when 290 then
# line 826 "lib/parser/lexer.rl"
begin
@paren_nest -= 1
end
# line 1920 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_rbrace_rparen_rbrack
if tok == '}'.freeze || tok == ']'.freeze
if @version >= 25
@cs = 516;
else
@cs = 313;
end
else # )
# fnext expr_endfn; ?
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 57 then
# line 1299 "lib/parser/lexer.rl"
begin
heredoc_e = p end
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
when 233 then
# line 1300 "lib/parser/lexer.rl"
begin
new_herebody_s = p end
# line 1301 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
tok(@ts, heredoc_e) =~ /^<<(-?)(~?)(["'`]?)(.*)\3$/m
indent = !$1.empty? || !$2.empty?
dedent_body = !$2.empty?
type = $3.empty? ? '<<"'.freeze : ('<<'.freeze + $3)
delimiter = $4
if @version >= 27
if delimiter.count("\n") > 0 || delimiter.count("\r") > 0
diagnostic :error, :unterminated_heredoc_id, nil, range(@ts, @ts + 1)
end
elsif @version >= 24
if delimiter.count("\n") > 0
if delimiter.end_with?("\n")
diagnostic :warning, :heredoc_id_ends_with_nl, nil, range(@ts, @ts + 1)
delimiter = delimiter.rstrip
else
diagnostic :fatal, :heredoc_id_has_newline, nil, range(@ts, @ts + 1)
end
end
end
if dedent_body && version?(18, 19, 20, 21, 22)
emit(:tLSHFT, '<<'.freeze, @ts, @ts + 2)
p = @ts + 1
@cs = 345; begin
p += 1
_goto_level = _out
next
end
else
@strings.push_literal(type, delimiter, @ts, heredoc_e, indent, dedent_body);
@strings.herebody_s ||= new_herebody_s
p = @strings.herebody_s - 1
@cs = 128;
end
end
end
when 228 then
# line 1400 "lib/parser/lexer.rl"
begin
tm = p - 1; diag_msg = :ivar_name end
# line 1403 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_colon_with_digits(p, tm, diag_msg)
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 231 then
# line 1401 "lib/parser/lexer.rl"
begin
tm = p - 2; diag_msg = :cvar_name end
# line 1403 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
emit_colon_with_digits(p, tm, diag_msg)
@cs = 516; begin
p += 1
_goto_level = _out
next
end
end
end
when 241 then
# line 1488 "lib/parser/lexer.rl"
begin
tm = p end
# line 1489 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin emit(:kRESCUE, 'rescue'.freeze, @ts, tm)
p = tm - 1
@cs = 321; begin
p += 1
_goto_level = _out
next
end
end
end
when 332 then
# line 1781 "lib/parser/lexer.rl"
begin
@num_base = 16; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 326 then
# line 1782 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 329 then
# line 1783 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 323 then
# line 1784 "lib/parser/lexer.rl"
begin
@num_base = 2; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 338 then
# line 1785 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 301 then
# line 1786 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 339 then
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
when 184 then
# line 1 "NONE"
begin
@te = p+1
end
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
when 305 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1831 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
when 107 then
# line 1 "NONE"
begin
@te = p+1
end
# line 880 "lib/parser/lexer.rl"
begin
@act = 4; end
when 94 then
# line 1 "NONE"
begin
@te = p+1
end
# line 884 "lib/parser/lexer.rl"
begin
@act = 5; end
when 90 then
# line 1 "NONE"
begin
@te = p+1
end
# line 888 "lib/parser/lexer.rl"
begin
@act = 6; end
when 12 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1065 "lib/parser/lexer.rl"
begin
@act = 33; end
when 140 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1075 "lib/parser/lexer.rl"
begin
@act = 34; end
when 13 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1114 "lib/parser/lexer.rl"
begin
@act = 39; end
when 133 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1119 "lib/parser/lexer.rl"
begin
@act = 40; end
when 160 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1151 "lib/parser/lexer.rl"
begin
@act = 46; end
when 31 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1164 "lib/parser/lexer.rl"
begin
@act = 47; end
when 181 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1218 "lib/parser/lexer.rl"
begin
@act = 54; end
when 170 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1222 "lib/parser/lexer.rl"
begin
@act = 55; end
when 55 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1348 "lib/parser/lexer.rl"
begin
@act = 67; end
when 246 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1442 "lib/parser/lexer.rl"
begin
@act = 76; end
when 185 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1483 "lib/parser/lexer.rl"
begin
@act = 80; end
when 240 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1489 "lib/parser/lexer.rl"
begin
@act = 81; end
when 239 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1495 "lib/parser/lexer.rl"
begin
@act = 82; end
when 59 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1586 "lib/parser/lexer.rl"
begin
@act = 86; end
when 182 then
# line 1 "NONE"
begin
@te = p+1
end
# line 831 "lib/parser/lexer.rl"
begin
@act = 87; end
when 186 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1632 "lib/parser/lexer.rl"
begin
@act = 91; end
when 356 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1697 "lib/parser/lexer.rl"
begin
@act = 104; end
when 351 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1726 "lib/parser/lexer.rl"
begin
@act = 105; end
when 359 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1735 "lib/parser/lexer.rl"
begin
@act = 107; end
when 352 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1740 "lib/parser/lexer.rl"
begin
@act = 108; end
when 353 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1745 "lib/parser/lexer.rl"
begin
@act = 109; end
when 358 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1749 "lib/parser/lexer.rl"
begin
@act = 110; end
when 350 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1760 "lib/parser/lexer.rl"
begin
@act = 111; end
when 344 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1774 "lib/parser/lexer.rl"
begin
@act = 112; end
when 270 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1788 "lib/parser/lexer.rl"
begin
@act = 113; end
when 303 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1818 "lib/parser/lexer.rl"
begin
@act = 116; end
when 67 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1833 "lib/parser/lexer.rl"
begin
@act = 117; end
when 273 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1862 "lib/parser/lexer.rl"
begin
@act = 119; end
when 264 then
# line 1 "NONE"
begin
@te = p+1
end
# line 831 "lib/parser/lexer.rl"
begin
@act = 123; end
when 275 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1884 "lib/parser/lexer.rl"
begin
@act = 124; end
when 268 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1910 "lib/parser/lexer.rl"
begin
@act = 126; end
when 274 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1916 "lib/parser/lexer.rl"
begin
@act = 127; end
when 73 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1999 "lib/parser/lexer.rl"
begin
@act = 140; end
when 363 then
# line 1 "NONE"
begin
@te = p+1
end
# line 2038 "lib/parser/lexer.rl"
begin
@act = 144; end
when 47 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
when 100 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 922 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 115 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 952 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 127 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 984 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 149 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1122 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin begin
@cs = 516
_goto_level = _again
next
end
end
end
when 164 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1203 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 176 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1224 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 203 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1613 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 251 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1640 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 261 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1672 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 282 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1967 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 377 then
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 2063 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; end
when 334 then
# line 1785 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
when 298 then
# line 1786 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
when 313 then
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 306 then
# line 1830 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 682 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_float end
# line 1833 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 302 then
# line 1831 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 682 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_float end
# line 1833 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = tok(@ts, @num_suffix_s)
if version?(18, 19, 20)
emit(:tFLOAT, Float(digits), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits, p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 155 then
# line 1 "NONE"
begin
@te = p+1
end
# line 539 "lib/parser/lexer.rl"
begin
# Record position of a newline for precise location reporting on tNL
# tokens.
#
# This action is embedded directly into c_nl, as it is idempotent and
# there are no cases when we need to skip it.
@newline_s = p
end
# line 1119 "lib/parser/lexer.rl"
begin
@act = 40; end
when 21 then
# line 1 "NONE"
begin
@te = p+1
end
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1114 "lib/parser/lexer.rl"
begin
@act = 39; end
when 32 then
# line 1 "NONE"
begin
@te = p+1
end
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1164 "lib/parser/lexer.rl"
begin
@act = 47; end
when 79 then
# line 1 "NONE"
begin
@te = p+1
end
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1999 "lib/parser/lexer.rl"
begin
@act = 140; end
when 51 then
# line 1 "NONE"
begin
@te = p+1
end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1245 "lib/parser/lexer.rl"
begin
@act = 60; end
when 70 then
# line 1 "NONE"
begin
@te = p+1
end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1730 "lib/parser/lexer.rl"
begin
@act = 106; end
when 78 then
# line 1 "NONE"
begin
@te = p+1
end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1999 "lib/parser/lexer.rl"
begin
@act = 140; end
when 23 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1074 "lib/parser/lexer.rl"
begin
tm = p end
# line 1075 "lib/parser/lexer.rl"
begin
@act = 34; end
when 243 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1488 "lib/parser/lexer.rl"
begin
tm = p end
# line 1586 "lib/parser/lexer.rl"
begin
@act = 86; end
when 242 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1488 "lib/parser/lexer.rl"
begin
tm = p end
# line 831 "lib/parser/lexer.rl"
begin
@act = 87; end
when 335 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1785 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = @ts end
# line 1788 "lib/parser/lexer.rl"
begin
@act = 113; end
when 330 then
# line 1781 "lib/parser/lexer.rl"
begin
@num_base = 16; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 324 then
# line 1782 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 327 then
# line 1783 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 321 then
# line 1784 "lib/parser/lexer.rl"
begin
@num_base = 2; @num_digits_s = p end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 333 then
# line 1785 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 297 then
# line 1786 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1788 "lib/parser/lexer.rl"
begin
@te = p
p = p - 1; begin
digits = numeric_literal_int
if version?(18, 19, 20)
emit(:tINTEGER, digits.to_i(@num_base), @ts, @num_suffix_s)
p = @num_suffix_s - 1
else
p = @num_xfrm.call(digits.to_i(@num_base), p)
end
begin
p += 1
_goto_level = _out
next
end
end
end
when 17 then
# line 1 "NONE"
begin
@te = p+1
end
# line 723 "lib/parser/lexer.rl"
begin
p = on_newline(p)
end
# line 1074 "lib/parser/lexer.rl"
begin
tm = p end
# line 1075 "lib/parser/lexer.rl"
begin
@act = 34; end
when 48 then
# line 1 "NONE"
begin
@te = p+1
end
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1245 "lib/parser/lexer.rl"
begin
@act = 60; end
when 77 then
# line 1 "NONE"
begin
@te = p+1
end
# line 733 "lib/parser/lexer.rl"
begin
@sharp_s = p - 1 end
# line 736 "lib/parser/lexer.rl"
begin
emit_comment_from_range(p, pe) end
# line 1999 "lib/parser/lexer.rl"
begin
@act = 140; end
when 340 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1806 "lib/parser/lexer.rl"
begin
@act = 115; end
when 336 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1785 "lib/parser/lexer.rl"
begin
@num_base = 10; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1806 "lib/parser/lexer.rl"
begin
@act = 115; end
when 300 then
# line 1 "NONE"
begin
@te = p+1
end
# line 1786 "lib/parser/lexer.rl"
begin
@num_base = 8; @num_digits_s = @ts end
# line 1787 "lib/parser/lexer.rl"
begin
@num_suffix_s = p end
# line 673 "lib/parser/lexer.rl"
begin
@num_xfrm = @emit_integer end
# line 1806 "lib/parser/lexer.rl"
begin
@act = 115; end
# line 14586 "lib/parser/lexer-F1.rb"
end
end
end
if _goto_level <= _again
case _lex_to_state_actions[ @cs]
when 84 then
# line 1 "NONE"
begin
@ts = nil; end
# line 14596 "lib/parser/lexer-F1.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 _lex_eof_trans[ @cs] > 0
_trans = _lex_eof_trans[ @cs] - 1;
_goto_level = _eof_trans
next;
end
end
end
if _goto_level <= _out
break
end
end
end
# line 281 "lib/parser/lexer.rl"
# %
# Ragel creates a local variable called `testEof` but it doesn't use
# it in any assignment. This dead code is here to swallow the warning.
# It has no runtime cost because Ruby doesn't produce any instructions from it.
if false
testEof
end
@p = p
if @token_queue.any?
@token_queue.shift
elsif @cs == klass.lex_error
[ false, [ '$error'.freeze, range(p - 1, p) ] ]
else
eof = @source_pts.size
[ false, [ '$eof'.freeze, range(eof, eof) ] ]
end
end
protected
def version?(*versions)
versions.include?(@version)
end
def stack_pop
@top -= 1
@stack[@top]
end
def tok(s = @ts, e = @te)
@source_buffer.slice(s, e - s)
end
def range(s = @ts, e = @te)
Parser::Source::Range.new(@source_buffer, s, e)
end
def emit(type, value = tok, s = @ts, e = @te)
token = [ type, [ value, range(s, e) ] ]
@token_queue.push(token)
@tokens.push(token) if @tokens
token
end
def emit_table(table, s = @ts, e = @te)
value = tok(s, e)
emit(table[value], value, s, e)
end
def emit_do(do_block=false)
if @cond.active?
emit(:kDO_COND, 'do'.freeze)
elsif @cmdarg.active? || do_block
emit(:kDO_BLOCK, 'do'.freeze)
else
emit(:kDO, 'do'.freeze)
end
end
def arg_or_cmdarg(cmd_state)
if cmd_state
self.class.lex_en_expr_cmdarg
else
self.class.lex_en_expr_arg
end
end
def emit_comment(s = @ts, e = @te)
if @comments
@comments.push(Parser::Source::Comment.new(range(s, e)))
end
if @tokens
@tokens.push([ :tCOMMENT, [ tok(s, e), range(s, e) ] ])
end
nil
end
def emit_comment_from_range(p, pe)
emit_comment(@sharp_s, p == pe ? p - 2 : p)
end
def diagnostic(type, reason, arguments=nil, location=range, highlights=[])
@diagnostics.process(
Parser::Diagnostic.new(type, reason, arguments, location, highlights))
end
def e_lbrace
@cond.push(false); @cmdarg.push(false)
current_literal = @strings.literal
if current_literal
current_literal.start_interp_brace
end
end
def numeric_literal_int
digits = tok(@num_digits_s, @num_suffix_s)
if digits.end_with? '_'.freeze
diagnostic :error, :trailing_in_number, { :character => '_'.freeze },
range(@te - 1, @te)
elsif digits.empty? && @num_base == 8 && version?(18)
# 1.8 did not raise an error on 0o.
digits = '0'.freeze
elsif digits.empty?
diagnostic :error, :empty_numeric
elsif @num_base == 8 && (invalid_idx = digits.index(/[89]/))
invalid_s = @num_digits_s + invalid_idx
diagnostic :error, :invalid_octal, nil,
range(invalid_s, invalid_s + 1)
end
digits
end
def on_newline(p)
@strings.on_newline(p)
end
def check_ambiguous_slash(tm)
if tok(tm, tm + 1) == '/'.freeze
# Ambiguous regexp literal.
if @version < 30
diagnostic :warning, :ambiguous_literal, nil, range(tm, tm + 1)
else
diagnostic :warning, :ambiguous_regexp, nil, range(tm, tm + 1)
end
end
end
def emit_global_var(ts = @ts, te = @te)
if tok(ts, te) =~ /^\$([1-9][0-9]*)$/
emit(:tNTH_REF, tok(ts + 1, te).to_i, ts, te)
elsif tok =~ /^\$([&`'+])$/
emit(:tBACK_REF, tok(ts, te), ts, te)
else
emit(:tGVAR, tok(ts, te), ts, te)
end
end
def emit_class_var(ts = @ts, te = @te)
if tok(ts, te) =~ /^@@[0-9]/
diagnostic :error, :cvar_name, { :name => tok(ts, te) }
end
emit(:tCVAR, tok(ts, te), ts, te)
end
def emit_instance_var(ts = @ts, te = @te)
if tok(ts, te) =~ /^@[0-9]/
diagnostic :error, :ivar_name, { :name => tok(ts, te) }
end
emit(:tIVAR, tok(ts, te), ts, te)
end
def emit_rbrace_rparen_rbrack
emit_table(PUNCTUATION)
if @version < 24
@cond.lexpop
@cmdarg.lexpop
else
@cond.pop
@cmdarg.pop
end
end
def emit_colon_with_digits(p, tm, diag_msg)
if @version >= 27
diagnostic :error, diag_msg, { name: tok(tm, @te) }, range(tm, @te)
else
emit(:tCOLON, tok(@ts, @ts + 1), @ts, @ts + 1)
p = @ts
end
p
end
def emit_singleton_class
emit(:kCLASS, 'class'.freeze, @ts, @ts + 5)
emit(:tLSHFT, '<<'.freeze, @te - 2, @te)
end
# Mapping of strings to parser tokens.
PUNCTUATION = {
'=' => :tEQL, '&' => :tAMPER2, '|' => :tPIPE,
'!' => :tBANG, '^' => :tCARET, '+' => :tPLUS,
'-' => :tMINUS, '*' => :tSTAR2, '/' => :tDIVIDE,
'%' => :tPERCENT, '~' => :tTILDE, ',' => :tCOMMA,
';' => :tSEMI, '.' => :tDOT, '..' => :tDOT2,
'...' => :tDOT3, '[' => :tLBRACK2, ']' => :tRBRACK,
'(' => :tLPAREN2, ')' => :tRPAREN, '?' => :tEH,
':' => :tCOLON, '&&' => :tANDOP, '||' => :tOROP,
'-@' => :tUMINUS, '+@' => :tUPLUS, '~@' => :tTILDE,
'**' => :tPOW, '->' => :tLAMBDA, '=~' => :tMATCH,
'!~' => :tNMATCH, '==' => :tEQ, '!=' => :tNEQ,
'>' => :tGT, '>>' => :tRSHFT, '>=' => :tGEQ,
'<' => :tLT, '<<' => :tLSHFT, '<=' => :tLEQ,
'=>' => :tASSOC, '::' => :tCOLON2, '===' => :tEQQ,
'<=>' => :tCMP, '[]' => :tAREF, '[]=' => :tASET,
'{' => :tLCURLY, '}' => :tRCURLY, '`' => :tBACK_REF2,
'!@' => :tBANG, '&.' => :tANDDOT,
}
PUNCTUATION_BEGIN = {
'&' => :tAMPER, '*' => :tSTAR, '**' => :tDSTAR,
'+' => :tUPLUS, '-' => :tUMINUS, '::' => :tCOLON3,
'(' => :tLPAREN, '{' => :tLBRACE, '[' => :tLBRACK,
}
KEYWORDS = {
'if' => :kIF_MOD, 'unless' => :kUNLESS_MOD,
'while' => :kWHILE_MOD, 'until' => :kUNTIL_MOD,
'rescue' => :kRESCUE_MOD, 'defined?' => :kDEFINED,
'BEGIN' => :klBEGIN, 'END' => :klEND,
}
KEYWORDS_BEGIN = {
'if' => :kIF, 'unless' => :kUNLESS,
'while' => :kWHILE, 'until' => :kUNTIL,
'rescue' => :kRESCUE, 'defined?' => :kDEFINED,
'BEGIN' => :klBEGIN, 'END' => :klEND,
}
ESCAPE_WHITESPACE = {
" " => '\s', "\r" => '\r', "\n" => '\n', "\t" => '\t',
"\v" => '\v', "\f" => '\f'
}
%w(class module def undef begin end then elsif else ensure case when
for break next redo retry in do return yield super self nil true
false and or not alias __FILE__ __LINE__ __ENCODING__).each do |keyword|
KEYWORDS_BEGIN[keyword] = KEYWORDS[keyword] = :"k#{keyword.upcase}"
end
# line 2089 "lib/parser/lexer.rl"
# %
end