Merge branch 'slimconfigure'
[m6w6/ext-psi] / src / parser_proc.c
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2
3 /* Skeleton implementation for Bison GLR parsers in C
4
5 Copyright (C) 2002-2015 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C GLR parser skeleton written by Paul Hilfinger. */
34
35 /* Identify Bison output. */
36 #define YYBISON 1
37
38 /* Bison version. */
39 #define YYBISON_VERSION "3.0.4"
40
41 /* Skeleton name. */
42 #define YYSKELETON_NAME "glr.c"
43
44 /* Pure parsers. */
45 #define YYPURE 1
46
47
48 /* "%code top" blocks. */
49 #line 1 "src/parser_proc_grammar.y" /* glr.c:222 */
50
51 #include "php_psi_stdinc.h"
52
53 #line 54 "src/parser_proc.c" /* glr.c:222 */
54
55
56 /* Substitute the variable and function names. */
57 #define yyparse psi_parser_proc_parse
58 #define yylex psi_parser_proc_lex
59 #define yyerror psi_parser_proc_error
60 #define yydebug psi_parser_proc_debug
61
62
63 /* First part of user declarations. */
64
65 #line 66 "src/parser_proc.c" /* glr.c:240 */
66
67 # ifndef YY_NULLPTR
68 # if defined __cplusplus && 201103L <= __cplusplus
69 # define YY_NULLPTR nullptr
70 # else
71 # define YY_NULLPTR 0
72 # endif
73 # endif
74
75 #include "parser_proc.h"
76
77 /* Enabling verbose error messages. */
78 #ifdef YYERROR_VERBOSE
79 # undef YYERROR_VERBOSE
80 # define YYERROR_VERBOSE 1
81 #else
82 # define YYERROR_VERBOSE 1
83 #endif
84
85 /* Default (constant) value used for initialization for null
86 right-hand sides. Unlike the standard yacc.c template, here we set
87 the default value of $$ to a zeroed-out value. Since the default
88 value is undefined, this behavior is technically correct. */
89 static YYSTYPE yyval_default;
90
91 /* Copy the second part of user declarations. */
92
93 #line 94 "src/parser_proc.c" /* glr.c:263 */
94 /* Unqualified %code blocks. */
95 #line 5 "src/parser_proc_grammar.y" /* glr.c:264 */
96
97 #include <assert.h>
98 #include <stdarg.h>
99
100 #include "plist.h"
101 #include "parser.h"
102
103 #define YYDEBUG 1
104 #define PSI_PARSER_PROC_DEBUG 1
105
106 static int psi_parser_proc_lex(YYSTYPE *u, struct psi_parser *P, struct psi_plist *tokens, size_t *index);
107 static void psi_parser_proc_error(struct psi_parser *P, struct psi_plist *tokens, size_t *index, const char *msg);
108
109 static inline void psi_parser_proc_add_struct(struct psi_parser *P, struct psi_decl_struct *strct)
110 {
111 assert(strct);
112 if (!P->structs) {
113 P->structs = psi_plist_init((psi_plist_dtor) psi_decl_struct_free);
114 }
115 P->structs = psi_plist_add(P->structs, &strct);
116 }
117 static inline void psi_parser_proc_add_union(struct psi_parser *P, struct psi_decl_union *u)
118 {
119 assert(u);
120 if (!P->unions) {
121 P->unions = psi_plist_init((psi_plist_dtor) psi_decl_union_free);
122 }
123 P->unions = psi_plist_add(P->unions, &u);
124 }
125 static inline void psi_parser_proc_add_enum(struct psi_parser *P, struct psi_decl_enum *e)
126 {
127 assert(e);
128 if (!P->enums) {
129 P->enums = psi_plist_init((psi_plist_dtor) psi_decl_enum_free);
130 }
131 P->enums = psi_plist_add(P->enums, &e);
132 }
133 static inline void psi_parser_proc_deanon_typedef(struct psi_decl_arg *def)
134 {
135 switch (def->type->type) {
136 case PSI_T_STRUCT:
137 if (!psi_decl_type_is_anon(def->type->name, "struct")) {
138 return;
139 }
140 break;
141 case PSI_T_UNION:
142 if (!psi_decl_type_is_anon(def->type->name, "union")) {
143 return;
144 }
145 break;
146 case PSI_T_ENUM:
147 if (!psi_decl_type_is_anon(def->type->name, "enum")) {
148 return;
149 }
150 break;
151 default:
152 return;
153 }
154 free(def->type->name);
155 def->type->name = strdup(def->var->name);
156 }
157 static inline void psi_parser_proc_add_typedef(struct psi_parser *P, struct psi_decl_arg *def)
158 {
159 assert(def);
160 if (!P->types) {
161 P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free);
162 }
163 //psi_parser_proc_deanon_typedef(def);
164 P->types = psi_plist_add(P->types, &def);
165 }
166 static inline void psi_parser_proc_add_const(struct psi_parser *P, struct psi_const *cnst) {
167 assert(cnst);
168 if (!P->consts) {
169 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
170 }
171 P->consts = psi_plist_add(P->consts, &cnst);
172
173 }
174 static inline void psi_parser_proc_add_decl(struct psi_parser *P, struct psi_decl *decl) {
175 assert(decl);
176
177 if (psi_decl_is_blacklisted(decl->func->var->name)) {
178 psi_decl_free(&decl);
179 return;
180 }
181
182 if (!P->decls) {
183 P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free);
184 }
185 P->decls = psi_plist_add(P->decls, &decl);
186 }
187 static inline void psi_parser_proc_add_decl_extvars(struct psi_parser *P, struct psi_plist *list) {
188 assert(list);
189 if (!P->vars) {
190 P->vars = psi_plist_init((psi_plist_dtor) psi_decl_extvar_free);
191 }
192 P->vars = psi_plist_add_r(P->vars, psi_plist_count(list), psi_plist_eles(list));
193 free(list);
194 }
195 static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_impl *impl) {
196 assert(impl);
197 if (!P->impls) {
198 P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free);
199 }
200 P->impls = psi_plist_add(P->impls, &impl);
201 }
202
203 /* end code */
204
205 #line 206 "src/parser_proc.c" /* glr.c:264 */
206
207 #include <stdio.h>
208 #include <stdlib.h>
209 #include <string.h>
210
211 #ifndef YY_
212 # if defined YYENABLE_NLS && YYENABLE_NLS
213 # if ENABLE_NLS
214 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
215 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
216 # endif
217 # endif
218 # ifndef YY_
219 # define YY_(Msgid) Msgid
220 # endif
221 #endif
222
223 #ifndef YYFREE
224 # define YYFREE free
225 #endif
226 #ifndef YYMALLOC
227 # define YYMALLOC malloc
228 #endif
229 #ifndef YYREALLOC
230 # define YYREALLOC realloc
231 #endif
232
233 #define YYSIZEMAX ((size_t) -1)
234
235 #ifdef __cplusplus
236 typedef bool yybool;
237 #else
238 typedef unsigned char yybool;
239 #endif
240 #define yytrue 1
241 #define yyfalse 0
242
243 #ifndef YYSETJMP
244 # include <setjmp.h>
245 # define YYJMP_BUF jmp_buf
246 # define YYSETJMP(Env) setjmp (Env)
247 /* Pacify clang. */
248 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
249 #endif
250
251 #ifndef YY_ATTRIBUTE
252 # if (defined __GNUC__ \
253 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
254 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
255 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
256 # else
257 # define YY_ATTRIBUTE(Spec) /* empty */
258 # endif
259 #endif
260
261 #ifndef YY_ATTRIBUTE_PURE
262 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
263 #endif
264
265 #ifndef YY_ATTRIBUTE_UNUSED
266 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
267 #endif
268
269 #if !defined _Noreturn \
270 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
271 # if defined _MSC_VER && 1200 <= _MSC_VER
272 # define _Noreturn __declspec (noreturn)
273 # else
274 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
275 # endif
276 #endif
277
278 /* Suppress unused-variable warnings by "using" E. */
279 #if ! defined lint || defined __GNUC__
280 # define YYUSE(E) ((void) (E))
281 #else
282 # define YYUSE(E) /* empty */
283 #endif
284
285 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
286 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
287 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
288 _Pragma ("GCC diagnostic push") \
289 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
290 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
291 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
292 _Pragma ("GCC diagnostic pop")
293 #else
294 # define YY_INITIAL_VALUE(Value) Value
295 #endif
296 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
297 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
298 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
299 #endif
300 #ifndef YY_INITIAL_VALUE
301 # define YY_INITIAL_VALUE(Value) /* Nothing. */
302 #endif
303
304
305 #ifndef YYASSERT
306 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
307 #endif
308
309 /* YYFINAL -- State number of the termination state. */
310 #define YYFINAL 160
311 /* YYLAST -- Last index in YYTABLE. */
312 #define YYLAST 7599
313
314 /* YYNTOKENS -- Number of terminals. */
315 #define YYNTOKENS 140
316 /* YYNNTS -- Number of nonterminals. */
317 #define YYNNTS 141
318 /* YYNRULES -- Number of rules. */
319 #define YYNRULES 626
320 /* YYNRULES -- Number of states. */
321 #define YYNSTATES 925
322 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
323 #define YYMAXRHS 13
324 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
325 accessed by $0, $-1, etc., in any rule. */
326 #define YYMAXLEFT 0
327
328 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
329 #define YYUNDEFTOK 2
330 #define YYMAXUTOK 394
331
332 #define YYTRANSLATE(YYX) \
333 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
334
335 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
336 static const unsigned char yytranslate[] =
337 {
338 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
339 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
340 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
342 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
349 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
350 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
351 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
352 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
353 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
354 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
355 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
356 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
357 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
358 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
359 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
360 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
361 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
362 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
363 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
364 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
365 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
366 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
367 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
368 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
369 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
370 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
371 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
372 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
373 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
374 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
375 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
377 135, 136, 137, 138, 139
378 };
379
380 #if YYDEBUG
381 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
382 static const unsigned short int yyrline[] =
383 {
384 0, 433, 433, 433, 433, 433, 433, 433, 433, 433,
385 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
386 434, 434, 434, 434, 435, 435, 435, 435, 435, 435,
387 435, 435, 435, 435, 435, 435, 435, 435, 435, 435,
388 435, 435, 435, 436, 436, 436, 436, 436, 436, 436,
389 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
390 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
391 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
392 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
393 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
394 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
395 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
396 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
397 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
398 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
399 436, 436, 436, 436, 436, 436, 436, 436, 436, 436,
400 436, 437, 437, 437, 437, 437, 437, 437, 437, 437,
401 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
402 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
403 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
404 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
405 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
406 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
407 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
408 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
409 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
410 437, 437, 437, 437, 437, 437, 437, 437, 437, 437,
411 437, 437, 437, 437, 437, 437, 437, 441, 442, 445,
412 446, 449, 450, 451, 452, 458, 466, 469, 472, 475,
413 481, 484, 487, 490, 493, 499, 505, 508, 514, 537,
414 541, 545, 550, 554, 558, 562, 569, 570, 574, 575,
415 579, 580, 581, 585, 586, 590, 591, 595, 596, 597,
416 601, 602, 606, 611, 616, 621, 630, 633, 636, 637,
417 643, 648, 656, 659, 663, 667, 674, 678, 682, 686,
418 691, 702, 713, 718, 723, 727, 733, 743, 746, 750,
419 754, 760, 767, 771, 775, 782, 783, 784, 788, 802,
420 808, 811, 817, 820, 826, 827, 835, 846, 855, 867,
421 868, 872, 882, 891, 903, 904, 907, 913, 914, 918,
422 922, 926, 931, 936, 944, 945, 946, 949, 955, 958,
423 961, 967, 968, 972, 975, 978, 984, 987, 990, 998,
424 1010, 1013, 1016, 1019, 1026, 1029, 1039, 1042, 1045, 1048,
425 1049, 1050, 1054, 1057, 1060, 1071, 1078, 1088, 1091, 1097,
426 1100, 1107, 1137, 1140, 1146, 1149, 1155, 1158, 1161, 1164,
427 1170, 1174, 1175, 1179, 1180, 1184, 1185, 1192, 1193, 1197,
428 1204, 1215, 1222, 1230, 1258, 1265, 1276, 1322, 1363, 1378,
429 1381, 1384, 1390, 1393, 1399, 1414, 1417, 1446, 1454, 1482,
430 1487, 1495, 1505, 1515, 1518, 1522, 1528, 1542, 1559, 1562,
431 1568, 1575, 1585, 1592, 1595, 1601, 1606, 1614, 1618, 1622,
432 1626, 1630, 1634, 1641, 1645, 1649, 1653, 1657, 1661, 1667,
433 1671, 1678, 1681, 1693, 1697, 1701, 1708, 1721, 1734, 1747,
434 1750, 1757, 1758, 1762, 1765, 1768, 1771, 1777, 1781, 1788,
435 1791, 1794, 1809, 1810, 1811, 1812, 1816, 1819, 1825, 1826,
436 1832, 1835, 1841, 1842, 1846, 1847, 1857, 1860, 1867, 1872,
437 1877, 1887, 1890, 1896, 1899, 1905, 1912, 1919, 1926, 1927,
438 1931, 1932, 1933, 1934, 1938, 1939, 1940, 1941, 1942, 1946,
439 1949, 1955, 1958, 1961, 1964, 1967, 1973, 1977, 1985, 1986,
440 1990, 1997, 2000, 2003, 2006, 2010, 2013, 2019, 2023, 2031,
441 2038, 2043, 2051, 2059, 2060, 2061, 2062, 2063, 2064, 2065,
442 2066, 2067, 2068, 2072, 2075, 2081, 2084, 2090, 2091, 2095,
443 2098, 2104, 2107, 2113, 2120, 2124, 2131, 2134, 2137, 2143,
444 2150, 2153, 2156, 2163, 2168, 2176, 2177, 2178, 2179, 2180,
445 2181, 2182, 2183, 2187, 2190, 2196, 2199, 2205, 2212, 2213,
446 2217, 2224, 2227, 2233, 2241, 2244, 2250
447 };
448 #endif
449
450 #if YYDEBUG || YYERROR_VERBOSE || 1
451 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
452 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
453 static const char *const yytname[] =
454 {
455 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
456 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
457 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
458 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
459 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
460 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
461 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
462 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
463 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
464 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
465 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
466 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
467 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
468 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
469 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
470 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
471 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
472 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
473 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
474 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
475 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
476 "$accept", "binary_op_token", "unary_op_token", "name_token",
477 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
478 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
479 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
480 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_macro_decl",
481 "cpp_macro_sig", "cpp_macro_sig_args", "cpp_macro_decl_tokens",
482 "cpp_macro_decl_token_list", "cpp_macro_exp", "cpp_macro_call_args",
483 "cpp_macro_call_arg_list", "constant", "impl_def_val",
484 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
485 "typedef_decl", "typedef_anon_decl", "qualified_decl_type",
486 "decl_type_qualifier_token", "decl_type", "decl_type_complex",
487 "decl_type_simple", "decl_real_type", "int_signed", "int_width",
488 "decl_int_type", "int_signed_types", "signed_short_types",
489 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
490 "quoted_strings", "decl_extvar_stmt", "decl_extvar_list", "decl_vars",
491 "ignored_decl", "ignored_decl_body", "ignored_decl_body_stmts",
492 "ignored_decl_body_stmt", "decl", "decl_body", "decl_func_body",
493 "decl_functor_body", "decl_anon_functor_body", "decl_functor",
494 "decl_anon_functor", "decl_func", "decl_args", "decl_arg_list",
495 "decl_anon_arg", "decl_arg", "decl_var", "decl_union", "decl_struct",
496 "decl_struct_args", "struct_args_block", "struct_args",
497 "struct_arg_var_list", "decl_vars_with_layout", "decl_enum",
498 "decl_enum_items", "decl_enum_item", "num_exp", "number", "sizeof",
499 "sizeof_body", "sizeof_body_notypes", "enum_name", "union_name",
500 "struct_name", "optional_name", "optional_comma", "decl_layout",
501 "align_and_size", "array_size", "array_qualifier_token", "indirection",
502 "pointers", "asterisks", "asterisk", "pointer_qualifier_token", "impl",
503 "impl_func", "impl_args", "impl_arg", "impl_var", "impl_type",
504 "impl_type_restricted", "impl_type_token", "impl_type_restricted_token",
505 "impl_type_extended_token", "impl_stmts", "impl_stmt", "let_stmt",
506 "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
507 "let_callback", "let_func", "let_func_token", "let_func_exps",
508 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
509 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
510 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
511 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
512 "byref", YY_NULLPTR
513 };
514 #endif
515
516 #define YYPACT_NINF -714
517 #define YYTABLE_NINF -625
518
519 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
520 STATE-NUM. */
521 static const short int yypact[] =
522 {
523 521, -714, -714, -714, -714, -714, 97, -714, -714, -714,
524 708, -714, -714, -714, 730, 1396, 7333, 7333, 7333, 101,
525 34, 243, 28, -714, 5528, 1654, 89, 521, -714, -714,
526 -714, -714, -714, 6704, 562, -714, -714, -714, -714, 126,
527 177, -714, -714, -714, -714, -45, -714, -714, 143, 78,
528 102, -714, -714, -714, -714, 59, -714, 104, -714, -714,
529 -714, 7333, 7333, 7333, -714, 1654, -714, 95, -714, -714,
530 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
531 871, -714, -714, -714, -714, 123, 997, 997, 23, -714,
532 997, 6478, 7333, 7333, 1767, 113, -714, -714, -714, 124,
533 7333, 125, 125, -714, -714, -714, 5461, -714, -714, -714,
534 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
535 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
536 -714, -714, -714, -714, -714, -714, -714, 115, -714, -714,
537 115, 122, -714, -714, -714, -714, -714, 139, -714, 145,
538 1654, 134, 169, -714, 190, -714, 1880, 1396, -45, 134,
539 -714, -714, 38, 188, -714, -714, 197, 7333, 2, -714,
540 -714, -714, 216, -714, 114, -714, -714, -714, 132, -714,
541 202, 206, 1993, 1993, 7333, 248, -714, -714, -714, 134,
542 6817, 209, -714, 1506, -714, -714, -714, -714, -714, -714,
543 -714, -714, 1619, -714, -714, -714, -714, 1732, 1845, -714,
544 -714, -714, 1958, -714, -714, -714, -714, -714, -714, -714,
545 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
546 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
547 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
548 -714, -714, -714, -714, -714, 2071, 2184, 2297, 2410, 2523,
549 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
550 -714, -714, -714, -714, -714, 2636, -714, 2749, 2862, 2975,
551 3088, 3201, 3314, -714, 3427, -714, -714, 3540, 3653, 3766,
552 3879, 3992, 4105, 4218, 4331, 4444, 4557, 4670, 4783, 4896,
553 5009, 5122, 5235, -714, -714, -714, -714, -714, -714, -714,
554 5348, 997, -714, -714, -714, -714, -714, -714, -714, -714,
555 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
556 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
557 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
558 997, -714, -714, -714, -714, -714, -714, -714, 70, 6478,
559 -714, -714, -714, -714, 6930, 6478, 212, 7462, -714, 144,
560 -714, 153, -714, -714, -714, -714, 210, 220, 220, 47,
561 47, 217, -714, 134, 1249, -714, 248, 214, 228, 231,
562 -714, -714, -714, -714, 1363, -714, 219, 188, -714, -714,
563 -714, -714, -714, 260, -714, -714, 244, -714, 82, 6704,
564 -714, 237, 166, 239, -714, -714, 176, 234, 252, -714,
565 6817, 6139, 6817, 7333, 6817, -714, -714, 224, -714, -714,
566 -714, -714, -714, 6365, -714, -714, 254, -714, 7333, -714,
567 -714, 259, 7462, 245, -714, -714, -714, -714, 6624, 270,
568 -714, 6692, 7333, -714, -714, 6478, -714, -714, -714, -714,
569 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
570 -714, -714, -714, -714, 6478, 6478, 262, 1484, 6817, 6817,
571 -714, -714, -714, -714, 5687, -714, -714, -714, -714, -714,
572 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
573 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
574 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
575 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
576 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
577 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
578 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
579 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
580 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
581 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
582 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
583 -714, -714, -714, -714, 1123, -714, 328, 478, -714, -714,
584 -714, -714, -714, -714, -714, 5574, -714, -714, 6365, -714,
585 7438, -714, -714, 256, 7333, -714, -714, -714, 33, 264,
586 1993, 188, 233, 1654, 188, 235, 6365, 7333, 261, 263,
587 271, 7486, 265, 275, -714, 289, 300, 286, 303, 118,
588 -714, 306, 301, -714, -714, -714, 799, 6817, 6989, -714,
589 219, 315, -714, -714, -714, 316, 7462, 317, 305, 7207,
590 -714, 326, 1767, 319, -714, -714, 6591, 742, 7333, 125,
591 125, -714, -714, 163, -714, -714, 321, -714, 245, 7486,
592 -714, -714, -714, -714, -714, -714, -714, -714, 320, 178,
593 -714, 28, -714, -714, -714, 25, 32, 35, 6798, -714,
594 -714, 6365, 6365, -714, 184, -714, 219, 187, -714, 323,
595 -714, -714, 324, 7486, -714, -714, 5800, -714, 6139, -714,
596 6817, -714, 28, 6817, -714, 7333, 7102, -714, -714, -714,
597 -714, -714, 329, 330, -714, -714, -714, -714, 6478, 6478,
598 333, -714, 63, 334, -714, 319, 220, 220, -714, 584,
599 335, 584, 332, 6365, -714, 7414, -714, 1993, -714, 7215,
600 188, 299, 188, 188, 170, 267, 207, 337, 7486, -714,
601 -714, -714, -714, 341, 6252, -714, 340, 6817, 198, -714,
602 344, 254, 346, 997, 7274, 7462, 7510, 356, 347, 353,
603 6817, 355, 334, 6817, 6817, -714, 584, -714, 28, 5687,
604 -714, 6365, 354, -714, -714, 359, -714, -714, 337, -714,
605 -714, -714, 7102, -714, 363, 6365, 28, -714, 5913, 365,
606 357, -714, 304, -714, -714, -714, 371, 370, 381, 319,
607 375, -714, 379, -714, 39, -714, 7534, 378, 188, 380,
608 28, 7083, 382, 385, -714, 394, -714, -714, 53, -714,
609 383, 395, -714, 6817, -714, 390, 387, -714, 338, 398,
610 6365, 5800, 403, -714, 6139, -714, -714, 405, 413, 415,
611 319, 408, 1993, 175, 6026, 6921, 263, -714, -714, -714,
612 409, 6252, -714, -714, 410, 412, -714, 407, 417, 420,
613 422, 419, -714, -714, 5800, -714, 434, -714, 584, 188,
614 28, 433, 6139, -714, 437, -714, -714, 441, -714, -714,
615 -714, 6026, 443, 445, -714
616 };
617
618 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
619 Performed when YYTABLE does not specify something else to do. Zero
620 means the default is an error. */
621 static const unsigned short int yydefact[] =
622 {
623 277, 396, 393, 397, 391, 392, 394, 388, 389, 387,
624 386, 378, 282, 281, 0, 0, 0, 0, 499, 377,
625 0, 0, 624, 283, 0, 0, 0, 278, 279, 285,
626 284, 286, 290, 516, 0, 374, 380, 379, 385, 400,
627 412, 384, 287, 288, 289, 417, 435, 437, 438, 0,
628 0, 448, 292, 291, 293, 0, 294, 0, 395, 390,
629 386, 0, 0, 0, 377, 0, 436, 422, 296, 307,
630 304, 306, 308, 309, 320, 317, 318, 315, 321, 316,
631 0, 319, 310, 311, 312, 0, 332, 332, 0, 300,
632 0, 0, 499, 499, 0, 0, 360, 365, 457, 364,
633 0, 507, 507, 33, 34, 612, 573, 24, 39, 38,
634 37, 35, 36, 32, 31, 25, 29, 28, 26, 27,
635 40, 581, 580, 578, 576, 577, 579, 575, 574, 582,
636 30, 610, 608, 607, 609, 606, 605, 381, 41, 42,
637 382, 383, 496, 540, 541, 542, 543, 0, 537, 0,
638 0, 0, 0, 626, 0, 625, 386, 0, 417, 0,
639 1, 280, 522, 509, 376, 458, 0, 517, 518, 520,
640 375, 402, 406, 404, 408, 401, 398, 413, 400, 399,
641 0, 0, 449, 449, 0, 0, 381, 382, 383, 0,
642 0, 0, 68, 43, 44, 45, 46, 47, 48, 49,
643 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
644 60, 61, 62, 63, 64, 65, 66, 67, 158, 159,
645 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
646 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
647 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
648 99, 100, 101, 102, 108, 106, 107, 105, 103, 104,
649 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
650 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
651 129, 130, 131, 132, 160, 133, 134, 135, 136, 137,
652 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
653 148, 149, 150, 151, 152, 156, 153, 154, 155, 157,
654 0, 332, 302, 297, 43, 52, 57, 58, 62, 106,
655 107, 105, 103, 104, 124, 126, 127, 128, 129, 130,
656 131, 160, 135, 136, 137, 138, 139, 140, 141, 142,
657 143, 144, 145, 146, 147, 148, 149, 150, 334, 305,
658 333, 298, 313, 314, 299, 301, 342, 343, 0, 0,
659 22, 23, 20, 21, 0, 0, 345, 303, 344, 381,
660 498, 382, 497, 361, 358, 366, 0, 0, 0, 0,
661 0, 0, 295, 0, 0, 426, 0, 0, 0, 0,
662 428, 525, 524, 523, 512, 460, 516, 509, 519, 521,
663 407, 403, 409, 410, 405, 414, 0, 415, 387, 516,
664 454, 0, 0, 451, 452, 455, 0, 475, 501, 473,
665 0, 624, 0, 0, 0, 618, 619, 0, 549, 552,
666 551, 553, 554, 0, 555, 429, 423, 424, 0, 421,
667 419, 0, 324, 325, 322, 335, 495, 494, 0, 0,
668 490, 0, 0, 340, 337, 347, 2, 3, 4, 5,
669 6, 7, 8, 9, 10, 11, 13, 12, 14, 15,
670 16, 17, 18, 19, 0, 0, 0, 0, 0, 0,
671 463, 462, 464, 461, 0, 427, 186, 161, 162, 163,
672 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
673 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
674 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
675 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
676 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
677 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
678 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
679 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
680 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
681 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
682 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
683 271, 273, 433, 434, 0, 431, 0, 0, 359, 416,
684 486, 484, 483, 485, 514, 0, 515, 513, 0, 487,
685 0, 477, 488, 0, 0, 517, 459, 411, 0, 456,
686 449, 509, 0, 0, 509, 0, 0, 502, 0, 0,
687 0, 601, 0, 0, 600, 42, 0, 0, 0, 0,
688 621, 0, 0, 595, 526, 550, 0, 0, 326, 420,
689 516, 0, 491, 493, 336, 0, 349, 0, 348, 0,
690 338, 0, 0, 503, 369, 362, 370, 0, 371, 507,
691 507, 368, 367, 486, 356, 357, 0, 352, 354, 353,
692 430, 432, 527, 545, 546, 547, 548, 544, 0, 0,
693 531, 624, 536, 538, 539, 612, 24, 0, 0, 481,
694 511, 0, 0, 510, 0, 418, 516, 0, 441, 0,
695 453, 439, 0, 476, 474, 472, 0, 556, 624, 599,
696 0, 535, 624, 0, 620, 0, 596, 593, 617, 425,
697 327, 330, 0, 328, 492, 489, 341, 346, 0, 0,
698 0, 363, 0, 468, 465, 503, 0, 0, 351, 0,
699 0, 0, 533, 0, 479, 0, 480, 449, 446, 0,
700 509, 0, 509, 509, 486, 0, 31, 30, 562, 567,
701 563, 565, 566, 41, 0, 602, 613, 0, 0, 622,
702 612, 598, 0, 332, 0, 350, 339, 0, 504, 0,
703 0, 0, 468, 373, 372, 528, 0, 532, 624, 0,
704 478, 0, 0, 447, 444, 0, 442, 440, 0, 564,
705 587, 573, 596, 588, 0, 0, 624, 568, 624, 0,
706 0, 623, 0, 323, 329, 331, 0, 0, 0, 503,
707 469, 466, 0, 529, 0, 534, 482, 0, 509, 0,
708 624, 0, 583, 0, 615, 614, 603, 557, 0, 508,
709 0, 0, 470, 0, 467, 0, 0, 445, 0, 0,
710 0, 0, 0, 604, 624, 611, 594, 0, 0, 0,
711 503, 0, 449, 0, 589, 0, 487, 585, 560, 558,
712 584, 0, 572, 616, 0, 0, 471, 0, 0, 0,
713 0, 590, 591, 569, 0, 559, 0, 505, 0, 509,
714 624, 0, 624, 586, 0, 530, 443, 0, 570, 592,
715 506, 589, 0, 0, 571
716 };
717
718 /* YYPGOTO[NTERM-NUM]. */
719 static const short int yypgoto[] =
720 {
721 -714, -333, -75, -6, -50, -714, -714, -714, 452, -714,
722 -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
723 -714, -714, -84, -714, -284, -714, -714, -714, -329, -714,
724 -714, 325, -194, 30, -187, -176, -19, -14, -714, -714,
725 -714, 449, -714, -714, 322, -714, -714, -714, -714, 339,
726 -263, -714, -714, -173, -714, -120, -714, -106, 475, 80,
727 -2, 52, -714, -714, -714, -714, -179, -714, -131, -10,
728 -31, -714, -714, 127, -349, -714, -299, -714, 9, -714,
729 -133, -351, -714, -72, -714, 57, -714, -454, -444, 150,
730 -714, -711, -87, -376, -714, -371, -25, -714, 342, -714,
731 -714, 485, -714, -253, -669, -713, -714, -714, 493, -714,
732 128, -392, -714, -391, -684, 96, -258, -714, -714, -685,
733 -714, -714, -365, -400, -714, -714, -714, -300, -714, -403,
734 -402, -397, -714, -714, -714, -714, -714, -714, -212, -21,
735 -689
736 };
737
738 /* YYDEFGOTO[NTERM-NUM]. */
739 static const short int yydefgoto[] =
740 {
741 -1, 712, 618, 163, 348, 602, 26, 27, 28, 29,
742 30, 85, 86, 87, 88, 354, 89, 90, 91, 312,
743 742, 743, 349, 350, 367, 667, 668, 31, 686, 687,
744 32, 95, 673, 674, 675, 33, 34, 35, 36, 37,
745 38, 39, 40, 41, 176, 401, 404, 179, 42, 181,
746 688, 43, 191, 791, 44, 603, 604, 605, 45, 46,
747 47, 98, 410, 49, 411, 50, 412, 413, 414, 51,
748 619, 52, 53, 481, 482, 677, 801, 840, 100, 418,
749 419, 641, 621, 622, 661, 450, 55, 101, 102, 142,
750 638, 753, 377, 395, 623, 166, 438, 168, 169, 393,
751 56, 57, 699, 700, 642, 701, 147, 702, 703, 704,
752 427, 428, 429, 887, 888, 889, 780, 781, 782, 138,
753 872, 890, 824, 900, 901, 430, 652, 792, 431, 902,
754 644, 139, 829, 855, 432, 433, 434, 649, 650, 646,
755 155
756 };
757
758 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
759 positive, shift that token. If negative, reduce the rule whose
760 number is the opposite. If YYTABLE_NINF, syntax error. */
761 static const short int yytable[] =
762 {
763 67, 154, 165, 351, 416, 99, 409, 409, 167, 54,
764 137, 140, 141, 97, 164, 378, 365, 436, 643, 368,
765 170, 626, 653, 679, 645, 624, 442, 645, 478, 479,
766 311, 385, 762, 680, 475, 655, 54, 784, 629, 390,
767 355, 783, 779, 620, 802, 96, 805, 443, 808, 352,
768 379, 162, 48, 380, -387, 186, 187, 188, -387, 659,
769 149, -386, 48, 731, 11, -24, 715, 391, 763, 435,
770 105, 875, 153, 48, 310, 451, 48, 48, 480, 48,
771 180, 454, 656, 477, 99, 366, 369, 371, 798, 160,
772 66, 823, 97, 843, 375, 184, 446, 447, 799, 783,
773 827, 151, 448, 865, 143, 159, 58, 144, 59, 475,
774 182, 145, -387, 146, 449, -387, -387, 48, 475, -386,
775 402, 475, 64, 403, 373, 392, 398, -448, 862, 190,
776 171, 172, 173, 689, 183, 174, 171, 172, 173, 762,
777 185, 174, 353, 628, 374, 189, -507, 99, 175, 734,
778 376, -507, 735, 313, 175, 97, -448, 852, -500, 437,
779 376, 397, 381, 131, 132, 133, 134, 135, 136, 896,
780 384, 666, 415, 415, -438, -457, 382, -457, 417, -381,
781 -500, 869, 891, 177, 4, 5, 783, 96, -382, -500,
782 669, 670, 820, 821, -355, 915, -355, -355, 823, 631,
783 632, -486, 48, -486, -486, 386, 783, 905, 48, 634,
784 635, 760, 761, 387, 655, 891, 767, 768, 679, 783,
785 770, 771, 400, 679, 820, 821, 394, 444, 680, 396,
786 383, 831, 657, 680, 406, 365, 66, 407, 368, 822,
787 439, 917, 370, 372, 455, 476, 607, 1, 2, 3,
788 4, 5, 6, 7, 8, 718, 477, 484, 721, 608,
789 9, 654, 609, 485, 708, 60, 627, 709, 162, 630,
790 440, 659, 11, 633, 636, 121, 122, 123, 124, 125,
791 126, 127, 128, 129, 365, 723, 637, 368, 657, 744,
792 365, 658, 663, 368, 671, 713, 716, 719, 725, 722,
793 445, 676, 727, 726, 366, 728, 729, 121, 122, 123,
794 124, 125, 126, 127, 128, 129, 420, 421, 422, 423,
795 424, 730, 425, 426, 731, 785, 732, 61, 62, 63,
796 64, 645, 737, 475, 22, 733, 475, 475, 736, 748,
797 420, 421, 422, 423, 424, 769, 425, 426, 745, 746,
798 747, 750, 758, 366, 752, 759, 772, 773, 453, 366,
799 765, 766, 793, 815, 794, 692, 150, 797, 800, 825,
800 806, 625, 809, 826, 828, 778, 818, -597, 165, 832,
801 365, 836, 837, 368, 167, 838, 841, 847, 857, 639,
802 164, 647, 848, 651, 814, 850, 816, 817, 856, 365,
803 365, 858, 368, 368, 859, 860, 861, 803, 804, 863,
804 864, 866, 810, 868, 881, 878, 871, 648, 873, 882,
805 420, 421, 422, 423, 424, 854, 425, 426, 874, 879,
806 884, 645, 397, 778, 660, 883, 892, 730, 894, 707,
807 895, 897, 908, 904, 906, 907, 665, 681, 682, 366,
808 909, 717, 910, 912, 409, 911, 876, 409, 689, 914,
809 846, 877, 475, 475, 795, 796, 918, 99, 366, 366,
810 920, 893, 867, 921, 851, 97, 923, 645, 924, 161,
811 845, 143, 388, 755, 144, 751, 678, 645, 145, 178,
812 146, 693, 694, 695, 696, 697, 676, 389, 691, 158,
813 405, 676, 720, 842, 724, 662, 152, 483, 807, 919,
814 399, 698, 148, 913, 606, 645, 640, 819, 899, 885,
815 778, 922, 849, 789, 645, 1, 2, 3, 4, 5,
816 6, 7, 8, 916, 0, 0, 0, 0, 9, 0,
817 778, 0, 0, 10, 0, 0, 0, 0, 0, 0,
818 11, 12, 13, 778, 0, 0, 0, 0, 0, 0,
819 788, 0, 14, 0, 0, 0, 1, 2, 3, 4,
820 5, 6, 7, 8, 0, 0, 0, 0, 0, 9,
821 0, 0, 0, 0, 60, 0, 0, 143, 812, 0,
822 144, 409, 756, 757, 145, 0, 146, 693, 694, 695,
823 696, 697, 0, 0, 15, 16, 17, 18, 19, 20,
824 21, 0, 22, 0, 0, 0, 0, 0, 714, 0,
825 415, 0, 0, 415, 0, 0, 739, 0, 0, 0,
826 0, 417, 0, 0, 0, 625, 0, 23, 0, 0,
827 0, 0, 24, 0, 25, 165, 61, 62, 63, 0,
828 0, 167, 741, 0, 0, 0, 0, 164, 0, 0,
829 0, 0, 99, 0, 0, 0, 0, 99, 0, 0,
830 97, 0, 375, 365, 365, 97, 368, 368, 0, 0,
831 0, 678, 0, 0, 0, 0, 678, 0, 164, 0,
832 0, 625, 0, 0, 0, 0, 0, 0, 0, 786,
833 0, 0, 437, 898, 0, 437, 409, 0, 0, 833,
834 0, 787, 1, 2, 3, 4, 5, 6, 7, 8,
835 0, 0, 0, 0, 0, 9, 0, 0, 0, 648,
836 60, 0, 0, 0, 0, 0, 0, 11, 0, 0,
837 0, 0, 366, 366, 0, 0, 1, 2, 3, 4,
838 5, 6, 7, 8, 0, 0, 830, 415, 0, 9,
839 68, 0, 0, 714, 60, 0, 0, 0, 0, 839,
840 0, 11, 681, 682, 0, 0, 0, 0, 0, 754,
841 0, 0, 0, 0, 0, 0, 0, 844, 835, 0,
842 0, 437, 61, 62, 63, 64, 69, 70, 71, 72,
843 73, 74, 75, 76, 77, 78, 79, 80, 0, 81,
844 82, 83, 84, 0, 0, 0, 0, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 92, 93, 18, 64,
846 738, 65, 880, 0, 0, 0, 0, 0, 0, 0,
847 886, 456, 457, 458, 459, 460, 461, 462, 463, 464,
848 465, 466, 467, 468, 469, 470, 471, 472, 473, 0,
849 0, 0, 0, 672, 711, 0, 0, 0, 0, 0,
850 0, 192, 415, 886, 193, 194, 195, 196, 197, 198,
851 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
852 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
853 219, 0, 220, 221, 222, 223, 224, 225, 226, 227,
854 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
855 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
856 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
857 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
858 268, 0, 269, 0, 270, 271, 272, 273, 274, 275,
859 276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
860 286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
861 296, 297, 298, 299, 300, 301, 302, 303, 0, 0,
862 304, 0, 305, 306, 307, 308, 309, 192, 0, 0,
863 314, 194, 195, 196, 197, 198, 199, 200, 201, 315,
864 203, 204, 205, 206, 316, 317, 209, 210, 211, 318,
865 213, 214, 215, 216, 217, 218, 219, 0, 220, 221,
866 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
867 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
868 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
869 252, 253, 254, 319, 320, 321, 322, 323, 260, 261,
870 262, 263, 264, 265, 266, 267, 268, 0, 269, 0,
871 270, 271, 272, 273, 274, 324, 276, 325, 326, 327,
872 328, 329, 330, 283, 331, 285, 286, 332, 333, 334,
873 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
874 345, 346, 347, 303, 0, 0, 304, 0, 305, 306,
875 307, 308, 309, 486, 0, 0, 487, 488, 489, 490,
876 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
877 501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
878 511, 512, 513, 0, 514, 515, 516, 517, 518, 384,
879 690, 519, 520, 521, 522, 523, 524, 525, 526, 527,
880 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
881 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
882 548, 549, 550, 551, 552, 553, 554, 555, 556, 557,
883 558, 559, 560, 0, 561, 0, 562, 563, 564, 565,
884 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
885 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
886 586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
887 0, 0, 596, 0, 597, 598, 599, 600, 601, 486,
888 0, 0, 487, 488, 489, 490, 491, 492, 493, 494,
889 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
890 505, 506, 507, 508, 509, 510, 511, 512, 513, 0,
891 514, 515, 516, 517, 518, 384, 0, 519, 520, 521,
892 522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
893 532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
894 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
895 552, 553, 554, 555, 556, 557, 558, 559, 560, 0,
896 561, 0, 562, 563, 564, 565, 566, 567, 568, 569,
897 570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
898 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
899 590, 591, 592, 593, 594, 595, 103, 0, 596, 0,
900 597, 598, 599, 600, 601, 104, 0, 0, 0, 0,
901 105, 106, 610, 0, 0, 107, 611, 0, 612, 0,
902 613, 358, 614, 0, 0, 615, 0, 0, 0, 0,
903 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
904 360, 361, 162, 9, 0, 0, 0, 0, 60, 0,
905 0, 0, 0, 362, 363, 11, 0, 0, 0, 108,
906 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 616, 113, 0, 114, 115, 116, 117, 118, 119, 0,
909 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
910 128, 129, 130, 131, 132, 133, 134, 135, 136, 0,
911 92, 93, 18, 64, 0, 0, 0, 617, 1, 2,
912 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
913 0, 9, 0, 0, 0, 0, 60, 0, 0, -33,
914 0, 0, 0, 11, 0, 0, 0, 94, -33, 0,
915 0, 0, 0, -33, -33, 0, 0, 0, -33, 0,
916 0, -33, -33, -33, -33, 0, 0, 0, -33, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, -33, -33, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, -33, -33, 92, 93,
920 18, 64, -33, -33, -33, -33, -33, 0, 0, 0,
921 0, 0, 0, 0, -33, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, -33, 0, -33, -33, -33, -33,
923 -33, -33, 0, -33, 0, 672, -33, -33, -33, -33,
924 -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
925 -33, -33, -34, 0, -33, 0, 0, 0, 0, 0,
926 0, -34, 0, 0, 0, 0, -34, -34, 0, 0,
927 0, -34, 0, 0, -34, -34, -34, -34, 0, 0,
928 0, -34, 0, 0, 0, 0, 0, 0, 1, 2,
929 3, 4, 5, 6, 7, 8, -34, -34, 0, 0,
930 0, 9, 0, 0, 0, 0, 60, 0, 0, -34,
931 -34, 0, 0, 11, 0, -34, -34, -34, -34, -34,
932 0, 0, 0, 0, 0, 0, 0, -34, 0, 0,
933 0, 0, 0, 0, 0, 0, 0, -34, 0, -34,
934 -34, -34, -34, -34, -34, 0, -34, 0, 0, -34,
935 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
936 -34, -34, -34, -34, -34, -57, 0, -34, 61, 62,
937 63, 64, 0, 0, -57, 0, 0, 0, 0, -57,
938 -57, 0, 0, 0, -57, 0, 0, -57, -57, -57,
939 -57, 0, 0, 0, -57, 0, 0, 0, 0, 0,
940 0, 1, 2, 3, 4, 5, 6, 7, 8, -57,
941 -57, 0, 0, 0, 9, 0, 0, 0, 0, 60,
942 0, 0, -57, -57, 0, 0, 11, 0, -57, -57,
943 -57, -57, -57, 0, 0, 0, 0, 0, 0, 0,
944 -57, 0, 0, 0, 0, 0, 0, 0, 0, 0,
945 -57, 0, -57, -57, -57, -57, -57, -57, 0, -57,
946 0, 0, -57, -57, -57, -57, -57, -57, -57, -57,
947 -57, -57, -57, -57, -57, -57, -57, -57, -58, 0,
948 -612, 92, 93, 18, 64, 0, 0, -58, 0, 0,
949 0, 0, -58, -58, 0, 0, 0, -58, 0, 0,
950 -58, -58, -58, -58, 0, 0, 0, -58, 0, 0,
951 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
952 7, 8, -58, -58, 0, 0, 0, 9, 0, 0,
953 0, 0, 60, 0, 0, -58, -58, 0, 0, 11,
954 0, -58, -58, -58, -58, -58, 0, 0, 0, 0,
955 0, 0, 0, -58, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, -58, 0, -58, -58, -58, -58, -58,
957 -58, 0, -58, 0, 0, -58, -58, -58, -58, -58,
958 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
959 -58, -24, 0, -573, 61, 62, 63, 64, 0, 0,
960 -24, 0, 0, 0, 0, -24, -24, 0, 0, 0,
961 -24, 0, 0, -24, -24, -24, -24, 0, 0, 0,
962 -24, 0, 0, 0, 0, 0, 0, 1, 2, 3,
963 4, 5, 6, 7, 8, -24, -24, 0, 0, 0,
964 408, 0, 0, 0, 0, 60, 0, 0, -24, -24,
965 0, 0, 11, 0, -24, -24, -24, -24, -24, 0,
966 0, 0, 0, 0, 0, 0, -24, 0, 0, 0,
967 0, 0, 0, 0, 0, 0, -24, 0, -24, -24,
968 -24, -24, -24, -24, 0, -24, 0, 0, -24, -24,
969 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
970 -24, -24, -24, -24, -39, 0, -24, 61, 62, 63,
971 64, 0, 0, -39, 0, 0, 0, 0, -39, -39,
972 0, 0, 0, -39, 0, 0, -39, -39, -39, -39,
973 0, 0, 0, -39, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, -39, -39,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, -39, -39, 0, 0, 0, 0, -39, -39, -39,
977 -39, -39, 0, 0, 0, 0, 0, 0, 0, -39,
978 0, 0, 0, 0, 0, 0, 0, 0, 0, -39,
979 0, -39, -39, -39, -39, -39, -39, 0, -39, 0,
980 0, -39, -39, -39, -39, -39, -39, -39, -39, -39,
981 -39, -39, -39, -39, -39, -39, -39, -38, 0, -39,
982 0, 0, 0, 0, 0, 0, -38, 0, 0, 0,
983 0, -38, -38, 0, 0, 0, -38, 0, 0, -38,
984 -38, -38, -38, 0, 0, 0, -38, 0, 0, 0,
985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
986 0, -38, -38, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, -38, -38, 0, 0, 0, 0,
988 -38, -38, -38, -38, -38, 0, 0, 0, 0, 0,
989 0, 0, -38, 0, 0, 0, 0, 0, 0, 0,
990 0, 0, -38, 0, -38, -38, -38, -38, -38, -38,
991 0, -38, 0, 0, -38, -38, -38, -38, -38, -38,
992 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
993 -37, 0, -38, 0, 0, 0, 0, 0, 0, -37,
994 0, 0, 0, 0, -37, -37, 0, 0, 0, -37,
995 0, 0, -37, -37, -37, -37, 0, 0, 0, -37,
996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, -37, -37, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, -37, -37, 0,
999 0, 0, 0, -37, -37, -37, -37, -37, 0, 0,
1000 0, 0, 0, 0, 0, -37, 0, 0, 0, 0,
1001 0, 0, 0, 0, 0, -37, 0, -37, -37, -37,
1002 -37, -37, -37, 0, -37, 0, 0, -37, -37, -37,
1003 -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
1004 -37, -37, -37, -35, 0, -37, 0, 0, 0, 0,
1005 0, 0, -35, 0, 0, 0, 0, -35, -35, 0,
1006 0, 0, -35, 0, 0, -35, -35, -35, -35, 0,
1007 0, 0, -35, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, -35, -35, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 -35, -35, 0, 0, 0, 0, -35, -35, -35, -35,
1011 -35, 0, 0, 0, 0, 0, 0, 0, -35, 0,
1012 0, 0, 0, 0, 0, 0, 0, 0, -35, 0,
1013 -35, -35, -35, -35, -35, -35, 0, -35, 0, 0,
1014 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
1015 -35, -35, -35, -35, -35, -35, -36, 0, -35, 0,
1016 0, 0, 0, 0, 0, -36, 0, 0, 0, 0,
1017 -36, -36, 0, 0, 0, -36, 0, 0, -36, -36,
1018 -36, -36, 0, 0, 0, -36, 0, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 -36, -36, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, -36, -36, 0, 0, 0, 0, -36,
1022 -36, -36, -36, -36, 0, 0, 0, 0, 0, 0,
1023 0, -36, 0, 0, 0, 0, 0, 0, 0, 0,
1024 0, -36, 0, -36, -36, -36, -36, -36, -36, 0,
1025 -36, 0, 0, -36, -36, -36, -36, -36, -36, -36,
1026 -36, -36, -36, -36, -36, -36, -36, -36, -36, -32,
1027 0, -36, 0, 0, 0, 0, 0, 0, -32, 0,
1028 0, 0, 0, -32, -32, 0, 0, 0, -32, 0,
1029 0, -32, -32, -32, -32, 0, 0, 0, -32, 0,
1030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, -32, -32, 0, 0, 0, 0, 0,
1032 0, 0, 0, 0, 0, 0, -32, -32, 0, 0,
1033 0, 0, -32, -32, -32, -32, -32, 0, 0, 0,
1034 0, 0, 0, 0, -32, 0, 0, 0, 0, 0,
1035 0, 0, 0, 0, -32, 0, -32, -32, -32, -32,
1036 -32, -32, 0, -32, 0, 0, -32, -32, -32, -32,
1037 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
1038 -32, -32, -31, 0, -32, 0, 0, 0, 0, 0,
1039 0, -31, 0, 0, 0, 0, -31, -31, 0, 0,
1040 0, -31, 0, 0, -31, -31, -31, -31, 0, 0,
1041 0, -31, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, -31, -31, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0, 0, -31,
1044 -31, 0, 0, 0, 0, -31, -31, -31, -31, -31,
1045 0, 0, 0, 0, 0, 0, 0, -31, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, -31, 0, -31,
1047 -31, -31, -31, -31, -31, 0, -31, 0, 0, -31,
1048 -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
1049 -31, -31, -31, -31, -31, -25, 0, -31, 0, 0,
1050 0, 0, 0, 0, -25, 0, 0, 0, 0, -25,
1051 -25, 0, 0, 0, -25, 0, 0, -25, -25, -25,
1052 -25, 0, 0, 0, -25, 0, 0, 0, 0, 0,
1053 0, 0, 0, 0, 0, 0, 0, 0, 0, -25,
1054 -25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1055 0, 0, -25, -25, 0, 0, 0, 0, -25, -25,
1056 -25, -25, -25, 0, 0, 0, 0, 0, 0, 0,
1057 -25, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1058 -25, 0, -25, -25, -25, -25, -25, -25, 0, -25,
1059 0, 0, -25, -25, -25, -25, -25, -25, -25, -25,
1060 -25, -25, -25, -25, -25, -25, -25, -25, -29, 0,
1061 -25, 0, 0, 0, 0, 0, 0, -29, 0, 0,
1062 0, 0, -29, -29, 0, 0, 0, -29, 0, 0,
1063 -29, -29, -29, -29, 0, 0, 0, -29, 0, 0,
1064 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1065 0, 0, -29, -29, 0, 0, 0, 0, 0, 0,
1066 0, 0, 0, 0, 0, -29, -29, 0, 0, 0,
1067 0, -29, -29, -29, -29, -29, 0, 0, 0, 0,
1068 0, 0, 0, -29, 0, 0, 0, 0, 0, 0,
1069 0, 0, 0, -29, 0, -29, -29, -29, -29, -29,
1070 -29, 0, -29, 0, 0, -29, -29, -29, -29, -29,
1071 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29,
1072 -29, -28, 0, -29, 0, 0, 0, 0, 0, 0,
1073 -28, 0, 0, 0, 0, -28, -28, 0, 0, 0,
1074 -28, 0, 0, -28, -28, -28, -28, 0, 0, 0,
1075 -28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1076 0, 0, 0, 0, 0, -28, -28, 0, 0, 0,
1077 0, 0, 0, 0, 0, 0, 0, 0, -28, -28,
1078 0, 0, 0, 0, -28, -28, -28, -28, -28, 0,
1079 0, 0, 0, 0, 0, 0, -28, 0, 0, 0,
1080 0, 0, 0, 0, 0, 0, -28, 0, -28, -28,
1081 -28, -28, -28, -28, 0, -28, 0, 0, -28, -28,
1082 -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
1083 -28, -28, -28, -28, -26, 0, -28, 0, 0, 0,
1084 0, 0, 0, -26, 0, 0, 0, 0, -26, -26,
1085 0, 0, 0, -26, 0, 0, -26, -26, -26, -26,
1086 0, 0, 0, -26, 0, 0, 0, 0, 0, 0,
1087 0, 0, 0, 0, 0, 0, 0, 0, -26, -26,
1088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1089 0, -26, -26, 0, 0, 0, 0, -26, -26, -26,
1090 -26, -26, 0, 0, 0, 0, 0, 0, 0, -26,
1091 0, 0, 0, 0, 0, 0, 0, 0, 0, -26,
1092 0, -26, -26, -26, -26, -26, -26, 0, -26, 0,
1093 0, -26, -26, -26, -26, -26, -26, -26, -26, -26,
1094 -26, -26, -26, -26, -26, -26, -26, -27, 0, -26,
1095 0, 0, 0, 0, 0, 0, -27, 0, 0, 0,
1096 0, -27, -27, 0, 0, 0, -27, 0, 0, -27,
1097 -27, -27, -27, 0, 0, 0, -27, 0, 0, 0,
1098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099 0, -27, -27, 0, 0, 0, 0, 0, 0, 0,
1100 0, 0, 0, 0, -27, -27, 0, 0, 0, 0,
1101 -27, -27, -27, -27, -27, 0, 0, 0, 0, 0,
1102 0, 0, -27, 0, 0, 0, 0, 0, 0, 0,
1103 0, 0, -27, 0, -27, -27, -27, -27, -27, -27,
1104 0, -27, 0, 0, -27, -27, -27, -27, -27, -27,
1105 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
1106 -40, 0, -27, 0, 0, 0, 0, 0, 0, -40,
1107 0, 0, 0, 0, -40, -40, 0, 0, 0, -40,
1108 0, 0, -40, -40, -40, -40, 0, 0, 0, -40,
1109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110 0, 0, 0, 0, -40, -40, 0, 0, 0, 0,
1111 0, 0, 0, 0, 0, 0, 0, -40, -40, 0,
1112 0, 0, 0, -40, -40, -40, -40, -40, 0, 0,
1113 0, 0, 0, 0, 0, -40, 0, 0, 0, 0,
1114 0, 0, 0, 0, 0, -40, 0, -40, -40, -40,
1115 -40, -40, -40, 0, -40, 0, 0, -40, -40, -40,
1116 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
1117 -40, -40, -40, -135, 0, -40, 0, 0, 0, 0,
1118 0, 0, -135, 0, 0, 0, 0, -135, -135, 0,
1119 0, 0, -135, 0, 0, -135, -135, -135, -135, 0,
1120 0, 0, -135, 0, 0, 0, 0, 0, 0, 0,
1121 0, 0, 0, 0, 0, 0, 0, -135, -135, 0,
1122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123 -135, -135, 0, 0, 0, 0, -135, -135, -135, -135,
1124 -135, 0, 0, 0, 0, 0, 0, 0, -135, 0,
1125 0, 0, 0, 0, 0, 0, 0, 0, -135, 0,
1126 -135, -135, -135, -135, -135, -135, 0, -135, 0, 0,
1127 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
1128 -135, -135, -135, -135, -135, -135, -136, 0, -581, 0,
1129 0, 0, 0, 0, 0, -136, 0, 0, 0, 0,
1130 -136, -136, 0, 0, 0, -136, 0, 0, -136, -136,
1131 -136, -136, 0, 0, 0, -136, 0, 0, 0, 0,
1132 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1133 -136, -136, 0, 0, 0, 0, 0, 0, 0, 0,
1134 0, 0, 0, -136, -136, 0, 0, 0, 0, -136,
1135 -136, -136, -136, -136, 0, 0, 0, 0, 0, 0,
1136 0, -136, 0, 0, 0, 0, 0, 0, 0, 0,
1137 0, -136, 0, -136, -136, -136, -136, -136, -136, 0,
1138 -136, 0, 0, -136, -136, -136, -136, -136, -136, -136,
1139 -136, -136, -136, -136, -136, -136, -136, -136, -136, -137,
1140 0, -580, 0, 0, 0, 0, 0, 0, -137, 0,
1141 0, 0, 0, -137, -137, 0, 0, 0, -137, 0,
1142 0, -137, -137, -137, -137, 0, 0, 0, -137, 0,
1143 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1144 0, 0, 0, -137, -137, 0, 0, 0, 0, 0,
1145 0, 0, 0, 0, 0, 0, -137, -137, 0, 0,
1146 0, 0, -137, -137, -137, -137, -137, 0, 0, 0,
1147 0, 0, 0, 0, -137, 0, 0, 0, 0, 0,
1148 0, 0, 0, 0, -137, 0, -137, -137, -137, -137,
1149 -137, -137, 0, -137, 0, 0, -137, -137, -137, -137,
1150 -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1151 -137, -137, -138, 0, -578, 0, 0, 0, 0, 0,
1152 0, -138, 0, 0, 0, 0, -138, -138, 0, 0,
1153 0, -138, 0, 0, -138, -138, -138, -138, 0, 0,
1154 0, -138, 0, 0, 0, 0, 0, 0, 0, 0,
1155 0, 0, 0, 0, 0, 0, -138, -138, 0, 0,
1156 0, 0, 0, 0, 0, 0, 0, 0, 0, -138,
1157 -138, 0, 0, 0, 0, -138, -138, -138, -138, -138,
1158 0, 0, 0, 0, 0, 0, 0, -138, 0, 0,
1159 0, 0, 0, 0, 0, 0, 0, -138, 0, -138,
1160 -138, -138, -138, -138, -138, 0, -138, 0, 0, -138,
1161 -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1162 -138, -138, -138, -138, -138, -139, 0, -576, 0, 0,
1163 0, 0, 0, 0, -139, 0, 0, 0, 0, -139,
1164 -139, 0, 0, 0, -139, 0, 0, -139, -139, -139,
1165 -139, 0, 0, 0, -139, 0, 0, 0, 0, 0,
1166 0, 0, 0, 0, 0, 0, 0, 0, 0, -139,
1167 -139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1168 0, 0, -139, -139, 0, 0, 0, 0, -139, -139,
1169 -139, -139, -139, 0, 0, 0, 0, 0, 0, 0,
1170 -139, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1171 -139, 0, -139, -139, -139, -139, -139, -139, 0, -139,
1172 0, 0, -139, -139, -139, -139, -139, -139, -139, -139,
1173 -139, -139, -139, -139, -139, -139, -139, -139, -140, 0,
1174 -577, 0, 0, 0, 0, 0, 0, -140, 0, 0,
1175 0, 0, -140, -140, 0, 0, 0, -140, 0, 0,
1176 -140, -140, -140, -140, 0, 0, 0, -140, 0, 0,
1177 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1178 0, 0, -140, -140, 0, 0, 0, 0, 0, 0,
1179 0, 0, 0, 0, 0, -140, -140, 0, 0, 0,
1180 0, -140, -140, -140, -140, -140, 0, 0, 0, 0,
1181 0, 0, 0, -140, 0, 0, 0, 0, 0, 0,
1182 0, 0, 0, -140, 0, -140, -140, -140, -140, -140,
1183 -140, 0, -140, 0, 0, -140, -140, -140, -140, -140,
1184 -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1185 -140, -141, 0, -579, 0, 0, 0, 0, 0, 0,
1186 -141, 0, 0, 0, 0, -141, -141, 0, 0, 0,
1187 -141, 0, 0, -141, -141, -141, -141, 0, 0, 0,
1188 -141, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1189 0, 0, 0, 0, 0, -141, -141, 0, 0, 0,
1190 0, 0, 0, 0, 0, 0, 0, 0, -141, -141,
1191 0, 0, 0, 0, -141, -141, -141, -141, -141, 0,
1192 0, 0, 0, 0, 0, 0, -141, 0, 0, 0,
1193 0, 0, 0, 0, 0, 0, -141, 0, -141, -141,
1194 -141, -141, -141, -141, 0, -141, 0, 0, -141, -141,
1195 -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1196 -141, -141, -141, -141, -142, 0, -575, 0, 0, 0,
1197 0, 0, 0, -142, 0, 0, 0, 0, -142, -142,
1198 0, 0, 0, -142, 0, 0, -142, -142, -142, -142,
1199 0, 0, 0, -142, 0, 0, 0, 0, 0, 0,
1200 0, 0, 0, 0, 0, 0, 0, 0, -142, -142,
1201 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1202 0, -142, -142, 0, 0, 0, 0, -142, -142, -142,
1203 -142, -142, 0, 0, 0, 0, 0, 0, 0, -142,
1204 0, 0, 0, 0, 0, 0, 0, 0, 0, -142,
1205 0, -142, -142, -142, -142, -142, -142, 0, -142, 0,
1206 0, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1207 -142, -142, -142, -142, -142, -142, -142, -143, 0, -574,
1208 0, 0, 0, 0, 0, 0, -143, 0, 0, 0,
1209 0, -143, -143, 0, 0, 0, -143, 0, 0, -143,
1210 -143, -143, -143, 0, 0, 0, -143, 0, 0, 0,
1211 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1212 0, -143, -143, 0, 0, 0, 0, 0, 0, 0,
1213 0, 0, 0, 0, -143, -143, 0, 0, 0, 0,
1214 -143, -143, -143, -143, -143, 0, 0, 0, 0, 0,
1215 0, 0, -143, 0, 0, 0, 0, 0, 0, 0,
1216 0, 0, -143, 0, -143, -143, -143, -143, -143, -143,
1217 0, -143, 0, 0, -143, -143, -143, -143, -143, -143,
1218 -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1219 -30, 0, -582, 0, 0, 0, 0, 0, 0, -30,
1220 0, 0, 0, 0, -30, -30, 0, 0, 0, -30,
1221 0, 0, -30, -30, -30, -30, 0, 0, 0, -30,
1222 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1223 0, 0, 0, 0, -30, -30, 0, 0, 0, 0,
1224 0, 0, 0, 0, 0, 0, 0, -30, -30, 0,
1225 0, 0, 0, -30, -30, -30, -30, -30, 0, 0,
1226 0, 0, 0, 0, 0, -30, 0, 0, 0, 0,
1227 0, 0, 0, 0, 0, -30, 0, -30, -30, -30,
1228 -30, -30, -30, 0, -30, 0, 0, -30, -30, -30,
1229 -30, -30, -30, -30, -30, -30, -30, -30, -30, -30,
1230 -30, -30, -30, -145, 0, -30, 0, 0, 0, 0,
1231 0, 0, -145, 0, 0, 0, 0, -145, -145, 0,
1232 0, 0, -145, 0, 0, -145, -145, -145, -145, 0,
1233 0, 0, -145, 0, 0, 0, 0, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, -145, -145, 0,
1235 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236 -145, -145, 0, 0, 0, 0, -145, -145, -145, -145,
1237 -145, 0, 0, 0, 0, 0, 0, 0, -145, 0,
1238 0, 0, 0, 0, 0, 0, 0, 0, -145, 0,
1239 -145, -145, -145, -145, -145, -145, 0, -145, 0, 0,
1240 -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1241 -145, -145, -145, -145, -145, -145, -146, 0, -610, 0,
1242 0, 0, 0, 0, 0, -146, 0, 0, 0, 0,
1243 -146, -146, 0, 0, 0, -146, 0, 0, -146, -146,
1244 -146, -146, 0, 0, 0, -146, 0, 0, 0, 0,
1245 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1246 -146, -146, 0, 0, 0, 0, 0, 0, 0, 0,
1247 0, 0, 0, -146, -146, 0, 0, 0, 0, -146,
1248 -146, -146, -146, -146, 0, 0, 0, 0, 0, 0,
1249 0, -146, 0, 0, 0, 0, 0, 0, 0, 0,
1250 0, -146, 0, -146, -146, -146, -146, -146, -146, 0,
1251 -146, 0, 0, -146, -146, -146, -146, -146, -146, -146,
1252 -146, -146, -146, -146, -146, -146, -146, -146, -146, -147,
1253 0, -608, 0, 0, 0, 0, 0, 0, -147, 0,
1254 0, 0, 0, -147, -147, 0, 0, 0, -147, 0,
1255 0, -147, -147, -147, -147, 0, 0, 0, -147, 0,
1256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1257 0, 0, 0, -147, -147, 0, 0, 0, 0, 0,
1258 0, 0, 0, 0, 0, 0, -147, -147, 0, 0,
1259 0, 0, -147, -147, -147, -147, -147, 0, 0, 0,
1260 0, 0, 0, 0, -147, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, -147, 0, -147, -147, -147, -147,
1262 -147, -147, 0, -147, 0, 0, -147, -147, -147, -147,
1263 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1264 -147, -147, -148, 0, -607, 0, 0, 0, 0, 0,
1265 0, -148, 0, 0, 0, 0, -148, -148, 0, 0,
1266 0, -148, 0, 0, -148, -148, -148, -148, 0, 0,
1267 0, -148, 0, 0, 0, 0, 0, 0, 0, 0,
1268 0, 0, 0, 0, 0, 0, -148, -148, 0, 0,
1269 0, 0, 0, 0, 0, 0, 0, 0, 0, -148,
1270 -148, 0, 0, 0, 0, -148, -148, -148, -148, -148,
1271 0, 0, 0, 0, 0, 0, 0, -148, 0, 0,
1272 0, 0, 0, 0, 0, 0, 0, -148, 0, -148,
1273 -148, -148, -148, -148, -148, 0, -148, 0, 0, -148,
1274 -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1275 -148, -148, -148, -148, -148, -149, 0, -609, 0, 0,
1276 0, 0, 0, 0, -149, 0, 0, 0, 0, -149,
1277 -149, 0, 0, 0, -149, 0, 0, -149, -149, -149,
1278 -149, 0, 0, 0, -149, 0, 0, 0, 0, 0,
1279 0, 0, 0, 0, 0, 0, 0, 0, 0, -149,
1280 -149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1281 0, 0, -149, -149, 0, 0, 0, 0, -149, -149,
1282 -149, -149, -149, 0, 0, 0, 0, 0, 0, 0,
1283 -149, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1284 -149, 0, -149, -149, -149, -149, -149, -149, 0, -149,
1285 0, 0, -149, -149, -149, -149, -149, -149, -149, -149,
1286 -149, -149, -149, -149, -149, -149, -149, -149, -150, 0,
1287 -606, 0, 0, 0, 0, 0, 0, -150, 0, 0,
1288 0, 0, -150, -150, 0, 0, 0, -150, 0, 0,
1289 -150, -150, -150, -150, 0, 0, 0, -150, 0, 0,
1290 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1291 0, 0, -150, -150, 0, 0, 0, 0, 0, 0,
1292 0, 0, 0, 0, 0, -150, -150, 0, 0, 0,
1293 0, -150, -150, -150, -150, -150, 0, 0, 0, 0,
1294 0, 0, 0, -150, 0, 0, 0, 0, 0, 0,
1295 0, 0, 0, -150, 0, -150, -150, -150, -150, -150,
1296 -150, 0, -150, 0, 0, -150, -150, -150, -150, -150,
1297 -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1298 -150, 103, 0, -605, 0, 0, 0, 0, 0, 0,
1299 104, 0, 0, 0, 0, 105, 106, 0, 0, 0,
1300 107, 0, 0, 356, 440, 357, 358, 0, 0, 0,
1301 359, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1302 0, 0, 0, 0, 0, 360, 361, 0, 0, 0,
1303 0, 0, 0, 0, 0, 0, 0, 0, 362, 363,
1304 0, 0, 0, 0, 108, 109, 110, 111, 112, 0,
1305 0, 0, 0, 0, 0, 0, 364, 0, 0, 0,
1306 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1307 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1308 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1309 133, 134, 135, 136, -573, 0, 441, 0, 0, 0,
1310 0, 0, 0, -573, 0, 0, 0, 0, -573, -573,
1311 0, 0, 0, -573, 0, 0, 0, 0, 0, 0,
1312 -573, -573, -573, -573, -573, -573, -573, -573, -573, -573,
1313 -573, -573, 0, -573, -573, -573, -573, -573, -573, -573,
1314 -573, -573, -573, -573, -573, -573, -573, -573, -573, -573,
1315 -573, 0, 0, 0, 0, 0, -573, -573, -573, -573,
1316 -573, -573, 1, 2, 3, 4, 5, 6, 7, 8,
1317 0, 0, 0, 0, 0, 9, 0, 0, -573, -573,
1318 156, -573, -573, -573, -573, -573, -573, 11, -573, 0,
1319 0, -573, -573, -573, -573, -573, -573, -573, -573, -573,
1320 -573, -573, -573, -573, -573, -573, -573, 103, 1, 2,
1321 3, 4, 5, 6, 7, 8, 104, 0, 0, 0,
1322 0, 705, 106, 610, 0, 0, 706, 611, 0, 612,
1323 0, 613, 358, 11, 0, 0, 615, 0, 0, 0,
1324 0, 157, 61, 62, 63, 64, 0, 0, 0, 0,
1325 0, 360, 361, 162, 0, 0, 0, 0, 0, 0,
1326 0, 0, 0, 0, 362, 363, 0, 0, 0, 0,
1327 108, 109, 110, 111, 112, 0, 0, 0, 0, 0,
1328 0, 0, 0, 0, 0, 0, 0, 0, 61, 62,
1329 63, 64, 113, 0, 114, 115, 116, 117, 118, 119,
1330 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1331 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1332 103, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1333 0, 0, 0, 0, 105, 106, 683, 684, 685, 107,
1334 611, 0, 612, 440, 613, 358, 0, 0, 0, 615,
1335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1336 0, 0, 0, 0, 360, 361, 162, 0, 0, 0,
1337 0, 0, 0, 0, 0, 0, 0, 362, 363, 0,
1338 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1339 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1340 0, 0, 0, 0, 0, 113, 0, 114, 115, 116,
1341 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1342 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1343 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1344 0, 0, 104, 0, 0, 0, 0, 105, 106, 774,
1345 0, 0, 107, 611, 0, 612, 0, 613, 358, 0,
1346 0, 0, 615, 0, 0, 0, 0, 0, 0, 0,
1347 0, 0, 0, 0, 153, 0, 0, 360, 361, 162,
1348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349 362, 363, 0, 0, 0, 0, 108, 109, 110, 111,
1350 112, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1351 0, 0, 0, 0, 0, 0, 0, 0, 113, 775,
1352 776, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1353 121, 122, 123, 124, 125, 126, 127, 128, 129, 777,
1354 131, 132, 133, 134, 135, 136, 103, 0, 0, 0,
1355 0, 0, 0, 0, 0, 104, 0, 0, 0, 0,
1356 105, 106, 610, 0, 0, 107, 611, 0, 612, 0,
1357 613, 358, 0, 0, 0, 615, 0, 0, 0, 0,
1358 0, 0, 0, 0, 0, 0, 0, 153, 0, 0,
1359 360, 361, 162, 0, 0, 0, 0, 0, 0, 0,
1360 0, 0, 0, 362, 363, 0, 0, 853, 0, 108,
1361 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363 0, 113, 0, 114, 115, 116, 117, 118, 119, 0,
1364 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1365 128, 129, 130, 131, 132, 133, 134, 135, 136, 103,
1366 0, 0, 0, 0, 0, 0, 0, 0, 104, 0,
1367 0, 0, 0, 105, 106, 610, 0, 0, 107, 611,
1368 -624, 612, 0, 613, 358, 0, 0, 0, 615, 0,
1369 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1370 153, 0, 0, 360, 361, 162, 0, 0, 0, 0,
1371 0, 0, 0, 0, 0, 0, 362, 363, 0, 0,
1372 0, 0, 108, 109, 110, 111, 112, 0, 0, 0,
1373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374 0, 0, 0, 0, 113, 0, 114, 115, 116, 117,
1375 118, 119, 0, 120, 0, 0, 121, 122, 123, 124,
1376 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1377 135, 136, 103, 0, 0, 0, 0, 0, 0, 0,
1378 0, 104, 0, 0, 0, 0, 105, 106, 610, 0,
1379 0, 107, 611, 0, 612, 0, 613, 358, 0, 0,
1380 0, 615, 0, 0, 0, 0, 0, 0, 0, 0,
1381 0, 0, 0, 153, 0, 0, 360, 361, 162, 0,
1382 0, 0, 0, 0, 0, 0, 0, 0, 0, 362,
1383 363, 0, 0, 0, 0, 108, 109, 110, 111, 112,
1384 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1385 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1386 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1387 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1388 132, 133, 134, 135, 136, 103, 0, 0, 0, 0,
1389 0, 0, 0, 0, 104, 0, 0, 0, 0, 105,
1390 106, 774, 0, 0, 107, 611, 0, 612, 0, 613,
1391 358, 0, 0, 0, 615, 0, 0, 0, 0, 0,
1392 0, 0, 0, 0, 0, 0, 0, 0, 0, 360,
1393 361, 162, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 362, 363, 0, 0, 0, 0, 108, 109,
1395 110, 111, 112, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1397 113, 775, 776, 115, 116, 117, 118, 119, 0, 120,
1398 0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1399 129, 777, 131, 132, 133, 134, 135, 136, 103, 0,
1400 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1401 0, 0, 105, 106, 610, 0, 0, 107, 611, 0,
1402 612, 0, 613, 358, 0, 0, 0, 615, 0, 0,
1403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404 0, 0, 360, 361, 162, 0, 0, 0, 0, 0,
1405 0, 0, 0, 0, 0, 362, 363, 0, 0, 0,
1406 0, 108, 109, 110, 111, 112, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 113, 0, 114, 115, 116, 117, 118,
1409 119, 0, 120, 0, 0, 121, 122, 123, 124, 125,
1410 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1411 136, 103, 0, 0, 0, 0, 0, 0, 0, 0,
1412 104, 0, 0, 0, 0, 105, 106, 0, 0, 0,
1413 107, 0, 0, 356, 0, 357, 358, 0, 0, 0,
1414 359, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1415 0, 0, 0, 0, 0, 360, 361, 0, 0, 0,
1416 0, 0, 0, 0, 0, 0, 0, 0, 362, 363,
1417 0, 0, 0, 0, 108, 109, 110, 111, 112, 0,
1418 0, 0, 0, 0, 0, 0, 364, 0, 0, 0,
1419 0, 0, 0, 0, 0, 0, 113, 0, 114, 115,
1420 116, 117, 118, 119, 0, 120, 0, 0, 121, 122,
1421 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1422 133, 134, 135, 136, 103, 0, 0, 0, 0, 0,
1423 0, 0, 0, 104, 0, 0, 0, 0, 105, 106,
1424 0, 0, 0, 107, 0, 0, 0, 0, 0, 0,
1425 11, 0, 0, -516, 0, 0, 0, 0, 1, 2,
1426 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
1427 162, 9, 0, 0, 0, 0, 60, 0, 0, 0,
1428 446, 447, 0, 0, 0, 0, 0, 108, 109, 110,
1429 111, 112, 0, 0, 0, 0, 0, 0, 449, 0,
1430 0, 0, 0, 0, 0, 0, 0, 0, 64, 113,
1431 0, 114, 115, 116, 117, 118, 119, 0, 120, 0,
1432 0, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1433 130, 131, 132, 133, 134, 135, 136, 103, 61, 62,
1434 63, 0, 0, 0, 0, 0, 104, 0, 0, 0,
1435 0, 105, 106, 0, 0, 664, 107, 0, 0, 0,
1436 0, 0, 0, 11, 456, 457, 458, 459, 460, 461,
1437 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1438 472, 473, 0, 162, 0, 0, 0, 474, 0, 0,
1439 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1440 108, 109, 110, 111, 112, 0, 0, 0, 0, 0,
1441 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442 0, 64, 113, 0, 114, 115, 116, 117, 118, 119,
1443 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1444 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1445 103, 0, 0, 0, 0, 0, 0, 0, 0, 104,
1446 0, 764, 0, 0, 105, 106, 0, 0, 0, 107,
1447 456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
1448 466, 467, 468, 469, 470, 471, 472, 473, 0, 0,
1449 0, 0, 0, 711, 0, 0, 162, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1451 0, 0, 0, 108, 109, 110, 111, 112, 0, 0,
1452 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1453 0, 0, 0, 0, 0, 113, 0, 114, 115, 116,
1454 117, 118, 119, 0, 120, 0, 0, 121, 122, 123,
1455 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1456 134, 135, 136, 103, 0, 0, 0, 0, 0, 0,
1457 0, 0, 104, 0, 0, 0, 0, 105, 106, 0,
1458 0, 0, 107, 0, 903, 0, 0, 0, 0, 0,
1459 0, 0, 452, 456, 457, 458, 459, 460, 461, 462,
1460 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1461 473, 0, 0, 0, 0, 0, 711, 0, 0, 0,
1462 0, 0, 103, 0, 0, 0, 108, 109, 110, 111,
1463 112, 104, 0, 0, 0, 0, 105, 106, 0, 0,
1464 0, 107, 0, 0, 0, 0, 0, 0, 113, 0,
1465 114, 115, 116, 117, 118, 119, 0, 120, 0, 0,
1466 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1467 131, 132, 133, 134, 135, 136, 0, 0, 0, 0,
1468 0, 0, 0, 740, 0, 108, 109, 110, 111, 112,
1469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1470 0, 0, 0, 0, 0, 0, 0, 113, 0, 114,
1471 115, 116, 117, 118, 119, 0, 120, 0, 0, 121,
1472 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1473 132, 133, 134, 135, 136, 103, 0, 0, 0, 0,
1474 0, 0, 0, 0, 104, 0, 0, 870, 0, 790,
1475 106, 0, 0, 0, 107, 456, 457, 458, 459, 460,
1476 461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
1477 471, 472, 473, 0, 0, 0, 0, 0, 711, 0,
1478 0, 162, 0, 0, 0, 0, 0, 0, 0, 0,
1479 0, 0, 0, 0, 0, 0, 0, 0, 108, 109,
1480 110, 111, 112, 0, 0, 0, 0, 0, 0, 0,
1481 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1482 113, 0, 114, 115, 116, 117, 118, 119, 0, 120,
1483 0, 0, 121, 122, 123, 124, 125, 126, 127, 128,
1484 129, 130, 131, 132, 133, 134, 135, 136, 103, 0,
1485 0, 0, 0, 0, 0, 0, 0, 104, 0, 0,
1486 0, 0, 105, 106, 0, 0, 0, 107, 0, 0,
1487 0, 0, 749, 0, 0, 0, 0, 0, 813, 456,
1488 457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
1489 467, 468, 469, 470, 471, 472, 473, 0, 0, 0,
1490 0, 0, 474, 0, 0, 0, 0, 103, 0, 0,
1491 0, 108, 109, 110, 111, 112, 104, 0, 0, 0,
1492 0, 105, 106, 0, 0, 0, 107, 0, 0, 0,
1493 0, 0, 0, 113, 0, 114, 115, 116, 117, 118,
1494 119, 0, 120, 0, 0, 121, 122, 123, 124, 125,
1495 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1496 136, 0, 0, 0, 0, 0, 103, 0, 834, 0,
1497 108, 109, 110, 111, 112, 104, 0, 0, 0, 0,
1498 105, 106, 0, 0, 0, 107, 0, 0, 0, 0,
1499 0, 0, 113, 0, 114, 115, 116, 117, 118, 119,
1500 0, 120, 0, 0, 121, 122, 123, 124, 125, 126,
1501 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
1502 0, 0, 0, 0, 0, 0, 0, 0, 0, 108,
1503 109, 110, 111, 112, 0, 0, 0, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1505 0, 113, 0, 114, 115, 116, 117, 118, 119, 0,
1506 120, 0, 0, 121, 122, 123, 124, 125, 126, 127,
1507 128, 129, 130, 131, 132, 133, 134, 135, 136, 811,
1508 0, 0, 0, 0, 0, 0, 456, 457, 458, 459,
1509 460, 461, 462, 463<