b1376553a0d33434965a64231bad55c702bfd87b
[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_add_typedef(struct psi_parser *P, struct psi_decl_arg *def)
134 {
135 assert(def);
136 if (!P->types) {
137 P->types = psi_plist_init((psi_plist_dtor) psi_decl_arg_free);
138 }
139 P->types = psi_plist_add(P->types, &def);
140 }
141 static inline void psi_parser_proc_add_const(struct psi_parser *P, struct psi_const *cnst) {
142 assert(cnst);
143 if (!P->consts) {
144 P->consts = psi_plist_init((psi_plist_dtor) psi_const_free);
145 }
146 P->consts = psi_plist_add(P->consts, &cnst);
147
148 }
149 static inline void psi_parser_proc_add_decl(struct psi_parser *P, struct psi_decl *decl) {
150 assert(decl);
151
152 if (psi_decl_is_blacklisted(decl->func->var->name)) {
153 psi_decl_free(&decl);
154 return;
155 }
156
157 if (!P->decls) {
158 P->decls = psi_plist_init((psi_plist_dtor) psi_decl_free);
159 }
160 P->decls = psi_plist_add(P->decls, &decl);
161 }
162 static inline void psi_parser_proc_add_impl(struct psi_parser *P, struct psi_impl *impl) {
163 assert(impl);
164 if (!P->impls) {
165 P->impls = psi_plist_init((psi_plist_dtor) psi_impl_free);
166 }
167 P->impls = psi_plist_add(P->impls, &impl);
168 }
169
170 /* end code */
171
172 #line 173 "src/parser_proc.c" /* glr.c:264 */
173
174 #include <stdio.h>
175 #include <stdlib.h>
176 #include <string.h>
177
178 #ifndef YY_
179 # if defined YYENABLE_NLS && YYENABLE_NLS
180 # if ENABLE_NLS
181 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
182 # define YY_(Msgid) dgettext ("bison-runtime", Msgid)
183 # endif
184 # endif
185 # ifndef YY_
186 # define YY_(Msgid) Msgid
187 # endif
188 #endif
189
190 #ifndef YYFREE
191 # define YYFREE free
192 #endif
193 #ifndef YYMALLOC
194 # define YYMALLOC malloc
195 #endif
196 #ifndef YYREALLOC
197 # define YYREALLOC realloc
198 #endif
199
200 #define YYSIZEMAX ((size_t) -1)
201
202 #ifdef __cplusplus
203 typedef bool yybool;
204 #else
205 typedef unsigned char yybool;
206 #endif
207 #define yytrue 1
208 #define yyfalse 0
209
210 #ifndef YYSETJMP
211 # include <setjmp.h>
212 # define YYJMP_BUF jmp_buf
213 # define YYSETJMP(Env) setjmp (Env)
214 /* Pacify clang. */
215 # define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
216 #endif
217
218 #ifndef YY_ATTRIBUTE
219 # if (defined __GNUC__ \
220 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
221 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
222 # define YY_ATTRIBUTE(Spec) __attribute__(Spec)
223 # else
224 # define YY_ATTRIBUTE(Spec) /* empty */
225 # endif
226 #endif
227
228 #ifndef YY_ATTRIBUTE_PURE
229 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
230 #endif
231
232 #ifndef YY_ATTRIBUTE_UNUSED
233 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
234 #endif
235
236 #if !defined _Noreturn \
237 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
238 # if defined _MSC_VER && 1200 <= _MSC_VER
239 # define _Noreturn __declspec (noreturn)
240 # else
241 # define _Noreturn YY_ATTRIBUTE ((__noreturn__))
242 # endif
243 #endif
244
245 /* Suppress unused-variable warnings by "using" E. */
246 #if ! defined lint || defined __GNUC__
247 # define YYUSE(E) ((void) (E))
248 #else
249 # define YYUSE(E) /* empty */
250 #endif
251
252 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
253 /* Suppress an incorrect diagnostic about yylval being uninitialized. */
254 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
255 _Pragma ("GCC diagnostic push") \
256 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
257 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
258 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
259 _Pragma ("GCC diagnostic pop")
260 #else
261 # define YY_INITIAL_VALUE(Value) Value
262 #endif
263 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
264 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
265 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
266 #endif
267 #ifndef YY_INITIAL_VALUE
268 # define YY_INITIAL_VALUE(Value) /* Nothing. */
269 #endif
270
271
272 #ifndef YYASSERT
273 # define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
274 #endif
275
276 /* YYFINAL -- State number of the termination state. */
277 #define YYFINAL 169
278 /* YYLAST -- Last index in YYTABLE. */
279 #define YYLAST 3671
280
281 /* YYNTOKENS -- Number of terminals. */
282 #define YYNTOKENS 140
283 /* YYNNTS -- Number of nonterminals. */
284 #define YYNNTS 137
285 /* YYNRULES -- Number of rules. */
286 #define YYNRULES 629
287 /* YYNRULES -- Number of states. */
288 #define YYNSTATES 889
289 /* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
290 #define YYMAXRHS 13
291 /* YYMAXLEFT -- Maximum number of symbols to the left of a handle
292 accessed by $0, $-1, etc., in any rule. */
293 #define YYMAXLEFT 0
294
295 /* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
296 #define YYUNDEFTOK 2
297 #define YYMAXUTOK 394
298
299 #define YYTRANSLATE(YYX) \
300 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
301
302 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
303 static const unsigned char yytranslate[] =
304 {
305 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
306 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
307 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
308 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
309 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
310 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
311 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
312 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
313 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
314 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
315 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
316 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
317 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
318 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
319 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
320 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
321 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
322 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
323 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
324 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
325 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
326 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
327 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
328 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
329 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
330 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
331 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
332 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
333 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
334 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
335 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
336 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
337 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
338 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
339 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
340 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
341 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
342 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
343 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
344 135, 136, 137, 138, 139
345 };
346
347 #if YYDEBUG
348 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
349 static const unsigned short int yyrline[] =
350 {
351 0, 399, 399, 399, 399, 399, 399, 399, 399, 399,
352 399, 399, 399, 399, 399, 399, 399, 399, 399, 399,
353 400, 400, 400, 400, 401, 401, 401, 401, 401, 401,
354 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
355 401, 401, 401, 402, 402, 402, 402, 402, 402, 402,
356 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
357 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
358 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
359 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
360 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
361 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
362 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
363 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
364 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
365 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
366 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
367 402, 403, 403, 403, 403, 403, 403, 403, 403, 403,
368 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
369 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
370 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
371 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
372 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
373 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
374 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
375 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
376 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
377 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
378 403, 403, 403, 403, 403, 403, 403, 407, 408, 411,
379 412, 415, 416, 417, 418, 424, 432, 435, 438, 439,
380 440, 443, 446, 449, 452, 458, 464, 467, 473, 496,
381 500, 504, 509, 513, 517, 521, 528, 529, 533, 534,
382 538, 539, 540, 544, 545, 549, 550, 554, 555, 556,
383 560, 561, 565, 566, 567, 568, 569, 570, 571, 575,
384 580, 588, 591, 594, 595, 601, 606, 614, 617, 621,
385 625, 632, 636, 640, 644, 649, 659, 669, 674, 679,
386 683, 689, 698, 701, 705, 709, 715, 722, 728, 729,
387 730, 731, 735, 738, 769, 776, 777, 778, 779, 783,
388 786, 795, 801, 804, 810, 813, 819, 820, 828, 839,
389 848, 860, 861, 865, 875, 884, 896, 899, 902, 906,
390 910, 914, 919, 924, 932, 933, 934, 940, 943, 946,
391 952, 953, 957, 960, 963, 969, 972, 975, 983, 995,
392 998, 1001, 1004, 1011, 1014, 1024, 1027, 1030, 1033, 1034,
393 1035, 1039, 1042, 1045, 1056, 1059, 1065, 1066, 1070, 1071,
394 1075, 1079, 1085, 1086, 1092, 1095, 1101, 1104, 1107, 1113,
395 1117, 1118, 1122, 1123, 1127, 1128, 1135, 1136, 1140, 1147,
396 1158, 1165, 1176, 1183, 1194, 1205, 1219, 1220, 1232, 1235,
397 1238, 1244, 1247, 1254, 1257, 1263, 1272, 1284, 1292, 1295,
398 1305, 1318, 1323, 1331, 1341, 1351, 1354, 1358, 1364, 1378,
399 1395, 1398, 1404, 1411, 1421, 1428, 1431, 1437, 1442, 1450,
400 1454, 1458, 1462, 1466, 1470, 1477, 1481, 1485, 1489, 1493,
401 1497, 1503, 1507, 1514, 1517, 1528, 1532, 1536, 1542, 1555,
402 1568, 1581, 1584, 1591, 1592, 1596, 1599, 1602, 1605, 1611,
403 1615, 1622, 1625, 1628, 1631, 1641, 1644, 1650, 1651, 1657,
404 1660, 1666, 1667, 1677, 1680, 1687, 1692, 1697, 1707, 1710,
405 1716, 1719, 1725, 1732, 1739, 1740, 1741, 1742, 1743, 1744,
406 1745, 1746, 1747, 1751, 1754, 1760, 1763, 1766, 1769, 1772,
407 1778, 1782, 1790, 1791, 1795, 1802, 1805, 1808, 1811, 1815,
408 1818, 1824, 1828, 1836, 1843, 1851, 1859, 1860, 1861, 1862,
409 1863, 1864, 1865, 1866, 1867, 1868, 1872, 1875, 1881, 1884,
410 1890, 1891, 1895, 1898, 1904, 1907, 1913, 1920, 1924, 1931,
411 1934, 1937, 1943, 1950, 1953, 1956, 1963, 1968, 1976, 1977,
412 1978, 1979, 1980, 1981, 1982, 1983, 1987, 1990, 1996, 1999,
413 2005, 2012, 2013, 2017, 2024, 2027, 2033, 2041, 2044, 2050
414 };
415 #endif
416
417 #if YYDEBUG || YYERROR_VERBOSE || 1
418 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
419 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
420 static const char *const yytname[] =
421 {
422 "\"end of file\"", "error", "$undefined", "BOOL", "CHAR", "SHORT",
423 "INT", "SIGNED", "UNSIGNED", "LONG", "FLOAT", "DOUBLE", "STRING",
424 "MIXED", "ARRAY", "OBJECT", "CALLABLE", "VOID", "ZVAL", "NULL", "TRUE",
425 "FALSE", "NAME", "NSNAME", "DOLLAR_NAME", "NUMBER", "QUOTED_STRING",
426 "QUOTED_CHAR", "SIZEOF", "VOLATILE", "\"end of line\"", "\";\"", "\"(\"",
427 "\")\"", "\",\"", "\":\"", "\"{\"", "\"}\"", "\"[\"", "\"]\"", "\"=\"",
428 "\"#\"", "\"|\"", "\"^\"", "\"&\"", "\"<<\"", "\">>\"", "\"+\"", "\"-\"",
429 "\"*\"", "\"/\"", "\"%\"", "\"<\"", "\">\"", "\">=\"", "\"<=\"",
430 "\"||\"", "\"&&\"", "\"==\"", "\"!=\"", "\"~\"", "\"!\"", "\".\"",
431 "\"\\\\\"", "\"...\"", "\"?\"", "PRAGMA", "PRAGMA_ONCE", "LINE", "ERROR",
432 "WARNING", "IF", "IFDEF", "IFNDEF", "ELSE", "ELIF", "ENDIF", "DEFINE",
433 "DEFINED", "UNDEF", "IMPORT", "INCLUDE", "INCLUDE_NEXT", "TYPEDEF",
434 "STRUCT", "UNION", "ENUM", "CONST", "LIB", "STATIC", "CALLBACK",
435 "FUNCTION", "LET", "SET", "TEMP", "FREE", "RETURN", "AS", "PRE_ASSERT",
436 "POST_ASSERT", "BOOLVAL", "INTVAL", "STRVAL", "PATHVAL", "STRLEN",
437 "FLOATVAL", "ARRVAL", "OBJVAL", "COUNT", "CALLOC", "TO_BOOL", "TO_INT",
438 "TO_STRING", "TO_FLOAT", "TO_ARRAY", "TO_OBJECT", "COMMENT",
439 "WHITESPACE", "NO_WHITESPACE", "CPP_HEADER", "CPP_ATTRIBUTE",
440 "CPP_EXTENSION", "CPP_PASTE", "CPP_INLINE", "CPP_RESTRICT", "CPP_ASM",
441 "BSLASH", "LONG_DOUBLE", "INT8", "UINT8", "INT16", "UINT16", "INT32",
442 "UINT32", "INT64", "UINT64", "INT128", "UINT128", "BINARY", "UNARY",
443 "$accept", "binary_op_token", "unary_op_token", "name_token",
444 "any_noeol_token", "any_nobrace_token", "file", "blocks", "block", "lib",
445 "cpp", "cpp_exp", "cpp_ignored_token", "cpp_message_token",
446 "cpp_include_token", "cpp_header_token", "cpp_no_arg_token",
447 "cpp_name_arg_token", "cpp_exp_arg_token", "cpp_special_name_token",
448 "cpp_macro_decl", "cpp_macro_sig", "cpp_macro_sig_args",
449 "cpp_macro_decl_tokens", "cpp_macro_decl_token_list", "cpp_macro_exp",
450 "cpp_macro_call_args", "cpp_macro_call_arg_list", "constant",
451 "constant_type", "constant_type_token", "impl_def_val",
452 "impl_def_val_token", "decl_typedef", "typedef", "typedef_anon",
453 "typedef_decl", "typedef_anon_decl", "qualified_decl_type", "decl_type",
454 "decl_type_complex", "decl_type_simple", "decl_real_type", "int_signed",
455 "int_width", "decl_int_type", "int_signed_types", "signed_short_types",
456 "signed_long_types", "int_width_types", "decl_stmt", "decl_asm",
457 "ignored_quoted_strings", "decl_ext_var_stmt", "decl_ext_var",
458 "decl_ext_var_list", "decl_vars", "ignored_decl", "ignored_decl_body",
459 "ignored_decl_body_stmts", "ignored_decl_body_stmt", "decl", "decl_body",
460 "decl_func_body", "decl_functor_body", "decl_functor", "decl_func",
461 "decl_args", "decl_arg_list", "decl_anon_arg", "decl_arg", "decl_var",
462 "decl_union", "decl_struct", "decl_struct_args", "struct_args_block",
463 "struct_args", "struct_arg_var_list", "decl_vars_with_layout",
464 "decl_enum", "decl_enum_items", "decl_enum_item", "num_exp", "number",
465 "sizeof", "sizeof_body", "sizeof_body_notypes", "enum_name",
466 "union_name", "struct_name", "optional_name", "optional_comma",
467 "decl_layout", "align_and_size", "array_size", "indirection", "pointers",
468 "asterisks", "asterisk", "impl", "impl_func", "impl_args", "impl_arg",
469 "impl_var", "impl_type", "impl_type_token", "impl_stmts", "impl_stmt",
470 "let_stmt", "let_exp", "let_exp_byref", "let_exp_assign", "let_calloc",
471 "let_callback", "let_func", "let_func_token", "let_func_exps",
472 "let_exps", "callback_rval", "callback_arg_list", "callback_args",
473 "return_stmt", "return_exp", "call_decl_vars", "set_stmt", "set_exp",
474 "set_func", "set_func_token", "set_func_exps", "set_exps", "assert_stmt",
475 "assert_stmt_token", "free_stmt", "free_exps", "free_exp", "reference",
476 "byref", YY_NULLPTR
477 };
478 #endif
479
480 #define YYPACT_NINF -704
481 #define YYTABLE_NINF -628
482
483 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
484 STATE-NUM. */
485 static const short int yypact[] =
486 {
487 555, -704, -704, -704, -704, -704, 172, -704, -704, 2525,
488 734, 545, -704, -704, 718, 294, 3380, 3380, 3380, 1654,
489 32, 253, 49, -704, 1542, 1688, 100, 555, -704, -704,
490 -704, -704, -704, 2751, -704, -704, -704, -704, 65, 154,
491 -704, -704, -704, 91, -704, -59, -704, -704, 145, 99,
492 133, -704, -704, -704, -704, 134, -704, 159, -704, -704,
493 -704, -704, -704, 835, -704, 142, 110, -704, -704, -704,
494 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
495 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
496 -704, -704, -704, -704, -704, -704, -704, 2864, -3, -704,
497 -704, -704, -704, 3380, 3380, 3380, 2366, -704, 20, -704,
498 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
499 -704, -704, 1386, -704, -704, -704, -704, 175, 961, 961,
500 22, -704, 1386, 2412, 2525, 3380, 3380, 1914, 194, -704,
501 -704, -704, 195, 3380, 182, 182, 88, 88, 198, -704,
502 -704, 208, 215, -704, 142, 216, -704, -704, 218, 1688,
503 211, 214, -704, 229, -704, 2027, 460, -59, 211, -704,
504 -704, 217, -704, 222, 3380, -704, 259, -704, 66, -704,
505 -704, -704, 206, -704, -704, 234, 236, 2140, 2140, 3380,
506 193, 3380, -704, -704, 142, -704, -704, -704, -704, -704,
507 -704, 2751, -704, -704, -704, -704, -704, -704, -704, 150,
508 961, -704, -704, -704, -704, -704, -704, -704, -704, -704,
509 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
510 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
511 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
512 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
513 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
514 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
515 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
516 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
517 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
518 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
519 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
520 -704, -704, -704, 961, -704, -704, -704, -704, -704, -704,
521 -704, -704, 76, 2412, -704, -704, -704, -704, 2977, 2412,
522 239, 3534, -704, 241, 111, -704, 118, -704, -704, -704,
523 -704, 238, 240, 240, 68, 68, 3090, 250, -704, 211,
524 1213, -704, 193, 242, 263, 264, -704, 1327, -704, 142,
525 217, -704, -704, -704, 290, -704, -704, 271, -704, 56,
526 2671, 2751, 155, 272, -704, -704, 173, 267, 274, -704,
527 2751, 2073, 2751, 3380, 2751, -704, -704, 18, -704, -704,
528 -704, -704, -704, 2299, -704, 276, 3380, 278, -704, 3380,
529 282, -704, -704, -704, -704, 2558, 288, -704, 2855, 3380,
530 -704, -704, 2412, -704, -704, -704, -704, -704, -704, -704,
531 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
532 -704, 2412, 2412, -704, 285, 696, 2751, 2751, -704, -704,
533 -704, -704, 142, -704, 1621, -704, -704, -704, -704, -704,
534 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
535 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
536 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
537 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
538 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
539 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
540 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
541 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
542 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
543 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
544 -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
545 -704, -704, -704, -704, 1087, -704, 185, 524, -704, -704,
546 -704, -704, -704, -704, 1508, -704, 280, 2299, -704, 3510,
547 -704, -704, 3380, -704, -704, -704, 59, 2864, 142, 222,
548 217, 256, 2332, 217, 257, 2299, 3380, 287, 286, 291,
549 3558, 289, 296, -704, 293, 304, 303, 299, 141, -704,
550 314, 316, -704, -704, -704, 2733, -704, 315, 2751, 3149,
551 142, 318, -704, -704, -704, 320, 3534, 321, 323, 3461,
552 -704, 335, 1914, 326, -704, -704, 2638, 72, 3380, 182,
553 182, -704, -704, 3380, 109, -704, -704, -704, 331, -704,
554 3558, -704, -704, -704, -704, -704, -704, -704, -704, -704,
555 -704, -704, -704, 328, 180, -704, 49, -704, 332, 545,
556 333, 2968, -704, -704, -704, 2299, 2299, 337, -704, -704,
557 3090, -704, 339, 56, -704, -704, 340, 3558, -704, -704,
558 1734, -704, 2073, -704, 2751, -704, 49, 2751, -704, 3380,
559 3262, -704, -704, -704, -704, -704, -704, 341, 334, -704,
560 -704, -704, -704, 2412, 2412, 343, -704, 38, 348, -704,
561 326, 240, 240, 350, -704, 577, 349, 577, 346, 2299,
562 -704, 3486, -704, -704, 217, 217, 170, 279, 357, 358,
563 3558, -704, -704, -704, -704, 360, 2186, -704, 359, 2751,
564 186, -704, 361, 278, 362, 961, 3321, 3534, 3582, 374,
565 365, 370, 2751, 373, 348, 2751, 2751, -704, -704, 577,
566 -704, 49, 1621, -704, 2299, -704, -704, 358, -704, 3262,
567 2299, 49, -704, 1847, 372, 377, -704, 313, -704, -704,
568 -704, 378, 381, 392, 326, 384, -704, 388, -704, 27,
569 -704, 3606, 394, 3243, 387, 395, -704, 397, -704, -704,
570 131, -704, 398, 401, -704, 2751, -704, 405, 342, 2299,
571 1734, 404, -704, 2073, -704, -704, 406, 415, 417, 326,
572 410, 396, 3081, 286, -704, -704, -704, 413, 2186, -704,
573 -704, 418, 416, -704, 420, -704, -704, -704, 419, -704,
574 1734, -704, 431, -704, 577, 49, -704, 424, -704, 427,
575 -704, 1960, 439, 426, -704, 440, 2073, -704, -704
576 };
577
578 /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
579 Performed when YYTABLE does not specify something else to do. Zero
580 means the default is an error. */
581 static const unsigned short int yydefact[] =
582 {
583 277, 405, 402, 406, 400, 401, 403, 397, 398, 0,
584 396, 0, 282, 281, 0, 0, 0, 0, 511, 0,
585 0, 0, 627, 283, 0, 0, 0, 278, 279, 285,
586 284, 286, 290, 525, 388, 390, 389, 395, 409, 421,
587 394, 287, 289, 0, 288, 426, 444, 446, 447, 0,
588 0, 456, 292, 291, 293, 0, 294, 0, 404, 399,
589 33, 34, 615, 576, 24, 525, 531, 39, 38, 37,
590 35, 36, 32, 31, 25, 29, 28, 26, 27, 40,
591 584, 583, 581, 579, 580, 582, 578, 577, 585, 30,
592 613, 611, 610, 612, 609, 608, 457, 0, 527, 529,
593 41, 42, 396, 0, 0, 0, 0, 445, 432, 387,
594 296, 307, 304, 306, 308, 309, 320, 317, 318, 315,
595 321, 316, 0, 319, 310, 311, 312, 0, 337, 337,
596 0, 300, 0, 0, 0, 511, 511, 0, 0, 372,
597 377, 467, 376, 0, 519, 519, 391, 392, 393, 508,
598 358, 406, 397, 361, 0, 0, 357, 386, 0, 0,
599 0, 0, 629, 0, 628, 396, 0, 426, 0, 1,
600 280, 521, 468, 0, 526, 411, 415, 413, 417, 410,
601 407, 422, 409, 408, 430, 0, 0, 458, 458, 0,
602 0, 0, 526, 532, 525, 470, 528, 530, 391, 392,
603 393, 0, 431, 323, 324, 325, 327, 328, 326, 322,
604 337, 302, 297, 68, 43, 44, 45, 46, 47, 48,
605 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
606 59, 60, 61, 62, 63, 64, 65, 66, 67, 158,
607 159, 69, 70, 71, 72, 73, 74, 75, 76, 77,
608 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
609 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
610 98, 99, 100, 101, 102, 108, 106, 107, 105, 103,
611 104, 109, 110, 111, 112, 113, 114, 115, 116, 117,
612 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
613 128, 129, 130, 131, 132, 160, 133, 134, 135, 136,
614 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
615 147, 148, 149, 150, 151, 152, 156, 153, 154, 155,
616 157, 339, 305, 338, 298, 313, 314, 299, 322, 301,
617 347, 348, 0, 0, 22, 23, 20, 21, 0, 0,
618 350, 303, 349, 457, 391, 510, 392, 509, 373, 369,
619 378, 0, 0, 0, 0, 0, 0, 0, 295, 0,
620 0, 436, 0, 0, 0, 0, 437, 0, 472, 525,
621 521, 416, 412, 418, 419, 414, 423, 0, 424, 459,
622 0, 525, 0, 460, 461, 463, 0, 487, 513, 485,
623 0, 627, 0, 0, 0, 621, 622, 0, 553, 556,
624 555, 557, 558, 0, 559, 0, 0, 433, 434, 0,
625 0, 330, 340, 507, 506, 0, 0, 502, 0, 0,
626 345, 342, 352, 2, 3, 4, 5, 6, 7, 8,
627 9, 10, 11, 13, 12, 14, 15, 16, 17, 18,
628 19, 0, 0, 370, 0, 0, 0, 0, 475, 474,
629 476, 473, 525, 469, 362, 438, 186, 161, 162, 163,
630 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
631 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
632 184, 185, 274, 275, 187, 188, 189, 190, 191, 192,
633 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
634 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
635 213, 214, 215, 216, 217, 218, 224, 222, 223, 221,
636 219, 220, 225, 226, 227, 228, 229, 230, 231, 232,
637 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
638 243, 244, 245, 246, 247, 248, 276, 249, 250, 251,
639 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
640 262, 263, 264, 265, 266, 267, 268, 272, 269, 270,
641 271, 273, 442, 443, 0, 440, 0, 0, 371, 425,
642 498, 496, 495, 497, 0, 522, 0, 0, 499, 0,
643 489, 500, 0, 471, 420, 428, 0, 466, 0, 464,
644 521, 0, 0, 521, 0, 0, 514, 0, 0, 0,
645 604, 0, 0, 603, 42, 0, 0, 0, 0, 624,
646 0, 0, 598, 533, 554, 0, 455, 0, 0, 331,
647 525, 0, 503, 505, 341, 0, 354, 0, 353, 0,
648 343, 0, 0, 515, 381, 374, 382, 0, 383, 519,
649 519, 380, 379, 0, 498, 366, 367, 368, 0, 364,
650 363, 439, 441, 534, 546, 547, 548, 549, 545, 550,
651 551, 552, 544, 0, 0, 538, 627, 543, 24, 0,
652 0, 0, 523, 493, 524, 0, 0, 0, 429, 427,
653 465, 450, 0, 0, 462, 448, 0, 488, 486, 484,
654 0, 560, 627, 602, 0, 542, 627, 0, 623, 0,
655 599, 596, 620, 454, 435, 332, 335, 0, 333, 504,
656 501, 346, 351, 0, 0, 0, 375, 0, 480, 477,
657 515, 0, 0, 0, 356, 0, 0, 0, 540, 0,
658 491, 0, 492, 452, 521, 521, 498, 0, 31, 30,
659 566, 571, 567, 569, 570, 41, 0, 605, 616, 0,
660 0, 625, 615, 601, 0, 337, 0, 355, 344, 0,
661 516, 0, 0, 0, 480, 385, 384, 453, 535, 0,
662 539, 627, 362, 490, 0, 451, 449, 0, 568, 599,
663 0, 627, 572, 627, 0, 0, 626, 0, 329, 334,
664 336, 0, 0, 0, 515, 481, 478, 0, 536, 0,
665 541, 494, 0, 0, 586, 0, 618, 617, 606, 561,
666 0, 520, 0, 0, 482, 0, 479, 0, 0, 0,
667 0, 0, 607, 627, 614, 597, 0, 0, 0, 515,
668 0, 0, 0, 499, 588, 564, 562, 587, 0, 575,
669 619, 0, 0, 483, 0, 590, 576, 591, 0, 573,
670 0, 563, 0, 517, 0, 627, 589, 0, 537, 0,
671 518, 592, 0, 593, 594, 0, 627, 574, 595
672 };
673
674 /* YYPGOTO[NTERM-NUM]. */
675 static const short int yypgoto[] =
676 {
677 -704, -294, -119, -7, 146, -704, -704, -704, 447, -704,
678 -704, -704, -704, -704, -704, -704, -704, -704, -704, 353,
679 -704, -704, -704, -126, -704, -300, -704, -704, -704, -704,
680 -704, -317, -704, -704, 312, -177, 26, -171, -162, 1,
681 -704, -704, -704, 448, -704, -704, 306, -704, -704, -704,
682 -704, 319, -704, -704, -704, -704, -194, -704, -136, -704,
683 -93, 468, 43, 7, 35, -704, -704, 317, -704, -106,
684 -2, -33, -704, -704, 143, -335, -704, -277, -704, 6,
685 -704, -107, -346, -704, -117, -704, 85, -704, -434, -417,
686 101, -704, -675, -128, -357, -61, -4, -704, 422, -704,
687 490, -704, -234, -646, -703, -704, 144, -377, -704, -355,
688 -660, 117, -239, -704, -704, -671, -704, -704, -704, -704,
689 -704, -704, -704, -278, -704, -665, -389, -367, -704, -704,
690 -704, -704, -704, -704, -197, -21, -674
691 };
692
693 /* YYDEFGOTO[NTERM-NUM]. */
694 static const short int yydefgoto[] =
695 {
696 -1, 696, 597, 171, 331, 582, 26, 27, 28, 29,
697 30, 127, 128, 129, 130, 337, 131, 132, 133, 210,
698 211, 727, 728, 332, 333, 351, 647, 648, 31, 155,
699 156, 668, 669, 32, 138, 653, 654, 655, 33, 34,
700 35, 36, 37, 38, 39, 40, 180, 382, 385, 183,
701 41, 186, 606, 42, 43, 202, 773, 44, 583, 584,
702 585, 45, 46, 47, 141, 49, 50, 392, 393, 394,
703 51, 598, 52, 53, 459, 460, 657, 783, 815, 143,
704 398, 399, 620, 600, 601, 641, 427, 55, 144, 145,
705 149, 617, 738, 362, 378, 173, 419, 98, 99, 56,
706 57, 684, 685, 621, 686, 687, 407, 408, 409, 854,
707 855, 856, 762, 763, 764, 100, 841, 857, 868, 882,
708 883, 410, 631, 774, 411, 622, 623, 101, 804, 827,
709 412, 413, 414, 628, 629, 625, 164
710 };
711
712 /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
713 positive, shift that token. If negative, reduce the rule whose
714 number is the opposite. If YYTABLE_NINF, syntax error. */
715 static const short int yytable[] =
716 {
717 172, 163, 96, 334, 191, 97, 54, 417, 108, 146,
718 147, 148, 109, 142, 349, 632, 352, 363, 364, 365,
719 157, 659, 140, 603, 371, 391, 391, 456, 457, 174,
720 634, 599, 376, 54, 624, 48, 766, 624, 660, 765,
721 748, 139, 788, 428, 791, 48, 66, 767, 335, 431,
722 761, 715, -456, 107, 201, 633, 48, 452, 158, 48,
723 48, 192, 48, 780, 160, 784, 185, 635, 168, 175,
724 176, 177, 383, 781, 178, 384, 1, 2, 3, 4,
725 5, 6, 7, 8, 421, 698, 818, 179, 65, 9,
726 195, 837, 699, 162, 102, 765, 198, 199, 200, 458,
727 169, 11, 423, 424, 455, 66, 802, 157, 425, 739,
728 400, 401, 402, 403, 404, 209, 405, 406, 670, -519,
729 426, 196, 184, 361, -519, 338, 350, 353, 354, 356,
730 97, 187, 646, 416, 452, 142, 360, 452, 826, 834,
731 -365, 336, -365, -365, 140, 748, -391, -512, 62, 844,
732 366, 649, 650, -392, -512, 824, 135, 136, 18, 106,
733 181, 4, 5, 358, 142, 188, 858, 380, 418, 765,
734 189, 878, 718, 140, 863, 719, -447, -467, 860, -467,
735 867, 58, 397, 59, 415, 395, 395, 765, 610, 611,
736 192, 66, 139, 652, 48, 190, 858, 193, 871, 765,
737 48, -498, 369, -498, -498, 212, 613, 614, 107, 634,
738 175, 176, 177, 746, 747, 178, 884, 361, 659, 806,
739 638, 888, 673, 659, 349, 359, 352, -456, 179, 879,
740 349, -359, 352, 465, -512, 660, 355, 357, -360, 367,
741 660, 90, 91, 92, 93, 94, 95, 370, 691, 368,
742 372, 693, 373, 701, 379, 377, 705, 1, 2, 3,
743 4, 5, 6, 7, 8, 381, 387, 388, 420, 707,
744 9, 432, 453, 454, 587, 102, 455, 400, 401, 402,
745 403, 404, 11, 405, 406, 400, 401, 402, 403, 404,
746 464, 405, 406, 656, 588, 589, 604, 605, 1, 2,
747 3, 4, 5, 6, 7, 8, 612, 615, 616, 636,
748 643, 134, 638, 349, 639, 352, 102, 651, 602, 692,
749 702, 706, 711, 11, 709, 714, 710, 713, 715, 712,
750 609, 717, 349, 349, 352, 352, 350, 103, 104, 105,
751 106, 430, 350, 716, 22, 624, 720, 721, 723, 751,
752 752, 730, 452, 731, 732, 452, 452, 733, 172, 463,
753 735, 737, 744, 745, 760, -24, 749, 618, 776, 626,
754 753, 630, 754, 755, 775, 192, 159, 779, 135, 136,
755 18, 106, 782, 787, 789, 607, 792, 174, 797, 799,
756 800, 157, 801, 803, -600, 807, 627, 795, 796, 811,
757 812, 663, 813, 793, 816, 828, 785, 786, 829, 637,
758 830, 831, 380, 865, 866, 137, 832, 833, 835, 836,
759 760, 840, 645, 661, 662, 350, 640, 838, 842, 850,
760 847, 843, 690, 777, 778, 848, 624, 859, 714, 851,
761 861, 845, 862, 864, 350, 350, 670, 870, 821, 873,
762 391, 875, 872, 142, 823, 874, 877, 880, 192, 881,
763 886, 658, 140, 846, 1, 2, 3, 4, 5, 6,
764 7, 8, 885, 887, 170, 820, 624, 9, 374, 422,
765 740, 736, 102, 452, 452, 339, 375, 182, 386, 11,
766 656, 672, 167, 852, 760, 656, 80, 81, 82, 83,
767 84, 85, 86, 87, 88, 396, 704, 817, 461, 708,
768 642, 161, 760, 790, 624, 876, 586, 619, 798, 624,
769 197, 822, 771, 770, 760, 0, 0, 674, 0, 0,
770 675, 741, 742, 0, 676, 0, 677, 678, 679, 680,
771 681, 682, 0, 0, 135, 136, 18, 106, 0, 1,
772 2, 3, 4, 5, 6, 7, 8, 683, 0, 1,
773 2, 3, 4, 5, 6, 7, 8, 102, 0, 0,
774 0, 0, 9, 0, 0, 0, 0, 10, 0, 729,
775 674, 137, 0, 675, 11, 12, 13, 676, 0, 677,
776 678, 679, 680, 681, 682, 697, 14, 0, 0, 0,
777 195, 0, 0, 0, 700, 724, 0, 0, 0, 397,
778 395, 0, 0, 0, 349, 349, 352, 352, 0, 0,
779 0, 0, 0, 172, 0, 0, 0, 0, 0, 103,
780 104, 105, 726, 0, 0, 0, 192, 0, 15, 16,
781 17, 18, 19, 20, 21, 0, 22, 0, 0, 808,
782 142, 360, 174, 0, 0, 142, 743, 0, 658, 140,
783 0, 0, 0, 658, 140, 0, 0, 0, 0, 0,
784 0, 23, 0, 0, 0, 0, 24, 0, 25, 0,
785 0, 768, 0, 0, 418, 0, 0, 418, 0, 0,
786 157, 0, 0, 463, 0, 769, 0, 0, 0, 607,
787 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
788 0, 0, 627, 9, 0, 0, 0, 0, 102, 0,
789 0, 0, 0, 0, 0, 11, 350, 350, 0, 0,
790 0, 0, 0, 0, 0, 0, 805, 0, 1, 2,
791 3, 4, 5, 6, 7, 8, 0, 0, 110, 814,
792 0, 9, 661, 662, 0, 0, 102, 0, 0, 0,
793 0, 0, 0, 11, 0, 0, 418, 0, 0, 810,
794 819, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 135, 136, 18, 106, 111, 112, 113, 114, 115, 116,
796 117, 118, 119, 120, 121, 122, 0, 123, 124, 125,
797 126, 0, 849, 0, 0, 0, 0, 853, 0, 0,
798 0, 0, 0, 0, 0, 0, 0, 652, 103, 104,
799 105, 106, 0, 0, 0, 0, 0, 0, 0, 0,
800 0, 0, 0, 0, 0, -576, 0, 853, -576, -576,
801 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
802 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
803 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
804 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
805 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
806 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
807 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
808 -576, -576, -576, -576, -576, 0, -576, 0, -576, -576,
809 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
810 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
811 -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
812 -576, -576, 0, -576, -576, 0, -576, -576, -576, -576,
813 -576, 213, 0, 0, 214, 215, 216, 217, 218, 219,
814 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
815 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
816 240, 0, 241, 242, 243, 244, 245, 246, 247, 248,
817 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
818 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
819 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
820 279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
821 289, 0, 290, 0, 291, 292, 293, 294, 295, 296,
822 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
823 307, 308, 309, 310, 311, 312, 313, 314, 315, 316,
824 317, 318, 319, 320, 321, 322, 323, 324, 0, 0,
825 325, 0, 326, 327, 328, 329, 330, 466, 0, 0,
826 467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
827 477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
828 487, 488, 489, 490, 491, 492, 493, 0, 494, 495,
829 496, 497, 498, 370, 671, 499, 500, 501, 502, 503,
830 504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
831 514, 515, 516, 517, 518, 519, 520, 521, 522, 523,
832 524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
833 534, 535, 536, 537, 538, 539, 540, 0, 541, 0,
834 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
835 552, 553, 554, 555, 556, 557, 558, 559, 560, 561,
836 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
837 572, 573, 574, 575, 0, 0, 576, 0, 577, 578,
838 579, 580, 581, 466, 0, 0, 467, 468, 469, 470,
839 471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
840 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
841 491, 492, 493, 0, 494, 495, 496, 497, 498, 370,
842 0, 499, 500, 501, 502, 503, 504, 505, 506, 507,
843 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
844 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
845 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
846 538, 539, 540, 0, 541, 0, 542, 543, 544, 545,
847 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
848 556, 557, 558, 559, 560, 561, 562, 563, 564, 565,
849 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
850 60, 0, 576, 0, 577, 578, 579, 580, 581, 61,
851 0, 0, 0, 0, 62, 63, 590, 0, 0, 64,
852 591, 0, 592, 0, 593, 342, 0, 0, 0, 594,
853 0, 0, 0, 0, 0, 0, 595, 0, 0, 0,
854 0, 0, 0, 0, 344, 345, 66, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 346, 347, 60,
856 0, 0, 0, 67, 68, 69, 70, 71, 61, 0,
857 0, 0, 0, 62, 63, 203, 204, 205, 64, 0,
858 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
859 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
860 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
861 93, 94, 95, 0, 0, 0, 0, 0, 0, 0,
862 0, 596, 67, 68, 69, 70, 71, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 72, 0, 73, 74, 75, 76,
865 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
866 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
867 94, 95, 0, 0, 0, 0, 0, 206, 0, 207,
868 208, 60, 1, 2, 3, 4, 5, 6, 7, 8,
869 61, 0, 0, 0, 0, 62, 63, 590, 0, 0,
870 688, 591, 0, 592, 0, 593, 342, 11, 0, 0,
871 594, 0, 0, 0, 0, 0, 1, 2, 3, 4,
872 5, 6, 7, 8, 0, 344, 345, 66, 0, 9,
873 0, 0, 0, 0, 165, 0, 0, 0, 346, 347,
874 0, 11, 0, 0, 67, 68, 69, 70, 71, 0,
875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
876 0, 0, 103, 104, 105, 689, 72, 0, 73, 74,
877 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
878 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
879 92, 93, 94, 95, 60, 166, 103, 104, 105, 106,
880 0, 0, 0, 61, 0, 0, 0, 0, 62, 63,
881 664, 665, 666, 64, 591, 0, 592, 667, 593, 342,
882 0, 0, 0, 594, 0, 0, 0, 150, 1, 2,
883 151, 4, 5, 6, 152, 8, 153, 0, 344, 345,
884 66, 154, 0, 0, 0, 0, 102, 0, 0, 0,
885 0, 346, 347, 0, 0, 0, 0, 67, 68, 69,
886 70, 71, 1, 2, 3, 4, 5, 6, 7, 8,
887 0, 0, 0, 0, 0, 9, 0, 0, 0, 72,
888 102, 73, 74, 75, 76, 77, 78, 11, 79, 0,
889 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
890 89, 90, 91, 92, 93, 94, 95, 60, 103, 104,
891 105, 0, 0, 0, 0, 0, 61, 0, 0, 0,
892 0, 62, 63, 756, 0, 0, 64, 591, 0, 592,
893 0, 593, 342, 0, 0, 0, 594, 0, 0, 0,
894 0, 0, 103, 104, 105, 106, 0, 0, 162, 0,
895 0, 344, 345, 66, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 346, 347, 0, 0, 0, 0,
897 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
899 0, 0, 72, 757, 758, 74, 75, 76, 77, 78,
900 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
901 86, 87, 88, 759, 90, 91, 92, 93, 94, 95,
902 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
903 0, 0, 0, 0, 62, 63, 590, 0, 0, 64,
904 591, 0, 592, 0, 593, 342, 0, 0, 0, 594,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 162, 0, 0, 344, 345, 66, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 346, 347, 0,
908 0, 825, 0, 67, 68, 69, 70, 71, 1, 2,
909 3, 4, 5, 6, 7, 8, 0, 0, 0, 0,
910 0, 9, 0, 0, 0, 72, 102, 73, 74, 75,
911 76, 77, 78, 11, 79, 0, 0, 80, 81, 82,
912 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
913 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
914 0, 0, 61, 0, 0, 0, 0, 62, 63, 590,
915 0, 0, 64, 591, -627, 592, 0, 593, 342, 0,
916 0, 0, 594, 0, 0, 0, 0, 0, 135, 136,
917 18, 106, 0, 0, 162, 0, 0, 344, 345, 66,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 346, 347, 0, 0, 0, 0, 67, 68, 69, 70,
920 71, 1, 2, 3, 4, 5, 6, 7, 8, 0,
921 0, 0, 0, 0, 9, 0, 0, 0, 72, 102,
922 73, 74, 75, 76, 77, 78, 11, 79, 0, 0,
923 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
924 90, 91, 92, 93, 94, 95, 60, 0, 0, 0,
925 0, 0, 0, 0, 0, 61, 0, 0, 0, 0,
926 62, 63, 590, 0, 0, 64, 591, 0, 592, 0,
927 593, 342, 0, 0, 0, 594, 0, 0, 0, 0,
928 0, 103, 104, 105, 106, 0, 0, 162, 0, 0,
929 344, 345, 66, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 346, 347, 0, 0, 0, 0, 67,
931 68, 69, 70, 71, 1, 2, 3, 4, 5, 6,
932 7, 8, 0, 0, 0, 0, 0, 389, 0, 0,
933 0, 72, 102, 73, 74, 75, 76, 77, 78, 11,
934 79, 0, 0, 80, 81, 82, 83, 84, 85, 86,
935 87, 88, 89, 90, 91, 92, 93, 94, 95, 60,
936 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
937 0, 0, 0, 62, 63, 756, 0, 0, 64, 591,
938 0, 592, 0, 593, 342, 0, 0, 0, 594, 0,
939 0, 0, 0, 0, 103, 104, 105, 390, 0, 0,
940 0, 0, 0, 344, 345, 66, 0, 0, 0, 0,
941 0, 0, 0, 0, 0, 0, 346, 347, 0, 0,
942 0, 0, 67, 68, 69, 70, 71, 0, 0, 0,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 72, 757, 758, 74, 75, 76,
945 77, 78, 0, 79, 0, 0, 80, 81, 82, 83,
946 84, 85, 86, 87, 88, 759, 90, 91, 92, 93,
947 94, 95, 60, 0, 0, 0, 0, 0, 0, 0,
948 0, 61, 0, 0, 0, 0, 62, 63, 590, 0,
949 0, 64, 591, 0, 592, 0, 593, 342, 0, 0,
950 0, 594, 0, 0, 0, 0, 1, 2, 3, 4,
951 5, 6, 7, 8, 0, 0, 344, 345, 66, 703,
952 0, 0, 0, 0, 102, 0, 0, 0, 0, 346,
953 347, 11, 0, 0, 0, 67, 68, 69, 70, 71,
954 1, 2, 3, 4, 5, 6, 7, 8, 0, 0,
955 0, 0, 0, 154, 0, 0, 0, 72, 102, 73,
956 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
957 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
958 91, 92, 93, 94, 95, 60, 103, 104, 105, 390,
959 0, 0, 0, 0, 61, 0, 0, 0, 0, 62,
960 63, 0, 0, 0, 64, 0, 0, 340, 0, 341,
961 342, 0, 0, 0, 343, 0, 0, 0, 0, 0,
962 103, 104, 105, 0, 0, 0, 0, 0, 0, 344,
963 345, 0, 0, 0, 0, 0, 0, 0, 0, 0,
964 0, 0, 346, 347, 0, 0, 0, 0, 67, 68,
965 69, 70, 71, 0, 0, 0, 0, 0, 0, 0,
966 348, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
968 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
969 88, 89, 90, 91, 92, 93, 94, 95, 60, 0,
970 0, 0, 0, 0, 0, 0, 0, 61, 0, 0,
971 0, 0, 62, 63, 0, 0, 0, 64, 0, 0,
972 0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
973 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
974 0, 0, 0, 0, 66, 0, 0, 0, 0, 0,
975 102, 0, 0, 0, 423, 424, 0, 0, 0, 0,
976 0, 67, 68, 69, 70, 71, 0, 0, 0, 0,
977 0, 0, 426, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 0, 72, 0, 73, 74, 75, 76, 77,
979 78, 0, 79, 0, 0, 80, 81, 82, 83, 84,
980 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
981 95, 60, 103, 104, 105, 0, 0, 0, 0, 0,
982 61, 0, 0, 0, 0, 62, 63, 0, 0, 0,
983 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
984 -525, 0, 0, 0, 0, 1, 2, 3, 4, 5,
985 6, 7, 8, 0, 0, 0, 0, 66, 608, 0,
986 0, 0, 0, 102, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 67, 68, 69, 70, 71, 0,
988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 0, 0, 0, 72, 0, 73, 74,
990 75, 76, 77, 78, 0, 79, 0, 0, 80, 81,
991 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
992 92, 93, 94, 95, 60, 103, 104, 105, 0, 0,
993 0, 0, 0, 61, 722, 0, 0, 0, 62, 63,
994 0, 0, 0, 64, 0, 433, 434, 435, 436, 437,
995 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
996 448, 449, 450, 0, 0, 0, 0, 0, 695, 0,
997 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, 67, 68, 69,
999 70, 71, 0, 0, 0, 0, 0, 0, 0, 0,
1000 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,
1001 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1002 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1003 89, 90, 91, 92, 93, 94, 95, 60, 0, 0,
1004 0, 0, 0, 0, 0, 0, 61, 0, 0, 0,
1005 0, 62, 63, 0, 0, 0, 64, 0, 644, 0,
1006 0, 0, 0, 0, 0, 0, 194, 433, 434, 435,
1007 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1008 446, 447, 448, 449, 450, 0, 0, 0, 0, 0,
1009 451, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 67, 68, 69, 70, 71, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 72, 0, 73, 74, 75, 76, 77, 78,
1013 0, 79, 0, 0, 80, 81, 82, 83, 84, 85,
1014 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1015 60, 0, 0, 0, 0, 0, 0, 0, 0, 61,
1016 0, 0, 0, 0, 62, 63, 0, 0, 0, 64,
1017 0, 750, 0, 0, 0, 0, 0, 0, 0, 429,
1018 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1019 443, 444, 445, 446, 447, 448, 449, 450, 0, 0,
1020 0, 0, 0, 695, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 67, 68, 69, 70, 71, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 72, 0, 73, 74, 75,
1024 76, 77, 78, 0, 79, 0, 0, 80, 81, 82,
1025 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1026 93, 94, 95, 60, 0, 0, 0, 0, 0, 0,
1027 0, 0, 61, 0, 0, 0, 0, 62, 63, 0,
1028 0, 0, 64, 0, 869, 0, 0, 0, 0, 0,
1029 0, 0, 462, 433, 434, 435, 436, 437, 438, 439,
1030 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1031 450, 0, 0, 0, 0, 0, 695, 0, 0, 0,
1032 0, 0, 60, 0, 0, 0, 67, 68, 69, 70,
1033 71, 61, 0, 0, 0, 0, 62, 63, 0, 0,
1034 0, 64, 0, 0, 0, 0, 0, 0, 72, 0,
1035 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1036 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1037 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
1038 0, 0, 0, 725, 0, 67, 68, 69, 70, 71,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 72, 0, 73,
1041 74, 75, 76, 77, 78, 0, 79, 0, 0, 80,
1042 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1043 91, 92, 93, 94, 95, 60, 0, 0, 0, 0,
1044 0, 0, 0, 0, 61, 0, 0, 839, 0, 772,
1045 63, 0, 0, 0, 64, 433, 434, 435, 436, 437,
1046 438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
1047 448, 449, 450, 0, 0, 0, 0, 0, 695, 0,
1048 0, 66, 0, 0, 0, 0, 0, 0, 0, 0,
1049 0, 0, 0, 0, 60, 0, 0, 0, 67, 68,
1050 69, 70, 71, 61, 0, 0, 0, 0, 62, 63,
1051 0, 0, 0, 64, 0, 0, 0, 0, 0, 0,
1052 72, 0, 73, 74, 75, 76, 77, 78, 0, 79,
1053 0, 0, 80, 81, 82, 83, 84, 85, 86, 87,
1054 88, 89, 90, 91, 92, 93, 94, 95, 0, 0,
1055 0, 0, 0, 60, 0, 809, 0, 67, 68, 69,
1056 70, 71, 61, 0, 0, 0, 0, 62, 63, 0,
1057 0, 0, 64, 0, 0, 0, 0, 0, 0, 72,
1058 0, 73, 74, 75, 76, 77, 78, 0, 79, 0,
1059 0, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1060 89, 90, 91, 92, 93, 94, 95, 0, 0, 0,
1061 0, 0, 0, 0, 0, 0, 67, 68, 69, 70,
1062 71, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0, 72, 0,
1064 73, 74, 75, 76, 77, 78, 0, 79, 0, 0,
1065 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1066 90, 91, 92, 93, 94, 95, 734, 0, 0, 0,
1067 0, 0, 0, 433, 434, 435, 436, 437, 438, 439,
1068 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1069 450, 794, 0, 0, 0, 0, 451, 0, 433, 434,
1070 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1071 445, 446, 447, 448, 449, 450, 0, 0, 0, 694,
1072 0, 695, 433, 434, 435, 436, 437, 438, 439, 440,
1073 441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
1074 0, 0, 0, 0, 0, 695, 433, 434, 435, 436,
1075 437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
1076 447, 448, 449, 450, 0, 0, 0, 0, 0, 451,
1077 433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
1078 443, 444, 445, 446, 447, 448, 449, 450, 0, 0,
1079 0, 0, 0, 695, 433, 434, 435, 436, 437, 438,
1080 439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
1081 449, 450, 0, 0, 0, 0, 0, 451, 433, 434,
1082 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1083 445, 446, 447, 448, 449, 450, 0, 0, 0, 0,
1084 0, 695
1085 };
1086
1087 static const short int yycheck[] =
1088 {
1089 33, 22, 9, 129, 65, 9, 0, 201, 10, 16,
1090 17, 18, 11, 15, 133, 404, 133, 145, 146, 147,
1091 19, 455, 15, 380, 160, 187, 188, 362, 363, 33,
1092 407, 377, 168, 27, 401, 0, 710, 404, 455, 710,
1093 686, 15, 745, 343, 747, 10, 49, 712, 26, 349,
1094 710, 24, 32, 10, 34, 37, 21, 351, 26, 24,
1095 25, 65, 27, 25, 21, 740, 125, 413, 25, 4,
1096 5, 6, 6, 35, 9, 9, 4, 5, 6, 7,
1097 8, 9, 10, 11, 210, 26, 789, 22, 32, 17,
1098 97, 64, 33, 44, 22, 766, 103, 104, 105, 31,
1099 0, 29, 26, 27, 36, 49, 766, 106, 32, 37,
1100 92, 93, 94, 95, 96, 122, 98, 99, 464, 31,
1101 44, 124, 31, 35, 36, 132, 133, 134, 135, 136,
1102 134, 32, 432, 194, 428, 137, 143, 431, 803, 814,
1103 31, 119, 33, 34, 137, 791, 35, 36, 17, 18,
1104 154, 451, 452, 35, 36, 801, 84, 85, 86, 87,
1105 6, 7, 8, 137, 166, 32, 840, 174, 201, 840,
1106 36, 874, 31, 166, 849, 34, 31, 32, 843, 34,
1107 851, 9, 189, 11, 191, 187, 188, 858, 33, 34,
1108 194, 49, 166, 121, 159, 36, 870, 87, 858, 870,
1109 165, 31, 159, 33, 34, 30, 33, 34, 165, 586,
1110 4, 5, 6, 33, 34, 9, 881, 35, 652, 33,
1111 34, 886, 37, 657, 343, 31, 343, 32, 22, 875,
1112 349, 23, 349, 369, 36, 652, 135, 136, 23, 23,
1113 657, 110, 111, 112, 113, 114, 115, 36, 594, 31,
1114 36, 597, 23, 610, 32, 38, 613, 4, 5, 6,
1115 7, 8, 9, 10, 11, 6, 32, 31, 118, 615,
1116 17, 32, 31, 35, 32, 22, 36, 92, 93, 94,
1117 95, 96, 29, 98, 99, 92, 93, 94, 95, 96,
1118 40, 98, 99, 455, 31, 31, 6, 26, 4, 5,
1119 6, 7, 8, 9, 10, 11, 34, 40, 34, 33,
1120 22, 17, 34, 432, 32, 432, 22, 32, 379, 39,
1121 64, 64, 31, 29, 37, 32, 40, 31, 24, 40,
1122 391, 32, 451, 452, 451, 452, 343, 84, 85, 86,
1123 87, 348, 349, 40, 91, 712, 32, 31, 33, 695,
1124 696, 33, 646, 33, 33, 649, 650, 34, 391, 366,
1125 25, 35, 31, 35, 710, 33, 33, 400, 34, 402,
1126 33, 404, 33, 33, 33, 379, 123, 34, 84, 85,
1127 86, 87, 34, 33, 35, 389, 40, 391, 109, 32,
1128 32, 390, 32, 34, 33, 33, 403, 754, 755, 25,
1129 35, 462, 32, 749, 31, 33, 741, 742, 31, 416,
1130 97, 33, 419, 17, 18, 121, 35, 25, 34, 31,
1131 766, 34, 429, 456, 457, 432, 425, 33, 33, 24,
1132 32, 34, 594, 733, 734, 34, 803, 33, 32, 97,
1133 25, 830, 25, 33, 451, 452, 792, 34, 794, 33,
1134 612, 32, 34, 455, 800, 35, 25, 33, 462, 32,
1135 34, 455, 455, 830, 4, 5, 6, 7, 8, 9,
1136 10, 11, 33, 33, 27, 792, 843, 17, 166, 333,
1137 657, 652, 22, 777, 778, 132, 167, 39, 182, 29,
1138 652, 584, 24, 839, 840, 657, 100, 101, 102, 103,
1139 104, 105, 106, 107, 108, 188, 612, 784, 365, 616,
1140 425, 21, 858, 747, 881, 870, 372, 400, 757, 886,
1141 98, 799, 719, 717, 870, -1, -1, 3, -1, -1,
1142 6, 659, 660, -1, 10, -1, 12, 13, 14, 15,
1143 16, 17, -1, -1, 84, 85, 86, 87, -1, 4,
1144 5, 6, 7, 8, 9, 10, 11, 33, -1, 4,
1145 5, 6, 7, 8, 9, 10, 11, 22, -1, -1,
1146 -1, -1, 17, -1, -1, -1, -1, 22, -1, 640,
1147 3, 121, -1, 6, 29, 30, 31, 10, -1, 12,
1148 13, 14, 15, 16, 17, 602, 41, -1, -1, -1,
1149 607, -1, -1, -1, 608, 638, -1, -1, -1, 616,
1150 612, -1, -1, -1, 733, 734, 733, 734, -1, -1,
1151 -1, -1, -1, 656, -1, -1, -1, -1, -1, 84,
1152 85, 86, 639, -1, -1, -1, 640, -1, 83, 84,
1153 85, 86, 87, 88, 89, -1, 91, -1, -1, 775,
1154 652, 658, 656, -1, -1, 657, 663, -1, 652, 652,
1155 -1, -1, -1, 657, 657, -1, -1, -1, -1, -1,
1156 -1, 116, -1, -1, -1, -1, 121, -1, 123, -1,
1157 -1, 714, -1, -1, 717, -1, -1, 720, -1, -1,
1158 689, -1, -1, 700, -1, 716, -1, -1, -1, 703,
1159 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1160 -1, -1, 719, 17, -1, -1, -1, -1, 22, -1,
1161 -1, -1, -1, -1, -1, 29, 733, 734, -1, -1,
1162 -1, -1, -1, -1, -1, -1, 769, -1, 4, 5,
1163 6, 7, 8, 9, 10, 11, -1, -1, 30, 782,
1164 -1, 17, 785, 786, -1, -1, 22, -1, -1, -1,
1165 -1, -1, -1, 29, -1, -1, 799, -1, -1, 776,
1166 791, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1167 84, 85, 86, 87, 66, 67, 68, 69, 70, 71,
1168 72, 73, 74, 75, 76, 77, -1, 79, 80, 81,
1169 82, -1, 835, -1, -1, -1, -1, 840, -1, -1,
1170 -1, -1, -1, -1, -1, -1, -1, 121, 84, 85,
1171 86, 87, -1, -1, -1, -1, -1, -1, -1, -1,
1172 -1, -1, -1, -1, -1, 0, -1, 870, 3, 4,
1173 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1174 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1175 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1176 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1177 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1178 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1179 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1180 75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
1181 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1182 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1183 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1184 115, 116, -1, 118, 119, -1, 121, 122, 123, 124,
1185 125, 0, -1, -1, 3, 4, 5, 6, 7, 8,
1186 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1187 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1188 29, -1, 31, 32, 33, 34, 35, 36, 37, 38,
1189 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1190 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1191 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1192 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1193 79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
1194 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1195 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1196 109, 110, 111, 112, 113, 114, 115, 116, -1, -1,
1197 119, -1, 121, 122, 123, 124, 125, 0, -1, -1,
1198 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1199 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1200 23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
1201 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1202 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1203 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1204 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1205 73, 74, 75, 76, 77, 78, 79, -1, 81, -1,
1206 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1207 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1208 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1209 113, 114, 115, 116, -1, -1, 119, -1, 121, 122,
1210 123, 124, 125, 0, -1, -1, 3, 4, 5, 6,
1211 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
1212 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1213 27, 28, 29, -1, 31, 32, 33, 34, 35, 36,
1214 -1, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1215 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1216 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1217 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1218 77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
1219 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1220 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
1221 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
1222 3, -1, 119, -1, 121, 122, 123, 124, 125, 12,
1223 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1224 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
1225 -1, -1, -1, -1, -1, -1, 39, -1, -1, -1,
1226 -1, -1, -1, -1, 47, 48, 49, -1, -1, -1,
1227 -1, -1, -1, -1, -1, -1, -1, 60, 61, 3,
1228 -1, -1, -1, 66, 67, 68, 69, 70, 12, -1,
1229 -1, -1, -1, 17, 18, 19, 20, 21, 22, -1,
1230 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1231 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1232 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1233 113, 114, 115, -1, -1, -1, -1, -1, -1, -1,
1234 -1, 124, 66, 67, 68, 69, 70, -1, -1, -1,
1235 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1236 -1, -1, -1, -1, 88, -1, 90, 91, 92, 93,
1237 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1238 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1239 114, 115, -1, -1, -1, -1, -1, 121, -1, 123,
1240 124, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1241 12, -1, -1, -1, -1, 17, 18, 19, -1, -1,
1242 22, 23, -1, 25, -1, 27, 28, 29, -1, -1,
1243 32, -1, -1, -1, -1, -1, 4, 5, 6, 7,
1244 8, 9, 10, 11, -1, 47, 48, 49, -1, 17,
1245 -1, -1, -1, -1, 22, -1, -1, -1, 60, 61,
1246 -1, 29, -1, -1, 66, 67, 68, 69, 70, -1,
1247 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1248 -1, -1, 84, 85, 86, 87, 88, -1, 90, 91,
1249 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1250 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1251 112, 113, 114, 115, 3, 83, 84, 85, 86, 87,
1252 -1, -1, -1, 12, -1, -1, -1, -1, 17, 18,
1253 19, 20, 21, 22, 23, -1, 25, 26, 27, 28,
1254 -1, -1, -1, 32, -1, -1, -1, 3, 4, 5,
1255 6, 7, 8, 9, 10, 11, 12, -1, 47, 48,
1256 49, 17, -1, -1, -1, -1, 22, -1, -1, -1,
1257 -1, 60, 61, -1, -1, -1, -1, 66, 67, 68,
1258 69, 70, 4, 5, 6, 7, 8, 9, 10, 11,
1259 -1, -1, -1, -1, -1, 17, -1, -1, -1, 88,
1260 22, 90, 91, 92, 93, 94, 95, 29, 97, -1,
1261 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1262 109, 110, 111, 112, 113, 114, 115, 3, 84, 85,
1263 86, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1264 -1, 17, 18, 19, -1, -1, 22, 23, -1, 25,
1265 -1, 27, 28, -1, -1, -1, 32, -1, -1, -1,
1266 -1, -1, 84, 85, 86, 87, -1, -1, 44, -1,
1267 -1, 47, 48, 49, -1, -1, -1, -1, -1, -1,
1268 -1, -1, -1, -1, 60, 61, -1, -1, -1, -1,
1269 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1270 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1271 -1, -1, 88, 89, 90, 91, 92, 93, 94, 95,
1272 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1273 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1274 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1275 -1, -1, -1, -1, 17, 18, 19, -1, -1, 22,
1276 23, -1, 25, -1, 27, 28, -1, -1, -1, 32,
1277 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1278 -1, 44, -1, -1, 47, 48, 49, -1, -1, -1,
1279 -1, -1, -1, -1, -1, -1, -1, 60, 61, -1,
1280 -1, 64, -1, 66, 67, 68, 69, 70, 4, 5,
1281 6, 7, 8, 9, 10, 11, -1, -1, -1, -1,
1282 -1, 17, -1, -1, -1, 88, 22, 90, 91, 92,
1283 93, 94, 95, 29, 97, -1, -1, 100, 101, 102,
1284 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1285 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1286 -1, -1, 12, -1, -1, -1, -1, 17, 18, 19,
1287 -1, -1, 22, 23, 24, 25, -1, 27, 28, -1,
1288 -1, -1, 32, -1, -1, -1, -1, -1, 84, 85,
1289 86, 87, -1, -1, 44, -1, -1, 47, 48, 49,
1290 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1291 60, 61, -1, -1, -1, -1, 66, 67, 68, 69,
1292 70, 4, 5, 6, 7, 8, 9, 10, 11, -1,
1293 -1, -1, -1, -1, 17, -1, -1, -1, 88, 22,
1294 90, 91, 92, 93, 94, 95, 29, 97, -1, -1,
1295 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1296 110, 111, 112, 113, 114, 115, 3, -1, -1, -1,
1297 -1, -1, -1, -1, -1, 12, -1, -1, -1, -1,
1298 17, 18, 19, -1, -1, 22, 23, -1, 25, -1,
1299 27, 28, -1, -1, -1, 32, -1, -1, -1, -1,
1300 -1, 84, 85, 86, 87, -1, -1, 44, -1, -1,
1301 47, 48, 49, -1, -1, -1, -1, -1, -1, -1,
1302 -1, -1, -1, 60, 61, -1, -1, -1, -1, 66,
1303 67, 68, 69, 70, 4, 5, 6, 7, 8, 9,
1304 10, 11, -1, -1, -1, -1, -1, 17, -1, -1,
1305 -1, 88, 22, 90, 91, 92, 93, 94, 95, 29,
1306 97, -1, -1, 100, 101, 102, 103, 104, 105, 106,
1307 107, 108, 109, 110, 111, 112, 113, 114, 115, 3,
1308 -1, -1, -1, -1, -1, -1, -1, -1, 12, -1,
1309 -1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
1310 -1, 25, -1, 27, 28, -1, -1, -1, 32, -1,
1311 -1, -1, -1, -1, 84, 85, 86, 87, -1, -1,
1312 -1, -1, -1, 47, 48, 49, -1, -1, -1, -1,
1313 -1, -1, -1, -1, -1, -1, 60, 61, -1, -1,
1314 -1, -1, 66, 67, 68, 69, 70, -1, -1, -1,
1315 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1316 -1, -1, -1, -1, 88, 89, 90, 91, 92, 93,
1317 94, 95, -1, 97, -1, -1, 100, 101, 102, 103,
1318 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1319 114, 115, 3, -1, -1, -1, -1, -1, -1, -1,
1320 -1, 12, -1, -1, -1, -1, 17, 18, 19, -1,
1321 -1, 22, 23, -1, 25, -1, 27, 28, -1, -1,
1322 -1, 32, -1, -1, -1, -1, 4, 5, 6, 7,
1323 8, 9, 10, 11, -1, -1, 47, 48, 49, 17,
1324 -1, -1, -1, -1, 22, -1, -1, -1, -1, 60,
1325 61, 29, -1, -1, -1, 66, 67, 68, 69, 70,
1326 4, 5, 6, 7, 8, 9, 10, 11, -1, -1,
1327 -1, -1, -1, 17, -1, -1, -1, 88, 22, 90,
1328 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1329 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1330 111, 112, 113, 114, 115, 3, 84, 85, 86, 87,
1331 -1, -1, -1, -1, 12, -1, -1, -1, -1, 17,
1332 18, -1, -1, -1, 22, -1, -1, 25, -1, 27,
1333 28, -1, -1, -1, 32, -1, -1, -1, -1, -1,
1334 84, 85, 86, -1, -1, -1, -1, -1, -1, 47,
1335 48, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1336 -1, -1, 60, 61, -1, -1, -1, -1, 66, 67,
1337 68, 69, 70, -1, -1, -1, -1, -1, -1, -1,
1338 78, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1339 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1340 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1341 108, 109, 110, 111, 112, 113, 114, 115, 3, -1,
1342 -1, -1, -1, -1, -1, -1, -1, 12, -1, -1,
1343 -1, -1, 17, 18, -1, -1, -1, 22, -1, -1,
1344 -1, -1, -1, -1, -1, -1, -1, 32, -1, -1,
1345 -1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
1346 -1, -1, -1, -1, 49, -1, -1, -1, -1, -1,
1347 22, -1, -1, -1, 26, 27, -1, -1, -1, -1,
1348 -1, 66, 67, 68, 69, 70, -1, -1, -1, -1,
1349 -1, -1, 44, -1, -1, -1, -1, -1, -1, -1,
1350 -1, -1, -1, 88, -1, 90, 91, 92, 93, 94,
1351 95, -1, 97, -1, -1, 100, 101, 102, 103, 104,
1352 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1353 115, 3, 84, 85, 86, -1, -1, -1, -1, -1,
1354 12, -1, -1, -1, -1, 17, 18, -1, -1, -1,
1355 22, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1356 32, -1, -1, -1, -1, 4, 5, 6, 7, 8,
1357 9, 10, 11, -1, -1, -1, -1, 49, 17, -1,
1358 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1359 -1, -1, -1, -1, 66, 67, 68, 69, 70, -1,
1360 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1361 -1, -1, -1, -1, -1, -1, 88, -1, 90, 91,
1362 92, 93, 94, 95, -1, 97, -1, -1, 100, 101,
1363 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1364 112, 113, 114, 115, 3, 84, 85, 86, -1, -1,
1365 -1, -1, -1, 12, 31, -1, -1, -1, 17, 18,
1366 -1, -1, -1, 22, -1, 42, 43, 44, 45, 46,
1367 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1368 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1369 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1370 -1, -1, -1, -1, -1, -1, -1, 66, 67, 68,
1371 69, 70, -1, -1, -1, -1, -1, -1, -1, -1,
1372 -1, -1, -1, -1, -1, -1, -1, -1, -1, 88,
1373 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1374 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1375 109, 110, 111, 112, 113, 114, 115, 3, -1, -1,
1376 -1, -1, -1, -1, -1, -1, 12, -1, -1, -1,
1377 -1, 17, 18, -1, -1, -1, 22, -1, 33, -1,
1378 -1, -1, -1, -1, -1, -1, 32, 42, 43, 44,
1379 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1380 55, 56, 57, 58, 59, -1, -1, -1, -1, -1,
1381 65, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1382 66, 67, 68, 69, 70, -1, -1, -1, -1, -1,
1383 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1384 -1, -1, 88, -1, 90, 91, 92, 93, 94, 95,
1385 -1, 97, -1, -1, 100, 101, 102, 103, 104, 105,
1386 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1387 3, -1, -1, -1, -1, -1, -1, -1, -1, 12,
1388 -1, -1, -1, -1, 17, 18, -1, -1, -1, 22,
1389 -1, 33, -1, -1, -1, -1, -1, -1, -1, 32,
1390 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1391 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1392 -1, -1, -1, 65, -1, -1, -1, -1, -1, -1,
1393 -1, -1, -1, 66, 67, 68, 69, 70, -1, -1,
1394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1395 -1, -1, -1, -1, -1, 88, -1, 90, 91, 92,
1396 93, 94, 95, -1, 97, -1, -1, 100, 101, 102,
1397 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1398 113, 114, 115, 3, -1, -1, -1, -1, -1, -1,
1399 -1, -1, 12, -1, -1, -1, -1, 17, 18, -1,
1400 -1, -1, 22, -1, 33, -1, -1, -1, -1, -1,
1401 -1, -1, 32, 42, 43, 44, 45, 46, 47, 48,
1402 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1403 59, -1, -1, -1, -1, -1, 65, -1, -1, -1,
1404 -1, -1, 3, -1, -1, -1, 66, 67, 68, 69,
1405 70, 12, -1, -1, -1, -1, 17, 18, -1, -1,
1406 -1, 22, -1, -1, -1, -1, -1, -1, 88, -1,
1407 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1408 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1409 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1410 -1, -1, -1, 64, -1, 66, 67, 68, 69, 70,
1411 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1412 -1, -1, -1, -1, -1, -1, -1, 88, -1, 90,
1413 91, 92, 93, 94, 95, -1, 97, -1, -1, 100,
1414 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1415 111, 112, 113, 114, 115, 3, -1, -1, -1, -1,
1416 -1, -1, -1, -1, 12, -1, -1, 34, -1, 17,
1417 18, -1, -1, -1, 22, 42, 43, 44, 45, 46,
1418 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1419 57, 58, 59, -1, -1, -1, -1, -1, 65, -1,
1420 -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
1421 -1, -1, -1, -1, 3, -1, -1, -1, 66, 67,
1422 68, 69, 70, 12, -1, -1, -1, -1, 17, 18,
1423 -1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
1424 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
1425 -1, -1, 100, 101, 102, 103, 104, 105, 106, 107,
1426 108, 109, 110, 111, 112, 113, 114, 115, -1, -1,
1427 -1, -1, -1, 3, -1, 64, -1, 66, 67, 68,
1428 69, 70, 12, -1, -1, -1, -1, 17, 18, -1,
1429 -1, -1, 22, -1, -1, -1, -1, -1, -1, 88,
1430 -1, 90, 91, 92, 93, 94, 95, -1, 97, -1,
1431 -1, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1432 109, 110, 111, 112, 113, 114, 115, -1, -1, -1,
1433 -1, -1, -1, -1, -1, -1, 66, 67, 68, 69,
1434 70, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1435 -1, -1, -1, -1, -1, -1, -1, -1, 88, -1,
1436 90, 91, 92, 93, 94, 95, -1, 97, -1, -1,
1437 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1438 110, 111, 112, 113, 114, 115, 35, -1, -1, -1,
1439 -1, -1, -1, 42, 43, 44, 45, 46, 47, 48,
1440 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1441 59, 35, -1, -1, -1, -1, 65, -1, 42, 43,
1442 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1443 54, 55, 56, 57, 58, 59, -1, -1, -1, 39,
1444 -1, 65, 42, 43, 44, 45, 46, 47, 48, 49,
1445 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1446 -1, -1, -1, -1, -1, 65, 42, 43, 44, 45,
1447 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1448 56, 57, 58, 59, -1, -1, -1, -1, -1, 65,
1449 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1450 52, 53, 54, 55, 56, 57, 58, 59, -1, -1,
1451 -1, -1, -1, 65, 42, 43, 44, 45, 46, 47,
1452 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1453 58, 59, -1, -1, -1, -1, -1, 65, 42, 43,
1454 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1455 54, 55, 56, 57, 58, 59, -1, -1, -1, -1,
1456 -1, 65
1457 };
1458
1459 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1460 symbol of state STATE-NUM. */
1461 static const unsigned short int yystos[] =
1462 {
1463 0, 4, 5, 6, 7, 8, 9, 10, 11, 17,
1464 22, 29, 30, 31, 41, 83, 84, 85, 86, 87,
1465 88, 89, 91, 116, 121, 123, 146, 147, 148, 149,
1466 150, 168, 173, 178, 179, 180, 181, 182, 183, 184,
1467 185, 190, 193, 194, 197, 201, 202, 203, 204, 205,
1468 206, 210, 212, 213, 219, 227, 239, 240, 9, 11,
1469 3, 12, 17, 18, 22, 32, 49, 66, 67, 68,
1470 69, 70, 88, 90, 91, 92, 93, 94, 95, 97,
1471 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1472 110, 111, 112, 113, 114, 115, 143, 236, 237, 238,
1473 255, 267, 22, 84, 85, 86, 87, 202, 210, 179,
1474 30, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1475 75, 76, 77, 79, 80, 81, 82, 151, 152, 153,
1476 154, 156, 157, 158, 17, 84, 85, 121, 174, 176,
1477 203, 204, 210, 219, 228, 229, 143, 143, 143, 230,
1478 3, 6, 10, 12, 17, 169, 170, 179, 26, 123,
1479 202, 240, 44, 275, 276, 22, 83, 201, 202, 0,
1480 148, 143, 211, 235, 236, 4, 5, 6, 9, 22,
1481 186, 6, 183, 189, 31, 125, 191, 32, 32, 36,
1482 36, 235, 236, 87, 32, 143, 124, 238, 143, 143,
1483 143, 34, 195, 19, 20, 21, 121, 123, 124, 143,
1484 159, 160, 30, 0, 3, 4, 5, 6, 7, 8,
1485 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1486 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1487 29, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1488 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1489 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1490 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1491 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1492 81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1493 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1494 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1495 112, 113, 114, 115, 116, 119, 121, 122, 123, 124,
1496 125, 144, 163, 164, 163, 26, 119, 155, 143, 159,
1497 25, 27, 28, 32, 47, 48, 60, 61, 78, 142,
1498 143, 165, 224, 143, 143, 230, 143, 230, 176, 31,
1499 143, 35, 233, 233, 233, 233, 236, 23, 31, 202,
1500 36, 198, 36, 23, 174, 191, 198, 38, 234, 32,
1501 143, 6, 187, 6, 9, 188, 186, 32, 31, 17,
1502 87, 178, 207, 208, 209, 210, 207, 143, 220, 221,
1503 92, 93, 94, 95, 96, 98, 99, 246, 247, 248,
1504 261, 264, 270, 271, 272, 143, 235, 196, 211, 236,
1505 118, 163, 144, 26, 27, 32, 44, 226, 165, 32,
1506 143, 165, 32, 42, 43, 44, 45, 46, 47, 48,
1507 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1508 59, 65, 141, 31, 35, 36, 215, 215, 31, 214,
1509 215, 214, 32, 143, 40, 198, 0, 3, 4, 5,
1510 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1511 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1512 26, 27, 28, 29, 31, 32, 33, 34, 35, 38,
1513 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1514 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1515 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1516 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1517 79, 81, 83, 84, 85, 86, 87, 88, 89, 90,
1518 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1519 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1520 111, 112, 113, 114, 115, 116, 119, 121, 122, 123,
1521 124, 125, 145, 198, 199, 200, 246, 32, 31, 31,
1522 19, 23, 25, 27, 32, 39, 124, 142, 211, 222,
1523 223, 224, 235, 234, 6, 26, 192, 236, 17, 235,
1524 33, 34, 34, 33, 34, 40, 34, 231, 211, 251,
1525 222, 243, 265, 266, 267, 275, 211, 143, 273, 274,
1526 211, 262, 266, 37, 247, 222, 33, 143, 34, 32,
1527 179, 225, 226, 22, 33, 143, 165, 166, 167, 165,
1528 165, 32, 121, 175, 176, 177, 178, 216, 219, 228,
1529 229, 211, 211, 235, 19, 20, 21, 26, 171, 172,
1530 222, 37, 200, 37, 3, 6, 10, 12, 13, 14,
1531 15, 16, 17, 33, 241, 242, 244, 245, 22, 87,
1532 178, 222, 39, 222, 39, 65, 141, 143, 26, 33,
1533 236, 234, 64, 17, 209, 234, 64, 222, 221, 37,
1534 40, 31, 40, 31, 32, 24, 40, 32, 31, 34,
1535 32, 31, 31, 33, 211, 64, 143, 161, 162, 235,
1536 33, 33, 33, 34, 35, 25, 177, 35, 232, 37,
1537 175, 233, 233, 143, 31, 35, 33, 34, 243, 33,
1538 33, 222, 222, 33, 33, 33, 19, 89, 90, 109,
1539 222, 250, 252, 253, 254, 255, 276, 265, 211, 275,
1540 196, 274, 17, 196, 263, 33, 34, 165, 165, 34,
1541 25, 35, 34, 217, 232, 215, 215, 33, 244, 35,
1542 242, 244, 40, 222, 35, 234, 234, 109, 252, 32,
1543 32, 32, 250, 34, 268, 211, 33, 33, 163, 64,
1544 143, 25, 35, 32, 211, 218, 31, 217, 244, 275,
1545 171, 222, 263, 222, 243, 64, 265, 269, 33, 31,
1546 97, 33, 35, 25, 232, 34, 31, 64, 33, 34,
1547 34, 256, 33, 34, 18, 266, 267, 32, 34, 211,
1548 24, 97, 222, 211, 249, 250, 251, 257, 276, 33,
1549 265, 25, 25, 232, 33, 17, 18, 255, 258, 33,
1550 34, 250, 34, 33, 35, 32, 249, 25, 244, 243,
1551 33, 32, 259, 260, 265, 33, 34, 33, 265
1552 };
1553
1554 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1555 static const unsigned short int yyr1[] =
1556 {
1557 0, 140, 141, 141, 141, 141, 141, 141, 141, 141,
1558 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1559 142, 142, 142, 142, 143, 143, 143, 143, 143, 143,
1560 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1561 143, 143, 143, 144, 144, 144, 144, 144, 144, 144,
1562 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1563 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1564 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1565 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1566 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1567 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1568 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1569 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1570 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1571 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1572 144, 144, 144, 144, 144, 144, 144, 144, 144, 144,
1573 144, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1574 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1575 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1576 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1577 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1578 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1579 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1580 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1581 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1582 145, 145, 145, 145, 145, 145, 145, 145, 145, 145,
1583 145, 145, 145, 145, 145, 145<