Add FR30 to list of targets for which -fpic is inappropriate.
[official-gcc.git] / gcc / cp / parse.c
bloba7b552628deac1998444f3225e2c90be5f787e1a
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.27
4 */
6 #define YYBISON 1 /* Identify Bison output. */
8 #define IDENTIFIER 257
9 #define TYPENAME 258
10 #define SELFNAME 259
11 #define PFUNCNAME 260
12 #define SCSPEC 261
13 #define TYPESPEC 262
14 #define CV_QUALIFIER 263
15 #define CONSTANT 264
16 #define STRING 265
17 #define ELLIPSIS 266
18 #define SIZEOF 267
19 #define ENUM 268
20 #define IF 269
21 #define ELSE 270
22 #define WHILE 271
23 #define DO 272
24 #define FOR 273
25 #define SWITCH 274
26 #define CASE 275
27 #define DEFAULT 276
28 #define BREAK 277
29 #define CONTINUE 278
30 #define RETURN_KEYWORD 279
31 #define GOTO 280
32 #define ASM_KEYWORD 281
33 #define TYPEOF 282
34 #define ALIGNOF 283
35 #define SIGOF 284
36 #define ATTRIBUTE 285
37 #define EXTENSION 286
38 #define LABEL 287
39 #define REALPART 288
40 #define IMAGPART 289
41 #define VA_ARG 290
42 #define AGGR 291
43 #define VISSPEC 292
44 #define DELETE 293
45 #define NEW 294
46 #define THIS 295
47 #define OPERATOR 296
48 #define CXX_TRUE 297
49 #define CXX_FALSE 298
50 #define NAMESPACE 299
51 #define TYPENAME_KEYWORD 300
52 #define USING 301
53 #define LEFT_RIGHT 302
54 #define TEMPLATE 303
55 #define TYPEID 304
56 #define DYNAMIC_CAST 305
57 #define STATIC_CAST 306
58 #define REINTERPRET_CAST 307
59 #define CONST_CAST 308
60 #define SCOPE 309
61 #define EMPTY 310
62 #define PTYPENAME 311
63 #define NSNAME 312
64 #define THROW 313
65 #define ASSIGN 314
66 #define OROR 315
67 #define ANDAND 316
68 #define MIN_MAX 317
69 #define EQCOMPARE 318
70 #define ARITHCOMPARE 319
71 #define LSHIFT 320
72 #define RSHIFT 321
73 #define POINTSAT_STAR 322
74 #define DOT_STAR 323
75 #define UNARY 324
76 #define PLUSPLUS 325
77 #define MINUSMINUS 326
78 #define HYPERUNARY 327
79 #define POINTSAT 328
80 #define TRY 329
81 #define CATCH 330
82 #define EXTERN_LANG_STRING 331
83 #define ALL 332
84 #define PRE_PARSED_CLASS_DECL 333
85 #define DEFARG 334
86 #define DEFARG_MARKER 335
87 #define PRE_PARSED_FUNCTION_DECL 336
88 #define TYPENAME_DEFN 337
89 #define IDENTIFIER_DEFN 338
90 #define PTYPENAME_DEFN 339
91 #define END_OF_LINE 340
92 #define END_OF_SAVED_INPUT 341
94 #line 29 "parse.y"
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
99 #include "config.h"
101 #include "system.h"
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111 #include "ggc.h"
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 const char * const language_string = "GNU C++";
117 extern struct obstack permanent_obstack;
119 extern int end_of_file;
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static const char *cond_stmt_keyword;
131 static tree empty_parms PROTO((void));
132 static int parse_decl PROTO((tree, tree, tree, int, tree *));
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec;
136 int used_extern_spec;
138 /* Cons up an empty parameter list. */
139 #ifdef __GNUC__
140 __inline
141 #endif
142 static tree
143 empty_parms ()
145 tree parms;
147 if (strict_prototype
148 || current_class_type != NULL)
149 parms = void_list_node;
150 else
151 parms = NULL_TREE;
152 return parms;
156 #line 93 "parse.y"
157 typedef union {
158 long itype;
159 tree ttype;
160 char *strtype;
161 enum tree_code code;
162 flagged_type_tree ftype;
163 struct pending_inline *pi;
164 } YYSTYPE;
165 #line 298 "parse.y"
167 /* List of types and structure classes of the current declaration. */
168 static tree current_declspecs;
170 /* List of prefix attributes in effect.
171 Prefix attributes are parsed by the reserved_declspecs and declmods
172 rules. They create a list that contains *both* declspecs and attrs. */
173 /* ??? It is not clear yet that all cases where an attribute can now appear in
174 a declspec list have been updated. */
175 static tree prefix_attributes;
177 /* When defining an aggregate, this is the kind of the most recent one
178 being defined. (For example, this might be class_type_node.) */
179 static tree current_aggr;
181 /* When defining an enumeration, this is the type of the enumeration. */
182 static tree current_enum_type;
184 /* Tell yyparse how to print a token's value, if yydebug is set. */
186 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
187 extern void yyprint PROTO((FILE *, int, YYSTYPE));
188 extern tree combine_strings PROTO((tree));
190 static int
191 parse_decl (declarator, specs_attrs, attributes, initialized, decl)
192 tree declarator;
193 tree specs_attrs;
194 tree attributes;
195 int initialized;
196 tree* decl;
198 int sm;
200 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
201 if (current_declspecs
202 && TREE_CODE (current_declspecs) != TREE_LIST)
203 current_declspecs = build_decl_list (NULL_TREE, current_declspecs);
204 if (have_extern_spec && !used_extern_spec)
206 current_declspecs = decl_tree_cons (NULL_TREE,
207 get_identifier ("extern"),
208 current_declspecs);
209 used_extern_spec = 1;
211 sm = suspend_momentary ();
212 *decl = start_decl (declarator, current_declspecs, initialized,
213 attributes, prefix_attributes);
214 return sm;
217 void
218 cp_parse_init ()
220 ggc_add_tree_root (&current_declspecs, 1);
221 ggc_add_tree_root (&prefix_attributes, 1);
222 ggc_add_tree_root (&current_aggr, 1);
223 ggc_add_tree_root (&current_enum_type, 1);
225 #include <stdio.h>
227 #ifndef __cplusplus
228 #ifndef __STDC__
229 #define const
230 #endif
231 #endif
235 #define YYFINAL 1668
236 #define YYFLAG -32768
237 #define YYNTBASE 112
239 #define YYTRANSLATE(x) ((unsigned)(x) <= 341 ? yytranslate[x] : 401)
241 static const char yytranslate[] = { 0,
242 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
243 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
244 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
245 2, 2, 110, 2, 2, 2, 83, 71, 2, 93,
246 108, 81, 79, 60, 80, 92, 82, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
248 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
251 94, 2, 111, 70, 2, 2, 2, 2, 2, 2,
252 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
253 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
254 2, 2, 59, 69, 109, 89, 2, 2, 2, 2,
255 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
256 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
257 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
258 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
259 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
260 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
261 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
262 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
263 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
264 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
265 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
266 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
267 2, 2, 2, 2, 2, 1, 3, 4, 5, 6,
268 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
269 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
270 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
271 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
272 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
273 57, 58, 62, 64, 67, 68, 72, 73, 74, 77,
274 78, 84, 85, 86, 87, 88, 90, 91, 95, 96,
275 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
279 #if YYDEBUG != 0
280 static const short yyprhs[] = { 0,
281 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
282 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
283 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
284 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
285 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
286 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
287 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
288 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
289 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
290 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
291 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
292 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
293 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
294 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
295 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
296 485, 487, 488, 495, 496, 503, 504, 510, 511, 517,
297 518, 526, 527, 535, 536, 543, 544, 551, 552, 553,
298 559, 565, 567, 569, 575, 581, 582, 584, 586, 587,
299 589, 591, 595, 597, 599, 601, 603, 605, 607, 609,
300 611, 613, 615, 617, 621, 623, 627, 628, 630, 632,
301 633, 641, 643, 645, 649, 654, 658, 659, 663, 665,
302 669, 673, 677, 681, 683, 685, 687, 690, 693, 696,
303 699, 702, 705, 708, 713, 716, 721, 724, 728, 732,
304 737, 743, 750, 757, 765, 768, 773, 779, 782, 785,
305 792, 794, 795, 800, 805, 809, 811, 815, 818, 822,
306 827, 829, 832, 838, 840, 844, 848, 852, 856, 860,
307 864, 868, 872, 876, 880, 884, 888, 892, 896, 900,
308 904, 908, 912, 916, 922, 926, 930, 932, 935, 939,
309 943, 945, 947, 949, 951, 953, 954, 960, 966, 972,
310 978, 984, 986, 988, 990, 992, 995, 997, 1000, 1003,
311 1007, 1012, 1017, 1019, 1021, 1023, 1027, 1029, 1031, 1033,
312 1035, 1039, 1043, 1047, 1048, 1053, 1058, 1061, 1066, 1069,
313 1074, 1077, 1080, 1082, 1087, 1089, 1097, 1105, 1113, 1121,
314 1126, 1131, 1134, 1137, 1140, 1142, 1147, 1150, 1153, 1159,
315 1163, 1166, 1169, 1175, 1179, 1185, 1189, 1194, 1201, 1204,
316 1206, 1209, 1211, 1214, 1216, 1218, 1220, 1223, 1224, 1227,
317 1230, 1234, 1238, 1242, 1245, 1248, 1251, 1253, 1255, 1257,
318 1260, 1263, 1266, 1269, 1271, 1273, 1275, 1277, 1280, 1283,
319 1287, 1291, 1295, 1300, 1302, 1305, 1308, 1311, 1313, 1315,
320 1317, 1320, 1323, 1326, 1328, 1330, 1333, 1336, 1340, 1342,
321 1345, 1347, 1349, 1351, 1356, 1361, 1366, 1371, 1373, 1375,
322 1377, 1379, 1383, 1385, 1389, 1391, 1395, 1396, 1401, 1402,
323 1409, 1413, 1414, 1419, 1421, 1425, 1429, 1430, 1435, 1439,
324 1440, 1442, 1444, 1447, 1454, 1456, 1460, 1461, 1463, 1468,
325 1475, 1480, 1482, 1484, 1486, 1488, 1490, 1494, 1495, 1498,
326 1500, 1503, 1507, 1512, 1514, 1516, 1520, 1525, 1529, 1535,
327 1537, 1542, 1546, 1550, 1551, 1555, 1559, 1563, 1564, 1567,
328 1570, 1571, 1578, 1579, 1585, 1588, 1591, 1594, 1595, 1596,
329 1597, 1608, 1610, 1611, 1613, 1614, 1616, 1618, 1621, 1624,
330 1627, 1630, 1633, 1636, 1639, 1642, 1645, 1649, 1654, 1658,
331 1661, 1665, 1667, 1668, 1672, 1675, 1678, 1680, 1682, 1683,
332 1686, 1690, 1692, 1697, 1699, 1703, 1705, 1707, 1710, 1713,
333 1717, 1721, 1722, 1724, 1728, 1731, 1734, 1736, 1739, 1742,
334 1745, 1748, 1751, 1754, 1757, 1759, 1762, 1765, 1769, 1772,
335 1775, 1780, 1785, 1788, 1790, 1796, 1801, 1803, 1804, 1806,
336 1810, 1811, 1813, 1817, 1819, 1821, 1823, 1825, 1830, 1835,
337 1840, 1845, 1850, 1854, 1859, 1864, 1869, 1874, 1878, 1881,
338 1883, 1885, 1889, 1891, 1895, 1898, 1900, 1908, 1909, 1912,
339 1914, 1917, 1918, 1921, 1926, 1931, 1934, 1939, 1941, 1944,
340 1948, 1952, 1955, 1958, 1962, 1964, 1969, 1974, 1978, 1982,
341 1985, 1987, 1989, 1992, 1994, 1996, 1999, 2002, 2004, 2007,
342 2011, 2015, 2018, 2021, 2025, 2027, 2031, 2035, 2038, 2041,
343 2045, 2047, 2052, 2056, 2061, 2065, 2067, 2070, 2073, 2076,
344 2079, 2082, 2084, 2087, 2092, 2097, 2100, 2102, 2104, 2106,
345 2108, 2111, 2116, 2119, 2122, 2125, 2128, 2130, 2133, 2136,
346 2139, 2142, 2146, 2148, 2151, 2155, 2160, 2163, 2166, 2169,
347 2172, 2175, 2178, 2183, 2186, 2188, 2191, 2194, 2198, 2200,
348 2204, 2207, 2211, 2214, 2217, 2221, 2223, 2227, 2232, 2234,
349 2237, 2241, 2244, 2247, 2249, 2253, 2256, 2259, 2261, 2264,
350 2268, 2270, 2274, 2281, 2286, 2291, 2295, 2301, 2305, 2309,
351 2313, 2316, 2318, 2320, 2323, 2326, 2329, 2330, 2332, 2334,
352 2337, 2341, 2343, 2346, 2347, 2351, 2352, 2353, 2359, 2361,
353 2362, 2365, 2367, 2369, 2371, 2374, 2375, 2380, 2382, 2383,
354 2384, 2390, 2391, 2392, 2400, 2401, 2402, 2403, 2404, 2417,
355 2418, 2419, 2427, 2428, 2434, 2435, 2443, 2444, 2449, 2452,
356 2455, 2458, 2462, 2469, 2478, 2489, 2502, 2507, 2511, 2514,
357 2517, 2519, 2521, 2523, 2525, 2527, 2528, 2529, 2536, 2537,
358 2538, 2544, 2546, 2549, 2550, 2551, 2557, 2559, 2561, 2565,
359 2569, 2572, 2575, 2578, 2581, 2584, 2586, 2589, 2590, 2592,
360 2593, 2595, 2597, 2598, 2600, 2602, 2606, 2611, 2613, 2617,
361 2618, 2620, 2622, 2624, 2627, 2630, 2633, 2635, 2638, 2641,
362 2642, 2646, 2648, 2650, 2652, 2655, 2658, 2661, 2666, 2669,
363 2672, 2675, 2678, 2681, 2684, 2686, 2689, 2691, 2694, 2696,
364 2698, 2699, 2700, 2702, 2703, 2708, 2711, 2713, 2715, 2719,
365 2720, 2724, 2728, 2732, 2734, 2737, 2740, 2743, 2746, 2749,
366 2752, 2755, 2758, 2761, 2764, 2767, 2770, 2773, 2776, 2779,
367 2782, 2785, 2788, 2791, 2794, 2797, 2800, 2803, 2807, 2810,
368 2813, 2816, 2819, 2823, 2826, 2829, 2834, 2839, 2843
371 static const short yyrhs[] = { -1,
372 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
373 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
374 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
375 93, 219, 108, 61, 0, 133, 59, 115, 109, 0,
376 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
377 0, 0, 45, 163, 59, 123, 115, 109, 0, 0,
378 45, 59, 124, 115, 109, 0, 125, 0, 127, 61,
379 0, 129, 0, 118, 122, 0, 0, 45, 163, 65,
380 126, 132, 61, 0, 47, 314, 0, 47, 328, 314,
381 0, 47, 328, 209, 0, 47, 131, 163, 0, 47,
382 328, 163, 0, 47, 328, 131, 163, 0, 0, 47,
383 45, 130, 132, 61, 0, 58, 55, 0, 131, 58,
384 55, 0, 209, 0, 314, 0, 328, 314, 0, 328,
385 209, 0, 97, 0, 133, 97, 0, 0, 49, 75,
386 135, 136, 76, 0, 49, 75, 76, 0, 140, 0,
387 136, 60, 140, 0, 163, 0, 0, 269, 137, 0,
388 46, 137, 0, 134, 269, 137, 0, 138, 0, 138,
389 65, 225, 0, 392, 0, 392, 65, 204, 0, 139,
390 0, 139, 65, 184, 0, 134, 142, 0, 134, 1,
391 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
392 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
393 142, 0, 236, 61, 0, 229, 235, 61, 0, 226,
394 234, 61, 0, 261, 61, 0, 236, 61, 0, 229,
395 235, 61, 0, 226, 234, 61, 0, 229, 61, 0,
396 166, 61, 0, 226, 61, 0, 1, 61, 0, 1,
397 109, 0, 61, 0, 220, 0, 159, 0, 0, 158,
398 0, 158, 61, 0, 0, 107, 0, 154, 146, 145,
399 339, 0, 154, 146, 363, 0, 154, 146, 1, 0,
400 0, 319, 5, 93, 150, 383, 108, 299, 395, 0,
401 319, 5, 48, 299, 395, 0, 0, 328, 319, 5,
402 93, 151, 383, 108, 299, 395, 0, 328, 319, 5,
403 48, 299, 395, 0, 0, 319, 179, 93, 152, 383,
404 108, 299, 395, 0, 319, 179, 48, 299, 395, 0,
405 0, 328, 319, 179, 93, 153, 383, 108, 299, 395,
406 0, 328, 319, 179, 48, 299, 395, 0, 226, 223,
407 0, 229, 311, 0, 311, 0, 229, 149, 0, 149,
408 0, 5, 93, 383, 108, 299, 395, 0, 5, 48,
409 299, 395, 0, 179, 93, 383, 108, 299, 395, 0,
410 179, 48, 299, 395, 0, 229, 155, 0, 155, 0,
411 226, 223, 0, 229, 311, 0, 311, 0, 229, 149,
412 0, 149, 0, 25, 3, 0, 157, 253, 0, 157,
413 93, 196, 108, 0, 157, 48, 0, 63, 160, 161,
414 0, 0, 0, 162, 0, 161, 60, 162, 0, 161,
415 1, 0, 93, 196, 108, 0, 48, 0, 164, 93,
416 196, 108, 0, 164, 48, 0, 307, 93, 196, 108,
417 0, 307, 48, 0, 321, 93, 196, 108, 0, 321,
418 48, 0, 1, 0, 3, 0, 4, 0, 5, 0,
419 57, 0, 58, 0, 3, 0, 57, 0, 58, 0,
420 104, 0, 103, 0, 105, 0, 0, 49, 175, 232,
421 61, 167, 176, 0, 0, 49, 175, 226, 223, 168,
422 176, 0, 0, 49, 175, 311, 169, 176, 0, 0,
423 49, 175, 149, 170, 176, 0, 0, 7, 49, 175,
424 232, 61, 171, 176, 0, 0, 7, 49, 175, 226,
425 223, 172, 176, 0, 0, 7, 49, 175, 311, 173,
426 176, 0, 0, 7, 49, 175, 149, 174, 176, 0,
427 0, 0, 57, 75, 182, 181, 180, 0, 4, 75,
428 182, 181, 180, 0, 179, 0, 177, 0, 163, 75,
429 182, 76, 180, 0, 5, 75, 182, 181, 180, 0,
430 0, 76, 0, 78, 0, 0, 183, 0, 184, 0,
431 183, 60, 184, 0, 225, 0, 57, 0, 204, 0,
432 80, 0, 79, 0, 87, 0, 88, 0, 110, 0,
433 195, 0, 204, 0, 48, 0, 93, 186, 108, 0,
434 48, 0, 93, 190, 108, 0, 0, 190, 0, 1,
435 0, 0, 373, 223, 237, 246, 65, 191, 254, 0,
436 186, 0, 109, 0, 336, 334, 109, 0, 336, 334,
437 1, 109, 0, 336, 1, 109, 0, 0, 59, 194,
438 192, 0, 348, 0, 204, 60, 204, 0, 204, 60,
439 1, 0, 195, 60, 204, 0, 195, 60, 1, 0,
440 204, 0, 195, 0, 214, 0, 118, 203, 0, 81,
441 203, 0, 71, 203, 0, 89, 203, 0, 185, 203,
442 0, 68, 163, 0, 13, 197, 0, 13, 93, 225,
443 108, 0, 29, 197, 0, 29, 93, 225, 108, 0,
444 216, 298, 0, 216, 298, 201, 0, 216, 200, 298,
445 0, 216, 200, 298, 201, 0, 216, 93, 199, 225,
446 198, 0, 216, 93, 199, 225, 198, 201, 0, 216,
447 200, 93, 199, 225, 198, 0, 216, 200, 93, 199,
448 225, 198, 201, 0, 217, 203, 0, 217, 94, 111,
449 203, 0, 217, 94, 186, 111, 203, 0, 34, 203,
450 0, 35, 203, 0, 36, 93, 204, 60, 225, 108,
451 0, 108, 0, 0, 93, 199, 196, 108, 0, 59,
452 199, 196, 109, 0, 93, 196, 108, 0, 48, 0,
453 93, 232, 108, 0, 65, 254, 0, 93, 225, 108,
454 0, 202, 93, 225, 108, 0, 197, 0, 202, 197,
455 0, 202, 59, 255, 267, 109, 0, 203, 0, 204,
456 84, 204, 0, 204, 85, 204, 0, 204, 79, 204,
457 0, 204, 80, 204, 0, 204, 81, 204, 0, 204,
458 82, 204, 0, 204, 83, 204, 0, 204, 77, 204,
459 0, 204, 78, 204, 0, 204, 74, 204, 0, 204,
460 75, 204, 0, 204, 76, 204, 0, 204, 73, 204,
461 0, 204, 72, 204, 0, 204, 71, 204, 0, 204,
462 69, 204, 0, 204, 70, 204, 0, 204, 68, 204,
463 0, 204, 67, 204, 0, 204, 66, 378, 63, 204,
464 0, 204, 65, 204, 0, 204, 64, 204, 0, 62,
465 0, 62, 204, 0, 89, 393, 163, 0, 89, 393,
466 177, 0, 207, 0, 400, 0, 3, 0, 57, 0,
467 58, 0, 0, 6, 75, 206, 182, 181, 0, 400,
468 75, 206, 182, 181, 0, 49, 163, 75, 182, 181,
469 0, 49, 6, 75, 182, 181, 0, 49, 400, 75,
470 182, 181, 0, 205, 0, 4, 0, 5, 0, 211,
471 0, 247, 211, 0, 205, 0, 81, 210, 0, 71,
472 210, 0, 93, 210, 108, 0, 3, 75, 182, 181,
473 0, 58, 75, 183, 181, 0, 313, 0, 205, 0,
474 212, 0, 93, 210, 108, 0, 205, 0, 10, 0,
475 218, 0, 219, 0, 93, 186, 108, 0, 93, 210,
476 108, 0, 93, 1, 108, 0, 0, 93, 215, 340,
477 108, 0, 205, 93, 196, 108, 0, 205, 48, 0,
478 214, 93, 196, 108, 0, 214, 48, 0, 214, 94,
479 186, 111, 0, 214, 87, 0, 214, 88, 0, 41,
480 0, 9, 93, 196, 108, 0, 317, 0, 51, 75,
481 225, 76, 93, 186, 108, 0, 52, 75, 225, 76,
482 93, 186, 108, 0, 53, 75, 225, 76, 93, 186,
483 108, 0, 54, 75, 225, 76, 93, 186, 108, 0,
484 50, 93, 186, 108, 0, 50, 93, 225, 108, 0,
485 328, 3, 0, 328, 207, 0, 328, 400, 0, 316,
486 0, 316, 93, 196, 108, 0, 316, 48, 0, 221,
487 208, 0, 221, 208, 93, 196, 108, 0, 221, 208,
488 48, 0, 221, 209, 0, 221, 316, 0, 221, 209,
489 93, 196, 108, 0, 221, 209, 48, 0, 221, 316,
490 93, 196, 108, 0, 221, 316, 48, 0, 221, 89,
491 8, 48, 0, 221, 8, 55, 89, 8, 48, 0,
492 221, 1, 0, 40, 0, 328, 40, 0, 39, 0,
493 328, 217, 0, 43, 0, 44, 0, 11, 0, 219,
494 11, 0, 0, 214, 92, 0, 214, 91, 0, 232,
495 234, 61, 0, 226, 234, 61, 0, 229, 235, 61,
496 0, 226, 61, 0, 229, 61, 0, 118, 222, 0,
497 305, 0, 311, 0, 48, 0, 224, 48, 0, 230,
498 332, 0, 300, 332, 0, 232, 332, 0, 230, 0,
499 300, 0, 230, 0, 227, 0, 229, 232, 0, 232,
500 228, 0, 232, 231, 228, 0, 229, 232, 228, 0,
501 229, 232, 231, 0, 229, 232, 231, 228, 0, 7,
502 0, 228, 233, 0, 228, 7, 0, 228, 247, 0,
503 247, 0, 300, 0, 7, 0, 229, 9, 0, 229,
504 7, 0, 229, 247, 0, 247, 0, 232, 0, 300,
505 232, 0, 232, 231, 0, 300, 232, 231, 0, 233,
506 0, 231, 233, 0, 261, 0, 8, 0, 308, 0,
507 28, 93, 186, 108, 0, 28, 93, 225, 108, 0,
508 30, 93, 186, 108, 0, 30, 93, 225, 108, 0,
509 8, 0, 9, 0, 261, 0, 242, 0, 234, 60,
510 238, 0, 243, 0, 235, 60, 238, 0, 244, 0,
511 236, 60, 238, 0, 0, 119, 93, 219, 108, 0,
512 0, 223, 237, 246, 65, 239, 254, 0, 223, 237,
513 246, 0, 0, 246, 65, 241, 254, 0, 246, 0,
514 223, 237, 240, 0, 311, 237, 240, 0, 0, 311,
515 237, 245, 240, 0, 149, 237, 246, 0, 0, 247,
516 0, 248, 0, 247, 248, 0, 31, 93, 93, 249,
517 108, 108, 0, 250, 0, 249, 60, 250, 0, 0,
518 251, 0, 251, 93, 3, 108, 0, 251, 93, 3,
519 60, 196, 108, 0, 251, 93, 196, 108, 0, 163,
520 0, 7, 0, 8, 0, 9, 0, 163, 0, 252,
521 60, 163, 0, 0, 65, 254, 0, 204, 0, 59,
522 109, 0, 59, 255, 109, 0, 59, 255, 60, 109,
523 0, 1, 0, 254, 0, 255, 60, 254, 0, 94,
524 204, 111, 254, 0, 163, 63, 254, 0, 255, 60,
525 163, 63, 254, 0, 102, 0, 256, 146, 145, 339,
526 0, 256, 146, 363, 0, 256, 146, 1, 0, 0,
527 258, 257, 147, 0, 101, 204, 107, 0, 101, 1,
528 107, 0, 0, 260, 259, 0, 260, 1, 0, 0,
529 14, 163, 59, 262, 295, 109, 0, 0, 14, 59,
530 263, 295, 109, 0, 14, 163, 0, 14, 326, 0,
531 46, 321, 0, 0, 0, 0, 276, 59, 264, 282,
532 109, 246, 265, 260, 266, 258, 0, 276, 0, 0,
533 60, 0, 0, 60, 0, 37, 0, 269, 7, 0,
534 269, 8, 0, 269, 9, 0, 269, 37, 0, 269,
535 247, 0, 269, 163, 0, 269, 165, 0, 270, 59,
536 0, 270, 63, 0, 269, 319, 163, 0, 269, 328,
537 319, 163, 0, 269, 328, 163, 0, 269, 178, 0,
538 269, 319, 178, 0, 270, 0, 0, 271, 274, 277,
539 0, 272, 277, 0, 269, 59, 0, 275, 0, 273,
540 0, 0, 63, 393, 0, 63, 393, 278, 0, 279,
541 0, 278, 60, 393, 279, 0, 280, 0, 281, 393,
542 280, 0, 321, 0, 307, 0, 38, 393, 0, 7,
543 393, 0, 281, 38, 393, 0, 281, 7, 393, 0,
544 0, 284, 0, 282, 283, 284, 0, 282, 283, 0,
545 38, 63, 0, 285, 0, 284, 285, 0, 286, 61,
546 0, 286, 109, 0, 156, 63, 0, 156, 95, 0,
547 156, 25, 0, 156, 59, 0, 61, 0, 118, 285,
548 0, 134, 285, 0, 134, 226, 61, 0, 226, 287,
549 0, 229, 288, 0, 311, 237, 246, 253, 0, 149,
550 237, 246, 253, 0, 63, 204, 0, 1, 0, 229,
551 155, 237, 246, 253, 0, 155, 237, 246, 253, 0,
552 127, 0, 0, 289, 0, 287, 60, 290, 0, 0,
553 292, 0, 288, 60, 294, 0, 291, 0, 292, 0,
554 293, 0, 294, 0, 305, 237, 246, 253, 0, 4,
555 63, 204, 246, 0, 311, 237, 246, 253, 0, 149,
556 237, 246, 253, 0, 3, 63, 204, 246, 0, 63,
557 204, 246, 0, 305, 237, 246, 253, 0, 4, 63,
558 204, 246, 0, 311, 237, 246, 253, 0, 3, 63,
559 204, 246, 0, 63, 204, 246, 0, 296, 268, 0,
560 268, 0, 297, 0, 296, 60, 297, 0, 163, 0,
561 163, 65, 204, 0, 373, 329, 0, 373, 0, 93,
562 199, 225, 198, 94, 186, 111, 0, 0, 299, 9,
563 0, 9, 0, 300, 9, 0, 0, 301, 186, 0,
564 301, 93, 196, 108, 0, 301, 93, 383, 108, 0,
565 301, 48, 0, 301, 93, 1, 108, 0, 305, 0,
566 247, 305, 0, 81, 300, 304, 0, 71, 300, 304,
567 0, 81, 304, 0, 71, 304, 0, 327, 299, 304,
568 0, 306, 0, 306, 303, 299, 395, 0, 306, 94,
569 302, 111, 0, 306, 94, 111, 0, 93, 304, 108,
570 0, 319, 318, 0, 318, 0, 318, 0, 328, 318,
571 0, 307, 0, 309, 0, 328, 309, 0, 319, 318,
572 0, 311, 0, 247, 311, 0, 81, 300, 310, 0,
573 71, 300, 310, 0, 81, 310, 0, 71, 310, 0,
574 327, 299, 310, 0, 213, 0, 81, 300, 310, 0,
575 71, 300, 310, 0, 81, 312, 0, 71, 312, 0,
576 327, 299, 310, 0, 313, 0, 213, 303, 299, 395,
577 0, 93, 312, 108, 0, 213, 94, 302, 111, 0,
578 213, 94, 111, 0, 315, 0, 319, 212, 0, 319,
579 209, 0, 319, 208, 0, 319, 205, 0, 319, 208,
580 0, 315, 0, 328, 315, 0, 232, 93, 196, 108,
581 0, 232, 93, 210, 108, 0, 232, 224, 0, 4,
582 0, 5, 0, 177, 0, 320, 0, 319, 320, 0,
583 319, 49, 325, 55, 0, 4, 55, 0, 5, 55,
584 0, 58, 55, 0, 177, 55, 0, 322, 0, 328,
585 322, 0, 323, 163, 0, 323, 177, 0, 323, 325,
586 0, 323, 49, 325, 0, 324, 0, 323, 324, 0,
587 323, 325, 55, 0, 323, 49, 325, 55, 0, 4,
588 55, 0, 5, 55, 0, 177, 55, 0, 57, 55,
589 0, 3, 55, 0, 58, 55, 0, 163, 75, 182,
590 181, 0, 328, 318, 0, 309, 0, 328, 309, 0,
591 319, 81, 0, 328, 319, 81, 0, 55, 0, 81,
592 299, 329, 0, 81, 299, 0, 71, 299, 329, 0,
593 71, 299, 0, 327, 299, 0, 327, 299, 329, 0,
594 330, 0, 94, 186, 111, 0, 330, 94, 302, 111,
595 0, 332, 0, 247, 332, 0, 81, 300, 331, 0,
596 81, 331, 0, 81, 300, 0, 81, 0, 71, 300,
597 331, 0, 71, 331, 0, 71, 300, 0, 71, 0,
598 327, 299, 0, 327, 299, 331, 0, 333, 0, 93,
599 331, 108, 0, 333, 93, 383, 108, 299, 395, 0,
600 333, 48, 299, 395, 0, 333, 94, 302, 111, 0,
601 333, 94, 111, 0, 93, 384, 108, 299, 395, 0,
602 202, 299, 395, 0, 224, 299, 395, 0, 94, 302,
603 111, 0, 94, 111, 0, 347, 0, 335, 0, 334,
604 347, 0, 334, 335, 0, 1, 61, 0, 0, 337,
605 0, 338, 0, 337, 338, 0, 33, 252, 61, 0,
606 340, 0, 1, 340, 0, 0, 59, 341, 192, 0,
607 0, 0, 15, 343, 188, 344, 345, 0, 340, 0,
608 0, 346, 348, 0, 340, 0, 348, 0, 222, 0,
609 186, 61, 0, 0, 342, 16, 349, 345, 0, 342,
610 0, 0, 0, 17, 350, 188, 351, 193, 0, 0,
611 0, 18, 352, 345, 17, 353, 187, 61, 0, 0,
612 0, 0, 0, 19, 354, 93, 376, 355, 189, 61,
613 356, 378, 108, 357, 193, 0, 0, 0, 20, 358,
614 93, 190, 108, 359, 345, 0, 0, 21, 204, 63,
615 360, 347, 0, 0, 21, 204, 12, 204, 63, 361,
616 347, 0, 0, 22, 63, 362, 347, 0, 23, 61,
617 0, 24, 61, 0, 25, 61, 0, 25, 186, 61,
618 0, 119, 377, 93, 219, 108, 61, 0, 119, 377,
619 93, 219, 63, 379, 108, 61, 0, 119, 377, 93,
620 219, 63, 379, 63, 379, 108, 61, 0, 119, 377,
621 93, 219, 63, 379, 63, 379, 63, 382, 108, 61,
622 0, 26, 81, 186, 61, 0, 26, 163, 61, 0,
623 375, 347, 0, 375, 109, 0, 61, 0, 366, 0,
624 129, 0, 128, 0, 125, 0, 0, 0, 95, 364,
625 145, 340, 365, 369, 0, 0, 0, 95, 367, 340,
626 368, 369, 0, 370, 0, 369, 370, 0, 0, 0,
627 96, 371, 374, 372, 340, 0, 230, 0, 300, 0,
628 93, 12, 108, 0, 93, 392, 108, 0, 3, 63,
629 0, 57, 63, 0, 4, 63, 0, 5, 63, 0,
630 378, 61, 0, 222, 0, 59, 192, 0, 0, 9,
631 0, 0, 186, 0, 1, 0, 0, 380, 0, 381,
632 0, 380, 60, 381, 0, 11, 93, 186, 108, 0,
633 11, 0, 382, 60, 11, 0, 0, 384, 0, 225,
634 0, 388, 0, 389, 12, 0, 388, 12, 0, 225,
635 12, 0, 12, 0, 388, 63, 0, 225, 63, 0,
636 0, 65, 386, 387, 0, 100, 0, 254, 0, 390,
637 0, 392, 385, 0, 389, 391, 0, 389, 394, 0,
638 389, 394, 65, 254, 0, 388, 60, 0, 225, 60,
639 0, 227, 223, 0, 230, 223, 0, 232, 223, 0,
640 227, 332, 0, 227, 0, 229, 311, 0, 392, 0,
641 392, 385, 0, 390, 0, 225, 0, 0, 0, 311,
642 0, 0, 62, 93, 397, 108, 0, 62, 48, 0,
643 225, 0, 396, 0, 397, 60, 396, 0, 0, 81,
644 299, 398, 0, 71, 299, 398, 0, 327, 299, 398,
645 0, 42, 0, 399, 81, 0, 399, 82, 0, 399,
646 83, 0, 399, 79, 0, 399, 80, 0, 399, 71,
647 0, 399, 69, 0, 399, 70, 0, 399, 89, 0,
648 399, 60, 0, 399, 74, 0, 399, 75, 0, 399,
649 76, 0, 399, 73, 0, 399, 64, 0, 399, 65,
650 0, 399, 77, 0, 399, 78, 0, 399, 87, 0,
651 399, 88, 0, 399, 68, 0, 399, 67, 0, 399,
652 110, 0, 399, 66, 63, 0, 399, 72, 0, 399,
653 91, 0, 399, 84, 0, 399, 48, 0, 399, 94,
654 111, 0, 399, 40, 0, 399, 39, 0, 399, 40,
655 94, 111, 0, 399, 39, 94, 111, 0, 399, 373,
656 398, 0, 399, 1, 0
659 #endif
661 #if YYDEBUG != 0
662 static const short yyrline[] = { 0,
663 360, 362, 370, 373, 374, 378, 380, 383, 388, 392,
664 398, 402, 405, 409, 412, 414, 416, 419, 421, 424,
665 427, 429, 431, 433, 435, 436, 438, 439, 443, 446,
666 455, 458, 460, 464, 467, 469, 473, 476, 488, 495,
667 503, 505, 506, 508, 512, 515, 521, 524, 526, 531,
668 534, 538, 541, 544, 547, 551, 556, 566, 568, 570,
669 572, 574, 587, 590, 594, 597, 599, 601, 604, 607,
670 611, 613, 615, 617, 622, 624, 626, 628, 630, 631,
671 638, 639, 640, 643, 646, 650, 652, 653, 656, 658,
672 661, 664, 666, 670, 673, 675, 679, 681, 683, 687,
673 689, 691, 695, 697, 699, 705, 709, 712, 715, 718,
674 723, 726, 728, 730, 736, 748, 751, 756, 761, 764,
675 769, 774, 783, 786, 788, 792, 801, 817, 820, 822,
676 823, 826, 833, 839, 841, 843, 845, 847, 850, 853,
677 856, 858, 859, 860, 861, 864, 866, 867, 870, 872,
678 873, 876, 881, 881, 885, 885, 888, 888, 891, 891,
679 895, 895, 900, 900, 903, 903, 906, 908, 911, 918,
680 922, 925, 928, 930, 934, 940, 949, 951, 959, 962,
681 965, 968, 972, 975, 977, 980, 983, 985, 987, 989,
682 993, 996, 999, 1004, 1008, 1013, 1017, 1020, 1021, 1025,
683 1044, 1051, 1054, 1056, 1057, 1058, 1061, 1065, 1066, 1070,
684 1074, 1077, 1079, 1083, 1086, 1089, 1093, 1096, 1098, 1100,
685 1102, 1105, 1109, 1111, 1114, 1116, 1122, 1125, 1128, 1131,
686 1143, 1148, 1152, 1156, 1161, 1163, 1167, 1171, 1173, 1175,
687 1185, 1189, 1192, 1195, 1200, 1203, 1205, 1213, 1226, 1231,
688 1237, 1239, 1241, 1254, 1257, 1259, 1261, 1263, 1265, 1267,
689 1269, 1271, 1273, 1275, 1277, 1279, 1281, 1283, 1285, 1287,
690 1289, 1291, 1293, 1295, 1297, 1301, 1303, 1305, 1322, 1325,
691 1327, 1328, 1329, 1330, 1331, 1334, 1346, 1349, 1353, 1356,
692 1358, 1363, 1365, 1366, 1369, 1371, 1379, 1381, 1383, 1385,
693 1389, 1392, 1396, 1400, 1401, 1402, 1406, 1414, 1415, 1416,
694 1430, 1432, 1435, 1437, 1448, 1453, 1455, 1457, 1459, 1461,
695 1463, 1465, 1468, 1470, 1481, 1482, 1486, 1490, 1494, 1498,
696 1500, 1504, 1506, 1508, 1516, 1518, 1520, 1522, 1526, 1528,
697 1530, 1532, 1537, 1539, 1541, 1543, 1546, 1548, 1550, 1594,
698 1597, 1601, 1604, 1608, 1611, 1616, 1618, 1622, 1631, 1634,
699 1641, 1648, 1653, 1655, 1660, 1662, 1669, 1671, 1675, 1679,
700 1685, 1689, 1692, 1696, 1699, 1709, 1711, 1714, 1718, 1721,
701 1724, 1727, 1730, 1736, 1742, 1744, 1749, 1751, 1769, 1772,
702 1774, 1777, 1783, 1785, 1795, 1799, 1802, 1805, 1810, 1813,
703 1821, 1823, 1825, 1827, 1830, 1833, 1848, 1867, 1870, 1872,
704 1875, 1877, 1881, 1883, 1887, 1889, 1893, 1896, 1900, 1906,
705 1907, 1919, 1926, 1929, 1935, 1939, 1944, 1950, 1951, 1959,
706 1962, 1966, 1969, 1973, 1978, 1981, 1985, 1988, 1990, 1992,
707 1994, 2001, 2003, 2004, 2005, 2009, 2012, 2016, 2019, 2025,
708 2027, 2030, 2033, 2036, 2042, 2045, 2048, 2050, 2052, 2056,
709 2063, 2069, 2074, 2080, 2082, 2087, 2090, 2093, 2095, 2097,
710 2101, 2106, 2113, 2117, 2124, 2127, 2130, 2136, 2138, 2150,
711 2154, 2159, 2183, 2185, 2188, 2190, 2195, 2197, 2199, 2201,
712 2203, 2205, 2209, 2217, 2220, 2222, 2226, 2233, 2239, 2245,
713 2251, 2261, 2267, 2271, 2278, 2306, 2316, 2322, 2325, 2328,
714 2330, 2334, 2336, 2340, 2343, 2347, 2350, 2353, 2355, 2359,
715 2370, 2384, 2385, 2386, 2387, 2390, 2399, 2404, 2410, 2412,
716 2417, 2419, 2421, 2423, 2425, 2427, 2430, 2440, 2447, 2472,
717 2478, 2481, 2484, 2486, 2497, 2502, 2505, 2510, 2513, 2520,
718 2530, 2533, 2540, 2550, 2552, 2555, 2557, 2560, 2567, 2575,
719 2582, 2588, 2594, 2602, 2606, 2611, 2615, 2618, 2623, 2625,
720 2633, 2635, 2639, 2642, 2647, 2651, 2657, 2668, 2671, 2675,
721 2679, 2687, 2692, 2698, 2701, 2703, 2705, 2711, 2713, 2722,
722 2725, 2727, 2729, 2731, 2735, 2738, 2741, 2743, 2745, 2747,
723 2751, 2754, 2765, 2775, 2777, 2778, 2782, 2790, 2792, 2800,
724 2803, 2805, 2807, 2809, 2813, 2816, 2819, 2821, 2823, 2825,
725 2829, 2832, 2835, 2837, 2839, 2841, 2843, 2850, 2854, 2859,
726 2863, 2868, 2870, 2874, 2877, 2879, 2882, 2884, 2885, 2888,
727 2890, 2892, 2898, 2909, 2915, 2921, 2935, 2937, 2941, 2955,
728 2957, 2959, 2963, 2969, 2982, 2984, 2988, 3001, 3007, 3009,
729 3010, 3011, 3019, 3024, 3033, 3034, 3038, 3041, 3047, 3053,
730 3056, 3058, 3060, 3062, 3066, 3070, 3074, 3077, 3081, 3083,
731 3092, 3095, 3097, 3099, 3101, 3103, 3105, 3107, 3109, 3113,
732 3117, 3121, 3125, 3127, 3129, 3131, 3133, 3135, 3137, 3139,
733 3141, 3149, 3151, 3152, 3153, 3156, 3162, 3164, 3169, 3171,
734 3174, 3187, 3190, 3193, 3197, 3200, 3207, 3209, 3212, 3214,
735 3216, 3219, 3222, 3225, 3228, 3230, 3233, 3237, 3239, 3245,
736 3247, 3248, 3250, 3255, 3257, 3259, 3261, 3263, 3266, 3267,
737 3269, 3272, 3273, 3276, 3276, 3279, 3279, 3282, 3282, 3284,
738 3286, 3288, 3290, 3296, 3302, 3305, 3308, 3314, 3316, 3318,
739 3322, 3324, 3325, 3326, 3328, 3331, 3334, 3337, 3343, 3347,
740 3349, 3352, 3354, 3357, 3361, 3363, 3366, 3368, 3371, 3388,
741 3396, 3399, 3401, 3403, 3407, 3410, 3411, 3419, 3423, 3427,
742 3430, 3431, 3437, 3440, 3443, 3445, 3449, 3454, 3457, 3467,
743 3472, 3473, 3480, 3483, 3486, 3488, 3491, 3493, 3503, 3517,
744 3521, 3524, 3526, 3530, 3534, 3537, 3540, 3542, 3546, 3548,
745 3555, 3562, 3565, 3569, 3573, 3577, 3583, 3587, 3592, 3594,
746 3597, 3602, 3608, 3619, 3622, 3624, 3628, 3636, 3639, 3643,
747 3646, 3648, 3650, 3656, 3661, 3664, 3666, 3668, 3670, 3672,
748 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3692,
749 3694, 3696, 3698, 3700, 3702, 3704, 3706, 3708, 3710, 3712,
750 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3729, 3731
752 #endif
755 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
757 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
758 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
759 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
760 "CASE","DEFAULT","BREAK","CONTINUE","RETURN_KEYWORD","GOTO","ASM_KEYWORD","TYPEOF",
761 "ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","VA_ARG",
762 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
763 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
764 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
765 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
766 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
767 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
768 "POINTSAT","'.'","'('","'['","TRY","CATCH","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
769 "DEFARG","DEFARG_MARKER","PRE_PARSED_FUNCTION_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
770 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
771 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
772 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
773 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
774 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
775 "template_type_parm","template_template_parm","template_parm","template_def",
776 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
777 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
778 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
779 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
780 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
781 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
782 "apparent_template_type","self_template_type",".finish_template_type","template_close_bracket",
783 "template_arg_list_opt","template_arg_list","template_arg","unop","expr","paren_expr_or_null",
784 "paren_cond_or_null","xcond","condition","@20","compstmtend","already_scoped_stmt",
785 "@21","nontrivial_exprlist","nonnull_exprlist","unary_expr",".finish_new_placement",
786 ".begin_new_placement","new_placement","new_initializer","regcast_or_absdcl",
787 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
788 "unqualified_id","expr_or_declarator_intern","expr_or_declarator","notype_template_declarator",
789 "direct_notype_declarator","primary","@22","new","delete","boolean.literal",
790 "string","nodecls","object","decl","declarator","fcast_or_absdcl","type_id",
791 "typed_declspecs","typed_declspecs1","reserved_declspecs","declmods","typed_typespecs",
792 "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
793 "nomods_initdecls","maybeasm","initdcl","@23","initdcl0_innards","@24","initdcl0",
794 "notype_initdcl0","nomods_initdcl0","@25","maybe_attribute","attributes","attribute",
795 "attribute_list","attrib","any_word","identifiers_or_typenames","maybe_init",
796 "init","initlist","fn.defpen","pending_inline","pending_inlines","defarg_again",
797 "pending_defargs","structsp","@26","@27","@28","@29","@30","maybecomma","maybecomma_warn",
798 "aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
799 "named_complex_class_head_sans_basetype","named_class_head","@31","unnamed_class_head",
800 "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
801 "base_class_access_list","opt.component_decl_list","access_specifier","component_decl_list",
802 "component_decl","component_decl_1","components","notype_components","component_declarator0",
803 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
804 "after_type_component_declarator","notype_component_declarator","enumlist_opt",
805 "enumlist","enumerator","new_type_id","cv_qualifiers","nonempty_cv_qualifiers",
806 "suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator_intern",
807 "after_type_declarator","direct_after_type_declarator","nonnested_type","complete_type_name",
808 "nested_type","notype_declarator_intern","notype_declarator","complex_notype_declarator",
809 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
810 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
811 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
812 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
813 "absdcl_intern","absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
814 "label_decls","label_decl","compstmt_or_error","compstmt","@32","simple_if",
815 "@33","@34","implicitly_scoped_stmt","@35","stmt","simple_stmt","@36","@37",
816 "@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","@48","@49","function_try_block",
817 "@50","@51","try_block","@52","@53","handler_seq","handler","@54","@55","type_specifier_seq",
818 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
819 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
820 "complex_parmlist","defarg","@56","defarg1","parms","parms_comma","named_parm",
821 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
822 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
824 #endif
826 static const short yyr1[] = { 0,
827 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
828 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
829 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
830 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
831 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
832 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
833 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
834 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
835 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
836 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
837 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
838 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
839 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
840 161, 162, 162, 162, 162, 162, 162, 162, 162, 162,
841 163, 163, 163, 163, 163, 164, 164, 164, 165, 165,
842 165, 167, 166, 168, 166, 169, 166, 170, 166, 171,
843 166, 172, 166, 173, 166, 174, 166, 175, 176, 177,
844 177, 177, 178, 178, 179, 180, 181, 181, 182, 182,
845 183, 183, 184, 184, 184, 185, 185, 185, 185, 185,
846 186, 186, 187, 187, 188, 188, 189, 189, 189, 191,
847 190, 190, 192, 192, 192, 192, 194, 193, 193, 195,
848 195, 195, 195, 196, 196, 197, 197, 197, 197, 197,
849 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
850 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
851 198, 199, 200, 200, 201, 201, 201, 201, 202, 202,
852 203, 203, 203, 204, 204, 204, 204, 204, 204, 204,
853 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
854 204, 204, 204, 204, 204, 204, 204, 204, 205, 205,
855 205, 205, 205, 205, 205, 206, 207, 207, 208, 208,
856 208, 209, 209, 209, 210, 210, 211, 211, 211, 211,
857 212, 212, 213, 213, 213, 213, 214, 214, 214, 214,
858 214, 214, 214, 215, 214, 214, 214, 214, 214, 214,
859 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
860 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
861 214, 214, 214, 214, 214, 214, 214, 214, 214, 216,
862 216, 217, 217, 218, 218, 219, 219, 220, 221, 221,
863 222, 222, 222, 222, 222, 222, 223, 223, 224, 224,
864 225, 225, 225, 225, 225, 226, 226, 227, 227, 227,
865 227, 227, 227, 228, 228, 228, 228, 228, 229, 229,
866 229, 229, 229, 229, 230, 230, 230, 230, 231, 231,
867 232, 232, 232, 232, 232, 232, 232, 233, 233, 233,
868 234, 234, 235, 235, 236, 236, 237, 237, 239, 238,
869 238, 241, 240, 240, 242, 243, 245, 244, 244, 246,
870 246, 247, 247, 248, 249, 249, 250, 250, 250, 250,
871 250, 251, 251, 251, 251, 252, 252, 253, 253, 254,
872 254, 254, 254, 254, 255, 255, 255, 255, 255, 256,
873 257, 257, 257, 258, 258, 259, 259, 260, 260, 260,
874 262, 261, 263, 261, 261, 261, 261, 264, 265, 266,
875 261, 261, 267, 267, 268, 268, 269, 269, 269, 269,
876 269, 269, 270, 271, 271, 271, 272, 272, 272, 272,
877 272, 273, 274, 273, 273, 275, 276, 276, 277, 277,
878 277, 278, 278, 279, 279, 280, 280, 281, 281, 281,
879 281, 282, 282, 282, 282, 283, 284, 284, 285, 285,
880 285, 285, 285, 285, 285, 285, 285, 285, 286, 286,
881 286, 286, 286, 286, 286, 286, 286, 287, 287, 287,
882 288, 288, 288, 289, 289, 290, 290, 291, 291, 292,
883 292, 292, 292, 293, 293, 294, 294, 294, 295, 295,
884 296, 296, 297, 297, 298, 298, 298, 299, 299, 300,
885 300, 301, 302, 303, 303, 303, 303, 304, 304, 305,
886 305, 305, 305, 305, 305, 306, 306, 306, 306, 306,
887 306, 307, 307, 308, 308, 308, 309, 310, 310, 311,
888 311, 311, 311, 311, 311, 312, 312, 312, 312, 312,
889 312, 313, 313, 313, 313, 313, 313, 314, 314, 315,
890 315, 316, 316, 317, 317, 317, 318, 318, 318, 319,
891 319, 319, 320, 320, 320, 320, 321, 321, 322, 322,
892 322, 322, 323, 323, 323, 323, 324, 324, 324, 324,
893 324, 324, 325, 326, 326, 326, 327, 327, 328, 329,
894 329, 329, 329, 329, 329, 329, 330, 330, 331, 331,
895 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
896 332, 333, 333, 333, 333, 333, 333, 333, 333, 333,
897 333, 334, 334, 334, 334, 335, 336, 336, 337, 337,
898 338, 339, 339, 341, 340, 343, 344, 342, 345, 346,
899 345, 347, 347, 348, 348, 349, 348, 348, 350, 351,
900 348, 352, 353, 348, 354, 355, 356, 357, 348, 358,
901 359, 348, 360, 348, 361, 348, 362, 348, 348, 348,
902 348, 348, 348, 348, 348, 348, 348, 348, 348, 348,
903 348, 348, 348, 348, 348, 364, 365, 363, 367, 368,
904 366, 369, 369, 371, 372, 370, 373, 373, 374, 374,
905 375, 375, 375, 375, 376, 376, 376, 377, 377, 378,
906 378, 378, 379, 379, 380, 380, 381, 382, 382, 383,
907 383, 383, 384, 384, 384, 384, 384, 384, 384, 386,
908 385, 387, 387, 388, 388, 388, 388, 388, 389, 389,
909 390, 390, 390, 390, 390, 390, 391, 391, 392, 392,
910 393, 394, 394, 395, 395, 395, 396, 397, 397, 398,
911 398, 398, 398, 399, 400, 400, 400, 400, 400, 400,
912 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
913 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
914 400, 400, 400, 400, 400, 400, 400, 400, 400
917 static const short yyr2[] = { 0,
918 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
919 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
920 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
921 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
922 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
923 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
924 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
925 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
926 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
927 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
928 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
929 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
930 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
931 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
932 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
933 1, 0, 6, 0, 6, 0, 5, 0, 5, 0,
934 7, 0, 7, 0, 6, 0, 6, 0, 0, 5,
935 5, 1, 1, 5, 5, 0, 1, 1, 0, 1,
936 1, 3, 1, 1, 1, 1, 1, 1, 1, 1,
937 1, 1, 1, 3, 1, 3, 0, 1, 1, 0,
938 7, 1, 1, 3, 4, 3, 0, 3, 1, 3,
939 3, 3, 3, 1, 1, 1, 2, 2, 2, 2,
940 2, 2, 2, 4, 2, 4, 2, 3, 3, 4,
941 5, 6, 6, 7, 2, 4, 5, 2, 2, 6,
942 1, 0, 4, 4, 3, 1, 3, 2, 3, 4,
943 1, 2, 5, 1, 3, 3, 3, 3, 3, 3,
944 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
945 3, 3, 3, 5, 3, 3, 1, 2, 3, 3,
946 1, 1, 1, 1, 1, 0, 5, 5, 5, 5,
947 5, 1, 1, 1, 1, 2, 1, 2, 2, 3,
948 4, 4, 1, 1, 1, 3, 1, 1, 1, 1,
949 3, 3, 3, 0, 4, 4, 2, 4, 2, 4,
950 2, 2, 1, 4, 1, 7, 7, 7, 7, 4,
951 4, 2, 2, 2, 1, 4, 2, 2, 5, 3,
952 2, 2, 5, 3, 5, 3, 4, 6, 2, 1,
953 2, 1, 2, 1, 1, 1, 2, 0, 2, 2,
954 3, 3, 3, 2, 2, 2, 1, 1, 1, 2,
955 2, 2, 2, 1, 1, 1, 1, 2, 2, 3,
956 3, 3, 4, 1, 2, 2, 2, 1, 1, 1,
957 2, 2, 2, 1, 1, 2, 2, 3, 1, 2,
958 1, 1, 1, 4, 4, 4, 4, 1, 1, 1,
959 1, 3, 1, 3, 1, 3, 0, 4, 0, 6,
960 3, 0, 4, 1, 3, 3, 0, 4, 3, 0,
961 1, 1, 2, 6, 1, 3, 0, 1, 4, 6,
962 4, 1, 1, 1, 1, 1, 3, 0, 2, 1,
963 2, 3, 4, 1, 1, 3, 4, 3, 5, 1,
964 4, 3, 3, 0, 3, 3, 3, 0, 2, 2,
965 0, 6, 0, 5, 2, 2, 2, 0, 0, 0,
966 10, 1, 0, 1, 0, 1, 1, 2, 2, 2,
967 2, 2, 2, 2, 2, 2, 3, 4, 3, 2,
968 3, 1, 0, 3, 2, 2, 1, 1, 0, 2,
969 3, 1, 4, 1, 3, 1, 1, 2, 2, 3,
970 3, 0, 1, 3, 2, 2, 1, 2, 2, 2,
971 2, 2, 2, 2, 1, 2, 2, 3, 2, 2,
972 4, 4, 2, 1, 5, 4, 1, 0, 1, 3,
973 0, 1, 3, 1, 1, 1, 1, 4, 4, 4,
974 4, 4, 3, 4, 4, 4, 4, 3, 2, 1,
975 1, 3, 1, 3, 2, 1, 7, 0, 2, 1,
976 2, 0, 2, 4, 4, 2, 4, 1, 2, 3,
977 3, 2, 2, 3, 1, 4, 4, 3, 3, 2,
978 1, 1, 2, 1, 1, 2, 2, 1, 2, 3,
979 3, 2, 2, 3, 1, 3, 3, 2, 2, 3,
980 1, 4, 3, 4, 3, 1, 2, 2, 2, 2,
981 2, 1, 2, 4, 4, 2, 1, 1, 1, 1,
982 2, 4, 2, 2, 2, 2, 1, 2, 2, 2,
983 2, 3, 1, 2, 3, 4, 2, 2, 2, 2,
984 2, 2, 4, 2, 1, 2, 2, 3, 1, 3,
985 2, 3, 2, 2, 3, 1, 3, 4, 1, 2,
986 3, 2, 2, 1, 3, 2, 2, 1, 2, 3,
987 1, 3, 6, 4, 4, 3, 5, 3, 3, 3,
988 2, 1, 1, 2, 2, 2, 0, 1, 1, 2,
989 3, 1, 2, 0, 3, 0, 0, 5, 1, 0,
990 2, 1, 1, 1, 2, 0, 4, 1, 0, 0,
991 5, 0, 0, 7, 0, 0, 0, 0, 12, 0,
992 0, 7, 0, 5, 0, 7, 0, 4, 2, 2,
993 2, 3, 6, 8, 10, 12, 4, 3, 2, 2,
994 1, 1, 1, 1, 1, 0, 0, 6, 0, 0,
995 5, 1, 2, 0, 0, 5, 1, 1, 3, 3,
996 2, 2, 2, 2, 2, 1, 2, 0, 1, 0,
997 1, 1, 0, 1, 1, 3, 4, 1, 3, 0,
998 1, 1, 1, 2, 2, 2, 1, 2, 2, 0,
999 3, 1, 1, 1, 2, 2, 2, 4, 2, 2,
1000 2, 2, 2, 2, 1, 2, 1, 2, 1, 1,
1001 0, 0, 1, 0, 4, 2, 1, 1, 3, 0,
1002 3, 3, 3, 1, 2, 2, 2, 2, 2, 2,
1003 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1004 2, 2, 2, 2, 2, 2, 2, 3, 2, 2,
1005 2, 2, 3, 2, 2, 4, 4, 3, 2
1008 static const short yydefact[] = { 3,
1009 12, 12, 5, 0, 4, 0, 283, 637, 638, 0,
1010 390, 402, 580, 0, 11, 0, 0, 0, 10, 487,
1011 844, 0, 0, 0, 168, 669, 284, 285, 83, 0,
1012 0, 831, 0, 45, 0, 0, 13, 25, 0, 27,
1013 8, 0, 16, 15, 89, 110, 86, 0, 639, 172,
1014 304, 281, 305, 615, 0, 377, 0, 376, 395, 0,
1015 415, 394, 432, 401, 0, 502, 503, 509, 508, 507,
1016 482, 389, 604, 403, 605, 108, 303, 626, 602, 0,
1017 640, 578, 0, 0, 282, 81, 82, 179, 643, 179,
1018 644, 179, 286, 168, 141, 142, 143, 144, 145, 473,
1019 475, 0, 665, 0, 476, 0, 0, 0, 0, 142,
1020 143, 144, 145, 23, 0, 0, 0, 0, 0, 0,
1021 0, 477, 647, 0, 653, 0, 0, 0, 37, 0,
1022 0, 31, 0, 0, 47, 0, 179, 645, 0, 0,
1023 0, 613, 608, 0, 0, 0, 612, 0, 0, 0,
1024 0, 304, 0, 295, 582, 0, 0, 303, 578, 28,
1025 0, 26, 3, 46, 0, 64, 390, 0, 0, 8,
1026 67, 63, 66, 89, 0, 0, 0, 401, 90, 14,
1027 0, 430, 0, 0, 448, 87, 79, 646, 582, 0,
1028 578, 80, 0, 0, 0, 106, 0, 411, 367, 595,
1029 368, 601, 0, 578, 392, 391, 78, 109, 378, 0,
1030 413, 393, 107, 384, 408, 409, 379, 397, 399, 388,
1031 410, 0, 75, 433, 488, 489, 490, 491, 506, 150,
1032 149, 151, 493, 494, 173, 500, 492, 0, 0, 495,
1033 496, 509, 831, 505, 478, 581, 396, 0, 427, 638,
1034 0, 667, 172, 630, 631, 627, 607, 641, 0, 606,
1035 603, 0, 879, 875, 874, 872, 854, 859, 860, 0,
1036 866, 865, 851, 852, 850, 869, 858, 855, 856, 857,
1037 861, 862, 848, 849, 845, 846, 847, 871, 863, 864,
1038 853, 870, 0, 867, 777, 395, 778, 840, 286, 283,
1039 580, 308, 356, 0, 0, 0, 0, 0, 352, 350,
1040 323, 354, 355, 0, 0, 0, 0, 0, 284, 285,
1041 277, 0, 0, 187, 186, 0, 188, 189, 0, 0,
1042 190, 0, 0, 180, 181, 0, 251, 0, 254, 185,
1043 307, 216, 0, 0, 309, 310, 0, 183, 374, 395,
1044 375, 632, 335, 325, 0, 0, 0, 0, 179, 0,
1045 485, 471, 0, 666, 664, 0, 191, 192, 0, 0,
1046 0, 437, 3, 21, 29, 661, 657, 658, 660, 662,
1047 659, 141, 142, 143, 0, 144, 145, 649, 650, 654,
1048 651, 648, 0, 293, 294, 292, 629, 628, 33, 32,
1049 49, 0, 158, 0, 0, 395, 156, 0, 0, 609,
1050 611, 0, 610, 142, 143, 279, 280, 299, 0, 619,
1051 298, 0, 618, 0, 306, 284, 285, 0, 0, 0,
1052 297, 296, 623, 0, 0, 12, 0, 168, 9, 9,
1053 70, 0, 65, 0, 0, 71, 74, 0, 429, 431,
1054 122, 93, 127, 766, 0, 85, 84, 92, 125, 0,
1055 0, 123, 88, 625, 0, 0, 586, 0, 834, 0,
1056 0, 593, 588, 0, 592, 0, 0, 0, 0, 0,
1057 578, 430, 0, 77, 582, 578, 600, 0, 381, 382,
1058 0, 76, 430, 386, 385, 387, 380, 400, 417, 416,
1059 179, 497, 501, 499, 0, 504, 510, 0, 398, 430,
1060 578, 94, 0, 0, 0, 0, 578, 100, 579, 614,
1061 638, 668, 172, 0, 0, 868, 873, 397, 578, 578,
1062 0, 578, 878, 179, 0, 0, 0, 223, 0, 0,
1063 225, 238, 239, 0, 0, 0, 0, 0, 0, 278,
1064 222, 219, 218, 220, 0, 0, 0, 0, 0, 307,
1065 0, 0, 0, 217, 177, 178, 301, 0, 221, 0,
1066 0, 252, 0, 0, 0, 0, 0, 0, 0, 0,
1067 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1068 0, 0, 0, 0, 317, 0, 319, 321, 322, 360,
1069 359, 0, 0, 242, 242, 0, 227, 576, 0, 235,
1070 357, 349, 0, 0, 831, 338, 341, 342, 0, 0,
1071 369, 688, 684, 0, 582, 578, 578, 578, 371, 691,
1072 0, 636, 373, 0, 0, 372, 337, 0, 332, 351,
1073 333, 353, 633, 0, 334, 176, 176, 0, 166, 0,
1074 395, 164, 486, 573, 570, 0, 485, 571, 485, 0,
1075 404, 0, 0, 405, 406, 407, 443, 444, 445, 442,
1076 0, 435, 438, 0, 3, 0, 652, 179, 655, 0,
1077 41, 42, 0, 53, 0, 0, 57, 61, 50, 830,
1078 825, 0, 374, 395, 53, 375, 829, 59, 169, 154,
1079 152, 169, 176, 302, 617, 616, 306, 0, 620, 0,
1080 18, 20, 89, 9, 9, 73, 72, 0, 0, 358,
1081 0, 714, 91, 712, 454, 0, 450, 449, 215, 0,
1082 214, 583, 624, 0, 807, 0, 802, 395, 0, 801,
1083 803, 832, 814, 0, 0, 622, 589, 591, 590, 0,
1084 0, 0, 0, 0, 0, 578, 599, 0, 425, 424,
1085 412, 598, 0, 834, 594, 383, 414, 426, 430, 0,
1086 498, 637, 638, 831, 831, 639, 511, 512, 514, 831,
1087 517, 516, 0, 544, 638, 0, 535, 0, 0, 547,
1088 0, 121, 116, 0, 172, 548, 551, 0, 0, 527,
1089 0, 119, 428, 834, 800, 179, 179, 642, 179, 834,
1090 800, 578, 97, 578, 103, 877, 876, 840, 840, 840,
1091 0, 0, 0, 0, 636, 0, 0, 0, 0, 0,
1092 395, 0, 0, 0, 313, 0, 311, 312, 0, 249,
1093 182, 283, 637, 638, 284, 285, 0, 0, 455, 483,
1094 0, 276, 275, 792, 791, 0, 273, 272, 270, 271,
1095 269, 268, 267, 264, 265, 266, 262, 263, 257, 258,
1096 259, 260, 261, 255, 256, 0, 0, 0, 0, 0,
1097 242, 229, 246, 0, 0, 228, 578, 578, 0, 578,
1098 575, 676, 0, 0, 0, 0, 0, 340, 0, 344,
1099 0, 346, 0, 0, 687, 686, 679, 683, 682, 830,
1100 394, 0, 0, 701, 0, 0, 834, 370, 834, 689,
1101 578, 800, 582, 688, 684, 0, 0, 578, 0, 394,
1102 0, 0, 0, 0, 171, 175, 287, 169, 162, 160,
1103 169, 0, 474, 486, 569, 0, 213, 212, 211, 210,
1104 437, 0, 0, 24, 0, 0, 656, 0, 38, 44,
1105 43, 55, 52, 53, 0, 48, 0, 0, 688, 684,
1106 0, 821, 578, 824, 826, 0, 822, 823, 54, 493,
1107 0, 159, 169, 169, 157, 170, 300, 17, 19, 69,
1108 89, 418, 140, 146, 133, 147, 148, 0, 126, 129,
1109 0, 0, 0, 0, 713, 707, 451, 0, 124, 587,
1110 584, 806, 820, 809, 0, 585, 805, 819, 808, 804,
1111 833, 816, 827, 817, 810, 815, 836, 0, 0, 0,
1112 0, 422, 597, 596, 421, 176, 519, 518, 831, 831,
1113 831, 0, 578, 800, 543, 536, 548, 537, 430, 430,
1114 533, 534, 531, 532, 578, 800, 283, 637, 0, 417,
1115 117, 539, 549, 554, 555, 417, 417, 0, 0, 417,
1116 115, 540, 552, 417, 0, 430, 0, 528, 529, 530,
1117 430, 96, 0, 0, 0, 0, 102, 0, 834, 800,
1118 834, 800, 842, 841, 843, 288, 324, 224, 226, 0,
1119 330, 331, 0, 0, 0, 0, 312, 315, 0, 0,
1120 0, 0, 250, 0, 316, 318, 320, 0, 0, 0,
1121 0, 230, 248, 0, 0, 673, 671, 0, 674, 582,
1122 236, 0, 0, 179, 347, 0, 0, 0, 680, 685,
1123 681, 692, 578, 700, 698, 699, 690, 834, 0, 696,
1124 0, 0, 634, 635, 688, 684, 0, 0, 336, 167,
1125 169, 169, 165, 574, 572, 472, 436, 434, 283, 0,
1126 22, 30, 663, 56, 51, 58, 62, 0, 687, 683,
1127 688, 684, 0, 394, 602, 0, 578, 689, 60, 155,
1128 153, 68, 0, 131, 0, 135, 0, 137, 0, 139,
1129 0, 767, 0, 203, 715, 0, 708, 709, 0, 452,
1130 688, 684, 0, 307, 0, 632, 828, 0, 0, 837,
1131 838, 0, 0, 0, 0, 0, 0, 419, 174, 0,
1132 521, 520, 515, 834, 0, 538, 448, 448, 834, 0,
1133 0, 0, 430, 430, 0, 430, 430, 0, 430, 0,
1134 526, 479, 0, 448, 578, 290, 289, 291, 578, 99,
1135 0, 105, 0, 0, 0, 0, 0, 0, 0, 458,
1136 0, 456, 253, 274, 244, 243, 241, 231, 0, 245,
1137 247, 672, 670, 677, 675, 0, 237, 0, 0, 339,
1138 343, 345, 834, 694, 578, 695, 163, 161, 0, 439,
1139 441, 0, 687, 683, 688, 684, 0, 578, 607, 689,
1140 132, 130, 0, 0, 0, 0, 446, 0, 0, 283,
1141 637, 638, 716, 729, 732, 735, 740, 0, 0, 0,
1142 0, 0, 0, 0, 0, 284, 761, 769, 0, 788,
1143 765, 764, 763, 0, 724, 0, 0, 395, 0, 703,
1144 722, 728, 702, 723, 762, 0, 710, 453, 0, 635,
1145 818, 812, 813, 811, 0, 835, 423, 0, 513, 112,
1146 578, 542, 546, 114, 578, 430, 430, 563, 448, 283,
1147 637, 0, 550, 556, 557, 417, 417, 448, 448, 0,
1148 448, 553, 468, 541, 834, 834, 578, 578, 240, 0,
1149 0, 0, 0, 457, 0, 0, 232, 233, 678, 348,
1150 289, 697, 834, 0, 687, 683, 0, 689, 134, 136,
1151 138, 774, 768, 772, 0, 711, 706, 206, 781, 783,
1152 784, 0, 0, 720, 0, 0, 0, 747, 749, 750,
1153 751, 0, 0, 0, 0, 0, 0, 0, 782, 0,
1154 366, 789, 0, 725, 364, 417, 0, 365, 0, 417,
1155 0, 0, 0, 204, 705, 704, 726, 760, 759, 312,
1156 839, 420, 834, 834, 562, 559, 561, 0, 0, 430,
1157 430, 430, 558, 560, 545, 0, 95, 101, 834, 834,
1158 326, 327, 328, 329, 459, 0, 234, 693, 440, 688,
1159 684, 0, 0, 0, 773, 447, 195, 0, 717, 730,
1160 719, 0, 0, 0, 0, 0, 743, 0, 752, 0,
1161 758, 39, 145, 34, 145, 0, 35, 770, 0, 362,
1162 363, 0, 0, 0, 361, 205, 720, 111, 113, 430,
1163 430, 568, 448, 448, 470, 0, 469, 464, 98, 104,
1164 577, 394, 0, 775, 202, 0, 395, 0, 720, 0,
1165 733, 721, 707, 786, 736, 0, 0, 0, 0, 748,
1166 757, 40, 36, 0, 0, 727, 567, 565, 564, 566,
1167 0, 0, 481, 0, 0, 0, 196, 417, 718, 207,
1168 731, 209, 0, 787, 0, 785, 741, 745, 744, 771,
1169 793, 0, 467, 466, 460, 86, 89, 779, 780, 776,
1170 430, 707, 193, 0, 0, 199, 0, 198, 720, 0,
1171 0, 0, 794, 795, 753, 0, 465, 0, 208, 0,
1172 734, 737, 742, 746, 0, 793, 0, 0, 463, 0,
1173 462, 200, 194, 0, 0, 0, 754, 796, 461, 0,
1174 0, 797, 0, 0, 201, 738, 798, 0, 755, 0,
1175 0, 0, 739, 799, 756, 0, 0, 0
1178 static const short yydefgoto[] = { 1666,
1179 436, 2, 437, 165, 712, 332, 181, 3, 4, 37,
1180 675, 373, 1341, 676, 790, 1342, 1343, 393, 1447, 680,
1181 41, 791, 402, 686, 962, 687, 688, 689, 43, 172,
1182 173, 44, 455, 184, 180, 45, 46, 805, 1090, 811,
1183 1092, 47, 793, 794, 185, 186, 456, 719, 999, 1000,
1184 654, 1001, 234, 48, 984, 983, 702, 699, 1162, 1161,
1185 941, 938, 136, 982, 49, 236, 50, 935, 567, 333,
1186 334, 335, 336, 1344, 1615, 1509, 1617, 1556, 1650, 1205,
1187 1591, 1612, 367, 927, 337, 1278, 879, 606, 886, 338,
1188 339, 368, 341, 359, 52, 255, 681, 418, 154, 53,
1189 54, 342, 562, 343, 344, 345, 346, 457, 347, 1345,
1190 499, 627, 348, 1346, 56, 217, 692, 349, 218, 539,
1191 219, 197, 210, 60, 482, 500, 1368, 759, 1227, 198,
1192 211, 61, 510, 760, 62, 63, 671, 672, 673, 1318,
1193 462, 849, 850, 1606, 1607, 1583, 1547, 1486, 64, 659,
1194 361, 508, 1393, 1548, 1112, 655, 65, 66, 67, 68,
1195 69, 242, 70, 71, 244, 777, 778, 779, 780, 798,
1196 1077, 799, 800, 801, 1062, 1072, 1063, 1383, 1064, 1065,
1197 1384, 1385, 656, 657, 658, 607, 917, 351, 465, 466,
1198 191, 480, 473, 200, 73, 74, 75, 142, 143, 157,
1199 77, 132, 352, 353, 354, 79, 355, 81, 782, 123,
1200 124, 125, 515, 105, 82, 356, 891, 892, 912, 907,
1201 630, 1349, 1350, 1206, 1207, 1208, 723, 1351, 1006, 1352,
1202 1432, 1559, 1512, 1513, 1353, 1354, 1537, 1433, 1560, 1434,
1203 1593, 1435, 1595, 1644, 1660, 1436, 1619, 1569, 1620, 1518,
1204 458, 720, 1316, 1355, 1450, 1574, 1423, 1424, 1504, 1586,
1205 1558, 1554, 1356, 1565, 1453, 856, 1622, 1623, 1624, 1658,
1206 739, 913, 1026, 1219, 1364, 741, 742, 743, 1022, 744,
1207 148, 1024, 746, 1221, 1222, 533, 84, 85
1210 static const short yypact[] = { 193,
1211 240,-32768,-32768, 3063,-32768, 65, 34, 270, 329, 161,
1212 234,-32768,-32768, 1086,-32768, 219, 229, 281,-32768,-32768,
1213 -32768, 1933, 1911, 109, 211,-32768, 294, 521,-32768, 1916,
1214 1916,-32768, 968,-32768, 3063, 285,-32768,-32768, 332,-32768,
1215 206, 3343,-32768,-32768, 292, 826, 406, 349, 393,-32768,
1216 -32768,-32768,-32768, 638, 2972,-32768, 6660,-32768, 1411, 435,
1217 -32768, 432,-32768,-32768, 1373, 68,-32768, 391,-32768,-32768,
1218 427, 5972,-32768,-32768,-32768, 1267,-32768,-32768,-32768, 337,
1219 -32768,-32768, 522, 5462, 402,-32768,-32768, 11022,-32768, 11022,
1220 -32768, 11022,-32768,-32768,-32768, 270, 329, 294, 436,-32768,
1221 441, 393,-32768, 652,-32768, 522, 11113, 11113, 416,-32768,
1222 -32768,-32768,-32768,-32768, 250, 469, 535, 627, 667, 498,
1223 504,-32768,-32768, 1220,-32768, 921, 270, 329,-32768, 294,
1224 436,-32768, 385, 2061, 512, 7112, 11022,-32768, 11022, 3134,
1225 4234,-32768,-32768, 1595, 690, 4234,-32768, 1242, 5334, 5334,
1226 968, 484, 517,-32768, 544, 2098, 546, 577,-32768,-32768,
1227 633,-32768, 591,-32768, 2306,-32768,-32768, 211, 4047, 637,
1228 -32768,-32768,-32768, 292, 785, 7623, 879, 683,-32768,-32768,
1229 657, 432, 777, 146, 327, 696,-32768,-32768, 672, 80,
1230 -32768,-32768, 5572, 5572, 3786, 1267, 953,-32768,-32768, 673,
1231 -32768,-32768, 2992,-32768,-32768,-32768,-32768,-32768, 1411, 973,
1232 -32768, 432, 1267,-32768,-32768,-32768, 2784, 1411,-32768, 432,
1233 -32768, 785,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1234 -32768,-32768, 719,-32768, 393,-32768, 432, 1702, 1730,-32768,
1235 -32768, 391,-32768,-32768,-32768,-32768, 1256, 522,-32768, 603,
1236 714,-32768, 203,-32768,-32768,-32768,-32768,-32768, 6455,-32768,
1237 -32768, 418,-32768, 703, 710,-32768,-32768,-32768,-32768, 746,
1238 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1239 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1240 -32768,-32768, 720,-32768,-32768, 1256, 5972, 1276,-32768,-32768,
1241 728,-32768,-32768, 11751, 11842, 11933, 11933, 733,-32768,-32768,
1242 -32768,-32768,-32768, 742, 761, 780, 790, 792, 1076, 436,
1243 11204, 2019, 11933,-32768,-32768, 11933,-32768,-32768, 11933, 8604,
1244 -32768, 11933, 383, 800,-32768, 11933,-32768, 11295,-32768, 12387,
1245 239, 1022, 12153, 11386,-32768, 858, 3828,-32768, 1852, 2345,
1246 3504,-32768, 314,-32768, 1233, 2191, 383, 383, 11022, 7112,
1247 815,-32768, 2019,-32768,-32768, 763, 824, 12294, 782, 794,
1248 798, 2065, 591,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1249 -32768, 469, 535, 627, 2019, 667, 498, 819, 504,-32768,
1250 833,-32768, 1607, 270, 329,-32768,-32768,-32768,-32768,-32768,
1251 -32768, 4919,-32768, 785, 2686, 2442,-32768, 383, 924,-32768,
1252 -32768, 626,-32768, 834, 844,-32768,-32768,-32768, 4234,-32768,
1253 -32768, 4234,-32768, 821,-32768,-32768,-32768, 2098, 2098, 2098,
1254 -32768,-32768,-32768, 6455, 74, 839, 843,-32768,-32768,-32768,
1255 -32768, 7112,-32768, 1068, 1125,-32768,-32768, 633,-32768, 432,
1256 -32768,-32768,-32768,-32768, 104,-32768,-32768,-32768,-32768, 9155,
1257 11204,-32768,-32768,-32768, 11204, 848,-32768, 8288, 140, 7184,
1258 6969,-32768,-32768, 6969,-32768, 7067, 7067, 3786, 12113, 847,
1259 -32768, 432, 785,-32768, 851,-32768,-32768, 12050, 2784, 1411,
1260 785,-32768, 432,-32768,-32768, 432, 2784,-32768, 941,-32768,
1261 11022, 719,-32768,-32768, 1702,-32768, 1228, 4279, 1256, 432,
1262 -32768,-32768, 900, 913, 935, 917,-32768,-32768,-32768,-32768,
1263 786,-32768, 423, 887, 897,-32768,-32768, 1256,-32768,-32768,
1264 946,-32768,-32768, 11022, 11204, 728, 8604,-32768, 464, 8604,
1265 -32768,-32768,-32768, 11204, 11113, 6354, 6354, 6354, 6354, 12365,
1266 -32768,-32768,-32768,-32768, 930, 11478, 11478, 8604, 933, 253,
1267 939, 970, 948,-32768,-32768,-32768,-32768, 11022,-32768, 8695,
1268 8604,-32768, 11204, 11204, 9246, 11204, 11204, 11204, 11204, 11204,
1269 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204, 11204,
1270 11204, 11204, 11204, 11204,-32768, 11204,-32768,-32768,-32768,-32768,
1271 -32768, 11204, 11204,-32768,-32768, 5162, 446, 899, 9792,-32768,
1272 -32768,-32768, 988, 714, 1051, 501, 525, 536, 1486, 690,
1273 -32768, 2564, 2564, 4463, 952, 985, 1018,-32768,-32768, 676,
1274 10290, 820,-32768, 1422, 522,-32768,-32768, 11204,-32768,-32768,
1275 -32768,-32768,-32768, 171, 402,-32768,-32768, 383,-32768, 785,
1276 2744,-32768,-32768, 1016,-32768, 1002, 1027,-32768, 815, 819,
1277 -32768, 9519, 9610,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1278 141,-32768, 1004, 1011, 591, 1607, 1084, 11022,-32768, 1070,
1279 -32768,-32768, 2061, 2003, 1109, 336, 1094, 1099,-32768,-32768,
1280 3249, 7623, 3249, 2078, 1373, 5229,-32768, 1102,-32768,-32768,
1281 -32768,-32768,-32768,-32768,-32768,-32768, 1041, 1062,-32768, 1112,
1282 -32768,-32768, 292,-32768,-32768,-32768,-32768, 91, 1689, 1113,
1283 970,-32768,-32768,-32768,-32768, 8510, 12365,-32768, 824, 1073,
1284 12294,-32768,-32768, 1085,-32768, 1087, 556, 6399, 1091,-32768,
1285 144, 6794, 1146, 1161, 541,-32768,-32768,-32768,-32768, 6969,
1286 6969, 12067, 12067, 12113, 1422,-32768,-32768, 12050,-32768, 1163,
1287 -32768,-32768, 1101, 140,-32768, 2784,-32768,-32768, 432, 1154,
1288 -32768, 535, 627,-32768,-32768, 504, 1174,-32768,-32768, 101,
1289 -32768,-32768, 2039,-32768, 1005, 961,-32768, 11204, 6007,-32768,
1290 6007, 207, 207, 195, 598, 3977, 5869, 78, 5757,-32768,
1291 77, 207,-32768, 140, 7226, 11022, 11022,-32768, 11022, 140,
1292 7226,-32768,-32768,-32768,-32768,-32768,-32768, 1103, 1103, 1103,
1293 383, 1132, 1135, 10658, 1018, 1140, 12320, 1142, 1144, 1177,
1294 2553, 1178, 1179, 1180,-32768, 1150,-32768,-32768, 1164,-32768,
1295 -32768, 1243, 584, 775, 43, 87, 11204, 1247,-32768, 1236,
1296 1203, 12365, 12365,-32768,-32768, 1250, 4334, 8333, 5373, 4584,
1297 2780, 3183, 3879, 2798, 2798, 2798, 2213, 2213, 1136, 1136,
1298 453, 453, 453,-32768,-32768, 1207, 1212, 1213, 11204, 11113,
1299 -32768, 446,-32768, 9155, 11204,-32768,-32768,-32768, 11204,-32768,
1300 -32768, 1232, 11933, 1225, 1248, 1263, 1291,-32768, 11204,-32768,
1301 11204,-32768, 11204, 1403, 4133,-32768,-32768, 4133,-32768, 95,
1302 1403, 1234, 1240,-32768, 1230, 6354, 140,-32768, 140, 4524,
1303 -32768, 7226, 1238, 10474, 10474, 6104, 1245, 11295, 1246, 3522,
1304 4297, 2191, 1489, 1252,-32768,-32768,-32768,-32768,-32768,-32768,
1305 -32768, 11204,-32768, 2019,-32768, 1235,-32768, 12365,-32768, 12365,
1306 2065, 1258, 11569,-32768, 1255, 1290,-32768, 383,-32768,-32768,
1307 -32768,-32768,-32768, 978, 4919,-32768, 6354, 11022, 2667, 2667,
1308 4687,-32768,-32768,-32768,-32768, 2992,-32768,-32768,-32768, 1007,
1309 11204,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1310 292,-32768,-32768, 469,-32768, 667, 498, 11204, 1295,-32768,
1311 660, 665, 715, 970,-32768, 86,-32768, 169,-32768,-32768,
1312 -32768,-32768,-32768,-32768, 10382,-32768,-32768,-32768,-32768,-32768,
1313 -32768,-32768, 1161, 1310,-32768,-32768,-32768, 6354, 1768, 1768,
1314 2313,-32768,-32768,-32768, 1318,-32768,-32768,-32768,-32768,-32768,
1315 -32768, 2179,-32768, 7226, 12365,-32768, 1751,-32768, 432, 432,
1316 -32768,-32768,-32768,-32768,-32768, 7226, 370, 845, 11204, 941,
1317 -32768, 1324,-32768,-32768,-32768, 346, 460, 337, 690, 754,
1318 207, 1325,-32768, 874, 1323, 432, 6952,-32768,-32768,-32768,
1319 432,-32768, 1279, 383, 383, 383,-32768, 1280, 140, 7226,
1320 140, 7226,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 6354,
1321 -32768,-32768, 1302, 1303, 1312, 1313, 1041,-32768, 12228, 9155,
1322 8789, 1294,-32768, 11204,-32768,-32768,-32768, 1300, 1306, 1309,
1323 6354,-32768,-32768, 1314, 405, 668, 668, 1326, 668,-32768,
1324 -32768, 11933, 1413, 11022,-32768, 1315, 1316, 1321,-32768,-32768,
1325 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 140, 1327,-32768,
1326 1332, 3522,-32768,-32768, 2900, 2900, 4836, 4542,-32768,-32768,
1327 -32768,-32768,-32768, 12365,-32768,-32768,-32768,-32768, 168, 1328,
1328 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 4127, 3682, 3682,
1329 4392, 4392, 4687, 5093, 75, 2992,-32768, 4939, 12387,-32768,
1330 -32768,-32768, 1339,-32768, 477,-32768, 11204,-32768, 11204,-32768,
1331 11204,-32768, 2019,-32768,-32768, 8083, 1416,-32768, 8880,-32768,
1332 10566, 10566, 8176, 166, 1342, 213,-32768, 9155, 8971,-32768,
1333 -32768, 183, 3274, 3274, 2454, 2454, 9155,-32768,-32768, 1228,
1334 -32768,-32768,-32768, 140, 1345,-32768, 1389, 1389, 140, 1348,
1335 11204, 11204, 7877, 432, 5628, 432, 432, 1628, 432, 7846,
1336 -32768,-32768, 7465, 1389,-32768,-32768, 1404,-32768,-32768,-32768,
1337 1355,-32768, 1356, 1357, 11204, 11204, 11204, 11204, 9155,-32768,
1338 1406,-32768,-32768, 12365,-32768,-32768,-32768, 567, 1309,-32768,
1339 -32768,-32768,-32768,-32768,-32768, 1362,-32768, 1419, 383,-32768,
1340 -32768,-32768, 140,-32768,-32768,-32768,-32768,-32768, 11204,-32768,
1341 -32768, 5093, 3682, 3682, 5033, 5033, 6232,-32768, 399, 4939,
1342 -32768,-32768, 1367, 1374, 1377, 1385,-32768, 1128, 209, 1424,
1343 942, 1030,-32768,-32768,-32768,-32768,-32768, 11204, 1425, 1434,
1344 1438, 10749, 276, 2019, 876, 503,-32768,-32768, 10840, 1491,
1345 -32768,-32768,-32768, 1444,-32768, 6555, 7346, 7829, 7962,-32768,
1346 -32768, 1490,-32768,-32768,-32768, 9901,-32768,-32768, 1400, 457,
1347 -32768,-32768,-32768,-32768, 6354,-32768,-32768, 9155,-32768,-32768,
1348 -32768,-32768,-32768,-32768,-32768, 7877, 7877,-32768, 1389, 640,
1349 1063, 11204,-32768,-32768,-32768, 941, 941, 1389, 1389, 786,
1350 1389,-32768,-32768,-32768, 140, 140,-32768,-32768,-32768, 1407,
1351 1408, 1418, 1421,-32768, 9155, 11204,-32768, 567,-32768,-32768,
1352 -32768,-32768, 140, 1423, 4744, 4744, 1422, 5645,-32768,-32768,
1353 -32768,-32768, 1385,-32768, 2019,-32768,-32768,-32768,-32768,-32768,
1354 -32768, 717, 717, 970, 1426, 1439, 12151,-32768,-32768,-32768,
1355 -32768, 1478, 11204, 1479, 1477, 1493, 2171, 2220,-32768, 970,
1356 -32768,-32768, 1457,-32768,-32768, 941, 1130,-32768, 1143, 941,
1357 10931, 1147, 259,-32768,-32768,-32768,-32768,-32768,-32768, 514,
1358 -32768,-32768, 140, 140,-32768,-32768,-32768, 11204, 11204, 7877,
1359 432, 432,-32768,-32768,-32768, 7714,-32768,-32768, 140, 140,
1360 -32768,-32768,-32768,-32768,-32768, 1440,-32768,-32768,-32768, 6224,
1361 6224, 12020, 2413, 1461,-32768,-32768,-32768, 11113,-32768,-32768,
1362 -32768, 1540, 10197, 8419, 11113, 11204,-32768, 10009,-32768, 1498,
1363 -32768,-32768, 1506,-32768, 1493, 2171,-32768,-32768, 633,-32768,
1364 -32768, 11660, 11660, 9064,-32768,-32768, 970,-32768,-32768, 7877,
1365 7877,-32768, 1389, 1389,-32768, 9701,-32768,-32768,-32768,-32768,
1366 -32768, 2413, 12233,-32768,-32768, 1455, 236, 785, 970, 10103,
1367 -32768,-32768, 86,-32768,-32768, 1503, 1458, 12343, 10009,-32768,
1368 -32768,-32768,-32768, 1385, 88,-32768,-32768,-32768,-32768,-32768,
1369 1464, 12250, 1466, 1465, 1472, 970,-32768, 941,-32768,-32768,
1370 -32768,-32768, 730,-32768, 9337,-32768,-32768,-32768,-32768, 1385,
1371 1563, 1521,-32768,-32768,-32768, 406, 292,-32768,-32768,-32768,
1372 432, 86,-32768, 11204, 1523,-32768, 1524,-32768, 970, 10009,
1373 1496, 322, 1526,-32768,-32768, 174,-32768, 1525,-32768, 1487,
1374 -32768,-32768,-32768,-32768, 11204, 1563, 1541, 1563,-32768, 104,
1375 -32768,-32768,-32768, 9428, 1501, 737,-32768,-32768,-32768, 9155,
1376 1507,-32768, 1615, 1557,-32768,-32768,-32768, 264,-32768, 10103,
1377 1617, 1570,-32768,-32768,-32768, 1634, 1636,-32768
1380 static const short yypgoto[] = {-32768,
1381 1640,-32768, -337, 1471, -366, 7, 9, 1643,-32768, 1611,
1382 -32768,-32768, 378,-32768, 421,-32768, 433,-32768, 200, 974,
1383 49, 12,-32768,-32768, -669,-32768,-32768, 689, 54, 1488,
1384 1216, 1505, -719, 72, -166, 20, 55,-32768,-32768,-32768,
1385 -32768,-32768, 864,-32768,-32768,-32768,-32768,-32768,-32768, 485,
1386 263,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1387 -32768,-32768, 1561, -633, 7245, 1441, -56, -592, -142, -55,
1388 1543, -547,-32768, 597,-32768, 254,-32768, -1415,-32768, -1315,
1389 29,-32768, 1382, -308, -259, 412, -562,-32768, -821, 6016,
1390 609, 1301, 4427, 1398, -327, -58, -83, 2389, -115, -46,
1391 186,-32768,-32768,-32768, -331,-32768, -156,-32768,-32768, -1262,
1392 -41, -341, 6520, 48, 2180, -146, 23, 468, -207, -4,
1393 -73, -168, -170, 31, -16, 145,-32768, -364,-32768,-32768,
1394 -32768,-32768,-32768, 554, 1522, 90,-32768, 748,-32768,-32768,
1395 -1167, -445, 976,-32768,-32768,-32768,-32768,-32768, -39,-32768,
1396 -32768,-32768,-32768,-32768,-32768, 1043, -354,-32768,-32768,-32768,
1397 -32768,-32768,-32768,-32768, 1480,-32768, 473, 666,-32768,-32768,
1398 -32768, 636, -732,-32768,-32768,-32768,-32768,-32768,-32768, 927,
1399 -32768, 475, 1055,-32768, 799, 1139, 4626, 106, 39, -463,
1400 1536, 2692, -51,-32768, -484,-32768, 14, 1904, 4571, -117,
1401 1251, -70, 5237, 1391,-32768, 6116, 2491, 537, -13, -107,
1402 -32768, 1618, -68,-32768, 5603, 3459, -81,-32768, 2857, 410,
1403 -32768,-32768, 401,-32768,-32768, 545, 113, -315,-32768,-32768,
1404 -32768,-32768, -1442,-32768, -1255, -1435,-32768,-32768,-32768,-32768,
1405 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1406 132,-32768,-32768,-32768,-32768,-32768, 189, -1347,-32768,-32768,
1407 -45,-32768,-32768,-32768,-32768, -1433, 128,-32768, 127,-32768,
1408 -690, -376, 744,-32768,-32768,-32768,-32768, -390,-32768, -384,
1409 -177,-32768, 813, 403,-32768, 304,-32768, -234
1413 #define YYLAST 12472
1416 static const short yytable[] = { 59,
1417 1004, 490, 178, 199, 435, 445, 444, 443, 632, 122,
1418 35, 697, 36, 196, 728, 42, 516, 698, 392, 221,
1419 841, 763, 781, 253, 642, 979, 57, 103, 641, 182,
1420 59, 420, 423, 256, 357, 674, 358, 59, 298, 509,
1421 432, 35, 880, 36, 538, 541, 42, 695, 169, 398,
1422 399, 55, 209, 42, 936, 391, 1046, 57, 1048, 249,
1423 1122, 174, 489, 400, 176, 507, 1078, 247, 985, 1372,
1424 1373, 497, 177, 713, 397, 1505, 1451, 1562, 572, 296,
1425 1566, 408, 55, 350, 611, 350, 1394, 350, 528, 175,
1426 170, 740, 190, 1466, 1576, 171, 260, 256, 611, 1567,
1427 1469, 611, 350, 350, 721, -144, 1012, 1040, 88, 72,
1428 986, 208, 127, 128, 1083, 1075, 1589, 137, 1203, 364,
1429 1088, 645, -601, 199, 1592, 86, 240, 467, 768, 178,
1430 241, 406, 350, 196, 350, 141, 146, 1079, 1041, 724,
1431 72, 138, 528, 495, 498, 803, 452, 72, 519, -145,
1432 1601, 224, 730, 129, 1013, 1017, 256, 1014, 405, 736,
1433 59, 915, 722, 26, 59, 130, 131, -601, -601, 221,
1434 199, 209, 468, 87, 1639, 169, 1633, 221, 221, 1618,
1435 42, 710, -601, 404, 440, 1080, 1076, 57, 174, 297,
1436 403, 176, -1, 190, 1204, 1602, 493, 825, 992, 177,
1437 951, 745, 840, 1018, -358, 523, 1019, 221, 453, 309,
1438 1651, 1477, 55, -304, 646, 647, 175, 170, 155, 1051,
1439 1483, 1484, 171, 1485, 1592, 26, 822, 1299, 1209, 224,
1440 208, 1149, -358, 15, 1002, 93, 453, -417, 190, -2,
1441 454, 72, 1365, 215, 216, 224, 839, 1594, 952, 14,
1442 517, 1564, 1505, 1052, 419, 422, 221, 1053, -304, -304,
1443 -626, 260, 1570, 617, 163, 703, 704, -417, 454, 1427,
1444 72, -417, 20, -297, 72, 1300, 101, 1210, 95, 110,
1445 111, 23, 94, 621, 115, 135, 595, 876, 616, 1054,
1446 1366, 718, 247, 877, 1174, 518, 1629, 608, 471, 474,
1447 595, 224, 164, 648, 1160, -626, -626, 1163, 374, 224,
1448 221, 107, 642, 1599, 375, -417, 677, 1428, 1121, 1427,
1449 -626, 108, 682, 1661, 89, 350, 224, 233, 824, 934,
1450 964, 596, 112, 113, 155, 155, 155, 955, 296, 7,
1451 8, 250, 10, 766, 90, 596, 247, 990, 991, 1190,
1452 1191, 697, 199, 1235, 350, 651, 1443, 1023, 420, 423,
1453 -297, 637, 700, 432, 1634, 1240, 221, 1536, 137, 260,
1454 -367, 1662, 15, 109, 459, 1579, 1580, 161, 21, 516,
1455 155, 38, 405, 91, 1636, 251, 388, 300, 394, 395,
1456 10, 460, 162, 27, 28, 965, 632, 694, 179, 1261,
1457 209, 1263, 178, 92, -367, 1005, 638, 650, -367, 187,
1458 416, 966, 38, 685, 649, 495, 498, 252, 747, 461,
1459 1177, 8, 521, 495, 39, 32, 21, 747, 740, 1637,
1460 183, 199, 1241, 251, 740, 498, 40, 59, 1123, 199,
1461 -367, 27, 320, 1229, 88, 770, -600, 188, 297, 221,
1462 221, 795, 621, 243, 498, 39, 1407, 221, 565, 1151,
1463 566, 715, 18, 738, 176, 72, 363, 40, -306, 221,
1464 814, 58, 177, 32, 130, 131, 299, 993, 821, 994,
1465 772, 773, 769, -306, -368, 245, 15, -306, 221, 175,
1466 138, -600, -600, 883, 222, 223, 350, 824, 522, 362,
1467 502, 504, 58, 59, -306, 937, -600, 696, 372, 58,
1468 884, 621, 1281, 514, 789, 815, -306, -306, -368, -306,
1469 1078, -306, -368, 376, 995, 8, 9, 1297, 1298, 350,
1470 797, 26, 350, 996, 997, 350, 593, 594, 885, 224,
1471 350, 831, 831, 831, 831, 740, 989, 72, 898, -306,
1472 -306, 295, 380, 350, -368, 796, 824, 781, 381, 224,
1473 608, -306, 792, 350, -306, 1449, 350, 1012, 224, 998,
1474 1118, 1119, 900, 696, 697, 138, 1124, 137, 130, 131,
1475 698, 750, 751, 902, 551, 224, 1497, 401, 1027, 377,
1476 1136, -297, 1137, 899, 1138, 139, 1037, 1038, 199, 960,
1477 642, 296, 1042, 58, 641, 682, -306, -306, 939, 90,
1478 695, 221, 961, 72, 883, 1013, 258, 901, 1014, 694,
1479 -830, -300, 958, 528, 425, 660, 738, 761, 903, 127,
1480 128, 884, 58, 1028, 670, 767, 58, 189, 89, 199,
1481 258, 199, 199, 303, 1170, 1055, -142, 660, 260, 972,
1482 511, 977, 978, 433, 221, 8, 9, 91, 90, 885,
1483 1406, 155, 155, 155, 1270, 1272, 1286, 740, 572, 258,
1484 122, 127, 128, 350, 363, 392, 519, 92, 1096, 740,
1485 258, 378, 130, 131, -621, -582, 199, 209, 1202, 1193,
1486 1056, 247, 495, 127, 128, 512, 978, 645, 221, -7,
1487 363, 92, 1478, 366, 370, 1003, 522, 1196, 130, 131,
1488 1002, 297, 1198, 740, 88, 740, 95, 110, 111, 513,
1489 -582, 379, 26, 921, 130, 131, 221, 905, 908, 696,
1490 -582, 189, 795, 164, 795, 449, 696, 694, 887, 258,
1491 795, 137, 795, 447, 1066, 781, 130, 131, 888, 448,
1492 1084, 1085, 1197, 1086, 1061, 21, 463, 1199, 629, 633,
1493 636, 889, 1200, 1272, 1507, -582, 485, 771, 922, 923,
1494 112, 113, 1361, 1363, 258, 1049, 1050, 1613, -120, 451,
1495 15, 1367, 464, 825, 59, 1081, 59, 7, 8, 9,
1496 10, 221, 209, 501, 59, 789, 524, 789, 258, 1653,
1497 694, 350, 350, 525, 350, 789, 694, 1201, 526, 1508,
1498 295, 797, -120, 797, 432, 1173, -120, 95, 110, 111,
1499 535, 797, 1614, 1404, 1192, 544, 21, 58, -578, 91,
1500 527, -578, 848, 812, 545, 546, 796, -143, 1047, 26,
1501 91, 27, 28, 792, 1654, 792, 796, 696, -120, 92,
1502 1060, 1070, 15, 792, 547, 193, -417, 1029, 1030, 568,
1503 92, 1230, 1231, 1232, 548, 194, 549, 918, 611, 693,
1504 661, 112, 113, 32, 653, 350, 896, 195, 813, -578,
1505 1125, -578, -578, 662, -578, -417, -417, 679, 1313, 664,
1506 1314, 258, 1315, 678, 72, -578, 72, -578, -118, 89,
1507 15, 665, 127, 128, 72, 666, 1640, 1242, 90, 58,
1508 696, 831, -578, -578, 542, 543, 696, 694, 92, 90,
1509 129, 738, 1472, 116, 117, 118, 559, -578, 707, 256,
1510 26, 552, -118, 1446, 553, 693, -118, 554, 222, 446,
1511 564, 1256, 1257, 1258, 569, 260, 963, -6, 258, 127,
1512 128, 711, 610, 26, 757, 130, 131, 980, 733, 1495,
1513 694, 762, 831, 350, 127, 128, 694, 15, -118, 887,
1514 7, 127, 128, 10, 806, 58, 685, 119, 120, 888,
1515 95, 110, 111, 568, 225, 226, 227, 807, 848, 808,
1516 1414, 809, 889, 224, 363, 1066, 89, 816, 18, 565,
1517 224, 566, 130, 131, 1430, 1061, 825, 817, 18, 21,
1518 738, 253, 483, 484, 228, 26, 90, 130, 131, 224,
1519 795, 256, 26, 831, 27, 28, 252, 696, 722, 905,
1520 908, 696, 491, 492, 112, 113, 432, 835, 149, 694,
1521 837, 258, 895, 1244, 1282, 1283, 838, 1285, 150, 1246,
1522 1247, 694, 1043, 1244, 1249, 840, 32, 1247, 897, 91,
1523 151, 732, 914, 420, 423, 918, -52, 258, 432, 597,
1524 696, -52, 59, 295, 1179, 1180, 696, 916, 1289, 92,
1525 942, 501, -52, 789, 91, 694, 944, 694, 95, 96,
1526 97, 693, 1431, 420, 423, 831, 953, 1044, 693, 797,
1527 974, 1060, 629, 633, 92, 636, 127, 128, 598, 599,
1528 943, 519, 600, 601, 602, 603, 831, 89, 1511, 954,
1529 696, 1093, 1094, 1095, 796, 1479, 747, 483, 716, 350,
1530 959, 792, 747, 559, 1528, -184, 559, 90, 957, 256,
1531 26, 828, 98, 99, 100, 20, 1411, 633, -300, 696,
1532 137, -184, 694, -184, 559, 258, 155, 26, 967, 130,
1533 131, 696, 697, 968, 552, 553, 981, 559, 1585, 987,
1534 258, 855, 988, 529, 747, 453, 1459, 1457, 694, 1462,
1535 1009, 1003, 72, 530, 491, 717, 432, 1425, 1426, 483,
1536 1530, 523, 1010, 1386, 1011, 696, 795, 696, 1016, 878,
1537 155, 1348, 491, 1531, 1655, 894, 483, 1535, 738, 693,
1538 -829, 1033, 1339, 670, 1340, 825, 590, 591, 592, 593,
1539 594, 1511, 382, 383, 384, 1025, 963, 1032, 1347, 1036,
1540 116, 772, 773, 1039, 774, 300, 8, 9, 10, 1097,
1541 633, 224, 1098, 1511, 95, 414, 415, 1099, 59, 1101,
1542 747, 1102, 1103, 1104, 1105, 1106, 58, 1107, 58, 789,
1543 905, 908, 696, 215, 216, 775, 58, 224, 385, 14,
1544 1610, 1108, 693, 224, 21, 797, 386, 387, 693, 127,
1545 128, 251, 26, 158, 119, 120, 1303, 1304, 696, 27,
1546 320, 258, 20, 15, 199, 1111, 199, -417, 98, 113,
1547 796, 23, 694, 1511, 1456, -141, 1456, 792, 221, 1110,
1548 1113, 72, 1114, 1139, 1115, 224, 1303, 1304, 696, 1116,
1549 1139, 32, 1035, 1117, 724, 1130, -417, -417, 1029, 1030,
1550 26, -417, 130, 131, 1348, 1132, 1133, 1134, 1135, 1139,
1551 1144, 1142, 209, 1166, 1348, 1339, 529, 1143, 1150, 528,
1552 1172, 1348, 1153, 1154, 1195, 1339, 530, 1340, 72, 1159,
1553 831, 1347, 1339, 1171, 1340, 1168, 155, 155, 155, 1481,
1554 1482, 1347, 1575, 1271, 1218, 95, 96, 97, 1347, 225,
1555 226, 227, 1228, 1245, 1250, 1251, 1255, 1259, 340, 693,
1556 340, 224, 340, 693, 1265, 1266, 155, 155, 155, 158,
1557 158, 158, 1273, 18, 1267, 1268, 127, 128, 1275, 228,
1558 1415, 1416, 696, 1276, 420, 423, 1277, 214, 215, 216,
1559 1288, 1280, 1290, 1291, 14, 8, 9, 26, 1292, 98,
1560 99, 229, 693, 18, 1295, 1301, 1284, 340, 693, 340,
1561 1627, 18, 1296, 493, 72, 158, 1311, 20, 1203, 1360,
1562 621, 747, 1371, 460, 72, 1375, 23, 26, -663, 130,
1563 131, 72, 1397, 1398, 1399, 1317, 1410, 258, 1405, 258,
1564 363, 1271, 1409, 622, 1419, 230, 231, 232, 130, 131,
1565 1422, 1420, 693, 623, 1421, 1128, 1429, 1438, 300, 127,
1566 128, 10, 8, 9, 1439, 624, 625, 694, 1440, 1452,
1567 747, 1131, 252, 1557, 1454, 1467, 199, 1470, 1348, 1348,
1568 1557, 693, 258, 1348, 1491, 1492, 1588, 221, 1514, 1339,
1569 1339, 1340, 559, 693, 1339, 1493, 1340, 21, 1494, 350,
1570 1499, 1515, 552, 553, 251, 1347, 1347, 363, 1519, 1521,
1571 1347, 375, 27, 320, 58, 130, 131, 1522, 694, 1529,
1572 1551, 140, 140, 1553, 156, 1348, 1561, 693, 1571, 693,
1573 1572, 1139, 1587, 1596, 1348, 1597, 1339, 1605, 1340, 522,
1574 1603, 1611, 1608, 1621, 32, 1339, 1034, 1340, 212, 1609,
1575 220, 1625, 1347, 1631, 1632, 1638, 237, 1139, 1635, 1642,
1576 1557, 1347, 224, 1139, 1643, 1444, 1445, 7, 127, 128,
1577 10, 1647, 1237, 1238, 258, 1415, 1416, 696, 1652, 300,
1578 394, 395, 10, 297, 1656, 1348, 1082, 1659, 72, 72,
1579 297, 550, 1087, 72, 693, 1657, 1339, 1664, 1340, 1252,
1580 1665, 127, 1390, 1667, 1254, 1668, 21, 750, 751, 1,
1581 442, 224, 1347, 251, 5, 160, 155, 1526, 21, 956,
1582 693, 27, 28, 1175, 360, 1348, 441, 714, 696, 340,
1583 1071, 26, 140, 27, 320, 72, 1339, 140, 1340, 439,
1584 156, 156, 156, 58, 72, 252, 363, 1626, 503, 1312,
1585 693, 409, 1347, 32, 130, 131, 1510, 1506, 1663, 993,
1586 1408, 994, 772, 773, 258, 32, 534, 212, 1167, 945,
1587 297, 1008, 1369, 450, 95, 96, 97, 1233, 522, 1524,
1588 1527, 1139, 1253, 946, 470, 470, 479, 155, 155, 155,
1589 58, 506, 258, 1073, 1392, 72, 158, 158, 158, 1145,
1590 220, 1146, 95, 96, 97, 486, 995, 618, 496, 220,
1591 1287, 390, 1165, 26, 882, 996, 997, -128, -128, 1465,
1592 363, 1357, 1649, 1057, 1058, 9, 10, 1641, 98, 99,
1593 727, 731, 1600, 1646, 1648, 72, 1217, 1471, 731, 0,
1594 0, 8, 9, 0, 693, 0, 246, 0, 0, 0,
1595 140, 998, 0, 0, 258, 0, 98, 99, 1573, 0,
1596 0, 0, 21, 0, 0, 0, 1378, 1379, 18, 1388,
1597 1389, 340, 1391, 0, 0, 26, 58, 27, 28, 559,
1598 0, 1236, 0, 1059, 0, 0, 58, 0, 0, 552,
1599 553, 193, 26, 58, 130, 131, 0, 0, 0, 0,
1600 0, 194, 0, 0, 340, 731, 0, 0, 1223, 32,
1601 0, 0, 729, 195, 827, 0, 0, 0, 1224, 729,
1602 0, 156, 0, 0, 0, 127, 128, 0, 0, 0,
1603 1225, 1400, 1401, 1402, 1403, 0, 0, 0, 340, 0,
1604 727, 0, 0, 852, 853, 0, 857, 858, 859, 860,
1605 861, 862, 863, 864, 865, 866, 867, 868, 869, 870,
1606 871, 872, 873, 874, 875, 0, 731, 0, 0, 621,
1607 0, 1260, 731, 1262, 0, 0, 26, 0, 130, 131,
1608 0, 0, 1139, 116, 117, 118, 729, 0, 7, 127,
1609 128, 10, 622, 0, 13, 0, 212, 220, 1442, 1475,
1610 1476, 731, 623, 0, 147, 95, 110, 111, 731, 0,
1611 140, 0, 0, 140, 624, 625, 18, 564, 0, 156,
1612 156, 156, 0, 258, 0, 140, 0, 21, 0, 0,
1613 1294, 1139, 948, 950, 0, 26, 0, 119, 120, 693,
1614 26, 0, 27, 28, 0, 295, 0, 729, 340, 0,
1615 58, 58, 295, 729, 0, 58, 30, 0, 0, 112,
1616 113, 114, 470, 0, 0, 470, 31, 479, 479, 479,
1617 0, 0, 1496, 450, 32, 382, 383, 384, 33, 470,
1618 496, 220, 729, 0, 450, 0, 0, 0, 496, 729,
1619 693, 95, 110, 111, 0, 0, 727, 58, 0, 0,
1620 0, 450, 0, 1542, 1543, 1544, 58, 0, 0, 1520,
1621 0, 116, 772, 773, 411, 0, 1370, 0, 0, 413,
1622 0, 1374, 0, 0, 0, 0, 0, 26, 156, 386,
1623 387, 156, 295, 300, 394, 395, 10, 95, 110, 111,
1624 0, 667, 668, 669, 0, 112, 113, 156, 156, 156,
1625 7, 8, 9, 10, 214, 215, 216, 58, 1045, 0,
1626 0, 14, 156, 1577, 1578, 119, 120, 147, 0, 0,
1627 300, 0, 21, 10, 1555, 1412, 340, 340, 18, 340,
1628 855, 1555, 0, 0, 20, 0, 0, 27, 320, 21,
1629 0, 112, 113, 23, 731, 621, 0, 58, 18, 0,
1630 559, 0, 26, 0, 27, 28, 0, 0, 0, 21,
1631 552, 553, 0, 904, 904, 911, 0, 1109, 969, 32,
1632 0, 0, 930, 0, 426, 427, 0, 0, 970, 0,
1633 0, 0, 520, 0, 1628, 0, 32, 0, 428, 0,
1634 971, 625, 220, 95, 110, 111, 0, 0, 429, 731,
1635 731, 116, 772, 773, 727, 731, 32, 0, 0, 0,
1636 430, 1555, 0, 639, 8, 9, 10, 0, 0, 731,
1637 0, 731, 0, 731, 0, 729, 0, 1487, 1488, 0,
1638 1630, 0, 0, 212, 0, 220, 237, 0, 0, 0,
1639 0, 158, 95, 110, 111, 1498, 0, 112, 1523, 309,
1640 640, 1645, 21, 26, 0, 119, 120, 0, 0, 0,
1641 855, 0, 1164, 0, 0, 26, 0, 130, 131, 0,
1642 0, 0, 0, 731, 0, 0, 0, 0, 0, 220,
1643 729, 729, 0, 0, 0, 158, 729, 0, 340, 0,
1644 0, 470, 470, 479, 479, 479, 112, 1525, 0, 470,
1645 729, 1189, 729, 0, 729, 1538, 1539, 496, 0, 0,
1646 450, 588, 589, 590, 591, 592, 593, 594, 731, 0,
1647 0, 1549, 1550, 0, 0, 0, 6, 0, 7, 8,
1648 9, 10, 11, 12, 13, 731, 8, 9, 212, 14,
1649 0, 519, 705, 0, 0, 706, 0, 0, 0, 0,
1650 0, 0, 0, 16, 729, 17, 18, 709, 0, 0,
1651 0, 0, 20, 18, 0, 156, 0, 21, 127, 128,
1652 0, 23, 215, 216, 438, 0, 0, 0, 14, 1243,
1653 26, 0, 27, 28, 0, 0, 29, 26, 0, 130,
1654 131, 0, 0, 0, 411, 0, 30, 413, 0, 729,
1655 0, 20, 0, 1223, 0, 0, 31, 0, 0, 0,
1656 23, 520, 621, 1224, 32, 0, 729, 0, 33, 26,
1657 0, 130, 131, 0, 0, 1225, 0, 0, 0, 0,
1658 727, 727, 0, 0, 1274, 622, 8, 9, 0, 0,
1659 0, 153, 0, 0, 0, 623, 904, 0, 0, 904,
1660 0, 158, 158, 158, 340, 0, 0, 631, 625, 0,
1661 0, 904, 0, 18, 0, 1152, 1152, 930, 214, 215,
1662 216, 0, 0, 0, 0, 14, 0, 8, 9, 0,
1663 621, 158, 158, 158, 0, 0, 0, 26, 0, 130,
1664 131, 0, 18, 0, 0, 0, 0, 0, 20, 0,
1665 0, 0, 0, 1500, 18, 237, 0, 23, 0, 0,
1666 1178, 1178, 1184, 1501, 80, 0, 0, 731, 0, 731,
1667 0, 731, 701, 0, 104, 1502, 625, 0, 26, 727,
1668 130, 131, 0, 0, 133, 0, 0, 0, 727, 727,
1669 144, 144, 0, 144, 1223, 80, 0, 727, 0, 0,
1670 0, 0, 80, 0, 1224, 0, 1184, 0, 421, 424,
1671 0, 1376, 1377, 0, 0, 203, 1225, 80, 0, 0,
1672 1226, 1226, 1226, 0, 0, 238, 127, 128, 0, 0,
1673 215, 216, 104, 0, 0, 0, 14, 127, 128, 727,
1674 450, 450, 13, 262, 104, 0, 0, 0, 729, 0,
1675 729, 691, 729, 153, 0, 0, 0, 0, 0, 20,
1676 0, 0, 0, 0, 18, 0, 104, 450, 23, 731,
1677 621, 0, 450, 0, 0, 0, 0, 26, 0, 130,
1678 131, 621, 0, 0, 0, 0, 0, 0, 26, 0,
1679 130, 131, 0, 622, 133, 0, 80, 0, 1437, 0,
1680 144, 144, 0, 623, 622, 412, 144, 0, 0, 144,
1681 144, 144, 0, 0, 623, 624, 625, 691, 0, 0,
1682 0, 0, 0, 705, 706, 80, 624, 625, 0, 80,
1683 0, 709, 0, 0, 0, 203, 80, 0, 727, 7,
1684 8, 9, 10, 0, 0, 13, 1152, 1152, 930, 0,
1685 729, 0, 1480, 203, 203, 203, 0, 0, 0, 8,
1686 9, 0, 205, 12, 206, 0, 0, 18, 0, 14,
1687 1178, 1178, 1302, 1302, 1184, 727, 0, 0, 21, 1178,
1688 0, 158, 203, 16, 621, 17, 18, 0, 561, 0,
1689 0, 26, 20, 27, 28, 0, 0, 0, 0, 505,
1690 0, 23, 1302, 1302, 1184, 0, 0, 969, 104, 0,
1691 26, 0, 130, 131, 1226, 1226, 1226, 970, 0, 144,
1692 214, 215, 216, 0, 0, 32, 0, 14, 0, 971,
1693 625, 731, 0, 0, 450, 450, 0, 450, 450, 0,
1694 450, 0, 0, 0, 18, 0, 0, 0, 1540, 1541,
1695 20, 0, 158, 158, 158, 0, 0, 104, 531, 23,
1696 494, 215, 216, 0, 0, 0, 0, 14, 0, 0,
1697 0, 0, 0, 691, 940, 0, 0, 0, 0, 0,
1698 691, 0, 0, 0, 18, 0, 1568, 421, 708, 0,
1699 20, 0, 0, 0, 1178, 1178, 1302, 1302, 1184, 23,
1700 0, 1178, 0, 104, 0, 0, 0, 619, 0, 531,
1701 531, 634, 729, 0, 0, 0, 1582, 0, 0, 0,
1702 80, 581, 582, 583, 584, 585, 586, 587, 588, 589,
1703 590, 591, 592, 593, 594, 421, 424, 0, 212, 220,
1704 0, 0, 0, 147, 586, 587, 588, 589, 590, 591,
1705 592, 593, 594, 133, 472, 475, 0, 0, 0, 0,
1706 0, 0, 104, 0, 203, 104, 0, 450, 450, 0,
1707 0, 0, 300, 127, 128, 10, 0, 0, 13, 144,
1708 0, 0, 144, 0, 0, 0, 0, 0, 0, 0,
1709 0, 691, 0, 0, 144, 561, 0, 0, 561, 0,
1710 18, 0, 80, 0, 0, 0, 1503, 1503, 0, 1503,
1711 0, 21, 0, 0, 0, 421, 836, 621, 0, 0,
1712 727, 0, 0, 0, 26, 0, 27, 320, 0, 561,
1713 203, 203, 0, 0, 203, 0, 203, 203, 203, 755,
1714 1155, 0, 0, 203, 7, 8, 9, 10, 203, 0,
1715 1156, 203, 479, 0, 691, 0, 0, 0, 32, 0,
1716 691, 0, 1157, 625, 7, 8, 9, 10, 80, 0,
1717 0, 450, 450, 450, 0, 0, 0, 0, 0, 0,
1718 0, 0, 0, 21, 0, 0, 0, 0, 0, 929,
1719 0, 1503, 1503, 1552, 0, 0, 26, 0, 27, 28,
1720 0, 0, 192, 21, 0, 0, 104, 104, 104, 104,
1721 251, 0, 193, 0, 0, 0, 0, 0, 27, 28,
1722 0, 0, 194, 479, 479, 479, 0, 0, 0, 0,
1723 32, 450, 450, 6, 195, 7, 8, 9, 10, 11,
1724 12, 13, 252, 0, 0, 0, 14, 0, 0, 0,
1725 32, 0, 411, 413, 0, 0, 0, 0, 0, 15,
1726 16, 520, 17, 18, 19, 0, 104, 0, 531, 20,
1727 0, 691, 0, 0, 21, 691, 0, 22, 23, 24,
1728 619, 25, 531, 531, 634, 0, 0, 26, 0, 27,
1729 28, 931, 0, 29, 0, 933, 0, 0, 0, 0,
1730 0, 0, 450, 30, 0, 0, 7, 127, 128, 10,
1731 203, 421, 708, 31, 691, 0, 0, 0, 0, 0,
1732 691, 32, 0, 0, 0, 33, 0, 0, 0, 34,
1733 0, 0, 748, 0, 18, 749, 133, 472, 475, 0,
1734 0, 0, 0, 133, 0, 21, 0, 0, 0, 765,
1735 0, 203, 976, 203, 203, 238, 634, 0, 26, 0,
1736 27, 28, 0, 0, 691, 0, 0, 0, 0, 0,
1737 0, 0, 0, 0, 30, 0, 705, 706, 0, 0,
1738 0, 0, 929, 709, 31, 0, 0, 0, 0, 0,
1739 0, 0, 32, 691, 0, 0, 33, 0, 203, 0,
1740 0, 0, 976, 0, 0, 691, 0, 0, 0, 0,
1741 203, 203, 755, 755, 755, 0, 0, 0, 203, 0,
1742 0, 7, 8, 9, 10, 582, 583, 584, 585, 586,
1743 587, 588, 589, 590, 591, 592, 593, 594, 0, 691,
1744 0, 691, 0, 0, 0, 0, 133, 8, 9, 80,
1745 0, 80, 13, 0, 0, 0, 1068, 80, 0, 80,
1746 21, 0, 0, 0, 0, 104, 621, 0, 0, 0,
1747 0, 104, 0, 26, 18, 27, 28, 0, 531, 531,
1748 531, 0, 0, 421, 836, 0, 0, 0, 0, 969,
1749 0, 531, 0, 0, 0, 0, 0, 0, 26, 970,
1750 130, 131, 0, 0, 0, 0, 691, 32, 0, 0,
1751 0, 971, 625, 166, 1223, 7, 8, 9, 10, 167,
1752 12, 13, 0, 0, 1224, 0, 14, 0, 0, 153,
1753 0, 0, 691, 0, 0, 0, 1225, 0, 0, 0,
1754 16, 0, 17, 18, 19, 0, 0, 0, 0, 20,
1755 0, 0, 0, 0, 21, 0, 0, 0, 23, 0,
1756 0, 168, 691, 0, 531, 531, 0, 26, 531, 27,
1757 28, 531, 0, 1215, 0, 0, 104, 0, 0, 0,
1758 531, 0, 104, 30, 931, 931, 931, 0, 0, 0,
1759 531, 0, 1158, 31, 0, 0, 0, 0, 0, 0,
1760 0, 32, 0, 0, 0, 33, 0, 0, 0, 34,
1761 0, 748, 749, 472, 475, 0, 0, 0, 0, 765,
1762 0, 0, 0, 0, 0, 104, 0, 104, 0, 203,
1763 203, 1186, 83, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 106, 0, 0, 0, 0, 0, 906, 909,
1765 0, 126, 134, 0, 0, 0, 691, 0, 145, 145,
1766 0, 145, 0, 83, 0, 0, 0, 0, 0, 0,
1767 83, 0, 0, 0, 0, 1186, 0, 8, 9, 0,
1768 0, 12, 246, 145, 0, 83, 0, 14, 104, 755,
1769 755, 755, 0, 239, 300, 127, 128, 10, 0, 0,
1770 248, 16, 0, 17, 104, 0, 0, 1068, 0, 0,
1771 20, 0, 248, 0, 421, 708, 104, 0, 0, 23,
1772 0, 621, 18, 0, 0, 0, 0, 0, 26, 1248,
1773 130, 131, 0, 21, 0, 0, 0, 80, 0, 621,
1774 421, 424, 0, 0, 622, 0, 26, 0, 27, 320,
1775 104, 0, 104, 0, 623, 0, 0, 0, 0, 0,
1776 104, 0, 1155, 0, 83, 0, 624, 625, 145, 145,
1777 421, 1359, 1156, 0, 145, 0, 0, 145, 145, 145,
1778 32, 104, 0, 0, 1157, 625, 531, 531, 0, 531,
1779 0, 0, 0, 83, 0, 0, 0, 83, 0, 0,
1780 0, 0, 0, 145, 83, 0, 0, 0, 0, 0,
1781 0, 0, 531, 0, 0, 531, 531, 634, 0, 0,
1782 0, 145, 145, 145, 0, 0, 0, 0, 0, 0,
1783 472, 475, 0, 0, 0, 0, 0, 0, 203, 203,
1784 203, 203, 203, 1186, 755, 0, 0, 0, 203, 0,
1785 145, 691, 0, 0, 7, 8, 9, 10, 0, 0,
1786 246, 0, 0, 0, 421, 708, 0, 0, 0, 0,
1787 0, 1186, 1186, 1186, 0, 0, 0, 0, 0, 0,
1788 0, 0, 18, 755, 755, 755, 755, 145, 0, 0,
1789 748, 749, 765, 21, 0, 0, 0, 0, 0, 621,
1790 0, 0, 691, 0, 0, 203, 26, 0, 27, 28,
1791 144, 0, 0, 80, 0, 0, 0, 0, 0, 0,
1792 0, 0, 969, 0, 0, 248, 145, 0, 0, 0,
1793 0, 1140, 970, 0, 1141, 0, 0, 0, 0, 0,
1794 32, 0, 0, 0, 971, 625, 1147, 0, 0, 0,
1795 906, 909, 0, 0, 0, 0, 0, 0, 7, 8,
1796 9, 10, 755, 203, 203, 755, 755, 1417, 0, 0,
1797 203, 248, 0, 0, 0, 620, 0, 145, 145, 635,
1798 0, 0, 0, 0, 644, 0, 18, 0, 83, 0,
1799 0, 0, 0, 0, 0, 906, 909, 21, 612, 0,
1800 300, 394, 395, 10, 0, 613, 203, 976, 203, 0,
1801 26, 0, 27, 28, 0, 0, 0, 0, 0, 1215,
1802 0, 683, 0, 0, 0, 104, 476, 0, 0, 0,
1803 248, 0, 145, 248, 0, 0, 477, 0, 0, 21,
1804 748, 749, 472, 475, 32, 0, 614, 145, 478, 765,
1805 145, 0, 26, 0, 27, 320, 0, 0, 0, 0,
1806 0, 0, 145, 0, 0, 0, 0, 0, 0, 0,
1807 83, 0, 472, 475, 0, 755, 755, 0, 755, 0,
1808 0, 0, 0, 0, 472, 475, 615, 0, 0, 0,
1809 0, 421, 1359, 0, 0, 0, 0, 0, 145, 145,
1810 0, 0, 145, 0, 145, 145, 145, 145, 0, 0,
1811 0, 145, 0, 0, 0, 0, 145, 0, 0, 145,
1812 0, 1186, 583, 584, 585, 586, 587, 588, 589, 590,
1813 591, 592, 593, 594, 0, 783, 83, 0, 0, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 0, 1057,
1815 1058, 9, 10, 0, 0, 0, 0, 0, 0, 0,
1816 755, 755, 1417, 755, 748, 749, 472, 475, 0, 0,
1817 0, 765, 0, 0, 248, 248, 248, 248, 0, 0,
1818 0, 906, 909, 0, 0, 0, 0, 0, 21, 0,
1819 0, 0, 1186, 1186, 1186, 0, 0, 0, 0, 0,
1820 0, 26, 0, 27, 28, 1140, 1141, 906, 909, 1059,
1821 0, 0, 755, 104, 1147, 0, 0, 193, 203, 7,
1822 8, 9, 10, 167, 12, 13, 0, 194, 0, 0,
1823 14, 0, 0, 0, 248, 32, 145, 906, 909, 195,
1824 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1825 145, 145, 635, 20, 0, 0, 0, 0, 21, 932,
1826 0, 0, 23, 0, 0, 168, 0, 0, 0, 0,
1827 0, 26, 644, 27, 28, 0, 748, 749, 145, 765,
1828 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
1829 0, 0, 0, 0, 0, 0, 0, 31, 0, 7,
1830 8, 9, 10, 0, 683, 32, 127, 128, 0, 33,
1831 0, 246, 126, 34, 0, 0, 0, 0, 0, 145,
1832 635, 145, 145, 239, 635, 0, 0, 18, 0, 1140,
1833 1141, 906, 909, 18, 0, 0, 1147, 0, 21, 0,
1834 0, 0, 0, 0, 621, 0, 0, 783, 0, 0,
1835 621, 26, 0, 27, 28, 0, 0, 26, 0, 130,
1836 131, 472, 475, 0, 0, 0, 145, 969, 0, 0,
1837 635, 0, 0, 622, 0, 0, 0, 970, 145, 145,
1838 145, 145, 145, 623, 0, 32, 145, 0, 0, 971,
1839 625, 0, 0, 472, 475, 624, 625, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1841 0, 0, 246, 0, 134, 0, 0, 83, 0, 83,
1842 0, 0, 0, 0, 1069, 83, 0, 83, 0, 0,
1843 0, 0, 0, 248, 18, 0, 0, 0, 0, 248,
1844 0, 1140, 1141, 0, 1147, 21, 145, 145, 145, 784,
1845 0, 7, 8, 785, 10, 167, 12, 13, 26, 145,
1846 27, 28, 14, 0, 0, 0, 0, 0, 0, 300,
1847 8, 9, 10, 0, 30, 0, 16, 0, 17, 18,
1848 19, 0, 0, 0, 31, 20, -522, 0, 0, 0,
1849 21, 0, 32, 0, 23, 786, 33, 168, 0, 0,
1850 0, 0, 0, 26, 0, 27, 28, 0, 21, 787,
1851 0, 788, 0, 0, 0, 251, 0, 0, 0, 30,
1852 0, 0, 0, 27, 320, 0, 906, 909, 0, 31,
1853 0, 0, 145, 145, 0, 0, 145, 32, 0, 145,
1854 0, 33, 0, 0, 248, 0, 0, 252, 145, 0,
1855 248, 0, 932, 932, 932, 32, 0, -522, 145, 0,
1856 644, 0, 0, 0, 7, 8, 9, 10, 0, 0,
1857 13, 577, 578, 579, 580, 581, 582, 583, 584, 585,
1858 586, 587, 588, 589, 590, 591, 592, 593, 594, 0,
1859 0, 0, 18, 248, 0, 248, 0, 145, 145, 635,
1860 51, 0, 0, 21, 0, 0, 0, 0, 0, 621,
1861 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1862 0, 0, 0, 0, 0, 0, 51, 51, 0, 152,
1863 0, 51, 1181, 0, 0, 0, 8, 9, 51, 167,
1864 12, 13, 1182, 932, 735, 0, 14, 0, 0, 0,
1865 32, 51, 0, 51, 1183, 625, 248, 145, 145, 145,
1866 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
1867 783, 0, 248, 0, 0, 1069, 254, 0, 23, 0,
1868 621, 0, 0, 0, 248, 0, 0, 26, 0, 130,
1869 131, 0, 0, 0, 0, 0, 0, 127, 128, 0,
1870 0, 0, 519, 622, 0, 83, 0, 0, 0, 0,
1871 0, 0, 0, 623, 300, 8, 9, 10, 248, 0,
1872 248, 0, 0, 0, 18, 624, 625, 0, 248, 396,
1873 396, 0, 51, 0, 0, 0, 51, 51, 0, 0,
1874 254, 621, 51, 0, 76, 152, 152, 152, 26, 248,
1875 130, 131, 431, 21, 145, 145, 0, 145, 0, 0,
1876 251, 51, 0, 0, 622, 51, 0, 0, 27, 320,
1877 0, 51, 51, 0, 623, 76, 0, 0, 0, 0,
1878 145, 0, 76, 145, 145, 635, 624, 625, 0, 51,
1879 51, 152, 522, 0, 0, 201, 0, 213, 0, 254,
1880 32, 0, 0, 0, 0, 0, 145, 145, 145, 145,
1881 145, 635, 145, 0, 0, 0, 145, 0, 51, 0,
1882 0, 0, 0, 783, 580, 581, 582, 583, 584, 585,
1883 586, 587, 588, 589, 590, 591, 592, 593, 594, 932,
1884 932, 932, 0, 0, 0, 0, 0, 0, 0, 0,
1885 0, 145, 145, 145, 145, 51, 0, 0, 783, 7,
1886 8, 9, 10, 167, 12, 13, 0, 0, 735, 0,
1887 14, 0, 0, 145, 0, 0, 407, 259, 145, 0,
1888 410, 83, 0, 0, 16, 0, 17, 18, 0, 0,
1889 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
1890 0, 0, 23, 0, 621, 76, 0, 0, 0, 76,
1891 0, 26, 0, 27, 28, 201, 213, 8, 9, 0,
1892 0, 0, 246, 0, 0, 0, 560, 1181, 0, 0,
1893 145, 145, 145, 145, 145, 635, 0, 1182, 145, 0,
1894 0, 0, 0, 396, 18, 32, 0, 0, 0, 1183,
1895 625, 254, 0, 0, 434, 0, 51, 0, 0, 0,
1896 0, 621, 201, 1448, 0, 0, 0, 0, 26, 0,
1897 130, 131, 0, 0, 145, 635, 145, 0, 0, 0,
1898 0, 0, 0, 0, 1500, 0, 469, 0, 0, 396,
1899 0, 0, 0, 248, 1501, 0, 0, 0, 0, 488,
1900 51, 0, 0, 0, 0, 0, 1502, 625, 300, 8,
1901 9, 10, 167, 12, 13, 51, 0, 735, 51, 14,
1902 0, 0, 0, 0, 431, 431, 431, 0, 0, 0,
1903 51, 0, 0, 16, 0, 17, 18, 0, 51, 0,
1904 0, 0, 20, 145, 145, 0, 145, 21, 0, 0,
1905 0, 23, 0, 621, 0, 0, 0, 0, 0, 0,
1906 26, 0, 27, 320, 0, 0, 51, 51, 0, 0,
1907 51, 0, 152, 152, 152, 431, 1155, 0, 0, 51,
1908 0, 0, 0, 0, 51, 0, 1156, 51, 0, 932,
1909 0, 0, 8, 9, 32, 167, 12, 13, 1157, 625,
1910 652, 0, 14, 0, 51, 0, 0, 0, 0, 0,
1911 0, 7, 8, 9, 10, 0, 16, 519, 17, 18,
1912 0, 0, 0, 0, 0, 20, 0, 0, 145, 145,
1913 635, 145, 0, 560, 684, 0, 560, 168, 0, 18,
1914 0, 0, 0, 26, 201, 130, 131, 0, 0, 0,
1915 21, 0, 560, 560, 560, 0, 621, 0, 0, 0,
1916 932, 932, 932, 26, 0, 27, 28, 560, 0, 0,
1917 0, 0, 0, 0, 0, 0, 0, 0, 0, 969,
1918 145, 248, 76, 0, 0, 0, 145, 0, 0, 970,
1919 0, 0, 0, 0, 0, 0, 0, 32, 0, 0,
1920 0, 971, 625, 0, 0, 300, 8, 9, 10, 0,
1921 410, 13, 0, 0, 0, 254, 0, 0, 0, 0,
1922 0, 0, 0, 201, 0, 0, 0, 560, 0, 0,
1923 0, 201, 0, 18, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 21, 0, 51, 0, 802, 0,
1925 621, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1926 320, 0, 0, 0, 0, 300, 8, 9, 10, 0,
1927 0, 0, 396, 1305, 0, 0, 758, 0, 0, 396,
1928 0, 764, 0, 1306, 0, 0, 0, 51, 51, 51,
1929 51, 32, 0, 18, 0, 1307, 625, 0, 0, 0,
1930 0, 0, 0, 0, 21, 0, 804, 0, 0, 0,
1931 621, 0, 810, 0, 0, 0, 0, 26, 0, 27,
1932 320, 0, 0, 0, 818, 819, 0, 820, 0, 0,
1933 0, 0, 0, 1305, 51, 8, 9, 0, 51, 12,
1934 13, 0, 0, 1306, 0, 14, 51, 51, 431, 431,
1935 431, 32, 0, 0, 51, 1307, 625, 0, 0, 16,
1936 0, 17, 0, 0, 0, 0, 0, 0, 20, 0,
1937 0, 0, 0, 0, 0, 0, 0, 23, 0, 0,
1938 0, 0, 0, 0, 0, 51, 26, 51, 130, 131,
1939 201, 0, 51, 51, 0, 51, 0, 0, 0, 0,
1940 0, -389, 8, 9, -389, -389, 12, 246, 0, 0,
1941 78, 0, 14, 0, 0, 0, 0, 0, 0, 0,
1942 560, 0, 919, 920, 881, 0, 16, 919, 17, -389,
1943 0, 201, 975, 201, 201, 20, 78, 78, 0, 78,
1944 -389, 78, 0, 0, 23, 0, 621, 0, 78, 0,
1945 0, 0, 0, 26, 0, 130, 131, 0, 0, 0,
1946 0, 78, 0, 78, 0, 0, 0, 0, 0, 622,
1947 0, 0, 0, 0, 0, 0, 0, 0, 201, 623,
1948 0, 0, 1021, 0, 0, 0, 0, -389, 0, 0,
1949 0, 624, 625, 0, 0, 0, 0, 0, 0, 0,
1950 0, 0, 0, 0, 0, 0, 7, 127, 128, 10,
1951 0, 0, 13, 0, 0, 0, 0, 0, 0, 0,
1952 560, 560, 560, 0, 0, 0, 431, 254, 0, 802,
1953 0, 802, 0, 0, 18, 0, 1067, 1074, 0, 802,
1954 0, 0, 78, 0, 0, 21, 78, 78, 0, 0,
1955 0, 1031, 78, 0, 0, 78, 78, 78, 26, 0,
1956 27, 28, 0, 0, 0, 51, 51, 152, 0, 0,
1957 0, 78, 254, 0, 149, 78, 0, 0, 0, 0,
1958 0, 78, 78, 0, 150, 0, 0, 0, 0, 0,
1959 0, 0, 32, 0, 0, 0, 151, 0, 0, 78,
1960 78, 78, 0, 0, 0, 0, 0, 1089, 0, 1091,
1961 0, 1214, 579, 580, 581, 582, 583, 584, 585, 586,
1962 587, 588, 589, 590, 591, 592, 593, 594, 78, 0,
1963 0, 0, 263, 0, 0, 8, 9, 0, 0, 12,
1964 13, 0, 0, 51, 0, 14, 0, 0, 0, 0,
1965 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
1966 0, 17, 0, 0, 254, 78, 0, 0, 20, 0,
1967 264, 265, 0, 51, 0, 0, 0, 23, 0, 266,
1968 0, 0, 1126, 1127, 0, 1129, 26, 0, 130, 131,
1969 0, 267, 0, 0, 0, 268, 269, 270, 271, 272,
1970 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
1971 283, 284, 285, 286, 287, 288, 1148, 0, 289, 290,
1972 291, 0, 292, 0, 0, 293, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1974 0, 294, 0, 0, 7, 8, 9, 10, 431, 0,
1975 13, 431, 431, 431, 254, 0, 0, 0, 0, 0,
1976 0, 0, 643, 0, 0, 0, 78, 0, 1188, 0,
1977 0, 0, 18, 0, 51, 51, 51, 152, 152, 152,
1978 431, 0, 254, 21, 51, 0, 0, 1067, 0, 0,
1979 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
1980 1380, 1381, 9, 10, 0, 159, 0, 1214, 1214, 1214,
1981 78, 0, 193, 0, 0, 0, 0, 802, 8, 9,
1982 0, 0, 194, 519, 0, 78, 0, 204, 78, 0,
1983 32, 0, 0, 0, 195, 0, 0, 0, 1234, 21,
1984 78, 51, 0, 0, 0, 18, 51, 0, 78, 51,
1985 1239, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1986 1382, 0, 621, 0, 0, 0, 0, 0, 193, 26,
1987 0, 130, 131, 0, 0, 0, 78, 78, 194, 0,
1988 78, 0, 78, 78, 78, 1500, 32, 0, 0, 78,
1989 195, 0, 0, 0, 78, 1501, 0, 78, 431, 51,
1990 51, 431, 431, 431, 0, 0, 51, 1502, 625, 0,
1991 0, 0, 0, 0, 78, 0, 0, 0, 410, 0,
1992 0, 159, 159, 159, 0, 0, 0, 784, 0, 7,
1993 8, 785, 10, 167, 12, 13, 0, 0, 1293, 0,
1994 14, 0, 51, 51, 51, 0, 0, 204, 0, 0,
1995 0, 0, 0, 0, 16, 0, 17, 18, 19, 0,
1996 0, 0, 0, 20, -523, 204, 204, 481, 21, 0,
1997 0, 0, 23, 786, 0, 168, 0, 0, 0, 0,
1998 0, 26, 1310, 27, 28, 1387, 0, 787, 0, 788,
1999 1387, 0, 0, 802, 204, 0, 0, 30, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 31, 0, 0,
2001 0, 0, 0, 0, 0, 32, 0, 0, 0, 33,
2002 0, 0, 0, 0, 0, 0, 643, 0, 0, 0,
2003 0, 0, 0, 0, 0, -523, 0, 0, 0, 0,
2004 0, 1057, 8, 785, 10, 205, 12, 206, 0, 0,
2005 1395, 0, 14, 0, 1396, 0, 78, 1214, 0, 0,
2006 0, 0, 0, 0, 0, 0, 16, 0, 17, 18,
2007 532, 0, 0, 0, 0, 20, 0, 0, 0, 0,
2008 21, 0, 0, 0, 23, 0, 201, 1460, 201, 0,
2009 1413, 0, 0, 26, 0, 27, 28, 78, 78, 78,
2010 78, 1059, 0, 1418, 0, 0, 0, 0, 0, 30,
2011 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2012 0, 628, 628, 628, 0, 0, 0, 32, 1214, 1214,
2013 1214, 33, 0, 0, 0, 0, 0, 0, 0, 0,
2014 0, 0, 0, 0, 78, 8, 9, 0, 78, 12,
2015 246, 0, 0, 0, 51, 14, 78, 78, 0, 0,
2016 0, 0, 0, 0, 78, 0, 1473, 0, 0, 16,
2017 1474, 17, 0, 0, 0, 0, 204, 784, 20, 7,
2018 8, 785, 10, 167, 12, 13, 0, 23, 0, 0,
2019 14, 0, 1489, 1490, 0, 78, 26, 78, 130, 131,
2020 0, 0, 78, 78, 16, 78, 17, 18, 19, 0,
2021 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
2022 0, 0, 23, 786, 0, 168, 0, 0, 0, 0,
2023 0, 26, 0, 27, 28, 0, 0, 787, 0, 788,
2024 0, 0, 204, 204, 0, 0, 204, 30, 481, 481,
2025 481, 756, 0, 0, 0, 204, 0, 31, 0, 0,
2026 204, 0, 0, 204, 0, 32, 0, 0, 0, 33,
2027 0, 0, 0, 0, 555, 0, 300, 8, 9, 10,
2028 167, 12, 301, 302, 303, 735, 304, 14, 0, 0,
2029 0, 0, 0, 0, 0, 0, 0, 0, 201, 0,
2030 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2031 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2032 0, 621, 0, 314, 315, 316, 317, 318, 26, 0,
2033 27, 320, -314, 0, 0, 321, 0, 0, 643, 0,
2034 202, 322, 0, 0, 924, 0, 0, 0, 0, 0,
2035 0, 0, 324, 325, 925, 0, 0, 0, 0, 0,
2036 327, 328, 329, 0, 0, 257, 926, 625, 261, 0,
2037 0, 0, 0, 0, 0, 78, 78, 78, 0, 0,
2038 890, 0, 0, 331, 0, 0, 0, 0, 0, 257,
2039 0, 365, 0, 0, 628, 628, 628, 8, 9, 0,
2040 0, 0, 13, 628, 300, 8, 9, 10, 167, 12,
2041 13, 0, 0, 735, 0, 14, 0, 0, 0, 0,
2042 0, 1216, 204, 0, 18, 0, 0, 0, 0, 16,
2043 0, 17, 18, 0, 0, 0, 0, 0, 20, 0,
2044 0, 621, 0, 21, 0, 0, 0, 23, 26, 621,
2045 130, 131, 0, 78, 0, 0, 26, 0, 27, 320,
2046 202, 0, 0, 973, 1500, 973, 973, 0, 628, 0,
2047 0, 0, 1305, 0, 1501, 0, 0, 0, 202, 202,
2048 202, 0, 1306, 78, 0, 0, 1502, 625, 487, 0,
2049 32, 0, 0, 0, 1307, 625, 0, 0, 0, 0,
2050 0, 0, 0, 0, 0, 0, 0, 202, 0, 0,
2051 973, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2052 0, 0, 204, 204, 756, 756, 756, 8, 9, 0,
2053 204, 12, 13, 261, 626, 626, 626, 14, 0, 0,
2054 0, 0, 0, 0, 0, 0, 0, 257, 0, 0,
2055 0, 16, 0, 17, 0, 0, 0, 0, 0, 0,
2056 20, 0, 0, 0, 0, 0, 0, 0, 204, 23,
2057 0, 7, 8, 9, 10, 214, 215, 216, 26, 0,
2058 130, 131, 14, 0, 78, 78, 78, 78, 78, 78,
2059 532, 532, 532, 0, 78, 0, 0, 0, 0, 18,
2060 0, 0, 0, 628, 0, 20, 0, 0, 0, 0,
2061 21, 0, 0, 0, 23, 0, 621, 1216, 1216, 1216,
2062 0, 0, 0, 26, 0, 27, 28, 7, 127, 128,
2063 10, 0, 0, 519, 0, 0, 0, 0, 0, 969,
2064 257, 261, 0, 0, 0, 0, 0, 0, 0, 970,
2065 0, 78, 0, 0, 0, 18, 78, 32, 0, 78,
2066 0, 1015, 625, 0, 0, 0, 21, 0, 0, 0,
2067 0, 0, 0, 0, 0, 0, 628, 628, 0, 26,
2068 628, 27, 28, 628, 0, 0, 0, 0, 0, 202,
2069 0, 0, 628, 0, 0, 30, 628, 628, 628, 0,
2070 0, 0, 628, 0, 0, 31, 0, 0, 0, 78,
2071 78, 0, 0, 32, 0, 0, 78, 33, 0, 0,
2072 0, 0, 0, 0, 0, 0, 0, 7, 8, 9,
2073 10, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 973, 973, 1187, 0, 0, 0, 0, 0, 0,
2075 0, 0, 78, 78, 78, 202, 202, 0, 0, 202,
2076 0, 202, 202, 202, 202, 0, 21, 0, 202, 0,
2077 0, 0, 0, 202, 0, 0, 202, 0, 0, 26,
2078 0, 27, 28, 0, 0, 1455, 0, 1187, 0, 0,
2079 0, 0, 0, 0, 0, 193, 369, 371, 0, 0,
2080 0, 756, 756, 756, 0, 194, 0, 626, 626, 626,
2081 0, 0, 0, 32, 0, 0, 928, 195, 0, 204,
2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2083 0, 0, 7, 8, 9, 10, 205, 12, 206, 0,
2084 0, 0, 0, 14, 0, 0, 0, 0, 0, 0,
2085 0, 0, 0, 0, 0, 0, 0, 16, 0, 17,
2086 18, 0, 0, 0, 0, 0, 20, 1216, 0, 0,
2087 0, 21, 0, 0, 0, 23, 626, 0, 626, 626,
2088 0, 626, 0, 0, 26, 0, 27, 28, 0, 0,
2089 207, 0, 0, 0, 0, 0, 0, 0, 890, 890,
2090 30, 890, 0, 0, 0, 0, 0, 0, 0, 0,
2091 31, 0, 0, 0, 0, 0, 0, 0, 32, 257,
2092 261, 0, 33, 626, 628, 0, 0, 628, 628, 628,
2093 0, 0, 0, 0, 0, 202, 0, 0, 1216, 1216,
2094 1216, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2095 973, 973, 973, 1187, 1187, 1187, 1308, 0, 0, 0,
2096 973, 0, 0, 0, 78, 0, 7, 8, 9, 10,
2097 167, 12, 13, 0, 0, 1020, 202, 14, 202, 202,
2098 0, 0, 0, 1187, 1187, 1187, 0, 0, 0, 0,
2099 0, 16, 0, 17, 18, 756, 756, 756, 756, 0,
2100 20, 0, 0, 0, 0, 21, 0, 0, 0, 23,
2101 0, 0, 0, 0, 0, 0, 626, 204, 26, 563,
2102 27, 28, 0, 202, 0, 0, 0, 0, 0, 0,
2103 0, 0, 0, 0, 30, 202, 202, 202, 202, 202,
2104 487, 0, 0, 202, 31, 0, 0, 0, 0, 0,
2105 0, 0, 32, 0, 0, 0, 33, 0, 0, 0,
2106 0, 0, 0, 0, 0, 0, 0, 0, 261, 0,
2107 0, 0, 0, 0, 1308, 973, 973, 1308, 1308, 1308,
2108 0, 202, 973, 0, 0, 0, 0, 0, 0, 626,
2109 626, 690, 0, 626, 0, 0, 626, 0, 0, 0,
2110 0, 0, 0, 0, 0, 626, 0, 0, 0, 928,
2111 928, 928, 0, 0, 0, 626, 0, 0, 204, 0,
2112 204, 0, 784, 0, 7, 8, 785, 10, 167, 12,
2113 13, 0, 0, 0, 0, 14, 0, 0, 0, 0,
2114 0, 7, 8, 9, 10, 0, 0, 246, 0, 16,
2115 0, 17, 18, 19, 626, 626, 626, 737, 20, -525,
2116 0, 0, 0, 21, 0, 0, 0, 23, 786, 18,
2117 168, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2118 21, 0, 787, 0, 788, 0, 0, 1308, 1308, 0,
2119 1308, 0, 30, 26, 0, 27, 28, 0, 0, 0,
2120 928, 0, 31, 0, 0, 0, 0, 0, 0, 193,
2121 32, 0, 0, 0, 33, 0, 257, 261, 257, 194,
2122 0, 0, 0, 0, 0, 0, 823, 32, 0, 826,
2123 -525, 195, 0, 481, 829, 830, 832, 833, 834, 7,
2124 8, 9, 10, 0, 0, 13, 0, 563, 0, 0,
2125 0, 0, 0, 0, 202, 202, 1185, 0, 0, 0,
2126 851, 257, 0, 0, 0, 0, 0, 18, 0, 0,
2127 0, 0, 1308, 1308, 1308, 1308, 0, 0, 21, 0,
2128 0, 0, 0, 0, 7, 8, 9, 10, 167, 12,
2129 13, 26, 0, 27, 28, 14, 0, 0, 0, 0,
2130 1185, 0, 0, 0, 481, 481, 481, 476, 0, 16,
2131 0, 17, 18, 910, 202, 202, 202, 477, 20, 0,
2132 910, 0, 0, 21, 1308, 32, 0, 23, 0, 478,
2133 204, 0, 202, 0, 0, 0, 26, 626, 27, 28,
2134 626, 626, 626, 0, 0, 0, 0, 0, 0, 0,
2135 0, 0, 30, 487, 0, 0, 7, 8, 9, 10,
2136 0, 0, 31, 626, 626, 626, 626, 626, 626, 626,
2137 32, 0, 0, 626, 33, 0, 0, 0, 0, 0,
2138 0, 0, 0, 0, 18, 0, 0, 0, 0, 0,
2139 0, 0, 0, 0, 0, 21, 928, 928, 928, 8,
2140 9, 0, 167, 12, 13, 0, 0, 735, 26, 14,
2141 27, 28, 0, 0, 0, 0, 0, 0, 0, 0,
2142 0, 0, 0, 16, 193, 17, 18, 0, 102, 0,
2143 0, 690, 20, 0, 194, 0, 0, 121, 102, 0,
2144 0, 23, 32, 257, 102, 102, 195, 102, 0, 0,
2145 26, 0, 130, 131, 0, 0, 0, 0, 0, 0,
2146 0, 0, 0, 202, 202, 202, 202, 202, 1185, 202,
2147 0, 1309, 0, 202, 0, 0, 0, 0, 0, 235,
2148 0, 0, 0, 0, 0, 0, 0, 626, 626, 626,
2149 626, 626, 626, 0, 737, 626, 1185, 1185, 1185, 0,
2150 737, 0, 0, 0, 0, 0, 0, 0, 202, 202,
2151 202, 202, 0, 0, 0, 0, 0, 0, 7, 8,
2152 9, 10, 205, 12, 206, 0, 0, 0, 0, 14,
2153 202, 0, 0, 0, 0, 0, 0, 0, 389, 0,
2154 121, 0, 0, 16, 0, 17, 18, 102, 102, 0,
2155 0, 0, 20, 0, 102, 102, 0, 21, 102, 102,
2156 102, 23, 417, 102, 102, 102, 0, 0, 0, 1120,
2157 26, 0, 27, 28, 0, 0, 1458, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 30, 202, 202, 202,
2159 202, 202, 1185, 0, 0, 202, 31, 0, 0, 0,
2160 626, 626, 0, 626, 32, 851, 0, 0, 33, 0,
2161 0, 737, 0, 0, 0, 910, 0, 0, 0, 0,
2162 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2163 0, 202, 0, 202, 0, 784, 0, 7, 8, 785,
2164 10, 167, 12, 13, 0, 0, 0, 0, 14, 0,
2165 0, 0, 235, 102, 690, 0, 1176, 0, 0, 0,
2166 910, 0, 16, 0, 17, 18, 19, 0, 0, 0,
2167 0, 20, -524, 102, 0, 0, 21, 0, 0, 0,
2168 23, 786, 0, 168, 0, 626, 626, 626, 626, 26,
2169 0, 27, 28, 0, 0, 787, 0, 788, 0, 0,
2170 202, 202, 1309, 202, 910, 30, 0, 0, 0, 0,
2171 0, 0, 102, 0, 0, 31, 0, 1220, 0, 0,
2172 0, 0, 0, 32, 0, 0, 0, 33, 0, 0,
2173 0, 0, 0, 737, 0, 0, 0, 626, 0, 0,
2174 0, 0, 0, -524, 0, 737, 1185, 0, 0, 0,
2175 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2176 0, 102, 0, 102, 102, 0, 0, 0, 0, 0,
2177 0, 0, 0, 0, 0, 0, 0, 0, 0, 737,
2178 0, 737, 0, 0, 0, 202, 202, 1185, 202, 1264,
2179 0, 0, 0, 0, 0, 7, 8, 9, 10, 205,
2180 12, 206, 0, 0, 0, 0, 14, 102, 0, 0,
2181 1279, 0, 0, 0, 0, 0, 0, 1185, 1185, 1185,
2182 16, 0, 17, 18, 0, 0, 102, 0, 0, 20,
2183 0, 0, 0, 102, 21, 0, 102, 202, 23, 0,
2184 0, 0, 0, 202, 0, 0, 910, 26, 102, 27,
2185 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2186 0, 0, 0, 30, 0, 0, 0, 0, 0, 0,
2187 0, 0, 910, 31, 0, 0, 0, 0, 0, 0,
2188 0, 32, 0, 0, 1545, 33, -480, -480, -480, -480,
2189 -480, -480, -480, 0, 0, -480, 0, -480, 0, 0,
2190 0, 0, 910, 0, 0, 0, 0, 0, -480, 0,
2191 -480, 0, 0, 0, -480, 0, 0, 0, 0, 102,
2192 -480, 776, 0, 0, 0, -480, 0, 0, 0, -480,
2193 0, -480, 0, 0, 0, 0, 0, 0, -480, 0,
2194 -480, -480, -480, -480, -480, 102, -480, -480, -480, -480,
2195 -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
2196 -480, -480, -480, -480, -480, -480, -480, -480, -480, 0,
2197 -480, -480, -480, 0, -480, -480, -480, -480, -480, 0,
2198 0, 0, 0, 0, 1546, -480, 0, 0, 0, 0,
2199 -480, -480, -480, 0, -480, 0, 910, 0, 0, 0,
2200 0, 7, 8, 9, 10, 214, 215, 216, 0, 0,
2201 0, 0, 14, 0, 0, 0, 0, 0, 1380, 127,
2202 128, 10, 102, 0, 0, 0, 0, 0, 0, 18,
2203 0, 0, 0, 102, 102, 20, 102, 102, 0, 0,
2204 21, 0, 0, 0, 23, 0, 621, 0, 0, 0,
2205 0, 0, 0, 26, 1220, 27, 28, 21, 0, 0,
2206 0, 0, 0, 0, 0, 0, 0, 0, 0, 193,
2207 26, 0, 27, 28, 0, 0, 0, 18, 1382, 194,
2208 0, 0, 0, 0, 0, 0, 30, 32, 0, 0,
2209 102, 1461, 0, 0, 0, 0, 31, 102, 121, 0,
2210 0, 0, 0, 0, 32, 0, 0, 0, 33, 235,
2211 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2212 583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
2213 593, 594, 1463, 776, 1320, 1321, 1322, 10, 167, 12,
2214 301, 302, 303, 0, 304, 14, 1323, 0, 1324, 1325,
2215 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15, 16,
2216 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
2217 309, 310, 311, 21, 312, 313, 1334, 23, 1335, 0,
2218 0, 314, 315, 316, 317, 318, 26, 0, 1336, 320,
2219 722, 910, 1337, 321, 0, 0, 0, 776, 0, 322,
2220 102, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2221 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2222 329, 0, 0, 563, 330, 0, 1338, 0, 0, 0,
2223 0, 0, 102, 102, 102, 0, 0, 0, 0, 0,
2224 1464, 331, 690, 0, 0, 102, 0, 0, 0, 0,
2225 0, 0, 0, 1319, 0, 1320, 1321, 1322, 10, 167,
2226 12, 301, 302, 303, 0, 304, 14, 1323, 0, 1324,
2227 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15,
2228 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
2229 0, 309, 310, 311, 21, 312, 313, 1334, 23, 1335,
2230 0, 0, 314, 315, 316, 317, 318, 26, 0, 1336,
2231 320, 722, 0, 1337, 321, 0, 0, 0, 102, 102,
2232 322, 0, 102, 323, 0, 102, 0, 0, 0, 0,
2233 0, 324, 325, 326, 102, 0, 0, 0, 0, 327,
2234 328, 329, 0, 0, 102, 330, 555, 1338, 7, 8,
2235 9, 10, 167, 12, 301, 302, 303, 735, 304, 14,
2236 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
2237 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2238 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2239 0, 23, 0, 621, 0, 314, 315, 316, 317, 318,
2240 26, 0, 27, 28, -314, 0, 0, 321, 0, 0,
2241 0, 0, 0, 322, 0, 0, 1211, 0, 0, 0,
2242 0, 0, 0, 0, 324, 325, 1212, 0, 0, 0,
2243 0, 0, 327, 328, 329, 0, 0, 0, 1213, 625,
2244 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2245 0, 0, 0, 0, 0, 331, 776, 0, 734, 0,
2246 300, 8, 9, 10, 167, 12, 301, 302, 303, 735,
2247 304, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2248 0, 0, 0, 102, 0, 16, 305, 17, 18, 19,
2249 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2250 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2251 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2252 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
2253 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
2254 102, 102, 0, 102, 327, 328, 329, 0, 0, 0,
2255 330, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2256 0, 0, 0, 0, 0, -800, 102, 331, 0, 102,
2257 102, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2258 587, 588, 589, 590, 591, 592, 593, 594, 0, 854,
2259 0, 300, 8, 9, 10, 167, 12, 301, 302, 303,
2260 0, 304, 14, 0, 0, 0, 0, 0, 0, 776,
2261 0, 0, 0, 0, 0, 0, 16, 305, 17, 18,
2262 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2263 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2264 316, 317, 318, 26, 776, 27, 320, 1563, 0, -790,
2265 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2266 0, 0, 102, 0, 102, 0, 0, 324, 325, 326,
2267 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2268 725, 330, 842, 843, 844, 10, 0, 12, 536, 302,
2269 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2270 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2271 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2272 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2273 315, 316, 317, 318, 26, 0, 845, 846, 726, 0,
2274 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2275 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2276 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2277 0, 0, 330, 847, 555, 0, 300, 8, 9, 10,
2278 0, 12, 301, 302, 303, 0, 304, 14, 1007, 331,
2279 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2280 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2281 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2282 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2283 27, 320, -314, 0, 0, 321, 0, 0, 0, 0,
2284 0, 322, 0, 0, 556, 0, 0, 0, 0, 0,
2285 0, 0, 324, 325, 557, 0, 0, 0, 0, 0,
2286 327, 328, 329, 0, 0, 725, 558, 842, 843, 844,
2287 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2288 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2289 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2290 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2291 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2292 0, 845, 846, 726, 0, 0, 321, 0, 0, 0,
2293 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2294 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2295 0, 327, 328, 329, 0, 0, 0, 330, 847, 725,
2296 0, 842, 843, 844, 10, 0, 12, 536, 302, 303,
2297 0, 304, 14, 0, 331, 0, 0, 0, 0, 0,
2298 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2299 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2300 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2301 316, 317, 318, 26, 0, 845, 846, 726, 0, 0,
2302 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2303 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2304 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2305 725, 330, 842, 843, 844, 10, 0, 12, 536, 302,
2306 303, 0, 304, 14, 0, 0, 0, -484, 331, 0,
2307 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2308 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2309 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2310 315, 316, 317, 318, 26, 0, 845, 846, 726, 0,
2311 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2312 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2313 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2314 0, 725, 330, 300, 8, 9, 10, 0, 12, 536,
2315 302, 303, 0, 304, 14, 0, 0, 0, 1358, 331,
2316 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2317 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2318 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2319 314, 315, 316, 317, 318, 26, 0, 27, 320, 726,
2320 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2321 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2322 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2323 0, 0, 0, 330, 555, 0, 7, 8, 9, 10,
2324 1362, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2325 331, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2326 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2327 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2328 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2329 27, 28, -314, 0, 0, 321, 0, 0, 0, 0,
2330 0, 322, 0, 0, 1532, 0, 0, 0, 0, 0,
2331 0, 0, 324, 325, 1533, 0, 0, 0, 0, 0,
2332 327, 328, 329, 0, 0, 725, 1534, 300, 8, 9,
2333 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2334 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2335 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2336 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2337 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2338 0, 27, 320, 726, 0, 0, 321, 0, 0, 0,
2339 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2340 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2341 0, 327, 328, 329, 0, 0, 854, 330, 300, 8,
2342 9, 10, 0, 12, 536, 302, 303, 0, 304, 14,
2343 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
2344 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2345 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2346 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
2347 26, 0, 27, 320, 0, 0, 0, 321, -790, 0,
2348 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
2349 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
2350 0, 0, 327, 328, 329, 0, 0, 1616, 330, 300,
2351 8, 9, 10, 0, 12, 301, 302, 303, 0, 304,
2352 14, 0, 0, 0, 0, 331, 0, 0, 0, 0,
2353 0, 0, 0, 0, 16, 305, 17, 0, 19, 0,
2354 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
2355 313, 0, 23, 0, 0, 0, 314, 315, 316, 317,
2356 318, 26, 0, 27, 320, 0, 0, -197, 321, 0,
2357 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
2358 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
2359 0, 0, 0, 327, 328, 329, 0, 0, 854, 330,
2360 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2361 304, 14, 0, 0, 0, 0, 331, 0, 0, 0,
2362 0, 0, 0, 0, 0, 16, 305, 17, 0, 19,
2363 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2364 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2365 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2366 0, 0, 0, 0, 0, 322, 0, 0, 323, 0,
2367 0, 0, 0, 0, 0, 0, 324, 325, 326, 0,
2368 0, 0, 0, 0, 327, 328, 329, 0, 0, 947,
2369 330, 300, 8, 9, 10, 0, 12, 536, 302, 303,
2370 0, 304, 14, 0, 0, -790, 0, 331, 0, 0,
2371 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2372 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2373 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2374 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
2375 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2376 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2377 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2378 949, 330, 300, 8, 9, 10, 0, 12, 536, 302,
2379 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2380 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2381 0, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2382 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2383 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2384 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2385 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2386 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2387 0, 1581, 330, 300, 8, 9, 10, 0, 12, 536,
2388 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2389 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2390 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2391 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2392 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
2393 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2394 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2395 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2396 0, 0, 0, 330, 300, 8, 9, 10, 0, 12,
2397 536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2398 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2399 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2400 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2401 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
2402 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2403 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2404 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2405 329, 0, 0, 0, 330, 0, 0, 0, 0, 0,
2406 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2407 0, 331, 893, 1320, 1321, 1322, 10, 167, 12, 301,
2408 302, 303, 0, 304, 14, 1323, 0, 1324, 1325, 1326,
2409 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15, 16, 305,
2410 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
2411 310, 311, 21, 312, 313, 1334, 23, 1335, 0, 0,
2412 314, 315, 316, 317, 318, 26, 0, 1336, 320, 722,
2413 0, 1337, 321, 0, 0, 0, 0, 0, 322, 0,
2414 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2415 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2416 0, 0, 0, 330, 0, 1338, 0, 0, 0, 0,
2417 0, 0, 0, 0, 0, 0, 0, 0, 0, 1468,
2418 331, 1320, 1321, 1322, 10, 167, 12, 301, 302, 303,
2419 0, 304, 14, 1323, 0, 1324, 1325, 1326, 1327, 1328,
2420 1329, 1330, 1331, 1332, 1333, 15, 16, 305, 17, 18,
2421 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2422 21, 312, 313, 1334, 23, 1335, 0, 0, 314, 315,
2423 316, 317, 318, 26, 0, 1336, 320, 722, 0, 1337,
2424 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2425 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2426 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2427 0, 330, 0, 1338, 0, 1320, 1321, 1322, 10, 167,
2428 12, 301, 302, 303, 0, 304, 14, 1323, 331, 1324,
2429 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 15,
2430 16, 305, 17, 18, 19, 0, 306, 307, 308, 20,
2431 0, 309, 310, 311, 21, 312, 313, 1334, 23, 1335,
2432 0, 0, 314, 315, 316, 317, 318, 26, 0, 1336,
2433 320, 1590, 0, 1337, 321, 0, 0, 0, 0, 0,
2434 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2435 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2436 328, 329, 0, 0, 0, 330, 0, 1338, 0, 1320,
2437 1321, 1322, 10, 167, 12, 301, 302, 303, 0, 304,
2438 14, 1323, 331, 1324, 1325, 1326, 1327, 1328, 1329, 1330,
2439 1331, 1332, 1333, 15, 16, 305, 17, 18, 19, 0,
2440 306, 307, 308, 20, 0, 309, 310, 311, 21, 312,
2441 313, 1334, 23, 1335, 0, 0, 314, 315, 316, 317,
2442 318, 26, 0, 1336, 320, 0, 0, 1337, 321, 0,
2443 0, 0, 0, 0, 322, 0, 0, 323, 0, 0,
2444 0, 0, 0, 0, 0, 324, 325, 326, 0, 0,
2445 0, 0, 0, 327, 328, 329, 0, 0, 0, 330,
2446 0, 1338, 300, 8, 9, 10, 167, 12, 301, 302,
2447 303, 735, 304, 14, 0, 0, 331, 0, 0, 0,
2448 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2449 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2450 311, 21, 312, 313, 0, 23, 0, 621, 0, 314,
2451 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2452 0, 321, 0, 0, 0, 0, 0, 322, 0, 0,
2453 924, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2454 925, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2455 0, 0, 926, 625, 7, 8, 9, 10, 167, 12,
2456 301, 302, 303, 735, 304, 14, 0, 0, 0, 331,
2457 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2458 305, 17, 18, 19, 0, 306, 307, 308, 20, 0,
2459 309, 310, 311, 21, 312, 313, 0, 23, 0, 621,
2460 0, 314, 315, 316, 317, 318, 26, 0, 27, 28,
2461 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2462 0, 0, 1211, 0, 0, 0, 0, 0, 0, 0,
2463 324, 325, 1212, 0, 0, 0, 0, 0, 327, 328,
2464 329, 0, 0, 0, 1213, 625, 300, 8, 9, 10,
2465 0, 12, 301, 302, 303, 0, 304, 14, 0, 0,
2466 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2467 0, 16, 305, 17, 18, 19, 0, 306, 307, 308,
2468 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2469 0, 621, 0, 314, 315, 316, 317, 318, 26, 0,
2470 27, 320, 0, 0, 0, 0, 0, 0, 0, 0,
2471 0, 322, 0, 0, 924, 0, 0, 0, 0, 0,
2472 0, 0, 324, 325, 925, 0, 0, 0, 0, 0,
2473 327, 328, 329, 0, 0, 0, 926, 625, 7, 8,
2474 9, 10, 0, 12, 301, 302, 303, 0, 304, 14,
2475 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2476 0, 0, 0, 16, 305, 17, 18, 19, 0, 306,
2477 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2478 0, 23, 0, 621, 0, 314, 315, 316, 317, 318,
2479 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
2480 0, 0, 0, 322, 0, 0, 1211, 0, 0, 0,
2481 0, 0, 0, 0, 324, 325, 1212, 0, 0, 0,
2482 0, 0, 327, 328, 329, 0, 0, 0, 1213, 625,
2483 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2484 304, 14, 0, 0, 0, 331, 0, 0, 0, 0,
2485 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2486 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2487 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2488 317, 318, 26, 0, 27, 320, 0, 0, 0, 321,
2489 0, 0, 0, 0, 0, 322, 0, 0, 556, 0,
2490 0, 0, 0, 0, 0, 0, 324, 325, 557, 0,
2491 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2492 558, 300, 8, 9, 10, 0, 12, 536, 302, 303,
2493 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
2494 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2495 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2496 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2497 316, 317, 318, 26, 0, 27, 320, 0, 0, 1441,
2498 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2499 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2500 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2501 0, 330, 300, 8, 9, 10, 167, 12, 301, 302,
2502 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2503 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2504 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2505 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2506 315, 316, 317, 318, 26, 0, 27, 320, 0, 0,
2507 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2508 323, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2509 326, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2510 0, 0, 330, 7, 8, 9, 10, 0, 12, 536,
2511 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2512 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2513 17, 18, 19, 0, 306, 307, 308, 20, 0, 309,
2514 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2515 314, 315, 316, 317, 318, 26, 0, 27, 28, 0,
2516 0, 0, 321, 0, 0, 0, 0, 0, 322, 0,
2517 0, 1532, 0, 0, 0, 0, 0, 0, 0, 324,
2518 325, 1533, 0, 0, 0, 0, 0, 327, 328, 329,
2519 0, 0, 0, 1534, 300, 8, 9, 10, 0, 12,
2520 301, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2521 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2522 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2523 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2524 0, 314, 315, 316, 317, 318, 26, 0, 319, 320,
2525 0, 0, 0, 321, 0, 0, 0, 0, 0, 322,
2526 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2527 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2528 329, 0, 0, 0, 330, 300, 8, 9, 10, 0,
2529 12, 301, 302, 303, 0, 304, 14, 0, 0, 0,
2530 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2531 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
2532 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
2533 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
2534 320, 0, 0, 0, 321, 0, 0, 0, 0, 0,
2535 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2536 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2537 328, 329, 0, 0, 0, 330, 300, 8, 9, 10,
2538 0, 12, 536, 302, 303, 0, 304, 14, 0, 0,
2539 0, 0, 331, 0, 0, 0, 0, 0, 0, 0,
2540 0, 16, 305, 17, 0, 19, 0, 306, 307, 308,
2541 20, 0, 309, 310, 311, 21, 312, 313, 0, 23,
2542 0, 0, 0, 314, 315, 316, 317, 318, 26, 0,
2543 27, 320, 0, 0, 0, 321, 0, 0, 0, 0,
2544 0, 322, 0, 0, 323, 0, 0, 0, 0, 0,
2545 0, 0, 324, 325, 326, 0, 0, 0, 0, 0,
2546 327, 328, 329, 0, 0, 0, 330, 300, 8, 9,
2547 10, 0, 12, 536, 302, 303, 0, 304, 14, 0,
2548 0, 0, 0, 331, 0, 0, 0, 0, 0, 0,
2549 0, 0, 16, 305, 17, 0, 19, 0, 306, 307,
2550 308, 20, 0, 309, 310, 311, 21, 312, 313, 0,
2551 23, 0, 0, 0, 314, 315, 316, 317, 318, 26,
2552 0, 27, 320, 570, 0, 0, 0, 0, 0, 0,
2553 0, 0, 322, 0, 0, 323, 0, 0, 0, 0,
2554 0, 0, 0, 324, 325, 326, 0, 0, 0, 0,
2555 0, 327, 328, 329, 0, 0, 0, 571, 300, 8,
2556 9, 10, 0, 12, 536, 302, 303, 0, 304, 14,
2557 0, 0, 0, 0, 331, 0, 0, 0, 0, 0,
2558 0, 0, 0, 16, 305, 17, 0, 19, 0, 306,
2559 307, 308, 20, 0, 309, 310, 311, 21, 312, 313,
2560 0, 23, 0, 0, 0, 314, 315, 316, 317, 318,
2561 26, 0, 27, 320, 0, 0, 0, 0, 0, 0,
2562 0, 0, 0, 322, 0, 0, 323, 0, 0, 0,
2563 0, 0, 0, 0, 324, 325, 326, 0, 0, 0,
2564 0, 0, 327, 328, 329, 0, 0, 0, 330, 609,
2565 300, 8, 9, 10, 0, 12, 536, 302, 303, 0,
2566 304, 14, 0, 0, 0, 331, 0, 0, 0, 0,
2567 0, 0, 0, 0, 0, 16, 305, 17, 18, 19,
2568 0, 306, 307, 308, 20, 0, 309, 310, 311, 21,
2569 312, 313, 0, 23, 0, 0, 0, 314, 315, 316,
2570 317, 318, 26, 0, 27, 320, 0, 0, 0, 0,
2571 0, 0, 0, 0, 0, 322, 0, 0, 556, 0,
2572 0, 0, 0, 0, 0, 0, 324, 325, 557, 0,
2573 0, 0, 0, 0, 327, 328, 329, 0, 0, 0,
2574 558, 1169, 8, 9, 10, 0, 12, 536, 302, 303,
2575 0, 304, 14, 0, 0, 0, 0, 331, 0, 0,
2576 0, 0, 0, 0, 0, 0, 16, 305, 17, 0,
2577 19, 0, 306, 307, 308, 20, 0, 309, 310, 311,
2578 21, 312, 313, 0, 23, 0, 0, 0, 314, 315,
2579 316, 317, 318, 26, 0, 27, 320, 0, 0, 0,
2580 321, 0, 0, 0, 0, 0, 322, 0, 0, 323,
2581 0, 0, 0, 0, 0, 0, 0, 324, 325, 326,
2582 0, 0, 0, 0, 0, 327, 328, 329, 0, 0,
2583 0, 330, 7, 8, 9, 10, 0, 12, 301, 302,
2584 303, 0, 304, 14, 0, 0, 0, 0, 331, 0,
2585 0, 0, 0, 0, 0, 0, 0, 16, 305, 17,
2586 18, 19, 0, 306, 307, 308, 20, 0, 309, 310,
2587 311, 21, 312, 313, 0, 23, 0, 0, 0, 314,
2588 315, 316, 317, 318, 26, 0, 27, 28, 0, 0,
2589 0, 0, 0, 0, 0, 0, 0, 322, 0, 0,
2590 1532, 0, 0, 0, 0, 0, 0, 0, 324, 325,
2591 1533, 0, 0, 0, 0, 0, 327, 328, 329, 0,
2592 0, 0, 1534, 300, 8, 9, 10, 0, 12, 536,
2593 302, 303, 0, 304, 14, 0, 0, 0, 0, 331,
2594 0, 0, 0, 0, 0, 0, 0, 0, 16, 305,
2595 17, 0, 19, 0, 306, 307, 308, 20, 0, 309,
2596 310, 311, 21, 312, 313, 0, 23, 0, 0, 0,
2597 314, 315, 316, 317, 318, 26, 0, 27, 320, 0,
2598 0, 0, 0, 0, 0, 0, 0, 0, 322, 0,
2599 0, 323, 0, 0, 0, 0, 0, 0, 0, 324,
2600 325, 326, 0, 0, 0, 0, 0, 327, 328, 329,
2601 0, 0, 0, 537, 300, 8, 9, 10, 0, 12,
2602 536, 302, 303, 0, 304, 14, 0, 0, 0, 0,
2603 331, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2604 305, 17, 0, 19, 0, 306, 307, 308, 20, 0,
2605 309, 310, 311, 21, 312, 313, 0, 23, 0, 0,
2606 0, 314, 315, 316, 317, 318, 26, 0, 27, 320,
2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 322,
2608 0, 0, 323, 0, 0, 0, 0, 0, 0, 0,
2609 324, 325, 326, 0, 0, 0, 0, 0, 327, 328,
2610 329, 0, 0, 0, 540, 300, 8, 9, 10, 0,
2611 12, 536, 302, 303, 0, 304, 14, 0, 0, 0,
2612 0, 331, 0, 0, 0, 0, 0, 0, 0, 0,
2613 16, 305, 17, 0, 19, 0, 306, 307, 308, 20,
2614 0, 309, 310, 311, 21, 312, 313, 0, 23, 0,
2615 0, 0, 314, 315, 316, 317, 318, 26, 0, 27,
2616 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2617 322, 0, 0, 323, 0, 0, 0, 0, 0, 0,
2618 0, 324, 325, 326, 0, 0, 0, 0, 0, 327,
2619 328, 329, 0, 8, 9, 330, 167, 12, 13, 0,
2620 0, 735, 0, 14, 0, 0, 0, 0, 0, 0,
2621 0, 0, 331, 0, 0, 0, 0, 16, 0, 17,
2622 18, 0, 7, 8, 9, 10, 20, 0, 519, 0,
2623 0, 0, 0, 0, 0, 23, 0, 621, 0, 300,
2624 8, 9, 10, 0, 26, 13, 130, 131, 0, 0,
2625 18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2626 1500, 21, 0, 0, 0, 0, 0, 18, 0, 0,
2627 1501, 0, 0, 0, 26, 0, 27, 28, 21, 0,
2628 0, 0, 1502, 625, 0, 300, 8, 9, 10, 0,
2629 193, 26, 0, 27, 320, 0, 0, 0, 0, 0,
2630 194, 0, 0, 0, 0, 0, 0, 752, 32, 0,
2631 0, 0, 195, 18, 0, 0, 0, 753, 0, 0,
2632 0, 0, 0, 0, 21, 32, 8, 9, 0, 754,
2633 12, 13, 1516, 0, 0, 0, 14, 26, 0, 27,
2634 320, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2635 16, 0, 17, 752, 0, 0, 0, 0, 0, 20,
2636 0, 0, 0, 753, 0, 0, 0, 0, 23, 0,
2637 0, 32, 0, 0, 0, 754, 0, 26, 0, 130,
2638 131, 604, 0, 1517, 573, 574, 575, 576, 577, 578,
2639 579, 580, 581, 582, 583, 584, 585, 586, 587, 588,
2640 589, 590, 591, 592, 593, 594, 8, 9, 0, 167,
2641 12, 13, 0, 0, 1584, 605, 14, 0, 0, 0,
2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2643 16, 0, 17, 18, 0, 0, 0, 0, 0, 20,
2644 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
2645 0, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2646 131, 573, 574, 575, 576, 577, 578, 579, 580, 581,
2647 582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
2648 592, 593, 594, 573, 574, 575, 576, 577, 578, 579,
2649 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2650 590, 591, 592, 593, 594, 0, 0, 0, 1269, 0,
2651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652 0, 0, 0, 663, 0, 0, 1604, 573, 574, 575,
2653 576, 577, 578, 579, 580, 581, 582, 583, 584, 585,
2654 586, 587, 588, 589, 590, 591, 592, 593, 594, 1100,
2655 0, 0, 0, 573, 574, 575, 576, 577, 578, 579,
2656 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2657 590, 591, 592, 593, 594, 1598, 573, 574, 575, 576,
2658 577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
2659 587, 588, 589, 590, 591, 592, 593, 594, 573, 574,
2660 575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2661 585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2662 573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
2663 583, 584, 0, 586, 587, 588, 589, 590, 591, 592,
2664 593, 594
2667 static const short yycheck[] = { 4,
2668 720, 209, 42, 55, 161, 176, 175, 174, 350, 23,
2669 4, 402, 4, 55, 460, 4, 251, 402, 126, 59,
2670 568, 485, 507, 80, 356, 695, 4, 14, 356, 46,
2671 35, 149, 150, 80, 90, 373, 92, 42, 84, 247,
2672 156, 35, 605, 35, 304, 305, 35, 402, 42, 133,
2673 134, 4, 57, 42, 647, 124, 789, 35, 791, 76,
2674 882, 42, 209, 134, 42, 243, 799, 72, 702, 1237,
2675 1238, 218, 42, 440, 133, 1423, 1339, 1513, 338, 84,
2676 1514, 137, 35, 88, 11, 90, 1254, 92, 296, 42,
2677 42, 468, 54, 1349, 1537, 42, 83, 144, 11, 1515,
2678 1356, 11, 107, 108, 1, 63, 12, 7, 75, 4,
2679 703, 57, 4, 5, 805, 38, 1559, 75, 33, 106,
2680 811, 356, 48, 175, 1560, 61, 59, 48, 493, 169,
2681 63, 136, 137, 175, 139, 30, 31, 61, 38, 455,
2682 35, 55, 350, 217, 218, 510, 1, 42, 9, 63,
2683 63, 62, 461, 45, 60, 12, 203, 63, 136, 468,
2684 165, 625, 59, 55, 169, 57, 58, 93, 94, 209,
2685 222, 176, 93, 109, 1, 169, 1619, 217, 218, 1595,
2686 169, 108, 108, 136, 165, 109, 109, 165, 169, 84,
2687 136, 169, 0, 155, 109, 108, 213, 539, 108, 169,
2688 60, 62, 108, 60, 59, 262, 63, 247, 63, 39,
2689 1644, 1379, 165, 48, 357, 358, 169, 169, 33, 25,
2690 1388, 1389, 169, 1391, 1660, 55, 535, 60, 60, 140,
2691 176, 922, 59, 27, 719, 75, 63, 31, 200, 0,
2692 95, 136, 60, 8, 9, 156, 562, 1563, 108, 14,
2693 48, 1514, 1600, 59, 149, 150, 296, 63, 93, 94,
2694 48, 248, 1518, 347, 59, 408, 409, 61, 95, 61,
2695 165, 65, 37, 108, 169, 108, 14, 109, 3, 4,
2696 5, 46, 49, 48, 22, 75, 48, 596, 347, 95,
2697 108, 448, 297, 602, 964, 93, 1612, 343, 193, 194,
2698 48, 212, 97, 359, 938, 93, 94, 941, 59, 220,
2699 350, 93, 644, 1569, 65, 109, 385, 109, 881, 61,
2700 108, 93, 393, 60, 55, 330, 237, 65, 93, 638,
2701 685, 93, 57, 58, 149, 150, 151, 675, 343, 3,
2702 4, 5, 6, 490, 75, 93, 351, 714, 715, 983,
2703 984, 742, 404, 1044, 359, 360, 81, 742, 476, 477,
2704 108, 48, 404, 479, 1620, 1056, 406, 109, 75, 356,
2705 25, 108, 27, 93, 48, 1543, 1544, 93, 42, 614,
2706 195, 4, 360, 55, 63, 49, 124, 3, 4, 5,
2707 6, 65, 61, 57, 58, 60, 738, 402, 107, 1090,
2708 405, 1092, 442, 75, 59, 721, 93, 360, 63, 61,
2709 148, 76, 35, 402, 360, 489, 490, 81, 470, 93,
2710 968, 4, 5, 497, 4, 89, 42, 479, 805, 108,
2711 25, 483, 63, 49, 811, 509, 4, 442, 884, 491,
2712 95, 57, 58, 1036, 75, 501, 48, 55, 343, 489,
2713 490, 508, 48, 63, 528, 35, 1278, 497, 76, 923,
2714 78, 442, 31, 468, 442, 360, 49, 35, 12, 509,
2715 48, 4, 442, 89, 57, 58, 75, 1, 534, 3,
2716 4, 5, 499, 27, 25, 59, 27, 31, 528, 442,
2717 55, 93, 94, 48, 60, 61, 501, 93, 81, 59,
2718 238, 239, 35, 508, 48, 648, 108, 402, 93, 42,
2719 65, 48, 108, 251, 508, 93, 60, 61, 59, 63,
2720 1253, 65, 63, 55, 48, 4, 5, 1161, 1162, 534,
2721 508, 55, 537, 57, 58, 540, 84, 85, 93, 450,
2722 545, 546, 547, 548, 549, 922, 713, 442, 48, 93,
2723 94, 84, 55, 558, 95, 508, 93, 1042, 55, 470,
2724 606, 48, 508, 568, 108, 63, 571, 12, 479, 93,
2725 879, 880, 48, 468, 965, 55, 885, 75, 57, 58,
2726 965, 476, 477, 48, 322, 496, 1408, 76, 48, 55,
2727 899, 108, 901, 93, 903, 75, 774, 775, 650, 683,
2728 932, 606, 780, 136, 932, 676, 93, 94, 650, 75,
2729 965, 651, 683, 508, 48, 60, 80, 93, 63, 624,
2730 65, 108, 678, 831, 108, 363, 631, 483, 93, 4,
2731 5, 65, 165, 93, 372, 491, 169, 94, 55, 691,
2732 104, 693, 694, 11, 953, 48, 63, 385, 635, 691,
2733 48, 693, 694, 108, 694, 4, 5, 55, 75, 93,
2734 94, 476, 477, 478, 1110, 1111, 1130, 1044, 928, 133,
2735 684, 4, 5, 678, 49, 783, 9, 75, 821, 1056,
2736 144, 55, 57, 58, 108, 48, 738, 692, 1004, 998,
2737 93, 696, 766, 4, 5, 93, 738, 932, 738, 109,
2738 49, 75, 63, 107, 108, 719, 81, 48, 57, 58,
2739 1195, 606, 48, 1090, 75, 1092, 3, 4, 5, 6,
2740 48, 55, 55, 48, 57, 58, 766, 622, 623, 624,
2741 93, 94, 789, 97, 791, 182, 631, 742, 71, 203,
2742 797, 75, 799, 61, 796, 1230, 57, 58, 81, 93,
2743 806, 807, 93, 809, 796, 42, 61, 93, 349, 350,
2744 351, 94, 48, 1209, 48, 93, 94, 505, 93, 94,
2745 57, 58, 1218, 1219, 238, 792, 793, 48, 25, 3,
2746 27, 1227, 111, 1125, 789, 802, 791, 3, 4, 5,
2747 6, 831, 797, 75, 799, 789, 94, 791, 262, 63,
2748 805, 806, 807, 94, 809, 799, 811, 93, 63, 93,
2749 343, 789, 59, 791, 930, 958, 63, 3, 4, 5,
2750 93, 799, 93, 1269, 991, 93, 42, 360, 9, 55,
2751 111, 12, 570, 48, 93, 75, 789, 63, 791, 55,
2752 55, 57, 58, 789, 108, 791, 799, 742, 95, 75,
2753 796, 797, 27, 799, 75, 71, 31, 752, 753, 60,
2754 75, 1039, 1040, 1041, 75, 81, 75, 48, 11, 402,
2755 108, 57, 58, 89, 60, 880, 614, 93, 93, 60,
2756 885, 62, 63, 60, 65, 60, 61, 55, 1197, 108,
2757 1199, 355, 1201, 75, 789, 76, 791, 78, 25, 55,
2758 27, 108, 4, 5, 799, 108, 1626, 63, 75, 442,
2759 805, 916, 93, 94, 306, 307, 811, 922, 75, 75,
2760 45, 926, 1368, 3, 4, 5, 330, 108, 108, 976,
2761 55, 323, 59, 58, 326, 468, 63, 329, 60, 61,
2762 332, 1084, 1085, 1086, 336, 932, 684, 109, 412, 4,
2763 5, 109, 344, 55, 108, 57, 58, 695, 111, 1405,
2764 965, 111, 967, 968, 4, 5, 971, 27, 95, 71,
2765 3, 4, 5, 6, 75, 508, 965, 57, 58, 81,
2766 3, 4, 5, 60, 7, 8, 9, 75, 726, 55,
2767 1299, 75, 94, 904, 49, 1047, 55, 111, 31, 76,
2768 911, 78, 57, 58, 63, 1047, 1348, 111, 31, 42,
2769 1015, 1068, 60, 61, 37, 55, 75, 57, 58, 930,
2770 1077, 1068, 55, 1028, 57, 58, 81, 922, 59, 924,
2771 925, 926, 60, 61, 57, 58, 1152, 108, 71, 1044,
2772 108, 505, 55, 1060, 1126, 1127, 108, 1129, 81, 1066,
2773 1067, 1056, 48, 1070, 1071, 108, 89, 1074, 8, 55,
2774 93, 465, 111, 1181, 1182, 48, 60, 531, 1184, 48,
2775 965, 65, 1077, 606, 969, 970, 971, 93, 1134, 75,
2776 65, 75, 76, 1077, 55, 1090, 60, 1092, 3, 4,
2777 5, 624, 63, 1211, 1212, 1100, 93, 93, 631, 1077,
2778 691, 1047, 693, 694, 75, 696, 4, 5, 87, 88,
2779 109, 9, 91, 92, 93, 94, 1121, 55, 1434, 109,
2780 1015, 818, 819, 820, 1077, 63, 1178, 60, 61, 1134,
2781 61, 1077, 1184, 537, 1450, 60, 540, 75, 55, 1186,
2782 55, 545, 57, 58, 59, 37, 1289, 738, 108, 1044,
2783 75, 76, 1157, 78, 558, 619, 971, 55, 65, 57,
2784 58, 1056, 1553, 65, 556, 557, 65, 571, 1553, 108,
2785 634, 575, 61, 71, 1226, 63, 1347, 1346, 1183, 1348,
2786 108, 1195, 1077, 81, 60, 61, 1302, 60, 61, 60,
2787 61, 1248, 108, 1245, 108, 1090, 1253, 1092, 108, 603,
2788 1015, 1206, 60, 61, 1650, 609, 60, 61, 1213, 742,
2789 65, 111, 1206, 951, 1206, 1557, 81, 82, 83, 84,
2790 85, 1537, 3, 4, 5, 65, 964, 65, 1206, 76,
2791 3, 4, 5, 60, 7, 3, 4, 5, 6, 108,
2792 831, 1152, 108, 1559, 3, 4, 5, 108, 1253, 108,
2793 1302, 108, 76, 76, 76, 76, 789, 108, 791, 1253,
2794 1155, 1156, 1157, 8, 9, 38, 799, 1178, 49, 14,
2795 1586, 108, 805, 1184, 42, 1253, 57, 58, 811, 4,
2796 5, 49, 55, 33, 57, 58, 1181, 1182, 1183, 57,
2797 58, 755, 37, 27, 1346, 60, 1348, 31, 57, 58,
2798 1253, 46, 1307, 1619, 1346, 63, 1348, 1253, 1348, 63,
2799 108, 1206, 63, 904, 108, 1226, 1211, 1212, 1213, 108,
2800 911, 89, 769, 111, 1640, 94, 60, 61, 1223, 1224,
2801 55, 65, 57, 58, 1339, 111, 89, 75, 48, 930,
2802 111, 108, 1347, 109, 1349, 1339, 71, 108, 111, 1557,
2803 61, 1356, 108, 108, 60, 1349, 81, 1349, 1253, 108,
2804 1365, 1339, 1356, 109, 1356, 108, 1181, 1182, 1183, 1386,
2805 1387, 1349, 1529, 1111, 65, 3, 4, 5, 1356, 7,
2806 8, 9, 65, 60, 60, 63, 108, 108, 88, 922,
2807 90, 1302, 92, 926, 93, 93, 1211, 1212, 1213, 149,
2808 150, 151, 109, 31, 93, 93, 4, 5, 109, 37,
2809 1305, 1306, 1307, 108, 1532, 1533, 108, 7, 8, 9,
2810 8, 108, 108, 108, 14, 4, 5, 55, 108, 57,
2811 58, 59, 965, 31, 108, 108, 111, 137, 971, 139,
2812 1607, 31, 111, 1460, 1339, 195, 108, 37, 33, 108,
2813 48, 1503, 108, 65, 1349, 108, 46, 55, 55, 57,
2814 58, 1356, 108, 108, 108, 1203, 48, 931, 63, 933,
2815 49, 1209, 111, 71, 108, 103, 104, 105, 57, 58,
2816 96, 108, 1015, 81, 108, 889, 63, 63, 3, 4,
2817 5, 6, 4, 5, 61, 93, 94, 1502, 61, 9,
2818 1552, 893, 81, 1508, 61, 16, 1558, 108, 1513, 1514,
2819 1515, 1044, 976, 1518, 108, 108, 1558, 1557, 93, 1513,
2820 1514, 1513, 926, 1056, 1518, 108, 1518, 42, 108, 1534,
2821 108, 93, 924, 925, 49, 1513, 1514, 49, 61, 61,
2822 1518, 65, 57, 58, 1077, 57, 58, 55, 1553, 93,
2823 111, 30, 31, 93, 33, 1560, 17, 1090, 61, 1092,
2824 55, 1152, 108, 61, 1569, 108, 1560, 102, 1560, 81,
2825 107, 1588, 108, 11, 89, 1569, 764, 1569, 57, 108,
2826 59, 61, 1560, 61, 61, 60, 65, 1178, 93, 65,
2827 1595, 1569, 1503, 1184, 108, 1333, 1334, 3, 4, 5,
2828 6, 61, 1049, 1050, 1068, 1500, 1501, 1502, 108, 3,
2829 4, 5, 6, 1508, 108, 1620, 804, 61, 1513, 1514,
2830 1515, 321, 810, 1518, 1157, 11, 1620, 11, 1620, 1076,
2831 61, 4, 5, 0, 1081, 0, 42, 1532, 1533, 0,
2832 170, 1552, 1620, 49, 2, 35, 1461, 1448, 42, 676,
2833 1183, 57, 58, 965, 94, 1660, 169, 442, 1553, 359,
2834 797, 55, 141, 57, 58, 1560, 1660, 146, 1660, 165,
2835 149, 150, 151, 1206, 1569, 81, 49, 1606, 238, 1195,
2836 1213, 139, 1660, 89, 57, 58, 1433, 1425, 1660, 1,
2837 1279, 3, 4, 5, 1158, 89, 299, 176, 951, 657,
2838 1595, 726, 1230, 182, 3, 4, 5, 1042, 81, 1447,
2839 1448, 1302, 1077, 659, 193, 194, 195, 1532, 1533, 1534,
2840 1253, 242, 1186, 797, 1250, 1620, 476, 477, 478, 917,
2841 209, 919, 3, 4, 5, 200, 48, 347, 217, 218,
2842 1132, 124, 944, 55, 606, 57, 58, 59, 60, 1349,
2843 49, 1207, 1640, 3, 4, 5, 6, 1626, 57, 58,
2844 460, 461, 1574, 1636, 1638, 1660, 1023, 1365, 468, -1,
2845 -1, 4, 5, -1, 1307, -1, 9, -1, -1, -1,
2846 259, 93, -1, -1, 1248, -1, 57, 58, 1526, -1,
2847 -1, -1, 42, -1, -1, -1, 1243, 1244, 31, 1246,
2848 1247, 501, 1249, -1, -1, 55, 1339, 57, 58, 1213,
2849 -1, 61, -1, 63, -1, -1, 1349, -1, -1, 1211,
2850 1212, 71, 55, 1356, 57, 58, -1, -1, -1, -1,
2851 -1, 81, -1, -1, 534, 535, -1, -1, 71, 89,
2852 -1, -1, 461, 93, 544, -1, -1, -1, 81, 468,
2853 -1, 330, -1, -1, -1, 4, 5, -1, -1, -1,
2854 93, 1265, 1266, 1267, 1268, -1, -1, -1, 568, -1,
2855 570, -1, -1, 573, 574, -1, 576, 577, 578, 579,
2856 580, 581, 582, 583, 584, 585, 586, 587, 588, 589,
2857 590, 591, 592, 593, 594, -1, 596, -1, -1, 48,
2858 -1, 1089, 602, 1091, -1, -1, 55, -1, 57, 58,
2859 -1, -1, 1503, 3, 4, 5, 535, -1, 3, 4,
2860 5, 6, 71, -1, 9, -1, 405, 406, 1332, 1376,
2861 1377, 631, 81, -1, 31, 3, 4, 5, 638, -1,
2862 419, -1, -1, 422, 93, 94, 31, 1339, -1, 428,
2863 429, 430, -1, 1417, -1, 434, -1, 42, -1, -1,
2864 1148, 1552, 662, 663, -1, 55, -1, 57, 58, 1502,
2865 55, -1, 57, 58, -1, 1508, -1, 596, 678, -1,
2866 1513, 1514, 1515, 602, -1, 1518, 71, -1, -1, 57,
2867 58, 59, 471, -1, -1, 474, 81, 476, 477, 478,
2868 -1, -1, 1406, 482, 89, 3, 4, 5, 93, 488,
2869 489, 490, 631, -1, 493, -1, -1, -1, 497, 638,
2870 1553, 3, 4, 5, -1, -1, 726, 1560, -1, -1,
2871 -1, 510, -1, 1480, 1481, 1482, 1569, -1, -1, 1443,
2872 -1, 3, 4, 5, 141, -1, 1234, -1, -1, 146,
2873 -1, 1239, -1, -1, -1, -1, -1, 55, 537, 57,
2874 58, 540, 1595, 3, 4, 5, 6, 3, 4, 5,
2875 -1, 7, 8, 9, -1, 57, 58, 556, 557, 558,
2876 3, 4, 5, 6, 7, 8, 9, 1620, 788, -1,
2877 -1, 14, 571, 1540, 1541, 57, 58, 194, -1, -1,
2878 3, -1, 42, 6, 1508, 1293, 806, 807, 31, 809,
2879 1514, 1515, -1, -1, 37, -1, -1, 57, 58, 42,
2880 -1, 57, 58, 46, 824, 48, -1, 1660, 31, -1,
2881 1534, -1, 55, -1, 57, 58, -1, -1, -1, 42,
2882 1532, 1533, -1, 622, 623, 624, -1, 847, 71, 89,
2883 -1, -1, 631, -1, 57, 58, -1, -1, 81, -1,
2884 -1, -1, 259, -1, 1611, -1, 89, -1, 71, -1,
2885 93, 94, 651, 3, 4, 5, -1, -1, 81, 879,
2886 880, 3, 4, 5, 884, 885, 89, -1, -1, -1,
2887 93, 1595, -1, 3, 4, 5, 6, -1, -1, 899,
2888 -1, 901, -1, 903, -1, 824, -1, 1395, 1396, -1,
2889 1614, -1, -1, 692, -1, 694, 695, -1, -1, -1,
2890 -1, 971, 3, 4, 5, 1413, -1, 57, 58, 39,
2891 40, 1635, 42, 55, -1, 57, 58, -1, -1, -1,
2892 1644, -1, 942, -1, -1, 55, -1, 57, 58, -1,
2893 -1, -1, -1, 953, -1, -1, -1, -1, -1, 738,
2894 879, 880, -1, -1, -1, 1015, 885, -1, 968, -1,
2895 -1, 750, 751, 752, 753, 754, 57, 58, -1, 758,
2896 899, 981, 901, -1, 903, 1473, 1474, 766, -1, -1,
2897 769, 79, 80, 81, 82, 83, 84, 85, 998, -1,
2898 -1, 1489, 1490, -1, -1, -1, 1, -1, 3, 4,
2899 5, 6, 7, 8, 9, 1015, 4, 5, 797, 14,
2900 -1, 9, 419, -1, -1, 422, -1, -1, -1, -1,
2901 -1, -1, -1, 28, 953, 30, 31, 434, -1, -1,
2902 -1, -1, 37, 31, -1, 824, -1, 42, 4, 5,
2903 -1, 46, 8, 9, 49, -1, -1, -1, 14, 1059,
2904 55, -1, 57, 58, -1, -1, 61, 55, -1, 57,
2905 58, -1, -1, -1, 471, -1, 71, 474, -1, 998,
2906 -1, 37, -1, 71, -1, -1, 81, -1, -1, -1,
2907 46, 488, 48, 81, 89, -1, 1015, -1, 93, 55,
2908 -1, 57, 58, -1, -1, 93, -1, -1, -1, -1,
2909 1110, 1111, -1, -1, 1114, 71, 4, 5, -1, -1,
2910 -1, 33, -1, -1, -1, 81, 905, -1, -1, 908,
2911 -1, 1181, 1182, 1183, 1134, -1, -1, 93, 94, -1,
2912 -1, 920, -1, 31, -1, 924, 925, 926, 7, 8,
2913 9, -1, -1, -1, -1, 14, -1, 4, 5, -1,
2914 48, 1211, 1212, 1213, -1, -1, -1, 55, -1, 57,
2915 58, -1, 31, -1, -1, -1, -1, -1, 37, -1,
2916 -1, -1, -1, 71, 31, 964, -1, 46, -1, -1,
2917 969, 970, 971, 81, 4, -1, -1, 1197, -1, 1199,
2918 -1, 1201, 61, -1, 14, 93, 94, -1, 55, 1209,
2919 57, 58, -1, -1, 24, -1, -1, -1, 1218, 1219,
2920 30, 31, -1, 33, 71, 35, -1, 1227, -1, -1,
2921 -1, -1, 42, -1, 81, -1, 1015, -1, 150, 151,
2922 -1, 1241, 1242, -1, -1, 55, 93, 57, -1, -1,
2923 1029, 1030, 1031, -1, -1, 65, 4, 5, -1, -1,
2924 8, 9, 72, -1, -1, -1, 14, 4, 5, 1269,
2925 1049, 1050, 9, 83, 84, -1, -1, -1, 1197, -1,
2926 1199, 402, 1201, 195, -1, -1, -1, -1, -1, 37,
2927 -1, -1, -1, -1, 31, -1, 106, 1076, 46, 1299,
2928 48, -1, 1081, -1, -1, -1, -1, 55, -1, 57,
2929 58, 48, -1, -1, -1, -1, -1, -1, 55, -1,
2930 57, 58, -1, 71, 134, -1, 136, -1, 1328, -1,
2931 140, 141, -1, 81, 71, 145, 146, -1, -1, 149,
2932 150, 151, -1, -1, 81, 93, 94, 468, -1, -1,
2933 -1, -1, -1, 750, 751, 165, 93, 94, -1, 169,
2934 -1, 758, -1, -1, -1, 175, 176, -1, 1368, 3,
2935 4, 5, 6, -1, -1, 9, 1155, 1156, 1157, -1,
2936 1299, -1, 1382, 193, 194, 195, -1, -1, -1, 4,
2937 5, -1, 7, 8, 9, -1, -1, 31, -1, 14,
2938 1179, 1180, 1181, 1182, 1183, 1405, -1, -1, 42, 1188,
2939 -1, 1461, 222, 28, 48, 30, 31, -1, 330, -1,
2940 -1, 55, 37, 57, 58, -1, -1, -1, -1, 239,
2941 -1, 46, 1211, 1212, 1213, -1, -1, 71, 248, -1,
2942 55, -1, 57, 58, 1223, 1224, 1225, 81, -1, 259,
2943 7, 8, 9, -1, -1, 89, -1, 14, -1, 93,
2944 94, 1461, -1, -1, 1243, 1244, -1, 1246, 1247, -1,
2945 1249, -1, -1, -1, 31, -1, -1, -1, 1478, 1479,
2946 37, -1, 1532, 1533, 1534, -1, -1, 297, 298, 46,
2947 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2948 -1, -1, -1, 624, 61, -1, -1, -1, -1, -1,
2949 631, -1, -1, -1, 31, -1, 1516, 429, 430, -1,
2950 37, -1, -1, -1, 1303, 1304, 1305, 1306, 1307, 46,
2951 -1, 1310, -1, 343, -1, -1, -1, 347, -1, 349,
2952 350, 351, 1461, -1, -1, -1, 1546, -1, -1, -1,
2953 360, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2954 81, 82, 83, 84, 85, 477, 478, -1, 1347, 1348,
2955 -1, -1, -1, 970, 77, 78, 79, 80, 81, 82,
2956 83, 84, 85, 393, 193, 194, -1, -1, -1, -1,
2957 -1, -1, 402, -1, 404, 405, -1, 1376, 1377, -1,
2958 -1, -1, 3, 4, 5, 6, -1, -1, 9, 419,
2959 -1, -1, 422, -1, -1, -1, -1, -1, -1, -1,
2960 -1, 742, -1, -1, 434, 537, -1, -1, 540, -1,
2961 31, -1, 442, -1, -1, -1, 1415, 1416, -1, 1418,
2962 -1, 42, -1, -1, -1, 557, 558, 48, -1, -1,
2963 1650, -1, -1, -1, 55, -1, 57, 58, -1, 571,
2964 470, 471, -1, -1, 474, -1, 476, 477, 478, 479,
2965 71, -1, -1, 483, 3, 4, 5, 6, 488, -1,
2966 81, 491, 1461, -1, 805, -1, -1, -1, 89, -1,
2967 811, -1, 93, 94, 3, 4, 5, 6, 508, -1,
2968 -1, 1480, 1481, 1482, -1, -1, -1, -1, -1, -1,
2969 -1, -1, -1, 42, -1, -1, -1, -1, -1, 631,
2970 -1, 1500, 1501, 1502, -1, -1, 55, -1, 57, 58,
2971 -1, -1, 61, 42, -1, -1, 546, 547, 548, 549,
2972 49, -1, 71, -1, -1, -1, -1, -1, 57, 58,
2973 -1, -1, 81, 1532, 1533, 1534, -1, -1, -1, -1,
2974 89, 1540, 1541, 1, 93, 3, 4, 5, 6, 7,
2975 8, 9, 81, -1, -1, -1, 14, -1, -1, -1,
2976 89, -1, 1179, 1180, -1, -1, -1, -1, -1, 27,
2977 28, 1188, 30, 31, 32, -1, 606, -1, 608, 37,
2978 -1, 922, -1, -1, 42, 926, -1, 45, 46, 47,
2979 620, 49, 622, 623, 624, -1, -1, 55, -1, 57,
2980 58, 631, -1, 61, -1, 635, -1, -1, -1, -1,
2981 -1, -1, 1611, 71, -1, -1, 3, 4, 5, 6,
2982 650, 753, 754, 81, 965, -1, -1, -1, -1, -1,
2983 971, 89, -1, -1, -1, 93, -1, -1, -1, 97,
2984 -1, -1, 471, -1, 31, 474, 676, 476, 477, -1,
2985 -1, -1, -1, 683, -1, 42, -1, -1, -1, 488,
2986 -1, 691, 692, 693, 694, 695, 696, -1, 55, -1,
2987 57, 58, -1, -1, 1015, -1, -1, -1, -1, -1,
2988 -1, -1, -1, -1, 71, -1, 1303, 1304, -1, -1,
2989 -1, -1, 824, 1310, 81, -1, -1, -1, -1, -1,
2990 -1, -1, 89, 1044, -1, -1, 93, -1, 738, -1,
2991 -1, -1, 742, -1, -1, 1056, -1, -1, -1, -1,
2992 750, 751, 752, 753, 754, -1, -1, -1, 758, -1,
2993 -1, 3, 4, 5, 6, 73, 74, 75, 76, 77,
2994 78, 79, 80, 81, 82, 83, 84, 85, -1, 1090,
2995 -1, 1092, -1, -1, -1, -1, 786, 4, 5, 789,
2996 -1, 791, 9, -1, -1, -1, 796, 797, -1, 799,
2997 42, -1, -1, -1, -1, 805, 48, -1, -1, -1,
2998 -1, 811, -1, 55, 31, 57, 58, -1, 818, 819,
2999 820, -1, -1, 925, 926, -1, -1, -1, -1, 71,
3000 -1, 831, -1, -1, -1, -1, -1, -1, 55, 81,
3001 57, 58, -1, -1, -1, -1, 1157, 89, -1, -1,
3002 -1, 93, 94, 1, 71, 3, 4, 5, 6, 7,
3003 8, 9, -1, -1, 81, -1, 14, -1, -1, 971,
3004 -1, -1, 1183, -1, -1, -1, 93, -1, -1, -1,
3005 28, -1, 30, 31, 32, -1, -1, -1, -1, 37,
3006 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3007 -1, 49, 1213, -1, 904, 905, -1, 55, 908, 57,
3008 58, 911, -1, 1015, -1, -1, 916, -1, -1, -1,
3009 920, -1, 922, 71, 924, 925, 926, -1, -1, -1,
3010 930, -1, 932, 81, -1, -1, -1, -1, -1, -1,
3011 -1, 89, -1, -1, -1, 93, -1, -1, -1, 97,
3012 -1, 750, 751, 752, 753, -1, -1, -1, -1, 758,
3013 -1, -1, -1, -1, -1, 965, -1, 967, -1, 969,
3014 970, 971, 4, -1, -1, -1, -1, -1, -1, -1,
3015 -1, -1, 14, -1, -1, -1, -1, -1, 622, 623,
3016 -1, 23, 24, -1, -1, -1, 1307, -1, 30, 31,
3017 -1, 33, -1, 35, -1, -1, -1, -1, -1, -1,
3018 42, -1, -1, -1, -1, 1015, -1, 4, 5, -1,
3019 -1, 8, 9, 55, -1, 57, -1, 14, 1028, 1029,
3020 1030, 1031, -1, 65, 3, 4, 5, 6, -1, -1,
3021 72, 28, -1, 30, 1044, -1, -1, 1047, -1, -1,
3022 37, -1, 84, -1, 1156, 1157, 1056, -1, -1, 46,
3023 -1, 48, 31, -1, -1, -1, -1, -1, 55, 1069,
3024 57, 58, -1, 42, -1, -1, -1, 1077, -1, 48,
3025 1182, 1183, -1, -1, 71, -1, 55, -1, 57, 58,
3026 1090, -1, 1092, -1, 81, -1, -1, -1, -1, -1,
3027 1100, -1, 71, -1, 136, -1, 93, 94, 140, 141,
3028 1212, 1213, 81, -1, 146, -1, -1, 149, 150, 151,
3029 89, 1121, -1, -1, 93, 94, 1126, 1127, -1, 1129,
3030 -1, -1, -1, 165, -1, -1, -1, 169, -1, -1,
3031 -1, -1, -1, 175, 176, -1, -1, -1, -1, -1,
3032 -1, -1, 1152, -1, -1, 1155, 1156, 1157, -1, -1,
3033 -1, 193, 194, 195, -1, -1, -1, -1, -1, -1,
3034 969, 970, -1, -1, -1, -1, -1, -1, 1178, 1179,
3035 1180, 1181, 1182, 1183, 1184, -1, -1, -1, 1188, -1,
3036 222, 1502, -1, -1, 3, 4, 5, 6, -1, -1,
3037 9, -1, -1, -1, 1306, 1307, -1, -1, -1, -1,
3038 -1, 1211, 1212, 1213, -1, -1, -1, -1, -1, -1,
3039 -1, -1, 31, 1223, 1224, 1225, 1226, 259, -1, -1,
3040 1029, 1030, 1031, 42, -1, -1, -1, -1, -1, 48,
3041 -1, -1, 1553, -1, -1, 1245, 55, -1, 57, 58,
3042 1250, -1, -1, 1253, -1, -1, -1, -1, -1, -1,
3043 -1, -1, 71, -1, -1, 297, 298, -1, -1, -1,
3044 -1, 905, 81, -1, 908, -1, -1, -1, -1, -1,
3045 89, -1, -1, -1, 93, 94, 920, -1, -1, -1,
3046 924, 925, -1, -1, -1, -1, -1, -1, 3, 4,
3047 5, 6, 1302, 1303, 1304, 1305, 1306, 1307, -1, -1,
3048 1310, 343, -1, -1, -1, 347, -1, 349, 350, 351,
3049 -1, -1, -1, -1, 356, -1, 31, -1, 360, -1,
3050 -1, -1, -1, -1, -1, 969, 970, 42, 1, -1,
3051 3, 4, 5, 6, -1, 8, 1346, 1347, 1348, -1,
3052 55, -1, 57, 58, -1, -1, -1, -1, -1, 1461,
3053 -1, 393, -1, -1, -1, 1365, 71, -1, -1, -1,
3054 402, -1, 404, 405, -1, -1, 81, -1, -1, 42,
3055 1179, 1180, 1181, 1182, 89, -1, 49, 419, 93, 1188,
3056 422, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3057 -1, -1, 434, -1, -1, -1, -1, -1, -1, -1,
3058 442, -1, 1211, 1212, -1, 1415, 1416, -1, 1418, -1,
3059 -1, -1, -1, -1, 1223, 1224, 89, -1, -1, -1,
3060 -1, 1533, 1534, -1, -1, -1, -1, -1, 470, 471,
3061 -1, -1, 474, -1, 476, 477, 478, 479, -1, -1,
3062 -1, 483, -1, -1, -1, -1, 488, -1, -1, 491,
3063 -1, 1461, 74, 75, 76, 77, 78, 79, 80, 81,
3064 82, 83, 84, 85, -1, 507, 508, -1, -1, -1,
3065 -1, -1, -1, -1, -1, -1, -1, -1, -1, 3,
3066 4, 5, 6, -1, -1, -1, -1, -1, -1, -1,
3067 1500, 1501, 1502, 1503, 1303, 1304, 1305, 1306, -1, -1,
3068 -1, 1310, -1, -1, 546, 547, 548, 549, -1, -1,
3069 -1, 1155, 1156, -1, -1, -1, -1, -1, 42, -1,
3070 -1, -1, 1532, 1533, 1534, -1, -1, -1, -1, -1,
3071 -1, 55, -1, 57, 58, 1179, 1180, 1181, 1182, 63,
3072 -1, -1, 1552, 1553, 1188, -1, -1, 71, 1558, 3,
3073 4, 5, 6, 7, 8, 9, -1, 81, -1, -1,
3074 14, -1, -1, -1, 606, 89, 608, 1211, 1212, 93,
3075 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3076 622, 623, 624, 37, -1, -1, -1, -1, 42, 631,
3077 -1, -1, 46, -1, -1, 49, -1, -1, -1, -1,
3078 -1, 55, 644, 57, 58, -1, 1415, 1416, 650, 1418,
3079 -1, -1, -1, -1, -1, -1, -1, 71, -1, -1,
3080 -1, -1, -1, -1, -1, -1, -1, 81, -1, 3,
3081 4, 5, 6, -1, 676, 89, 4, 5, -1, 93,
3082 -1, 9, 684, 97, -1, -1, -1, -1, -1, 691,
3083 692, 693, 694, 695, 696, -1, -1, 31, -1, 1303,
3084 1304, 1305, 1306, 31, -1, -1, 1310, -1, 42, -1,
3085 -1, -1, -1, -1, 48, -1, -1, 719, -1, -1,
3086 48, 55, -1, 57, 58, -1, -1, 55, -1, 57,
3087 58, 1500, 1501, -1, -1, -1, 738, 71, -1, -1,
3088 742, -1, -1, 71, -1, -1, -1, 81, 750, 751,
3089 752, 753, 754, 81, -1, 89, 758, -1, -1, 93,
3090 94, -1, -1, 1532, 1533, 93, 94, -1, -1, -1,
3091 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3092 -1, -1, 9, -1, 786, -1, -1, 789, -1, 791,
3093 -1, -1, -1, -1, 796, 797, -1, 799, -1, -1,
3094 -1, -1, -1, 805, 31, -1, -1, -1, -1, 811,
3095 -1, 1415, 1416, -1, 1418, 42, 818, 819, 820, 1,
3096 -1, 3, 4, 5, 6, 7, 8, 9, 55, 831,
3097 57, 58, 14, -1, -1, -1, -1, -1, -1, 3,
3098 4, 5, 6, -1, 71, -1, 28, -1, 30, 31,
3099 32, -1, -1, -1, 81, 37, 38, -1, -1, -1,
3100 42, -1, 89, -1, 46, 47, 93, 49, -1, -1,
3101 -1, -1, -1, 55, -1, 57, 58, -1, 42, 61,
3102 -1, 63, -1, -1, -1, 49, -1, -1, -1, 71,
3103 -1, -1, -1, 57, 58, -1, 1500, 1501, -1, 81,
3104 -1, -1, 904, 905, -1, -1, 908, 89, -1, 911,
3105 -1, 93, -1, -1, 916, -1, -1, 81, 920, -1,
3106 922, -1, 924, 925, 926, 89, -1, 109, 930, -1,
3107 932, -1, -1, -1, 3, 4, 5, 6, -1, -1,
3108 9, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3109 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3110 -1, -1, 31, 965, -1, 967, -1, 969, 970, 971,
3111 4, -1, -1, 42, -1, -1, -1, -1, -1, 48,
3112 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3113 -1, -1, -1, -1, -1, -1, 30, 31, -1, 33,
3114 -1, 35, 71, -1, -1, -1, 4, 5, 42, 7,
3115 8, 9, 81, 1015, 12, -1, 14, -1, -1, -1,
3116 89, 55, -1, 57, 93, 94, 1028, 1029, 1030, 1031,
3117 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3118 1042, -1, 1044, -1, -1, 1047, 80, -1, 46, -1,
3119 48, -1, -1, -1, 1056, -1, -1, 55, -1, 57,
3120 58, -1, -1, -1, -1, -1, -1, 4, 5, -1,
3121 -1, -1, 9, 71, -1, 1077, -1, -1, -1, -1,
3122 -1, -1, -1, 81, 3, 4, 5, 6, 1090, -1,
3123 1092, -1, -1, -1, 31, 93, 94, -1, 1100, 133,
3124 134, -1, 136, -1, -1, -1, 140, 141, -1, -1,
3125 144, 48, 146, -1, 4, 149, 150, 151, 55, 1121,
3126 57, 58, 156, 42, 1126, 1127, -1, 1129, -1, -1,
3127 49, 165, -1, -1, 71, 169, -1, -1, 57, 58,
3128 -1, 175, 176, -1, 81, 35, -1, -1, -1, -1,
3129 1152, -1, 42, 1155, 1156, 1157, 93, 94, -1, 193,
3130 194, 195, 81, -1, -1, 55, -1, 57, -1, 203,
3131 89, -1, -1, -1, -1, -1, 1178, 1179, 1180, 1181,
3132 1182, 1183, 1184, -1, -1, -1, 1188, -1, 222, -1,
3133 -1, -1, -1, 1195, 71, 72, 73, 74, 75, 76,
3134 77, 78, 79, 80, 81, 82, 83, 84, 85, 1211,
3135 1212, 1213, -1, -1, -1, -1, -1, -1, -1, -1,
3136 -1, 1223, 1224, 1225, 1226, 259, -1, -1, 1230, 3,
3137 4, 5, 6, 7, 8, 9, -1, -1, 12, -1,
3138 14, -1, -1, 1245, -1, -1, 136, 82, 1250, -1,
3139 140, 1253, -1, -1, 28, -1, 30, 31, -1, -1,
3140 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3141 -1, -1, 46, -1, 48, 165, -1, -1, -1, 169,
3142 -1, 55, -1, 57, 58, 175, 176, 4, 5, -1,
3143 -1, -1, 9, -1, -1, -1, 330, 71, -1, -1,
3144 1302, 1303, 1304, 1305, 1306, 1307, -1, 81, 1310, -1,
3145 -1, -1, -1, 347, 31, 89, -1, -1, -1, 93,
3146 94, 355, -1, -1, 159, -1, 360, -1, -1, -1,
3147 -1, 48, 222, 1335, -1, -1, -1, -1, 55, -1,
3148 57, 58, -1, -1, 1346, 1347, 1348, -1, -1, -1,
3149 -1, -1, -1, -1, 71, -1, 191, -1, -1, 393,
3150 -1, -1, -1, 1365, 81, -1, -1, -1, -1, 204,
3151 404, -1, -1, -1, -1, -1, 93, 94, 3, 4,
3152 5, 6, 7, 8, 9, 419, -1, 12, 422, 14,
3153 -1, -1, -1, -1, 428, 429, 430, -1, -1, -1,
3154 434, -1, -1, 28, -1, 30, 31, -1, 442, -1,
3155 -1, -1, 37, 1415, 1416, -1, 1418, 42, -1, -1,
3156 -1, 46, -1, 48, -1, -1, -1, -1, -1, -1,
3157 55, -1, 57, 58, -1, -1, 470, 471, -1, -1,
3158 474, -1, 476, 477, 478, 479, 71, -1, -1, 483,
3159 -1, -1, -1, -1, 488, -1, 81, 491, -1, 1461,
3160 -1, -1, 4, 5, 89, 7, 8, 9, 93, 94,
3161 360, -1, 14, -1, 508, -1, -1, -1, -1, -1,
3162 -1, 3, 4, 5, 6, -1, 28, 9, 30, 31,
3163 -1, -1, -1, -1, -1, 37, -1, -1, 1500, 1501,
3164 1502, 1503, -1, 537, 46, -1, 540, 49, -1, 31,
3165 -1, -1, -1, 55, 404, 57, 58, -1, -1, -1,
3166 42, -1, 556, 557, 558, -1, 48, -1, -1, -1,
3167 1532, 1533, 1534, 55, -1, 57, 58, 571, -1, -1,
3168 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3169 1552, 1553, 442, -1, -1, -1, 1558, -1, -1, 81,
3170 -1, -1, -1, -1, -1, -1, -1, 89, -1, -1,
3171 -1, 93, 94, -1, -1, 3, 4, 5, 6, -1,
3172 470, 9, -1, -1, -1, 619, -1, -1, -1, -1,
3173 -1, -1, -1, 483, -1, -1, -1, 631, -1, -1,
3174 -1, 491, -1, 31, -1, -1, -1, -1, -1, -1,
3175 -1, -1, -1, -1, 42, -1, 650, -1, 508, -1,
3176 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3177 58, -1, -1, -1, -1, 3, 4, 5, 6, -1,
3178 -1, -1, 676, 71, -1, -1, 481, -1, -1, 683,
3179 -1, 486, -1, 81, -1, -1, -1, 691, 692, 693,
3180 694, 89, -1, 31, -1, 93, 94, -1, -1, -1,
3181 -1, -1, -1, -1, 42, -1, 511, -1, -1, -1,
3182 48, -1, 517, -1, -1, -1, -1, 55, -1, 57,
3183 58, -1, -1, -1, 529, 530, -1, 532, -1, -1,
3184 -1, -1, -1, 71, 738, 4, 5, -1, 742, 8,
3185 9, -1, -1, 81, -1, 14, 750, 751, 752, 753,
3186 754, 89, -1, -1, 758, 93, 94, -1, -1, 28,
3187 -1, 30, -1, -1, -1, -1, -1, -1, 37, -1,
3188 -1, -1, -1, -1, -1, -1, -1, 46, -1, -1,
3189 -1, -1, -1, -1, -1, 789, 55, 791, 57, 58,
3190 650, -1, 796, 797, -1, 799, -1, -1, -1, -1,
3191 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3192 4, -1, 14, -1, -1, -1, -1, -1, -1, -1,
3193 824, -1, 627, 628, 93, -1, 28, 632, 30, 31,
3194 -1, 691, 692, 693, 694, 37, 30, 31, -1, 33,
3195 42, 35, -1, -1, 46, -1, 48, -1, 42, -1,
3196 -1, -1, -1, 55, -1, 57, 58, -1, -1, -1,
3197 -1, 55, -1, 57, -1, -1, -1, -1, -1, 71,
3198 -1, -1, -1, -1, -1, -1, -1, -1, 738, 81,
3199 -1, -1, 742, -1, -1, -1, -1, 89, -1, -1,
3200 -1, 93, 94, -1, -1, -1, -1, -1, -1, -1,
3201 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3202 -1, -1, 9, -1, -1, -1, -1, -1, -1, -1,
3203 924, 925, 926, -1, -1, -1, 930, 931, -1, 789,
3204 -1, 791, -1, -1, 31, -1, 796, 797, -1, 799,
3205 -1, -1, 136, -1, -1, 42, 140, 141, -1, -1,
3206 -1, 756, 146, -1, -1, 149, 150, 151, 55, -1,
3207 57, 58, -1, -1, -1, 969, 970, 971, -1, -1,
3208 -1, 165, 976, -1, 71, 169, -1, -1, -1, -1,
3209 -1, 175, 176, -1, 81, -1, -1, -1, -1, -1,
3210 -1, -1, 89, -1, -1, -1, 93, -1, -1, 193,
3211 194, 195, -1, -1, -1, -1, -1, 812, -1, 814,
3212 -1, 1015, 70, 71, 72, 73, 74, 75, 76, 77,
3213 78, 79, 80, 81, 82, 83, 84, 85, 222, -1,
3214 -1, -1, 1, -1, -1, 4, 5, -1, -1, 8,
3215 9, -1, -1, 1047, -1, 14, -1, -1, -1, -1,
3216 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3217 -1, 30, -1, -1, 1068, 259, -1, -1, 37, -1,
3218 39, 40, -1, 1077, -1, -1, -1, 46, -1, 48,
3219 -1, -1, 887, 888, -1, 890, 55, -1, 57, 58,
3220 -1, 60, -1, -1, -1, 64, 65, 66, 67, 68,
3221 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3222 79, 80, 81, 82, 83, 84, 921, -1, 87, 88,
3223 89, -1, 91, -1, -1, 94, -1, -1, -1, -1,
3224 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3225 -1, 110, -1, -1, 3, 4, 5, 6, 1152, -1,
3226 9, 1155, 1156, 1157, 1158, -1, -1, -1, -1, -1,
3227 -1, -1, 356, -1, -1, -1, 360, -1, 973, -1,
3228 -1, -1, 31, -1, 1178, 1179, 1180, 1181, 1182, 1183,
3229 1184, -1, 1186, 42, 1188, -1, -1, 1047, -1, -1,
3230 -1, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3231 3, 4, 5, 6, -1, 33, -1, 1211, 1212, 1213,
3232 404, -1, 71, -1, -1, -1, -1, 1077, 4, 5,
3233 -1, -1, 81, 9, -1, 419, -1, 55, 422, -1,
3234 89, -1, -1, -1, 93, -1, -1, -1, 1043, 42,
3235 434, 1245, -1, -1, -1, 31, 1250, -1, 442, 1253,
3236 1055, -1, 55, -1, 57, 58, -1, -1, -1, -1,
3237 63, -1, 48, -1, -1, -1, -1, -1, 71, 55,
3238 -1, 57, 58, -1, -1, -1, 470, 471, 81, -1,
3239 474, -1, 476, 477, 478, 71, 89, -1, -1, 483,
3240 93, -1, -1, -1, 488, 81, -1, 491, 1302, 1303,
3241 1304, 1305, 1306, 1307, -1, -1, 1310, 93, 94, -1,
3242 -1, -1, -1, -1, 508, -1, -1, -1, 1178, -1,
3243 -1, 149, 150, 151, -1, -1, -1, 1, -1, 3,
3244 4, 5, 6, 7, 8, 9, -1, -1, 1143, -1,
3245 14, -1, 1346, 1347, 1348, -1, -1, 175, -1, -1,
3246 -1, -1, -1, -1, 28, -1, 30, 31, 32, -1,
3247 -1, -1, -1, 37, 38, 193, 194, 195, 42, -1,
3248 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3249 -1, 55, 1187, 57, 58, 1245, -1, 61, -1, 63,
3250 1250, -1, -1, 1253, 222, -1, -1, 71, -1, -1,
3251 -1, -1, -1, -1, -1, -1, -1, 81, -1, -1,
3252 -1, -1, -1, -1, -1, 89, -1, -1, -1, 93,
3253 -1, -1, -1, -1, -1, -1, 620, -1, -1, -1,
3254 -1, -1, -1, -1, -1, 109, -1, -1, -1, -1,
3255 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3256 1255, -1, 14, -1, 1259, -1, 650, 1461, -1, -1,
3257 -1, -1, -1, -1, -1, -1, 28, -1, 30, 31,
3258 298, -1, -1, -1, -1, 37, -1, -1, -1, -1,
3259 42, -1, -1, -1, 46, -1, 1346, 1347, 1348, -1,
3260 1295, -1, -1, 55, -1, 57, 58, 691, 692, 693,
3261 694, 63, -1, 1308, -1, -1, -1, -1, -1, 71,
3262 -1, -1, -1, -1, -1, -1, -1, -1, -1, 81,
3263 -1, 349, 350, 351, -1, -1, -1, 89, 1532, 1533,
3264 1534, 93, -1, -1, -1, -1, -1, -1, -1, -1,
3265 -1, -1, -1, -1, 738, 4, 5, -1, 742, 8,
3266 9, -1, -1, -1, 1558, 14, 750, 751, -1, -1,
3267 -1, -1, -1, -1, 758, -1, 1371, -1, -1, 28,
3268 1375, 30, -1, -1, -1, -1, 404, 1, 37, 3,
3269 4, 5, 6, 7, 8, 9, -1, 46, -1, -1,
3270 14, -1, 1397, 1398, -1, 789, 55, 791, 57, 58,
3271 -1, -1, 796, 797, 28, 799, 30, 31, 32, -1,
3272 -1, -1, -1, 37, -1, -1, -1, -1, 42, -1,
3273 -1, -1, 46, 47, -1, 49, -1, -1, -1, -1,
3274 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
3275 -1, -1, 470, 471, -1, -1, 474, 71, 476, 477,
3276 478, 479, -1, -1, -1, 483, -1, 81, -1, -1,
3277 488, -1, -1, 491, -1, 89, -1, -1, -1, 93,
3278 -1, -1, -1, -1, 1, -1, 3, 4, 5, 6,
3279 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3280 -1, -1, -1, -1, -1, -1, -1, -1, 1558, -1,
3281 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3282 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3283 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3284 57, 58, 59, -1, -1, 62, -1, -1, 932, -1,
3285 55, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3286 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3287 87, 88, 89, -1, -1, 80, 93, 94, 83, -1,
3288 -1, -1, -1, -1, -1, 969, 970, 971, -1, -1,
3289 608, -1, -1, 110, -1, -1, -1, -1, -1, 104,
3290 -1, 106, -1, -1, 622, 623, 624, 4, 5, -1,
3291 -1, -1, 9, 631, 3, 4, 5, 6, 7, 8,
3292 9, -1, -1, 12, -1, 14, -1, -1, -1, -1,
3293 -1, 1015, 650, -1, 31, -1, -1, -1, -1, 28,
3294 -1, 30, 31, -1, -1, -1, -1, -1, 37, -1,
3295 -1, 48, -1, 42, -1, -1, -1, 46, 55, 48,
3296 57, 58, -1, 1047, -1, -1, 55, -1, 57, 58,
3297 175, -1, -1, 691, 71, 693, 694, -1, 696, -1,
3298 -1, -1, 71, -1, 81, -1, -1, -1, 193, 194,
3299 195, -1, 81, 1077, -1, -1, 93, 94, 203, -1,
3300 89, -1, -1, -1, 93, 94, -1, -1, -1, -1,
3301 -1, -1, -1, -1, -1, -1, -1, 222, -1, -1,
3302 738, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3303 -1, -1, 750, 751, 752, 753, 754, 4, 5, -1,
3304 758, 8, 9, 248, 349, 350, 351, 14, -1, -1,
3305 -1, -1, -1, -1, -1, -1, -1, 262, -1, -1,
3306 -1, 28, -1, 30, -1, -1, -1, -1, -1, -1,
3307 37, -1, -1, -1, -1, -1, -1, -1, 796, 46,
3308 -1, 3, 4, 5, 6, 7, 8, 9, 55, -1,
3309 57, 58, 14, -1, 1178, 1179, 1180, 1181, 1182, 1183,
3310 818, 819, 820, -1, 1188, -1, -1, -1, -1, 31,
3311 -1, -1, -1, 831, -1, 37, -1, -1, -1, -1,
3312 42, -1, -1, -1, 46, -1, 48, 1211, 1212, 1213,
3313 -1, -1, -1, 55, -1, 57, 58, 3, 4, 5,
3314 6, -1, -1, 9, -1, -1, -1, -1, -1, 71,
3315 355, 356, -1, -1, -1, -1, -1, -1, -1, 81,
3316 -1, 1245, -1, -1, -1, 31, 1250, 89, -1, 1253,
3317 -1, 93, 94, -1, -1, -1, 42, -1, -1, -1,
3318 -1, -1, -1, -1, -1, -1, 904, 905, -1, 55,
3319 908, 57, 58, 911, -1, -1, -1, -1, -1, 404,
3320 -1, -1, 920, -1, -1, 71, 924, 925, 926, -1,
3321 -1, -1, 930, -1, -1, 81, -1, -1, -1, 1303,
3322 1304, -1, -1, 89, -1, -1, 1310, 93, -1, -1,
3323 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
3324 6, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3325 -1, 969, 970, 971, -1, -1, -1, -1, -1, -1,
3326 -1, -1, 1346, 1347, 1348, 470, 471, -1, -1, 474,
3327 -1, 476, 477, 478, 479, -1, 42, -1, 483, -1,
3328 -1, -1, -1, 488, -1, -1, 491, -1, -1, 55,
3329 -1, 57, 58, -1, -1, 61, -1, 1015, -1, -1,
3330 -1, -1, -1, -1, -1, 71, 107, 108, -1, -1,
3331 -1, 1029, 1030, 1031, -1, 81, -1, 622, 623, 624,
3332 -1, -1, -1, 89, -1, -1, 631, 93, -1, 1047,
3333 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3334 -1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3335 -1, -1, -1, 14, -1, -1, -1, -1, -1, -1,
3336 -1, -1, -1, -1, -1, -1, -1, 28, -1, 30,
3337 31, -1, -1, -1, -1, -1, 37, 1461, -1, -1,
3338 -1, 42, -1, -1, -1, 46, 691, -1, 693, 694,
3339 -1, 696, -1, -1, 55, -1, 57, 58, -1, -1,
3340 61, -1, -1, -1, -1, -1, -1, -1, 1126, 1127,
3341 71, 1129, -1, -1, -1, -1, -1, -1, -1, -1,
3342 81, -1, -1, -1, -1, -1, -1, -1, 89, 634,
3343 635, -1, 93, 738, 1152, -1, -1, 1155, 1156, 1157,
3344 -1, -1, -1, -1, -1, 650, -1, -1, 1532, 1533,
3345 1534, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3346 1178, 1179, 1180, 1181, 1182, 1183, 1184, -1, -1, -1,
3347 1188, -1, -1, -1, 1558, -1, 3, 4, 5, 6,
3348 7, 8, 9, -1, -1, 12, 691, 14, 693, 694,
3349 -1, -1, -1, 1211, 1212, 1213, -1, -1, -1, -1,
3350 -1, 28, -1, 30, 31, 1223, 1224, 1225, 1226, -1,
3351 37, -1, -1, -1, -1, 42, -1, -1, -1, 46,
3352 -1, -1, -1, -1, -1, -1, 831, 1245, 55, 330,
3353 57, 58, -1, 738, -1, -1, -1, -1, -1, -1,
3354 -1, -1, -1, -1, 71, 750, 751, 752, 753, 754,
3355 755, -1, -1, 758, 81, -1, -1, -1, -1, -1,
3356 -1, -1, 89, -1, -1, -1, 93, -1, -1, -1,
3357 -1, -1, -1, -1, -1, -1, -1, -1, 783, -1,
3358 -1, -1, -1, -1, 1302, 1303, 1304, 1305, 1306, 1307,
3359 -1, 796, 1310, -1, -1, -1, -1, -1, -1, 904,
3360 905, 402, -1, 908, -1, -1, 911, -1, -1, -1,
3361 -1, -1, -1, -1, -1, 920, -1, -1, -1, 924,
3362 925, 926, -1, -1, -1, 930, -1, -1, 1346, -1,
3363 1348, -1, 1, -1, 3, 4, 5, 6, 7, 8,
3364 9, -1, -1, -1, -1, 14, -1, -1, -1, -1,
3365 -1, 3, 4, 5, 6, -1, -1, 9, -1, 28,
3366 -1, 30, 31, 32, 969, 970, 971, 468, 37, 38,
3367 -1, -1, -1, 42, -1, -1, -1, 46, 47, 31,
3368 49, -1, -1, -1, -1, -1, 55, -1, 57, 58,
3369 42, -1, 61, -1, 63, -1, -1, 1415, 1416, -1,
3370 1418, -1, 71, 55, -1, 57, 58, -1, -1, -1,
3371 1015, -1, 81, -1, -1, -1, -1, -1, -1, 71,
3372 89, -1, -1, -1, 93, -1, 931, 932, 933, 81,
3373 -1, -1, -1, -1, -1, -1, 537, 89, -1, 540,
3374 109, 93, -1, 1461, 545, 546, 547, 548, 549, 3,
3375 4, 5, 6, -1, -1, 9, -1, 558, -1, -1,
3376 -1, -1, -1, -1, 969, 970, 971, -1, -1, -1,
3377 571, 976, -1, -1, -1, -1, -1, 31, -1, -1,
3378 -1, -1, 1500, 1501, 1502, 1503, -1, -1, 42, -1,
3379 -1, -1, -1, -1, 3, 4, 5, 6, 7, 8,
3380 9, 55, -1, 57, 58, 14, -1, -1, -1, -1,
3381 1015, -1, -1, -1, 1532, 1533, 1534, 71, -1, 28,
3382 -1, 30, 31, 624, 1029, 1030, 1031, 81, 37, -1,
3383 631, -1, -1, 42, 1552, 89, -1, 46, -1, 93,
3384 1558, -1, 1047, -1, -1, -1, 55, 1152, 57, 58,
3385 1155, 1156, 1157, -1, -1, -1, -1, -1, -1, -1,
3386 -1, -1, 71, 1068, -1, -1, 3, 4, 5, 6,
3387 -1, -1, 81, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
3388 89, -1, -1, 1188, 93, -1, -1, -1, -1, -1,
3389 -1, -1, -1, -1, 31, -1, -1, -1, -1, -1,
3390 -1, -1, -1, -1, -1, 42, 1211, 1212, 1213, 4,
3391 5, -1, 7, 8, 9, -1, -1, 12, 55, 14,
3392 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3393 -1, -1, -1, 28, 71, 30, 31, -1, 14, -1,
3394 -1, 742, 37, -1, 81, -1, -1, 23, 24, -1,
3395 -1, 46, 89, 1158, 30, 31, 93, 33, -1, -1,
3396 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3397 -1, -1, -1, 1178, 1179, 1180, 1181, 1182, 1183, 1184,
3398 -1, 1186, -1, 1188, -1, -1, -1, -1, -1, 65,
3399 -1, -1, -1, -1, -1, -1, -1, 1302, 1303, 1304,
3400 1305, 1306, 1307, -1, 805, 1310, 1211, 1212, 1213, -1,
3401 811, -1, -1, -1, -1, -1, -1, -1, 1223, 1224,
3402 1225, 1226, -1, -1, -1, -1, -1, -1, 3, 4,
3403 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3404 1245, -1, -1, -1, -1, -1, -1, -1, 124, -1,
3405 126, -1, -1, 28, -1, 30, 31, 133, 134, -1,
3406 -1, -1, 37, -1, 140, 141, -1, 42, 144, 145,
3407 146, 46, 148, 149, 150, 151, -1, -1, -1, 880,
3408 55, -1, 57, 58, -1, -1, 61, -1, -1, -1,
3409 -1, -1, -1, -1, -1, -1, 71, 1302, 1303, 1304,
3410 1305, 1306, 1307, -1, -1, 1310, 81, -1, -1, -1,
3411 1415, 1416, -1, 1418, 89, 916, -1, -1, 93, -1,
3412 -1, 922, -1, -1, -1, 926, -1, -1, -1, -1,
3413 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3414 -1, 1346, -1, 1348, -1, 1, -1, 3, 4, 5,
3415 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
3416 -1, -1, 238, 239, 965, -1, 967, -1, -1, -1,
3417 971, -1, 28, -1, 30, 31, 32, -1, -1, -1,
3418 -1, 37, 38, 259, -1, -1, 42, -1, -1, -1,
3419 46, 47, -1, 49, -1, 1500, 1501, 1502, 1503, 55,
3420 -1, 57, 58, -1, -1, 61, -1, 63, -1, -1,
3421 1415, 1416, 1417, 1418, 1015, 71, -1, -1, -1, -1,
3422 -1, -1, 298, -1, -1, 81, -1, 1028, -1, -1,
3423 -1, -1, -1, 89, -1, -1, -1, 93, -1, -1,
3424 -1, -1, -1, 1044, -1, -1, -1, 1552, -1, -1,
3425 -1, -1, -1, 109, -1, 1056, 1461, -1, -1, -1,
3426 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3427 -1, 347, -1, 349, 350, -1, -1, -1, -1, -1,
3428 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1090,
3429 -1, 1092, -1, -1, -1, 1500, 1501, 1502, 1503, 1100,
3430 -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
3431 8, 9, -1, -1, -1, -1, 14, 393, -1, -1,
3432 1121, -1, -1, -1, -1, -1, -1, 1532, 1533, 1534,
3433 28, -1, 30, 31, -1, -1, 412, -1, -1, 37,
3434 -1, -1, -1, 419, 42, -1, 422, 1552, 46, -1,
3435 -1, -1, -1, 1558, -1, -1, 1157, 55, 434, 57,
3436 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3437 -1, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3438 -1, -1, 1183, 81, -1, -1, -1, -1, -1, -1,
3439 -1, 89, -1, -1, 1, 93, 3, 4, 5, 6,
3440 7, 8, 9, -1, -1, 12, -1, 14, -1, -1,
3441 -1, -1, 1213, -1, -1, -1, -1, -1, 25, -1,
3442 27, -1, -1, -1, 31, -1, -1, -1, -1, 505,
3443 37, 507, -1, -1, -1, 42, -1, -1, -1, 46,
3444 -1, 48, -1, -1, -1, -1, -1, -1, 55, -1,
3445 57, 58, 59, 60, 61, 531, 63, 64, 65, 66,
3446 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3447 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3448 87, 88, 89, -1, 91, 92, 93, 94, 95, -1,
3449 -1, -1, -1, -1, 101, 102, -1, -1, -1, -1,
3450 107, 108, 109, -1, 111, -1, 1307, -1, -1, -1,
3451 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3452 -1, -1, 14, -1, -1, -1, -1, -1, 3, 4,
3453 5, 6, 608, -1, -1, -1, -1, -1, -1, 31,
3454 -1, -1, -1, 619, 620, 37, 622, 623, -1, -1,
3455 42, -1, -1, -1, 46, -1, 48, -1, -1, -1,
3456 -1, -1, -1, 55, 1365, 57, 58, 42, -1, -1,
3457 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3458 55, -1, 57, 58, -1, -1, -1, 31, 63, 81,
3459 -1, -1, -1, -1, -1, -1, 71, 89, -1, -1,
3460 676, 93, -1, -1, -1, -1, 81, 683, 684, -1,
3461 -1, -1, -1, -1, 89, -1, -1, -1, 93, 695,
3462 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3463 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
3464 84, 85, 1, 719, 3, 4, 5, 6, 7, 8,
3465 9, 10, 11, -1, 13, 14, 15, -1, 17, 18,
3466 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
3467 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3468 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
3469 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3470 59, 1502, 61, 62, -1, -1, -1, 783, -1, 68,
3471 786, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3472 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3473 89, -1, -1, 1534, 93, -1, 95, -1, -1, -1,
3474 -1, -1, 818, 819, 820, -1, -1, -1, -1, -1,
3475 109, 110, 1553, -1, -1, 831, -1, -1, -1, -1,
3476 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3477 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3478 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3479 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3480 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3481 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3482 58, 59, -1, 61, 62, -1, -1, -1, 904, 905,
3483 68, -1, 908, 71, -1, 911, -1, -1, -1, -1,
3484 -1, 79, 80, 81, 920, -1, -1, -1, -1, 87,
3485 88, 89, -1, -1, 930, 93, 1, 95, 3, 4,
3486 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3487 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3488 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3489 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3490 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3491 55, -1, 57, 58, 59, -1, -1, 62, -1, -1,
3492 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3493 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3494 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3495 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3496 -1, -1, -1, -1, -1, 110, 1042, -1, 1, -1,
3497 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
3498 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3499 -1, -1, -1, 1069, -1, 28, 29, 30, 31, 32,
3500 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3501 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3502 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3503 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3504 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3505 1126, 1127, -1, 1129, 87, 88, 89, -1, -1, -1,
3506 93, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3507 -1, -1, -1, -1, -1, 108, 1152, 110, -1, 1155,
3508 1156, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3509 78, 79, 80, 81, 82, 83, 84, 85, -1, 1,
3510 -1, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3511 -1, 13, 14, -1, -1, -1, -1, -1, -1, 1195,
3512 -1, -1, -1, -1, -1, -1, 28, 29, 30, 31,
3513 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3514 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3515 52, 53, 54, 55, 1230, 57, 58, 59, -1, 61,
3516 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3517 -1, -1, 1248, -1, 1250, -1, -1, 79, 80, 81,
3518 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3519 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3520 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3521 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3522 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3523 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3524 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3525 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3526 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3527 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3528 -1, -1, 93, 94, 1, -1, 3, 4, 5, 6,
3529 -1, 8, 9, 10, 11, -1, 13, 14, 109, 110,
3530 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3531 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3532 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3533 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3534 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3535 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3536 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3537 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3538 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3539 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3540 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3541 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3542 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3543 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3544 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3545 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3546 -1, 87, 88, 89, -1, -1, -1, 93, 94, 1,
3547 -1, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3548 -1, 13, 14, -1, 110, -1, -1, -1, -1, -1,
3549 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3550 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3551 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3552 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3553 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3554 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3555 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3556 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3557 11, -1, 13, 14, -1, -1, -1, 109, 110, -1,
3558 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3559 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3560 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3561 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3562 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3563 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3564 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3565 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3566 10, 11, -1, 13, 14, -1, -1, -1, 109, 110,
3567 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3568 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3569 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3570 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3571 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3572 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3573 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3574 -1, -1, -1, 93, 1, -1, 3, 4, 5, 6,
3575 100, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3576 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3577 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3578 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3579 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3580 57, 58, 59, -1, -1, 62, -1, -1, -1, -1,
3581 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3582 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3583 87, 88, 89, -1, -1, 1, 93, 3, 4, 5,
3584 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3585 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3586 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3587 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3588 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3589 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3590 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3591 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3592 -1, 87, 88, 89, -1, -1, 1, 93, 3, 4,
3593 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3594 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3595 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3596 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3597 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3598 55, -1, 57, 58, -1, -1, -1, 62, 63, -1,
3599 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3600 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3601 -1, -1, 87, 88, 89, -1, -1, 1, 93, 3,
3602 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3603 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3604 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3605 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3606 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3607 54, 55, -1, 57, 58, -1, -1, 61, 62, -1,
3608 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3609 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3610 -1, -1, -1, 87, 88, 89, -1, -1, 1, 93,
3611 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3612 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3613 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3614 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3615 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3616 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3617 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3618 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3619 -1, -1, -1, -1, 87, 88, 89, -1, -1, 1,
3620 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3621 -1, 13, 14, -1, -1, 108, -1, 110, -1, -1,
3622 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3623 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3624 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3625 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3626 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3627 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3628 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3629 1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3630 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3631 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3632 -1, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3633 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3634 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3635 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3636 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3637 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3638 -1, 1, 93, 3, 4, 5, 6, -1, 8, 9,
3639 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3640 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3641 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3642 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3643 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3644 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3645 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3646 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3647 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3648 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3649 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3650 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3651 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3652 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3653 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3654 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3655 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3656 89, -1, -1, -1, 93, -1, -1, -1, -1, -1,
3657 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3658 -1, 110, 111, 3, 4, 5, 6, 7, 8, 9,
3659 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3660 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3661 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3662 40, 41, 42, 43, 44, 45, 46, 47, -1, -1,
3663 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3664 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3665 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3666 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3667 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3668 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3669 110, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3670 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3671 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3672 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3673 42, 43, 44, 45, 46, 47, -1, -1, 50, 51,
3674 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3675 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3676 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3677 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3678 -1, 93, -1, 95, -1, 3, 4, 5, 6, 7,
3679 8, 9, 10, 11, -1, 13, 14, 15, 110, 17,
3680 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3681 28, 29, 30, 31, 32, -1, 34, 35, 36, 37,
3682 -1, 39, 40, 41, 42, 43, 44, 45, 46, 47,
3683 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3684 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3685 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3686 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3687 88, 89, -1, -1, -1, 93, -1, 95, -1, 3,
3688 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3689 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3690 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3691 34, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3692 44, 45, 46, 47, -1, -1, 50, 51, 52, 53,
3693 54, 55, -1, 57, 58, -1, -1, 61, 62, -1,
3694 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3695 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3696 -1, -1, -1, 87, 88, 89, -1, -1, -1, 93,
3697 -1, 95, 3, 4, 5, 6, 7, 8, 9, 10,
3698 11, 12, 13, 14, -1, -1, 110, -1, -1, -1,
3699 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3700 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3701 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3702 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3703 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3704 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3705 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3706 -1, -1, 93, 94, 3, 4, 5, 6, 7, 8,
3707 9, 10, 11, 12, 13, 14, -1, -1, -1, 110,
3708 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3709 29, 30, 31, 32, -1, 34, 35, 36, 37, -1,
3710 39, 40, 41, 42, 43, 44, -1, 46, -1, 48,
3711 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3712 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3713 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3714 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3715 89, -1, -1, -1, 93, 94, 3, 4, 5, 6,
3716 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3717 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3718 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3719 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3720 -1, 48, -1, 50, 51, 52, 53, 54, 55, -1,
3721 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3722 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3723 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3724 87, 88, 89, -1, -1, -1, 93, 94, 3, 4,
3725 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3726 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3727 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3728 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3729 -1, 46, -1, 48, -1, 50, 51, 52, 53, 54,
3730 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3731 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3732 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3733 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3734 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3735 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3736 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3737 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3738 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3739 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3740 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3741 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3742 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3743 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3744 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3745 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3746 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3747 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3748 52, 53, 54, 55, -1, 57, 58, -1, -1, 61,
3749 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3750 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3751 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3752 -1, 93, 3, 4, 5, 6, 7, 8, 9, 10,
3753 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3754 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3755 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3756 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3757 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3758 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3759 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3760 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3761 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3762 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3763 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3764 30, 31, 32, -1, 34, 35, 36, 37, -1, 39,
3765 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3766 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3767 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3768 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3769 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3770 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3771 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3772 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3773 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3774 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3775 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3776 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3777 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3778 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3779 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3780 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3781 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3782 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3783 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3784 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3785 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3786 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3787 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3788 88, 89, -1, -1, -1, 93, 3, 4, 5, 6,
3789 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3790 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3791 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3792 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3793 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3794 57, 58, -1, -1, -1, 62, -1, -1, -1, -1,
3795 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3796 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3797 87, 88, 89, -1, -1, -1, 93, 3, 4, 5,
3798 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3799 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3800 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3801 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3802 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3803 -1, 57, 58, 59, -1, -1, -1, -1, -1, -1,
3804 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3805 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3806 -1, 87, 88, 89, -1, -1, -1, 93, 3, 4,
3807 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3808 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3809 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3810 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3811 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3812 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
3813 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3814 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3815 -1, -1, 87, 88, 89, -1, -1, -1, 93, 94,
3816 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3817 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3818 -1, -1, -1, -1, -1, 28, 29, 30, 31, 32,
3819 -1, 34, 35, 36, 37, -1, 39, 40, 41, 42,
3820 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3821 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3822 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3823 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3824 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3825 93, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3826 -1, 13, 14, -1, -1, -1, -1, 110, -1, -1,
3827 -1, -1, -1, -1, -1, -1, 28, 29, 30, -1,
3828 32, -1, 34, 35, 36, 37, -1, 39, 40, 41,
3829 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3830 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3831 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3832 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3833 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3834 -1, 93, 3, 4, 5, 6, -1, 8, 9, 10,
3835 11, -1, 13, 14, -1, -1, -1, -1, 110, -1,
3836 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3837 31, 32, -1, 34, 35, 36, 37, -1, 39, 40,
3838 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3839 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3840 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3841 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3842 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3843 -1, -1, 93, 3, 4, 5, 6, -1, 8, 9,
3844 10, 11, -1, 13, 14, -1, -1, -1, -1, 110,
3845 -1, -1, -1, -1, -1, -1, -1, -1, 28, 29,
3846 30, -1, 32, -1, 34, 35, 36, 37, -1, 39,
3847 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3848 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3849 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3850 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3851 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3852 -1, -1, -1, 93, 3, 4, 5, 6, -1, 8,
3853 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3854 110, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3855 29, 30, -1, 32, -1, 34, 35, 36, 37, -1,
3856 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3857 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3858 -1, -1, -1, -1, -1, -1, -1, -1, -1, 68,
3859 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3860 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3861 89, -1, -1, -1, 93, 3, 4, 5, 6, -1,
3862 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3863 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3864 28, 29, 30, -1, 32, -1, 34, 35, 36, 37,
3865 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3866 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3867 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3868 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3869 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3870 88, 89, -1, 4, 5, 93, 7, 8, 9, -1,
3871 -1, 12, -1, 14, -1, -1, -1, -1, -1, -1,
3872 -1, -1, 110, -1, -1, -1, -1, 28, -1, 30,
3873 31, -1, 3, 4, 5, 6, 37, -1, 9, -1,
3874 -1, -1, -1, -1, -1, 46, -1, 48, -1, 3,
3875 4, 5, 6, -1, 55, 9, 57, 58, -1, -1,
3876 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3877 71, 42, -1, -1, -1, -1, -1, 31, -1, -1,
3878 81, -1, -1, -1, 55, -1, 57, 58, 42, -1,
3879 -1, -1, 93, 94, -1, 3, 4, 5, 6, -1,
3880 71, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3881 81, -1, -1, -1, -1, -1, -1, 71, 89, -1,
3882 -1, -1, 93, 31, -1, -1, -1, 81, -1, -1,
3883 -1, -1, -1, -1, 42, 89, 4, 5, -1, 93,
3884 8, 9, 12, -1, -1, -1, 14, 55, -1, 57,
3885 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3886 28, -1, 30, 71, -1, -1, -1, -1, -1, 37,
3887 -1, -1, -1, 81, -1, -1, -1, -1, 46, -1,
3888 -1, 89, -1, -1, -1, 93, -1, 55, -1, 57,
3889 58, 59, -1, 63, 64, 65, 66, 67, 68, 69,
3890 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3891 80, 81, 82, 83, 84, 85, 4, 5, -1, 7,
3892 8, 9, -1, -1, 12, 93, 14, -1, -1, -1,
3893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3894 28, -1, 30, 31, -1, -1, -1, -1, -1, 37,
3895 -1, -1, -1, -1, -1, -1, -1, -1, 46, -1,
3896 -1, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3897 58, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3898 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3899 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3900 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3901 81, 82, 83, 84, 85, -1, -1, -1, 111, -1,
3902 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3903 -1, -1, -1, 60, -1, -1, 107, 64, 65, 66,
3904 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3905 77, 78, 79, 80, 81, 82, 83, 84, 85, 60,
3906 -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
3907 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3908 81, 82, 83, 84, 85, 63, 64, 65, 66, 67,
3909 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3910 78, 79, 80, 81, 82, 83, 84, 85, 64, 65,
3911 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
3912 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
3913 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
3914 74, 75, -1, 77, 78, 79, 80, 81, 82, 83,
3915 84, 85
3917 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3918 #line 3 "/usr/lib/bison.simple"
3919 /* This file comes from bison-1.27. */
3921 /* Skeleton output parser for bison,
3922 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3924 This program is free software; you can redistribute it and/or modify
3925 it under the terms of the GNU General Public License as published by
3926 the Free Software Foundation; either version 2, or (at your option)
3927 any later version.
3929 This program is distributed in the hope that it will be useful,
3930 but WITHOUT ANY WARRANTY; without even the implied warranty of
3931 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3932 GNU General Public License for more details.
3934 You should have received a copy of the GNU General Public License
3935 along with this program; if not, write to the Free Software
3936 Foundation, Inc., 59 Temple Place - Suite 330,
3937 Boston, MA 02111-1307, USA. */
3939 /* As a special exception, when this file is copied by Bison into a
3940 Bison output file, you may use that output file without restriction.
3941 This special exception was added by the Free Software Foundation
3942 in version 1.24 of Bison. */
3944 /* This is the parser code that is written into each bison parser
3945 when the %semantic_parser declaration is not specified in the grammar.
3946 It was written by Richard Stallman by simplifying the hairy parser
3947 used when %semantic_parser is specified. */
3949 #ifndef YYSTACK_USE_ALLOCA
3950 #ifdef alloca
3951 #define YYSTACK_USE_ALLOCA
3952 #else /* alloca not defined */
3953 #ifdef __GNUC__
3954 #define YYSTACK_USE_ALLOCA
3955 #define alloca __builtin_alloca
3956 #else /* not GNU C. */
3957 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))
3958 #define YYSTACK_USE_ALLOCA
3959 #include <alloca.h>
3960 #else /* not sparc */
3961 /* We think this test detects Watcom and Microsoft C. */
3962 /* This used to test MSDOS, but that is a bad idea
3963 since that symbol is in the user namespace. */
3964 #if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)
3965 #if 0 /* No need for malloc.h, which pollutes the namespace;
3966 instead, just don't use alloca. */
3967 #include <malloc.h>
3968 #endif
3969 #else /* not MSDOS, or __TURBOC__ */
3970 #if defined(_AIX)
3971 /* I don't know what this was needed for, but it pollutes the namespace.
3972 So I turned it off. rms, 2 May 1997. */
3973 /* #include <malloc.h> */
3974 #pragma alloca
3975 #define YYSTACK_USE_ALLOCA
3976 #else /* not MSDOS, or __TURBOC__, or _AIX */
3977 #if 0
3978 #ifdef __hpux /* haible@ilog.fr says this works for HPUX 9.05 and up,
3979 and on HPUX 10. Eventually we can turn this on. */
3980 #define YYSTACK_USE_ALLOCA
3981 #define alloca __builtin_alloca
3982 #endif /* __hpux */
3983 #endif
3984 #endif /* not _AIX */
3985 #endif /* not MSDOS, or __TURBOC__ */
3986 #endif /* not sparc */
3987 #endif /* not GNU C */
3988 #endif /* alloca not defined */
3989 #endif /* YYSTACK_USE_ALLOCA not defined */
3991 #ifdef YYSTACK_USE_ALLOCA
3992 #define YYSTACK_ALLOC alloca
3993 #else
3994 #define YYSTACK_ALLOC malloc
3995 #endif
3997 /* Note: there must be only one dollar sign in this file.
3998 It is replaced by the list of actions, each action
3999 as one case of the switch. */
4001 #define yyerrok (yyerrstatus = 0)
4002 #define yyclearin (yychar = YYEMPTY)
4003 #define YYEMPTY -2
4004 #define YYEOF 0
4005 #define YYACCEPT goto yyacceptlab
4006 #define YYABORT goto yyabortlab
4007 #define YYERROR goto yyerrlab1
4008 /* Like YYERROR except do call yyerror.
4009 This remains here temporarily to ease the
4010 transition to the new meaning of YYERROR, for GCC.
4011 Once GCC version 2 has supplanted version 1, this can go. */
4012 #define YYFAIL goto yyerrlab
4013 #define YYRECOVERING() (!!yyerrstatus)
4014 #define YYBACKUP(token, value) \
4015 do \
4016 if (yychar == YYEMPTY && yylen == 1) \
4017 { yychar = (token), yylval = (value); \
4018 yychar1 = YYTRANSLATE (yychar); \
4019 YYPOPSTACK; \
4020 goto yybackup; \
4022 else \
4023 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4024 while (0)
4026 #define YYTERROR 1
4027 #define YYERRCODE 256
4029 #ifndef YYPURE
4030 #define YYLEX yylex()
4031 #endif
4033 #ifdef YYPURE
4034 #ifdef YYLSP_NEEDED
4035 #ifdef YYLEX_PARAM
4036 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4037 #else
4038 #define YYLEX yylex(&yylval, &yylloc)
4039 #endif
4040 #else /* not YYLSP_NEEDED */
4041 #ifdef YYLEX_PARAM
4042 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4043 #else
4044 #define YYLEX yylex(&yylval)
4045 #endif
4046 #endif /* not YYLSP_NEEDED */
4047 #endif
4049 /* If nonreentrant, generate the variables here */
4051 #ifndef YYPURE
4053 int yychar; /* the lookahead symbol */
4054 YYSTYPE yylval; /* the semantic value of the */
4055 /* lookahead symbol */
4057 #ifdef YYLSP_NEEDED
4058 YYLTYPE yylloc; /* location data for the lookahead */
4059 /* symbol */
4060 #endif
4062 int yynerrs; /* number of parse errors so far */
4063 #endif /* not YYPURE */
4065 #if YYDEBUG != 0
4066 int yydebug; /* nonzero means print parse trace */
4067 /* Since this is uninitialized, it does not stop multiple parsers
4068 from coexisting. */
4069 #endif
4071 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4073 #ifndef YYINITDEPTH
4074 #define YYINITDEPTH 200
4075 #endif
4077 /* YYMAXDEPTH is the maximum size the stacks can grow to
4078 (effective only if the built-in stack extension method is used). */
4080 #if YYMAXDEPTH == 0
4081 #undef YYMAXDEPTH
4082 #endif
4084 #ifndef YYMAXDEPTH
4085 #define YYMAXDEPTH 10000
4086 #endif
4088 /* Define __yy_memcpy. Note that the size argument
4089 should be passed with type unsigned int, because that is what the non-GCC
4090 definitions require. With GCC, __builtin_memcpy takes an arg
4091 of type size_t, but it can handle unsigned int. */
4093 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
4094 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
4095 #else /* not GNU C or C++ */
4096 #ifndef __cplusplus
4098 /* This is the most reliable way to avoid incompatibilities
4099 in available built-in functions on various systems. */
4100 static void
4101 __yy_memcpy (to, from, count)
4102 char *to;
4103 char *from;
4104 unsigned int count;
4106 register char *f = from;
4107 register char *t = to;
4108 register int i = count;
4110 while (i-- > 0)
4111 *t++ = *f++;
4114 #else /* __cplusplus */
4116 /* This is the most reliable way to avoid incompatibilities
4117 in available built-in functions on various systems. */
4118 static void
4119 __yy_memcpy (char *to, char *from, unsigned int count)
4121 register char *t = to;
4122 register char *f = from;
4123 register int i = count;
4125 while (i-- > 0)
4126 *t++ = *f++;
4129 #endif
4130 #endif
4132 #line 216 "/usr/lib/bison.simple"
4134 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
4135 into yyparse. The argument should have type void *.
4136 It should actually point to an object.
4137 Grammar actions can access the variable by casting it
4138 to the proper pointer type. */
4140 #ifdef YYPARSE_PARAM
4141 #ifdef __cplusplus
4142 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
4143 #define YYPARSE_PARAM_DECL
4144 #else /* not __cplusplus */
4145 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
4146 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
4147 #endif /* not __cplusplus */
4148 #else /* not YYPARSE_PARAM */
4149 #define YYPARSE_PARAM_ARG
4150 #define YYPARSE_PARAM_DECL
4151 #endif /* not YYPARSE_PARAM */
4153 /* Prevent warning if -Wstrict-prototypes. */
4154 #ifdef __GNUC__
4155 #ifdef YYPARSE_PARAM
4156 int yyparse (void *);
4157 #else
4158 int yyparse (void);
4159 #endif
4160 #endif
4163 yyparse(YYPARSE_PARAM_ARG)
4164 YYPARSE_PARAM_DECL
4166 register int yystate;
4167 register int yyn;
4168 register short *yyssp;
4169 register YYSTYPE *yyvsp;
4170 int yyerrstatus; /* number of tokens to shift before error messages enabled */
4171 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
4173 short yyssa[YYINITDEPTH]; /* the state stack */
4174 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
4176 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
4177 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
4179 #ifdef YYLSP_NEEDED
4180 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
4181 YYLTYPE *yyls = yylsa;
4182 YYLTYPE *yylsp;
4184 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4185 #else
4186 #define YYPOPSTACK (yyvsp--, yyssp--)
4187 #endif
4189 int yystacksize = YYINITDEPTH;
4190 int yyfree_stacks = 0;
4192 #ifdef YYPURE
4193 int yychar;
4194 YYSTYPE yylval;
4195 int yynerrs;
4196 #ifdef YYLSP_NEEDED
4197 YYLTYPE yylloc;
4198 #endif
4199 #endif
4201 YYSTYPE yyval; /* the variable used to return */
4202 /* semantic values from the action */
4203 /* routines */
4205 int yylen;
4207 #if YYDEBUG != 0
4208 if (yydebug)
4209 fprintf(stderr, "Starting parse\n");
4210 #endif
4212 yystate = 0;
4213 yyerrstatus = 0;
4214 yynerrs = 0;
4215 yychar = YYEMPTY; /* Cause a token to be read. */
4217 /* Initialize stack pointers.
4218 Waste one element of value and location stack
4219 so that they stay on the same level as the state stack.
4220 The wasted elements are never initialized. */
4222 yyssp = yyss - 1;
4223 yyvsp = yyvs;
4224 #ifdef YYLSP_NEEDED
4225 yylsp = yyls;
4226 #endif
4228 /* Push a new state, which is found in yystate . */
4229 /* In all cases, when you get here, the value and location stacks
4230 have just been pushed. so pushing a state here evens the stacks. */
4231 yynewstate:
4233 *++yyssp = yystate;
4235 if (yyssp >= yyss + yystacksize - 1)
4237 /* Give user a chance to reallocate the stack */
4238 /* Use copies of these so that the &'s don't force the real ones into memory. */
4239 YYSTYPE *yyvs1 = yyvs;
4240 short *yyss1 = yyss;
4241 #ifdef YYLSP_NEEDED
4242 YYLTYPE *yyls1 = yyls;
4243 #endif
4245 /* Get the current used size of the three stacks, in elements. */
4246 int size = yyssp - yyss + 1;
4248 #ifdef yyoverflow
4249 /* Each stack pointer address is followed by the size of
4250 the data in use in that stack, in bytes. */
4251 #ifdef YYLSP_NEEDED
4252 /* This used to be a conditional around just the two extra args,
4253 but that might be undefined if yyoverflow is a macro. */
4254 yyoverflow("parser stack overflow",
4255 &yyss1, size * sizeof (*yyssp),
4256 &yyvs1, size * sizeof (*yyvsp),
4257 &yyls1, size * sizeof (*yylsp),
4258 &yystacksize);
4259 #else
4260 yyoverflow("parser stack overflow",
4261 &yyss1, size * sizeof (*yyssp),
4262 &yyvs1, size * sizeof (*yyvsp),
4263 &yystacksize);
4264 #endif
4266 yyss = yyss1; yyvs = yyvs1;
4267 #ifdef YYLSP_NEEDED
4268 yyls = yyls1;
4269 #endif
4270 #else /* no yyoverflow */
4271 /* Extend the stack our own way. */
4272 if (yystacksize >= YYMAXDEPTH)
4274 yyerror("parser stack overflow");
4275 if (yyfree_stacks)
4277 free (yyss);
4278 free (yyvs);
4279 #ifdef YYLSP_NEEDED
4280 free (yyls);
4281 #endif
4283 return 2;
4285 yystacksize *= 2;
4286 if (yystacksize > YYMAXDEPTH)
4287 yystacksize = YYMAXDEPTH;
4288 #ifndef YYSTACK_USE_ALLOCA
4289 yyfree_stacks = 1;
4290 #endif
4291 yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
4292 __yy_memcpy ((char *)yyss, (char *)yyss1,
4293 size * (unsigned int) sizeof (*yyssp));
4294 yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
4295 __yy_memcpy ((char *)yyvs, (char *)yyvs1,
4296 size * (unsigned int) sizeof (*yyvsp));
4297 #ifdef YYLSP_NEEDED
4298 yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
4299 __yy_memcpy ((char *)yyls, (char *)yyls1,
4300 size * (unsigned int) sizeof (*yylsp));
4301 #endif
4302 #endif /* no yyoverflow */
4304 yyssp = yyss + size - 1;
4305 yyvsp = yyvs + size - 1;
4306 #ifdef YYLSP_NEEDED
4307 yylsp = yyls + size - 1;
4308 #endif
4310 #if YYDEBUG != 0
4311 if (yydebug)
4312 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
4313 #endif
4315 if (yyssp >= yyss + yystacksize - 1)
4316 YYABORT;
4319 #if YYDEBUG != 0
4320 if (yydebug)
4321 fprintf(stderr, "Entering state %d\n", yystate);
4322 #endif
4324 goto yybackup;
4325 yybackup:
4327 /* Do appropriate processing given the current state. */
4328 /* Read a lookahead token if we need one and don't already have one. */
4329 /* yyresume: */
4331 /* First try to decide what to do without reference to lookahead token. */
4333 yyn = yypact[yystate];
4334 if (yyn == YYFLAG)
4335 goto yydefault;
4337 /* Not known => get a lookahead token if don't already have one. */
4339 /* yychar is either YYEMPTY or YYEOF
4340 or a valid token in external form. */
4342 if (yychar == YYEMPTY)
4344 #if YYDEBUG != 0
4345 if (yydebug)
4346 fprintf(stderr, "Reading a token: ");
4347 #endif
4348 yychar = YYLEX;
4351 /* Convert token to internal form (in yychar1) for indexing tables with */
4353 if (yychar <= 0) /* This means end of input. */
4355 yychar1 = 0;
4356 yychar = YYEOF; /* Don't call YYLEX any more */
4358 #if YYDEBUG != 0
4359 if (yydebug)
4360 fprintf(stderr, "Now at end of input.\n");
4361 #endif
4363 else
4365 yychar1 = YYTRANSLATE(yychar);
4367 #if YYDEBUG != 0
4368 if (yydebug)
4370 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4371 /* Give the individual parser a way to print the precise meaning
4372 of a token, for further debugging info. */
4373 #ifdef YYPRINT
4374 YYPRINT (stderr, yychar, yylval);
4375 #endif
4376 fprintf (stderr, ")\n");
4378 #endif
4381 yyn += yychar1;
4382 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4383 goto yydefault;
4385 yyn = yytable[yyn];
4387 /* yyn is what to do for this token type in this state.
4388 Negative => reduce, -yyn is rule number.
4389 Positive => shift, yyn is new state.
4390 New state is final state => don't bother to shift,
4391 just return success.
4392 0, or most negative number => error. */
4394 if (yyn < 0)
4396 if (yyn == YYFLAG)
4397 goto yyerrlab;
4398 yyn = -yyn;
4399 goto yyreduce;
4401 else if (yyn == 0)
4402 goto yyerrlab;
4404 if (yyn == YYFINAL)
4405 YYACCEPT;
4407 /* Shift the lookahead token. */
4409 #if YYDEBUG != 0
4410 if (yydebug)
4411 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4412 #endif
4414 /* Discard the token being shifted unless it is eof. */
4415 if (yychar != YYEOF)
4416 yychar = YYEMPTY;
4418 *++yyvsp = yylval;
4419 #ifdef YYLSP_NEEDED
4420 *++yylsp = yylloc;
4421 #endif
4423 /* count tokens shifted since error; after three, turn off error status. */
4424 if (yyerrstatus) yyerrstatus--;
4426 yystate = yyn;
4427 goto yynewstate;
4429 /* Do the default action for the current state. */
4430 yydefault:
4432 yyn = yydefact[yystate];
4433 if (yyn == 0)
4434 goto yyerrlab;
4436 /* Do a reduction. yyn is the number of a rule to reduce with. */
4437 yyreduce:
4438 yylen = yyr2[yyn];
4439 if (yylen > 0)
4440 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4442 #if YYDEBUG != 0
4443 if (yydebug)
4445 int i;
4447 fprintf (stderr, "Reducing via rule %d (line %d), ",
4448 yyn, yyrline[yyn]);
4450 /* Print the symbols being reduced, and their result. */
4451 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4452 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4453 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4455 #endif
4458 switch (yyn) {
4460 case 2:
4461 #line 363 "parse.y"
4462 { finish_translation_unit (); ;
4463 break;}
4464 case 3:
4465 #line 371 "parse.y"
4466 { yyval.ttype = NULL_TREE; ;
4467 break;}
4468 case 4:
4469 #line 373 "parse.y"
4470 { yyval.ttype = NULL_TREE; ;
4471 break;}
4472 case 5:
4473 #line 375 "parse.y"
4474 { yyval.ttype = NULL_TREE; ;
4475 break;}
4476 case 8:
4477 #line 384 "parse.y"
4478 { have_extern_spec = 1;
4479 used_extern_spec = 0;
4480 yyval.ttype = NULL_TREE; ;
4481 break;}
4482 case 9:
4483 #line 389 "parse.y"
4484 { have_extern_spec = 0; ;
4485 break;}
4486 case 10:
4487 #line 394 "parse.y"
4488 { yyval.itype = pedantic;
4489 pedantic = 0; ;
4490 break;}
4491 case 12:
4492 #line 403 "parse.y"
4493 { if (pending_lang_change) do_pending_lang_change(); ;
4494 break;}
4495 case 13:
4496 #line 405 "parse.y"
4497 { if (! toplevel_bindings_p ())
4498 pop_everything (); ;
4499 break;}
4500 case 14:
4501 #line 411 "parse.y"
4502 { if (pending_inlines) do_pending_inlines (); ;
4503 break;}
4504 case 15:
4505 #line 413 "parse.y"
4506 { if (pending_inlines) do_pending_inlines (); ;
4507 break;}
4508 case 16:
4509 #line 415 "parse.y"
4510 { if (pending_inlines) do_pending_inlines (); ;
4511 break;}
4512 case 17:
4513 #line 417 "parse.y"
4514 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4515 assemble_asm (yyvsp[-2].ttype); ;
4516 break;}
4517 case 18:
4518 #line 420 "parse.y"
4519 { pop_lang_context (); ;
4520 break;}
4521 case 19:
4522 #line 422 "parse.y"
4523 { if (pending_inlines) do_pending_inlines ();
4524 pop_lang_context (); ;
4525 break;}
4526 case 20:
4527 #line 425 "parse.y"
4528 { if (pending_inlines) do_pending_inlines ();
4529 pop_lang_context (); ;
4530 break;}
4531 case 21:
4532 #line 428 "parse.y"
4533 { push_namespace (yyvsp[-1].ttype); ;
4534 break;}
4535 case 22:
4536 #line 430 "parse.y"
4537 { pop_namespace (); ;
4538 break;}
4539 case 23:
4540 #line 432 "parse.y"
4541 { push_namespace (NULL_TREE); ;
4542 break;}
4543 case 24:
4544 #line 434 "parse.y"
4545 { pop_namespace (); ;
4546 break;}
4547 case 26:
4548 #line 437 "parse.y"
4549 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4550 break;}
4551 case 28:
4552 #line 440 "parse.y"
4553 { pedantic = yyvsp[-1].itype; ;
4554 break;}
4555 case 29:
4556 #line 445 "parse.y"
4557 { begin_only_namespace_names (); ;
4558 break;}
4559 case 30:
4560 #line 447 "parse.y"
4562 end_only_namespace_names ();
4563 if (lastiddecl)
4564 yyvsp[-1].ttype = lastiddecl;
4565 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4567 break;}
4568 case 31:
4569 #line 457 "parse.y"
4570 { yyval.ttype = yyvsp[0].ttype; ;
4571 break;}
4572 case 32:
4573 #line 459 "parse.y"
4574 { yyval.ttype = yyvsp[0].ttype; ;
4575 break;}
4576 case 33:
4577 #line 461 "parse.y"
4578 { yyval.ttype = yyvsp[0].ttype; ;
4579 break;}
4580 case 34:
4581 #line 466 "parse.y"
4582 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4583 break;}
4584 case 35:
4585 #line 468 "parse.y"
4586 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4587 break;}
4588 case 36:
4589 #line 470 "parse.y"
4590 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4591 break;}
4592 case 37:
4593 #line 475 "parse.y"
4594 { begin_only_namespace_names (); ;
4595 break;}
4596 case 38:
4597 #line 477 "parse.y"
4599 end_only_namespace_names ();
4600 /* If no declaration was found, the using-directive is
4601 invalid. Since that was not reported, we need the
4602 identifier for the error message. */
4603 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4604 yyvsp[-1].ttype = lastiddecl;
4605 do_using_directive (yyvsp[-1].ttype);
4607 break;}
4608 case 39:
4609 #line 490 "parse.y"
4611 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4612 yyval.ttype = lastiddecl;
4613 got_scope = yyval.ttype;
4615 break;}
4616 case 40:
4617 #line 496 "parse.y"
4619 yyval.ttype = yyvsp[-1].ttype;
4620 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4621 yyval.ttype = lastiddecl;
4622 got_scope = yyval.ttype;
4624 break;}
4625 case 43:
4626 #line 507 "parse.y"
4627 { yyval.ttype = yyvsp[0].ttype; ;
4628 break;}
4629 case 44:
4630 #line 509 "parse.y"
4631 { yyval.ttype = yyvsp[0].ttype; ;
4632 break;}
4633 case 45:
4634 #line 514 "parse.y"
4635 { push_lang_context (yyvsp[0].ttype); ;
4636 break;}
4637 case 46:
4638 #line 516 "parse.y"
4639 { if (current_lang_name != yyvsp[0].ttype)
4640 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4641 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4642 break;}
4643 case 47:
4644 #line 523 "parse.y"
4645 { begin_template_parm_list (); ;
4646 break;}
4647 case 48:
4648 #line 525 "parse.y"
4649 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4650 break;}
4651 case 49:
4652 #line 527 "parse.y"
4653 { begin_specialization();
4654 yyval.ttype = NULL_TREE; ;
4655 break;}
4656 case 50:
4657 #line 533 "parse.y"
4658 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4659 break;}
4660 case 51:
4661 #line 535 "parse.y"
4662 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4663 break;}
4664 case 52:
4665 #line 540 "parse.y"
4666 { yyval.ttype = yyvsp[0].ttype; ;
4667 break;}
4668 case 53:
4669 #line 542 "parse.y"
4670 { yyval.ttype = NULL_TREE; ;
4671 break;}
4672 case 54:
4673 #line 546 "parse.y"
4674 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4675 break;}
4676 case 55:
4677 #line 548 "parse.y"
4678 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4679 break;}
4680 case 56:
4681 #line 553 "parse.y"
4682 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4683 break;}
4684 case 57:
4685 #line 565 "parse.y"
4686 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4687 break;}
4688 case 58:
4689 #line 567 "parse.y"
4690 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4691 break;}
4692 case 59:
4693 #line 569 "parse.y"
4694 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4695 break;}
4696 case 60:
4697 #line 571 "parse.y"
4698 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4699 break;}
4700 case 61:
4701 #line 573 "parse.y"
4702 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4703 break;}
4704 case 62:
4705 #line 575 "parse.y"
4707 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4708 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4709 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4711 error ("invalid default template argument");
4712 yyvsp[0].ttype = error_mark_node;
4714 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4716 break;}
4717 case 63:
4718 #line 589 "parse.y"
4719 { finish_template_decl (yyvsp[-1].ttype); ;
4720 break;}
4721 case 64:
4722 #line 591 "parse.y"
4723 { finish_template_decl (yyvsp[-1].ttype); ;
4724 break;}
4725 case 65:
4726 #line 596 "parse.y"
4727 { if (pending_inlines) do_pending_inlines (); ;
4728 break;}
4729 case 66:
4730 #line 598 "parse.y"
4731 { if (pending_inlines) do_pending_inlines (); ;
4732 break;}
4733 case 67:
4734 #line 600 "parse.y"
4735 { if (pending_inlines) do_pending_inlines (); ;
4736 break;}
4737 case 68:
4738 #line 602 "parse.y"
4739 { if (pending_inlines) do_pending_inlines ();
4740 pop_lang_context (); ;
4741 break;}
4742 case 69:
4743 #line 605 "parse.y"
4744 { if (pending_inlines) do_pending_inlines ();
4745 pop_lang_context (); ;
4746 break;}
4747 case 70:
4748 #line 608 "parse.y"
4749 { pedantic = yyvsp[-1].itype; ;
4750 break;}
4751 case 72:
4752 #line 614 "parse.y"
4754 break;}
4755 case 73:
4756 #line 616 "parse.y"
4757 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4758 break;}
4759 case 74:
4760 #line 618 "parse.y"
4761 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4762 note_got_semicolon (yyvsp[-1].ftype.t); ;
4763 break;}
4764 case 76:
4765 #line 625 "parse.y"
4767 break;}
4768 case 77:
4769 #line 627 "parse.y"
4770 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4771 break;}
4772 case 78:
4773 #line 629 "parse.y"
4774 { pedwarn ("empty declaration"); ;
4775 break;}
4776 case 80:
4777 #line 632 "parse.y"
4779 tree t, attrs;
4780 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4781 shadow_tag (t);
4782 note_list_got_semicolon (yyvsp[-1].ftype.t);
4784 break;}
4785 case 84:
4786 #line 645 "parse.y"
4787 { yyval.itype = 0; ;
4788 break;}
4789 case 85:
4790 #line 647 "parse.y"
4791 { yyval.itype = 1; ;
4792 break;}
4793 case 91:
4794 #line 663 "parse.y"
4795 { expand_body (finish_function (lineno, (int)yyvsp[-1].itype)); ;
4796 break;}
4797 case 92:
4798 #line 665 "parse.y"
4799 { expand_body (finish_function (lineno, (int)yyvsp[0].itype)); ;
4800 break;}
4801 case 93:
4802 #line 667 "parse.y"
4804 break;}
4805 case 94:
4806 #line 672 "parse.y"
4807 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4808 break;}
4809 case 95:
4810 #line 674 "parse.y"
4811 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4812 break;}
4813 case 96:
4814 #line 676 "parse.y"
4815 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4816 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4818 break;}
4819 case 97:
4820 #line 680 "parse.y"
4821 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4822 break;}
4823 case 98:
4824 #line 682 "parse.y"
4825 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4826 break;}
4827 case 99:
4828 #line 684 "parse.y"
4829 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4830 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4832 break;}
4833 case 100:
4834 #line 688 "parse.y"
4835 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4836 break;}
4837 case 101:
4838 #line 690 "parse.y"
4839 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4840 break;}
4841 case 102:
4842 #line 692 "parse.y"
4843 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4844 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4846 break;}
4847 case 103:
4848 #line 696 "parse.y"
4849 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4850 break;}
4851 case 104:
4852 #line 698 "parse.y"
4853 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4854 break;}
4855 case 105:
4856 #line 700 "parse.y"
4857 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4858 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4860 break;}
4861 case 106:
4862 #line 707 "parse.y"
4863 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4864 YYERROR1; ;
4865 break;}
4866 case 107:
4867 #line 710 "parse.y"
4868 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4869 YYERROR1; ;
4870 break;}
4871 case 108:
4872 #line 713 "parse.y"
4873 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4874 YYERROR1; ;
4875 break;}
4876 case 109:
4877 #line 716 "parse.y"
4878 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4879 YYERROR1; ;
4880 break;}
4881 case 110:
4882 #line 719 "parse.y"
4883 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4884 YYERROR1; ;
4885 break;}
4886 case 111:
4887 #line 725 "parse.y"
4888 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4889 break;}
4890 case 112:
4891 #line 727 "parse.y"
4892 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4893 break;}
4894 case 113:
4895 #line 729 "parse.y"
4896 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4897 break;}
4898 case 114:
4899 #line 731 "parse.y"
4900 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4901 break;}
4902 case 115:
4903 #line 738 "parse.y"
4904 { tree specs, attrs;
4905 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4906 attrs = build_tree_list (attrs, NULL_TREE);
4907 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs);
4908 rest_of_mdef:
4909 if (! yyval.ttype)
4910 YYERROR1;
4911 if (yychar == YYEMPTY)
4912 yychar = YYLEX;
4913 reinit_parse_for_method (yychar, yyval.ttype); ;
4914 break;}
4915 case 116:
4916 #line 749 "parse.y"
4917 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
4918 goto rest_of_mdef; ;
4919 break;}
4920 case 117:
4921 #line 752 "parse.y"
4922 { tree specs, attrs;
4923 split_specs_attrs (yyvsp[-1].ftype.t, &specs, &attrs);
4924 attrs = build_tree_list (attrs, NULL_TREE);
4925 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4926 break;}
4927 case 118:
4928 #line 757 "parse.y"
4929 { tree specs, attrs;
4930 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4931 attrs = build_tree_list (attrs, NULL_TREE);
4932 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4933 break;}
4934 case 119:
4935 #line 762 "parse.y"
4936 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4937 goto rest_of_mdef; ;
4938 break;}
4939 case 120:
4940 #line 765 "parse.y"
4941 { tree specs, attrs;
4942 split_specs_attrs (yyvsp[-1].ttype, &specs, &attrs);
4943 attrs = build_tree_list (attrs, NULL_TREE);
4944 yyval.ttype = start_method (specs, yyvsp[0].ttype, attrs); goto rest_of_mdef; ;
4945 break;}
4946 case 121:
4947 #line 770 "parse.y"
4948 { yyval.ttype = start_method (NULL_TREE, yyval.ttype, NULL_TREE);
4949 goto rest_of_mdef; ;
4950 break;}
4951 case 122:
4952 #line 776 "parse.y"
4954 if (! current_function_parms_stored)
4955 store_parm_decls ();
4956 yyval.ttype = yyvsp[0].ttype;
4958 break;}
4959 case 123:
4960 #line 785 "parse.y"
4961 { finish_named_return_value (yyval.ttype, yyvsp[0].ttype); ;
4962 break;}
4963 case 124:
4964 #line 787 "parse.y"
4965 { finish_named_return_value (yyval.ttype, yyvsp[-1].ttype); ;
4966 break;}
4967 case 125:
4968 #line 789 "parse.y"
4969 { finish_named_return_value (yyval.ttype, NULL_TREE); ;
4970 break;}
4971 case 126:
4972 #line 794 "parse.y"
4974 if (yyvsp[0].itype == 0)
4975 error ("no base initializers given following ':'");
4976 setup_vtbl_ptr ();
4978 break;}
4979 case 127:
4980 #line 803 "parse.y"
4982 if (! current_function_parms_stored)
4983 store_parm_decls ();
4985 if (DECL_CONSTRUCTOR_P (current_function_decl))
4986 /* Make a contour for the initializer list. */
4987 do_pushlevel ();
4988 else if (current_class_type == NULL_TREE)
4989 error ("base initializers not allowed for non-member functions");
4990 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4991 error ("only constructors take base initializers");
4993 break;}
4994 case 128:
4995 #line 819 "parse.y"
4996 { yyval.itype = 0; ;
4997 break;}
4998 case 129:
4999 #line 821 "parse.y"
5000 { yyval.itype = 1; ;
5001 break;}
5002 case 132:
5003 #line 828 "parse.y"
5005 if (current_class_name)
5006 pedwarn ("anachronistic old style base class initializer");
5007 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
5009 break;}
5010 case 133:
5011 #line 834 "parse.y"
5013 if (current_class_name)
5014 pedwarn ("anachronistic old style base class initializer");
5015 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
5017 break;}
5018 case 134:
5019 #line 840 "parse.y"
5020 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5021 break;}
5022 case 135:
5023 #line 842 "parse.y"
5024 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
5025 break;}
5026 case 136:
5027 #line 844 "parse.y"
5028 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5029 break;}
5030 case 137:
5031 #line 846 "parse.y"
5032 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
5033 break;}
5034 case 138:
5035 #line 848 "parse.y"
5036 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
5037 yyvsp[-1].ttype); ;
5038 break;}
5039 case 139:
5040 #line 851 "parse.y"
5041 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
5042 void_type_node); ;
5043 break;}
5044 case 152:
5045 #line 878 "parse.y"
5046 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
5047 yyungetc (';', 1); ;
5048 break;}
5049 case 154:
5050 #line 882 "parse.y"
5051 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
5052 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
5053 break;}
5054 case 156:
5055 #line 886 "parse.y"
5056 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
5057 break;}
5058 case 158:
5059 #line 889 "parse.y"
5060 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
5061 break;}
5062 case 160:
5063 #line 892 "parse.y"
5064 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
5065 yyungetc (';', 1); ;
5066 break;}
5067 case 162:
5068 #line 897 "parse.y"
5069 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
5070 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
5071 break;}
5072 case 164:
5073 #line 901 "parse.y"
5074 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
5075 break;}
5076 case 166:
5077 #line 904 "parse.y"
5078 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
5079 break;}
5080 case 168:
5081 #line 909 "parse.y"
5082 { begin_explicit_instantiation(); ;
5083 break;}
5084 case 169:
5085 #line 912 "parse.y"
5086 { end_explicit_instantiation(); ;
5087 break;}
5088 case 170:
5089 #line 921 "parse.y"
5090 { yyval.ttype = yyvsp[0].ttype; ;
5091 break;}
5092 case 171:
5093 #line 924 "parse.y"
5094 { yyval.ttype = yyvsp[0].ttype; ;
5095 break;}
5096 case 174:
5097 #line 932 "parse.y"
5098 { yyval.ttype = yyvsp[0].ttype; ;
5099 break;}
5100 case 175:
5101 #line 937 "parse.y"
5102 { yyval.ttype = yyvsp[0].ttype; ;
5103 break;}
5104 case 176:
5105 #line 941 "parse.y"
5107 if (yychar == YYEMPTY)
5108 yychar = YYLEX;
5110 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
5111 yychar == SCOPE);
5113 break;}
5114 case 178:
5115 #line 952 "parse.y"
5117 /* Handle `Class<Class<Type>>' without space in the `>>' */
5118 pedwarn ("`>>' should be `> >' in template class name");
5119 yyungetc ('>', 1);
5121 break;}
5122 case 179:
5123 #line 961 "parse.y"
5124 { yyval.ttype = NULL_TREE; ;
5125 break;}
5126 case 181:
5127 #line 967 "parse.y"
5128 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5129 break;}
5130 case 182:
5131 #line 969 "parse.y"
5132 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5133 break;}
5134 case 183:
5135 #line 974 "parse.y"
5136 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
5137 break;}
5138 case 184:
5139 #line 976 "parse.y"
5140 { yyval.ttype = lastiddecl; ;
5141 break;}
5142 case 186:
5143 #line 982 "parse.y"
5144 { yyval.code = NEGATE_EXPR; ;
5145 break;}
5146 case 187:
5147 #line 984 "parse.y"
5148 { yyval.code = CONVERT_EXPR; ;
5149 break;}
5150 case 188:
5151 #line 986 "parse.y"
5152 { yyval.code = PREINCREMENT_EXPR; ;
5153 break;}
5154 case 189:
5155 #line 988 "parse.y"
5156 { yyval.code = PREDECREMENT_EXPR; ;
5157 break;}
5158 case 190:
5159 #line 990 "parse.y"
5160 { yyval.code = TRUTH_NOT_EXPR; ;
5161 break;}
5162 case 191:
5163 #line 995 "parse.y"
5164 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
5165 break;}
5166 case 193:
5167 #line 1001 "parse.y"
5168 { error ("ANSI C++ forbids an empty condition for `%s'",
5169 cond_stmt_keyword);
5170 yyval.ttype = integer_zero_node; ;
5171 break;}
5172 case 194:
5173 #line 1005 "parse.y"
5174 { yyval.ttype = yyvsp[-1].ttype; ;
5175 break;}
5176 case 195:
5177 #line 1010 "parse.y"
5178 { error ("ANSI C++ forbids an empty condition for `%s'",
5179 cond_stmt_keyword);
5180 yyval.ttype = integer_zero_node; ;
5181 break;}
5182 case 196:
5183 #line 1014 "parse.y"
5184 { yyval.ttype = yyvsp[-1].ttype; ;
5185 break;}
5186 case 197:
5187 #line 1019 "parse.y"
5188 { yyval.ttype = NULL_TREE; ;
5189 break;}
5190 case 199:
5191 #line 1022 "parse.y"
5192 { yyval.ttype = NULL_TREE; ;
5193 break;}
5194 case 200:
5195 #line 1027 "parse.y"
5197 tree d;
5198 for (d = getdecls (); d; d = TREE_CHAIN (d))
5199 if (TREE_CODE (d) == TYPE_DECL) {
5200 tree s = TREE_TYPE (d);
5201 if (TREE_CODE (s) == RECORD_TYPE)
5202 cp_error ("definition of class `%T' in condition", s);
5203 else if (TREE_CODE (s) == ENUMERAL_TYPE)
5204 cp_error ("definition of enum `%T' in condition", s);
5207 current_declspecs = yyvsp[-4].ftype.t;
5208 yyvsp[0].itype = suspend_momentary ();
5209 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5210 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
5212 break;}
5213 case 201:
5214 #line 1044 "parse.y"
5216 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
5217 resume_momentary (yyvsp[-2].itype);
5218 yyval.ttype = convert_from_reference (yyvsp[-1].ttype);
5219 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
5220 cp_error ("definition of array `%#D' in condition", yyval.ttype);
5222 break;}
5223 case 207:
5224 #line 1063 "parse.y"
5225 { yyval.ttype = begin_compound_stmt (1); ;
5226 break;}
5227 case 208:
5228 #line 1065 "parse.y"
5229 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
5230 break;}
5231 case 210:
5232 #line 1072 "parse.y"
5233 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
5234 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
5235 break;}
5236 case 211:
5237 #line 1075 "parse.y"
5238 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype,
5239 build_expr_list (NULL_TREE, error_mark_node)); ;
5240 break;}
5241 case 212:
5242 #line 1078 "parse.y"
5243 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
5244 break;}
5245 case 213:
5246 #line 1080 "parse.y"
5247 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
5248 break;}
5249 case 214:
5250 #line 1085 "parse.y"
5251 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
5252 break;}
5253 case 216:
5254 #line 1091 "parse.y"
5255 { yyval.ttype = yyvsp[0].ttype; ;
5256 break;}
5257 case 217:
5258 #line 1094 "parse.y"
5259 { yyval.ttype = yyvsp[0].ttype;
5260 pedantic = yyvsp[-1].itype; ;
5261 break;}
5262 case 218:
5263 #line 1097 "parse.y"
5264 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
5265 break;}
5266 case 219:
5267 #line 1099 "parse.y"
5268 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
5269 break;}
5270 case 220:
5271 #line 1101 "parse.y"
5272 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5273 break;}
5274 case 221:
5275 #line 1103 "parse.y"
5276 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
5277 break;}
5278 case 222:
5279 #line 1106 "parse.y"
5280 { if (pedantic)
5281 pedwarn ("ANSI C++ forbids `&&'");
5282 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
5283 break;}
5284 case 223:
5285 #line 1110 "parse.y"
5286 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
5287 break;}
5288 case 224:
5289 #line 1112 "parse.y"
5290 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t));
5291 check_for_new_type ("sizeof", yyvsp[-1].ftype); ;
5292 break;}
5293 case 225:
5294 #line 1115 "parse.y"
5295 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
5296 break;}
5297 case 226:
5298 #line 1117 "parse.y"
5299 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
5300 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
5301 break;}
5302 case 227:
5303 #line 1123 "parse.y"
5304 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
5305 check_for_new_type ("new", yyvsp[0].ftype); ;
5306 break;}
5307 case 228:
5308 #line 1126 "parse.y"
5309 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
5310 check_for_new_type ("new", yyvsp[-1].ftype); ;
5311 break;}
5312 case 229:
5313 #line 1129 "parse.y"
5314 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
5315 check_for_new_type ("new", yyvsp[0].ftype); ;
5316 break;}
5317 case 230:
5318 #line 1132 "parse.y"
5319 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
5320 check_for_new_type ("new", yyvsp[-1].ftype); ;
5321 break;}
5322 case 231:
5323 #line 1145 "parse.y"
5324 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
5325 NULL_TREE, yyvsp[-4].itype);
5326 check_for_new_type ("new", yyvsp[-1].ftype); ;
5327 break;}
5328 case 232:
5329 #line 1150 "parse.y"
5330 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
5331 check_for_new_type ("new", yyvsp[-2].ftype); ;
5332 break;}
5333 case 233:
5334 #line 1154 "parse.y"
5335 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
5336 check_for_new_type ("new", yyvsp[-1].ftype); ;
5337 break;}
5338 case 234:
5339 #line 1158 "parse.y"
5340 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
5341 check_for_new_type ("new", yyvsp[-2].ftype); ;
5342 break;}
5343 case 235:
5344 #line 1162 "parse.y"
5345 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
5346 break;}
5347 case 236:
5348 #line 1164 "parse.y"
5349 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
5350 if (yychar == YYEMPTY)
5351 yychar = YYLEX; ;
5352 break;}
5353 case 237:
5354 #line 1168 "parse.y"
5355 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
5356 if (yychar == YYEMPTY)
5357 yychar = YYLEX; ;
5358 break;}
5359 case 238:
5360 #line 1172 "parse.y"
5361 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
5362 break;}
5363 case 239:
5364 #line 1174 "parse.y"
5365 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
5366 break;}
5367 case 240:
5368 #line 1176 "parse.y"
5369 { yyval.ttype = build_va_arg (yyvsp[-3].ttype, groktypename (yyvsp[-1].ftype.t));
5370 check_for_new_type ("__builtin_va_arg", yyvsp[-1].ftype); ;
5371 break;}
5372 case 241:
5373 #line 1187 "parse.y"
5374 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
5375 break;}
5376 case 242:
5377 #line 1190 "parse.y"
5378 { yyval.itype = begin_new_placement (); ;
5379 break;}
5380 case 243:
5381 #line 1194 "parse.y"
5382 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5383 break;}
5384 case 244:
5385 #line 1196 "parse.y"
5386 { cp_pedwarn ("old style placement syntax, use () instead");
5387 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5388 break;}
5389 case 245:
5390 #line 1202 "parse.y"
5391 { yyval.ttype = yyvsp[-1].ttype; ;
5392 break;}
5393 case 246:
5394 #line 1204 "parse.y"
5395 { yyval.ttype = NULL_TREE; ;
5396 break;}
5397 case 247:
5398 #line 1206 "parse.y"
5400 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5401 yyval.ttype = error_mark_node;
5403 break;}
5404 case 248:
5405 #line 1214 "parse.y"
5407 if (pedantic)
5408 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5409 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5410 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5411 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5412 else
5413 yyval.ttype = yyvsp[0].ttype;
5415 break;}
5416 case 249:
5417 #line 1228 "parse.y"
5418 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5419 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5420 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5421 break;}
5422 case 250:
5423 #line 1232 "parse.y"
5424 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5425 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5426 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5427 break;}
5428 case 252:
5429 #line 1240 "parse.y"
5430 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5431 break;}
5432 case 253:
5433 #line 1242 "parse.y"
5435 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5436 nreverse (yyvsp[-2].ttype));
5437 if (pedantic)
5438 pedwarn ("ANSI C++ forbids constructor-expressions");
5439 /* Indicate that this was a GNU C constructor expression. */
5440 TREE_HAS_CONSTRUCTOR (init) = 1;
5442 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5444 break;}
5445 case 255:
5446 #line 1258 "parse.y"
5447 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5448 break;}
5449 case 256:
5450 #line 1260 "parse.y"
5451 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5452 break;}
5453 case 257:
5454 #line 1262 "parse.y"
5455 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5456 break;}
5457 case 258:
5458 #line 1264 "parse.y"
5459 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5460 break;}
5461 case 259:
5462 #line 1266 "parse.y"
5463 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5464 break;}
5465 case 260:
5466 #line 1268 "parse.y"
5467 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5468 break;}
5469 case 261:
5470 #line 1270 "parse.y"
5471 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5472 break;}
5473 case 262:
5474 #line 1272 "parse.y"
5475 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5476 break;}
5477 case 263:
5478 #line 1274 "parse.y"
5479 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5480 break;}
5481 case 264:
5482 #line 1276 "parse.y"
5483 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5484 break;}
5485 case 265:
5486 #line 1278 "parse.y"
5487 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5488 break;}
5489 case 266:
5490 #line 1280 "parse.y"
5491 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5492 break;}
5493 case 267:
5494 #line 1282 "parse.y"
5495 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5496 break;}
5497 case 268:
5498 #line 1284 "parse.y"
5499 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5500 break;}
5501 case 269:
5502 #line 1286 "parse.y"
5503 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5504 break;}
5505 case 270:
5506 #line 1288 "parse.y"
5507 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5508 break;}
5509 case 271:
5510 #line 1290 "parse.y"
5511 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5512 break;}
5513 case 272:
5514 #line 1292 "parse.y"
5515 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5516 break;}
5517 case 273:
5518 #line 1294 "parse.y"
5519 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5520 break;}
5521 case 274:
5522 #line 1296 "parse.y"
5523 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5524 break;}
5525 case 275:
5526 #line 1298 "parse.y"
5527 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5528 if (yyval.ttype != error_mark_node)
5529 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5530 break;}
5531 case 276:
5532 #line 1302 "parse.y"
5533 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5534 break;}
5535 case 277:
5536 #line 1304 "parse.y"
5537 { yyval.ttype = build_throw (NULL_TREE); ;
5538 break;}
5539 case 278:
5540 #line 1306 "parse.y"
5541 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5542 break;}
5543 case 279:
5544 #line 1324 "parse.y"
5545 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5546 break;}
5547 case 280:
5548 #line 1326 "parse.y"
5549 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5550 break;}
5551 case 286:
5552 #line 1335 "parse.y"
5554 /* If lastiddecl is a TREE_LIST, it's a baselink, which
5555 means that we're in an expression like S::f<int>, so
5556 don't do_identifier; we only do that for unqualified
5557 identifiers. */
5558 if (lastiddecl && TREE_CODE (lastiddecl) != TREE_LIST)
5559 yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE);
5560 else
5561 yyval.ttype = yyvsp[-1].ttype;
5563 break;}
5564 case 287:
5565 #line 1348 "parse.y"
5566 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5567 break;}
5568 case 288:
5569 #line 1350 "parse.y"
5570 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5571 break;}
5572 case 289:
5573 #line 1355 "parse.y"
5574 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5575 break;}
5576 case 290:
5577 #line 1357 "parse.y"
5578 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5579 break;}
5580 case 291:
5581 #line 1360 "parse.y"
5582 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5583 break;}
5584 case 296:
5585 #line 1372 "parse.y"
5587 /* Provide support for '(' attributes '*' declarator ')'
5588 etc */
5589 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
5591 break;}
5592 case 298:
5593 #line 1382 "parse.y"
5594 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5595 break;}
5596 case 299:
5597 #line 1384 "parse.y"
5598 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5599 break;}
5600 case 300:
5601 #line 1386 "parse.y"
5602 { yyval.ttype = yyvsp[-1].ttype; ;
5603 break;}
5604 case 301:
5605 #line 1391 "parse.y"
5606 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5607 break;}
5608 case 302:
5609 #line 1393 "parse.y"
5610 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5611 break;}
5612 case 306:
5613 #line 1403 "parse.y"
5614 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5615 break;}
5616 case 307:
5617 #line 1408 "parse.y"
5619 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5620 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5621 else
5622 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5624 break;}
5625 case 310:
5626 #line 1417 "parse.y"
5628 if (processing_template_decl)
5629 push_obstacks (&permanent_obstack, &permanent_obstack);
5630 yyval.ttype = combine_strings (yyval.ttype);
5631 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5632 a const array the way we want, so fix it. */
5633 if (flag_const_strings)
5634 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5635 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5636 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5637 if (processing_template_decl)
5638 pop_obstacks ();
5640 break;}
5641 case 311:
5642 #line 1431 "parse.y"
5643 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5644 break;}
5645 case 312:
5646 #line 1433 "parse.y"
5647 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5648 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5649 break;}
5650 case 313:
5651 #line 1436 "parse.y"
5652 { yyval.ttype = error_mark_node; ;
5653 break;}
5654 case 314:
5655 #line 1438 "parse.y"
5656 { tree scope = current_scope ();
5657 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5659 error ("braced-group within expression allowed only inside a function");
5660 YYERROR;
5662 if (pedantic)
5663 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5664 yyval.ttype = begin_stmt_expr ();
5666 break;}
5667 case 315:
5668 #line 1449 "parse.y"
5669 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype); ;
5670 break;}
5671 case 316:
5672 #line 1454 "parse.y"
5673 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5674 break;}
5675 case 317:
5676 #line 1456 "parse.y"
5677 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5678 break;}
5679 case 318:
5680 #line 1458 "parse.y"
5681 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5682 break;}
5683 case 319:
5684 #line 1460 "parse.y"
5685 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5686 break;}
5687 case 320:
5688 #line 1462 "parse.y"
5689 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5690 break;}
5691 case 321:
5692 #line 1464 "parse.y"
5693 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5694 break;}
5695 case 322:
5696 #line 1466 "parse.y"
5697 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5698 break;}
5699 case 323:
5700 #line 1469 "parse.y"
5701 { yyval.ttype = finish_this_expr (); ;
5702 break;}
5703 case 324:
5704 #line 1471 "parse.y"
5706 /* This is a C cast in C++'s `functional' notation
5707 using the "implicit int" extension so that:
5708 `const (3)' is equivalent to `const int (3)'. */
5709 tree type;
5711 type = hash_tree_cons (NULL_TREE, yyvsp[-3].ttype, NULL_TREE);
5712 type = groktypename (build_decl_list (type, NULL_TREE));
5713 yyval.ttype = build_functional_cast (type, yyvsp[-1].ttype);
5715 break;}
5716 case 326:
5717 #line 1483 "parse.y"
5718 { tree type = groktypename (yyvsp[-4].ftype.t);
5719 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5720 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5721 break;}
5722 case 327:
5723 #line 1487 "parse.y"
5724 { tree type = groktypename (yyvsp[-4].ftype.t);
5725 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5726 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5727 break;}
5728 case 328:
5729 #line 1491 "parse.y"
5730 { tree type = groktypename (yyvsp[-4].ftype.t);
5731 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5732 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5733 break;}
5734 case 329:
5735 #line 1495 "parse.y"
5736 { tree type = groktypename (yyvsp[-4].ftype.t);
5737 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5738 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5739 break;}
5740 case 330:
5741 #line 1499 "parse.y"
5742 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5743 break;}
5744 case 331:
5745 #line 1501 "parse.y"
5746 { tree type = groktypename (yyvsp[-1].ftype.t);
5747 check_for_new_type ("typeid", yyvsp[-1].ftype);
5748 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5749 break;}
5750 case 332:
5751 #line 1505 "parse.y"
5752 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5753 break;}
5754 case 333:
5755 #line 1507 "parse.y"
5756 { yyval.ttype = yyvsp[0].ttype; ;
5757 break;}
5758 case 334:
5759 #line 1509 "parse.y"
5761 got_scope = NULL_TREE;
5762 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5763 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5764 else
5765 yyval.ttype = yyvsp[0].ttype;
5767 break;}
5768 case 335:
5769 #line 1517 "parse.y"
5770 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5771 break;}
5772 case 336:
5773 #line 1519 "parse.y"
5774 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5775 break;}
5776 case 337:
5777 #line 1521 "parse.y"
5778 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5779 break;}
5780 case 338:
5781 #line 1523 "parse.y"
5783 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5785 break;}
5786 case 339:
5787 #line 1527 "parse.y"
5788 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5789 break;}
5790 case 340:
5791 #line 1529 "parse.y"
5792 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5793 break;}
5794 case 341:
5795 #line 1531 "parse.y"
5796 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5797 break;}
5798 case 342:
5799 #line 1533 "parse.y"
5800 { if (processing_template_decl)
5801 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
5802 else
5803 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5804 break;}
5805 case 343:
5806 #line 1538 "parse.y"
5807 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5808 break;}
5809 case 344:
5810 #line 1540 "parse.y"
5811 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5812 break;}
5813 case 345:
5814 #line 1542 "parse.y"
5815 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5816 break;}
5817 case 346:
5818 #line 1544 "parse.y"
5819 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5820 break;}
5821 case 347:
5822 #line 1547 "parse.y"
5823 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5824 break;}
5825 case 348:
5826 #line 1549 "parse.y"
5827 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5828 break;}
5829 case 349:
5830 #line 1551 "parse.y"
5832 yyval.ttype = error_mark_node;
5834 break;}
5835 case 350:
5836 #line 1596 "parse.y"
5837 { yyval.itype = 0; ;
5838 break;}
5839 case 351:
5840 #line 1598 "parse.y"
5841 { got_scope = NULL_TREE; yyval.itype = 1; ;
5842 break;}
5843 case 352:
5844 #line 1603 "parse.y"
5845 { yyval.itype = 0; ;
5846 break;}
5847 case 353:
5848 #line 1605 "parse.y"
5849 { got_scope = NULL_TREE; yyval.itype = 1; ;
5850 break;}
5851 case 354:
5852 #line 1610 "parse.y"
5853 { yyval.ttype = boolean_true_node; ;
5854 break;}
5855 case 355:
5856 #line 1612 "parse.y"
5857 { yyval.ttype = boolean_false_node; ;
5858 break;}
5859 case 357:
5860 #line 1619 "parse.y"
5861 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5862 break;}
5863 case 358:
5864 #line 1624 "parse.y"
5866 if (! current_function_parms_stored)
5867 store_parm_decls ();
5868 setup_vtbl_ptr ();
5870 break;}
5871 case 359:
5872 #line 1633 "parse.y"
5873 { got_object = TREE_TYPE (yyval.ttype); ;
5874 break;}
5875 case 360:
5876 #line 1635 "parse.y"
5878 yyval.ttype = build_x_arrow (yyval.ttype);
5879 got_object = TREE_TYPE (yyval.ttype);
5881 break;}
5882 case 361:
5883 #line 1643 "parse.y"
5885 resume_momentary (yyvsp[-1].itype);
5886 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5887 note_got_semicolon (yyvsp[-2].ftype.t);
5889 break;}
5890 case 362:
5891 #line 1649 "parse.y"
5893 resume_momentary (yyvsp[-1].itype);
5894 note_list_got_semicolon (yyvsp[-2].ftype.t);
5896 break;}
5897 case 363:
5898 #line 1654 "parse.y"
5899 { resume_momentary (yyvsp[-1].itype); ;
5900 break;}
5901 case 364:
5902 #line 1656 "parse.y"
5904 shadow_tag (yyvsp[-1].ftype.t);
5905 note_list_got_semicolon (yyvsp[-1].ftype.t);
5907 break;}
5908 case 365:
5909 #line 1661 "parse.y"
5910 { warning ("empty declaration"); ;
5911 break;}
5912 case 366:
5913 #line 1663 "parse.y"
5914 { pedantic = yyvsp[-1].itype; ;
5915 break;}
5916 case 369:
5917 #line 1677 "parse.y"
5918 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5919 NULL_TREE, NULL_TREE); ;
5920 break;}
5921 case 370:
5922 #line 1680 "parse.y"
5923 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5924 NULL_TREE); ;
5925 break;}
5926 case 371:
5927 #line 1687 "parse.y"
5928 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5929 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5930 break;}
5931 case 372:
5932 #line 1690 "parse.y"
5933 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5934 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5935 break;}
5936 case 373:
5937 #line 1693 "parse.y"
5938 { yyval.ftype.t = build_decl_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
5939 yyvsp[0].ttype);
5940 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5941 break;}
5942 case 374:
5943 #line 1697 "parse.y"
5944 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5945 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5946 break;}
5947 case 375:
5948 #line 1700 "parse.y"
5949 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5950 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5951 break;}
5952 case 378:
5953 #line 1716 "parse.y"
5954 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5955 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5956 break;}
5957 case 379:
5958 #line 1719 "parse.y"
5959 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5960 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5961 break;}
5962 case 380:
5963 #line 1722 "parse.y"
5964 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5965 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5966 break;}
5967 case 381:
5968 #line 1725 "parse.y"
5969 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5970 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5971 break;}
5972 case 382:
5973 #line 1728 "parse.y"
5974 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5975 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5976 break;}
5977 case 383:
5978 #line 1731 "parse.y"
5979 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5980 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5981 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5982 break;}
5983 case 384:
5984 #line 1738 "parse.y"
5985 { if (extra_warnings)
5986 warning ("`%s' is not at beginning of declaration",
5987 IDENTIFIER_POINTER (yyval.ttype));
5988 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5989 break;}
5990 case 385:
5991 #line 1743 "parse.y"
5992 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5993 break;}
5994 case 386:
5995 #line 1745 "parse.y"
5996 { if (extra_warnings)
5997 warning ("`%s' is not at beginning of declaration",
5998 IDENTIFIER_POINTER (yyvsp[0].ttype));
5999 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6000 break;}
6001 case 387:
6002 #line 1750 "parse.y"
6003 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
6004 break;}
6005 case 388:
6006 #line 1752 "parse.y"
6007 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
6008 break;}
6009 case 389:
6010 #line 1771 "parse.y"
6011 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
6012 break;}
6013 case 390:
6014 #line 1773 "parse.y"
6015 { yyval.ttype = hash_tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
6016 break;}
6017 case 391:
6018 #line 1775 "parse.y"
6019 { yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
6020 TREE_STATIC (yyval.ttype) = 1; ;
6021 break;}
6022 case 392:
6023 #line 1778 "parse.y"
6024 { if (extra_warnings && TREE_STATIC (yyval.ttype))
6025 warning ("`%s' is not at beginning of declaration",
6026 IDENTIFIER_POINTER (yyvsp[0].ttype));
6027 yyval.ttype = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
6028 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
6029 break;}
6030 case 393:
6031 #line 1784 "parse.y"
6032 { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
6033 break;}
6034 case 394:
6035 #line 1786 "parse.y"
6036 { yyval.ttype = hash_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
6037 break;}
6038 case 395:
6039 #line 1797 "parse.y"
6040 { yyval.ftype.t = build_decl_list (NULL_TREE, yyvsp[0].ftype.t);
6041 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6042 break;}
6043 case 396:
6044 #line 1800 "parse.y"
6045 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
6046 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6047 break;}
6048 case 397:
6049 #line 1803 "parse.y"
6050 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
6051 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6052 break;}
6053 case 398:
6054 #line 1806 "parse.y"
6055 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
6056 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
6057 break;}
6058 case 399:
6059 #line 1812 "parse.y"
6060 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
6061 break;}
6062 case 400:
6063 #line 1814 "parse.y"
6064 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
6065 break;}
6066 case 402:
6067 #line 1824 "parse.y"
6068 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6069 break;}
6070 case 403:
6071 #line 1826 "parse.y"
6072 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6073 break;}
6074 case 404:
6075 #line 1828 "parse.y"
6076 { yyval.ftype.t = finish_typeof (yyvsp[-1].ttype);
6077 yyval.ftype.new_type_flag = 0; ;
6078 break;}
6079 case 405:
6080 #line 1831 "parse.y"
6081 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
6082 yyval.ftype.new_type_flag = 0; ;
6083 break;}
6084 case 406:
6085 #line 1834 "parse.y"
6086 { tree type = TREE_TYPE (yyvsp[-1].ttype);
6088 yyval.ftype.new_type_flag = 0;
6089 if (IS_AGGR_TYPE (type))
6091 sorry ("sigof type specifier");
6092 yyval.ftype.t = type;
6094 else
6096 error ("`sigof' applied to non-aggregate expression");
6097 yyval.ftype.t = error_mark_node;
6100 break;}
6101 case 407:
6102 #line 1849 "parse.y"
6103 { tree type = groktypename (yyvsp[-1].ftype.t);
6105 yyval.ftype.new_type_flag = 0;
6106 if (IS_AGGR_TYPE (type))
6108 sorry ("sigof type specifier");
6109 yyval.ftype.t = type;
6111 else
6113 error("`sigof' applied to non-aggregate type");
6114 yyval.ftype.t = error_mark_node;
6117 break;}
6118 case 408:
6119 #line 1869 "parse.y"
6120 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6121 break;}
6122 case 409:
6123 #line 1871 "parse.y"
6124 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
6125 break;}
6126 case 412:
6127 #line 1878 "parse.y"
6128 { check_multiple_declarators (); ;
6129 break;}
6130 case 414:
6131 #line 1884 "parse.y"
6132 { check_multiple_declarators (); ;
6133 break;}
6134 case 416:
6135 #line 1890 "parse.y"
6136 { check_multiple_declarators (); ;
6137 break;}
6138 case 417:
6139 #line 1895 "parse.y"
6140 { yyval.ttype = NULL_TREE; ;
6141 break;}
6142 case 418:
6143 #line 1897 "parse.y"
6144 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
6145 break;}
6146 case 419:
6147 #line 1902 "parse.y"
6148 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
6149 yyvsp[-1].ttype, prefix_attributes); ;
6150 break;}
6151 case 420:
6152 #line 1906 "parse.y"
6153 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
6154 break;}
6155 case 421:
6156 #line 1908 "parse.y"
6157 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
6158 yyvsp[0].ttype, prefix_attributes);
6159 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
6160 break;}
6161 case 422:
6162 #line 1921 "parse.y"
6163 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
6164 yyvsp[-1].ttype, 1, &yyval.ttype); ;
6165 break;}
6166 case 423:
6167 #line 1926 "parse.y"
6168 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
6169 LOOKUP_ONLYCONVERTING);
6170 yyval.itype = yyvsp[-2].itype; ;
6171 break;}
6172 case 424:
6173 #line 1930 "parse.y"
6174 { tree d;
6175 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
6176 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
6177 break;}
6178 case 425:
6179 #line 1937 "parse.y"
6180 { yyval.itype = yyvsp[0].itype; ;
6181 break;}
6182 case 426:
6183 #line 1941 "parse.y"
6184 { yyval.itype = yyvsp[0].itype; ;
6185 break;}
6186 case 427:
6187 #line 1946 "parse.y"
6188 { /* Set things up as initdcl0_innards expects. */
6189 yyvsp[0].ttype = yyvsp[-1].ttype;
6190 yyvsp[-1].ttype = NULL_TREE; ;
6191 break;}
6192 case 428:
6193 #line 1950 "parse.y"
6195 break;}
6196 case 429:
6197 #line 1952 "parse.y"
6198 { tree d;
6199 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
6200 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
6201 break;}
6202 case 430:
6203 #line 1961 "parse.y"
6204 { yyval.ttype = NULL_TREE; ;
6205 break;}
6206 case 431:
6207 #line 1963 "parse.y"
6208 { yyval.ttype = yyvsp[0].ttype; ;
6209 break;}
6210 case 432:
6211 #line 1968 "parse.y"
6212 { yyval.ttype = yyvsp[0].ttype; ;
6213 break;}
6214 case 433:
6215 #line 1970 "parse.y"
6216 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6217 break;}
6218 case 434:
6219 #line 1975 "parse.y"
6220 { yyval.ttype = yyvsp[-2].ttype; ;
6221 break;}
6222 case 435:
6223 #line 1980 "parse.y"
6224 { yyval.ttype = yyvsp[0].ttype; ;
6225 break;}
6226 case 436:
6227 #line 1982 "parse.y"
6228 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6229 break;}
6230 case 437:
6231 #line 1987 "parse.y"
6232 { yyval.ttype = NULL_TREE; ;
6233 break;}
6234 case 438:
6235 #line 1989 "parse.y"
6236 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
6237 break;}
6238 case 439:
6239 #line 1991 "parse.y"
6240 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
6241 break;}
6242 case 440:
6243 #line 1993 "parse.y"
6244 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
6245 break;}
6246 case 441:
6247 #line 1995 "parse.y"
6248 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6249 break;}
6250 case 446:
6251 #line 2011 "parse.y"
6252 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
6253 break;}
6254 case 447:
6255 #line 2013 "parse.y"
6256 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
6257 break;}
6258 case 448:
6259 #line 2018 "parse.y"
6260 { yyval.ttype = NULL_TREE; ;
6261 break;}
6262 case 449:
6263 #line 2020 "parse.y"
6264 { yyval.ttype = yyvsp[0].ttype; ;
6265 break;}
6266 case 451:
6267 #line 2028 "parse.y"
6268 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
6269 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6270 break;}
6271 case 452:
6272 #line 2031 "parse.y"
6273 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
6274 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6275 break;}
6276 case 453:
6277 #line 2034 "parse.y"
6278 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
6279 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
6280 break;}
6281 case 454:
6282 #line 2037 "parse.y"
6283 { yyval.ttype = NULL_TREE; ;
6284 break;}
6285 case 455:
6286 #line 2044 "parse.y"
6287 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
6288 break;}
6289 case 456:
6290 #line 2046 "parse.y"
6291 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6292 break;}
6293 case 457:
6294 #line 2049 "parse.y"
6295 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6296 break;}
6297 case 458:
6298 #line 2051 "parse.y"
6299 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
6300 break;}
6301 case 459:
6302 #line 2053 "parse.y"
6303 { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
6304 break;}
6305 case 460:
6306 #line 2058 "parse.y"
6307 { start_function (NULL_TREE, yyvsp[0].pi->fndecl, NULL_TREE,
6308 (SF_DEFAULT | SF_PRE_PARSED
6309 | SF_INCLASS_INLINE));
6310 reinit_parse_for_function (); ;
6311 break;}
6312 case 461:
6313 #line 2065 "parse.y"
6315 expand_body (finish_function (lineno, (int)yyvsp[-1].itype | 2));
6316 process_next_inline (yyvsp[-3].pi);
6318 break;}
6319 case 462:
6320 #line 2070 "parse.y"
6322 expand_body (finish_function (lineno, (int)yyvsp[0].itype | 2));
6323 process_next_inline (yyvsp[-2].pi);
6325 break;}
6326 case 463:
6327 #line 2075 "parse.y"
6329 finish_function (lineno, 2);
6330 process_next_inline (yyvsp[-2].pi); ;
6331 break;}
6332 case 466:
6333 #line 2089 "parse.y"
6334 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6335 break;}
6336 case 467:
6337 #line 2091 "parse.y"
6338 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
6339 break;}
6340 case 469:
6341 #line 2096 "parse.y"
6342 { do_pending_defargs (); ;
6343 break;}
6344 case 470:
6345 #line 2098 "parse.y"
6346 { do_pending_defargs (); ;
6347 break;}
6348 case 471:
6349 #line 2103 "parse.y"
6350 { yyvsp[0].itype = suspend_momentary ();
6351 yyval.ttype = current_enum_type;
6352 current_enum_type = start_enum (yyvsp[-1].ttype); ;
6353 break;}
6354 case 472:
6355 #line 2107 "parse.y"
6356 { TYPE_VALUES (current_enum_type) = yyvsp[-1].ttype;
6357 yyval.ftype.t = finish_enum (current_enum_type);
6358 yyval.ftype.new_type_flag = 1;
6359 current_enum_type = yyvsp[-2].ttype;
6360 resume_momentary ((int) yyvsp[-3].itype);
6361 check_for_missing_semicolon (yyval.ftype.t); ;
6362 break;}
6363 case 473:
6364 #line 2114 "parse.y"
6365 { yyvsp[0].itype = suspend_momentary ();
6366 yyval.ttype = current_enum_type;
6367 current_enum_type = start_enum (make_anon_name ()); ;
6368 break;}
6369 case 474:
6370 #line 2118 "parse.y"
6371 { TYPE_VALUES (current_enum_type) = yyvsp[-1].ttype;
6372 yyval.ftype.t = finish_enum (current_enum_type);
6373 yyval.ftype.new_type_flag = 1;
6374 current_enum_type = yyvsp[-2].ttype;
6375 resume_momentary ((int) yyvsp[-4].itype);
6376 check_for_missing_semicolon (yyval.ftype.t); ;
6377 break;}
6378 case 475:
6379 #line 2125 "parse.y"
6380 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6381 yyval.ftype.new_type_flag = 0; ;
6382 break;}
6383 case 476:
6384 #line 2128 "parse.y"
6385 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6386 yyval.ftype.new_type_flag = 0; ;
6387 break;}
6388 case 477:
6389 #line 2131 "parse.y"
6390 { yyval.ftype.t = yyvsp[0].ttype;
6391 yyval.ftype.new_type_flag = 0;
6392 if (!processing_template_decl)
6393 cp_pedwarn ("using `typename' outside of template"); ;
6394 break;}
6395 case 478:
6396 #line 2137 "parse.y"
6397 { yyvsp[-1].ftype.t = begin_class_definition (yyvsp[-1].ftype.t); ;
6398 break;}
6399 case 479:
6400 #line 2139 "parse.y"
6402 int semi;
6404 if (yychar == YYEMPTY)
6405 yychar = YYLEX;
6406 semi = yychar == ';';
6408 yyval.ttype = finish_class_definition (yyvsp[-5].ftype.t, yyvsp[0].ttype, semi,
6409 yyvsp[-5].ftype.new_type_flag);
6411 break;}
6412 case 480:
6413 #line 2150 "parse.y"
6415 begin_inline_definitions ();
6417 break;}
6418 case 481:
6419 #line 2154 "parse.y"
6421 finish_inline_definitions ();
6422 yyval.ftype.t = yyvsp[-3].ttype;
6423 yyval.ftype.new_type_flag = 1;
6425 break;}
6426 case 482:
6427 #line 2160 "parse.y"
6429 if (yyvsp[0].ftype.new_type_flag && yyvsp[0].ftype.t != error_mark_node)
6430 pop_scope (CP_DECL_CONTEXT (TYPE_MAIN_DECL (yyvsp[0].ftype.t)));
6431 yyval.ftype.new_type_flag = 0;
6432 if (yyvsp[0].ftype.t == error_mark_node)
6433 yyval.ftype.t = yyvsp[0].ftype.t;
6434 else if (TYPE_BINFO (yyvsp[0].ftype.t) == NULL_TREE)
6436 cp_error ("%T is not a class type", yyvsp[0].ftype.t);
6437 yyval.ftype.t = error_mark_node;
6439 else
6441 yyval.ftype.t = yyvsp[0].ftype.t;
6442 /* struct B: public A; is not accepted by the WP grammar. */
6443 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6444 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6445 cp_error ("base clause without member specification for `%#T'",
6446 yyval.ftype.t);
6449 break;}
6450 case 486:
6451 #line 2191 "parse.y"
6452 { if (pedantic && !in_system_header)
6453 pedwarn ("comma at end of enumerator list"); ;
6454 break;}
6455 case 488:
6456 #line 2198 "parse.y"
6457 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6458 break;}
6459 case 489:
6460 #line 2200 "parse.y"
6461 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6462 break;}
6463 case 490:
6464 #line 2202 "parse.y"
6465 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6466 break;}
6467 case 491:
6468 #line 2204 "parse.y"
6469 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6470 break;}
6471 case 492:
6472 #line 2206 "parse.y"
6473 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6474 break;}
6475 case 493:
6476 #line 2211 "parse.y"
6478 current_aggr = yyvsp[-1].ttype;
6479 yyval.ttype = yyvsp[0].ttype;
6481 break;}
6482 case 494:
6483 #line 2219 "parse.y"
6484 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6485 break;}
6486 case 495:
6487 #line 2221 "parse.y"
6488 { yyungetc ('{', 1); ;
6489 break;}
6490 case 496:
6491 #line 2223 "parse.y"
6492 { yyungetc (':', 1); ;
6493 break;}
6494 case 497:
6495 #line 2228 "parse.y"
6497 current_aggr = yyvsp[-2].ttype;
6498 yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6499 yyval.ftype.new_type_flag = 1;
6501 break;}
6502 case 498:
6503 #line 2234 "parse.y"
6505 current_aggr = yyvsp[-3].ttype;
6506 yyval.ftype.t = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6507 yyval.ftype.new_type_flag = 1;
6509 break;}
6510 case 499:
6511 #line 2240 "parse.y"
6513 current_aggr = yyvsp[-2].ttype;
6514 yyval.ftype.t = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6515 yyval.ftype.new_type_flag = 1;
6517 break;}
6518 case 500:
6519 #line 2246 "parse.y"
6521 current_aggr = yyvsp[-1].ttype;
6522 yyval.ftype.t = yyvsp[0].ttype;
6523 yyval.ftype.new_type_flag = 0;
6525 break;}
6526 case 501:
6527 #line 2252 "parse.y"
6529 current_aggr = yyvsp[-2].ttype;
6530 yyval.ftype.t = yyvsp[0].ttype;
6531 if (CP_DECL_CONTEXT (yyval.ftype.t))
6532 push_scope (CP_DECL_CONTEXT (yyval.ftype.t));
6533 yyval.ftype.new_type_flag = 1;
6535 break;}
6536 case 502:
6537 #line 2263 "parse.y"
6539 yyval.ftype.t = xref_tag (current_aggr, yyvsp[0].ttype, 1);
6540 yyval.ftype.new_type_flag = 0;
6542 break;}
6543 case 503:
6544 #line 2268 "parse.y"
6545 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6546 break;}
6547 case 504:
6548 #line 2272 "parse.y"
6550 yyval.ftype.t = yyvsp[-1].ttype;
6551 yyval.ftype.new_type_flag = 0;
6552 if (yyvsp[0].ttype)
6553 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6555 break;}
6556 case 505:
6557 #line 2280 "parse.y"
6559 if (yyvsp[-1].ftype.t != error_mark_node)
6561 yyval.ftype.t = TREE_TYPE (yyvsp[-1].ftype.t);
6562 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
6563 if (current_aggr == union_type_node
6564 && TREE_CODE (yyval.ftype.t) != UNION_TYPE)
6565 cp_pedwarn ("`union' tag used in declaring `%#T'",
6566 yyval.ftype.t);
6567 else if (TREE_CODE (yyval.ftype.t) == UNION_TYPE
6568 && current_aggr != union_type_node)
6569 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ftype);
6570 else if (TREE_CODE (yyval.ftype.t) == RECORD_TYPE)
6571 /* We might be specializing a template with a different
6572 class-key; deal. */
6573 CLASSTYPE_DECLARED_CLASS (yyval.ftype.t)
6574 = (current_aggr == class_type_node);
6575 if (yyvsp[0].ttype)
6577 maybe_process_partial_specialization (yyval.ftype.t);
6578 xref_basetypes (current_aggr, yyvsp[-1].ftype.t, yyval.ftype.t, yyvsp[0].ttype);
6582 break;}
6583 case 506:
6584 #line 2308 "parse.y"
6585 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6586 yyungetc ('{', 1); ;
6587 break;}
6588 case 507:
6589 #line 2318 "parse.y"
6591 yyval.ftype.t = yyvsp[0].ttype;
6592 yyval.ftype.new_type_flag = 0;
6594 break;}
6595 case 509:
6596 #line 2327 "parse.y"
6597 { yyval.ttype = NULL_TREE; ;
6598 break;}
6599 case 510:
6600 #line 2329 "parse.y"
6601 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6602 break;}
6603 case 511:
6604 #line 2331 "parse.y"
6605 { yyval.ttype = yyvsp[0].ttype; ;
6606 break;}
6607 case 513:
6608 #line 2337 "parse.y"
6609 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6610 break;}
6611 case 514:
6612 #line 2342 "parse.y"
6613 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype); ;
6614 break;}
6615 case 515:
6616 #line 2344 "parse.y"
6617 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6618 break;}
6619 case 516:
6620 #line 2349 "parse.y"
6621 { if (yyval.ttype != error_mark_node) yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6622 break;}
6623 case 519:
6624 #line 2356 "parse.y"
6625 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6626 cp_error ("`%D' access", yyvsp[-1].ttype);
6627 yyval.ttype = access_default_virtual_node; ;
6628 break;}
6629 case 520:
6630 #line 2360 "parse.y"
6632 if (yyvsp[-2].ttype != access_default_virtual_node)
6633 error ("multiple access specifiers");
6634 else if (yyvsp[-1].ttype == access_public_node)
6635 yyval.ttype = access_public_virtual_node;
6636 else if (yyvsp[-1].ttype == access_protected_node)
6637 yyval.ttype = access_protected_virtual_node;
6638 else /* $2 == access_private_node */
6639 yyval.ttype = access_private_virtual_node;
6641 break;}
6642 case 521:
6643 #line 2371 "parse.y"
6644 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6645 cp_error ("`%D' access", yyvsp[-1].ttype);
6646 else if (yyval.ttype == access_public_node)
6647 yyval.ttype = access_public_virtual_node;
6648 else if (yyval.ttype == access_protected_node)
6649 yyval.ttype = access_protected_virtual_node;
6650 else if (yyval.ttype == access_private_node)
6651 yyval.ttype = access_private_virtual_node;
6652 else
6653 error ("multiple `virtual' specifiers");
6655 break;}
6656 case 526:
6657 #line 2392 "parse.y"
6659 current_access_specifier = yyvsp[-1].ttype;
6661 break;}
6662 case 527:
6663 #line 2401 "parse.y"
6665 finish_member_declaration (yyvsp[0].ttype);
6667 break;}
6668 case 528:
6669 #line 2405 "parse.y"
6671 finish_member_declaration (yyvsp[0].ttype);
6673 break;}
6674 case 530:
6675 #line 2413 "parse.y"
6676 { error ("missing ';' before right brace");
6677 yyungetc ('}', 0); ;
6678 break;}
6679 case 531:
6680 #line 2418 "parse.y"
6681 { yyval.ttype = finish_method (yyval.ttype); ;
6682 break;}
6683 case 532:
6684 #line 2420 "parse.y"
6685 { yyval.ttype = finish_method (yyval.ttype); ;
6686 break;}
6687 case 533:
6688 #line 2422 "parse.y"
6689 { yyval.ttype = finish_method (yyval.ttype); ;
6690 break;}
6691 case 534:
6692 #line 2424 "parse.y"
6693 { yyval.ttype = finish_method (yyval.ttype); ;
6694 break;}
6695 case 535:
6696 #line 2426 "parse.y"
6697 { yyval.ttype = NULL_TREE; ;
6698 break;}
6699 case 536:
6700 #line 2428 "parse.y"
6701 { yyval.ttype = yyvsp[0].ttype;
6702 pedantic = yyvsp[-1].itype; ;
6703 break;}
6704 case 537:
6705 #line 2431 "parse.y"
6707 if (yyvsp[0].ttype)
6708 yyval.ttype = finish_member_template_decl (yyvsp[0].ttype);
6709 else
6710 /* The component was already processed. */
6711 yyval.ttype = NULL_TREE;
6713 finish_template_decl (yyvsp[-1].ttype);
6715 break;}
6716 case 538:
6717 #line 2441 "parse.y"
6719 yyval.ttype = finish_member_class_template (yyvsp[-1].ftype.t);
6720 finish_template_decl (yyvsp[-2].ttype);
6722 break;}
6723 case 539:
6724 #line 2452 "parse.y"
6726 /* Most of the productions for component_decl only
6727 allow the creation of one new member, so we call
6728 finish_member_declaration in component_decl_list.
6729 For this rule and the next, however, there can be
6730 more than one member, e.g.:
6732 int i, j;
6734 and we need the first member to be fully
6735 registered before the second is processed.
6736 Therefore, the rules for components take care of
6737 this processing. To avoid registering the
6738 components more than once, we send NULL_TREE up
6739 here; that lets finish_member_declaration know
6740 that there is nothing to do. */
6741 if (!yyvsp[0].itype)
6742 grok_x_components (yyvsp[-1].ftype.t);
6743 yyval.ttype = NULL_TREE;
6745 break;}
6746 case 540:
6747 #line 2473 "parse.y"
6749 if (!yyvsp[0].itype)
6750 grok_x_components (yyvsp[-1].ttype);
6751 yyval.ttype = NULL_TREE;
6753 break;}
6754 case 541:
6755 #line 2479 "parse.y"
6756 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6757 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6758 break;}
6759 case 542:
6760 #line 2482 "parse.y"
6761 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6762 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6763 break;}
6764 case 543:
6765 #line 2485 "parse.y"
6766 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6767 break;}
6768 case 544:
6769 #line 2487 "parse.y"
6770 { yyval.ttype = NULL_TREE; ;
6771 break;}
6772 case 545:
6773 #line 2498 "parse.y"
6774 { tree specs, attrs;
6775 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6776 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6777 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6778 break;}
6779 case 546:
6780 #line 2503 "parse.y"
6781 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6782 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6783 break;}
6784 case 547:
6785 #line 2506 "parse.y"
6786 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6787 break;}
6788 case 548:
6789 #line 2512 "parse.y"
6790 { yyval.itype = 0; ;
6791 break;}
6792 case 549:
6793 #line 2514 "parse.y"
6795 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6796 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6797 finish_member_declaration (yyvsp[0].ttype);
6798 yyval.itype = 1;
6800 break;}
6801 case 550:
6802 #line 2521 "parse.y"
6804 check_multiple_declarators ();
6805 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6806 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6807 finish_member_declaration (yyvsp[0].ttype);
6808 yyval.itype = 2;
6810 break;}
6811 case 551:
6812 #line 2532 "parse.y"
6813 { yyval.itype = 0; ;
6814 break;}
6815 case 552:
6816 #line 2534 "parse.y"
6818 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6819 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6820 finish_member_declaration (yyvsp[0].ttype);
6821 yyval.itype = 1;
6823 break;}
6824 case 553:
6825 #line 2541 "parse.y"
6827 check_multiple_declarators ();
6828 if (PROCESSING_REAL_TEMPLATE_DECL_P ())
6829 yyvsp[0].ttype = finish_member_template_decl (yyvsp[0].ttype);
6830 finish_member_declaration (yyvsp[0].ttype);
6831 yyval.itype = 2;
6833 break;}
6834 case 558:
6835 #line 2562 "parse.y"
6836 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6837 &prefix_attributes);
6838 yyvsp[-4].ttype = current_declspecs;
6839 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6840 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6841 break;}
6842 case 559:
6843 #line 2568 "parse.y"
6844 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6845 &prefix_attributes);
6846 yyvsp[-4].ttype = current_declspecs;
6847 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6848 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6849 break;}
6850 case 560:
6851 #line 2577 "parse.y"
6852 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6853 &prefix_attributes);
6854 yyvsp[-4].ttype = current_declspecs;
6855 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6856 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6857 break;}
6858 case 561:
6859 #line 2583 "parse.y"
6860 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6861 &prefix_attributes);
6862 yyvsp[-4].ttype = current_declspecs;
6863 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6864 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6865 break;}
6866 case 562:
6867 #line 2589 "parse.y"
6868 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6869 &prefix_attributes);
6870 yyvsp[-4].ttype = current_declspecs;
6871 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6872 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6873 break;}
6874 case 563:
6875 #line 2595 "parse.y"
6876 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6877 &prefix_attributes);
6878 yyvsp[-3].ttype = current_declspecs;
6879 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6880 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6881 break;}
6882 case 564:
6883 #line 2604 "parse.y"
6884 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6885 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6886 break;}
6887 case 565:
6888 #line 2607 "parse.y"
6889 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6890 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6891 break;}
6892 case 566:
6893 #line 2613 "parse.y"
6894 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6895 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6896 break;}
6897 case 567:
6898 #line 2616 "parse.y"
6899 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6900 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6901 break;}
6902 case 568:
6903 #line 2619 "parse.y"
6904 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6905 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6906 break;}
6907 case 570:
6908 #line 2626 "parse.y"
6909 { yyval.ttype = NULL_TREE; ;
6910 break;}
6911 case 572:
6912 #line 2636 "parse.y"
6913 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6914 break;}
6915 case 573:
6916 #line 2641 "parse.y"
6917 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
6918 break;}
6919 case 574:
6920 #line 2643 "parse.y"
6921 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
6922 break;}
6923 case 575:
6924 #line 2649 "parse.y"
6925 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6926 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6927 break;}
6928 case 576:
6929 #line 2652 "parse.y"
6930 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6931 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6932 break;}
6933 case 577:
6934 #line 2659 "parse.y"
6936 if (pedantic)
6937 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6938 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6939 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6940 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6942 break;}
6943 case 578:
6944 #line 2670 "parse.y"
6945 { yyval.ttype = NULL_TREE; ;
6946 break;}
6947 case 579:
6948 #line 2672 "parse.y"
6949 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6950 break;}
6951 case 580:
6952 #line 2677 "parse.y"
6953 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE);
6954 yyval.ftype.new_type_flag = 0; ;
6955 break;}
6956 case 581:
6957 #line 2680 "parse.y"
6958 { yyval.ftype.t = hash_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6959 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6960 break;}
6961 case 582:
6962 #line 2689 "parse.y"
6963 { yyval.itype = suspend_momentary (); ;
6964 break;}
6965 case 583:
6966 #line 2694 "parse.y"
6967 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6968 break;}
6969 case 584:
6970 #line 2700 "parse.y"
6971 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6972 break;}
6973 case 585:
6974 #line 2702 "parse.y"
6975 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6976 break;}
6977 case 586:
6978 #line 2704 "parse.y"
6979 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6980 break;}
6981 case 587:
6982 #line 2706 "parse.y"
6983 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6984 break;}
6985 case 589:
6986 #line 2714 "parse.y"
6988 /* Provide support for '(' attributes '*' declarator ')'
6989 etc */
6990 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
6992 break;}
6993 case 590:
6994 #line 2724 "parse.y"
6995 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6996 break;}
6997 case 591:
6998 #line 2726 "parse.y"
6999 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7000 break;}
7001 case 592:
7002 #line 2728 "parse.y"
7003 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7004 break;}
7005 case 593:
7006 #line 2730 "parse.y"
7007 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7008 break;}
7009 case 594:
7010 #line 2732 "parse.y"
7011 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7012 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7014 break;}
7015 case 596:
7016 #line 2740 "parse.y"
7017 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7018 break;}
7019 case 597:
7020 #line 2742 "parse.y"
7021 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7022 break;}
7023 case 598:
7024 #line 2744 "parse.y"
7025 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7026 break;}
7027 case 599:
7028 #line 2746 "parse.y"
7029 { yyval.ttype = yyvsp[-1].ttype; ;
7030 break;}
7031 case 600:
7032 #line 2748 "parse.y"
7033 { push_nested_class (yyvsp[-1].ttype, 3);
7034 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
7035 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
7036 break;}
7037 case 602:
7038 #line 2756 "parse.y"
7040 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7042 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
7043 maybe_note_name_used_in_class (yyvsp[0].ttype, yyval.ttype);
7045 else
7046 yyval.ttype = yyvsp[0].ttype;
7048 break;}
7049 case 603:
7050 #line 2766 "parse.y"
7052 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7053 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7054 else
7055 yyval.ttype = yyvsp[0].ttype;
7056 got_scope = NULL_TREE;
7058 break;}
7059 case 606:
7060 #line 2779 "parse.y"
7061 { yyval.ttype = yyvsp[0].ttype; ;
7062 break;}
7063 case 607:
7064 #line 2784 "parse.y"
7065 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
7066 break;}
7067 case 609:
7068 #line 2793 "parse.y"
7070 /* Provide support for '(' attributes '*' declarator ')'
7071 etc */
7072 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
7074 break;}
7075 case 610:
7076 #line 2802 "parse.y"
7077 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7078 break;}
7079 case 611:
7080 #line 2804 "parse.y"
7081 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7082 break;}
7083 case 612:
7084 #line 2806 "parse.y"
7085 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7086 break;}
7087 case 613:
7088 #line 2808 "parse.y"
7089 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7090 break;}
7091 case 614:
7092 #line 2810 "parse.y"
7093 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7094 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7096 break;}
7097 case 616:
7098 #line 2818 "parse.y"
7099 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7100 break;}
7101 case 617:
7102 #line 2820 "parse.y"
7103 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7104 break;}
7105 case 618:
7106 #line 2822 "parse.y"
7107 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7108 break;}
7109 case 619:
7110 #line 2824 "parse.y"
7111 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7112 break;}
7113 case 620:
7114 #line 2826 "parse.y"
7115 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7116 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7118 break;}
7119 case 622:
7120 #line 2834 "parse.y"
7121 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7122 break;}
7123 case 623:
7124 #line 2836 "parse.y"
7125 { yyval.ttype = yyvsp[-1].ttype; ;
7126 break;}
7127 case 624:
7128 #line 2838 "parse.y"
7129 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7130 break;}
7131 case 625:
7132 #line 2840 "parse.y"
7133 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7134 break;}
7135 case 626:
7136 #line 2842 "parse.y"
7137 { enter_scope_of (yyvsp[0].ttype); ;
7138 break;}
7139 case 627:
7140 #line 2844 "parse.y"
7141 { got_scope = NULL_TREE;
7142 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
7143 enter_scope_of (yyval.ttype);
7145 break;}
7146 case 628:
7147 #line 2852 "parse.y"
7148 { got_scope = NULL_TREE;
7149 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7150 break;}
7151 case 629:
7152 #line 2855 "parse.y"
7153 { got_scope = NULL_TREE;
7154 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7155 break;}
7156 case 630:
7157 #line 2861 "parse.y"
7158 { got_scope = NULL_TREE;
7159 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
7160 break;}
7161 case 631:
7162 #line 2864 "parse.y"
7163 { got_scope = NULL_TREE;
7164 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7165 break;}
7166 case 633:
7167 #line 2871 "parse.y"
7168 { yyval.ttype = yyvsp[0].ttype; ;
7169 break;}
7170 case 634:
7171 #line 2876 "parse.y"
7172 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7173 break;}
7174 case 635:
7175 #line 2878 "parse.y"
7176 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
7177 break;}
7178 case 636:
7179 #line 2880 "parse.y"
7180 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7181 break;}
7182 case 641:
7183 #line 2891 "parse.y"
7184 { yyval.ttype = yyvsp[0].ttype; ;
7185 break;}
7186 case 642:
7187 #line 2893 "parse.y"
7188 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7189 break;}
7190 case 643:
7191 #line 2900 "parse.y"
7193 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7195 yyval.ttype = lastiddecl;
7196 maybe_note_name_used_in_class (yyvsp[-1].ttype, yyval.ttype);
7198 got_scope = yyval.ttype =
7199 complete_type (TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype)));
7201 break;}
7202 case 644:
7203 #line 2910 "parse.y"
7205 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
7206 yyval.ttype = lastiddecl;
7207 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
7209 break;}
7210 case 645:
7211 #line 2916 "parse.y"
7213 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7214 yyval.ttype = lastiddecl;
7215 got_scope = yyval.ttype;
7217 break;}
7218 case 646:
7219 #line 2922 "parse.y"
7220 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
7221 break;}
7222 case 648:
7223 #line 2938 "parse.y"
7224 { yyval.ttype = yyvsp[0].ttype; ;
7225 break;}
7226 case 649:
7227 #line 2943 "parse.y"
7229 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7230 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7231 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7232 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7233 else
7235 yyval.ttype = yyvsp[0].ttype;
7236 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7237 yyval.ttype = TREE_TYPE (yyval.ttype);
7240 break;}
7241 case 650:
7242 #line 2956 "parse.y"
7243 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
7244 break;}
7245 case 651:
7246 #line 2958 "parse.y"
7247 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7248 break;}
7249 case 652:
7250 #line 2960 "parse.y"
7251 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
7252 break;}
7253 case 653:
7254 #line 2965 "parse.y"
7256 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7257 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7259 break;}
7260 case 654:
7261 #line 2970 "parse.y"
7263 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
7264 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
7265 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7266 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
7267 else
7269 yyval.ttype = yyvsp[0].ttype;
7270 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
7271 yyval.ttype = TREE_TYPE (yyval.ttype);
7274 break;}
7275 case 655:
7276 #line 2983 "parse.y"
7277 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
7278 break;}
7279 case 656:
7280 #line 2985 "parse.y"
7281 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7282 break;}
7283 case 657:
7284 #line 2990 "parse.y"
7286 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7287 yyvsp[-1].ttype = lastiddecl;
7289 /* Retrieve the type for the identifier, which might involve
7290 some computation. */
7291 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
7293 if (yyval.ttype == error_mark_node)
7294 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
7296 break;}
7297 case 658:
7298 #line 3002 "parse.y"
7300 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
7301 yyval.ttype = lastiddecl;
7302 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
7304 break;}
7305 case 659:
7306 #line 3008 "parse.y"
7307 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
7308 break;}
7309 case 662:
7310 #line 3012 "parse.y"
7312 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
7313 yyval.ttype = lastiddecl;
7314 got_scope = yyval.ttype;
7316 break;}
7317 case 663:
7318 #line 3021 "parse.y"
7319 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7320 break;}
7321 case 664:
7322 #line 3026 "parse.y"
7324 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
7325 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
7326 else
7327 yyval.ttype = yyvsp[0].ttype;
7328 got_scope = NULL_TREE;
7330 break;}
7331 case 666:
7332 #line 3035 "parse.y"
7333 { yyval.ttype = yyvsp[0].ttype; ;
7334 break;}
7335 case 667:
7336 #line 3040 "parse.y"
7337 { got_scope = NULL_TREE; ;
7338 break;}
7339 case 668:
7340 #line 3042 "parse.y"
7341 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
7342 break;}
7343 case 669:
7344 #line 3049 "parse.y"
7345 { got_scope = void_type_node; ;
7346 break;}
7347 case 670:
7348 #line 3055 "parse.y"
7349 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7350 break;}
7351 case 671:
7352 #line 3057 "parse.y"
7353 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
7354 break;}
7355 case 672:
7356 #line 3059 "parse.y"
7357 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7358 break;}
7359 case 673:
7360 #line 3061 "parse.y"
7361 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
7362 break;}
7363 case 674:
7364 #line 3063 "parse.y"
7365 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7366 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7368 break;}
7369 case 675:
7370 #line 3067 "parse.y"
7371 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7372 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7374 break;}
7375 case 677:
7376 #line 3076 "parse.y"
7377 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7378 break;}
7379 case 678:
7380 #line 3078 "parse.y"
7381 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7382 break;}
7383 case 680:
7384 #line 3084 "parse.y"
7386 /* Provide support for '(' attributes '*' declarator ')'
7387 etc */
7388 yyval.ttype = decl_tree_cons (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE);
7390 break;}
7391 case 681:
7392 #line 3094 "parse.y"
7393 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7394 break;}
7395 case 682:
7396 #line 3096 "parse.y"
7397 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7398 break;}
7399 case 683:
7400 #line 3098 "parse.y"
7401 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7402 break;}
7403 case 684:
7404 #line 3100 "parse.y"
7405 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7406 break;}
7407 case 685:
7408 #line 3102 "parse.y"
7409 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7410 break;}
7411 case 686:
7412 #line 3104 "parse.y"
7413 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7414 break;}
7415 case 687:
7416 #line 3106 "parse.y"
7417 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7418 break;}
7419 case 688:
7420 #line 3108 "parse.y"
7421 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7422 break;}
7423 case 689:
7424 #line 3110 "parse.y"
7425 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7426 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7428 break;}
7429 case 690:
7430 #line 3114 "parse.y"
7431 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7432 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7434 break;}
7435 case 692:
7436 #line 3123 "parse.y"
7437 { yyval.ttype = yyvsp[-1].ttype; ;
7438 break;}
7439 case 693:
7440 #line 3126 "parse.y"
7441 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7442 break;}
7443 case 694:
7444 #line 3128 "parse.y"
7445 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7446 break;}
7447 case 695:
7448 #line 3130 "parse.y"
7449 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7450 break;}
7451 case 696:
7452 #line 3132 "parse.y"
7453 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7454 break;}
7455 case 697:
7456 #line 3134 "parse.y"
7457 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7458 break;}
7459 case 698:
7460 #line 3136 "parse.y"
7461 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7462 break;}
7463 case 699:
7464 #line 3138 "parse.y"
7465 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7466 break;}
7467 case 700:
7468 #line 3140 "parse.y"
7469 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7470 break;}
7471 case 701:
7472 #line 3142 "parse.y"
7473 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7474 break;}
7475 case 708:
7476 #line 3165 "parse.y"
7477 { if (pedantic)
7478 pedwarn ("ANSI C++ forbids label declarations"); ;
7479 break;}
7480 case 711:
7481 #line 3176 "parse.y"
7483 while (yyvsp[-1].ttype)
7485 finish_label_decl (TREE_VALUE (yyvsp[-1].ttype));
7486 yyvsp[-1].ttype = TREE_CHAIN (yyvsp[-1].ttype);
7489 break;}
7490 case 712:
7491 #line 3189 "parse.y"
7493 break;}
7494 case 714:
7495 #line 3195 "parse.y"
7496 { yyval.ttype = begin_compound_stmt (0); ;
7497 break;}
7498 case 715:
7499 #line 3197 "parse.y"
7500 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7501 break;}
7502 case 716:
7503 #line 3202 "parse.y"
7505 yyval.ttype = begin_if_stmt ();
7506 cond_stmt_keyword = "if";
7508 break;}
7509 case 717:
7510 #line 3207 "parse.y"
7511 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7512 break;}
7513 case 718:
7514 #line 3209 "parse.y"
7515 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7516 break;}
7517 case 720:
7518 #line 3214 "parse.y"
7519 { yyval.ttype = begin_compound_stmt (0); ;
7520 break;}
7521 case 721:
7522 #line 3216 "parse.y"
7523 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7524 break;}
7525 case 722:
7526 #line 3221 "parse.y"
7528 break;}
7529 case 724:
7530 #line 3227 "parse.y"
7531 { finish_stmt (); ;
7532 break;}
7533 case 725:
7534 #line 3229 "parse.y"
7535 { finish_expr_stmt (yyvsp[-1].ttype); ;
7536 break;}
7537 case 726:
7538 #line 3231 "parse.y"
7539 { begin_else_clause (); ;
7540 break;}
7541 case 727:
7542 #line 3233 "parse.y"
7544 finish_else_clause (yyvsp[-3].ttype);
7545 finish_if_stmt ();
7547 break;}
7548 case 728:
7549 #line 3238 "parse.y"
7550 { finish_if_stmt (); ;
7551 break;}
7552 case 729:
7553 #line 3240 "parse.y"
7555 yyval.ttype = begin_while_stmt ();
7556 cond_stmt_keyword = "while";
7558 break;}
7559 case 730:
7560 #line 3245 "parse.y"
7561 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7562 break;}
7563 case 731:
7564 #line 3247 "parse.y"
7565 { finish_while_stmt (yyvsp[-3].ttype); ;
7566 break;}
7567 case 732:
7568 #line 3249 "parse.y"
7569 { yyval.ttype = begin_do_stmt (); ;
7570 break;}
7571 case 733:
7572 #line 3251 "parse.y"
7574 finish_do_body (yyvsp[-2].ttype);
7575 cond_stmt_keyword = "do";
7577 break;}
7578 case 734:
7579 #line 3256 "parse.y"
7580 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7581 break;}
7582 case 735:
7583 #line 3258 "parse.y"
7584 { yyval.ttype = begin_for_stmt (); ;
7585 break;}
7586 case 736:
7587 #line 3260 "parse.y"
7588 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7589 break;}
7590 case 737:
7591 #line 3262 "parse.y"
7592 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7593 break;}
7594 case 738:
7595 #line 3264 "parse.y"
7596 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7597 break;}
7598 case 739:
7599 #line 3266 "parse.y"
7600 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7601 break;}
7602 case 740:
7603 #line 3268 "parse.y"
7604 { yyval.ttype = begin_switch_stmt (); ;
7605 break;}
7606 case 741:
7607 #line 3270 "parse.y"
7608 { finish_switch_cond (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
7609 break;}
7610 case 742:
7611 #line 3272 "parse.y"
7612 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-5].ttype); ;
7613 break;}
7614 case 743:
7615 #line 3274 "parse.y"
7616 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7617 break;}
7618 case 745:
7619 #line 3277 "parse.y"
7620 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7621 break;}
7622 case 747:
7623 #line 3280 "parse.y"
7624 { finish_case_label (NULL_TREE, NULL_TREE); ;
7625 break;}
7626 case 749:
7627 #line 3283 "parse.y"
7628 { finish_break_stmt (); ;
7629 break;}
7630 case 750:
7631 #line 3285 "parse.y"
7632 { finish_continue_stmt (); ;
7633 break;}
7634 case 751:
7635 #line 3287 "parse.y"
7636 { finish_return_stmt (NULL_TREE); ;
7637 break;}
7638 case 752:
7639 #line 3289 "parse.y"
7640 { finish_return_stmt (yyvsp[-1].ttype); ;
7641 break;}
7642 case 753:
7643 #line 3291 "parse.y"
7645 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7646 NULL_TREE);
7648 break;}
7649 case 754:
7650 #line 3297 "parse.y"
7652 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7653 NULL_TREE);
7655 break;}
7656 case 755:
7657 #line 3303 "parse.y"
7658 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7659 break;}
7660 case 756:
7661 #line 3307 "parse.y"
7662 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7663 break;}
7664 case 757:
7665 #line 3309 "parse.y"
7667 if (pedantic)
7668 pedwarn ("ANSI C++ forbids computed gotos");
7669 finish_goto_stmt (yyvsp[-1].ttype);
7671 break;}
7672 case 758:
7673 #line 3315 "parse.y"
7674 { finish_goto_stmt (yyvsp[-1].ttype); ;
7675 break;}
7676 case 759:
7677 #line 3317 "parse.y"
7678 { finish_stmt (); ;
7679 break;}
7680 case 760:
7681 #line 3319 "parse.y"
7682 { error ("label must be followed by statement");
7683 yyungetc ('}', 0);
7684 finish_stmt (); ;
7685 break;}
7686 case 761:
7687 #line 3323 "parse.y"
7688 { finish_stmt (); ;
7689 break;}
7690 case 764:
7691 #line 3327 "parse.y"
7692 { do_local_using_decl (yyvsp[0].ttype); ;
7693 break;}
7694 case 766:
7695 #line 3333 "parse.y"
7696 { yyval.ttype = begin_function_try_block (); ;
7697 break;}
7698 case 767:
7699 #line 3335 "parse.y"
7700 { finish_function_try_block (yyvsp[-2].ttype); ;
7701 break;}
7702 case 768:
7703 #line 3337 "parse.y"
7705 finish_function_handler_sequence (yyvsp[-4].ttype);
7706 yyval.itype = yyvsp[-3].itype;
7708 break;}
7709 case 769:
7710 #line 3345 "parse.y"
7711 { yyval.ttype = begin_try_block (); ;
7712 break;}
7713 case 770:
7714 #line 3347 "parse.y"
7715 { finish_try_block (yyvsp[-1].ttype); ;
7716 break;}
7717 case 771:
7718 #line 3349 "parse.y"
7719 { finish_handler_sequence (yyvsp[-3].ttype); ;
7720 break;}
7721 case 774:
7722 #line 3359 "parse.y"
7723 { yyval.ttype = begin_handler(); ;
7724 break;}
7725 case 775:
7726 #line 3361 "parse.y"
7727 { yyval.ttype = finish_handler_parms (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7728 break;}
7729 case 776:
7730 #line 3363 "parse.y"
7731 { finish_handler (yyvsp[-1].ttype, yyvsp[-3].ttype); ;
7732 break;}
7733 case 779:
7734 #line 3373 "parse.y"
7735 { yyval.ttype = NULL_TREE; ;
7736 break;}
7737 case 780:
7738 #line 3389 "parse.y"
7740 check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7741 yyval.ttype = start_handler_parms (TREE_PURPOSE (yyvsp[-1].ftype.t),
7742 TREE_VALUE (yyvsp[-1].ftype.t));
7744 break;}
7745 case 781:
7746 #line 3398 "parse.y"
7747 { finish_label_stmt (yyvsp[-1].ttype); ;
7748 break;}
7749 case 782:
7750 #line 3400 "parse.y"
7751 { finish_label_stmt (yyvsp[-1].ttype); ;
7752 break;}
7753 case 783:
7754 #line 3402 "parse.y"
7755 { finish_label_stmt (yyvsp[-1].ttype); ;
7756 break;}
7757 case 784:
7758 #line 3404 "parse.y"
7759 { finish_label_stmt (yyvsp[-1].ttype); ;
7760 break;}
7761 case 785:
7762 #line 3409 "parse.y"
7763 { finish_expr_stmt (yyvsp[-1].ttype); ;
7764 break;}
7765 case 787:
7766 #line 3412 "parse.y"
7767 { if (pedantic)
7768 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7770 break;}
7771 case 788:
7772 #line 3421 "parse.y"
7773 { emit_line_note (input_filename, lineno);
7774 yyval.ttype = NULL_TREE; ;
7775 break;}
7776 case 789:
7777 #line 3424 "parse.y"
7778 { emit_line_note (input_filename, lineno); ;
7779 break;}
7780 case 790:
7781 #line 3429 "parse.y"
7782 { yyval.ttype = NULL_TREE; ;
7783 break;}
7784 case 792:
7785 #line 3432 "parse.y"
7786 { yyval.ttype = NULL_TREE; ;
7787 break;}
7788 case 793:
7789 #line 3439 "parse.y"
7790 { yyval.ttype = NULL_TREE; ;
7791 break;}
7792 case 796:
7793 #line 3446 "parse.y"
7794 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7795 break;}
7796 case 797:
7797 #line 3451 "parse.y"
7798 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7799 break;}
7800 case 798:
7801 #line 3456 "parse.y"
7802 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7803 break;}
7804 case 799:
7805 #line 3458 "parse.y"
7806 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7807 break;}
7808 case 800:
7809 #line 3469 "parse.y"
7811 yyval.ttype = empty_parms();
7813 break;}
7814 case 802:
7815 #line 3474 "parse.y"
7816 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7817 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7818 break;}
7819 case 803:
7820 #line 3482 "parse.y"
7821 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7822 break;}
7823 case 804:
7824 #line 3484 "parse.y"
7825 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7826 break;}
7827 case 805:
7828 #line 3487 "parse.y"
7829 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7830 break;}
7831 case 806:
7832 #line 3489 "parse.y"
7833 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7834 yyvsp[-1].ftype.t), 1); ;
7835 break;}
7836 case 807:
7837 #line 3492 "parse.y"
7838 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7839 break;}
7840 case 808:
7841 #line 3494 "parse.y"
7843 /* This helps us recover from really nasty
7844 parse errors, for example, a missing right
7845 parenthesis. */
7846 yyerror ("possibly missing ')'");
7847 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7848 yyungetc (':', 0);
7849 yychar = ')';
7851 break;}
7852 case 809:
7853 #line 3504 "parse.y"
7855 /* This helps us recover from really nasty
7856 parse errors, for example, a missing right
7857 parenthesis. */
7858 yyerror ("possibly missing ')'");
7859 yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7860 yyvsp[-1].ftype.t), 0);
7861 yyungetc (':', 0);
7862 yychar = ')';
7864 break;}
7865 case 810:
7866 #line 3519 "parse.y"
7867 { maybe_snarf_defarg (); ;
7868 break;}
7869 case 811:
7870 #line 3521 "parse.y"
7871 { yyval.ttype = yyvsp[0].ttype; ;
7872 break;}
7873 case 814:
7874 #line 3532 "parse.y"
7875 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7876 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7877 break;}
7878 case 815:
7879 #line 3535 "parse.y"
7880 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7881 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7882 break;}
7883 case 816:
7884 #line 3538 "parse.y"
7885 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7886 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7887 break;}
7888 case 817:
7889 #line 3541 "parse.y"
7890 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7891 break;}
7892 case 818:
7893 #line 3543 "parse.y"
7894 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7895 break;}
7896 case 820:
7897 #line 3549 "parse.y"
7898 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7899 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7900 break;}
7901 case 821:
7902 #line 3559 "parse.y"
7903 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7904 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7905 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7906 break;}
7907 case 822:
7908 #line 3563 "parse.y"
7909 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7910 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7911 break;}
7912 case 823:
7913 #line 3566 "parse.y"
7914 { yyval.ftype.t = build_tree_list (build_decl_list (NULL_TREE, yyvsp[-1].ftype.t),
7915 yyvsp[0].ttype);
7916 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7917 break;}
7918 case 824:
7919 #line 3570 "parse.y"
7920 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7921 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7922 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7923 break;}
7924 case 825:
7925 #line 3574 "parse.y"
7926 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7927 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7928 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7929 break;}
7930 case 826:
7931 #line 3578 "parse.y"
7932 { tree specs = strip_attrs (yyvsp[-1].ttype);
7933 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7934 yyval.ftype.new_type_flag = 0; ;
7935 break;}
7936 case 827:
7937 #line 3585 "parse.y"
7938 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7939 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7940 break;}
7941 case 828:
7942 #line 3588 "parse.y"
7943 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7944 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7945 break;}
7946 case 831:
7947 #line 3599 "parse.y"
7948 { see_typename (); ;
7949 break;}
7950 case 832:
7951 #line 3604 "parse.y"
7953 error ("type specifier omitted for parameter");
7954 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7956 break;}
7957 case 833:
7958 #line 3609 "parse.y"
7960 error ("type specifier omitted for parameter");
7961 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7962 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7963 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7964 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7965 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7967 break;}
7968 case 834:
7969 #line 3621 "parse.y"
7970 { yyval.ttype = NULL_TREE; ;
7971 break;}
7972 case 835:
7973 #line 3623 "parse.y"
7974 { yyval.ttype = yyvsp[-1].ttype; ;
7975 break;}
7976 case 836:
7977 #line 3625 "parse.y"
7978 { yyval.ttype = empty_except_spec; ;
7979 break;}
7980 case 837:
7981 #line 3630 "parse.y"
7983 check_for_new_type ("exception specifier", yyvsp[0].ftype);
7984 yyval.ttype = groktypename (yyvsp[0].ftype.t);
7986 break;}
7987 case 838:
7988 #line 3638 "parse.y"
7989 { yyval.ttype = add_exception_specifier (NULL_TREE, yyvsp[0].ttype, 1); ;
7990 break;}
7991 case 839:
7992 #line 3640 "parse.y"
7993 { yyval.ttype = add_exception_specifier (yyvsp[-2].ttype, yyvsp[0].ttype, 1); ;
7994 break;}
7995 case 840:
7996 #line 3645 "parse.y"
7997 { yyval.ttype = NULL_TREE; ;
7998 break;}
7999 case 841:
8000 #line 3647 "parse.y"
8001 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8002 break;}
8003 case 842:
8004 #line 3649 "parse.y"
8005 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
8006 break;}
8007 case 843:
8008 #line 3651 "parse.y"
8009 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
8010 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
8012 break;}
8013 case 844:
8014 #line 3658 "parse.y"
8015 { got_scope = NULL_TREE; ;
8016 break;}
8017 case 845:
8018 #line 3663 "parse.y"
8019 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
8020 break;}
8021 case 846:
8022 #line 3665 "parse.y"
8023 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
8024 break;}
8025 case 847:
8026 #line 3667 "parse.y"
8027 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
8028 break;}
8029 case 848:
8030 #line 3669 "parse.y"
8031 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
8032 break;}
8033 case 849:
8034 #line 3671 "parse.y"
8035 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
8036 break;}
8037 case 850:
8038 #line 3673 "parse.y"
8039 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
8040 break;}
8041 case 851:
8042 #line 3675 "parse.y"
8043 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
8044 break;}
8045 case 852:
8046 #line 3677 "parse.y"
8047 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
8048 break;}
8049 case 853:
8050 #line 3679 "parse.y"
8051 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
8052 break;}
8053 case 854:
8054 #line 3681 "parse.y"
8055 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
8056 break;}
8057 case 855:
8058 #line 3683 "parse.y"
8059 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8060 break;}
8061 case 856:
8062 #line 3685 "parse.y"
8063 { yyval.ttype = ansi_opname[LT_EXPR]; ;
8064 break;}
8065 case 857:
8066 #line 3687 "parse.y"
8067 { yyval.ttype = ansi_opname[GT_EXPR]; ;
8068 break;}
8069 case 858:
8070 #line 3689 "parse.y"
8071 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8072 break;}
8073 case 859:
8074 #line 3691 "parse.y"
8075 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
8076 break;}
8077 case 860:
8078 #line 3693 "parse.y"
8079 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
8080 break;}
8081 case 861:
8082 #line 3695 "parse.y"
8083 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8084 break;}
8085 case 862:
8086 #line 3697 "parse.y"
8087 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8088 break;}
8089 case 863:
8090 #line 3699 "parse.y"
8091 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
8092 break;}
8093 case 864:
8094 #line 3701 "parse.y"
8095 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
8096 break;}
8097 case 865:
8098 #line 3703 "parse.y"
8099 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
8100 break;}
8101 case 866:
8102 #line 3705 "parse.y"
8103 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
8104 break;}
8105 case 867:
8106 #line 3707 "parse.y"
8107 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
8108 break;}
8109 case 868:
8110 #line 3709 "parse.y"
8111 { yyval.ttype = ansi_opname[COND_EXPR]; ;
8112 break;}
8113 case 869:
8114 #line 3711 "parse.y"
8115 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
8116 break;}
8117 case 870:
8118 #line 3713 "parse.y"
8119 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
8120 break;}
8121 case 871:
8122 #line 3715 "parse.y"
8123 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
8124 break;}
8125 case 872:
8126 #line 3717 "parse.y"
8127 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
8128 break;}
8129 case 873:
8130 #line 3719 "parse.y"
8131 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
8132 break;}
8133 case 874:
8134 #line 3721 "parse.y"
8135 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
8136 break;}
8137 case 875:
8138 #line 3723 "parse.y"
8139 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
8140 break;}
8141 case 876:
8142 #line 3725 "parse.y"
8143 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
8144 break;}
8145 case 877:
8146 #line 3727 "parse.y"
8147 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
8148 break;}
8149 case 878:
8150 #line 3730 "parse.y"
8151 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
8152 break;}
8153 case 879:
8154 #line 3732 "parse.y"
8155 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
8156 break;}
8158 /* the action file gets copied in in place of this dollarsign */
8159 #line 542 "/usr/lib/bison.simple"
8161 yyvsp -= yylen;
8162 yyssp -= yylen;
8163 #ifdef YYLSP_NEEDED
8164 yylsp -= yylen;
8165 #endif
8167 #if YYDEBUG != 0
8168 if (yydebug)
8170 short *ssp1 = yyss - 1;
8171 fprintf (stderr, "state stack now");
8172 while (ssp1 != yyssp)
8173 fprintf (stderr, " %d", *++ssp1);
8174 fprintf (stderr, "\n");
8176 #endif
8178 *++yyvsp = yyval;
8180 #ifdef YYLSP_NEEDED
8181 yylsp++;
8182 if (yylen == 0)
8184 yylsp->first_line = yylloc.first_line;
8185 yylsp->first_column = yylloc.first_column;
8186 yylsp->last_line = (yylsp-1)->last_line;
8187 yylsp->last_column = (yylsp-1)->last_column;
8188 yylsp->text = 0;
8190 else
8192 yylsp->last_line = (yylsp+yylen-1)->last_line;
8193 yylsp->last_column = (yylsp+yylen-1)->last_column;
8195 #endif
8197 /* Now "shift" the result of the reduction.
8198 Determine what state that goes to,
8199 based on the state we popped back to
8200 and the rule number reduced by. */
8202 yyn = yyr1[yyn];
8204 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
8205 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
8206 yystate = yytable[yystate];
8207 else
8208 yystate = yydefgoto[yyn - YYNTBASE];
8210 goto yynewstate;
8212 yyerrlab: /* here on detecting error */
8214 if (! yyerrstatus)
8215 /* If not already recovering from an error, report this error. */
8217 ++yynerrs;
8219 #ifdef YYERROR_VERBOSE
8220 yyn = yypact[yystate];
8222 if (yyn > YYFLAG && yyn < YYLAST)
8224 int size = 0;
8225 char *msg;
8226 int x, count;
8228 count = 0;
8229 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
8230 for (x = (yyn < 0 ? -yyn : 0);
8231 x < (sizeof(yytname) / sizeof(char *)); x++)
8232 if (yycheck[x + yyn] == x)
8233 size += strlen(yytname[x]) + 15, count++;
8234 msg = (char *) malloc(size + 15);
8235 if (msg != 0)
8237 strcpy(msg, "parse error");
8239 if (count < 5)
8241 count = 0;
8242 for (x = (yyn < 0 ? -yyn : 0);
8243 x < (sizeof(yytname) / sizeof(char *)); x++)
8244 if (yycheck[x + yyn] == x)
8246 strcat(msg, count == 0 ? ", expecting `" : " or `");
8247 strcat(msg, yytname[x]);
8248 strcat(msg, "'");
8249 count++;
8252 yyerror(msg);
8253 free(msg);
8255 else
8256 yyerror ("parse error; also virtual memory exceeded");
8258 else
8259 #endif /* YYERROR_VERBOSE */
8260 yyerror("parse error");
8263 goto yyerrlab1;
8264 yyerrlab1: /* here on error raised explicitly by an action */
8266 if (yyerrstatus == 3)
8268 /* if just tried and failed to reuse lookahead token after an error, discard it. */
8270 /* return failure if at end of input */
8271 if (yychar == YYEOF)
8272 YYABORT;
8274 #if YYDEBUG != 0
8275 if (yydebug)
8276 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
8277 #endif
8279 yychar = YYEMPTY;
8282 /* Else will try to reuse lookahead token
8283 after shifting the error token. */
8285 yyerrstatus = 3; /* Each real token shifted decrements this */
8287 goto yyerrhandle;
8289 yyerrdefault: /* current state does not do anything special for the error token. */
8291 #if 0
8292 /* This is wrong; only states that explicitly want error tokens
8293 should shift them. */
8294 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
8295 if (yyn) goto yydefault;
8296 #endif
8298 yyerrpop: /* pop the current state because it cannot handle the error token */
8300 if (yyssp == yyss) YYABORT;
8301 yyvsp--;
8302 yystate = *--yyssp;
8303 #ifdef YYLSP_NEEDED
8304 yylsp--;
8305 #endif
8307 #if YYDEBUG != 0
8308 if (yydebug)
8310 short *ssp1 = yyss - 1;
8311 fprintf (stderr, "Error: state stack now");
8312 while (ssp1 != yyssp)
8313 fprintf (stderr, " %d", *++ssp1);
8314 fprintf (stderr, "\n");
8316 #endif
8318 yyerrhandle:
8320 yyn = yypact[yystate];
8321 if (yyn == YYFLAG)
8322 goto yyerrdefault;
8324 yyn += YYTERROR;
8325 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
8326 goto yyerrdefault;
8328 yyn = yytable[yyn];
8329 if (yyn < 0)
8331 if (yyn == YYFLAG)
8332 goto yyerrpop;
8333 yyn = -yyn;
8334 goto yyreduce;
8336 else if (yyn == 0)
8337 goto yyerrpop;
8339 if (yyn == YYFINAL)
8340 YYACCEPT;
8342 #if YYDEBUG != 0
8343 if (yydebug)
8344 fprintf(stderr, "Shifting error token, ");
8345 #endif
8347 *++yyvsp = yylval;
8348 #ifdef YYLSP_NEEDED
8349 *++yylsp = yylloc;
8350 #endif
8352 yystate = yyn;
8353 goto yynewstate;
8355 yyacceptlab:
8356 /* YYACCEPT comes here. */
8357 if (yyfree_stacks)
8359 free (yyss);
8360 free (yyvs);
8361 #ifdef YYLSP_NEEDED
8362 free (yyls);
8363 #endif
8365 return 0;
8367 yyabortlab:
8368 /* YYABORT comes here. */
8369 if (yyfree_stacks)
8371 free (yyss);
8372 free (yyvs);
8373 #ifdef YYLSP_NEEDED
8374 free (yyls);
8375 #endif
8377 return 1;
8379 #line 3735 "parse.y"
8382 #ifdef SPEW_DEBUG
8383 const char *
8384 debug_yytranslate (value)
8385 int value;
8387 return yytname[YYTRANSLATE (value)];
8390 #endif