hogql-parser 1.3.2__tar.gz → 1.3.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,830 @@
1
+
2
+
3
+ #include <cctype>
4
+
5
+
6
+
7
+ // Generated from HogQLLexer.g4 by ANTLR 4.13.2
8
+
9
+
10
+ #include "HogQLLexer.h"
11
+
12
+
13
+ using namespace antlr4;
14
+
15
+
16
+
17
+ using namespace antlr4;
18
+
19
+ namespace {
20
+
21
+ struct HogQLLexerStaticData final {
22
+ HogQLLexerStaticData(std::vector<std::string> ruleNames,
23
+ std::vector<std::string> channelNames,
24
+ std::vector<std::string> modeNames,
25
+ std::vector<std::string> literalNames,
26
+ std::vector<std::string> symbolicNames)
27
+ : ruleNames(std::move(ruleNames)), channelNames(std::move(channelNames)),
28
+ modeNames(std::move(modeNames)), literalNames(std::move(literalNames)),
29
+ symbolicNames(std::move(symbolicNames)),
30
+ vocabulary(this->literalNames, this->symbolicNames) {}
31
+
32
+ HogQLLexerStaticData(const HogQLLexerStaticData&) = delete;
33
+ HogQLLexerStaticData(HogQLLexerStaticData&&) = delete;
34
+ HogQLLexerStaticData& operator=(const HogQLLexerStaticData&) = delete;
35
+ HogQLLexerStaticData& operator=(HogQLLexerStaticData&&) = delete;
36
+
37
+ std::vector<antlr4::dfa::DFA> decisionToDFA;
38
+ antlr4::atn::PredictionContextCache sharedContextCache;
39
+ const std::vector<std::string> ruleNames;
40
+ const std::vector<std::string> channelNames;
41
+ const std::vector<std::string> modeNames;
42
+ const std::vector<std::string> literalNames;
43
+ const std::vector<std::string> symbolicNames;
44
+ const antlr4::dfa::Vocabulary vocabulary;
45
+ antlr4::atn::SerializedATNView serializedATN;
46
+ std::unique_ptr<antlr4::atn::ATN> atn;
47
+ };
48
+
49
+ ::antlr4::internal::OnceFlag hogqllexerLexerOnceFlag;
50
+ #if ANTLR4_USE_THREAD_LOCAL_CACHE
51
+ static thread_local
52
+ #endif
53
+ std::unique_ptr<HogQLLexerStaticData> hogqllexerLexerStaticData = nullptr;
54
+
55
+ void hogqllexerLexerInitialize() {
56
+ #if ANTLR4_USE_THREAD_LOCAL_CACHE
57
+ if (hogqllexerLexerStaticData != nullptr) {
58
+ return;
59
+ }
60
+ #else
61
+ assert(hogqllexerLexerStaticData == nullptr);
62
+ #endif
63
+ auto staticData = std::make_unique<HogQLLexerStaticData>(
64
+ std::vector<std::string>{
65
+ "ALL", "AND", "ANTI", "ANY", "ARRAY", "AS", "ASCENDING", "ASOF", "BETWEEN",
66
+ "BOTH", "BY", "CASE", "CAST", "CATCH", "COHORT", "COLLATE", "CROSS",
67
+ "CUBE", "CURRENT", "DATE", "DAY", "DESC", "DESCENDING", "DISTINCT",
68
+ "ELSE", "END", "EXCEPT", "EXTRACT", "FINAL", "FINALLY", "FIRST", "FN",
69
+ "FOLLOWING", "FOR", "FROM", "FULL", "FUN", "GROUP", "HAVING", "HOUR",
70
+ "ID", "IF", "ILIKE", "IN", "INF", "INNER", "INTERSECT", "INTERVAL",
71
+ "IS", "JOIN", "KEY", "LAST", "LEADING", "LEFT", "LET", "LIKE", "LIMIT",
72
+ "MINUTE", "MONTH", "NAN_SQL", "NOT", "NULL_SQL", "NULLS", "OFFSET",
73
+ "ON", "OR", "ORDER", "OUTER", "OVER", "PARTITION", "PRECEDING", "PREWHERE",
74
+ "QUARTER", "RANGE", "RETURN", "RIGHT", "ROLLUP", "ROW", "ROWS", "SAMPLE",
75
+ "SECOND", "SELECT", "SEMI", "SETTINGS", "SUBSTRING", "THEN", "THROW",
76
+ "TIES", "TIMESTAMP", "TO", "TOP", "TOTALS", "TRAILING", "TRIM", "TRUNCATE",
77
+ "TRY", "UNBOUNDED", "UNION", "USING", "WEEK", "WHEN", "WHERE", "WHILE",
78
+ "WINDOW", "WITH", "YEAR", "ESCAPE_CHAR_COMMON", "IDENTIFIER", "FLOATING_LITERAL",
79
+ "OCTAL_LITERAL", "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", "STRING_LITERAL",
80
+ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
81
+ "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "LETTER",
82
+ "OCT_DIGIT", "DEC_DIGIT", "HEX_DIGIT", "ARROW", "ASTERISK", "BACKQUOTE",
83
+ "BACKSLASH", "DOUBLECOLON", "COLON", "COMMA", "CONCAT", "DASH", "DOLLAR",
84
+ "DOT", "EQ_DOUBLE", "EQ_SINGLE", "GT_EQ", "GT", "HASH", "IREGEX_SINGLE",
85
+ "IREGEX_DOUBLE", "LBRACE", "LBRACKET", "LPAREN", "LT_EQ", "TAG_LT_SLASH",
86
+ "TAG_LT_OPEN", "LT", "LT_SLASH", "NOT_EQ", "NOT_IREGEX", "NOT_REGEX",
87
+ "NULL_PROPERTY", "NULLISH", "PERCENT", "PLUS", "QUERY", "QUOTE_DOUBLE",
88
+ "QUOTE_SINGLE_TEMPLATE", "QUOTE_SINGLE_TEMPLATE_FULL", "QUOTE_SINGLE",
89
+ "REGEX_SINGLE", "REGEX_DOUBLE", "RBRACE", "RBRACKET", "RPAREN", "SEMICOLON",
90
+ "SLASH", "SLASH_GT", "UNDERSCORE", "MULTI_LINE_COMMENT", "SINGLE_LINE_COMMENT",
91
+ "WHITESPACE", "STRING_TEXT", "STRING_ESCAPE_TRIGGER", "STRING_QUOTE_SINGLE",
92
+ "FULL_STRING_TEXT", "FULL_STRING_ESCAPE_TRIGGER", "TAG_SELF_CLOSE_GT",
93
+ "TAG_OPEN_GT", "TAG_IDENT", "TAG_EQ", "TAG_STRING", "TAG_WS", "TAG_LBRACE",
94
+ "TAGC_GT", "TAGC_IDENT", "TAGC_WS", "HOGQLX_TEXT_TEXT", "HOGQLX_TEXT_LBRACE",
95
+ "HOGQLX_TEXT_LT_SLASH", "HOGQLX_TEXT_LT", "HOGQLX_TEXT_WS"
96
+ },
97
+ std::vector<std::string>{
98
+ "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
99
+ },
100
+ std::vector<std::string>{
101
+ "DEFAULT_MODE", "IN_TEMPLATE_STRING", "IN_FULL_TEMPLATE_STRING", "HOGQLX_TAG_OPEN",
102
+ "HOGQLX_TAG_CLOSE", "HOGQLX_TEXT"
103
+ },
104
+ std::vector<std::string>{
105
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
106
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
107
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
108
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
109
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
110
+ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
111
+ "", "", "", "", "", "", "", "", "", "", "", "", "'->'", "'*'", "'`'",
112
+ "'\\'", "'::'", "':'", "','", "'||'", "'-'", "'$'", "'.'", "'=='",
113
+ "", "'>='", "", "'#'", "'~*'", "'=~*'", "'{'", "'['", "'('", "'<='",
114
+ "'<'", "'</'", "", "'!~*'", "'!~'", "'\\u003F.'", "'\\u003F\\u003F'",
115
+ "'%'", "'+'", "'\\u003F'", "'\"'", "'f''", "'F''", "'''", "'~'", "'=~'",
116
+ "'}'", "']'", "')'", "';'", "'/'", "", "'_'"
117
+ },
118
+ std::vector<std::string>{
119
+ "", "ALL", "AND", "ANTI", "ANY", "ARRAY", "AS", "ASCENDING", "ASOF",
120
+ "BETWEEN", "BOTH", "BY", "CASE", "CAST", "CATCH", "COHORT", "COLLATE",
121
+ "CROSS", "CUBE", "CURRENT", "DATE", "DAY", "DESC", "DESCENDING", "DISTINCT",
122
+ "ELSE", "END", "EXCEPT", "EXTRACT", "FINAL", "FINALLY", "FIRST", "FN",
123
+ "FOLLOWING", "FOR", "FROM", "FULL", "FUN", "GROUP", "HAVING", "HOUR",
124
+ "ID", "IF", "ILIKE", "IN", "INF", "INNER", "INTERSECT", "INTERVAL",
125
+ "IS", "JOIN", "KEY", "LAST", "LEADING", "LEFT", "LET", "LIKE", "LIMIT",
126
+ "MINUTE", "MONTH", "NAN_SQL", "NOT", "NULL_SQL", "NULLS", "OFFSET",
127
+ "ON", "OR", "ORDER", "OUTER", "OVER", "PARTITION", "PRECEDING", "PREWHERE",
128
+ "QUARTER", "RANGE", "RETURN", "RIGHT", "ROLLUP", "ROW", "ROWS", "SAMPLE",
129
+ "SECOND", "SELECT", "SEMI", "SETTINGS", "SUBSTRING", "THEN", "THROW",
130
+ "TIES", "TIMESTAMP", "TO", "TOP", "TOTALS", "TRAILING", "TRIM", "TRUNCATE",
131
+ "TRY", "UNBOUNDED", "UNION", "USING", "WEEK", "WHEN", "WHERE", "WHILE",
132
+ "WINDOW", "WITH", "YEAR", "ESCAPE_CHAR_COMMON", "IDENTIFIER", "FLOATING_LITERAL",
133
+ "OCTAL_LITERAL", "DECIMAL_LITERAL", "HEXADECIMAL_LITERAL", "STRING_LITERAL",
134
+ "ARROW", "ASTERISK", "BACKQUOTE", "BACKSLASH", "DOUBLECOLON", "COLON",
135
+ "COMMA", "CONCAT", "DASH", "DOLLAR", "DOT", "EQ_DOUBLE", "EQ_SINGLE",
136
+ "GT_EQ", "GT", "HASH", "IREGEX_SINGLE", "IREGEX_DOUBLE", "LBRACE",
137
+ "LBRACKET", "LPAREN", "LT_EQ", "LT", "LT_SLASH", "NOT_EQ", "NOT_IREGEX",
138
+ "NOT_REGEX", "NULL_PROPERTY", "NULLISH", "PERCENT", "PLUS", "QUERY",
139
+ "QUOTE_DOUBLE", "QUOTE_SINGLE_TEMPLATE", "QUOTE_SINGLE_TEMPLATE_FULL",
140
+ "QUOTE_SINGLE", "REGEX_SINGLE", "REGEX_DOUBLE", "RBRACE", "RBRACKET",
141
+ "RPAREN", "SEMICOLON", "SLASH", "SLASH_GT", "UNDERSCORE", "MULTI_LINE_COMMENT",
142
+ "SINGLE_LINE_COMMENT", "WHITESPACE", "STRING_TEXT", "STRING_ESCAPE_TRIGGER",
143
+ "FULL_STRING_TEXT", "FULL_STRING_ESCAPE_TRIGGER", "TAG_WS", "TAGC_WS",
144
+ "HOGQLX_TEXT_TEXT", "HOGQLX_TEXT_WS"
145
+ }
146
+ );
147
+ static const int32_t serializedATNSegment[] = {
148
+ 4,0,169,1631,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,
149
+ 3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,
150
+ 7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,
151
+ 7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,
152
+ 7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,
153
+ 7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,
154
+ 7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,
155
+ 7,46,2,47,7,47,2,48,7,48,2,49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,
156
+ 7,53,2,54,7,54,2,55,7,55,2,56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,
157
+ 7,60,2,61,7,61,2,62,7,62,2,63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,
158
+ 7,67,2,68,7,68,2,69,7,69,2,70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,
159
+ 7,74,2,75,7,75,2,76,7,76,2,77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,
160
+ 7,81,2,82,7,82,2,83,7,83,2,84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,
161
+ 7,88,2,89,7,89,2,90,7,90,2,91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,
162
+ 7,95,2,96,7,96,2,97,7,97,2,98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,
163
+ 2,102,7,102,2,103,7,103,2,104,7,104,2,105,7,105,2,106,7,106,2,107,7,107,
164
+ 2,108,7,108,2,109,7,109,2,110,7,110,2,111,7,111,2,112,7,112,2,113,7,113,
165
+ 2,114,7,114,2,115,7,115,2,116,7,116,2,117,7,117,2,118,7,118,2,119,7,119,
166
+ 2,120,7,120,2,121,7,121,2,122,7,122,2,123,7,123,2,124,7,124,2,125,7,125,
167
+ 2,126,7,126,2,127,7,127,2,128,7,128,2,129,7,129,2,130,7,130,2,131,7,131,
168
+ 2,132,7,132,2,133,7,133,2,134,7,134,2,135,7,135,2,136,7,136,2,137,7,137,
169
+ 2,138,7,138,2,139,7,139,2,140,7,140,2,141,7,141,2,142,7,142,2,143,7,143,
170
+ 2,144,7,144,2,145,7,145,2,146,7,146,2,147,7,147,2,148,7,148,2,149,7,149,
171
+ 2,150,7,150,2,151,7,151,2,152,7,152,2,153,7,153,2,154,7,154,2,155,7,155,
172
+ 2,156,7,156,2,157,7,157,2,158,7,158,2,159,7,159,2,160,7,160,2,161,7,161,
173
+ 2,162,7,162,2,163,7,163,2,164,7,164,2,165,7,165,2,166,7,166,2,167,7,167,
174
+ 2,168,7,168,2,169,7,169,2,170,7,170,2,171,7,171,2,172,7,172,2,173,7,173,
175
+ 2,174,7,174,2,175,7,175,2,176,7,176,2,177,7,177,2,178,7,178,2,179,7,179,
176
+ 2,180,7,180,2,181,7,181,2,182,7,182,2,183,7,183,2,184,7,184,2,185,7,185,
177
+ 2,186,7,186,2,187,7,187,2,188,7,188,2,189,7,189,2,190,7,190,2,191,7,191,
178
+ 2,192,7,192,2,193,7,193,2,194,7,194,2,195,7,195,2,196,7,196,2,197,7,197,
179
+ 2,198,7,198,2,199,7,199,2,200,7,200,2,201,7,201,2,202,7,202,2,203,7,203,
180
+ 2,204,7,204,2,205,7,205,2,206,7,206,2,207,7,207,2,208,7,208,2,209,7,209,
181
+ 2,210,7,210,2,211,7,211,2,212,7,212,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,
182
+ 2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,
183
+ 1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6,3,6,473,8,6,1,
184
+ 7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,
185
+ 1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,13,
186
+ 1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,
187
+ 1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,
188
+ 1,17,1,17,1,17,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,1,19,1,19,1,19,
189
+ 1,19,1,19,1,20,1,20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,
190
+ 1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,
191
+ 1,23,1,23,1,23,1,24,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,
192
+ 1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,
193
+ 1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,
194
+ 1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1,32,1,32,
195
+ 1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,34,1,34,1,34,1,34,1,34,1,35,
196
+ 1,35,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,
197
+ 1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,40,1,40,
198
+ 1,40,1,41,1,41,1,41,1,42,1,42,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,44,
199
+ 1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,701,
200
+ 8,44,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1,46,1,46,1,46,1,46,
201
+ 1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,48,1,48,
202
+ 1,48,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,
203
+ 1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1,53,1,53,1,53,
204
+ 1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,
205
+ 1,56,1,57,1,57,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,
206
+ 1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1,61,1,61,1,62,
207
+ 1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,63,1,63,1,64,1,64,
208
+ 1,64,1,65,1,65,1,65,1,66,1,66,1,66,1,66,1,66,1,66,1,67,1,67,1,67,1,67,
209
+ 1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,69,1,69,1,69,1,69,1,69,1,69,1,69,
210
+ 1,69,1,69,1,69,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,70,1,71,
211
+ 1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,
212
+ 1,72,1,72,1,73,1,73,1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,
213
+ 1,74,1,75,1,75,1,75,1,75,1,75,1,75,1,76,1,76,1,76,1,76,1,76,1,76,1,76,
214
+ 1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,79,1,79,1,79,1,79,1,79,
215
+ 1,79,1,79,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,1,81,1,81,1,81,
216
+ 1,81,1,81,1,82,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,83,1,83,
217
+ 1,83,1,83,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,84,1,85,1,85,
218
+ 1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,
219
+ 1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,90,
220
+ 1,90,1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,1,92,
221
+ 1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,
222
+ 1,94,1,94,1,94,1,94,1,94,1,95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,
223
+ 1,96,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,
224
+ 1,98,1,98,1,98,1,99,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,100,
225
+ 1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1,102,
226
+ 1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104,1,104,
227
+ 1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,1085,
228
+ 8,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,
229
+ 1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,
230
+ 1,106,1,106,1,106,1,106,3,106,1114,8,106,1,107,1,107,1,107,3,107,1119,
231
+ 8,107,1,107,1,107,1,107,1,107,5,107,1125,8,107,10,107,12,107,1128,9,107,
232
+ 1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,5,107,1139,8,107,
233
+ 10,107,12,107,1142,9,107,1,107,1,107,1,107,1,107,1,107,1,107,1,107,1,
234
+ 107,1,107,1,107,1,107,5,107,1155,8,107,10,107,12,107,1158,9,107,1,107,
235
+ 1,107,3,107,1162,8,107,1,108,1,108,1,108,5,108,1167,8,108,10,108,12,108,
236
+ 1170,9,108,1,108,1,108,3,108,1174,8,108,1,108,1,108,3,108,1178,8,108,
237
+ 1,108,4,108,1181,8,108,11,108,12,108,1182,1,108,1,108,1,108,3,108,1188,
238
+ 8,108,1,108,1,108,3,108,1192,8,108,1,108,4,108,1195,8,108,11,108,12,108,
239
+ 1196,1,108,1,108,1,108,5,108,1202,8,108,10,108,12,108,1205,9,108,1,108,
240
+ 1,108,1,108,3,108,1210,8,108,1,108,4,108,1213,8,108,11,108,12,108,1214,
241
+ 1,108,1,108,1,108,1,108,1,108,3,108,1222,8,108,1,108,4,108,1225,8,108,
242
+ 11,108,12,108,1226,1,108,1,108,1,108,1,108,3,108,1233,8,108,1,108,4,108,
243
+ 1236,8,108,11,108,12,108,1237,3,108,1240,8,108,1,109,1,109,4,109,1244,
244
+ 8,109,11,109,12,109,1245,1,110,4,110,1249,8,110,11,110,12,110,1250,1,
245
+ 111,1,111,1,111,4,111,1256,8,111,11,111,12,111,1257,1,112,1,112,1,112,
246
+ 1,112,1,112,1,112,1,112,1,112,1,112,5,112,1269,8,112,10,112,12,112,1272,
247
+ 9,112,1,112,1,112,1,113,1,113,1,114,1,114,1,115,1,115,1,116,1,116,1,117,
248
+ 1,117,1,118,1,118,1,119,1,119,1,120,1,120,1,121,1,121,1,122,1,122,1,123,
249
+ 1,123,1,124,1,124,1,125,1,125,1,126,1,126,1,127,1,127,1,128,1,128,1,129,
250
+ 1,129,1,130,1,130,1,131,1,131,1,132,1,132,1,133,1,133,1,134,1,134,1,135,
251
+ 1,135,1,136,1,136,1,137,1,137,1,138,1,138,1,139,1,139,1,140,1,140,1,141,
252
+ 1,141,1,142,1,142,1,143,1,143,1,143,1,144,1,144,1,145,1,145,1,146,1,146,
253
+ 1,147,1,147,1,147,1,148,1,148,1,149,1,149,1,150,1,150,1,150,1,151,1,151,
254
+ 1,152,1,152,1,153,1,153,1,154,1,154,1,154,1,155,1,155,1,156,1,156,1,156,
255
+ 1,157,1,157,1,158,1,158,1,159,1,159,1,159,1,160,1,160,1,160,1,160,1,161,
256
+ 1,161,1,161,1,161,1,162,1,162,1,163,1,163,1,164,1,164,1,164,1,165,1,165,
257
+ 1,165,1,165,1,165,1,165,1,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,
258
+ 1,168,1,168,1,168,1,169,1,169,1,169,1,169,3,169,1412,8,169,1,170,1,170,
259
+ 1,170,1,170,1,171,1,171,1,171,1,172,1,172,1,172,1,173,1,173,1,173,1,174,
260
+ 1,174,1,175,1,175,1,176,1,176,1,177,1,177,1,178,1,178,1,178,1,178,1,178,
261
+ 1,179,1,179,1,179,1,179,1,179,1,180,1,180,1,181,1,181,1,182,1,182,1,182,
262
+ 1,183,1,183,1,183,1,183,1,184,1,184,1,185,1,185,1,186,1,186,1,187,1,187,
263
+ 1,188,1,188,1,188,1,189,1,189,1,190,1,190,1,190,1,190,5,190,1473,8,190,
264
+ 10,190,12,190,1476,9,190,1,190,1,190,1,190,1,190,1,190,1,191,1,191,1,
265
+ 191,1,191,3,191,1487,8,191,1,191,5,191,1490,8,191,10,191,12,191,1493,
266
+ 9,191,1,191,3,191,1496,8,191,1,191,1,191,1,192,1,192,1,192,1,192,1,193,
267
+ 1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,4,193,1515,
268
+ 8,193,11,193,12,193,1516,1,194,1,194,1,194,1,194,1,195,1,195,1,195,1,
269
+ 195,1,195,1,196,1,196,1,196,1,196,1,196,4,196,1533,8,196,11,196,12,196,
270
+ 1534,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1,198,1,198,1,199,
271
+ 1,199,1,199,1,199,1,199,1,199,1,200,1,200,5,200,1555,8,200,10,200,12,
272
+ 200,1558,9,200,1,200,1,200,1,201,1,201,1,201,1,201,1,202,1,202,1,202,
273
+ 1,202,1,203,4,203,1571,8,203,11,203,12,203,1572,1,203,1,203,1,204,1,204,
274
+ 1,204,1,204,1,204,1,205,1,205,1,205,1,205,1,205,1,206,1,206,5,206,1589,
275
+ 8,206,10,206,12,206,1592,9,206,1,206,1,206,1,207,4,207,1597,8,207,11,
276
+ 207,12,207,1598,1,207,1,207,1,208,4,208,1604,8,208,11,208,12,208,1605,
277
+ 1,209,1,209,1,209,1,209,1,209,1,210,1,210,1,210,1,210,1,210,1,210,1,210,
278
+ 1,211,1,211,1,211,1,211,1,211,1,212,4,212,1626,8,212,11,212,12,212,1627,
279
+ 1,212,1,212,1,1474,0,213,6,1,8,2,10,3,12,4,14,5,16,6,18,7,20,8,22,9,24,
280
+ 10,26,11,28,12,30,13,32,14,34,15,36,16,38,17,40,18,42,19,44,20,46,21,
281
+ 48,22,50,23,52,24,54,25,56,26,58,27,60,28,62,29,64,30,66,31,68,32,70,
282
+ 33,72,34,74,35,76,36,78,37,80,38,82,39,84,40,86,41,88,42,90,43,92,44,
283
+ 94,45,96,46,98,47,100,48,102,49,104,50,106,51,108,52,110,53,112,54,114,
284
+ 55,116,56,118,57,120,58,122,59,124,60,126,61,128,62,130,63,132,64,134,
285
+ 65,136,66,138,67,140,68,142,69,144,70,146,71,148,72,150,73,152,74,154,
286
+ 75,156,76,158,77,160,78,162,79,164,80,166,81,168,82,170,83,172,84,174,
287
+ 85,176,86,178,87,180,88,182,89,184,90,186,91,188,92,190,93,192,94,194,
288
+ 95,196,96,198,97,200,98,202,99,204,100,206,101,208,102,210,103,212,104,
289
+ 214,105,216,106,218,107,220,108,222,109,224,110,226,111,228,112,230,113,
290
+ 232,0,234,0,236,0,238,0,240,0,242,0,244,0,246,0,248,0,250,0,252,0,254,
291
+ 0,256,0,258,0,260,0,262,0,264,0,266,0,268,0,270,0,272,0,274,0,276,0,278,
292
+ 0,280,0,282,0,284,0,286,0,288,0,290,0,292,114,294,115,296,116,298,117,
293
+ 300,118,302,119,304,120,306,121,308,122,310,123,312,124,314,125,316,126,
294
+ 318,127,320,128,322,129,324,130,326,131,328,132,330,133,332,134,334,135,
295
+ 336,0,338,0,340,136,342,137,344,138,346,139,348,140,350,141,352,142,354,
296
+ 143,356,144,358,145,360,146,362,147,364,148,366,149,368,150,370,151,372,
297
+ 152,374,153,376,154,378,155,380,156,382,157,384,158,386,159,388,160,390,
298
+ 161,392,162,394,163,396,0,398,164,400,165,402,0,404,0,406,0,408,0,410,
299
+ 0,412,166,414,0,416,0,418,0,420,167,422,168,424,0,426,0,428,0,430,169,
300
+ 6,0,1,2,3,4,5,42,2,0,92,92,96,96,2,0,34,34,92,92,2,0,39,39,92,92,2,0,
301
+ 65,65,97,97,2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,69,
302
+ 69,101,101,2,0,70,70,102,102,2,0,71,71,103,103,2,0,72,72,104,104,2,0,
303
+ 73,73,105,105,2,0,74,74,106,106,2,0,75,75,107,107,2,0,76,76,108,108,2,
304
+ 0,77,77,109,109,2,0,78,78,110,110,2,0,79,79,111,111,2,0,80,80,112,112,
305
+ 2,0,81,81,113,113,2,0,82,82,114,114,2,0,83,83,115,115,2,0,84,84,116,116,
306
+ 2,0,85,85,117,117,2,0,86,86,118,118,2,0,87,87,119,119,2,0,88,88,120,120,
307
+ 2,0,89,89,121,121,2,0,90,90,122,122,2,0,65,90,97,122,1,0,48,55,1,0,48,
308
+ 57,3,0,48,57,65,70,97,102,2,0,10,10,13,13,2,1,10,10,13,13,2,0,9,13,32,
309
+ 32,3,0,39,39,92,92,123,123,1,0,123,123,3,0,65,90,95,95,97,122,5,0,45,
310
+ 45,48,57,65,90,95,95,97,122,3,0,9,10,13,13,32,32,2,0,60,60,123,123,1670,
311
+ 0,6,1,0,0,0,0,8,1,0,0,0,0,10,1,0,0,0,0,12,1,0,0,0,0,14,1,0,0,0,0,16,1,
312
+ 0,0,0,0,18,1,0,0,0,0,20,1,0,0,0,0,22,1,0,0,0,0,24,1,0,0,0,0,26,1,0,0,
313
+ 0,0,28,1,0,0,0,0,30,1,0,0,0,0,32,1,0,0,0,0,34,1,0,0,0,0,36,1,0,0,0,0,
314
+ 38,1,0,0,0,0,40,1,0,0,0,0,42,1,0,0,0,0,44,1,0,0,0,0,46,1,0,0,0,0,48,1,
315
+ 0,0,0,0,50,1,0,0,0,0,52,1,0,0,0,0,54,1,0,0,0,0,56,1,0,0,0,0,58,1,0,0,
316
+ 0,0,60,1,0,0,0,0,62,1,0,0,0,0,64,1,0,0,0,0,66,1,0,0,0,0,68,1,0,0,0,0,
317
+ 70,1,0,0,0,0,72,1,0,0,0,0,74,1,0,0,0,0,76,1,0,0,0,0,78,1,0,0,0,0,80,1,
318
+ 0,0,0,0,82,1,0,0,0,0,84,1,0,0,0,0,86,1,0,0,0,0,88,1,0,0,0,0,90,1,0,0,
319
+ 0,0,92,1,0,0,0,0,94,1,0,0,0,0,96,1,0,0,0,0,98,1,0,0,0,0,100,1,0,0,0,0,
320
+ 102,1,0,0,0,0,104,1,0,0,0,0,106,1,0,0,0,0,108,1,0,0,0,0,110,1,0,0,0,0,
321
+ 112,1,0,0,0,0,114,1,0,0,0,0,116,1,0,0,0,0,118,1,0,0,0,0,120,1,0,0,0,0,
322
+ 122,1,0,0,0,0,124,1,0,0,0,0,126,1,0,0,0,0,128,1,0,0,0,0,130,1,0,0,0,0,
323
+ 132,1,0,0,0,0,134,1,0,0,0,0,136,1,0,0,0,0,138,1,0,0,0,0,140,1,0,0,0,0,
324
+ 142,1,0,0,0,0,144,1,0,0,0,0,146,1,0,0,0,0,148,1,0,0,0,0,150,1,0,0,0,0,
325
+ 152,1,0,0,0,0,154,1,0,0,0,0,156,1,0,0,0,0,158,1,0,0,0,0,160,1,0,0,0,0,
326
+ 162,1,0,0,0,0,164,1,0,0,0,0,166,1,0,0,0,0,168,1,0,0,0,0,170,1,0,0,0,0,
327
+ 172,1,0,0,0,0,174,1,0,0,0,0,176,1,0,0,0,0,178,1,0,0,0,0,180,1,0,0,0,0,
328
+ 182,1,0,0,0,0,184,1,0,0,0,0,186,1,0,0,0,0,188,1,0,0,0,0,190,1,0,0,0,0,
329
+ 192,1,0,0,0,0,194,1,0,0,0,0,196,1,0,0,0,0,198,1,0,0,0,0,200,1,0,0,0,0,
330
+ 202,1,0,0,0,0,204,1,0,0,0,0,206,1,0,0,0,0,208,1,0,0,0,0,210,1,0,0,0,0,
331
+ 212,1,0,0,0,0,214,1,0,0,0,0,216,1,0,0,0,0,218,1,0,0,0,0,220,1,0,0,0,0,
332
+ 222,1,0,0,0,0,224,1,0,0,0,0,226,1,0,0,0,0,228,1,0,0,0,0,230,1,0,0,0,0,
333
+ 292,1,0,0,0,0,294,1,0,0,0,0,296,1,0,0,0,0,298,1,0,0,0,0,300,1,0,0,0,0,
334
+ 302,1,0,0,0,0,304,1,0,0,0,0,306,1,0,0,0,0,308,1,0,0,0,0,310,1,0,0,0,0,
335
+ 312,1,0,0,0,0,314,1,0,0,0,0,316,1,0,0,0,0,318,1,0,0,0,0,320,1,0,0,0,0,
336
+ 322,1,0,0,0,0,324,1,0,0,0,0,326,1,0,0,0,0,328,1,0,0,0,0,330,1,0,0,0,0,
337
+ 332,1,0,0,0,0,334,1,0,0,0,0,336,1,0,0,0,0,338,1,0,0,0,0,340,1,0,0,0,0,
338
+ 342,1,0,0,0,0,344,1,0,0,0,0,346,1,0,0,0,0,348,1,0,0,0,0,350,1,0,0,0,0,
339
+ 352,1,0,0,0,0,354,1,0,0,0,0,356,1,0,0,0,0,358,1,0,0,0,0,360,1,0,0,0,0,
340
+ 362,1,0,0,0,0,364,1,0,0,0,0,366,1,0,0,0,0,368,1,0,0,0,0,370,1,0,0,0,0,
341
+ 372,1,0,0,0,0,374,1,0,0,0,0,376,1,0,0,0,0,378,1,0,0,0,0,380,1,0,0,0,0,
342
+ 382,1,0,0,0,0,384,1,0,0,0,0,386,1,0,0,0,0,388,1,0,0,0,0,390,1,0,0,0,1,
343
+ 392,1,0,0,0,1,394,1,0,0,0,1,396,1,0,0,0,2,398,1,0,0,0,2,400,1,0,0,0,3,
344
+ 402,1,0,0,0,3,404,1,0,0,0,3,406,1,0,0,0,3,408,1,0,0,0,3,410,1,0,0,0,3,
345
+ 412,1,0,0,0,3,414,1,0,0,0,4,416,1,0,0,0,4,418,1,0,0,0,4,420,1,0,0,0,5,
346
+ 422,1,0,0,0,5,424,1,0,0,0,5,426,1,0,0,0,5,428,1,0,0,0,5,430,1,0,0,0,6,
347
+ 432,1,0,0,0,8,436,1,0,0,0,10,440,1,0,0,0,12,445,1,0,0,0,14,449,1,0,0,
348
+ 0,16,455,1,0,0,0,18,472,1,0,0,0,20,474,1,0,0,0,22,479,1,0,0,0,24,487,
349
+ 1,0,0,0,26,492,1,0,0,0,28,495,1,0,0,0,30,500,1,0,0,0,32,505,1,0,0,0,34,
350
+ 511,1,0,0,0,36,518,1,0,0,0,38,526,1,0,0,0,40,532,1,0,0,0,42,537,1,0,0,
351
+ 0,44,545,1,0,0,0,46,550,1,0,0,0,48,554,1,0,0,0,50,559,1,0,0,0,52,570,
352
+ 1,0,0,0,54,579,1,0,0,0,56,584,1,0,0,0,58,588,1,0,0,0,60,595,1,0,0,0,62,
353
+ 603,1,0,0,0,64,609,1,0,0,0,66,617,1,0,0,0,68,623,1,0,0,0,70,626,1,0,0,
354
+ 0,72,636,1,0,0,0,74,640,1,0,0,0,76,645,1,0,0,0,78,650,1,0,0,0,80,654,
355
+ 1,0,0,0,82,660,1,0,0,0,84,667,1,0,0,0,86,672,1,0,0,0,88,675,1,0,0,0,90,
356
+ 678,1,0,0,0,92,684,1,0,0,0,94,700,1,0,0,0,96,702,1,0,0,0,98,708,1,0,0,
357
+ 0,100,718,1,0,0,0,102,727,1,0,0,0,104,730,1,0,0,0,106,735,1,0,0,0,108,
358
+ 739,1,0,0,0,110,744,1,0,0,0,112,752,1,0,0,0,114,757,1,0,0,0,116,761,1,
359
+ 0,0,0,118,766,1,0,0,0,120,772,1,0,0,0,122,779,1,0,0,0,124,785,1,0,0,0,
360
+ 126,789,1,0,0,0,128,793,1,0,0,0,130,798,1,0,0,0,132,804,1,0,0,0,134,811,
361
+ 1,0,0,0,136,814,1,0,0,0,138,817,1,0,0,0,140,823,1,0,0,0,142,829,1,0,0,
362
+ 0,144,834,1,0,0,0,146,844,1,0,0,0,148,854,1,0,0,0,150,863,1,0,0,0,152,
363
+ 871,1,0,0,0,154,877,1,0,0,0,156,884,1,0,0,0,158,890,1,0,0,0,160,897,1,
364
+ 0,0,0,162,901,1,0,0,0,164,906,1,0,0,0,166,913,1,0,0,0,168,920,1,0,0,0,
365
+ 170,927,1,0,0,0,172,932,1,0,0,0,174,941,1,0,0,0,176,951,1,0,0,0,178,956,
366
+ 1,0,0,0,180,962,1,0,0,0,182,967,1,0,0,0,184,977,1,0,0,0,186,980,1,0,0,
367
+ 0,188,984,1,0,0,0,190,991,1,0,0,0,192,1000,1,0,0,0,194,1005,1,0,0,0,196,
368
+ 1014,1,0,0,0,198,1018,1,0,0,0,200,1028,1,0,0,0,202,1034,1,0,0,0,204,1040,
369
+ 1,0,0,0,206,1045,1,0,0,0,208,1050,1,0,0,0,210,1056,1,0,0,0,212,1062,1,
370
+ 0,0,0,214,1069,1,0,0,0,216,1084,1,0,0,0,218,1113,1,0,0,0,220,1161,1,0,
371
+ 0,0,222,1239,1,0,0,0,224,1241,1,0,0,0,226,1248,1,0,0,0,228,1252,1,0,0,
372
+ 0,230,1259,1,0,0,0,232,1275,1,0,0,0,234,1277,1,0,0,0,236,1279,1,0,0,0,
373
+ 238,1281,1,0,0,0,240,1283,1,0,0,0,242,1285,1,0,0,0,244,1287,1,0,0,0,246,
374
+ 1289,1,0,0,0,248,1291,1,0,0,0,250,1293,1,0,0,0,252,1295,1,0,0,0,254,1297,
375
+ 1,0,0,0,256,1299,1,0,0,0,258,1301,1,0,0,0,260,1303,1,0,0,0,262,1305,1,
376
+ 0,0,0,264,1307,1,0,0,0,266,1309,1,0,0,0,268,1311,1,0,0,0,270,1313,1,0,
377
+ 0,0,272,1315,1,0,0,0,274,1317,1,0,0,0,276,1319,1,0,0,0,278,1321,1,0,0,
378
+ 0,280,1323,1,0,0,0,282,1325,1,0,0,0,284,1327,1,0,0,0,286,1329,1,0,0,0,
379
+ 288,1331,1,0,0,0,290,1333,1,0,0,0,292,1335,1,0,0,0,294,1338,1,0,0,0,296,
380
+ 1340,1,0,0,0,298,1342,1,0,0,0,300,1344,1,0,0,0,302,1347,1,0,0,0,304,1349,
381
+ 1,0,0,0,306,1351,1,0,0,0,308,1354,1,0,0,0,310,1356,1,0,0,0,312,1358,1,
382
+ 0,0,0,314,1360,1,0,0,0,316,1363,1,0,0,0,318,1365,1,0,0,0,320,1368,1,0,
383
+ 0,0,322,1370,1,0,0,0,324,1372,1,0,0,0,326,1375,1,0,0,0,328,1379,1,0,0,
384
+ 0,330,1383,1,0,0,0,332,1385,1,0,0,0,334,1387,1,0,0,0,336,1390,1,0,0,0,
385
+ 338,1396,1,0,0,0,340,1402,1,0,0,0,342,1404,1,0,0,0,344,1411,1,0,0,0,346,
386
+ 1413,1,0,0,0,348,1417,1,0,0,0,350,1420,1,0,0,0,352,1423,1,0,0,0,354,1426,
387
+ 1,0,0,0,356,1428,1,0,0,0,358,1430,1,0,0,0,360,1432,1,0,0,0,362,1434,1,
388
+ 0,0,0,364,1439,1,0,0,0,366,1444,1,0,0,0,368,1446,1,0,0,0,370,1448,1,0,
389
+ 0,0,372,1451,1,0,0,0,374,1455,1,0,0,0,376,1457,1,0,0,0,378,1459,1,0,0,
390
+ 0,380,1461,1,0,0,0,382,1463,1,0,0,0,384,1466,1,0,0,0,386,1468,1,0,0,0,
391
+ 388,1486,1,0,0,0,390,1499,1,0,0,0,392,1514,1,0,0,0,394,1518,1,0,0,0,396,
392
+ 1522,1,0,0,0,398,1532,1,0,0,0,400,1536,1,0,0,0,402,1540,1,0,0,0,404,1546,
393
+ 1,0,0,0,406,1552,1,0,0,0,408,1561,1,0,0,0,410,1565,1,0,0,0,412,1570,1,
394
+ 0,0,0,414,1576,1,0,0,0,416,1581,1,0,0,0,418,1586,1,0,0,0,420,1596,1,0,
395
+ 0,0,422,1603,1,0,0,0,424,1607,1,0,0,0,426,1612,1,0,0,0,428,1619,1,0,0,
396
+ 0,430,1625,1,0,0,0,432,433,3,232,113,0,433,434,3,254,124,0,434,435,3,
397
+ 254,124,0,435,7,1,0,0,0,436,437,3,232,113,0,437,438,3,258,126,0,438,439,
398
+ 3,238,116,0,439,9,1,0,0,0,440,441,3,232,113,0,441,442,3,258,126,0,442,
399
+ 443,3,270,132,0,443,444,3,248,121,0,444,11,1,0,0,0,445,446,3,232,113,
400
+ 0,446,447,3,258,126,0,447,448,3,280,137,0,448,13,1,0,0,0,449,450,3,232,
401
+ 113,0,450,451,3,266,130,0,451,452,3,266,130,0,452,453,3,232,113,0,453,
402
+ 454,3,280,137,0,454,15,1,0,0,0,455,456,3,232,113,0,456,457,3,268,131,
403
+ 0,457,17,1,0,0,0,458,459,3,232,113,0,459,460,3,268,131,0,460,461,3,236,
404
+ 115,0,461,473,1,0,0,0,462,463,3,232,113,0,463,464,3,268,131,0,464,465,
405
+ 3,236,115,0,465,466,3,240,117,0,466,467,3,258,126,0,467,468,3,238,116,
406
+ 0,468,469,3,248,121,0,469,470,3,258,126,0,470,471,3,244,119,0,471,473,
407
+ 1,0,0,0,472,458,1,0,0,0,472,462,1,0,0,0,473,19,1,0,0,0,474,475,3,232,
408
+ 113,0,475,476,3,268,131,0,476,477,3,260,127,0,477,478,3,242,118,0,478,
409
+ 21,1,0,0,0,479,480,3,234,114,0,480,481,3,240,117,0,481,482,3,270,132,
410
+ 0,482,483,3,276,135,0,483,484,3,240,117,0,484,485,3,240,117,0,485,486,
411
+ 3,258,126,0,486,23,1,0,0,0,487,488,3,234,114,0,488,489,3,260,127,0,489,
412
+ 490,3,270,132,0,490,491,3,246,120,0,491,25,1,0,0,0,492,493,3,234,114,
413
+ 0,493,494,3,280,137,0,494,27,1,0,0,0,495,496,3,236,115,0,496,497,3,232,
414
+ 113,0,497,498,3,268,131,0,498,499,3,240,117,0,499,29,1,0,0,0,500,501,
415
+ 3,236,115,0,501,502,3,232,113,0,502,503,3,268,131,0,503,504,3,270,132,
416
+ 0,504,31,1,0,0,0,505,506,3,236,115,0,506,507,3,232,113,0,507,508,3,270,
417
+ 132,0,508,509,3,236,115,0,509,510,3,246,120,0,510,33,1,0,0,0,511,512,
418
+ 3,236,115,0,512,513,3,260,127,0,513,514,3,246,120,0,514,515,3,260,127,
419
+ 0,515,516,3,266,130,0,516,517,3,270,132,0,517,35,1,0,0,0,518,519,3,236,
420
+ 115,0,519,520,3,260,127,0,520,521,3,254,124,0,521,522,3,254,124,0,522,
421
+ 523,3,232,113,0,523,524,3,270,132,0,524,525,3,240,117,0,525,37,1,0,0,
422
+ 0,526,527,3,236,115,0,527,528,3,266,130,0,528,529,3,260,127,0,529,530,
423
+ 3,268,131,0,530,531,3,268,131,0,531,39,1,0,0,0,532,533,3,236,115,0,533,
424
+ 534,3,272,133,0,534,535,3,234,114,0,535,536,3,240,117,0,536,41,1,0,0,
425
+ 0,537,538,3,236,115,0,538,539,3,272,133,0,539,540,3,266,130,0,540,541,
426
+ 3,266,130,0,541,542,3,240,117,0,542,543,3,258,126,0,543,544,3,270,132,
427
+ 0,544,43,1,0,0,0,545,546,3,238,116,0,546,547,3,232,113,0,547,548,3,270,
428
+ 132,0,548,549,3,240,117,0,549,45,1,0,0,0,550,551,3,238,116,0,551,552,
429
+ 3,232,113,0,552,553,3,280,137,0,553,47,1,0,0,0,554,555,3,238,116,0,555,
430
+ 556,3,240,117,0,556,557,3,268,131,0,557,558,3,236,115,0,558,49,1,0,0,
431
+ 0,559,560,3,238,116,0,560,561,3,240,117,0,561,562,3,268,131,0,562,563,
432
+ 3,236,115,0,563,564,3,240,117,0,564,565,3,258,126,0,565,566,3,238,116,
433
+ 0,566,567,3,248,121,0,567,568,3,258,126,0,568,569,3,244,119,0,569,51,
434
+ 1,0,0,0,570,571,3,238,116,0,571,572,3,248,121,0,572,573,3,268,131,0,573,
435
+ 574,3,270,132,0,574,575,3,248,121,0,575,576,3,258,126,0,576,577,3,236,
436
+ 115,0,577,578,3,270,132,0,578,53,1,0,0,0,579,580,3,240,117,0,580,581,
437
+ 3,254,124,0,581,582,3,268,131,0,582,583,3,240,117,0,583,55,1,0,0,0,584,
438
+ 585,3,240,117,0,585,586,3,258,126,0,586,587,3,238,116,0,587,57,1,0,0,
439
+ 0,588,589,3,240,117,0,589,590,3,278,136,0,590,591,3,236,115,0,591,592,
440
+ 3,240,117,0,592,593,3,262,128,0,593,594,3,270,132,0,594,59,1,0,0,0,595,
441
+ 596,3,240,117,0,596,597,3,278,136,0,597,598,3,270,132,0,598,599,3,266,
442
+ 130,0,599,600,3,232,113,0,600,601,3,236,115,0,601,602,3,270,132,0,602,
443
+ 61,1,0,0,0,603,604,3,242,118,0,604,605,3,248,121,0,605,606,3,258,126,
444
+ 0,606,607,3,232,113,0,607,608,3,254,124,0,608,63,1,0,0,0,609,610,3,242,
445
+ 118,0,610,611,3,248,121,0,611,612,3,258,126,0,612,613,3,232,113,0,613,
446
+ 614,3,254,124,0,614,615,3,254,124,0,615,616,3,280,137,0,616,65,1,0,0,
447
+ 0,617,618,3,242,118,0,618,619,3,248,121,0,619,620,3,266,130,0,620,621,
448
+ 3,268,131,0,621,622,3,270,132,0,622,67,1,0,0,0,623,624,3,242,118,0,624,
449
+ 625,3,258,126,0,625,69,1,0,0,0,626,627,3,242,118,0,627,628,3,260,127,
450
+ 0,628,629,3,254,124,0,629,630,3,254,124,0,630,631,3,260,127,0,631,632,
451
+ 3,276,135,0,632,633,3,248,121,0,633,634,3,258,126,0,634,635,3,244,119,
452
+ 0,635,71,1,0,0,0,636,637,3,242,118,0,637,638,3,260,127,0,638,639,3,266,
453
+ 130,0,639,73,1,0,0,0,640,641,3,242,118,0,641,642,3,266,130,0,642,643,
454
+ 3,260,127,0,643,644,3,256,125,0,644,75,1,0,0,0,645,646,3,242,118,0,646,
455
+ 647,3,272,133,0,647,648,3,254,124,0,648,649,3,254,124,0,649,77,1,0,0,
456
+ 0,650,651,3,242,118,0,651,652,3,272,133,0,652,653,3,258,126,0,653,79,
457
+ 1,0,0,0,654,655,3,244,119,0,655,656,3,266,130,0,656,657,3,260,127,0,657,
458
+ 658,3,272,133,0,658,659,3,262,128,0,659,81,1,0,0,0,660,661,3,246,120,
459
+ 0,661,662,3,232,113,0,662,663,3,274,134,0,663,664,3,248,121,0,664,665,
460
+ 3,258,126,0,665,666,3,244,119,0,666,83,1,0,0,0,667,668,3,246,120,0,668,
461
+ 669,3,260,127,0,669,670,3,272,133,0,670,671,3,266,130,0,671,85,1,0,0,
462
+ 0,672,673,3,248,121,0,673,674,3,238,116,0,674,87,1,0,0,0,675,676,3,248,
463
+ 121,0,676,677,3,242,118,0,677,89,1,0,0,0,678,679,3,248,121,0,679,680,
464
+ 3,254,124,0,680,681,3,248,121,0,681,682,3,252,123,0,682,683,3,240,117,
465
+ 0,683,91,1,0,0,0,684,685,3,248,121,0,685,686,3,258,126,0,686,93,1,0,0,
466
+ 0,687,688,3,248,121,0,688,689,3,258,126,0,689,690,3,242,118,0,690,701,
467
+ 1,0,0,0,691,692,3,248,121,0,692,693,3,258,126,0,693,694,3,242,118,0,694,
468
+ 695,3,248,121,0,695,696,3,258,126,0,696,697,3,248,121,0,697,698,3,270,
469
+ 132,0,698,699,3,280,137,0,699,701,1,0,0,0,700,687,1,0,0,0,700,691,1,0,
470
+ 0,0,701,95,1,0,0,0,702,703,3,248,121,0,703,704,3,258,126,0,704,705,3,
471
+ 258,126,0,705,706,3,240,117,0,706,707,3,266,130,0,707,97,1,0,0,0,708,
472
+ 709,3,248,121,0,709,710,3,258,126,0,710,711,3,270,132,0,711,712,3,240,
473
+ 117,0,712,713,3,266,130,0,713,714,3,268,131,0,714,715,3,240,117,0,715,
474
+ 716,3,236,115,0,716,717,3,270,132,0,717,99,1,0,0,0,718,719,3,248,121,
475
+ 0,719,720,3,258,126,0,720,721,3,270,132,0,721,722,3,240,117,0,722,723,
476
+ 3,266,130,0,723,724,3,274,134,0,724,725,3,232,113,0,725,726,3,254,124,
477
+ 0,726,101,1,0,0,0,727,728,3,248,121,0,728,729,3,268,131,0,729,103,1,0,
478
+ 0,0,730,731,3,250,122,0,731,732,3,260,127,0,732,733,3,248,121,0,733,734,
479
+ 3,258,126,0,734,105,1,0,0,0,735,736,3,252,123,0,736,737,3,240,117,0,737,
480
+ 738,3,280,137,0,738,107,1,0,0,0,739,740,3,254,124,0,740,741,3,232,113,
481
+ 0,741,742,3,268,131,0,742,743,3,270,132,0,743,109,1,0,0,0,744,745,3,254,
482
+ 124,0,745,746,3,240,117,0,746,747,3,232,113,0,747,748,3,238,116,0,748,
483
+ 749,3,248,121,0,749,750,3,258,126,0,750,751,3,244,119,0,751,111,1,0,0,
484
+ 0,752,753,3,254,124,0,753,754,3,240,117,0,754,755,3,242,118,0,755,756,
485
+ 3,270,132,0,756,113,1,0,0,0,757,758,3,254,124,0,758,759,3,240,117,0,759,
486
+ 760,3,270,132,0,760,115,1,0,0,0,761,762,3,254,124,0,762,763,3,248,121,
487
+ 0,763,764,3,252,123,0,764,765,3,240,117,0,765,117,1,0,0,0,766,767,3,254,
488
+ 124,0,767,768,3,248,121,0,768,769,3,256,125,0,769,770,3,248,121,0,770,
489
+ 771,3,270,132,0,771,119,1,0,0,0,772,773,3,256,125,0,773,774,3,248,121,
490
+ 0,774,775,3,258,126,0,775,776,3,272,133,0,776,777,3,270,132,0,777,778,
491
+ 3,240,117,0,778,121,1,0,0,0,779,780,3,256,125,0,780,781,3,260,127,0,781,
492
+ 782,3,258,126,0,782,783,3,270,132,0,783,784,3,246,120,0,784,123,1,0,0,
493
+ 0,785,786,3,258,126,0,786,787,3,232,113,0,787,788,3,258,126,0,788,125,
494
+ 1,0,0,0,789,790,3,258,126,0,790,791,3,260,127,0,791,792,3,270,132,0,792,
495
+ 127,1,0,0,0,793,794,3,258,126,0,794,795,3,272,133,0,795,796,3,254,124,
496
+ 0,796,797,3,254,124,0,797,129,1,0,0,0,798,799,3,258,126,0,799,800,3,272,
497
+ 133,0,800,801,3,254,124,0,801,802,3,254,124,0,802,803,3,268,131,0,803,
498
+ 131,1,0,0,0,804,805,3,260,127,0,805,806,3,242,118,0,806,807,3,242,118,
499
+ 0,807,808,3,268,131,0,808,809,3,240,117,0,809,810,3,270,132,0,810,133,
500
+ 1,0,0,0,811,812,3,260,127,0,812,813,3,258,126,0,813,135,1,0,0,0,814,815,
501
+ 3,260,127,0,815,816,3,266,130,0,816,137,1,0,0,0,817,818,3,260,127,0,818,
502
+ 819,3,266,130,0,819,820,3,238,116,0,820,821,3,240,117,0,821,822,3,266,
503
+ 130,0,822,139,1,0,0,0,823,824,3,260,127,0,824,825,3,272,133,0,825,826,
504
+ 3,270,132,0,826,827,3,240,117,0,827,828,3,266,130,0,828,141,1,0,0,0,829,
505
+ 830,3,260,127,0,830,831,3,274,134,0,831,832,3,240,117,0,832,833,3,266,
506
+ 130,0,833,143,1,0,0,0,834,835,3,262,128,0,835,836,3,232,113,0,836,837,
507
+ 3,266,130,0,837,838,3,270,132,0,838,839,3,248,121,0,839,840,3,270,132,
508
+ 0,840,841,3,248,121,0,841,842,3,260,127,0,842,843,3,258,126,0,843,145,
509
+ 1,0,0,0,844,845,3,262,128,0,845,846,3,266,130,0,846,847,3,240,117,0,847,
510
+ 848,3,236,115,0,848,849,3,240,117,0,849,850,3,238,116,0,850,851,3,248,
511
+ 121,0,851,852,3,258,126,0,852,853,3,244,119,0,853,147,1,0,0,0,854,855,
512
+ 3,262,128,0,855,856,3,266,130,0,856,857,3,240,117,0,857,858,3,276,135,
513
+ 0,858,859,3,246,120,0,859,860,3,240,117,0,860,861,3,266,130,0,861,862,
514
+ 3,240,117,0,862,149,1,0,0,0,863,864,3,264,129,0,864,865,3,272,133,0,865,
515
+ 866,3,232,113,0,866,867,3,266,130,0,867,868,3,270,132,0,868,869,3,240,
516
+ 117,0,869,870,3,266,130,0,870,151,1,0,0,0,871,872,3,266,130,0,872,873,
517
+ 3,232,113,0,873,874,3,258,126,0,874,875,3,244,119,0,875,876,3,240,117,
518
+ 0,876,153,1,0,0,0,877,878,3,266,130,0,878,879,3,240,117,0,879,880,3,270,
519
+ 132,0,880,881,3,272,133,0,881,882,3,266,130,0,882,883,3,258,126,0,883,
520
+ 155,1,0,0,0,884,885,3,266,130,0,885,886,3,248,121,0,886,887,3,244,119,
521
+ 0,887,888,3,246,120,0,888,889,3,270,132,0,889,157,1,0,0,0,890,891,3,266,
522
+ 130,0,891,892,3,260,127,0,892,893,3,254,124,0,893,894,3,254,124,0,894,
523
+ 895,3,272,133,0,895,896,3,262,128,0,896,159,1,0,0,0,897,898,3,266,130,
524
+ 0,898,899,3,260,127,0,899,900,3,276,135,0,900,161,1,0,0,0,901,902,3,266,
525
+ 130,0,902,903,3,260,127,0,903,904,3,276,135,0,904,905,3,268,131,0,905,
526
+ 163,1,0,0,0,906,907,3,268,131,0,907,908,3,232,113,0,908,909,3,256,125,
527
+ 0,909,910,3,262,128,0,910,911,3,254,124,0,911,912,3,240,117,0,912,165,
528
+ 1,0,0,0,913,914,3,268,131,0,914,915,3,240,117,0,915,916,3,236,115,0,916,
529
+ 917,3,260,127,0,917,918,3,258,126,0,918,919,3,238,116,0,919,167,1,0,0,
530
+ 0,920,921,3,268,131,0,921,922,3,240,117,0,922,923,3,254,124,0,923,924,
531
+ 3,240,117,0,924,925,3,236,115,0,925,926,3,270,132,0,926,169,1,0,0,0,927,
532
+ 928,3,268,131,0,928,929,3,240,117,0,929,930,3,256,125,0,930,931,3,248,
533
+ 121,0,931,171,1,0,0,0,932,933,3,268,131,0,933,934,3,240,117,0,934,935,
534
+ 3,270,132,0,935,936,3,270,132,0,936,937,3,248,121,0,937,938,3,258,126,
535
+ 0,938,939,3,244,119,0,939,940,3,268,131,0,940,173,1,0,0,0,941,942,3,268,
536
+ 131,0,942,943,3,272,133,0,943,944,3,234,114,0,944,945,3,268,131,0,945,
537
+ 946,3,270,132,0,946,947,3,266,130,0,947,948,3,248,121,0,948,949,3,258,
538
+ 126,0,949,950,3,244,119,0,950,175,1,0,0,0,951,952,3,270,132,0,952,953,
539
+ 3,246,120,0,953,954,3,240,117,0,954,955,3,258,126,0,955,177,1,0,0,0,956,
540
+ 957,3,270,132,0,957,958,3,246,120,0,958,959,3,266,130,0,959,960,3,260,
541
+ 127,0,960,961,3,276,135,0,961,179,1,0,0,0,962,963,3,270,132,0,963,964,
542
+ 3,248,121,0,964,965,3,240,117,0,965,966,3,268,131,0,966,181,1,0,0,0,967,
543
+ 968,3,270,132,0,968,969,3,248,121,0,969,970,3,256,125,0,970,971,3,240,
544
+ 117,0,971,972,3,268,131,0,972,973,3,270,132,0,973,974,3,232,113,0,974,
545
+ 975,3,256,125,0,975,976,3,262,128,0,976,183,1,0,0,0,977,978,3,270,132,
546
+ 0,978,979,3,260,127,0,979,185,1,0,0,0,980,981,3,270,132,0,981,982,3,260,
547
+ 127,0,982,983,3,262,128,0,983,187,1,0,0,0,984,985,3,270,132,0,985,986,
548
+ 3,260,127,0,986,987,3,270,132,0,987,988,3,232,113,0,988,989,3,254,124,
549
+ 0,989,990,3,268,131,0,990,189,1,0,0,0,991,992,3,270,132,0,992,993,3,266,
550
+ 130,0,993,994,3,232,113,0,994,995,3,248,121,0,995,996,3,254,124,0,996,
551
+ 997,3,248,121,0,997,998,3,258,126,0,998,999,3,244,119,0,999,191,1,0,0,
552
+ 0,1000,1001,3,270,132,0,1001,1002,3,266,130,0,1002,1003,3,248,121,0,1003,
553
+ 1004,3,256,125,0,1004,193,1,0,0,0,1005,1006,3,270,132,0,1006,1007,3,266,
554
+ 130,0,1007,1008,3,272,133,0,1008,1009,3,258,126,0,1009,1010,3,236,115,
555
+ 0,1010,1011,3,232,113,0,1011,1012,3,270,132,0,1012,1013,3,240,117,0,1013,
556
+ 195,1,0,0,0,1014,1015,3,270,132,0,1015,1016,3,266,130,0,1016,1017,3,280,
557
+ 137,0,1017,197,1,0,0,0,1018,1019,3,272,133,0,1019,1020,3,258,126,0,1020,
558
+ 1021,3,234,114,0,1021,1022,3,260,127,0,1022,1023,3,272,133,0,1023,1024,
559
+ 3,258,126,0,1024,1025,3,238,116,0,1025,1026,3,240,117,0,1026,1027,3,238,
560
+ 116,0,1027,199,1,0,0,0,1028,1029,3,272,133,0,1029,1030,3,258,126,0,1030,
561
+ 1031,3,248,121,0,1031,1032,3,260,127,0,1032,1033,3,258,126,0,1033,201,
562
+ 1,0,0,0,1034,1035,3,272,133,0,1035,1036,3,268,131,0,1036,1037,3,248,121,
563
+ 0,1037,1038,3,258,126,0,1038,1039,3,244,119,0,1039,203,1,0,0,0,1040,1041,
564
+ 3,276,135,0,1041,1042,3,240,117,0,1042,1043,3,240,117,0,1043,1044,3,252,
565
+ 123,0,1044,205,1,0,0,0,1045,1046,3,276,135,0,1046,1047,3,246,120,0,1047,
566
+ 1048,3,240,117,0,1048,1049,3,258,126,0,1049,207,1,0,0,0,1050,1051,3,276,
567
+ 135,0,1051,1052,3,246,120,0,1052,1053,3,240,117,0,1053,1054,3,266,130,
568
+ 0,1054,1055,3,240,117,0,1055,209,1,0,0,0,1056,1057,3,276,135,0,1057,1058,
569
+ 3,246,120,0,1058,1059,3,248,121,0,1059,1060,3,254,124,0,1060,1061,3,240,
570
+ 117,0,1061,211,1,0,0,0,1062,1063,3,276,135,0,1063,1064,3,248,121,0,1064,
571
+ 1065,3,258,126,0,1065,1066,3,238,116,0,1066,1067,3,260,127,0,1067,1068,
572
+ 3,276,135,0,1068,213,1,0,0,0,1069,1070,3,276,135,0,1070,1071,3,248,121,
573
+ 0,1071,1072,3,270,132,0,1072,1073,3,246,120,0,1073,215,1,0,0,0,1074,1075,
574
+ 3,280,137,0,1075,1076,3,240,117,0,1076,1077,3,232,113,0,1077,1078,3,266,
575
+ 130,0,1078,1085,1,0,0,0,1079,1080,3,280,137,0,1080,1081,3,280,137,0,1081,
576
+ 1082,3,280,137,0,1082,1083,3,280,137,0,1083,1085,1,0,0,0,1084,1074,1,
577
+ 0,0,0,1084,1079,1,0,0,0,1085,217,1,0,0,0,1086,1087,3,298,146,0,1087,1088,
578
+ 3,234,114,0,1088,1114,1,0,0,0,1089,1090,3,298,146,0,1090,1091,3,242,118,
579
+ 0,1091,1114,1,0,0,0,1092,1093,3,298,146,0,1093,1094,3,266,130,0,1094,
580
+ 1114,1,0,0,0,1095,1096,3,298,146,0,1096,1097,3,258,126,0,1097,1114,1,
581
+ 0,0,0,1098,1099,3,298,146,0,1099,1100,3,270,132,0,1100,1114,1,0,0,0,1101,
582
+ 1102,3,298,146,0,1102,1103,5,48,0,0,1103,1114,1,0,0,0,1104,1105,3,298,
583
+ 146,0,1105,1106,3,232,113,0,1106,1114,1,0,0,0,1107,1108,3,298,146,0,1108,
584
+ 1109,3,274,134,0,1109,1114,1,0,0,0,1110,1111,3,298,146,0,1111,1112,3,
585
+ 298,146,0,1112,1114,1,0,0,0,1113,1086,1,0,0,0,1113,1089,1,0,0,0,1113,
586
+ 1092,1,0,0,0,1113,1095,1,0,0,0,1113,1098,1,0,0,0,1113,1101,1,0,0,0,1113,
587
+ 1104,1,0,0,0,1113,1107,1,0,0,0,1113,1110,1,0,0,0,1114,219,1,0,0,0,1115,
588
+ 1119,3,284,139,0,1116,1119,3,384,189,0,1117,1119,3,310,152,0,1118,1115,
589
+ 1,0,0,0,1118,1116,1,0,0,0,1118,1117,1,0,0,0,1119,1126,1,0,0,0,1120,1125,
590
+ 3,284,139,0,1121,1125,3,384,189,0,1122,1125,3,288,141,0,1123,1125,3,310,
591
+ 152,0,1124,1120,1,0,0,0,1124,1121,1,0,0,0,1124,1122,1,0,0,0,1124,1123,
592
+ 1,0,0,0,1125,1128,1,0,0,0,1126,1124,1,0,0,0,1126,1127,1,0,0,0,1127,1162,
593
+ 1,0,0,0,1128,1126,1,0,0,0,1129,1140,3,296,145,0,1130,1139,8,0,0,0,1131,
594
+ 1139,3,218,106,0,1132,1133,3,298,146,0,1133,1134,3,366,180,0,1134,1139,
595
+ 1,0,0,0,1135,1136,3,296,145,0,1136,1137,3,296,145,0,1137,1139,1,0,0,0,
596
+ 1138,1130,1,0,0,0,1138,1131,1,0,0,0,1138,1132,1,0,0,0,1138,1135,1,0,0,
597
+ 0,1139,1142,1,0,0,0,1140,1138,1,0,0,0,1140,1141,1,0,0,0,1141,1143,1,0,
598
+ 0,0,1142,1140,1,0,0,0,1143,1144,3,296,145,0,1144,1162,1,0,0,0,1145,1156,
599
+ 3,360,177,0,1146,1155,8,1,0,0,1147,1155,3,218,106,0,1148,1149,3,298,146,
600
+ 0,1149,1150,3,360,177,0,1150,1155,1,0,0,0,1151,1152,3,360,177,0,1152,
601
+ 1153,3,360,177,0,1153,1155,1,0,0,0,1154,1146,1,0,0,0,1154,1147,1,0,0,
602
+ 0,1154,1148,1,0,0,0,1154,1151,1,0,0,0,1155,1158,1,0,0,0,1156,1154,1,0,
603
+ 0,0,1156,1157,1,0,0,0,1157,1159,1,0,0,0,1158,1156,1,0,0,0,1159,1160,3,
604
+ 360,177,0,1160,1162,1,0,0,0,1161,1118,1,0,0,0,1161,1129,1,0,0,0,1161,
605
+ 1145,1,0,0,0,1162,221,1,0,0,0,1163,1164,3,228,111,0,1164,1168,3,312,153,
606
+ 0,1165,1167,3,290,142,0,1166,1165,1,0,0,0,1167,1170,1,0,0,0,1168,1166,
607
+ 1,0,0,0,1168,1169,1,0,0,0,1169,1173,1,0,0,0,1170,1168,1,0,0,0,1171,1174,
608
+ 3,262,128,0,1172,1174,3,240,117,0,1173,1171,1,0,0,0,1173,1172,1,0,0,0,
609
+ 1174,1177,1,0,0,0,1175,1178,3,356,175,0,1176,1178,3,308,151,0,1177,1175,
610
+ 1,0,0,0,1177,1176,1,0,0,0,1177,1178,1,0,0,0,1178,1180,1,0,0,0,1179,1181,
611
+ 3,288,141,0,1180,1179,1,0,0,0,1181,1182,1,0,0,0,1182,1180,1,0,0,0,1182,
612
+ 1183,1,0,0,0,1183,1240,1,0,0,0,1184,1187,3,228,111,0,1185,1188,3,262,
613
+ 128,0,1186,1188,3,240,117,0,1187,1185,1,0,0,0,1187,1186,1,0,0,0,1188,
614
+ 1191,1,0,0,0,1189,1192,3,356,175,0,1190,1192,3,308,151,0,1191,1189,1,
615
+ 0,0,0,1191,1190,1,0,0,0,1191,1192,1,0,0,0,1192,1194,1,0,0,0,1193,1195,
616
+ 3,288,141,0,1194,1193,1,0,0,0,1195,1196,1,0,0,0,1196,1194,1,0,0,0,1196,
617
+ 1197,1,0,0,0,1197,1240,1,0,0,0,1198,1199,3,226,110,0,1199,1203,3,312,
618
+ 153,0,1200,1202,3,288,141,0,1201,1200,1,0,0,0,1202,1205,1,0,0,0,1203,
619
+ 1201,1,0,0,0,1203,1204,1,0,0,0,1204,1206,1,0,0,0,1205,1203,1,0,0,0,1206,
620
+ 1209,3,240,117,0,1207,1210,3,356,175,0,1208,1210,3,308,151,0,1209,1207,
621
+ 1,0,0,0,1209,1208,1,0,0,0,1209,1210,1,0,0,0,1210,1212,1,0,0,0,1211,1213,
622
+ 3,288,141,0,1212,1211,1,0,0,0,1213,1214,1,0,0,0,1214,1212,1,0,0,0,1214,
623
+ 1215,1,0,0,0,1215,1240,1,0,0,0,1216,1217,3,312,153,0,1217,1218,3,226,
624
+ 110,0,1218,1221,3,240,117,0,1219,1222,3,356,175,0,1220,1222,3,308,151,
625
+ 0,1221,1219,1,0,0,0,1221,1220,1,0,0,0,1221,1222,1,0,0,0,1222,1224,1,0,
626
+ 0,0,1223,1225,3,288,141,0,1224,1223,1,0,0,0,1225,1226,1,0,0,0,1226,1224,
627
+ 1,0,0,0,1226,1227,1,0,0,0,1227,1240,1,0,0,0,1228,1229,3,226,110,0,1229,
628
+ 1232,3,240,117,0,1230,1233,3,356,175,0,1231,1233,3,308,151,0,1232,1230,
629
+ 1,0,0,0,1232,1231,1,0,0,0,1232,1233,1,0,0,0,1233,1235,1,0,0,0,1234,1236,
630
+ 3,288,141,0,1235,1234,1,0,0,0,1236,1237,1,0,0,0,1237,1235,1,0,0,0,1237,
631
+ 1238,1,0,0,0,1238,1240,1,0,0,0,1239,1163,1,0,0,0,1239,1184,1,0,0,0,1239,
632
+ 1198,1,0,0,0,1239,1216,1,0,0,0,1239,1228,1,0,0,0,1240,223,1,0,0,0,1241,
633
+ 1243,5,48,0,0,1242,1244,3,286,140,0,1243,1242,1,0,0,0,1244,1245,1,0,0,
634
+ 0,1245,1243,1,0,0,0,1245,1246,1,0,0,0,1246,225,1,0,0,0,1247,1249,3,288,
635
+ 141,0,1248,1247,1,0,0,0,1249,1250,1,0,0,0,1250,1248,1,0,0,0,1250,1251,
636
+ 1,0,0,0,1251,227,1,0,0,0,1252,1253,5,48,0,0,1253,1255,3,278,136,0,1254,
637
+ 1256,3,290,142,0,1255,1254,1,0,0,0,1256,1257,1,0,0,0,1257,1255,1,0,0,
638
+ 0,1257,1258,1,0,0,0,1258,229,1,0,0,0,1259,1270,3,366,180,0,1260,1269,
639
+ 8,2,0,0,1261,1269,3,218,106,0,1262,1263,3,298,146,0,1263,1264,3,366,180,
640
+ 0,1264,1269,1,0,0,0,1265,1266,3,366,180,0,1266,1267,3,366,180,0,1267,
641
+ 1269,1,0,0,0,1268,1260,1,0,0,0,1268,1261,1,0,0,0,1268,1262,1,0,0,0,1268,
642
+ 1265,1,0,0,0,1269,1272,1,0,0,0,1270,1268,1,0,0,0,1270,1271,1,0,0,0,1271,
643
+ 1273,1,0,0,0,1272,1270,1,0,0,0,1273,1274,3,366,180,0,1274,231,1,0,0,0,
644
+ 1275,1276,7,3,0,0,1276,233,1,0,0,0,1277,1278,7,4,0,0,1278,235,1,0,0,0,
645
+ 1279,1280,7,5,0,0,1280,237,1,0,0,0,1281,1282,7,6,0,0,1282,239,1,0,0,0,
646
+ 1283,1284,7,7,0,0,1284,241,1,0,0,0,1285,1286,7,8,0,0,1286,243,1,0,0,0,
647
+ 1287,1288,7,9,0,0,1288,245,1,0,0,0,1289,1290,7,10,0,0,1290,247,1,0,0,
648
+ 0,1291,1292,7,11,0,0,1292,249,1,0,0,0,1293,1294,7,12,0,0,1294,251,1,0,
649
+ 0,0,1295,1296,7,13,0,0,1296,253,1,0,0,0,1297,1298,7,14,0,0,1298,255,1,
650
+ 0,0,0,1299,1300,7,15,0,0,1300,257,1,0,0,0,1301,1302,7,16,0,0,1302,259,
651
+ 1,0,0,0,1303,1304,7,17,0,0,1304,261,1,0,0,0,1305,1306,7,18,0,0,1306,263,
652
+ 1,0,0,0,1307,1308,7,19,0,0,1308,265,1,0,0,0,1309,1310,7,20,0,0,1310,267,
653
+ 1,0,0,0,1311,1312,7,21,0,0,1312,269,1,0,0,0,1313,1314,7,22,0,0,1314,271,
654
+ 1,0,0,0,1315,1316,7,23,0,0,1316,273,1,0,0,0,1317,1318,7,24,0,0,1318,275,
655
+ 1,0,0,0,1319,1320,7,25,0,0,1320,277,1,0,0,0,1321,1322,7,26,0,0,1322,279,
656
+ 1,0,0,0,1323,1324,7,27,0,0,1324,281,1,0,0,0,1325,1326,7,28,0,0,1326,283,
657
+ 1,0,0,0,1327,1328,7,29,0,0,1328,285,1,0,0,0,1329,1330,7,30,0,0,1330,287,
658
+ 1,0,0,0,1331,1332,7,31,0,0,1332,289,1,0,0,0,1333,1334,7,32,0,0,1334,291,
659
+ 1,0,0,0,1335,1336,5,45,0,0,1336,1337,5,62,0,0,1337,293,1,0,0,0,1338,1339,
660
+ 5,42,0,0,1339,295,1,0,0,0,1340,1341,5,96,0,0,1341,297,1,0,0,0,1342,1343,
661
+ 5,92,0,0,1343,299,1,0,0,0,1344,1345,5,58,0,0,1345,1346,5,58,0,0,1346,
662
+ 301,1,0,0,0,1347,1348,5,58,0,0,1348,303,1,0,0,0,1349,1350,5,44,0,0,1350,
663
+ 305,1,0,0,0,1351,1352,5,124,0,0,1352,1353,5,124,0,0,1353,307,1,0,0,0,
664
+ 1354,1355,5,45,0,0,1355,309,1,0,0,0,1356,1357,5,36,0,0,1357,311,1,0,0,
665
+ 0,1358,1359,5,46,0,0,1359,313,1,0,0,0,1360,1361,5,61,0,0,1361,1362,5,
666
+ 61,0,0,1362,315,1,0,0,0,1363,1364,5,61,0,0,1364,317,1,0,0,0,1365,1366,
667
+ 5,62,0,0,1366,1367,5,61,0,0,1367,319,1,0,0,0,1368,1369,5,62,0,0,1369,
668
+ 321,1,0,0,0,1370,1371,5,35,0,0,1371,323,1,0,0,0,1372,1373,5,126,0,0,1373,
669
+ 1374,5,42,0,0,1374,325,1,0,0,0,1375,1376,5,61,0,0,1376,1377,5,126,0,0,
670
+ 1377,1378,5,42,0,0,1378,327,1,0,0,0,1379,1380,5,123,0,0,1380,1381,1,0,
671
+ 0,0,1381,1382,6,161,0,0,1382,329,1,0,0,0,1383,1384,5,91,0,0,1384,331,
672
+ 1,0,0,0,1385,1386,5,40,0,0,1386,333,1,0,0,0,1387,1388,5,60,0,0,1388,1389,
673
+ 5,61,0,0,1389,335,1,0,0,0,1390,1391,5,60,0,0,1391,1392,5,47,0,0,1392,
674
+ 1393,1,0,0,0,1393,1394,6,165,1,0,1394,1395,6,165,2,0,1395,337,1,0,0,0,
675
+ 1396,1397,5,60,0,0,1397,1398,4,166,0,0,1398,1399,1,0,0,0,1399,1400,6,
676
+ 166,3,0,1400,1401,6,166,4,0,1401,339,1,0,0,0,1402,1403,5,60,0,0,1403,
677
+ 341,1,0,0,0,1404,1405,5,60,0,0,1405,1406,5,47,0,0,1406,343,1,0,0,0,1407,
678
+ 1408,5,33,0,0,1408,1412,5,61,0,0,1409,1410,5,60,0,0,1410,1412,5,62,0,
679
+ 0,1411,1407,1,0,0,0,1411,1409,1,0,0,0,1412,345,1,0,0,0,1413,1414,5,33,
680
+ 0,0,1414,1415,5,126,0,0,1415,1416,5,42,0,0,1416,347,1,0,0,0,1417,1418,
681
+ 5,33,0,0,1418,1419,5,126,0,0,1419,349,1,0,0,0,1420,1421,5,63,0,0,1421,
682
+ 1422,5,46,0,0,1422,351,1,0,0,0,1423,1424,5,63,0,0,1424,1425,5,63,0,0,
683
+ 1425,353,1,0,0,0,1426,1427,5,37,0,0,1427,355,1,0,0,0,1428,1429,5,43,0,
684
+ 0,1429,357,1,0,0,0,1430,1431,5,63,0,0,1431,359,1,0,0,0,1432,1433,5,34,
685
+ 0,0,1433,361,1,0,0,0,1434,1435,5,102,0,0,1435,1436,5,39,0,0,1436,1437,
686
+ 1,0,0,0,1437,1438,6,178,5,0,1438,363,1,0,0,0,1439,1440,5,70,0,0,1440,
687
+ 1441,5,39,0,0,1441,1442,1,0,0,0,1442,1443,6,179,6,0,1443,365,1,0,0,0,
688
+ 1444,1445,5,39,0,0,1445,367,1,0,0,0,1446,1447,5,126,0,0,1447,369,1,0,
689
+ 0,0,1448,1449,5,61,0,0,1449,1450,5,126,0,0,1450,371,1,0,0,0,1451,1452,
690
+ 5,125,0,0,1452,1453,1,0,0,0,1453,1454,6,183,7,0,1454,373,1,0,0,0,1455,
691
+ 1456,5,93,0,0,1456,375,1,0,0,0,1457,1458,5,41,0,0,1458,377,1,0,0,0,1459,
692
+ 1460,5,59,0,0,1460,379,1,0,0,0,1461,1462,5,47,0,0,1462,381,1,0,0,0,1463,
693
+ 1464,5,47,0,0,1464,1465,5,62,0,0,1465,383,1,0,0,0,1466,1467,5,95,0,0,
694
+ 1467,385,1,0,0,0,1468,1469,5,47,0,0,1469,1470,5,42,0,0,1470,1474,1,0,
695
+ 0,0,1471,1473,9,0,0,0,1472,1471,1,0,0,0,1473,1476,1,0,0,0,1474,1475,1,
696
+ 0,0,0,1474,1472,1,0,0,0,1475,1477,1,0,0,0,1476,1474,1,0,0,0,1477,1478,
697
+ 5,42,0,0,1478,1479,5,47,0,0,1479,1480,1,0,0,0,1480,1481,6,190,8,0,1481,
698
+ 387,1,0,0,0,1482,1483,5,45,0,0,1483,1487,5,45,0,0,1484,1485,5,47,0,0,
699
+ 1485,1487,5,47,0,0,1486,1482,1,0,0,0,1486,1484,1,0,0,0,1487,1491,1,0,
700
+ 0,0,1488,1490,8,33,0,0,1489,1488,1,0,0,0,1490,1493,1,0,0,0,1491,1489,
701
+ 1,0,0,0,1491,1492,1,0,0,0,1492,1495,1,0,0,0,1493,1491,1,0,0,0,1494,1496,
702
+ 7,34,0,0,1495,1494,1,0,0,0,1496,1497,1,0,0,0,1497,1498,6,191,8,0,1498,
703
+ 389,1,0,0,0,1499,1500,7,35,0,0,1500,1501,1,0,0,0,1501,1502,6,192,9,0,
704
+ 1502,391,1,0,0,0,1503,1515,8,36,0,0,1504,1515,3,218,106,0,1505,1506,3,
705
+ 298,146,0,1506,1507,3,366,180,0,1507,1515,1,0,0,0,1508,1509,3,298,146,
706
+ 0,1509,1510,3,328,161,0,1510,1515,1,0,0,0,1511,1512,3,366,180,0,1512,
707
+ 1513,3,366,180,0,1513,1515,1,0,0,0,1514,1503,1,0,0,0,1514,1504,1,0,0,
708
+ 0,1514,1505,1,0,0,0,1514,1508,1,0,0,0,1514,1511,1,0,0,0,1515,1516,1,0,
709
+ 0,0,1516,1514,1,0,0,0,1516,1517,1,0,0,0,1517,393,1,0,0,0,1518,1519,3,
710
+ 328,161,0,1519,1520,1,0,0,0,1520,1521,6,194,0,0,1521,395,1,0,0,0,1522,
711
+ 1523,3,366,180,0,1523,1524,1,0,0,0,1524,1525,6,195,10,0,1525,1526,6,195,
712
+ 7,0,1526,397,1,0,0,0,1527,1533,8,37,0,0,1528,1533,3,218,106,0,1529,1530,
713
+ 3,298,146,0,1530,1531,3,328,161,0,1531,1533,1,0,0,0,1532,1527,1,0,0,0,
714
+ 1532,1528,1,0,0,0,1532,1529,1,0,0,0,1533,1534,1,0,0,0,1534,1532,1,0,0,
715
+ 0,1534,1535,1,0,0,0,1535,399,1,0,0,0,1536,1537,3,328,161,0,1537,1538,
716
+ 1,0,0,0,1538,1539,6,197,0,0,1539,401,1,0,0,0,1540,1541,5,47,0,0,1541,
717
+ 1542,5,62,0,0,1542,1543,1,0,0,0,1543,1544,6,198,11,0,1544,1545,6,198,
718
+ 7,0,1545,403,1,0,0,0,1546,1547,5,62,0,0,1547,1548,1,0,0,0,1548,1549,6,
719
+ 199,12,0,1549,1550,6,199,7,0,1550,1551,6,199,13,0,1551,405,1,0,0,0,1552,
720
+ 1556,7,38,0,0,1553,1555,7,39,0,0,1554,1553,1,0,0,0,1555,1558,1,0,0,0,
721
+ 1556,1554,1,0,0,0,1556,1557,1,0,0,0,1557,1559,1,0,0,0,1558,1556,1,0,0,
722
+ 0,1559,1560,6,200,14,0,1560,407,1,0,0,0,1561,1562,5,61,0,0,1562,1563,
723
+ 1,0,0,0,1563,1564,6,201,15,0,1564,409,1,0,0,0,1565,1566,3,230,112,0,1566,
724
+ 1567,1,0,0,0,1567,1568,6,202,16,0,1568,411,1,0,0,0,1569,1571,7,40,0,0,
725
+ 1570,1569,1,0,0,0,1571,1572,1,0,0,0,1572,1570,1,0,0,0,1572,1573,1,0,0,
726
+ 0,1573,1574,1,0,0,0,1574,1575,6,203,9,0,1575,413,1,0,0,0,1576,1577,5,
727
+ 123,0,0,1577,1578,1,0,0,0,1578,1579,6,204,17,0,1579,1580,6,204,0,0,1580,
728
+ 415,1,0,0,0,1581,1582,5,62,0,0,1582,1583,1,0,0,0,1583,1584,6,205,12,0,
729
+ 1584,1585,6,205,7,0,1585,417,1,0,0,0,1586,1590,7,38,0,0,1587,1589,7,39,
730
+ 0,0,1588,1587,1,0,0,0,1589,1592,1,0,0,0,1590,1588,1,0,0,0,1590,1591,1,
731
+ 0,0,0,1591,1593,1,0,0,0,1592,1590,1,0,0,0,1593,1594,6,206,14,0,1594,419,
732
+ 1,0,0,0,1595,1597,7,40,0,0,1596,1595,1,0,0,0,1597,1598,1,0,0,0,1598,1596,
733
+ 1,0,0,0,1598,1599,1,0,0,0,1599,1600,1,0,0,0,1600,1601,6,207,9,0,1601,
734
+ 421,1,0,0,0,1602,1604,8,41,0,0,1603,1602,1,0,0,0,1604,1605,1,0,0,0,1605,
735
+ 1603,1,0,0,0,1605,1606,1,0,0,0,1606,423,1,0,0,0,1607,1608,5,123,0,0,1608,
736
+ 1609,1,0,0,0,1609,1610,6,209,17,0,1610,1611,6,209,0,0,1611,425,1,0,0,
737
+ 0,1612,1613,5,60,0,0,1613,1614,5,47,0,0,1614,1615,1,0,0,0,1615,1616,6,
738
+ 210,1,0,1616,1617,6,210,7,0,1617,1618,6,210,2,0,1618,427,1,0,0,0,1619,
739
+ 1620,5,60,0,0,1620,1621,1,0,0,0,1621,1622,6,211,3,0,1622,1623,6,211,4,
740
+ 0,1623,429,1,0,0,0,1624,1626,7,40,0,0,1625,1624,1,0,0,0,1626,1627,1,0,
741
+ 0,0,1627,1625,1,0,0,0,1627,1628,1,0,0,0,1628,1629,1,0,0,0,1629,1630,6,
742
+ 212,9,0,1630,431,1,0,0,0,53,0,1,2,3,4,5,472,700,1084,1113,1118,1124,1126,
743
+ 1138,1140,1154,1156,1161,1168,1173,1177,1182,1187,1191,1196,1203,1209,
744
+ 1214,1221,1226,1232,1237,1239,1245,1250,1257,1268,1270,1411,1474,1486,
745
+ 1491,1495,1514,1516,1532,1534,1556,1572,1590,1598,1605,1627,18,5,0,0,
746
+ 7,137,0,5,4,0,7,136,0,5,3,0,5,1,0,5,2,0,4,0,0,6,0,0,0,1,0,7,149,0,7,157,
747
+ 0,7,128,0,5,5,0,7,108,0,7,126,0,7,113,0,7,132,0
748
+ };
749
+ staticData->serializedATN = antlr4::atn::SerializedATNView(serializedATNSegment, sizeof(serializedATNSegment) / sizeof(serializedATNSegment[0]));
750
+
751
+ antlr4::atn::ATNDeserializer deserializer;
752
+ staticData->atn = deserializer.deserialize(staticData->serializedATN);
753
+
754
+ const size_t count = staticData->atn->getNumberOfDecisions();
755
+ staticData->decisionToDFA.reserve(count);
756
+ for (size_t i = 0; i < count; i++) {
757
+ staticData->decisionToDFA.emplace_back(staticData->atn->getDecisionState(i), i);
758
+ }
759
+ hogqllexerLexerStaticData = std::move(staticData);
760
+ }
761
+
762
+ }
763
+
764
+ HogQLLexer::HogQLLexer(CharStream *input) : Lexer(input) {
765
+ HogQLLexer::initialize();
766
+ _interpreter = new atn::LexerATNSimulator(this, *hogqllexerLexerStaticData->atn, hogqllexerLexerStaticData->decisionToDFA, hogqllexerLexerStaticData->sharedContextCache);
767
+ }
768
+
769
+ HogQLLexer::~HogQLLexer() {
770
+ delete _interpreter;
771
+ }
772
+
773
+ std::string HogQLLexer::getGrammarFileName() const {
774
+ return "HogQLLexer.g4";
775
+ }
776
+
777
+ const std::vector<std::string>& HogQLLexer::getRuleNames() const {
778
+ return hogqllexerLexerStaticData->ruleNames;
779
+ }
780
+
781
+ const std::vector<std::string>& HogQLLexer::getChannelNames() const {
782
+ return hogqllexerLexerStaticData->channelNames;
783
+ }
784
+
785
+ const std::vector<std::string>& HogQLLexer::getModeNames() const {
786
+ return hogqllexerLexerStaticData->modeNames;
787
+ }
788
+
789
+ const dfa::Vocabulary& HogQLLexer::getVocabulary() const {
790
+ return hogqllexerLexerStaticData->vocabulary;
791
+ }
792
+
793
+ antlr4::atn::SerializedATNView HogQLLexer::getSerializedATN() const {
794
+ return hogqllexerLexerStaticData->serializedATN;
795
+ }
796
+
797
+ const atn::ATN& HogQLLexer::getATN() const {
798
+ return *hogqllexerLexerStaticData->atn;
799
+ }
800
+
801
+
802
+ bool HogQLLexer::sempred(RuleContext *context, size_t ruleIndex, size_t predicateIndex) {
803
+ switch (ruleIndex) {
804
+ case 166: return TAG_LT_OPENSempred(antlrcpp::downCast<antlr4::RuleContext *>(context), predicateIndex);
805
+
806
+ default:
807
+ break;
808
+ }
809
+ return true;
810
+ }
811
+
812
+
813
+ bool HogQLLexer::TAG_LT_OPENSempred(antlr4::RuleContext *_localctx, size_t predicateIndex) {
814
+ switch (predicateIndex) {
815
+ case 0: return isOpeningTag();
816
+
817
+ default:
818
+ break;
819
+ }
820
+ return true;
821
+ }
822
+
823
+
824
+ void HogQLLexer::initialize() {
825
+ #if ANTLR4_USE_THREAD_LOCAL_CACHE
826
+ hogqllexerLexerInitialize();
827
+ #else
828
+ ::antlr4::internal::call_once(hogqllexerLexerOnceFlag, hogqllexerLexerInitialize);
829
+ #endif
830
+ }