2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.27
6 #define YYBISON 1 /* Identify Bison output. */
14 #define CV_QUALIFIER 263
30 #define RETURN_KEYWORD 279
32 #define ASM_KEYWORD 281
51 #define TYPENAME_KEYWORD 300
53 #define LEFT_RIGHT 302
56 #define DYNAMIC_CAST 305
57 #define STATIC_CAST 306
58 #define REINTERPRET_CAST 307
59 #define CONST_CAST 308
70 #define ARITHCOMPARE 319
73 #define POINTSAT_STAR 322
77 #define MINUSMINUS 326
78 #define HYPERUNARY 327
82 #define EXTERN_LANG_STRING 331
84 #define PRE_PARSED_CLASS_DECL 333
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
96 /* Cause the `yydebug' variable to be defined. */
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. */
148 || current_class_type
!= NULL
)
149 parms
= void_list_node
;
162 flagged_type_tree ftype
;
163 struct pending_inline
*pi
;
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
));
191 parse_decl (declarator
, specs_attrs
, attributes
, initialized
, decl
)
200 split_specs_attrs (specs_attrs
, ¤t_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"),
209 used_extern_spec
= 1;
211 sm
= suspend_momentary ();
212 *decl
= start_decl (declarator
, current_declspecs
, initialized
,
213 attributes
, prefix_attributes
);
220 ggc_add_tree_root (¤t_declspecs
, 1);
221 ggc_add_tree_root (&prefix_attributes
, 1);
222 ggc_add_tree_root (¤t_aggr
, 1);
223 ggc_add_tree_root (¤t_enum_type
, 1);
236 #define YYFLAG -32768
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,
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,
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
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
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,
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,
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)
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
3951 #define YYSTACK_USE_ALLOCA
3952 #else /* alloca not defined */
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
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. */
3969 #else /* not MSDOS, or __TURBOC__ */
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> */
3975 #define YYSTACK_USE_ALLOCA
3976 #else /* not MSDOS, or __TURBOC__, or _AIX */
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
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
3994 #define YYSTACK_ALLOC malloc
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)
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) \
4016 if (yychar == YYEMPTY && yylen == 1) \
4017 { yychar = (token), yylval = (value); \
4018 yychar1 = YYTRANSLATE (yychar); \
4023 { yyerror ("syntax error: cannot back up"); YYERROR; } \
4027 #define YYERRCODE 256
4030 #define YYLEX yylex()
4036 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
4038 #define YYLEX yylex(&yylval, &yylloc)
4040 #else /* not YYLSP_NEEDED */
4042 #define YYLEX yylex(&yylval, YYLEX_PARAM)
4044 #define YYLEX yylex(&yylval)
4046 #endif /* not YYLSP_NEEDED */
4049 /* If nonreentrant, generate the variables here */
4053 int yychar
; /* the lookahead symbol */
4054 YYSTYPE yylval
; /* the semantic value of the */
4055 /* lookahead symbol */
4058 YYLTYPE yylloc
; /* location data for the lookahead */
4062 int yynerrs
; /* number of parse errors so far */
4063 #endif /* not YYPURE */
4066 int yydebug
; /* nonzero means print parse trace */
4067 /* Since this is uninitialized, it does not stop multiple parsers
4071 /* YYINITDEPTH indicates the initial size of the parser's stacks */
4074 #define YYINITDEPTH 200
4077 /* YYMAXDEPTH is the maximum size the stacks can grow to
4078 (effective only if the built-in stack extension method is used). */
4085 #define YYMAXDEPTH 10000
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++ */
4098 /* This is the most reliable way to avoid incompatibilities
4099 in available built-in functions on various systems. */
4101 __yy_memcpy (to
, from
, count
)
4106 register char *f
= from
;
4107 register char *t
= to
;
4108 register int i
= count
;
4114 #else /* __cplusplus */
4116 /* This is the most reliable way to avoid incompatibilities
4117 in available built-in functions on various systems. */
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
;
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
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. */
4155 #ifdef YYPARSE_PARAM
4156 int yyparse (void *);
4163 yyparse(YYPARSE_PARAM_ARG
)
4166 register int yystate
;
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 */
4180 YYLTYPE yylsa
[YYINITDEPTH
]; /* the location stack */
4181 YYLTYPE
*yyls
= yylsa
;
4184 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
4186 #define YYPOPSTACK (yyvsp--, yyssp--)
4189 int yystacksize
= YYINITDEPTH
;
4190 int yyfree_stacks
= 0;
4201 YYSTYPE yyval
; /* the variable used to return */
4202 /* semantic values from the action */
4209 fprintf(stderr
, "Starting parse\n");
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. */
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. */
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
;
4242 YYLTYPE
*yyls1
= yyls
;
4245 /* Get the current used size of the three stacks, in elements. */
4246 int size
= yyssp
- yyss
+ 1;
4249 /* Each stack pointer address is followed by the size of
4250 the data in use in that stack, in bytes. */
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
),
4260 yyoverflow("parser stack overflow",
4261 &yyss1
, size
* sizeof (*yyssp
),
4262 &yyvs1
, size
* sizeof (*yyvsp
),
4266 yyss
= yyss1
; yyvs
= yyvs1
;
4270 #else /* no yyoverflow */
4271 /* Extend the stack our own way. */
4272 if (yystacksize
>= YYMAXDEPTH
)
4274 yyerror("parser stack overflow");
4286 if (yystacksize
> YYMAXDEPTH
)
4287 yystacksize
= YYMAXDEPTH
;
4288 #ifndef YYSTACK_USE_ALLOCA
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
));
4298 yyls
= (YYLTYPE
*) YYSTACK_ALLOC (yystacksize
* sizeof (*yylsp
));
4299 __yy_memcpy ((char *)yyls
, (char *)yyls1
,
4300 size
* (unsigned int) sizeof (*yylsp
));
4302 #endif /* no yyoverflow */
4304 yyssp
= yyss
+ size
- 1;
4305 yyvsp
= yyvs
+ size
- 1;
4307 yylsp
= yyls
+ size
- 1;
4312 fprintf(stderr
, "Stack size increased to %d\n", yystacksize
);
4315 if (yyssp
>= yyss
+ yystacksize
- 1)
4321 fprintf(stderr
, "Entering state %d\n", yystate
);
4327 /* Do appropriate processing given the current state. */
4328 /* Read a lookahead token if we need one and don't already have one. */
4331 /* First try to decide what to do without reference to lookahead token. */
4333 yyn
= yypact
[yystate
];
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
)
4346 fprintf(stderr
, "Reading a token: ");
4351 /* Convert token to internal form (in yychar1) for indexing tables with */
4353 if (yychar
<= 0) /* This means end of input. */
4356 yychar
= YYEOF
; /* Don't call YYLEX any more */
4360 fprintf(stderr
, "Now at end of input.\n");
4365 yychar1
= YYTRANSLATE(yychar
);
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. */
4374 YYPRINT (stderr
, yychar
, yylval
);
4376 fprintf (stderr
, ")\n");
4382 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != yychar1
)
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. */
4407 /* Shift the lookahead token. */
4411 fprintf(stderr
, "Shifting token %d (%s), ", yychar
, yytname
[yychar1
]);
4414 /* Discard the token being shifted unless it is eof. */
4415 if (yychar
!= YYEOF
)
4423 /* count tokens shifted since error; after three, turn off error status. */
4424 if (yyerrstatus
) yyerrstatus
--;
4429 /* Do the default action for the current state. */
4432 yyn
= yydefact
[yystate
];
4436 /* Do a reduction. yyn is the number of a rule to reduce with. */
4440 yyval
= yyvsp
[1-yylen
]; /* implement default value of the action */
4447 fprintf (stderr
, "Reducing via rule %d (line %d), ",
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
]]);
4462 { finish_translation_unit (); ;
4466 { yyval
.ttype
= NULL_TREE
; ;
4470 { yyval
.ttype
= NULL_TREE
; ;
4474 { yyval
.ttype
= NULL_TREE
; ;
4478 { have_extern_spec
= 1;
4479 used_extern_spec
= 0;
4480 yyval
.ttype
= NULL_TREE
; ;
4484 { have_extern_spec
= 0; ;
4488 { yyval
.itype
= pedantic
;
4493 { if (pending_lang_change
) do_pending_lang_change(); ;
4497 { if (! toplevel_bindings_p ())
4498 pop_everything (); ;
4502 { if (pending_inlines
) do_pending_inlines (); ;
4506 { if (pending_inlines
) do_pending_inlines (); ;
4510 { if (pending_inlines
) do_pending_inlines (); ;
4514 { if (TREE_CHAIN (yyvsp
[-2].ttype
)) yyvsp
[-2].ttype
= combine_strings (yyvsp
[-2].ttype
);
4515 assemble_asm (yyvsp
[-2].ttype
); ;
4519 { pop_lang_context (); ;
4523 { if (pending_inlines
) do_pending_inlines ();
4524 pop_lang_context (); ;
4528 { if (pending_inlines
) do_pending_inlines ();
4529 pop_lang_context (); ;
4533 { push_namespace (yyvsp
[-1].ttype
); ;
4537 { pop_namespace (); ;
4541 { push_namespace (NULL_TREE
); ;
4545 { pop_namespace (); ;
4549 { do_toplevel_using_decl (yyvsp
[-1].ttype
); ;
4553 { pedantic
= yyvsp
[-1].itype
; ;
4557 { begin_only_namespace_names (); ;
4562 end_only_namespace_names ();
4564 yyvsp
[-1].ttype
= lastiddecl
;
4565 do_namespace_alias (yyvsp
[-4].ttype
, yyvsp
[-1].ttype
);
4570 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4574 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4578 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4582 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4586 { yyval
.ttype
= build_parse_node (SCOPE_REF
, global_namespace
, yyvsp
[0].ttype
); ;
4590 { yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4594 { begin_only_namespace_names (); ;
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
);
4611 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4612 yyval
.ttype
= lastiddecl
;
4613 got_scope
= yyval
.ttype
;
4619 yyval
.ttype
= yyvsp
[-1].ttype
;
4620 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
4621 yyval
.ttype
= lastiddecl
;
4622 got_scope
= yyval
.ttype
;
4627 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4631 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4635 { push_lang_context (yyvsp
[0].ttype
); ;
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
); ;
4645 { begin_template_parm_list (); ;
4649 { yyval
.ttype
= end_template_parm_list (yyvsp
[-1].ttype
); ;
4653 { begin_specialization();
4654 yyval
.ttype
= NULL_TREE
; ;
4658 { yyval
.ttype
= process_template_parm (NULL_TREE
, yyvsp
[0].ttype
); ;
4662 { yyval
.ttype
= process_template_parm (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
4666 { yyval
.ttype
= yyvsp
[0].ttype
; ;
4670 { yyval
.ttype
= NULL_TREE
; ;
4674 { yyval
.ttype
= finish_template_type_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4678 { yyval
.ttype
= finish_template_type_parm (class_type_node
, yyvsp
[0].ttype
); ;
4682 { yyval
.ttype
= finish_template_template_parm (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4686 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
4690 { yyval
.ttype
= build_tree_list (groktypename (yyvsp
[0].ftype
.t
), yyvsp
[-2].ttype
); ;
4694 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
4698 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ftype
.t
); ;
4702 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
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
);
4719 { finish_template_decl (yyvsp
[-1].ttype
); ;
4723 { finish_template_decl (yyvsp
[-1].ttype
); ;
4727 { if (pending_inlines
) do_pending_inlines (); ;
4731 { if (pending_inlines
) do_pending_inlines (); ;
4735 { if (pending_inlines
) do_pending_inlines (); ;
4739 { if (pending_inlines
) do_pending_inlines ();
4740 pop_lang_context (); ;
4744 { if (pending_inlines
) do_pending_inlines ();
4745 pop_lang_context (); ;
4749 { pedantic
= yyvsp
[-1].itype
; ;
4757 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4761 { maybe_process_partial_specialization (yyvsp
[-1].ftype
.t
);
4762 note_got_semicolon (yyvsp
[-1].ftype
.t
); ;
4770 { note_list_got_semicolon (yyvsp
[-2].ftype
.t
); ;
4774 { pedwarn ("empty declaration"); ;
4780 split_specs_attrs (yyvsp
[-1].ftype
.t
, &t
, &attrs
);
4782 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
4787 { yyval
.itype
= 0; ;
4791 { yyval
.itype
= 1; ;
4795 { expand_body (finish_function (lineno
, (int)yyvsp
[-1].itype
)); ;
4799 { expand_body (finish_function (lineno
, (int)yyvsp
[0].itype
)); ;
4807 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4811 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
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
);
4821 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4825 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
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
);
4835 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4839 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
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
);
4849 { yyval
.ttype
= begin_constructor_declarator (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
4853 { yyval
.ttype
= make_call_declarator (yyvsp
[-4].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
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
);
4863 { if (!begin_function_definition (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
))
4868 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4873 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4878 { if (!begin_function_definition (yyvsp
[-1].ttype
, yyvsp
[0].ttype
))
4883 { if (!begin_function_definition (NULL_TREE
, yyvsp
[0].ttype
))
4888 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4892 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4896 { yyval
.ttype
= make_call_declarator (yyvsp
[-5].ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
4900 { yyval
.ttype
= make_call_declarator (yyvsp
[-3].ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
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
);
4911 if (yychar
== YYEMPTY
)
4913 reinit_parse_for_method (yychar
, yyval
.ttype
); ;
4917 { yyval
.ttype
= start_method (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
);
4918 goto rest_of_mdef
; ;
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
; ;
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
; ;
4936 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4937 goto rest_of_mdef
; ;
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
; ;
4948 { yyval
.ttype
= start_method (NULL_TREE
, yyval
.ttype
, NULL_TREE
);
4949 goto rest_of_mdef
; ;
4954 if (! current_function_parms_stored
)
4955 store_parm_decls ();
4956 yyval
.ttype
= yyvsp
[0].ttype
;
4961 { finish_named_return_value (yyval
.ttype
, yyvsp
[0].ttype
); ;
4965 { finish_named_return_value (yyval
.ttype
, yyvsp
[-1].ttype
); ;
4969 { finish_named_return_value (yyval
.ttype
, NULL_TREE
); ;
4974 if (yyvsp
[0].itype
== 0)
4975 error ("no base initializers given following ':'");
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. */
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");
4996 { yyval
.itype
= 0; ;
5000 { yyval
.itype
= 1; ;
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
);
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
);
5020 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5024 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
5028 { expand_member_init (current_class_ref
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5032 { expand_member_init (current_class_ref
, yyvsp
[-1].ttype
, void_type_node
); ;
5036 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-3].ttype
),
5041 { expand_member_init (current_class_ref
, TYPE_MAIN_DECL (yyvsp
[-1].ttype
),
5046 { do_type_instantiation (yyvsp
[-1].ftype
.t
, NULL_TREE
);
5047 yyungetc (';', 1); ;
5051 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5052 do_decl_instantiation (specs
, yyvsp
[0].ttype
, NULL_TREE
); ;
5056 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5060 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, NULL_TREE
); ;
5064 { do_type_instantiation (yyvsp
[-1].ftype
.t
, yyvsp
[-4].ttype
);
5065 yyungetc (';', 1); ;
5069 { tree specs
= strip_attrs (yyvsp
[-1].ftype
.t
);
5070 do_decl_instantiation (specs
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
); ;
5074 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5078 { do_decl_instantiation (NULL_TREE
, yyvsp
[0].ttype
, yyvsp
[-3].ttype
); ;
5082 { begin_explicit_instantiation(); ;
5086 { end_explicit_instantiation(); ;
5090 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5094 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5098 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5102 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5107 if (yychar
== YYEMPTY
)
5110 yyval
.ttype
= finish_template_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
,
5117 /* Handle `Class<Class<Type>>' without space in the `>>' */
5118 pedwarn ("`>>' should be `> >' in template class name");
5124 { yyval
.ttype
= NULL_TREE
; ;
5128 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
5132 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5136 { yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
); ;
5140 { yyval
.ttype
= lastiddecl
; ;
5144 { yyval
.code
= NEGATE_EXPR
; ;
5148 { yyval
.code
= CONVERT_EXPR
; ;
5152 { yyval
.code
= PREINCREMENT_EXPR
; ;
5156 { yyval
.code
= PREDECREMENT_EXPR
; ;
5160 { yyval
.code
= TRUTH_NOT_EXPR
; ;
5164 { yyval
.ttype
= build_x_compound_expr (yyval
.ttype
); ;
5167 #line 1001 "parse.y"
5168 { error ("ANSI C++ forbids an empty condition for `%s'",
5170 yyval
.ttype
= integer_zero_node
; ;
5173 #line 1005 "parse.y"
5174 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5177 #line 1010 "parse.y"
5178 { error ("ANSI C++ forbids an empty condition for `%s'",
5180 yyval
.ttype
= integer_zero_node
; ;
5183 #line 1014 "parse.y"
5184 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5187 #line 1019 "parse.y"
5188 { yyval
.ttype
= NULL_TREE
; ;
5191 #line 1022 "parse.y"
5192 { yyval
.ttype
= NULL_TREE
; ;
5195 #line 1027 "parse.y"
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
);
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
);
5224 #line 1063 "parse.y"
5225 { yyval
.ttype
= begin_compound_stmt (1); ;
5228 #line 1065 "parse.y"
5229 { finish_compound_stmt (1, yyvsp
[-1].ttype
); ;
5232 #line 1072 "parse.y"
5233 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5234 build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5237 #line 1075 "parse.y"
5238 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
,
5239 build_expr_list (NULL_TREE
, error_mark_node
)); ;
5242 #line 1078 "parse.y"
5243 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
5246 #line 1080 "parse.y"
5247 { chainon (yyval
.ttype
, build_expr_list (NULL_TREE
, error_mark_node
)); ;
5250 #line 1085 "parse.y"
5251 { yyval
.ttype
= build_expr_list (NULL_TREE
, yyval
.ttype
); ;
5254 #line 1091 "parse.y"
5255 { yyval
.ttype
= yyvsp
[0].ttype
; ;
5258 #line 1094 "parse.y"
5259 { yyval
.ttype
= yyvsp
[0].ttype
;
5260 pedantic
= yyvsp
[-1].itype
; ;
5263 #line 1097 "parse.y"
5264 { yyval
.ttype
= build_x_indirect_ref (yyvsp
[0].ttype
, "unary *"); ;
5267 #line 1099 "parse.y"
5268 { yyval
.ttype
= build_x_unary_op (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5271 #line 1101 "parse.y"
5272 { yyval
.ttype
= build_x_unary_op (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5275 #line 1103 "parse.y"
5276 { yyval
.ttype
= finish_unary_op_expr (yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5279 #line 1106 "parse.y"
5281 pedwarn ("ANSI C++ forbids `&&'");
5282 yyval
.ttype
= finish_label_address_expr (yyvsp
[0].ttype
); ;
5285 #line 1110 "parse.y"
5286 { yyval
.ttype
= expr_sizeof (yyvsp
[0].ttype
); ;
5289 #line 1112 "parse.y"
5290 { yyval
.ttype
= c_sizeof (groktypename (yyvsp
[-1].ftype
.t
));
5291 check_for_new_type ("sizeof", yyvsp
[-1].ftype
); ;
5294 #line 1115 "parse.y"
5295 { yyval
.ttype
= grok_alignof (yyvsp
[0].ttype
); ;
5298 #line 1117 "parse.y"
5299 { yyval
.ttype
= c_alignof (groktypename (yyvsp
[-1].ftype
.t
));
5300 check_for_new_type ("alignof", yyvsp
[-1].ftype
); ;
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
); ;
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
); ;
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
); ;
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
); ;
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
); ;
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
); ;
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
); ;
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
); ;
5344 #line 1162 "parse.y"
5345 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 0, yyvsp
[-1].itype
); ;
5348 #line 1164 "parse.y"
5349 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, NULL_TREE
, 1, yyvsp
[-3].itype
);
5350 if (yychar
== YYEMPTY
)
5354 #line 1168 "parse.y"
5355 { yyval
.ttype
= delete_sanity (yyvsp
[0].ttype
, yyvsp
[-2].ttype
, 2, yyvsp
[-4].itype
);
5356 if (yychar
== YYEMPTY
)
5360 #line 1172 "parse.y"
5361 { yyval
.ttype
= build_x_unary_op (REALPART_EXPR
, yyvsp
[0].ttype
); ;
5364 #line 1174 "parse.y"
5365 { yyval
.ttype
= build_x_unary_op (IMAGPART_EXPR
, yyvsp
[0].ttype
); ;
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
); ;
5373 #line 1187 "parse.y"
5374 { finish_new_placement (NULL_TREE
, yyvsp
[-2].itype
); ;
5377 #line 1190 "parse.y"
5378 { yyval
.itype
= begin_new_placement (); ;
5381 #line 1194 "parse.y"
5382 { yyval
.ttype
= finish_new_placement (yyvsp
[-1].ttype
, yyvsp
[-2].itype
); ;
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
); ;
5390 #line 1202 "parse.y"
5391 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5394 #line 1204 "parse.y"
5395 { yyval
.ttype
= NULL_TREE
; ;
5398 #line 1206 "parse.y"
5400 cp_error ("`%T' is not a valid expression", yyvsp
[-1].ftype
.t
);
5401 yyval
.ttype
= error_mark_node
;
5405 #line 1214 "parse.y"
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
);
5413 yyval
.ttype
= yyvsp
[0].ttype
;
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
); ;
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
); ;
5429 #line 1240 "parse.y"
5430 { yyval
.ttype
= reparse_absdcl_as_casts (yyval
.ttype
, yyvsp
[0].ttype
); ;
5433 #line 1242 "parse.y"
5435 tree init
= build_nt (CONSTRUCTOR
, NULL_TREE
,
5436 nreverse (yyvsp
[-2].ttype
));
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
);
5446 #line 1258 "parse.y"
5447 { yyval
.ttype
= build_x_binary_op (MEMBER_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5450 #line 1260 "parse.y"
5451 { yyval
.ttype
= build_m_component_ref (yyval
.ttype
, yyvsp
[0].ttype
); ;
5454 #line 1262 "parse.y"
5455 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5458 #line 1264 "parse.y"
5459 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5462 #line 1266 "parse.y"
5463 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5466 #line 1268 "parse.y"
5467 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5470 #line 1270 "parse.y"
5471 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5474 #line 1272 "parse.y"
5475 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5478 #line 1274 "parse.y"
5479 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5482 #line 1276 "parse.y"
5483 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5486 #line 1278 "parse.y"
5487 { yyval
.ttype
= build_x_binary_op (LT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5490 #line 1280 "parse.y"
5491 { yyval
.ttype
= build_x_binary_op (GT_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5494 #line 1282 "parse.y"
5495 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5498 #line 1284 "parse.y"
5499 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5502 #line 1286 "parse.y"
5503 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5506 #line 1288 "parse.y"
5507 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5510 #line 1290 "parse.y"
5511 { yyval
.ttype
= build_x_binary_op (yyvsp
[-1].code
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5514 #line 1292 "parse.y"
5515 { yyval
.ttype
= build_x_binary_op (TRUTH_ANDIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5518 #line 1294 "parse.y"
5519 { yyval
.ttype
= build_x_binary_op (TRUTH_ORIF_EXPR
, yyval
.ttype
, yyvsp
[0].ttype
); ;
5522 #line 1296 "parse.y"
5523 { yyval
.ttype
= build_x_conditional_expr (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
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
); ;
5532 #line 1302 "parse.y"
5533 { yyval
.ttype
= build_x_modify_expr (yyval
.ttype
, yyvsp
[-1].code
, yyvsp
[0].ttype
); ;
5536 #line 1304 "parse.y"
5537 { yyval
.ttype
= build_throw (NULL_TREE
); ;
5540 #line 1306 "parse.y"
5541 { yyval
.ttype
= build_throw (yyvsp
[0].ttype
); ;
5544 #line 1324 "parse.y"
5545 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
5548 #line 1326 "parse.y"
5549 { yyval
.ttype
= build_parse_node (BIT_NOT_EXPR
, yyvsp
[0].ttype
); ;
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
5558 if (lastiddecl
&& TREE_CODE (lastiddecl
) != TREE_LIST
)
5559 yyval
.ttype
= do_identifier (yyvsp
[-1].ttype
, 1, NULL_TREE
);
5561 yyval
.ttype
= yyvsp
[-1].ttype
;
5565 #line 1348 "parse.y"
5566 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5569 #line 1350 "parse.y"
5570 { yyval
.ttype
= lookup_template_function (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
5573 #line 1355 "parse.y"
5574 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5577 #line 1357 "parse.y"
5578 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5581 #line 1360 "parse.y"
5582 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5585 #line 1372 "parse.y"
5587 /* Provide support for '(' attributes '*' declarator ')'
5589 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
5593 #line 1382 "parse.y"
5594 { yyval
.ttype
= build_parse_node (INDIRECT_REF
, yyvsp
[0].ttype
); ;
5597 #line 1384 "parse.y"
5598 { yyval
.ttype
= build_parse_node (ADDR_EXPR
, yyvsp
[0].ttype
); ;
5601 #line 1386 "parse.y"
5602 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
5605 #line 1391 "parse.y"
5606 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5609 #line 1393 "parse.y"
5610 { yyval
.ttype
= lookup_template_function (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5613 #line 1403 "parse.y"
5614 { yyval
.ttype
= finish_decl_parsing (yyvsp
[-1].ttype
); ;
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));
5622 yyval
.ttype
= finish_id_expr (yyvsp
[0].ttype
);
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
)
5642 #line 1431 "parse.y"
5643 { yyval
.ttype
= finish_parenthesized_expr (yyvsp
[-1].ttype
); ;
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
); ;
5651 #line 1436 "parse.y"
5652 { yyval
.ttype
= error_mark_node
; ;
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");
5663 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5664 yyval
.ttype
= begin_stmt_expr ();
5668 #line 1449 "parse.y"
5669 { yyval
.ttype
= finish_stmt_expr (yyvsp
[-2].ttype
); ;
5672 #line 1454 "parse.y"
5673 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 1); ;
5676 #line 1456 "parse.y"
5677 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 1); ;
5680 #line 1458 "parse.y"
5681 { yyval
.ttype
= finish_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, 0); ;
5684 #line 1460 "parse.y"
5685 { yyval
.ttype
= finish_call_expr (yyvsp
[-1].ttype
, NULL_TREE
, 0); ;
5688 #line 1462 "parse.y"
5689 { yyval
.ttype
= grok_array_decl (yyval
.ttype
, yyvsp
[-1].ttype
); ;
5692 #line 1464 "parse.y"
5693 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTINCREMENT_EXPR
); ;
5696 #line 1466 "parse.y"
5697 { yyval
.ttype
= finish_increment_expr (yyvsp
[-1].ttype
, POSTDECREMENT_EXPR
); ;
5700 #line 1469 "parse.y"
5701 { yyval
.ttype
= finish_this_expr (); ;
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)'. */
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
);
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
); ;
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
); ;
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
); ;
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
); ;
5741 #line 1499 "parse.y"
5742 { yyval
.ttype
= build_x_typeid (yyvsp
[-1].ttype
); ;
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
)); ;
5751 #line 1505 "parse.y"
5752 { yyval
.ttype
= do_scoped_id (yyvsp
[0].ttype
, 1); ;
5755 #line 1507 "parse.y"
5756 { yyval
.ttype
= yyvsp
[0].ttype
; ;
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);
5765 yyval
.ttype
= yyvsp
[0].ttype
;
5769 #line 1517 "parse.y"
5770 { yyval
.ttype
= build_offset_ref (OP0 (yyval
.ttype
), OP1 (yyval
.ttype
)); ;
5773 #line 1519 "parse.y"
5774 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
5777 #line 1521 "parse.y"
5778 { yyval
.ttype
= finish_qualified_call_expr (yyvsp
[-1].ttype
, NULL_TREE
); ;
5781 #line 1523 "parse.y"
5783 yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1);
5787 #line 1527 "parse.y"
5788 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5791 #line 1529 "parse.y"
5792 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5795 #line 1531 "parse.y"
5796 { yyval
.ttype
= build_x_component_ref (yyval
.ttype
, yyvsp
[0].ttype
, NULL_TREE
, 1); ;
5799 #line 1533 "parse.y"
5800 { if (processing_template_decl
)
5801 yyval
.ttype
= build_min_nt (COMPONENT_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
5803 yyval
.ttype
= build_object_ref (yyval
.ttype
, OP0 (yyvsp
[0].ttype
), OP1 (yyvsp
[0].ttype
)); ;
5806 #line 1538 "parse.y"
5807 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5810 #line 1540 "parse.y"
5811 { yyval
.ttype
= finish_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5814 #line 1542 "parse.y"
5815 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5818 #line 1544 "parse.y"
5819 { yyval
.ttype
= finish_qualified_object_call_expr (yyvsp
[-1].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
5822 #line 1547 "parse.y"
5823 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-3].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
5826 #line 1549 "parse.y"
5827 { yyval
.ttype
= finish_pseudo_destructor_call_expr (yyvsp
[-5].ttype
, yyvsp
[-4].ttype
, yyvsp
[-1].ttype
); ;
5830 #line 1551 "parse.y"
5832 yyval
.ttype
= error_mark_node
;
5836 #line 1596 "parse.y"
5837 { yyval
.itype
= 0; ;
5840 #line 1598 "parse.y"
5841 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5844 #line 1603 "parse.y"
5845 { yyval
.itype
= 0; ;
5848 #line 1605 "parse.y"
5849 { got_scope
= NULL_TREE
; yyval
.itype
= 1; ;
5852 #line 1610 "parse.y"
5853 { yyval
.ttype
= boolean_true_node
; ;
5856 #line 1612 "parse.y"
5857 { yyval
.ttype
= boolean_false_node
; ;
5860 #line 1619 "parse.y"
5861 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
5864 #line 1624 "parse.y"
5866 if (! current_function_parms_stored
)
5867 store_parm_decls ();
5872 #line 1633 "parse.y"
5873 { got_object
= TREE_TYPE (yyval
.ttype
); ;
5876 #line 1635 "parse.y"
5878 yyval
.ttype
= build_x_arrow (yyval
.ttype
);
5879 got_object
= TREE_TYPE (yyval
.ttype
);
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
);
5891 #line 1649 "parse.y"
5893 resume_momentary (yyvsp
[-1].itype
);
5894 note_list_got_semicolon (yyvsp
[-2].ftype
.t
);
5898 #line 1654 "parse.y"
5899 { resume_momentary (yyvsp
[-1].itype
); ;
5902 #line 1656 "parse.y"
5904 shadow_tag (yyvsp
[-1].ftype
.t
);
5905 note_list_got_semicolon (yyvsp
[-1].ftype
.t
);
5909 #line 1661 "parse.y"
5910 { warning ("empty declaration"); ;
5913 #line 1663 "parse.y"
5914 { pedantic
= yyvsp
[-1].itype
; ;
5917 #line 1677 "parse.y"
5918 { yyval
.ttype
= make_call_declarator (NULL_TREE
, empty_parms (),
5919 NULL_TREE
, NULL_TREE
); ;
5922 #line 1680 "parse.y"
5923 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), NULL_TREE
,
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
; ;
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
; ;
5937 #line 1693 "parse.y"
5938 { yyval
.ftype
.t
= build_decl_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
5940 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
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
; ;
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
; ;
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
; ;
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
; ;
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
; ;
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
; ;
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
; ;
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
; ;
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
); ;
5991 #line 1743 "parse.y"
5992 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyval
.ttype
); ;
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
); ;
6002 #line 1750 "parse.y"
6003 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6006 #line 1752 "parse.y"
6007 { yyval
.ttype
= decl_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
6010 #line 1771 "parse.y"
6011 { yyval
.ttype
= yyvsp
[0].ftype
.t
; TREE_STATIC (yyval
.ttype
) = 1; ;
6014 #line 1773 "parse.y"
6015 { yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
6018 #line 1775 "parse.y"
6019 { yyval
.ttype
= hash_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
);
6020 TREE_STATIC (yyval
.ttype
) = 1; ;
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
); ;
6031 #line 1784 "parse.y"
6032 { yyval
.ttype
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, yyvsp
[-1].ttype
); ;
6035 #line 1786 "parse.y"
6036 { yyval
.ttype
= hash_tree_cons (yyvsp
[0].ttype
, NULL_TREE
, NULL_TREE
); ;
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
; ;
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
; ;
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
; ;
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
; ;
6059 #line 1812 "parse.y"
6060 { yyval
.ttype
= build_decl_list (NULL_TREE
, yyvsp
[0].ftype
.t
); ;
6063 #line 1814 "parse.y"
6064 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ftype
.t
, yyvsp
[-1].ttype
); ;
6067 #line 1824 "parse.y"
6068 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6071 #line 1826 "parse.y"
6072 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6075 #line 1828 "parse.y"
6076 { yyval
.ftype
.t
= finish_typeof (yyvsp
[-1].ttype
);
6077 yyval
.ftype
.new_type_flag
= 0; ;
6080 #line 1831 "parse.y"
6081 { yyval
.ftype
.t
= groktypename (yyvsp
[-1].ftype
.t
);
6082 yyval
.ftype
.new_type_flag
= 0; ;
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
;
6096 error ("`sigof' applied to non-aggregate expression");
6097 yyval
.ftype
.t
= error_mark_node
;
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
;
6113 error("`sigof' applied to non-aggregate type");
6114 yyval
.ftype
.t
= error_mark_node
;
6119 #line 1869 "parse.y"
6120 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6123 #line 1871 "parse.y"
6124 { yyval
.ftype
.t
= yyvsp
[0].ttype
; yyval
.ftype
.new_type_flag
= 0; ;
6127 #line 1878 "parse.y"
6128 { check_multiple_declarators (); ;
6131 #line 1884 "parse.y"
6132 { check_multiple_declarators (); ;
6135 #line 1890 "parse.y"
6136 { check_multiple_declarators (); ;
6139 #line 1895 "parse.y"
6140 { yyval
.ttype
= NULL_TREE
; ;
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
; ;
6147 #line 1902 "parse.y"
6148 { yyval
.ttype
= start_decl (yyvsp
[-3].ttype
, current_declspecs
, 1,
6149 yyvsp
[-1].ttype
, prefix_attributes
); ;
6152 #line 1906 "parse.y"
6153 { cp_finish_decl (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, yyvsp
[-4].ttype
, 1, LOOKUP_ONLYCONVERTING
); ;
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); ;
6162 #line 1921 "parse.y"
6163 { yyvsp
[0].itype
= parse_decl (yyvsp
[-3].ttype
, yyvsp
[-4].ttype
,
6164 yyvsp
[-1].ttype
, 1, &yyval
.ttype
); ;
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
; ;
6173 #line 1930 "parse.y"
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); ;
6179 #line 1937 "parse.y"
6180 { yyval
.itype
= yyvsp
[0].itype
; ;
6183 #line 1941 "parse.y"
6184 { yyval
.itype
= yyvsp
[0].itype
; ;
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
; ;
6193 #line 1950 "parse.y"
6197 #line 1952 "parse.y"
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); ;
6203 #line 1961 "parse.y"
6204 { yyval
.ttype
= NULL_TREE
; ;
6207 #line 1963 "parse.y"
6208 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6211 #line 1968 "parse.y"
6212 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6215 #line 1970 "parse.y"
6216 { yyval
.ttype
= chainon (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
6219 #line 1975 "parse.y"
6220 { yyval
.ttype
= yyvsp
[-2].ttype
; ;
6223 #line 1980 "parse.y"
6224 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6227 #line 1982 "parse.y"
6228 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6231 #line 1987 "parse.y"
6232 { yyval
.ttype
= NULL_TREE
; ;
6235 #line 1989 "parse.y"
6236 { yyval
.ttype
= build_tree_list (yyvsp
[0].ttype
, NULL_TREE
); ;
6239 #line 1991 "parse.y"
6240 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, build_tree_list (NULL_TREE
, yyvsp
[-1].ttype
)); ;
6243 #line 1993 "parse.y"
6244 { yyval
.ttype
= build_tree_list (yyvsp
[-5].ttype
, tree_cons (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
)); ;
6247 #line 1995 "parse.y"
6248 { yyval
.ttype
= build_tree_list (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
6251 #line 2011 "parse.y"
6252 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyvsp
[0].ttype
); ;
6255 #line 2013 "parse.y"
6256 { yyval
.ttype
= chainon (yyvsp
[-2].ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
6259 #line 2018 "parse.y"
6260 { yyval
.ttype
= NULL_TREE
; ;
6263 #line 2020 "parse.y"
6264 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6267 #line 2028 "parse.y"
6268 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, NULL_TREE
);
6269 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6272 #line 2031 "parse.y"
6273 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-1].ttype
));
6274 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6277 #line 2034 "parse.y"
6278 { yyval
.ttype
= build_nt (CONSTRUCTOR
, NULL_TREE
, nreverse (yyvsp
[-2].ttype
));
6279 TREE_HAS_CONSTRUCTOR (yyval
.ttype
) = 1; ;
6282 #line 2037 "parse.y"
6283 { yyval
.ttype
= NULL_TREE
; ;
6286 #line 2044 "parse.y"
6287 { yyval
.ttype
= build_tree_list (NULL_TREE
, yyval
.ttype
); ;
6290 #line 2046 "parse.y"
6291 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
6294 #line 2049 "parse.y"
6295 { yyval
.ttype
= build_expr_list (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6298 #line 2051 "parse.y"
6299 { yyval
.ttype
= build_expr_list (yyval
.ttype
, yyvsp
[0].ttype
); ;
6302 #line 2053 "parse.y"
6303 { yyval
.ttype
= tree_cons (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, yyval
.ttype
); ;
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 (); ;
6313 #line 2065 "parse.y"
6315 expand_body (finish_function (lineno
, (int)yyvsp
[-1].itype
| 2));
6316 process_next_inline (yyvsp
[-3].pi
);
6320 #line 2070 "parse.y"
6322 expand_body (finish_function (lineno
, (int)yyvsp
[0].itype
| 2));
6323 process_next_inline (yyvsp
[-2].pi
);
6327 #line 2075 "parse.y"
6329 finish_function (lineno
, 2);
6330 process_next_inline (yyvsp
[-2].pi
); ;
6333 #line 2089 "parse.y"
6334 { replace_defarg (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
6337 #line 2091 "parse.y"
6338 { replace_defarg (yyvsp
[-2].ttype
, error_mark_node
); ;
6341 #line 2096 "parse.y"
6342 { do_pending_defargs (); ;
6345 #line 2098 "parse.y"
6346 { do_pending_defargs (); ;
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
); ;
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
); ;
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 ()); ;
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
); ;
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; ;
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; ;
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"); ;
6396 #line 2137 "parse.y"
6397 { yyvsp
[-1].ftype
.t
= begin_class_definition (yyvsp
[-1].ftype
.t
); ;
6400 #line 2139 "parse.y"
6404 if (yychar
== YYEMPTY
)
6406 semi
= yychar
== ';';
6408 yyval
.ttype
= finish_class_definition (yyvsp
[-5].ftype
.t
, yyvsp
[0].ttype
, semi
,
6409 yyvsp
[-5].ftype
.new_type_flag
);
6413 #line 2150 "parse.y"
6415 begin_inline_definitions ();
6419 #line 2154 "parse.y"
6421 finish_inline_definitions ();
6422 yyval
.ftype
.t
= yyvsp
[-3].ttype
;
6423 yyval
.ftype
.new_type_flag
= 1;
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
;
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'",
6451 #line 2191 "parse.y"
6452 { if (pedantic
&& !in_system_header
)
6453 pedwarn ("comma at end of enumerator list"); ;
6456 #line 2198 "parse.y"
6457 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6460 #line 2200 "parse.y"
6461 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6464 #line 2202 "parse.y"
6465 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp
[0].ttype
)); ;
6468 #line 2204 "parse.y"
6469 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6472 #line 2206 "parse.y"
6473 { yyval
.ttype
= build_decl_list (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
6476 #line 2211 "parse.y"
6478 current_aggr
= yyvsp
[-1].ttype
;
6479 yyval
.ttype
= yyvsp
[0].ttype
;
6483 #line 2219 "parse.y"
6484 { current_aggr
= yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6487 #line 2221 "parse.y"
6488 { yyungetc ('{', 1); ;
6491 #line 2223 "parse.y"
6492 { yyungetc (':', 1); ;
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;
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;
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;
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;
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;
6537 #line 2263 "parse.y"
6539 yyval
.ftype
.t
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 1);
6540 yyval
.ftype
.new_type_flag
= 0;
6544 #line 2268 "parse.y"
6545 { yyval
.ttype
= xref_tag (current_aggr
, yyvsp
[0].ttype
, 0); ;
6548 #line 2272 "parse.y"
6550 yyval
.ftype
.t
= yyvsp
[-1].ttype
;
6551 yyval
.ftype
.new_type_flag
= 0;
6553 xref_basetypes (current_aggr
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
);
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'",
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
6573 CLASSTYPE_DECLARED_CLASS (yyval
.ftype
.t
)
6574 = (current_aggr
== class_type_node
);
6577 maybe_process_partial_specialization (yyval
.ftype
.t
);
6578 xref_basetypes (current_aggr
, yyvsp
[-1].ftype
.t
, yyval
.ftype
.t
, yyvsp
[0].ttype
);
6584 #line 2308 "parse.y"
6585 { yyval
.ttype
= xref_tag (yyval
.ttype
, make_anon_name (), 0);
6586 yyungetc ('{', 1); ;
6589 #line 2318 "parse.y"
6591 yyval
.ftype
.t
= yyvsp
[0].ttype
;
6592 yyval
.ftype
.new_type_flag
= 0;
6596 #line 2327 "parse.y"
6597 { yyval
.ttype
= NULL_TREE
; ;
6600 #line 2329 "parse.y"
6601 { yyungetc(':', 1); yyval
.ttype
= NULL_TREE
; ;
6604 #line 2331 "parse.y"
6605 { yyval
.ttype
= yyvsp
[0].ttype
; ;
6608 #line 2337 "parse.y"
6609 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
6612 #line 2342 "parse.y"
6613 { yyval
.ttype
= finish_base_specifier (access_default_node
, yyvsp
[0].ttype
); ;
6616 #line 2344 "parse.y"
6617 { yyval
.ttype
= finish_base_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
6620 #line 2349 "parse.y"
6621 { if (yyval
.ttype
!= error_mark_node
) yyval
.ttype
= TYPE_MAIN_DECL (yyvsp
[0].ttype
); ;
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
; ;
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
;
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
;
6653 error ("multiple `virtual' specifiers");
6657 #line 2392 "parse.y"
6659 current_access_specifier
= yyvsp
[-1].ttype
;
6663 #line 2401 "parse.y"
6665 finish_member_declaration (yyvsp
[0].ttype
);
6669 #line 2405 "parse.y"
6671 finish_member_declaration (yyvsp
[0].ttype
);
6675 #line 2413 "parse.y"
6676 { error ("missing ';' before right brace");
6677 yyungetc ('}', 0); ;
6680 #line 2418 "parse.y"
6681 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6684 #line 2420 "parse.y"
6685 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6688 #line 2422 "parse.y"
6689 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6692 #line 2424 "parse.y"
6693 { yyval
.ttype
= finish_method (yyval
.ttype
); ;
6696 #line 2426 "parse.y"
6697 { yyval
.ttype
= NULL_TREE
; ;
6700 #line 2428 "parse.y"
6701 { yyval
.ttype
= yyvsp
[0].ttype
;
6702 pedantic
= yyvsp
[-1].itype
; ;
6705 #line 2431 "parse.y"
6708 yyval
.ttype
= finish_member_template_decl (yyvsp
[0].ttype
);
6710 /* The component was already processed. */
6711 yyval
.ttype
= NULL_TREE
;
6713 finish_template_decl (yyvsp
[-1].ttype
);
6717 #line 2441 "parse.y"
6719 yyval
.ttype
= finish_member_class_template (yyvsp
[-1].ftype
.t
);
6720 finish_template_decl (yyvsp
[-2].ttype
);
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.:
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
;
6747 #line 2473 "parse.y"
6749 if (!yyvsp
[0].itype
)
6750 grok_x_components (yyvsp
[-1].ttype
);
6751 yyval
.ttype
= NULL_TREE
;
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
)); ;
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
)); ;
6765 #line 2485 "parse.y"
6766 { yyval
.ttype
= grokbitfield (NULL_TREE
, NULL_TREE
, yyvsp
[0].ttype
); ;
6769 #line 2487 "parse.y"
6770 { yyval
.ttype
= NULL_TREE
; ;
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
)); ;
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
)); ;
6785 #line 2506 "parse.y"
6786 { yyval
.ttype
= do_class_using_decl (yyvsp
[0].ttype
); ;
6789 #line 2512 "parse.y"
6790 { yyval
.itype
= 0; ;
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
);
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
);
6812 #line 2532 "parse.y"
6813 { yyval
.itype
= 0; ;
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
);
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
);
6835 #line 2562 "parse.y"
6836 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_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
)); ;
6843 #line 2568 "parse.y"
6844 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_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
); ;
6851 #line 2577 "parse.y"
6852 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_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
)); ;
6859 #line 2583 "parse.y"
6860 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_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
)); ;
6867 #line 2589 "parse.y"
6868 { split_specs_attrs (yyvsp
[-4].ttype
, ¤t_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
); ;
6875 #line 2595 "parse.y"
6876 { split_specs_attrs (yyvsp
[-3].ttype
, ¤t_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
); ;
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
)); ;
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
); ;
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
)); ;
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
); ;
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
); ;
6908 #line 2626 "parse.y"
6909 { yyval
.ttype
= NULL_TREE
; ;
6912 #line 2636 "parse.y"
6913 { TREE_CHAIN (yyvsp
[0].ttype
) = yyval
.ttype
; yyval
.ttype
= yyvsp
[0].ttype
; ;
6916 #line 2641 "parse.y"
6917 { yyval
.ttype
= build_enumerator (yyval
.ttype
, NULL_TREE
, current_enum_type
); ;
6920 #line 2643 "parse.y"
6921 { yyval
.ttype
= build_enumerator (yyval
.ttype
, yyvsp
[0].ttype
, current_enum_type
); ;
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
; ;
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
; ;
6934 #line 2659 "parse.y"
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
;
6944 #line 2670 "parse.y"
6945 { yyval
.ttype
= NULL_TREE
; ;
6948 #line 2672 "parse.y"
6949 { yyval
.ttype
= decl_tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
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; ;
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
; ;
6962 #line 2689 "parse.y"
6963 { yyval
.itype
= suspend_momentary (); ;
6966 #line 2694 "parse.y"
6967 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= yyvsp
[0].ttype
; ;
6970 #line 2700 "parse.y"
6971 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6974 #line 2702 "parse.y"
6975 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= yyvsp
[-1].ttype
; ;
6978 #line 2704 "parse.y"
6979 { resume_momentary ((int) yyvsp
[-1].itype
); yyval
.ttype
= empty_parms (); ;
6982 #line 2706 "parse.y"
6983 { resume_momentary ((int) yyvsp
[-3].itype
); yyval
.ttype
= NULL_TREE
; ;
6986 #line 2714 "parse.y"
6988 /* Provide support for '(' attributes '*' declarator ')'
6990 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
6994 #line 2724 "parse.y"
6995 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
6998 #line 2726 "parse.y"
6999 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7002 #line 2728 "parse.y"
7003 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7006 #line 2730 "parse.y"
7007 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
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
);
7016 #line 2740 "parse.y"
7017 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7020 #line 2742 "parse.y"
7021 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7024 #line 2744 "parse.y"
7025 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7028 #line 2746 "parse.y"
7029 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
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
; ;
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
);
7046 yyval
.ttype
= yyvsp
[0].ttype
;
7050 #line 2766 "parse.y"
7052 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7053 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7055 yyval
.ttype
= yyvsp
[0].ttype
;
7056 got_scope
= NULL_TREE
;
7060 #line 2779 "parse.y"
7061 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7064 #line 2784 "parse.y"
7065 { yyval
.ttype
= get_type_decl (yyvsp
[0].ttype
); ;
7068 #line 2793 "parse.y"
7070 /* Provide support for '(' attributes '*' declarator ')'
7072 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7076 #line 2802 "parse.y"
7077 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7080 #line 2804 "parse.y"
7081 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7084 #line 2806 "parse.y"
7085 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7088 #line 2808 "parse.y"
7089 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
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
);
7098 #line 2818 "parse.y"
7099 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7102 #line 2820 "parse.y"
7103 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7106 #line 2822 "parse.y"
7107 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7110 #line 2824 "parse.y"
7111 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
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
);
7120 #line 2834 "parse.y"
7121 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-2].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7124 #line 2836 "parse.y"
7125 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7128 #line 2838 "parse.y"
7129 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7132 #line 2840 "parse.y"
7133 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7136 #line 2842 "parse.y"
7137 { enter_scope_of (yyvsp
[0].ttype
); ;
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
);
7147 #line 2852 "parse.y"
7148 { got_scope
= NULL_TREE
;
7149 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7152 #line 2855 "parse.y"
7153 { got_scope
= NULL_TREE
;
7154 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7157 #line 2861 "parse.y"
7158 { got_scope
= NULL_TREE
;
7159 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyval
.ttype
, yyvsp
[0].ttype
); ;
7162 #line 2864 "parse.y"
7163 { got_scope
= NULL_TREE
;
7164 yyval
.ttype
= build_parse_node (SCOPE_REF
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7167 #line 2871 "parse.y"
7168 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7171 #line 2876 "parse.y"
7172 { yyval
.ttype
= build_functional_cast (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7175 #line 2878 "parse.y"
7176 { yyval
.ttype
= reparse_decl_as_expr (yyvsp
[-3].ftype
.t
, yyvsp
[-1].ttype
); ;
7179 #line 2880 "parse.y"
7180 { yyval
.ttype
= reparse_absdcl_as_expr (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7183 #line 2891 "parse.y"
7184 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7187 #line 2893 "parse.y"
7188 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
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
)));
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
);
7211 #line 2916 "parse.y"
7213 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7214 yyval
.ttype
= lastiddecl
;
7215 got_scope
= yyval
.ttype
;
7219 #line 2922 "parse.y"
7220 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyvsp
[-1].ttype
)); ;
7223 #line 2938 "parse.y"
7224 { yyval
.ttype
= yyvsp
[0].ttype
; ;
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
);
7235 yyval
.ttype
= yyvsp
[0].ttype
;
7236 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7237 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7242 #line 2956 "parse.y"
7243 { yyval
.ttype
= TREE_TYPE (yyvsp
[0].ttype
); ;
7246 #line 2958 "parse.y"
7247 { yyval
.ttype
= make_typename_type (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7250 #line 2960 "parse.y"
7251 { yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[0].ttype
); ;
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
);
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
);
7269 yyval
.ttype
= yyvsp
[0].ttype
;
7270 if (TREE_CODE (yyval
.ttype
) == TYPE_DECL
)
7271 yyval
.ttype
= TREE_TYPE (yyval
.ttype
);
7276 #line 2983 "parse.y"
7277 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-2].ttype
, yyvsp
[-1].ttype
); ;
7280 #line 2985 "parse.y"
7281 { got_scope
= yyval
.ttype
= make_typename_type (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
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
);
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
));
7306 #line 3008 "parse.y"
7307 { got_scope
= yyval
.ttype
= complete_type (TREE_TYPE (yyval
.ttype
)); ;
7310 #line 3012 "parse.y"
7312 if (TREE_CODE (yyval
.ttype
) == IDENTIFIER_NODE
)
7313 yyval
.ttype
= lastiddecl
;
7314 got_scope
= yyval
.ttype
;
7318 #line 3021 "parse.y"
7319 { yyval
.ttype
= build_min_nt (TEMPLATE_ID_EXPR
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7322 #line 3026 "parse.y"
7324 if (TREE_CODE (yyvsp
[0].ttype
) == IDENTIFIER_NODE
)
7325 yyval
.ttype
= IDENTIFIER_GLOBAL_VALUE (yyvsp
[0].ttype
);
7327 yyval
.ttype
= yyvsp
[0].ttype
;
7328 got_scope
= NULL_TREE
;
7332 #line 3035 "parse.y"
7333 { yyval
.ttype
= yyvsp
[0].ttype
; ;
7336 #line 3040 "parse.y"
7337 { got_scope
= NULL_TREE
; ;
7340 #line 3042 "parse.y"
7341 { yyval
.ttype
= yyvsp
[-1].ttype
; got_scope
= NULL_TREE
; ;
7344 #line 3049 "parse.y"
7345 { got_scope
= void_type_node
; ;
7348 #line 3055 "parse.y"
7349 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7352 #line 3057 "parse.y"
7353 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
7356 #line 3059 "parse.y"
7357 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7360 #line 3061 "parse.y"
7361 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ttype
, NULL_TREE
); ;
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
);
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
);
7376 #line 3076 "parse.y"
7377 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7380 #line 3078 "parse.y"
7381 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7384 #line 3084 "parse.y"
7386 /* Provide support for '(' attributes '*' declarator ')'
7388 yyval
.ttype
= decl_tree_cons (yyvsp
[-1].ttype
, yyvsp
[0].ttype
, NULL_TREE
);
7392 #line 3094 "parse.y"
7393 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7396 #line 3096 "parse.y"
7397 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7400 #line 3098 "parse.y"
7401 { yyval
.ttype
= make_pointer_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7404 #line 3100 "parse.y"
7405 { yyval
.ttype
= make_pointer_declarator (NULL_TREE
, NULL_TREE
); ;
7408 #line 3102 "parse.y"
7409 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
7412 #line 3104 "parse.y"
7413 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, yyvsp
[0].ttype
); ;
7416 #line 3106 "parse.y"
7417 { yyval
.ttype
= make_reference_declarator (yyvsp
[0].ftype
.t
, NULL_TREE
); ;
7420 #line 3108 "parse.y"
7421 { yyval
.ttype
= make_reference_declarator (NULL_TREE
, NULL_TREE
); ;
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
);
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
);
7436 #line 3123 "parse.y"
7437 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7440 #line 3126 "parse.y"
7441 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7444 #line 3128 "parse.y"
7445 { yyval
.ttype
= make_call_declarator (yyval
.ttype
, empty_parms (), yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7448 #line 3130 "parse.y"
7449 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, yyvsp
[-1].ttype
); ;
7452 #line 3132 "parse.y"
7453 { yyval
.ttype
= build_parse_node (ARRAY_REF
, yyval
.ttype
, NULL_TREE
); ;
7456 #line 3134 "parse.y"
7457 { yyval
.ttype
= make_call_declarator (NULL_TREE
, yyvsp
[-3].ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7460 #line 3136 "parse.y"
7461 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7464 #line 3138 "parse.y"
7465 { set_quals_and_spec (yyval
.ttype
, yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
7468 #line 3140 "parse.y"
7469 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, yyvsp
[-1].ttype
); ;
7472 #line 3142 "parse.y"
7473 { yyval
.ttype
= build_parse_node (ARRAY_REF
, NULL_TREE
, NULL_TREE
); ;
7476 #line 3165 "parse.y"
7478 pedwarn ("ANSI C++ forbids label declarations"); ;
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
);
7491 #line 3189 "parse.y"
7495 #line 3195 "parse.y"
7496 { yyval
.ttype
= begin_compound_stmt (0); ;
7499 #line 3197 "parse.y"
7500 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7503 #line 3202 "parse.y"
7505 yyval
.ttype
= begin_if_stmt ();
7506 cond_stmt_keyword
= "if";
7510 #line 3207 "parse.y"
7511 { finish_if_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7514 #line 3209 "parse.y"
7515 { yyval
.ttype
= finish_then_clause (yyvsp
[-3].ttype
); ;
7518 #line 3214 "parse.y"
7519 { yyval
.ttype
= begin_compound_stmt (0); ;
7522 #line 3216 "parse.y"
7523 { yyval
.ttype
= finish_compound_stmt (0, yyvsp
[-1].ttype
); ;
7526 #line 3221 "parse.y"
7530 #line 3227 "parse.y"
7534 #line 3229 "parse.y"
7535 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7538 #line 3231 "parse.y"
7539 { begin_else_clause (); ;
7542 #line 3233 "parse.y"
7544 finish_else_clause (yyvsp
[-3].ttype
);
7549 #line 3238 "parse.y"
7550 { finish_if_stmt (); ;
7553 #line 3240 "parse.y"
7555 yyval
.ttype
= begin_while_stmt ();
7556 cond_stmt_keyword
= "while";
7560 #line 3245 "parse.y"
7561 { finish_while_stmt_cond (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7564 #line 3247 "parse.y"
7565 { finish_while_stmt (yyvsp
[-3].ttype
); ;
7568 #line 3249 "parse.y"
7569 { yyval
.ttype
= begin_do_stmt (); ;
7572 #line 3251 "parse.y"
7574 finish_do_body (yyvsp
[-2].ttype
);
7575 cond_stmt_keyword
= "do";
7579 #line 3256 "parse.y"
7580 { finish_do_stmt (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7583 #line 3258 "parse.y"
7584 { yyval
.ttype
= begin_for_stmt (); ;
7587 #line 3260 "parse.y"
7588 { finish_for_init_stmt (yyvsp
[-2].ttype
); ;
7591 #line 3262 "parse.y"
7592 { finish_for_cond (yyvsp
[-1].ttype
, yyvsp
[-5].ttype
); ;
7595 #line 3264 "parse.y"
7596 { finish_for_expr (yyvsp
[-1].ttype
, yyvsp
[-8].ttype
); ;
7599 #line 3266 "parse.y"
7600 { finish_for_stmt (yyvsp
[-3].ttype
, yyvsp
[-10].ttype
); ;
7603 #line 3268 "parse.y"
7604 { yyval
.ttype
= begin_switch_stmt (); ;
7607 #line 3270 "parse.y"
7608 { finish_switch_cond (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7611 #line 3272 "parse.y"
7612 { finish_switch_stmt (yyvsp
[-3].ttype
, yyvsp
[-5].ttype
); ;
7615 #line 3274 "parse.y"
7616 { finish_case_label (yyvsp
[-1].ttype
, NULL_TREE
); ;
7619 #line 3277 "parse.y"
7620 { finish_case_label (yyvsp
[-3].ttype
, yyvsp
[-1].ttype
); ;
7623 #line 3280 "parse.y"
7624 { finish_case_label (NULL_TREE
, NULL_TREE
); ;
7627 #line 3283 "parse.y"
7628 { finish_break_stmt (); ;
7631 #line 3285 "parse.y"
7632 { finish_continue_stmt (); ;
7635 #line 3287 "parse.y"
7636 { finish_return_stmt (NULL_TREE
); ;
7639 #line 3289 "parse.y"
7640 { finish_return_stmt (yyvsp
[-1].ttype
); ;
7643 #line 3291 "parse.y"
7645 finish_asm_stmt (yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
, NULL_TREE
,
7650 #line 3297 "parse.y"
7652 finish_asm_stmt (yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
,
7657 #line 3303 "parse.y"
7658 { finish_asm_stmt (yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
, NULL_TREE
); ;
7661 #line 3307 "parse.y"
7662 { finish_asm_stmt (yyvsp
[-10].ttype
, yyvsp
[-8].ttype
, yyvsp
[-6].ttype
, yyvsp
[-4].ttype
, yyvsp
[-2].ttype
); ;
7665 #line 3309 "parse.y"
7668 pedwarn ("ANSI C++ forbids computed gotos");
7669 finish_goto_stmt (yyvsp
[-1].ttype
);
7673 #line 3315 "parse.y"
7674 { finish_goto_stmt (yyvsp
[-1].ttype
); ;
7677 #line 3317 "parse.y"
7681 #line 3319 "parse.y"
7682 { error ("label must be followed by statement");
7687 #line 3323 "parse.y"
7691 #line 3327 "parse.y"
7692 { do_local_using_decl (yyvsp
[0].ttype
); ;
7695 #line 3333 "parse.y"
7696 { yyval
.ttype
= begin_function_try_block (); ;
7699 #line 3335 "parse.y"
7700 { finish_function_try_block (yyvsp
[-2].ttype
); ;
7703 #line 3337 "parse.y"
7705 finish_function_handler_sequence (yyvsp
[-4].ttype
);
7706 yyval
.itype
= yyvsp
[-3].itype
;
7710 #line 3345 "parse.y"
7711 { yyval
.ttype
= begin_try_block (); ;
7714 #line 3347 "parse.y"
7715 { finish_try_block (yyvsp
[-1].ttype
); ;
7718 #line 3349 "parse.y"
7719 { finish_handler_sequence (yyvsp
[-3].ttype
); ;
7722 #line 3359 "parse.y"
7723 { yyval
.ttype
= begin_handler(); ;
7726 #line 3361 "parse.y"
7727 { yyval
.ttype
= finish_handler_parms (yyvsp
[0].ttype
, yyvsp
[-1].ttype
); ;
7730 #line 3363 "parse.y"
7731 { finish_handler (yyvsp
[-1].ttype
, yyvsp
[-3].ttype
); ;
7734 #line 3373 "parse.y"
7735 { yyval
.ttype
= NULL_TREE
; ;
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
));
7746 #line 3398 "parse.y"
7747 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7750 #line 3400 "parse.y"
7751 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7754 #line 3402 "parse.y"
7755 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7758 #line 3404 "parse.y"
7759 { finish_label_stmt (yyvsp
[-1].ttype
); ;
7762 #line 3409 "parse.y"
7763 { finish_expr_stmt (yyvsp
[-1].ttype
); ;
7766 #line 3412 "parse.y"
7768 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7772 #line 3421 "parse.y"
7773 { emit_line_note (input_filename
, lineno
);
7774 yyval
.ttype
= NULL_TREE
; ;
7777 #line 3424 "parse.y"
7778 { emit_line_note (input_filename
, lineno
); ;
7781 #line 3429 "parse.y"
7782 { yyval
.ttype
= NULL_TREE
; ;
7785 #line 3432 "parse.y"
7786 { yyval
.ttype
= NULL_TREE
; ;
7789 #line 3439 "parse.y"
7790 { yyval
.ttype
= NULL_TREE
; ;
7793 #line 3446 "parse.y"
7794 { yyval
.ttype
= chainon (yyval
.ttype
, yyvsp
[0].ttype
); ;
7797 #line 3451 "parse.y"
7798 { yyval
.ttype
= build_tree_list (yyval
.ttype
, yyvsp
[-1].ttype
); ;
7801 #line 3456 "parse.y"
7802 { yyval
.ttype
= tree_cons (NULL_TREE
, yyval
.ttype
, NULL_TREE
); ;
7805 #line 3458 "parse.y"
7806 { yyval
.ttype
= tree_cons (NULL_TREE
, yyvsp
[0].ttype
, yyval
.ttype
); ;
7809 #line 3469 "parse.y"
7811 yyval
.ttype
= empty_parms();
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
); ;
7820 #line 3482 "parse.y"
7821 { yyval
.ttype
= finish_parmlist (yyval
.ttype
, 0); ;
7824 #line 3484 "parse.y"
7825 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7828 #line 3487 "parse.y"
7829 { yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 1); ;
7832 #line 3489 "parse.y"
7833 { yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7834 yyvsp
[-1].ftype
.t
), 1); ;
7837 #line 3492 "parse.y"
7838 { yyval
.ttype
= finish_parmlist (NULL_TREE
, 1); ;
7841 #line 3494 "parse.y"
7843 /* This helps us recover from really nasty
7844 parse errors, for example, a missing right
7846 yyerror ("possibly missing ')'");
7847 yyval
.ttype
= finish_parmlist (yyvsp
[-1].ttype
, 0);
7853 #line 3504 "parse.y"
7855 /* This helps us recover from really nasty
7856 parse errors, for example, a missing right
7858 yyerror ("possibly missing ')'");
7859 yyval
.ttype
= finish_parmlist (build_tree_list (NULL_TREE
,
7860 yyvsp
[-1].ftype
.t
), 0);
7866 #line 3519 "parse.y"
7867 { maybe_snarf_defarg (); ;
7870 #line 3521 "parse.y"
7871 { yyval
.ttype
= yyvsp
[0].ttype
; ;
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
); ;
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
); ;
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
); ;
7889 #line 3541 "parse.y"
7890 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (NULL_TREE
, yyvsp
[0].ttype
)); ;
7893 #line 3543 "parse.y"
7894 { yyval
.ttype
= chainon (yyval
.ttype
, build_tree_list (yyvsp
[0].ttype
, yyvsp
[-2].ttype
)); ;
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
); ;
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
); ;
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
; ;
7913 #line 3566 "parse.y"
7914 { yyval
.ftype
.t
= build_tree_list (build_decl_list (NULL_TREE
, yyvsp
[-1].ftype
.t
),
7916 yyval
.ftype
.new_type_flag
= yyvsp
[-1].ftype
.new_type_flag
; ;
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
; ;
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
; ;
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; ;
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
; ;
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
; ;
7947 #line 3599 "parse.y"
7948 { see_typename (); ;
7951 #line 3604 "parse.y"
7953 error ("type specifier omitted for parameter");
7954 yyval
.ttype
= build_tree_list (integer_type_node
, NULL_TREE
);
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
);
7969 #line 3621 "parse.y"
7970 { yyval
.ttype
= NULL_TREE
; ;
7973 #line 3623 "parse.y"
7974 { yyval
.ttype
= yyvsp
[-1].ttype
; ;
7977 #line 3625 "parse.y"
7978 { yyval
.ttype
= empty_except_spec
; ;
7981 #line 3630 "parse.y"
7983 check_for_new_type ("exception specifier", yyvsp
[0].ftype
);
7984 yyval
.ttype
= groktypename (yyvsp
[0].ftype
.t
);
7988 #line 3638 "parse.y"
7989 { yyval
.ttype
= add_exception_specifier (NULL_TREE
, yyvsp
[0].ttype
, 1); ;
7992 #line 3640 "parse.y"
7993 { yyval
.ttype
= add_exception_specifier (yyvsp
[-2].ttype
, yyvsp
[0].ttype
, 1); ;
7996 #line 3645 "parse.y"
7997 { yyval
.ttype
= NULL_TREE
; ;
8000 #line 3647 "parse.y"
8001 { yyval
.ttype
= make_pointer_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
8004 #line 3649 "parse.y"
8005 { yyval
.ttype
= make_reference_declarator (yyvsp
[-1].ttype
, yyvsp
[0].ttype
); ;
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
);
8014 #line 3658 "parse.y"
8015 { got_scope
= NULL_TREE
; ;
8018 #line 3663 "parse.y"
8019 { yyval
.ttype
= ansi_opname
[MULT_EXPR
]; ;
8022 #line 3665 "parse.y"
8023 { yyval
.ttype
= ansi_opname
[TRUNC_DIV_EXPR
]; ;
8026 #line 3667 "parse.y"
8027 { yyval
.ttype
= ansi_opname
[TRUNC_MOD_EXPR
]; ;
8030 #line 3669 "parse.y"
8031 { yyval
.ttype
= ansi_opname
[PLUS_EXPR
]; ;
8034 #line 3671 "parse.y"
8035 { yyval
.ttype
= ansi_opname
[MINUS_EXPR
]; ;
8038 #line 3673 "parse.y"
8039 { yyval
.ttype
= ansi_opname
[BIT_AND_EXPR
]; ;
8042 #line 3675 "parse.y"
8043 { yyval
.ttype
= ansi_opname
[BIT_IOR_EXPR
]; ;
8046 #line 3677 "parse.y"
8047 { yyval
.ttype
= ansi_opname
[BIT_XOR_EXPR
]; ;
8050 #line 3679 "parse.y"
8051 { yyval
.ttype
= ansi_opname
[BIT_NOT_EXPR
]; ;
8054 #line 3681 "parse.y"
8055 { yyval
.ttype
= ansi_opname
[COMPOUND_EXPR
]; ;
8058 #line 3683 "parse.y"
8059 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8062 #line 3685 "parse.y"
8063 { yyval
.ttype
= ansi_opname
[LT_EXPR
]; ;
8066 #line 3687 "parse.y"
8067 { yyval
.ttype
= ansi_opname
[GT_EXPR
]; ;
8070 #line 3689 "parse.y"
8071 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8074 #line 3691 "parse.y"
8075 { yyval
.ttype
= ansi_assopname
[yyvsp
[0].code
]; ;
8078 #line 3693 "parse.y"
8079 { yyval
.ttype
= ansi_opname
[MODIFY_EXPR
]; ;
8082 #line 3695 "parse.y"
8083 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8086 #line 3697 "parse.y"
8087 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8090 #line 3699 "parse.y"
8091 { yyval
.ttype
= ansi_opname
[POSTINCREMENT_EXPR
]; ;
8094 #line 3701 "parse.y"
8095 { yyval
.ttype
= ansi_opname
[PREDECREMENT_EXPR
]; ;
8098 #line 3703 "parse.y"
8099 { yyval
.ttype
= ansi_opname
[TRUTH_ANDIF_EXPR
]; ;
8102 #line 3705 "parse.y"
8103 { yyval
.ttype
= ansi_opname
[TRUTH_ORIF_EXPR
]; ;
8106 #line 3707 "parse.y"
8107 { yyval
.ttype
= ansi_opname
[TRUTH_NOT_EXPR
]; ;
8110 #line 3709 "parse.y"
8111 { yyval
.ttype
= ansi_opname
[COND_EXPR
]; ;
8114 #line 3711 "parse.y"
8115 { yyval
.ttype
= ansi_opname
[yyvsp
[0].code
]; ;
8118 #line 3713 "parse.y"
8119 { yyval
.ttype
= ansi_opname
[COMPONENT_REF
]; ;
8122 #line 3715 "parse.y"
8123 { yyval
.ttype
= ansi_opname
[MEMBER_REF
]; ;
8126 #line 3717 "parse.y"
8127 { yyval
.ttype
= ansi_opname
[CALL_EXPR
]; ;
8130 #line 3719 "parse.y"
8131 { yyval
.ttype
= ansi_opname
[ARRAY_REF
]; ;
8134 #line 3721 "parse.y"
8135 { yyval
.ttype
= ansi_opname
[NEW_EXPR
]; ;
8138 #line 3723 "parse.y"
8139 { yyval
.ttype
= ansi_opname
[DELETE_EXPR
]; ;
8142 #line 3725 "parse.y"
8143 { yyval
.ttype
= ansi_opname
[VEC_NEW_EXPR
]; ;
8146 #line 3727 "parse.y"
8147 { yyval
.ttype
= ansi_opname
[VEC_DELETE_EXPR
]; ;
8150 #line 3730 "parse.y"
8151 { yyval
.ttype
= grokoptypename (yyvsp
[-1].ftype
.t
, yyvsp
[0].ttype
); ;
8154 #line 3732 "parse.y"
8155 { yyval
.ttype
= ansi_opname
[ERROR_MARK
]; ;
8158 /* the action file gets copied in in place of this dollarsign */
8159 #line 542 "/usr/lib/bison.simple"
8170 short *ssp1
= yyss
- 1;
8171 fprintf (stderr
, "state stack now");
8172 while (ssp1
!= yyssp
)
8173 fprintf (stderr
, " %d", *++ssp1
);
8174 fprintf (stderr
, "\n");
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
;
8192 yylsp
->last_line
= (yylsp
+yylen
-1)->last_line
;
8193 yylsp
->last_column
= (yylsp
+yylen
-1)->last_column
;
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. */
8204 yystate
= yypgoto
[yyn
- YYNTBASE
] + *yyssp
;
8205 if (yystate
>= 0 && yystate
<= YYLAST
&& yycheck
[yystate
] == *yyssp
)
8206 yystate
= yytable
[yystate
];
8208 yystate
= yydefgoto
[yyn
- YYNTBASE
];
8212 yyerrlab
: /* here on detecting error */
8215 /* If not already recovering from an error, report this error. */
8219 #ifdef YYERROR_VERBOSE
8220 yyn
= yypact
[yystate
];
8222 if (yyn
> YYFLAG
&& yyn
< YYLAST
)
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);
8237 strcpy(msg
, "parse error");
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
]);
8256 yyerror ("parse error; also virtual memory exceeded");
8259 #endif /* YYERROR_VERBOSE */
8260 yyerror("parse error");
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
)
8276 fprintf(stderr
, "Discarding token %d (%s).\n", yychar
, yytname
[yychar1
]);
8282 /* Else will try to reuse lookahead token
8283 after shifting the error token. */
8285 yyerrstatus
= 3; /* Each real token shifted decrements this */
8289 yyerrdefault
: /* current state does not do anything special for the error token. */
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
;
8298 yyerrpop
: /* pop the current state because it cannot handle the error token */
8300 if (yyssp
== yyss
) YYABORT
;
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");
8320 yyn
= yypact
[yystate
];
8325 if (yyn
< 0 || yyn
> YYLAST
|| yycheck
[yyn
] != YYTERROR
)
8344 fprintf(stderr
, "Shifting error token, ");
8356 /* YYACCEPT comes here. */
8368 /* YYABORT comes here. */
8379 #line 3735 "parse.y"
8384 debug_yytranslate (value
)
8387 return yytname
[YYTRANSLATE (value
)];