* class.c, Make sure system.h is included just after config.h.
[gcc.git] / gcc / cp / parse.c
1
2 /* A Bison parser, made from parse.y
3 by GNU Bison version 1.25
4 */
5
6 #define YYBISON 1 /* Identify Bison output. */
7
8 #define IDENTIFIER 258
9 #define TYPENAME 259
10 #define SELFNAME 260
11 #define PFUNCNAME 261
12 #define SCSPEC 262
13 #define TYPESPEC 263
14 #define CV_QUALIFIER 264
15 #define CONSTANT 265
16 #define STRING 266
17 #define ELLIPSIS 267
18 #define SIZEOF 268
19 #define ENUM 269
20 #define IF 270
21 #define ELSE 271
22 #define WHILE 272
23 #define DO 273
24 #define FOR 274
25 #define SWITCH 275
26 #define CASE 276
27 #define DEFAULT 277
28 #define BREAK 278
29 #define CONTINUE 279
30 #define RETURN 280
31 #define GOTO 281
32 #define ASM_KEYWORD 282
33 #define GCC_ASM_KEYWORD 283
34 #define TYPEOF 284
35 #define ALIGNOF 285
36 #define SIGOF 286
37 #define ATTRIBUTE 287
38 #define EXTENSION 288
39 #define LABEL 289
40 #define REALPART 290
41 #define IMAGPART 291
42 #define AGGR 292
43 #define VISSPEC 293
44 #define DELETE 294
45 #define NEW 295
46 #define THIS 296
47 #define OPERATOR 297
48 #define CXX_TRUE 298
49 #define CXX_FALSE 299
50 #define NAMESPACE 300
51 #define TYPENAME_KEYWORD 301
52 #define USING 302
53 #define LEFT_RIGHT 303
54 #define TEMPLATE 304
55 #define TYPEID 305
56 #define DYNAMIC_CAST 306
57 #define STATIC_CAST 307
58 #define REINTERPRET_CAST 308
59 #define CONST_CAST 309
60 #define SCOPE 310
61 #define EMPTY 311
62 #define PTYPENAME 312
63 #define NSNAME 313
64 #define THROW 314
65 #define ASSIGN 315
66 #define OROR 316
67 #define ANDAND 317
68 #define MIN_MAX 318
69 #define EQCOMPARE 319
70 #define ARITHCOMPARE 320
71 #define LSHIFT 321
72 #define RSHIFT 322
73 #define POINTSAT_STAR 323
74 #define DOT_STAR 324
75 #define UNARY 325
76 #define PLUSPLUS 326
77 #define MINUSMINUS 327
78 #define HYPERUNARY 328
79 #define PAREN_STAR_PAREN 329
80 #define POINTSAT 330
81 #define TRY 331
82 #define CATCH 332
83 #define TYPENAME_ELLIPSIS 333
84 #define PRE_PARSED_FUNCTION_DECL 334
85 #define EXTERN_LANG_STRING 335
86 #define ALL 336
87 #define PRE_PARSED_CLASS_DECL 337
88 #define DEFARG 338
89 #define DEFARG_MARKER 339
90 #define TYPENAME_DEFN 340
91 #define IDENTIFIER_DEFN 341
92 #define PTYPENAME_DEFN 342
93 #define END_OF_LINE 343
94 #define END_OF_SAVED_INPUT 344
95
96 #line 29 "parse.y"
97
98 /* Cause the `yydebug' variable to be defined. */
99 #define YYDEBUG 1
100
101 #include "config.h"
102
103 #include "system.h"
104
105 #include "tree.h"
106 #include "input.h"
107 #include "flags.h"
108 #include "lex.h"
109 #include "cp-tree.h"
110 #include "output.h"
111 #include "except.h"
112
113 /* Since parsers are distinct for each language, put the language string
114 definition here. (fnf) */
115 char *language_string = "GNU C++";
116
117 extern tree void_list_node;
118 extern struct obstack permanent_obstack;
119
120 extern int end_of_file;
121
122 /* Like YYERROR but do call yyerror. */
123 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
124
125 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
126 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
127
128 /* Contains the statement keyword (if/while/do) to include in an
129 error message if the user supplies an empty conditional expression. */
130 static char *cond_stmt_keyword;
131
132 static tree empty_parms PROTO((void));
133
134 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
135 int have_extern_spec;
136 int used_extern_spec;
137
138 /* Cons up an empty parameter list. */
139 #ifdef __GNUC__
140 __inline
141 #endif
142 static tree
143 empty_parms ()
144 {
145 tree parms;
146
147 if (strict_prototype
148 || current_class_type != NULL)
149 parms = void_list_node;
150 else
151 parms = NULL_TREE;
152 return parms;
153 }
154
155
156 #line 95 "parse.y"
157 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
158 #line 284 "parse.y"
159
160 /* List of types and structure classes of the current declaration. */
161 static tree current_declspecs = NULL_TREE;
162 /* List of prefix attributes in effect.
163 Prefix attributes are parsed by the reserved_declspecs and declmods
164 rules. They create a list that contains *both* declspecs and attrs. */
165 /* ??? It is not clear yet that all cases where an attribute can now appear in
166 a declspec list have been updated. */
167 static tree prefix_attributes = NULL_TREE;
168
169 /* When defining an aggregate, this is the most recent one being defined. */
170 static tree current_aggr;
171
172 /* Tell yyparse how to print a token's value, if yydebug is set. */
173
174 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
175 extern void yyprint PROTO((FILE *, int, YYSTYPE));
176 extern tree combine_strings PROTO((tree));
177
178 static int
179 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
180 tree declarator;
181 tree specs_attrs;
182 tree attributes;
183 int initialized;
184 tree* decl;
185 {
186 int sm;
187
188 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
189 if (current_declspecs
190 && TREE_CODE (current_declspecs) != TREE_LIST)
191 current_declspecs = get_decl_list (current_declspecs);
192 if (have_extern_spec && !used_extern_spec)
193 {
194 current_declspecs = decl_tree_cons (NULL_TREE,
195 get_identifier ("extern"),
196 current_declspecs);
197 used_extern_spec = 1;
198 }
199 sm = suspend_momentary ();
200 *decl = start_decl (declarator, current_declspecs, initialized);
201 cplus_decl_attributes (*decl, attributes, prefix_attributes);
202 return sm;
203 }
204 #include <stdio.h>
205
206 #ifndef __cplusplus
207 #ifndef __STDC__
208 #define const
209 #endif
210 #endif
211
212
213
214 #define YYFINAL 1549
215 #define YYFLAG -32768
216 #define YYNTBASE 114
217
218 #define YYTRANSLATE(x) ((unsigned)(x) <= 344 ? yytranslate[x] : 386)
219
220 static const char yytranslate[] = { 0,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 112, 2, 2, 2, 83, 71, 2, 94,
225 110, 81, 79, 60, 80, 93, 82, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 63, 61, 75,
227 65, 76, 66, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 95, 2, 113, 70, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 59, 69, 111, 89, 2, 2, 2, 2,
234 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
235 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
236 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
237 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
238 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
239 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
240 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
241 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
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, 2, 2, 2, 2, 2, 2, 2, 2,
246 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
247 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
248 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
249 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
250 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
251 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
252 56, 57, 58, 62, 64, 67, 68, 72, 73, 74,
253 77, 78, 84, 85, 86, 87, 88, 90, 91, 92,
254 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
255 106, 107, 108, 109
256 };
257
258 #if YYDEBUG != 0
259 static const short yyprhs[] = { 0,
260 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
261 17, 19, 21, 22, 25, 28, 30, 32, 38, 43,
262 49, 54, 55, 62, 63, 69, 75, 78, 83, 86,
263 89, 93, 97, 99, 101, 104, 107, 109, 112, 113,
264 119, 123, 125, 129, 131, 132, 135, 138, 142, 144,
265 148, 150, 154, 156, 160, 163, 166, 169, 173, 177,
266 180, 183, 186, 189, 192, 194, 196, 198, 199, 201,
267 204, 205, 207, 212, 216, 220, 221, 230, 236, 237,
268 247, 254, 255, 264, 270, 271, 281, 288, 291, 294,
269 296, 299, 301, 308, 313, 320, 325, 328, 330, 333,
270 336, 338, 341, 343, 346, 349, 354, 357, 361, 362,
271 363, 365, 369, 372, 376, 378, 383, 386, 391, 394,
272 399, 402, 404, 406, 408, 410, 412, 414, 416, 418,
273 420, 422, 424, 425, 432, 433, 440, 441, 447, 448,
274 454, 455, 463, 464, 472, 473, 480, 481, 488, 489,
275 490, 495, 500, 502, 507, 509, 511, 512, 514, 516,
276 520, 522, 524, 526, 528, 530, 532, 534, 536, 538,
277 540, 544, 546, 550, 551, 553, 555, 556, 564, 566,
278 568, 572, 577, 581, 582, 586, 588, 592, 596, 600,
279 604, 606, 608, 610, 613, 616, 619, 622, 625, 628,
280 631, 636, 639, 644, 647, 651, 655, 660, 665, 671,
281 677, 684, 687, 692, 698, 701, 704, 708, 712, 716,
282 718, 722, 725, 729, 734, 736, 739, 745, 747, 751,
283 755, 759, 763, 767, 771, 775, 779, 783, 787, 791,
284 795, 799, 803, 807, 811, 815, 819, 823, 829, 833,
285 837, 839, 842, 846, 848, 850, 852, 854, 856, 857,
286 863, 869, 875, 881, 887, 889, 891, 893, 895, 898,
287 901, 905, 910, 915, 917, 919, 921, 925, 927, 929,
288 931, 933, 937, 941, 945, 946, 951, 956, 959, 964,
289 967, 970, 972, 977, 979, 987, 995, 1003, 1011, 1016,
290 1021, 1024, 1027, 1029, 1034, 1037, 1040, 1046, 1050, 1053,
291 1056, 1062, 1066, 1072, 1076, 1081, 1088, 1091, 1093, 1096,
292 1098, 1101, 1103, 1105, 1107, 1110, 1111, 1114, 1117, 1121,
293 1125, 1129, 1132, 1135, 1138, 1140, 1142, 1144, 1147, 1150,
294 1153, 1156, 1158, 1160, 1162, 1164, 1167, 1170, 1174, 1178,
295 1182, 1187, 1189, 1192, 1195, 1198, 1200, 1202, 1204, 1207,
296 1210, 1213, 1215, 1217, 1220, 1223, 1227, 1229, 1232, 1234,
297 1236, 1238, 1243, 1248, 1253, 1258, 1260, 1262, 1264, 1266,
298 1270, 1272, 1276, 1278, 1282, 1283, 1288, 1289, 1296, 1300,
299 1301, 1306, 1308, 1312, 1316, 1317, 1322, 1326, 1327, 1329,
300 1331, 1334, 1341, 1343, 1347, 1348, 1350, 1355, 1362, 1367,
301 1369, 1371, 1373, 1375, 1377, 1381, 1382, 1385, 1387, 1390,
302 1394, 1399, 1401, 1403, 1407, 1412, 1416, 1422, 1424, 1429,
303 1433, 1437, 1438, 1442, 1446, 1450, 1451, 1454, 1457, 1458,
304 1466, 1471, 1472, 1479, 1483, 1486, 1489, 1492, 1493, 1494,
305 1504, 1506, 1507, 1509, 1510, 1512, 1514, 1517, 1520, 1523,
306 1526, 1529, 1532, 1536, 1541, 1545, 1548, 1552, 1553, 1555,
307 1559, 1562, 1565, 1567, 1569, 1570, 1573, 1577, 1579, 1584,
308 1586, 1590, 1592, 1594, 1599, 1604, 1607, 1610, 1614, 1618,
309 1620, 1621, 1623, 1626, 1631, 1635, 1637, 1640, 1643, 1646,
310 1649, 1652, 1655, 1658, 1660, 1663, 1666, 1670, 1673, 1676,
311 1681, 1686, 1689, 1691, 1697, 1702, 1704, 1705, 1707, 1711,
312 1712, 1714, 1718, 1720, 1722, 1724, 1726, 1731, 1736, 1741,
313 1746, 1751, 1755, 1760, 1765, 1770, 1775, 1779, 1781, 1785,
314 1787, 1791, 1794, 1796, 1803, 1804, 1807, 1809, 1812, 1813,
315 1816, 1821, 1826, 1829, 1834, 1838, 1842, 1845, 1848, 1852,
316 1854, 1856, 1859, 1861, 1863, 1866, 1869, 1874, 1879, 1883,
317 1887, 1890, 1892, 1896, 1900, 1903, 1906, 1910, 1912, 1916,
318 1920, 1923, 1926, 1930, 1932, 1937, 1941, 1946, 1950, 1952,
319 1955, 1958, 1961, 1964, 1967, 1969, 1972, 1977, 1982, 1985,
320 1987, 1989, 1991, 1993, 1996, 2001, 2004, 2007, 2010, 2013,
321 2015, 2018, 2021, 2024, 2027, 2031, 2033, 2036, 2040, 2045,
322 2048, 2051, 2054, 2057, 2060, 2063, 2068, 2071, 2073, 2076,
323 2079, 2083, 2085, 2089, 2092, 2096, 2099, 2102, 2106, 2108,
324 2112, 2117, 2121, 2124, 2127, 2129, 2133, 2136, 2139, 2141,
325 2144, 2148, 2150, 2154, 2156, 2163, 2168, 2173, 2177, 2183,
326 2187, 2191, 2195, 2198, 2200, 2202, 2205, 2208, 2211, 2212,
327 2214, 2216, 2219, 2223, 2225, 2228, 2229, 2233, 2234, 2235,
328 2241, 2243, 2244, 2247, 2249, 2251, 2253, 2256, 2257, 2262,
329 2264, 2265, 2266, 2272, 2273, 2274, 2282, 2283, 2284, 2285,
330 2286, 2299, 2300, 2301, 2309, 2310, 2316, 2317, 2325, 2326,
331 2331, 2334, 2337, 2340, 2344, 2351, 2360, 2371, 2384, 2389,
332 2393, 2396, 2399, 2401, 2403, 2404, 2405, 2412, 2413, 2414,
333 2420, 2422, 2425, 2426, 2427, 2433, 2435, 2437, 2441, 2445,
334 2448, 2451, 2454, 2457, 2460, 2462, 2465, 2466, 2468, 2469,
335 2471, 2473, 2474, 2476, 2478, 2482, 2487, 2489, 2493, 2494,
336 2496, 2498, 2500, 2503, 2506, 2509, 2511, 2513, 2516, 2519,
337 2522, 2525, 2526, 2530, 2532, 2534, 2536, 2539, 2542, 2545,
338 2550, 2553, 2556, 2559, 2562, 2565, 2568, 2570, 2573, 2575,
339 2578, 2580, 2582, 2583, 2584, 2586, 2587, 2592, 2595, 2597,
340 2599, 2603, 2604, 2608, 2612, 2616, 2618, 2621, 2624, 2627,
341 2630, 2633, 2636, 2639, 2642, 2645, 2648, 2651, 2654, 2657,
342 2660, 2663, 2666, 2669, 2672, 2675, 2678, 2681, 2684, 2687,
343 2691, 2694, 2697, 2700, 2703, 2707, 2710, 2713, 2718, 2723,
344 2727
345 };
346
347 static const short yyrhs[] = { -1,
348 115, 0, 0, 116, 122, 0, 115, 122, 0, 115,
349 0, 0, 0, 0, 33, 0, 27, 0, 28, 0,
350 0, 123, 124, 0, 142, 141, 0, 138, 0, 137,
351 0, 121, 94, 208, 110, 61, 0, 129, 59, 117,
352 111, 0, 129, 118, 142, 119, 141, 0, 129, 118,
353 138, 119, 0, 0, 45, 157, 59, 125, 117, 111,
354 0, 0, 45, 59, 126, 117, 111, 0, 45, 157,
355 65, 128, 61, 0, 127, 61, 0, 47, 45, 128,
356 61, 0, 120, 124, 0, 47, 300, 0, 47, 314,
357 300, 0, 47, 314, 199, 0, 199, 0, 300, 0,
358 314, 300, 0, 314, 199, 0, 100, 0, 129, 100,
359 0, 0, 49, 75, 131, 132, 76, 0, 49, 75,
360 76, 0, 136, 0, 132, 60, 136, 0, 157, 0,
361 0, 257, 133, 0, 46, 133, 0, 130, 257, 133,
362 0, 134, 0, 134, 65, 214, 0, 377, 0, 377,
363 65, 194, 0, 135, 0, 135, 65, 176, 0, 130,
364 124, 0, 130, 1, 0, 225, 61, 0, 218, 224,
365 61, 0, 215, 223, 61, 0, 218, 61, 0, 160,
366 61, 0, 215, 61, 0, 1, 61, 0, 1, 111,
367 0, 61, 0, 209, 0, 153, 0, 0, 152, 0,
368 152, 61, 0, 0, 109, 0, 148, 140, 139, 324,
369 0, 148, 140, 348, 0, 148, 140, 1, 0, 0,
370 305, 5, 94, 144, 368, 110, 287, 380, 0, 305,
371 5, 48, 287, 380, 0, 0, 314, 305, 5, 94,
372 145, 368, 110, 287, 380, 0, 314, 305, 5, 48,
373 287, 380, 0, 0, 305, 172, 94, 146, 368, 110,
374 287, 380, 0, 305, 172, 48, 287, 380, 0, 0,
375 314, 305, 172, 94, 147, 368, 110, 287, 380, 0,
376 314, 305, 172, 48, 287, 380, 0, 215, 212, 0,
377 218, 297, 0, 297, 0, 218, 143, 0, 143, 0,
378 5, 94, 368, 110, 287, 380, 0, 5, 48, 287,
379 380, 0, 172, 94, 368, 110, 287, 380, 0, 172,
380 48, 287, 380, 0, 218, 149, 0, 149, 0, 215,
381 212, 0, 218, 297, 0, 297, 0, 218, 143, 0,
382 143, 0, 25, 3, 0, 151, 242, 0, 151, 94,
383 188, 110, 0, 151, 48, 0, 63, 154, 155, 0,
384 0, 0, 156, 0, 155, 60, 156, 0, 155, 1,
385 0, 94, 188, 110, 0, 48, 0, 158, 94, 188,
386 110, 0, 158, 48, 0, 293, 94, 188, 110, 0,
387 293, 48, 0, 307, 94, 188, 110, 0, 307, 48,
388 0, 3, 0, 4, 0, 5, 0, 57, 0, 58,
389 0, 3, 0, 57, 0, 58, 0, 106, 0, 105,
390 0, 107, 0, 0, 49, 169, 221, 61, 161, 170,
391 0, 0, 49, 169, 215, 212, 162, 170, 0, 0,
392 49, 169, 297, 163, 170, 0, 0, 49, 169, 143,
393 164, 170, 0, 0, 7, 49, 169, 221, 61, 165,
394 170, 0, 0, 7, 49, 169, 215, 212, 166, 170,
395 0, 0, 7, 49, 169, 297, 167, 170, 0, 0,
396 7, 49, 169, 143, 168, 170, 0, 0, 0, 57,
397 75, 174, 173, 0, 4, 75, 174, 173, 0, 172,
398 0, 5, 75, 174, 173, 0, 76, 0, 78, 0,
399 0, 175, 0, 176, 0, 175, 60, 176, 0, 214,
400 0, 194, 0, 80, 0, 79, 0, 87, 0, 88,
401 0, 112, 0, 187, 0, 194, 0, 48, 0, 94,
402 178, 110, 0, 48, 0, 94, 182, 110, 0, 0,
403 182, 0, 1, 0, 0, 358, 212, 226, 235, 65,
404 183, 243, 0, 178, 0, 111, 0, 321, 319, 111,
405 0, 321, 319, 1, 111, 0, 321, 1, 111, 0,
406 0, 59, 186, 184, 0, 333, 0, 194, 60, 194,
407 0, 194, 60, 1, 0, 187, 60, 194, 0, 187,
408 60, 1, 0, 194, 0, 187, 0, 203, 0, 120,
409 193, 0, 81, 193, 0, 71, 193, 0, 89, 193,
410 0, 177, 193, 0, 68, 157, 0, 13, 189, 0,
411 13, 94, 214, 110, 0, 30, 189, 0, 30, 94,
412 214, 110, 0, 205, 286, 0, 205, 286, 191, 0,
413 205, 190, 286, 0, 205, 190, 286, 191, 0, 205,
414 94, 214, 110, 0, 205, 94, 214, 110, 191, 0,
415 205, 190, 94, 214, 110, 0, 205, 190, 94, 214,
416 110, 191, 0, 206, 193, 0, 206, 95, 113, 193,
417 0, 206, 95, 178, 113, 193, 0, 35, 193, 0,
418 36, 193, 0, 94, 188, 110, 0, 59, 188, 111,
419 0, 94, 188, 110, 0, 48, 0, 94, 221, 110,
420 0, 65, 243, 0, 94, 214, 110, 0, 192, 94,
421 214, 110, 0, 189, 0, 192, 189, 0, 192, 59,
422 244, 255, 111, 0, 193, 0, 194, 84, 194, 0,
423 194, 85, 194, 0, 194, 79, 194, 0, 194, 80,
424 194, 0, 194, 81, 194, 0, 194, 82, 194, 0,
425 194, 83, 194, 0, 194, 77, 194, 0, 194, 78,
426 194, 0, 194, 74, 194, 0, 194, 75, 194, 0,
427 194, 76, 194, 0, 194, 73, 194, 0, 194, 72,
428 194, 0, 194, 71, 194, 0, 194, 69, 194, 0,
429 194, 70, 194, 0, 194, 68, 194, 0, 194, 67,
430 194, 0, 194, 66, 363, 63, 194, 0, 194, 65,
431 194, 0, 194, 64, 194, 0, 62, 0, 62, 194,
432 0, 89, 378, 157, 0, 197, 0, 385, 0, 3,
433 0, 57, 0, 58, 0, 0, 6, 75, 196, 174,
434 173, 0, 385, 75, 196, 174, 173, 0, 49, 157,
435 75, 174, 173, 0, 49, 6, 75, 174, 173, 0,
436 49, 385, 75, 174, 173, 0, 195, 0, 4, 0,
437 5, 0, 195, 0, 81, 200, 0, 71, 200, 0,
438 94, 200, 110, 0, 3, 75, 174, 173, 0, 58,
439 75, 175, 173, 0, 299, 0, 195, 0, 201, 0,
440 94, 200, 110, 0, 195, 0, 10, 0, 207, 0,
441 208, 0, 94, 178, 110, 0, 94, 200, 110, 0,
442 94, 1, 110, 0, 0, 94, 204, 325, 110, 0,
443 203, 94, 188, 110, 0, 203, 48, 0, 203, 95,
444 178, 113, 0, 203, 87, 0, 203, 88, 0, 41,
445 0, 9, 94, 188, 110, 0, 303, 0, 51, 75,
446 214, 76, 94, 178, 110, 0, 52, 75, 214, 76,
447 94, 178, 110, 0, 53, 75, 214, 76, 94, 178,
448 110, 0, 54, 75, 214, 76, 94, 178, 110, 0,
449 50, 94, 178, 110, 0, 50, 94, 214, 110, 0,
450 314, 3, 0, 314, 385, 0, 302, 0, 302, 94,
451 188, 110, 0, 302, 48, 0, 210, 198, 0, 210,
452 198, 94, 188, 110, 0, 210, 198, 48, 0, 210,
453 199, 0, 210, 302, 0, 210, 199, 94, 188, 110,
454 0, 210, 199, 48, 0, 210, 302, 94, 188, 110,
455 0, 210, 302, 48, 0, 210, 89, 8, 48, 0,
456 210, 8, 55, 89, 8, 48, 0, 210, 1, 0,
457 40, 0, 314, 40, 0, 39, 0, 314, 206, 0,
458 43, 0, 44, 0, 11, 0, 208, 11, 0, 0,
459 203, 93, 0, 203, 92, 0, 221, 223, 61, 0,
460 215, 223, 61, 0, 218, 224, 61, 0, 215, 61,
461 0, 218, 61, 0, 120, 211, 0, 292, 0, 297,
462 0, 48, 0, 213, 48, 0, 219, 317, 0, 288,
463 317, 0, 221, 317, 0, 219, 0, 288, 0, 219,
464 0, 216, 0, 218, 221, 0, 221, 217, 0, 221,
465 220, 217, 0, 218, 221, 217, 0, 218, 221, 220,
466 0, 218, 221, 220, 217, 0, 7, 0, 217, 222,
467 0, 217, 7, 0, 217, 236, 0, 236, 0, 288,
468 0, 7, 0, 218, 9, 0, 218, 7, 0, 218,
469 236, 0, 236, 0, 221, 0, 288, 221, 0, 221,
470 220, 0, 288, 221, 220, 0, 222, 0, 220, 222,
471 0, 250, 0, 8, 0, 294, 0, 29, 94, 178,
472 110, 0, 29, 94, 214, 110, 0, 31, 94, 178,
473 110, 0, 31, 94, 214, 110, 0, 8, 0, 9,
474 0, 250, 0, 231, 0, 223, 60, 227, 0, 232,
475 0, 224, 60, 227, 0, 233, 0, 225, 60, 227,
476 0, 0, 121, 94, 208, 110, 0, 0, 212, 226,
477 235, 65, 228, 243, 0, 212, 226, 235, 0, 0,
478 235, 65, 230, 243, 0, 235, 0, 212, 226, 229,
479 0, 297, 226, 229, 0, 0, 297, 226, 234, 229,
480 0, 143, 226, 235, 0, 0, 236, 0, 237, 0,
481 236, 237, 0, 32, 94, 94, 238, 110, 110, 0,
482 239, 0, 238, 60, 239, 0, 0, 240, 0, 240,
483 94, 3, 110, 0, 240, 94, 3, 60, 188, 110,
484 0, 240, 94, 188, 110, 0, 157, 0, 7, 0,
485 8, 0, 9, 0, 157, 0, 241, 60, 157, 0,
486 0, 65, 243, 0, 194, 0, 59, 111, 0, 59,
487 244, 111, 0, 59, 244, 60, 111, 0, 1, 0,
488 243, 0, 244, 60, 243, 0, 95, 194, 113, 243,
489 0, 157, 63, 243, 0, 244, 60, 157, 63, 243,
490 0, 99, 0, 245, 140, 139, 324, 0, 245, 140,
491 348, 0, 245, 140, 1, 0, 0, 247, 246, 141,
492 0, 104, 194, 109, 0, 104, 1, 109, 0, 0,
493 249, 248, 0, 249, 1, 0, 0, 14, 157, 59,
494 251, 284, 256, 111, 0, 14, 157, 59, 111, 0,
495 0, 14, 59, 252, 284, 256, 111, 0, 14, 59,
496 111, 0, 14, 157, 0, 14, 312, 0, 46, 307,
497 0, 0, 0, 264, 270, 272, 111, 235, 253, 249,
498 254, 247, 0, 264, 0, 0, 60, 0, 0, 60,
499 0, 37, 0, 257, 7, 0, 257, 8, 0, 257,
500 9, 0, 257, 37, 0, 257, 157, 0, 257, 159,
501 0, 257, 305, 157, 0, 257, 314, 305, 157, 0,
502 257, 314, 157, 0, 257, 171, 0, 257, 305, 171,
503 0, 0, 258, 0, 259, 261, 265, 0, 260, 265,
504 0, 257, 59, 0, 263, 0, 262, 0, 0, 63,
505 378, 0, 63, 378, 266, 0, 267, 0, 266, 60,
506 378, 267, 0, 268, 0, 269, 378, 268, 0, 307,
507 0, 293, 0, 31, 94, 178, 110, 0, 31, 94,
508 214, 110, 0, 38, 378, 0, 7, 378, 0, 269,
509 38, 378, 0, 269, 7, 378, 0, 59, 0, 0,
510 271, 0, 271, 273, 0, 272, 38, 63, 273, 0,
511 272, 38, 63, 0, 274, 0, 273, 274, 0, 275,
512 61, 0, 275, 111, 0, 150, 63, 0, 150, 96,
513 0, 150, 25, 0, 150, 59, 0, 61, 0, 120,
514 274, 0, 130, 274, 0, 130, 215, 61, 0, 215,
515 276, 0, 218, 277, 0, 297, 226, 235, 242, 0,
516 143, 226, 235, 242, 0, 63, 194, 0, 1, 0,
517 218, 149, 226, 235, 242, 0, 149, 226, 235, 242,
518 0, 127, 0, 0, 278, 0, 276, 60, 279, 0,
519 0, 281, 0, 277, 60, 283, 0, 280, 0, 281,
520 0, 282, 0, 283, 0, 292, 226, 235, 242, 0,
521 4, 63, 194, 235, 0, 297, 226, 235, 242, 0,
522 143, 226, 235, 242, 0, 3, 63, 194, 235, 0,
523 63, 194, 235, 0, 292, 226, 235, 242, 0, 4,
524 63, 194, 235, 0, 297, 226, 235, 242, 0, 3,
525 63, 194, 235, 0, 63, 194, 235, 0, 285, 0,
526 284, 60, 285, 0, 157, 0, 157, 65, 194, 0,
527 358, 315, 0, 358, 0, 94, 214, 110, 95, 178,
528 113, 0, 0, 287, 9, 0, 9, 0, 288, 9,
529 0, 0, 289, 178, 0, 289, 94, 188, 110, 0,
530 289, 94, 368, 110, 0, 289, 48, 0, 289, 94,
531 1, 110, 0, 81, 288, 292, 0, 71, 288, 292,
532 0, 81, 292, 0, 71, 292, 0, 313, 287, 292,
533 0, 296, 0, 304, 0, 314, 304, 0, 293, 0,
534 295, 0, 314, 295, 0, 305, 304, 0, 296, 291,
535 287, 380, 0, 296, 95, 290, 113, 0, 296, 95,
536 113, 0, 94, 292, 110, 0, 305, 304, 0, 304,
537 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
538 297, 0, 71, 297, 0, 313, 287, 297, 0, 202,
539 0, 81, 288, 297, 0, 71, 288, 297, 0, 81,
540 298, 0, 71, 298, 0, 313, 287, 297, 0, 299,
541 0, 202, 291, 287, 380, 0, 94, 298, 110, 0,
542 202, 95, 290, 113, 0, 202, 95, 113, 0, 301,
543 0, 305, 201, 0, 305, 199, 0, 305, 198, 0,
544 305, 195, 0, 305, 198, 0, 301, 0, 314, 301,
545 0, 221, 94, 188, 110, 0, 221, 94, 200, 110,
546 0, 221, 213, 0, 4, 0, 5, 0, 171, 0,
547 306, 0, 305, 306, 0, 305, 49, 311, 55, 0,
548 4, 55, 0, 5, 55, 0, 58, 55, 0, 171,
549 55, 0, 308, 0, 314, 308, 0, 309, 157, 0,
550 309, 171, 0, 309, 311, 0, 309, 49, 311, 0,
551 310, 0, 309, 310, 0, 309, 311, 55, 0, 309,
552 49, 311, 55, 0, 4, 55, 0, 5, 55, 0,
553 171, 55, 0, 57, 55, 0, 3, 55, 0, 58,
554 55, 0, 157, 75, 174, 173, 0, 314, 304, 0,
555 295, 0, 314, 295, 0, 305, 81, 0, 314, 305,
556 81, 0, 55, 0, 81, 287, 315, 0, 81, 287,
557 0, 71, 287, 315, 0, 71, 287, 0, 313, 287,
558 0, 313, 287, 315, 0, 316, 0, 95, 178, 113,
559 0, 316, 95, 290, 113, 0, 81, 288, 317, 0,
560 81, 317, 0, 81, 288, 0, 81, 0, 71, 288,
561 317, 0, 71, 317, 0, 71, 288, 0, 71, 0,
562 313, 287, 0, 313, 287, 317, 0, 318, 0, 94,
563 317, 110, 0, 91, 0, 318, 94, 368, 110, 287,
564 380, 0, 318, 48, 287, 380, 0, 318, 95, 290,
565 113, 0, 318, 95, 113, 0, 94, 369, 110, 287,
566 380, 0, 192, 287, 380, 0, 213, 287, 380, 0,
567 95, 290, 113, 0, 95, 113, 0, 332, 0, 320,
568 0, 319, 332, 0, 319, 320, 0, 1, 61, 0,
569 0, 322, 0, 323, 0, 322, 323, 0, 34, 241,
570 61, 0, 325, 0, 1, 325, 0, 0, 59, 326,
571 184, 0, 0, 0, 15, 328, 180, 329, 330, 0,
572 325, 0, 0, 331, 333, 0, 325, 0, 333, 0,
573 211, 0, 178, 61, 0, 0, 327, 16, 334, 330,
574 0, 327, 0, 0, 0, 17, 335, 180, 336, 185,
575 0, 0, 0, 18, 337, 330, 17, 338, 179, 61,
576 0, 0, 0, 0, 0, 19, 339, 94, 361, 340,
577 181, 61, 341, 363, 110, 342, 185, 0, 0, 0,
578 20, 343, 94, 182, 110, 344, 330, 0, 0, 21,
579 194, 63, 345, 332, 0, 0, 21, 194, 12, 194,
580 63, 346, 332, 0, 0, 22, 63, 347, 332, 0,
581 23, 61, 0, 24, 61, 0, 25, 61, 0, 25,
582 178, 61, 0, 121, 362, 94, 208, 110, 61, 0,
583 121, 362, 94, 208, 63, 364, 110, 61, 0, 121,
584 362, 94, 208, 63, 364, 63, 364, 110, 61, 0,
585 121, 362, 94, 208, 63, 364, 63, 364, 63, 367,
586 110, 61, 0, 26, 81, 178, 61, 0, 26, 157,
587 61, 0, 360, 332, 0, 360, 111, 0, 61, 0,
588 351, 0, 0, 0, 96, 349, 139, 325, 350, 354,
589 0, 0, 0, 96, 352, 325, 353, 354, 0, 355,
590 0, 354, 355, 0, 0, 0, 97, 356, 359, 357,
591 325, 0, 219, 0, 288, 0, 94, 12, 110, 0,
592 94, 377, 110, 0, 3, 63, 0, 57, 63, 0,
593 4, 63, 0, 5, 63, 0, 363, 61, 0, 211,
594 0, 59, 184, 0, 0, 9, 0, 0, 178, 0,
595 1, 0, 0, 365, 0, 366, 0, 365, 60, 366,
596 0, 11, 94, 178, 110, 0, 11, 0, 367, 60,
597 11, 0, 0, 369, 0, 214, 0, 373, 0, 374,
598 12, 0, 373, 12, 0, 214, 12, 0, 12, 0,
599 98, 0, 373, 98, 0, 214, 98, 0, 373, 63,
600 0, 214, 63, 0, 0, 65, 371, 372, 0, 103,
601 0, 243, 0, 375, 0, 377, 370, 0, 374, 376,
602 0, 374, 379, 0, 374, 379, 65, 243, 0, 373,
603 60, 0, 214, 60, 0, 216, 212, 0, 219, 212,
604 0, 221, 212, 0, 216, 317, 0, 216, 0, 218,
605 297, 0, 377, 0, 377, 370, 0, 375, 0, 214,
606 0, 0, 0, 297, 0, 0, 62, 94, 382, 110,
607 0, 62, 48, 0, 214, 0, 381, 0, 382, 60,
608 381, 0, 0, 81, 287, 383, 0, 71, 287, 383,
609 0, 313, 287, 383, 0, 42, 0, 384, 81, 0,
610 384, 82, 0, 384, 83, 0, 384, 79, 0, 384,
611 80, 0, 384, 71, 0, 384, 69, 0, 384, 70,
612 0, 384, 89, 0, 384, 60, 0, 384, 74, 0,
613 384, 75, 0, 384, 76, 0, 384, 73, 0, 384,
614 64, 0, 384, 65, 0, 384, 77, 0, 384, 78,
615 0, 384, 87, 0, 384, 88, 0, 384, 68, 0,
616 384, 67, 0, 384, 112, 0, 384, 66, 63, 0,
617 384, 72, 0, 384, 92, 0, 384, 84, 0, 384,
618 48, 0, 384, 95, 113, 0, 384, 40, 0, 384,
619 39, 0, 384, 40, 95, 113, 0, 384, 39, 95,
620 113, 0, 384, 358, 383, 0, 384, 1, 0
621 };
622
623 #endif
624
625 #if YYDEBUG != 0
626 static const short yyrline[] = { 0,
627 332, 334, 348, 351, 352, 356, 358, 361, 366, 370,
628 376, 378, 381, 384, 388, 391, 393, 395, 398, 400,
629 403, 406, 408, 410, 412, 414, 416, 418, 424, 428,
630 431, 433, 437, 439, 440, 442, 446, 449, 455, 458,
631 460, 465, 468, 472, 475, 478, 481, 485, 490, 500,
632 502, 504, 506, 508, 521, 530, 540, 542, 544, 548,
633 550, 551, 558, 559, 560, 563, 566, 570, 572, 573,
634 576, 578, 581, 584, 586, 590, 593, 595, 599, 601,
635 603, 607, 609, 611, 615, 617, 619, 625, 629, 632,
636 635, 638, 643, 646, 648, 650, 656, 666, 668, 671,
637 674, 676, 679, 683, 692, 695, 697, 701, 714, 734,
638 737, 739, 740, 743, 750, 756, 758, 760, 762, 764,
639 767, 772, 774, 775, 776, 777, 780, 782, 783, 786,
640 788, 789, 792, 797, 797, 801, 801, 804, 804, 807,
641 807, 811, 811, 816, 816, 819, 819, 822, 824, 827,
642 834, 841, 847, 850, 859, 861, 869, 872, 875, 878,
643 882, 885, 888, 891, 893, 895, 897, 901, 904, 907,
644 912, 916, 921, 925, 928, 930, 934, 954, 961, 964,
645 966, 967, 968, 971, 975, 976, 980, 984, 987, 989,
646 993, 996, 999, 1003, 1006, 1008, 1010, 1012, 1019, 1023,
647 1025, 1027, 1029, 1035, 1038, 1041, 1044, 1047, 1051, 1054,
648 1057, 1061, 1063, 1067, 1071, 1073, 1077, 1080, 1087, 1090,
649 1092, 1100, 1113, 1119, 1126, 1128, 1130, 1143, 1146, 1148,
650 1150, 1152, 1154, 1156, 1158, 1160, 1162, 1164, 1166, 1168,
651 1170, 1172, 1174, 1176, 1178, 1180, 1182, 1184, 1186, 1190,
652 1192, 1194, 1211, 1214, 1215, 1216, 1217, 1218, 1221, 1224,
653 1227, 1231, 1234, 1236, 1241, 1243, 1244, 1247, 1249, 1251,
654 1253, 1257, 1260, 1264, 1266, 1267, 1268, 1272, 1280, 1281,
655 1282, 1290, 1292, 1295, 1297, 1307, 1309, 1311, 1313, 1315,
656 1317, 1320, 1322, 1366, 1367, 1371, 1375, 1379, 1383, 1385,
657 1389, 1391, 1399, 1401, 1403, 1405, 1409, 1411, 1413, 1415,
658 1420, 1422, 1424, 1426, 1429, 1431, 1433, 1477, 1480, 1484,
659 1487, 1491, 1494, 1499, 1501, 1505, 1518, 1521, 1528, 1535,
660 1540, 1542, 1547, 1549, 1556, 1558, 1562, 1566, 1572, 1576,
661 1579, 1582, 1585, 1595, 1597, 1600, 1604, 1607, 1610, 1613,
662 1616, 1622, 1628, 1630, 1635, 1637, 1646, 1649, 1651, 1654,
663 1660, 1662, 1672, 1676, 1679, 1682, 1687, 1690, 1698, 1700,
664 1702, 1704, 1707, 1710, 1725, 1744, 1747, 1749, 1752, 1754,
665 1757, 1759, 1762, 1764, 1767, 1770, 1774, 1780, 1781, 1793,
666 1800, 1803, 1809, 1813, 1818, 1824, 1825, 1833, 1836, 1840,
667 1843, 1847, 1852, 1855, 1859, 1862, 1864, 1866, 1868, 1875,
668 1877, 1878, 1879, 1883, 1886, 1890, 1893, 1899, 1901, 1904,
669 1907, 1910, 1916, 1919, 1922, 1924, 1926, 1930, 1936, 1944,
670 1946, 1950, 1952, 1957, 1960, 1963, 1965, 1967, 1971, 1975,
671 1980, 1984, 1987, 1992, 1996, 1999, 2002, 2006, 2041, 2047,
672 2056, 2076, 2078, 2081, 2083, 2088, 2090, 2092, 2094, 2096,
673 2100, 2105, 2110, 2116, 2121, 2126, 2128, 2132, 2137, 2140,
674 2147, 2175, 2181, 2183, 2186, 2189, 2191, 2195, 2197, 2201,
675 2227, 2256, 2259, 2260, 2281, 2304, 2306, 2310, 2321, 2335,
676 2424, 2431, 2434, 2442, 2453, 2462, 2466, 2481, 2484, 2489,
677 2491, 2493, 2495, 2497, 2499, 2502, 2504, 2512, 2518, 2520,
678 2523, 2526, 2528, 2539, 2544, 2547, 2552, 2555, 2556, 2567,
679 2570, 2571, 2582, 2584, 2587, 2589, 2592, 2599, 2607, 2614,
680 2620, 2626, 2634, 2638, 2643, 2647, 2650, 2659, 2661, 2665,
681 2668, 2673, 2677, 2682, 2692, 2695, 2699, 2703, 2711, 2716,
682 2722, 2725, 2727, 2729, 2735, 2738, 2740, 2742, 2744, 2748,
683 2751, 2769, 2779, 2781, 2782, 2786, 2791, 2794, 2796, 2798,
684 2800, 2804, 2810, 2813, 2815, 2817, 2819, 2823, 2826, 2829,
685 2831, 2833, 2835, 2839, 2842, 2845, 2847, 2849, 2851, 2858,
686 2869, 2873, 2878, 2882, 2887, 2889, 2893, 2896, 2898, 2902,
687 2904, 2905, 2908, 2910, 2912, 2918, 2933, 2939, 2945, 2959,
688 2961, 2965, 2979, 2981, 2983, 2987, 2993, 3006, 3008, 3012,
689 3023, 3029, 3031, 3032, 3033, 3041, 3046, 3055, 3056, 3060,
690 3063, 3069, 3075, 3078, 3080, 3082, 3084, 3088, 3092, 3096,
691 3099, 3104, 3107, 3109, 3111, 3113, 3115, 3117, 3119, 3121,
692 3125, 3129, 3133, 3137, 3138, 3140, 3142, 3144, 3146, 3148,
693 3150, 3152, 3154, 3162, 3164, 3165, 3166, 3169, 3175, 3177,
694 3182, 3184, 3187, 3201, 3204, 3207, 3211, 3214, 3221, 3223,
695 3226, 3228, 3230, 3233, 3236, 3239, 3242, 3244, 3247, 3251,
696 3253, 3259, 3261, 3262, 3264, 3269, 3271, 3273, 3275, 3277,
697 3280, 3281, 3283, 3286, 3287, 3290, 3290, 3293, 3293, 3296,
698 3296, 3298, 3300, 3302, 3304, 3310, 3316, 3319, 3322, 3328,
699 3330, 3332, 3336, 3338, 3341, 3348, 3351, 3359, 3363, 3365,
700 3368, 3370, 3373, 3377, 3379, 3382, 3384, 3387, 3404, 3410,
701 3418, 3420, 3422, 3426, 3429, 3430, 3438, 3442, 3446, 3449,
702 3450, 3456, 3459, 3462, 3464, 3468, 3473, 3476, 3486, 3491,
703 3492, 3500, 3506, 3511, 3515, 3520, 3524, 3528, 3532, 3537,
704 3548, 3562, 3566, 3569, 3571, 3575, 3579, 3582, 3585, 3587,
705 3591, 3593, 3600, 3607, 3610, 3613, 3617, 3621, 3627, 3631,
706 3636, 3638, 3641, 3646, 3652, 3663, 3666, 3668, 3672, 3677,
707 3679, 3686, 3689, 3691, 3693, 3699, 3704, 3707, 3709, 3711,
708 3713, 3715, 3717, 3719, 3721, 3723, 3725, 3727, 3729, 3731,
709 3733, 3735, 3737, 3739, 3741, 3743, 3745, 3747, 3749, 3751,
710 3753, 3755, 3757, 3759, 3761, 3763, 3765, 3767, 3769, 3772,
711 3774
712 };
713 #endif
714
715
716 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
717
718 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
719 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
720 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
721 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD",
722 "TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART",
723 "AGGR","VISSPEC","DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE",
724 "TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST",
725 "REINTERPRET_CAST","CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','",
726 "';'","THROW","':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
727 "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
728 "'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY",
729 "PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS",
730 "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
731 "DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
732 "END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs",
733 "@1","extdefs_opt",".hush_warning",".warning_ok","extension","asm_keyword","lang_extdef",
734 "@2","extdef","@3","@4","using_decl","any_id","extern_lang_string","template_header",
735 "@5","template_parm_list","maybe_identifier","template_type_parm","template_template_parm",
736 "template_parm","template_def","datadef","ctor_initializer_opt","maybe_return_init",
737 "eat_saved_input","fndef","constructor_declarator","@6","@7","@8","@9","fn.def1",
738 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
739 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
740 "identifier_defn","explicit_instantiation","@10","@11","@12","@13","@14","@15",
741 "@16","@17","begin_explicit_instantiation","end_explicit_instantiation","template_type",
742 "self_template_type","template_close_bracket","template_arg_list_opt","template_arg_list",
743 "template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null","xcond",
744 "condition","@18","compstmtend","already_scoped_stmt","@19","nontrivial_exprlist",
745 "nonnull_exprlist","unary_expr","new_placement","new_initializer","regcast_or_absdcl",
746 "cast_expr","expr_no_commas","notype_unqualified_id","do_id","template_id","object_template_id",
747 "unqualified_id","expr_or_declarator","notype_template_declarator","direct_notype_declarator",
748 "primary","@20","new","delete","boolean.literal","string","nodecls","object",
749 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
750 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
751 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
752 "initdcl","@21","initdcl0_innards","@22","initdcl0","notype_initdcl0","nomods_initdcl0",
753 "@23","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
754 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
755 "pending_inlines","defarg_again","pending_defargs","structsp","@24","@25","@26",
756 "@27","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
757 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
758 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
759 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
760 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
761 "component_decl_1","components","notype_components","component_declarator0",
762 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
763 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
764 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
765 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
766 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
767 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
768 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
769 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
770 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
771 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
772 "label_decls","label_decl","compstmt_or_error","compstmt","@28","simple_if",
773 "@29","@30","implicitly_scoped_stmt","@31","stmt","simple_stmt","@32","@33",
774 "@34","@35","@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","function_try_block",
775 "@46","@47","try_block","@48","@49","handler_seq","handler","@50","@51","type_specifier_seq",
776 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
777 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
778 "complex_parmlist","defarg","@52","defarg1","parms","parms_comma","named_parm",
779 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
780 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
781 };
782 #endif
783
784 static const short yyr1[] = { 0,
785 114, 114, 116, 115, 115, 117, 117, 118, 119, 120,
786 121, 121, 123, 122, 124, 124, 124, 124, 124, 124,
787 124, 125, 124, 126, 124, 124, 124, 124, 124, 127,
788 127, 127, 128, 128, 128, 128, 129, 129, 131, 130,
789 130, 132, 132, 133, 133, 134, 134, 135, 136, 136,
790 136, 136, 136, 136, 137, 137, 138, 138, 138, 138,
791 138, 138, 138, 138, 138, 139, 139, 140, 140, 140,
792 141, 141, 142, 142, 142, 144, 143, 143, 145, 143,
793 143, 146, 143, 143, 147, 143, 143, 148, 148, 148,
794 148, 148, 149, 149, 149, 149, 150, 150, 150, 150,
795 150, 150, 150, 151, 152, 152, 152, 153, 154, 155,
796 155, 155, 155, 156, 156, 156, 156, 156, 156, 156,
797 156, 157, 157, 157, 157, 157, 158, 158, 158, 159,
798 159, 159, 161, 160, 162, 160, 163, 160, 164, 160,
799 165, 160, 166, 160, 167, 160, 168, 160, 169, 170,
800 171, 171, 171, 172, 173, 173, 174, 174, 175, 175,
801 176, 176, 177, 177, 177, 177, 177, 178, 178, 179,
802 179, 180, 180, 181, 181, 181, 183, 182, 182, 184,
803 184, 184, 184, 186, 185, 185, 187, 187, 187, 187,
804 188, 188, 189, 189, 189, 189, 189, 189, 189, 189,
805 189, 189, 189, 189, 189, 189, 189, 189, 189, 189,
806 189, 189, 189, 189, 189, 189, 190, 190, 191, 191,
807 191, 191, 192, 192, 193, 193, 193, 194, 194, 194,
808 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
809 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
810 194, 194, 195, 195, 195, 195, 195, 195, 196, 197,
811 197, 198, 198, 198, 199, 199, 199, 200, 200, 200,
812 200, 201, 201, 202, 202, 202, 202, 203, 203, 203,
813 203, 203, 203, 203, 204, 203, 203, 203, 203, 203,
814 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
815 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
816 203, 203, 203, 203, 203, 203, 203, 205, 205, 206,
817 206, 207, 207, 208, 208, 209, 210, 210, 211, 211,
818 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
819 214, 214, 214, 215, 215, 216, 216, 216, 216, 216,
820 216, 217, 217, 217, 217, 217, 218, 218, 218, 218,
821 218, 218, 219, 219, 219, 219, 220, 220, 221, 221,
822 221, 221, 221, 221, 221, 222, 222, 222, 223, 223,
823 224, 224, 225, 225, 226, 226, 228, 227, 227, 230,
824 229, 229, 231, 232, 234, 233, 233, 235, 235, 236,
825 236, 237, 238, 238, 239, 239, 239, 239, 239, 240,
826 240, 240, 240, 241, 241, 242, 242, 243, 243, 243,
827 243, 243, 244, 244, 244, 244, 244, 245, 246, 246,
828 246, 247, 247, 248, 248, 249, 249, 249, 251, 250,
829 250, 252, 250, 250, 250, 250, 250, 253, 254, 250,
830 250, 255, 255, 256, 256, 257, 257, 257, 257, 257,
831 258, 259, 260, 260, 260, 260, 260, 261, 262, 262,
832 262, 263, 264, 264, 265, 265, 265, 266, 266, 267,
833 267, 268, 268, 268, 268, 269, 269, 269, 269, 270,
834 271, 272, 272, 272, 272, 273, 273, 274, 274, 274,
835 274, 274, 274, 274, 274, 274, 274, 275, 275, 275,
836 275, 275, 275, 275, 275, 275, 276, 276, 276, 277,
837 277, 277, 278, 278, 279, 279, 280, 280, 281, 281,
838 281, 281, 282, 282, 283, 283, 283, 284, 284, 285,
839 285, 286, 286, 286, 287, 287, 288, 288, 289, 290,
840 291, 291, 291, 291, 292, 292, 292, 292, 292, 292,
841 293, 293, 294, 294, 294, 295, 296, 296, 296, 296,
842 296, 296, 297, 297, 297, 297, 297, 297, 298, 298,
843 298, 298, 298, 298, 299, 299, 299, 299, 299, 299,
844 300, 300, 301, 301, 302, 302, 303, 303, 303, 304,
845 304, 304, 305, 305, 305, 306, 306, 306, 306, 307,
846 307, 308, 308, 308, 308, 309, 309, 309, 309, 310,
847 310, 310, 310, 310, 310, 311, 312, 312, 312, 313,
848 313, 314, 315, 315, 315, 315, 315, 315, 315, 316,
849 316, 317, 317, 317, 317, 317, 317, 317, 317, 317,
850 317, 317, 318, 318, 318, 318, 318, 318, 318, 318,
851 318, 318, 318, 319, 319, 319, 319, 320, 321, 321,
852 322, 322, 323, 324, 324, 326, 325, 328, 329, 327,
853 330, 331, 330, 332, 332, 333, 333, 334, 333, 333,
854 335, 336, 333, 337, 338, 333, 339, 340, 341, 342,
855 333, 343, 344, 333, 345, 333, 346, 333, 347, 333,
856 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
857 333, 333, 333, 333, 349, 350, 348, 352, 353, 351,
858 354, 354, 356, 357, 355, 358, 358, 359, 359, 360,
859 360, 360, 360, 361, 361, 361, 362, 362, 363, 363,
860 363, 364, 364, 365, 365, 366, 367, 367, 368, 368,
861 368, 369, 369, 369, 369, 369, 369, 369, 369, 369,
862 369, 371, 370, 372, 372, 373, 373, 373, 373, 373,
863 374, 374, 375, 375, 375, 375, 375, 375, 376, 376,
864 377, 377, 378, 379, 379, 380, 380, 380, 381, 382,
865 382, 383, 383, 383, 383, 384, 385, 385, 385, 385,
866 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
867 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
868 385, 385, 385, 385, 385, 385, 385, 385, 385, 385,
869 385
870 };
871
872 static const short yyr2[] = { 0,
873 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
874 1, 1, 0, 2, 2, 1, 1, 5, 4, 5,
875 4, 0, 6, 0, 5, 5, 2, 4, 2, 2,
876 3, 3, 1, 1, 2, 2, 1, 2, 0, 5,
877 3, 1, 3, 1, 0, 2, 2, 3, 1, 3,
878 1, 3, 1, 3, 2, 2, 2, 3, 3, 2,
879 2, 2, 2, 2, 1, 1, 1, 0, 1, 2,
880 0, 1, 4, 3, 3, 0, 8, 5, 0, 9,
881 6, 0, 8, 5, 0, 9, 6, 2, 2, 1,
882 2, 1, 6, 4, 6, 4, 2, 1, 2, 2,
883 1, 2, 1, 2, 2, 4, 2, 3, 0, 0,
884 1, 3, 2, 3, 1, 4, 2, 4, 2, 4,
885 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
886 1, 1, 0, 6, 0, 6, 0, 5, 0, 5,
887 0, 7, 0, 7, 0, 6, 0, 6, 0, 0,
888 4, 4, 1, 4, 1, 1, 0, 1, 1, 3,
889 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
890 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
891 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
892 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
893 4, 2, 4, 2, 3, 3, 4, 4, 5, 5,
894 6, 2, 4, 5, 2, 2, 3, 3, 3, 1,
895 3, 2, 3, 4, 1, 2, 5, 1, 3, 3,
896 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
897 3, 3, 3, 3, 3, 3, 3, 5, 3, 3,
898 1, 2, 3, 1, 1, 1, 1, 1, 0, 5,
899 5, 5, 5, 5, 1, 1, 1, 1, 2, 2,
900 3, 4, 4, 1, 1, 1, 3, 1, 1, 1,
901 1, 3, 3, 3, 0, 4, 4, 2, 4, 2,
902 2, 1, 4, 1, 7, 7, 7, 7, 4, 4,
903 2, 2, 1, 4, 2, 2, 5, 3, 2, 2,
904 5, 3, 5, 3, 4, 6, 2, 1, 2, 1,
905 2, 1, 1, 1, 2, 0, 2, 2, 3, 3,
906 3, 2, 2, 2, 1, 1, 1, 2, 2, 2,
907 2, 1, 1, 1, 1, 2, 2, 3, 3, 3,
908 4, 1, 2, 2, 2, 1, 1, 1, 2, 2,
909 2, 1, 1, 2, 2, 3, 1, 2, 1, 1,
910 1, 4, 4, 4, 4, 1, 1, 1, 1, 3,
911 1, 3, 1, 3, 0, 4, 0, 6, 3, 0,
912 4, 1, 3, 3, 0, 4, 3, 0, 1, 1,
913 2, 6, 1, 3, 0, 1, 4, 6, 4, 1,
914 1, 1, 1, 1, 3, 0, 2, 1, 2, 3,
915 4, 1, 1, 3, 4, 3, 5, 1, 4, 3,
916 3, 0, 3, 3, 3, 0, 2, 2, 0, 7,
917 4, 0, 6, 3, 2, 2, 2, 0, 0, 9,
918 1, 0, 1, 0, 1, 1, 2, 2, 2, 2,
919 2, 2, 3, 4, 3, 2, 3, 0, 1, 3,
920 2, 2, 1, 1, 0, 2, 3, 1, 4, 1,
921 3, 1, 1, 4, 4, 2, 2, 3, 3, 1,
922 0, 1, 2, 4, 3, 1, 2, 2, 2, 2,
923 2, 2, 2, 1, 2, 2, 3, 2, 2, 4,
924 4, 2, 1, 5, 4, 1, 0, 1, 3, 0,
925 1, 3, 1, 1, 1, 1, 4, 4, 4, 4,
926 4, 3, 4, 4, 4, 4, 3, 1, 3, 1,
927 3, 2, 1, 6, 0, 2, 1, 2, 0, 2,
928 4, 4, 2, 4, 3, 3, 2, 2, 3, 1,
929 1, 2, 1, 1, 2, 2, 4, 4, 3, 3,
930 2, 1, 3, 3, 2, 2, 3, 1, 3, 3,
931 2, 2, 3, 1, 4, 3, 4, 3, 1, 2,
932 2, 2, 2, 2, 1, 2, 4, 4, 2, 1,
933 1, 1, 1, 2, 4, 2, 2, 2, 2, 1,
934 2, 2, 2, 2, 3, 1, 2, 3, 4, 2,
935 2, 2, 2, 2, 2, 4, 2, 1, 2, 2,
936 3, 1, 3, 2, 3, 2, 2, 3, 1, 3,
937 4, 3, 2, 2, 1, 3, 2, 2, 1, 2,
938 3, 1, 3, 1, 6, 4, 4, 3, 5, 3,
939 3, 3, 2, 1, 1, 2, 2, 2, 0, 1,
940 1, 2, 3, 1, 2, 0, 3, 0, 0, 5,
941 1, 0, 2, 1, 1, 1, 2, 0, 4, 1,
942 0, 0, 5, 0, 0, 7, 0, 0, 0, 0,
943 12, 0, 0, 7, 0, 5, 0, 7, 0, 4,
944 2, 2, 2, 3, 6, 8, 10, 12, 4, 3,
945 2, 2, 1, 1, 0, 0, 6, 0, 0, 5,
946 1, 2, 0, 0, 5, 1, 1, 3, 3, 2,
947 2, 2, 2, 2, 1, 2, 0, 1, 0, 1,
948 1, 0, 1, 1, 3, 4, 1, 3, 0, 1,
949 1, 1, 2, 2, 2, 1, 1, 2, 2, 2,
950 2, 0, 3, 1, 1, 1, 2, 2, 2, 4,
951 2, 2, 2, 2, 2, 2, 1, 2, 1, 2,
952 1, 1, 0, 0, 1, 0, 4, 2, 1, 1,
953 3, 0, 3, 3, 3, 1, 2, 2, 2, 2,
954 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
955 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
956 2, 2, 2, 2, 3, 2, 2, 4, 4, 3,
957 2
958 };
959
960 static const short yydefact[] = { 3,
961 13, 13, 5, 0, 4, 0, 256, 600, 601, 0,
962 358, 370, 547, 0, 11, 12, 0, 0, 0, 10,
963 456, 806, 0, 0, 0, 149, 632, 257, 258, 65,
964 0, 0, 793, 0, 37, 0, 0, 14, 0, 8,
965 0, 17, 16, 71, 92, 68, 0, 602, 153, 275,
966 254, 276, 578, 0, 345, 0, 344, 363, 0, 383,
967 362, 400, 369, 0, 469, 468, 475, 474, 473, 451,
968 357, 563, 371, 564, 90, 274, 589, 561, 0, 603,
969 545, 0, 0, 255, 63, 64, 157, 606, 157, 607,
970 157, 259, 149, 122, 123, 124, 125, 126, 442, 445,
971 0, 628, 0, 446, 0, 0, 0, 0, 123, 124,
972 125, 126, 24, 0, 0, 0, 0, 0, 0, 0,
973 447, 610, 0, 616, 0, 0, 0, 0, 0, 0,
974 30, 0, 0, 39, 0, 157, 608, 0, 0, 576,
975 0, 0, 0, 575, 0, 0, 0, 0, 275, 0,
976 549, 0, 274, 545, 29, 0, 27, 3, 38, 0,
977 56, 55, 72, 15, 0, 398, 0, 0, 416, 69,
978 61, 609, 549, 0, 545, 62, 0, 0, 0, 88,
979 0, 379, 335, 560, 336, 572, 0, 545, 360, 359,
980 60, 91, 346, 0, 381, 361, 89, 352, 376, 377,
981 347, 365, 367, 356, 378, 0, 57, 401, 457, 458,
982 459, 460, 472, 131, 130, 132, 461, 462, 466, 0,
983 0, 475, 793, 471, 490, 491, 548, 364, 0, 395,
984 601, 0, 630, 153, 593, 594, 590, 566, 604, 0,
985 565, 562, 0, 841, 837, 836, 834, 816, 821, 822,
986 0, 828, 827, 813, 814, 812, 831, 820, 817, 818,
987 819, 823, 824, 810, 811, 807, 808, 809, 833, 825,
988 826, 815, 832, 0, 829, 736, 363, 737, 802, 259,
989 256, 547, 279, 324, 0, 0, 0, 0, 320, 318,
990 292, 322, 323, 0, 0, 0, 0, 0, 258, 251,
991 0, 0, 164, 163, 0, 165, 166, 0, 0, 167,
992 0, 0, 158, 159, 0, 225, 0, 228, 162, 278,
993 193, 0, 0, 280, 281, 0, 161, 342, 363, 343,
994 595, 303, 294, 0, 0, 0, 0, 157, 0, 444,
995 0, 439, 0, 629, 627, 0, 168, 169, 0, 0,
996 0, 405, 3, 22, 0, 624, 620, 621, 623, 625,
997 622, 122, 123, 124, 0, 125, 126, 612, 613, 617,
998 614, 611, 266, 267, 0, 265, 33, 34, 0, 592,
999 591, 32, 31, 41, 0, 358, 139, 0, 0, 363,
1000 137, 0, 0, 574, 0, 573, 253, 270, 0, 582,
1001 269, 0, 581, 0, 277, 586, 0, 0, 13, 0,
1002 149, 9, 9, 0, 397, 399, 104, 75, 109, 725,
1003 0, 67, 66, 74, 107, 0, 0, 105, 70, 588,
1004 0, 0, 553, 0, 796, 0, 558, 0, 557, 0,
1005 0, 0, 0, 545, 398, 0, 59, 549, 545, 571,
1006 0, 349, 350, 0, 58, 398, 354, 353, 355, 348,
1007 368, 385, 384, 463, 467, 465, 0, 470, 476, 0,
1008 0, 366, 398, 545, 76, 0, 0, 0, 0, 545,
1009 82, 546, 577, 601, 631, 153, 0, 0, 830, 835,
1010 365, 545, 545, 0, 545, 840, 157, 0, 0, 0,
1011 200, 0, 0, 202, 215, 216, 0, 0, 0, 0,
1012 0, 252, 199, 196, 195, 197, 0, 0, 0, 0,
1013 0, 278, 0, 0, 0, 194, 155, 156, 272, 0,
1014 198, 0, 0, 226, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 288, 290, 291, 328,
1017 327, 0, 0, 0, 0, 0, 204, 543, 0, 212,
1018 325, 317, 0, 0, 793, 306, 309, 310, 0, 0,
1019 337, 649, 645, 654, 0, 549, 545, 545, 545, 339,
1020 652, 0, 599, 341, 0, 0, 340, 305, 0, 301,
1021 319, 321, 596, 0, 302, 152, 154, 0, 147, 0,
1022 363, 145, 540, 454, 538, 441, 0, 0, 372, 0,
1023 0, 373, 374, 375, 411, 412, 413, 410, 0, 403,
1024 406, 0, 3, 0, 615, 157, 618, 28, 36, 35,
1025 45, 0, 0, 0, 49, 53, 42, 792, 787, 0,
1026 342, 363, 45, 343, 791, 51, 150, 135, 133, 150,
1027 151, 273, 580, 579, 277, 583, 0, 19, 21, 71,
1028 0, 110, 326, 0, 676, 73, 674, 422, 0, 418,
1029 417, 192, 0, 191, 550, 587, 0, 766, 767, 0,
1030 761, 363, 0, 760, 762, 794, 776, 0, 0, 585,
1031 556, 555, 0, 0, 570, 0, 393, 392, 380, 569,
1032 0, 796, 559, 351, 382, 394, 398, 464, 600, 601,
1033 793, 0, 793, 602, 477, 478, 480, 793, 483, 482,
1034 0, 513, 601, 0, 504, 0, 0, 516, 0, 103,
1035 98, 0, 153, 517, 520, 0, 496, 0, 101, 0,
1036 398, 396, 796, 759, 157, 157, 605, 157, 796, 759,
1037 545, 79, 545, 85, 839, 838, 802, 802, 802, 0,
1038 0, 0, 0, 599, 0, 0, 0, 0, 363, 0,
1039 0, 0, 284, 0, 282, 283, 0, 223, 160, 256,
1040 600, 601, 257, 258, 0, 0, 423, 452, 0, 250,
1041 249, 751, 750, 0, 247, 246, 244, 245, 243, 242,
1042 241, 238, 239, 240, 236, 237, 231, 232, 233, 234,
1043 235, 229, 230, 0, 0, 0, 0, 0, 0, 206,
1044 220, 0, 0, 205, 545, 545, 0, 545, 542, 639,
1045 0, 0, 0, 0, 0, 308, 0, 312, 0, 314,
1046 0, 648, 647, 644, 643, 792, 0, 0, 663, 0,
1047 0, 796, 338, 796, 650, 545, 759, 549, 649, 645,
1048 0, 0, 545, 0, 0, 0, 0, 0, 260, 150,
1049 143, 141, 150, 0, 455, 0, 454, 190, 189, 188,
1050 187, 405, 0, 0, 25, 0, 26, 619, 0, 47,
1051 44, 45, 0, 40, 0, 0, 649, 645, 0, 783,
1052 545, 786, 788, 0, 784, 785, 46, 461, 0, 140,
1053 150, 150, 138, 18, 20, 386, 127, 115, 128, 129,
1054 0, 108, 111, 0, 0, 0, 0, 675, 669, 419,
1055 0, 106, 554, 551, 765, 782, 771, 769, 0, 552,
1056 764, 781, 770, 768, 763, 795, 778, 789, 779, 772,
1057 777, 798, 0, 390, 568, 567, 389, 487, 0, 486,
1058 793, 793, 793, 0, 545, 759, 512, 505, 517, 506,
1059 398, 398, 502, 503, 500, 501, 545, 759, 256, 600,
1060 0, 385, 99, 508, 518, 523, 524, 385, 385, 0,
1061 0, 385, 97, 509, 521, 385, 497, 498, 499, 398,
1062 0, 448, 78, 0, 0, 0, 0, 84, 0, 796,
1063 759, 796, 759, 804, 803, 805, 261, 293, 201, 203,
1064 299, 300, 0, 0, 0, 0, 283, 286, 0, 0,
1065 0, 0, 224, 0, 287, 289, 218, 217, 208, 0,
1066 207, 222, 0, 0, 636, 634, 0, 637, 549, 213,
1067 0, 0, 157, 315, 0, 0, 0, 646, 642, 653,
1068 545, 662, 660, 661, 651, 796, 0, 658, 0, 597,
1069 598, 0, 304, 148, 150, 150, 146, 541, 539, 443,
1070 0, 404, 402, 256, 0, 23, 626, 48, 43, 50,
1071 54, 648, 644, 649, 645, 0, 561, 0, 545, 650,
1072 52, 136, 134, 0, 113, 0, 117, 0, 119, 0,
1073 121, 0, 726, 0, 180, 677, 0, 670, 671, 0,
1074 420, 649, 645, 0, 278, 0, 595, 790, 0, 0,
1075 799, 800, 0, 0, 387, 0, 0, 0, 489, 488,
1076 481, 796, 0, 507, 416, 416, 796, 0, 0, 0,
1077 398, 398, 0, 398, 398, 0, 398, 0, 416, 0,
1078 436, 545, 263, 262, 264, 545, 81, 0, 87, 0,
1079 0, 0, 0, 0, 0, 426, 0, 424, 227, 248,
1080 0, 209, 210, 219, 221, 635, 633, 640, 638, 0,
1081 214, 0, 0, 307, 311, 313, 796, 656, 545, 657,
1082 144, 142, 440, 0, 407, 409, 648, 644, 566, 650,
1083 114, 112, 0, 0, 0, 0, 414, 0, 0, 256,
1084 600, 601, 678, 691, 694, 697, 702, 0, 0, 0,
1085 0, 0, 0, 257, 723, 728, 0, 747, 0, 686,
1086 0, 0, 363, 0, 665, 684, 690, 664, 685, 724,
1087 0, 672, 421, 0, 598, 780, 774, 775, 773, 0,
1088 797, 391, 0, 484, 485, 479, 94, 545, 511, 515,
1089 96, 545, 398, 398, 532, 416, 256, 600, 0, 519,
1090 525, 526, 385, 385, 416, 416, 0, 416, 522, 510,
1091 0, 796, 796, 545, 545, 0, 0, 0, 0, 425,
1092 0, 0, 211, 641, 316, 262, 659, 796, 0, 116,
1093 118, 120, 733, 727, 731, 0, 673, 668, 183, 740,
1094 742, 743, 0, 0, 682, 0, 0, 0, 709, 711,
1095 712, 713, 0, 0, 0, 741, 0, 334, 748, 0,
1096 687, 332, 385, 0, 333, 0, 385, 0, 0, 0,
1097 181, 667, 666, 688, 722, 721, 283, 801, 388, 796,
1098 796, 531, 528, 530, 0, 0, 398, 398, 398, 527,
1099 529, 514, 438, 0, 437, 432, 77, 83, 796, 796,
1100 295, 296, 297, 298, 427, 544, 655, 408, 0, 732,
1101 415, 172, 0, 679, 692, 681, 0, 0, 0, 0,
1102 0, 705, 0, 714, 0, 720, 729, 0, 330, 331,
1103 0, 0, 0, 329, 182, 682, 93, 95, 398, 398,
1104 537, 416, 416, 0, 0, 450, 80, 86, 0, 734,
1105 179, 0, 363, 0, 682, 0, 695, 683, 669, 745,
1106 698, 0, 0, 0, 0, 710, 719, 0, 0, 689,
1107 536, 534, 533, 535, 435, 434, 428, 68, 71, 0,
1108 0, 0, 173, 385, 680, 184, 693, 186, 0, 746,
1109 0, 744, 703, 707, 706, 730, 752, 0, 0, 433,
1110 738, 739, 735, 398, 669, 170, 0, 0, 176, 0,
1111 175, 682, 0, 0, 0, 753, 754, 715, 431, 0,
1112 430, 0, 185, 0, 696, 699, 704, 708, 0, 752,
1113 0, 0, 429, 177, 171, 0, 0, 0, 716, 755,
1114 0, 0, 756, 0, 0, 178, 700, 757, 0, 717,
1115 0, 0, 0, 701, 758, 718, 0, 0, 0
1116 };
1117
1118 static const short yydefgoto[] = { 1547,
1119 409, 2, 410, 160, 669, 311, 165, 3, 4, 38,
1120 633, 353, 738, 375, 40, 739, 385, 644, 900, 645,
1121 646, 647, 42, 43, 421, 168, 164, 44, 740, 754,
1122 1021, 760, 1023, 46, 741, 742, 169, 170, 422, 672,
1123 932, 933, 613, 934, 218, 47, 922, 921, 660, 657,
1124 1086, 1085, 883, 880, 135, 920, 48, 49, 529, 312,
1125 313, 314, 315, 1249, 1498, 1404, 1500, 1442, 1531, 1126,
1126 1477, 1495, 347, 872, 316, 566, 834, 317, 318, 348,
1127 320, 338, 51, 236, 377, 398, 52, 53, 321, 524,
1128 322, 323, 324, 325, 423, 326, 1250, 462, 588, 327,
1129 1251, 55, 201, 650, 328, 202, 502, 203, 181, 194,
1130 59, 445, 463, 1273, 707, 1144, 182, 195, 60, 473,
1131 708, 61, 62, 629, 630, 631, 1228, 428, 797, 798,
1132 1468, 1469, 1436, 1385, 1301, 63, 617, 341, 1171, 1386,
1133 1042, 886, 64, 65, 66, 67, 222, 68, 69, 70,
1134 224, 725, 726, 727, 728, 226, 470, 471, 746, 747,
1135 748, 994, 1004, 995, 1290, 996, 997, 1291, 1292, 614,
1136 615, 567, 862, 330, 431, 432, 175, 183, 72, 73,
1137 74, 184, 185, 152, 76, 131, 331, 332, 333, 78,
1138 334, 80, 730, 122, 123, 124, 478, 104, 81, 335,
1139 839, 840, 857, 591, 1254, 1255, 1127, 1128, 1129, 676,
1140 1256, 939, 1257, 1333, 1445, 1407, 1408, 1258, 1259, 1426,
1141 1334, 1446, 1335, 1479, 1336, 1481, 1526, 1541, 1337, 1502,
1142 1455, 1503, 1413, 424, 673, 1226, 1260, 1347, 1458, 1324,
1143 1325, 1399, 1472, 1444, 1440, 1261, 1451, 1350, 804, 1505,
1144 1506, 1507, 1539, 693, 694, 961, 1140, 1269, 695, 696,
1145 697, 957, 698, 145, 959, 700, 1142, 1143, 496, 83,
1146 84
1147 };
1148
1149 static const short yypact[] = { 125,
1150 130,-32768,-32768, 3240,-32768, 195, 72, 188, 284, 151,
1151 102,-32768,-32768, 1117,-32768,-32768, 136, 176, 198,-32768,
1152 -32768,-32768, 1085, 1187, 1489, 256,-32768, 304, 367,-32768,
1153 2407, 2407,-32768, 4859,-32768, 3240, 294,-32768, 352, 91,
1154 5970,-32768,-32768, 208, 1265, 379, 356, 372,-32768,-32768,
1155 -32768,-32768, 330, 2553,-32768, 10199,-32768, 1350, 498,-32768,
1156 423,-32768,-32768, 1046,-32768,-32768, 399,-32768,-32768, 417,
1157 4154,-32768,-32768,-32768, 784,-32768,-32768,-32768, 849,-32768,
1158 -32768, 508, 5609, 408,-32768,-32768, 9052,-32768, 9052,-32768,
1159 9052,-32768,-32768,-32768, 188, 284, 304, 445, 453, 492,
1160 372,-32768, 1409,-32768, 508, 9052, 9052, 480,-32768,-32768,
1161 -32768,-32768,-32768, 64, 528, 368, 383, 478, 538, 553,
1162 -32768,-32768, 564,-32768, 572, 188, 284, 1112, 304, 445,
1163 -32768, 855, 467, 509, 10350, 9052,-32768, 9052, 2926,-32768,
1164 1285, 543, 2926,-32768, 1090, 3033, 3033, 4859, 524, 547,
1165 517, 552, 555,-32768,-32768, 627,-32768, 556,-32768, 10084,
1166 195,-32768,-32768,-32768, 582, 423, 691, 145, 179, 624,
1167 -32768,-32768, 592, 250,-32768,-32768, 3416, 3416, 4989, 784,
1168 591,-32768,-32768, 387,-32768,-32768, 2806,-32768,-32768,-32768,
1169 -32768,-32768, 1350, 641,-32768, 423, 784,-32768,-32768,-32768,
1170 1578, 1350,-32768, 423,-32768, 5186,-32768,-32768,-32768,-32768,
1171 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 372, 988,
1172 1434, 399,-32768,-32768,-32768,-32768,-32768, 682, 508,-32768,
1173 497, 963,-32768, 271,-32768,-32768,-32768,-32768,-32768, 3988,
1174 -32768,-32768, 590,-32768, 617, 620,-32768,-32768,-32768,-32768,
1175 658,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1176 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1177 -32768,-32768,-32768, 616,-32768,-32768, 682, 4154, 1158,-32768,
1178 -32768, 646,-32768,-32768, 9667, 9754, 9841, 9841,-32768,-32768,
1179 -32768,-32768,-32768, 668, 701, 711, 721, 732, 445, 9139,
1180 1090, 9841,-32768,-32768, 9841,-32768,-32768, 9841, 7165,-32768,
1181 9841, 223, 683,-32768, 9841,-32768, 9226,-32768, 10446,-32768,
1182 1514, 1785, 9313,-32768, 799, 2426,-32768, 953, 3686, 4007,
1183 -32768, 307,-32768, 1524, 1858, 223, 223, 9052, 10350,-32768,
1184 1090, 703, 1090,-32768,-32768, 708, 768, 10596, 724, 733,
1185 738, 945, 556,-32768, 1112,-32768,-32768,-32768,-32768,-32768,
1186 -32768, 528, 368, 383, 1090, 478, 538, 793, 553,-32768,
1187 776,-32768, 188, 284, 814,-32768,-32768,-32768, 467,-32768,
1188 -32768,-32768,-32768,-32768, 4967,-32768,-32768, 5186, 5373, 1679,
1189 -32768, 223, 809,-32768, 775,-32768,-32768,-32768, 2926,-32768,
1190 -32768, 2926,-32768, 760,-32768,-32768, 3988, 87, 761, 777,
1191 -32768,-32768,-32768, 627,-32768, 423,-32768,-32768,-32768,-32768,
1192 148,-32768,-32768,-32768,-32768, 7257, 9139,-32768,-32768,-32768,
1193 9139, 779,-32768, 6493, 100, 4306,-32768, 4306,-32768, 4584,
1194 4584, 4989, 790,-32768, 423, 5186,-32768, 783,-32768,-32768,
1195 4619, 1578, 1350, 5186,-32768, 423,-32768,-32768, 423, 1578,
1196 -32768, 811,-32768,-32768, 372,-32768, 988,-32768, 1220, 1675,
1197 57, 682, 423,-32768,-32768, 836, 852, 876, 858,-32768,
1198 -32768,-32768,-32768, 532,-32768, 338, 821, 826,-32768,-32768,
1199 682,-32768,-32768, 822,-32768,-32768, 9052, 9139, 646, 7165,
1200 -32768, 437, 7165,-32768,-32768,-32768, 9052, 5977, 5977, 5977,
1201 5977, 10641,-32768,-32768,-32768,-32768, 832, 9928, 9928, 7165,
1202 851, 524, 863, 887, 867,-32768,-32768,-32768,-32768, 9052,
1203 -32768, 6790, 7165,-32768, 9139, 9139, 7349, 9139, 9139, 9139,
1204 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139, 9139,
1205 9139, 9139, 9139, 9139, 9139, 9139,-32768,-32768,-32768,-32768,
1206 -32768, 9139, 9139, 9139, 9052, 2857, 366, 440, 7988,-32768,
1207 -32768,-32768, 880, 963, 972, 444, 523, 530, 2780, 543,
1208 -32768, 1687, 1687,-32768, 4837, 868, 877, 948,-32768,-32768,
1209 502, 8495, 725,-32768, 860, 508,-32768,-32768, 9139,-32768,
1210 -32768,-32768,-32768, 249,-32768,-32768,-32768, 223,-32768, 5186,
1211 1998,-32768, 933, 939,-32768,-32768, 1090, 793,-32768, 7717,
1212 7809,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 79,-32768,
1213 906, 895, 556, 951, 961, 9052,-32768,-32768,-32768,-32768,
1214 1386, 256, 990, 206, 970, 971,-32768,-32768, 2152, 10406,
1215 2152, 4432, 1046, 10143,-32768, 973,-32768,-32768,-32768,-32768,
1216 -32768,-32768,-32768,-32768, 929,-32768, 979,-32768,-32768, 208,
1217 89, 460, 993, 887,-32768,-32768,-32768,-32768, 6695, 10641,
1218 -32768, 768, 947, 10596,-32768,-32768, 952,-32768,-32768, 967,
1219 160, 5318, 969,-32768, 169, 5796, 996, 1015, 561,-32768,
1220 -32768,-32768, 4306, 4306,-32768, 4619,-32768, 1016,-32768,-32768,
1221 995, 100,-32768, 1578,-32768,-32768, 423,-32768, 368, 383,
1222 -32768, 964,-32768, 553, 1022,-32768,-32768, 120,-32768,-32768,
1223 1492,-32768, 589, 669,-32768, 9139, 5517,-32768, 5517, 335,
1224 335, 217, 585, 2595, 10244, 2284,-32768, 225, 335, 1043,
1225 423,-32768, 100, 2575, 9052, 9052,-32768, 9052, 100, 2575,
1226 -32768,-32768,-32768,-32768,-32768,-32768, 649, 649, 649, 223,
1227 975, 1000, 9406, 948, 1004, 1014, 1019, 1059, 4066, 1060,
1228 1074, 1079,-32768, 1058,-32768,-32768, 1068,-32768,-32768, 1118,
1229 787, 900, 65, 431, 9139, 1120,-32768, 1124, 1070, 10641,
1230 10641,-32768,-32768, 1123, 5412, 5667, 3513, 5693, 4244, 3542,
1231 3712, 1983, 1983, 1983, 1691, 1691, 1237, 1237, 756, 756,
1232 756,-32768,-32768, 1084, 1082, 1086, 1095, 1097, 5977, 366,
1233 -32768, 7257, 9139,-32768,-32768,-32768, 9139,-32768,-32768, 1105,
1234 9841, 1099, 1119, 1136, 1166,-32768, 9139,-32768, 9139,-32768,
1235 9139, 2683,-32768, 2683,-32768, 140, 1109, 1110,-32768, 1113,
1236 5977, 100,-32768, 100, 4679,-32768, 2575, 1125, 8687, 8687,
1237 6301, 1121, 9226, 1122, 3050, 1858, 984, 1130,-32768,-32768,
1238 -32768,-32768,-32768, 9139, 1090, 1138, 939,-32768, 10641,-32768,
1239 10641, 945, 1137, 9493,-32768, 1141,-32768,-32768, 223,-32768,
1240 -32768, 1364, 4967,-32768, 5977, 9052, 2037, 2037, 3864,-32768,
1241 -32768,-32768,-32768, 2806,-32768,-32768,-32768, 61, 9139,-32768,
1242 -32768,-32768,-32768,-32768,-32768,-32768, 528,-32768, 478, 538,
1243 9139, 1170,-32768, 587, 601, 622, 887,-32768, 71,-32768,
1244 55,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 8591,-32768,
1245 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 1015, 1168,-32768,
1246 -32768,-32768, 5977,-32768,-32768,-32768, 1190,-32768, 9052,-32768,
1247 -32768,-32768,-32768, 1345,-32768, 2575, 10641,-32768, 1904,-32768,
1248 423, 423,-32768,-32768,-32768,-32768,-32768, 2575, 232, 915,
1249 9139, 811,-32768, 1196,-32768,-32768,-32768, 343, 391, 849,
1250 543, 686, 335, 1199,-32768, 901,-32768,-32768,-32768, 423,
1251 4219,-32768,-32768, 1154, 223, 223, 223,-32768, 1157, 100,
1252 2575, 100, 2575,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1253 -32768,-32768, 1175, 1176, 1177, 1179, 929,-32768, 10528, 7257,
1254 6885, 1163,-32768, 9139,-32768,-32768,-32768,-32768, 825, 1172,
1255 -32768,-32768, 1173, 66, 285, 285, 1167, 285,-32768,-32768,
1256 9841, 1268, 9052,-32768, 1185, 1186, 1188,-32768,-32768,-32768,
1257 -32768,-32768,-32768,-32768,-32768, 100, 1191,-32768, 1192,-32768,
1258 -32768, 3120,-32768,-32768,-32768,-32768,-32768, 10641,-32768,-32768,
1259 1189,-32768,-32768, 227, 1197,-32768,-32768,-32768,-32768,-32768,
1260 -32768, 2938, 2938, 3140, 3140, 3864,-32768, 2806,-32768, 3487,
1261 10446,-32768,-32768, 1200,-32768, 460,-32768, 9139,-32768, 9139,
1262 -32768, 9139,-32768, 1090,-32768,-32768, 6207, 1275,-32768, 6977,
1263 -32768, 8780, 8780, 6397, 183, 1205, 254,-32768, 7257, 7069,
1264 -32768,-32768, 240, 7257,-32768, 1214, 1218, 1220,-32768,-32768,
1265 -32768, 100, 1219,-32768, 1266, 1266, 100, 1222, 9139, 9139,
1266 10506, 423, 3309, 423, 423, 1160, 423, 4478, 1266, 5125,
1267 -32768,-32768,-32768, 1278,-32768,-32768,-32768, 1225,-32768, 1226,
1268 9139, 9139, 9139, 9139, 7257,-32768, 1276,-32768,-32768, 10641,
1269 9139,-32768, 825,-32768,-32768,-32768,-32768,-32768,-32768, 1228,
1270 -32768, 1290, 223,-32768,-32768,-32768, 100,-32768,-32768,-32768,
1271 -32768,-32768,-32768, 9139,-32768,-32768, 2938, 2938,-32768, 3487,
1272 -32768,-32768, 1234, 1236, 1244, 1250,-32768, 786, 242, 1297,
1273 1021, 1023,-32768,-32768,-32768,-32768,-32768, 9139, 1300, 1304,
1274 1309, 8873, 257, 415,-32768,-32768, 8965, 1366, 1316,-32768,
1275 4706, 10305, 10451, 6095,-32768,-32768, 1362,-32768,-32768,-32768,
1276 8099,-32768,-32768, 1273, 1916,-32768,-32768,-32768,-32768, 5977,
1277 -32768,-32768, 7257,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1278 -32768,-32768, 10506, 10506,-32768, 1266, 695, 1083, 9139,-32768,
1279 -32768,-32768, 811, 811, 1266, 1266, 532, 1266,-32768,-32768,
1280 5854, 100, 100,-32768,-32768, 1282, 1284, 1298, 1308,-32768,
1281 7257, 1310,-32768,-32768,-32768,-32768,-32768, 100, 1314,-32768,
1282 -32768,-32768,-32768, 1250,-32768, 1090,-32768,-32768,-32768,-32768,
1283 -32768,-32768, 629, 629, 887, 1292, 1294, 10484,-32768,-32768,
1284 -32768,-32768, 1334, 9139, 1369,-32768, 887,-32768,-32768, 1338,
1285 -32768,-32768, 811, 823,-32768, 861, 811, 9580, 864, 266,
1286 -32768,-32768,-32768,-32768,-32768,-32768, 339,-32768,-32768, 100,
1287 100,-32768,-32768,-32768, 9139, 9139, 10506, 423, 423,-32768,
1288 -32768,-32768,-32768, 7901,-32768,-32768,-32768,-32768, 100, 100,
1289 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1339,-32768,
1290 -32768,-32768, 9052,-32768,-32768,-32768, 1435, 8401, 6603, 9052,
1291 9139,-32768, 8209,-32768, 1394,-32768,-32768, 627,-32768,-32768,
1292 10015, 10015, 7441,-32768,-32768, 887,-32768,-32768, 10506, 10506,
1293 -32768, 1266, 1266, 1347, 10550, 1358,-32768,-32768, 5257,-32768,
1294 -32768, 1349, 443, 5186, 887, 8305,-32768,-32768, 71,-32768,
1295 -32768, 1402, 1359, 10619, 8209,-32768,-32768, 1250, 78,-32768,
1296 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 379, 208, 1360,
1297 1361, 887,-32768, 811,-32768,-32768,-32768,-32768, 638,-32768,
1298 7533,-32768,-32768,-32768,-32768, 1250, 1457, 1411, 156,-32768,
1299 -32768,-32768,-32768, 423, 71,-32768, 9139, 1413,-32768, 1414,
1300 -32768, 887, 8209, 1382, 53, 1418,-32768,-32768,-32768, 148,
1301 -32768, 1415,-32768, 1371,-32768,-32768,-32768,-32768, 9139, 1457,
1302 1421, 1457,-32768,-32768,-32768, 7625, 1373, 158,-32768,-32768,
1303 7257, 1377,-32768, 1479, 1439,-32768,-32768,-32768, 301,-32768,
1304 8305, 1490, 1442,-32768,-32768,-32768, 1508, 1509,-32768
1305 };
1306
1307 static const short yypgoto[] = {-32768,
1308 1511,-32768, -303,-32768, 1101, 18, -1, 1515,-32768, 192,
1309 -32768,-32768, 519, 1161,-32768, 5,-32768,-32768, -623,-32768,
1310 -32768, 615,-32768, 1363, -668, 83, -664, 1392, 30,-32768,
1311 -32768,-32768,-32768,-32768, 774,-32768,-32768,-32768,-32768,-32768,
1312 -32768, 404, 661,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768, 1440, -611, 5315, 32, -317, 44,
1314 1416, -503,-32768, 103,-32768, 222,-32768, -1302,-32768, -756,
1315 17,-32768, 1320, 1586, -262,-32768, -794, 1774, -110, 1098,
1316 3500, 1281,-32768, -87, -55, 1580, -77, 27,-32768,-32768,
1317 -32768, -319,-32768, -155,-32768,-32768, -1156, -47, -316, 2413,
1318 58, -240, -120, 52, 76, -181, -4, -144, -610, 312,
1319 -32768, 68, 73,-32768, -337,-32768,-32768,-32768,-32768,-32768,
1320 374, 1115, 20,-32768, 673,-32768,-32768, -1049, -422, 890,
1321 -32768,-32768,-32768,-32768,-32768, -32,-32768,-32768,-32768,-32768,
1322 -32768, 685, -360,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1323 1348,-32768, 426, 602,-32768,-32768,-32768,-32768, 566, -686,
1324 -32768,-32768,-32768,-32768,-32768,-32768, 833,-32768, 412, 966,
1325 704, 1024, 3968, 7, 51, -431, 1407, 3322, -438,-32768,
1326 19,-32768, 3079, -118, 247, -59, 3948, 1271,-32768, 4653,
1327 1794, 1660, -16, -115,-32768, 1471, -81,-32768, 4369, 2696,
1328 -290,-32768, 2504,-32768,-32768, 344,-32768,-32768, 471, 93,
1329 -353,-32768,-32768,-32768,-32768, -1262,-32768, -1191, -1324,-32768,
1330 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1331 -32768,-32768,-32768, 115,-32768,-32768,-32768,-32768,-32768, 153,
1332 -1232,-32768,-32768, -65,-32768,-32768,-32768,-32768, -1312, 92,
1333 -32768, 94,-32768, -616, -520, 660,-32768,-32768,-32768,-32768,
1334 -371,-32768, -364, -179,-32768, 681, 349,-32768, -394,-32768,
1335 -217
1336 };
1337
1338
1339 #define YYLAST 10726
1340
1341
1342 static const short yytable[] = { 58,
1343 408, 237, 37, 681, 937, 925, 180, 121, 41, 372,
1344 71, 453, 593, 655, 479, 602, 711, 279, 606, 607,
1345 656, 36, 501, 504, 653, 205, 789, 400, 403, 917,
1346 729, 58, 102, 45, 37, 1051, 58, 139, 143, 37,
1347 41, 371, 71, 469, 380, 41, 472, 71, 923, 632,
1348 978, 193, 980, 36, 534, 56, 458, 461, 36, 1007,
1349 151, 54, 1363, 237, 858, 45, 228, 677, 378, 1366,
1350 45, 858, 452, 383, 661, 662, 381, 382, 277, 57,
1351 208, 460, 329, 1448, 329, 192, 329, 56, 571, 278,
1352 1348, 1400, 56, 54, 750, 491, 1452, 571, 54, 571,
1353 241, 329, 329, 174, 1124, 1279, 1280, 1453, 482, 237,
1354 234, 57, 166, 581, 1130, 1520, 57, 605, 716, 1300,
1355 -44, 1478, 354, 344, -1, -44, 972, -125, 355, -2,
1356 390, 329, 336, 329, 337, 752, -44, 1014, 892, 136,
1357 1487, 71, 230, 1019, 649, 418, 87, 491, 674, 158,
1358 93, 945, 399, 402, 860, 58, 1509, 973, 276, 773,
1359 205, 699, 1521, 1460, 387, 1131, 71, 751, 205, 205,
1360 787, 945, 151, 151, 151, 1195, 505, 506, 1501, 392,
1361 951, 1125, 1475, 436, 438, 774, 389, 1488, 893, 45,
1362 159, 514, 388, 649, 515, 205, 667, 516, 926, 946,
1363 526, 174, 947, -326, 531, 151, 675, 419, 346, 350,
1364 57, 56, 570, 1532, -326, 208, 1478, 54, 419, 946,
1365 1534, 1456, 947, 208, -792, 92, 425, 155, 952, 106,
1366 -275, 953, 162, 935, 174, 57, 1374, 948, 576, 1517,
1367 420, 983, 88, 426, 205, 1380, 1381, 241, 1382, 788,
1368 1077, 420, 1450, 1400, 1192, 85, 568, 948, 671, 94,
1369 109, 110, 89, 1485, 456, 903, 954, 1535, 1084, 107,
1370 577, 1087, 427, 228, 486, 984, -275, -275, 1098, 985,
1371 153, 904, 902, 635, 602, 1008, 1214, 289, 126, 127,
1372 879, 108, -268, 482, 1159, 378, 205, 433, 527, 1270,
1373 528, -589, 1328, 27, 329, 86, 87, 458, 461, 1112,
1374 1113, 1518, 986, 111, 112, 458, 163, 277, 480, 640,
1375 938, 400, 403, 639, 655, 228, 1328, 461, 278, 896,
1376 134, 958, 714, 329, 611, 1009, 1215, 1344, 90, 27,
1377 658, 129, 130, 434, 649, 71, 461, -589, -589, 1271,
1378 858, 649, 1329, 241, 598, 835, 479, 205, 91, 1153,
1379 1542, 15, 16, -589, 481, 836, -385, -335, 609, 15,
1380 16, 1158, 1024, 1025, 1026, 593, 1425, -549, 136, 837,
1381 652, 608, 1463, 1464, 193, 763, -277, 156, 858, 643,
1382 389, 654, 153, 153, 153, -385, 610, 276, 1313, -385,
1383 599, -335, 1101, 167, 1178, -335, 1180, 514, 515, 1052,
1384 1543, 521, 157, 831, 57, -336, 171, 15, 16, 205,
1385 205, 137, 357, -549, 173, 153, 172, 205, 858, 692,
1386 832, 764, -277, -277, -549, 208, 1079, 358, -335, 205,
1387 654, 138, 89, 126, 127, -385, 703, 704, -271, -336,
1388 199, 200, 1027, -336, 19, 649, 14, 91, 205, 833,
1389 651, 223, 927, 719, 720, 58, 151, 151, 151, 281,
1390 373, 374, 10, 1211, 1212, 225, 71, 1346, 208, 21,
1391 -549, 448, 280, 1007, 581, 137, -336, 737, 24, 136,
1392 581, 846, 329, -126, 27, 329, 129, 130, 329, 137,
1393 568, 743, 329, 779, 779, 779, 779, 928, 22, 651,
1394 835, 8, 9, 649, 27, 329, 929, 930, 709, 649,
1395 836, 745, 39, 28, 299, 329, 715, 744, 329, 717,
1396 773, 655, 359, 685, 837, 729, 773, 847, 656, 415,
1397 770, 968, 653, 970, 474, 57, 126, 127, 974, 866,
1398 342, 90, 136, 931, 39, 33, 602, 206, 207, 39,
1399 329, 277, 881, 340, 129, 130, 362, 363, 364, 458,
1400 848, 91, 278, 352, 115, 116, 117, 850, 205, 761,
1401 652, 1097, 356, 1123, 384, 858, 90, 692, 852, 854,
1402 475, 654, 360, 8, 484, 867, 868, 491, 654, 129,
1403 130, 910, 521, 915, 916, 521, 91, 361, 962, 776,
1404 534, 173, 365, 858, 241, 372, 849, 1186, 1188, 205,
1405 366, 367, 521, 851, 121, 762, 649, 1200, 118, 119,
1406 649, 329, 987, -268, 1117, 521, 975, 284, 343, 803,
1407 1354, 276, 1359, 90, 916, 193, 129, 130, 1119, 228,
1408 446, 447, 126, 127, 963, 936, 405, 482, 605, 205,
1409 651, 406, 649, 91, -584, 825, -7, 651, 649, 1121,
1410 485, 842, 126, 127, 100, 414, 1402, 935, 988, 899,
1411 1118, 205, 976, 114, 429, 1496, 153, 153, 153, 199,
1412 200, 652, 1480, 417, 1120, 14, 993, 1173, 1174, 1175,
1413 454, 455, 654, 27, 430, 129, 130, 1188, 649, 729,
1414 -102, 487, 15, 16, 488, 1122, 1266, 1268, 21, 492,
1415 489, 1272, 1403, 27, 217, 129, 130, 24, 490, 493,
1416 1060, 1497, 58, -545, 58, 649, -545, 774, 1513, 498,
1417 193, 58, 530, 71, -102, 71, 205, 649, -102, 652,
1418 329, 329, 71, 329, 737, 652, 737, 1375, 514, 515,
1419 654, 507, 1310, 737, 1196, 1197, 654, 1199, 743, 87,
1420 743, 651, 863, 992, 1002, 508, 743, 743, 126, 127,
1421 649, -102, 649, 368, -545, 509, -545, -545, 745, -545,
1422 745, 1148, 1149, 1150, 744, 510, 979, 745, 1015, 1016,
1423 -545, 1017, -545, 744, 1490, 397, 511, 981, 982, 571,
1424 15, 16, 57, 616, 57, -385, 1010, 619, -545, -545,
1425 1510, 57, -545, 343, 779, 126, 127, 620, 1054, 651,
1426 637, 129, 130, 622, -545, 651, 237, 15, 16, 555,
1427 556, 88, 623, -385, -385, 1326, 1327, 624, -385, -123,
1428 1369, 7, 8, 231, 10, 485, 779, 281, 373, 374,
1429 10, 89, 652, 8, 9, 649, 692, 636, 530, 665,
1430 343, -6, 831, 654, 638, 852, 854, 654, 129, 130,
1431 464, 466, 446, 1419, 527, 1316, 528, 668, 1395, 832,
1432 22, 686, 477, 649, 241, 710, 22, 232, 652, 705,
1433 779, 329, 233, 232, 652, 28, 29, 643, 343, 654,
1434 755, 28, 299, 1102, 1103, 654, 129, 130, 833, 1191,
1435 454, 1420, 237, 446, 1424, -100, 756, 15, 16, 233,
1436 757, 993, 758, 765, 843, 151, 774, 33, 766, 1057,
1437 233, 783, 651, 33, 692, 675, 651, 94, 109, 110,
1438 1201, 625, 626, 627, 90, 654, 126, 127, 779, -100,
1439 785, 513, -124, -100, 329, 94, 109, 110, 476, 88,
1440 861, 652, 786, 521, 91, 151, 788, 1160, 651, 845,
1441 859, 1406, 654, 652, 651, 400, 403, 8, 9, 89,
1442 94, 95, 96, 1417, 654, 863, -100, 884, 885, 894,
1443 581, 111, 112, 618, 22, 895, 58, 27, 992, 129,
1444 130, 897, 628, 400, 403, 898, 652, 71, 652, 111,
1445 112, 514, 515, 582, 651, 618, 21, 654, 737, 654,
1446 237, 234, 343, 583, 905, 906, 343, 919, -271, 924,
1447 129, 130, 743, 584, 97, 98, 585, 586, 94, 95,
1448 96, 651, 209, 210, 211, 419, 942, 969, 329, 1162,
1449 -791, 943, 745, 651, 485, 1164, 1165, 655, 744, 1162,
1450 1167, 1146, 1406, 1165, 1471, 88, 944, 90, 950, 960,
1451 964, 971, 212, 1331, 1028, 1332, 57, 94, 109, 110,
1452 967, 1406, 94, 109, 110, 89, 651, 91, 651, 936,
1453 27, 652, 97, 98, 213, 1011, 1203, 965, 1536, 1029,
1454 1217, 1218, 654, 1030, 281, 373, 374, 10, 1493, 94,
1455 95, 96, 1253, 1031, 1012, 1248, 774, 718, 1032, 692,
1456 151, 151, 151, 71, 1033, 1034, 526, 88, 1217, 1218,
1457 654, 111, 112, 113, 1247, 1376, 111, 112, 1406, 1035,
1458 214, 215, 216, 22, 1036, 153, 677, 89, 151, 151,
1459 151, 126, 127, 126, 1297, 58, 27, 1037, 28, 299,
1460 196, 27, 204, 97, 98, 99, 71, 1038, 1252, 1043,
1461 -122, 651, 1040, 1041, 319, 1044, 319, 737, 319, 115,
1462 116, 117, 796, 1045, 1046, 153, 1047, 486, 649, 1059,
1463 33, 743, 57, 1353, 1048, 1353, 1049, 1062, 343, 651,
1464 1063, 1061, 27, 1064, 129, 130, 129, 130, 1070, 1071,
1465 205, 745, 115, 719, 720, 1072, 721, 744, 492, 1116,
1466 1080, 1081, 1139, 319, 844, 319, 521, 1078, 493, 1083,
1467 485, 27, 1253, 118, 119, 57, 1093, 193, 1090, 1253,
1468 722, 1096, 1248, 71, 1145, 1163, 1253, 723, 1168, 1248,
1469 71, 491, 1459, 1172, 1247, 779, 1176, 71, 1181, 1182,
1470 1183, 1247, 1184, 1189, 27, 1202, 118, 119, 1247, 1198,
1471 416, 1193, 1194, 1306, 1307, 1308, 1309, 7, 126, 127,
1472 10, 15, 16, 1312, 1204, 1205, -385, 1206, 1252, 1213,
1473 1209, 901, 400, 403, 1210, 1252, 1216, 204, 1124, 1221,
1474 514, 515, 1252, 918, 1265, 459, 204, 552, 553, 554,
1475 555, 556, 57, 1274, -385, -385, 22, 1275, 1278, 57,
1476 426, 1282, -626, 232, 1304, 1305, 57, 1315, 1311, 796,
1477 1314, 28, 29, 1320, 1343, 1321, 1323, 115, 719, 720,
1478 153, 153, 153, 1322, 1155, 1156, 198, 199, 200, 1330,
1479 1378, 1379, 1339, 14, 1340, 233, 94, 109, 110, 1341,
1480 209, 210, 211, 33, 1349, 722, 1351, 1364, 153, 153,
1481 153, 19, 1367, 1169, 151, 1409, 21, 1410, 362, 363,
1482 364, 1391, 966, 1392, 1414, 24, 1474, 512, 1443, 27,
1483 212, 118, 119, 1253, 1253, 1443, 1248, 1393, 1253, 278,
1484 205, 1248, 8, 9, 71, 71, 278, 1394, 329, 71,
1485 111, 112, 1396, 1398, 456, 1247, 1247, 703, 704, 1416,
1486 1247, 1418, 1439, 1013, 652, 319, 94, 95, 96, 1018,
1487 27, 1253, 366, 367, 1248, 654, 1415, 151, 151, 151,
1488 1253, 1447, 71, 1248, 1457, 1465, 1467, 343, 1473, 1252,
1489 1252, 71, 1482, 1247, 1252, 129, 130, 1504, 1483, 1491,
1490 1492, 1508, 1247, 1515, 1516, 1519, 1443, 1522, 276, 1524,
1491 1525, 1529, 1533, 57, 57, 276, 1537, 278, 57, 1538,
1492 97, 98, 126, 127, 115, 719, 720, 1252, 1253, 1540,
1493 1545, 1248, 1546, 196, 204, 1441, 1252, 1548, 1549, 71,
1494 1, 803, 1441, 670, 651, 634, 5, 1099, 1003, 1222,
1495 1247, 57, 412, 680, 684, 521, 281, 8, 9, 10,
1496 57, 684, 339, 128, 1285, 1286, 1253, 1295, 1296, 1248,
1497 1298, 1494, 1073, 27, 1074, 129, 130, 71, 118, 119,
1498 1489, 413, 628, 393, 1252, 1405, 276, 1544, 1247, 416,
1499 497, 557, 901, 1356, 1092, 22, 459, 204, 941, 468,
1500 416, 1091, 232, 1276, 459, 1151, 1170, 1005, 57, 1299,
1501 28, 299, 887, 1441, 457, 199, 200, 416, 1089, 830,
1502 449, 14, 1252, 370, 319, 684, 578, 1362, 1262, 1514,
1503 558, 559, 1523, 1511, 153, 560, 561, 562, 563, 19,
1504 1486, 1528, 33, 150, 21, 1530, 57, 1138, 1368, 0,
1505 0, 1527, 0, 24, 0, 0, 0, 319, 803, 680,
1506 0, 0, 800, 801, 0, 805, 806, 807, 808, 809,
1507 810, 811, 812, 813, 814, 815, 816, 817, 818, 819,
1508 820, 821, 822, 823, 0, 0, 1372, 1373, 0, 684,
1509 0, 684, 684, 0, 0, 0, 0, 153, 153, 153,
1510 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1511 10, 386, 12, 13, 0, 198, 199, 200, 14, 684,
1512 126, 127, 14, 0, 0, 13, 684, 0, 0, 0,
1513 1177, 1187, 1179, 17, 0, 18, 19, 20, 0, 0,
1514 19, 21, -492, 0, 0, 21, 22, 889, 891, 0,
1515 24, 734, 0, 642, 24, 204, 401, 404, 0, 27,
1516 0, 28, 29, 319, 581, 735, 0, 736, 239, 659,
1517 0, 27, 0, 129, 130, 31, 682, 0, 0, 0,
1518 1431, 1432, 1433, 682, 0, 32, 1208, 582, 150, 0,
1519 0, 0, 239, 33, 196, 0, 204, 583, 34, 550,
1520 551, 552, 553, 554, 555, 556, 680, 584, 0, 0,
1521 585, 586, 0, 0, 1227, -492, 0, 0, 8, 9,
1522 1187, 239, 12, 13, 0, 0, 0, 79, 14, 0,
1523 239, 0, 1461, 1462, 0, 0, 204, 103, 0, 0,
1524 0, 0, 0, 17, 0, 18, 0, 682, 132, 0,
1525 0, 21, 0, 0, 141, 141, 0, 141, 459, 79,
1526 24, 416, 1277, 977, 79, 0, 0, 1281, 0, 27,
1527 0, 129, 130, 564, 0, 0, 239, 187, 0, 79,
1528 0, 0, 319, 319, 0, 319, 0, 220, 0, 196,
1529 600, 8, 9, 0, 103, 416, 0, 1512, 0, 0,
1530 684, 0, 0, 0, 0, 243, 103, 0, 565, 239,
1531 0, 682, 0, 682, 682, 0, 0, 1317, 523, 0,
1532 0, 0, 1039, 0, 0, 0, 289, 601, 103, 22,
1533 0, 0, 239, 1345, 0, 0, 989, 990, 9, 10,
1534 0, 682, 27, 0, 129, 130, 0, 0, 682, 0,
1535 0, 132, 0, 0, 0, 0, 132, -277, 79, 680,
1536 684, 0, 141, 0, 0, 395, 141, 0, 0, 141,
1537 141, 141, -277, -277, 684, 22, 684, -277, 684, 0,
1538 0, 0, 0, 79, 0, 0, 0, 0, 27, 0,
1539 28, 29, 0, -277, 1154, 0, 991, 0, 0, 0,
1540 187, 187, 187, 0, 177, -277, -277, 0, -277, 0,
1541 -277, 1088, 1387, 1388, 178, 0, 1401, 0, 0, 0,
1542 0, 684, 33, 239, 0, 0, 0, 179, 1397, 187,
1543 0, 0, 0, 319, 198, 199, 200, 0, 0, -277,
1544 -277, 14, 683, -277, 467, 0, 1111, 0, 0, 690,
1545 401, 404, 103, 0, 0, -277, 0, 0, 684, 19,
1546 0, 0, 0, 141, 21, 0, 0, 0, 0, 7,
1547 8, 9, 10, 24, 0, 13, 684, 0, 0, 0,
1548 1427, 1428, 0, 0, 239, 0, 0, 0, 882, 548,
1549 549, 550, 551, 552, 553, 554, 555, 556, 0, 1437,
1550 1438, 103, 494, 0, 0, 0, 0, 0, 22, 523,
1551 0, 0, 523, 771, 581, 0, 0, 0, 1161, 0,
1552 0, 27, 682, 28, 29, 416, 416, 0, 401, 784,
1553 0, 587, 587, 587, 0, 0, 0, 907, 0, 0,
1554 0, 0, 523, 0, 0, 103, 0, 908, 0, 579,
1555 0, 494, 494, 595, 416, 33, 239, 584, 0, 0,
1556 909, 586, 79, 0, 0, 0, 0, 680, 680, 0,
1557 0, 1190, 0, 0, 0, 0, 0, 824, 132, 826,
1558 827, 0, 682, 239, 7, 8, 9, 10, 0, 0,
1559 319, 0, 0, 0, 0, 0, 682, 0, 682, 0,
1560 682, 874, 132, 0, 0, 0, 0, 0, 103, 0,
1561 0, 187, 103, 0, 878, 0, 0, 0, 0, 0,
1562 0, 0, 141, 22, 0, 141, 0, 0, 0, 581,
1563 141, 0, 0, 0, 0, 0, 27, 0, 28, 29,
1564 0, 0, 0, 682, 0, 684, 0, 684, 0, 684,
1565 0, 0, 907, 0, 0, 0, 0, 680, 0, 187,
1566 0, 187, 908, 187, 187, 187, 680, 680, 239, 187,
1567 33, 680, 584, 0, 187, 909, 586, 187, 0, 0,
1568 682, 0, 0, 0, 239, 0, 1283, 1284, 0, 0,
1569 0, 0, 0, 79, 0, 0, 0, 0, 682, 0,
1570 0, 0, 0, 0, 0, 416, 416, 0, 416, 416,
1571 0, 416, 680, 0, 732, 0, 7, 8, 733, 10,
1572 386, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1573 0, 103, 103, 103, 103, 0, 0, 0, 0, 0,
1574 0, 684, 17, 0, 18, 19, 20, 0, 0, 0,
1575 21, -493, 0, 0, 0, 22, 0, 0, 0, 24,
1576 734, 0, 642, 0, 0, 1338, 0, 0, 27, 0,
1577 28, 29, 0, 0, 735, 0, 736, 0, 0, 0,
1578 0, 0, 874, 0, 31, 587, 587, 0, 587, 103,
1579 0, 494, 0, 0, 32, 873, 196, 204, 0, 0,
1580 680, 0, 33, 579, 0, 494, 494, 34, 595, 0,
1581 0, 0, 0, 0, 0, 875, 1377, 0, 0, 877,
1582 0, 0, 0, 0, -493, 0, 0, 416, 416, 0,
1583 0, 0, 0, 187, 0, 0, 0, 0, 680, 7,
1584 126, 127, 10, 0, 0, 13, 0, 0, 1053, 0,
1585 0, 0, 587, 0, 587, 587, 572, 587, 281, 373,
1586 374, 10, 1065, 573, 1066, 0, 1067, 682, 0, 682,
1587 0, 682, 187, 914, 187, 187, 220, 595, 22, 401,
1588 784, 0, 0, 0, 0, 684, 0, 0, 0, 0,
1589 0, 27, 0, 28, 29, 587, 0, 22, 0, 0,
1590 0, 0, 1429, 1430, 574, 0, 0, 31, 0, 1095,
1591 27, 1435, 28, 299, 0, 187, 0, 32, 150, 914,
1592 0, 416, 416, 416, 0, 33, 187, 187, 0, 187,
1593 34, 0, 0, 0, 0, 0, 0, 0, 1454, 0,
1594 0, 0, 0, 0, 575, 0, 1114, 0, 349, 351,
1595 0, 0, 0, 0, 0, 0, 0, 132, 1136, 0,
1596 79, 0, 79, 682, 239, 0, 239, 1000, 79, 79,
1597 0, 0, 0, 416, 416, 0, 0, 103, 0, 0,
1598 0, 0, 587, 103, 0, 7, 8, 9, 10, 0,
1599 494, 494, 494, 0, 0, 0, 0, 0, 0, 0,
1600 0, 0, 494, 239, 0, 0, 0, 0, 8, 9,
1601 0, 386, 12, 13, 0, 0, 688, 0, 14, 0,
1602 0, 0, 0, 0, 22, 0, 0, 989, 990, 9,
1603 10, 0, 0, 17, 0, 18, 19, 27, 416, 28,
1604 29, 21, 0, 176, 0, 0, 0, 0, 0, 0,
1605 24, 0, 103, 177, 0, 587, 0, 587, 680, 27,
1606 0, 129, 130, 178, 0, 0, 22, 0, 587, 0,
1607 0, 33, 873, 873, 873, 494, 179, 494, 0, 27,
1608 0, 28, 29, 0, 103, 0, 0, 991, 494, 239,
1609 103, 0, 875, 875, 875, 177, 0, 0, 0, 1082,
1610 0, 0, 689, 0, 0, 178, 0, 682, 0, 0,
1611 587, 587, 587, 33, 401, 404, 126, 127, 179, 0,
1612 0, 227, 0, 0, 0, 0, 103, 0, 103, 82,
1613 187, 187, 1108, 1223, 0, 1224, 0, 1225, 0, 105,
1614 0, 0, 401, 1264, 0, 0, 0, 0, 0, 125,
1615 133, 525, 873, 0, 0, 0, 142, 142, 0, 142,
1616 581, 82, 0, 0, 0, 0, 82, 27, 0, 129,
1617 130, 239, 1108, 0, 0, 0, 0, 0, 0, 142,
1618 0, 82, 0, 582, 0, 0, 103, 0, 0, 221,
1619 0, 0, 0, 583, 0, 0, 229, 239, 0, 103,
1620 0, 0, 1000, 584, 0, 0, 585, 586, 229, 0,
1621 0, 103, 281, 126, 127, 10, 0, 0, 0, 0,
1622 0, 0, 0, 0, 1166, 0, 0, 648, 0, 1319,
1623 0, 0, 0, 0, 79, 0, 0, 0, 7, 8,
1624 9, 10, 0, 0, 103, 0, 103, 0, 0, 0,
1625 0, 22, 0, 379, 0, 239, 0, 0, 232, 0,
1626 82, 590, 594, 597, 142, 0, 28, 299, 142, 0,
1627 0, 142, 142, 142, 0, 0, 691, 22, 494, 494,
1628 0, 494, 0, 0, 232, 82, 0, 0, 0, 0,
1629 8, 9, 28, 29, 12, 13, 0, 0, 33, 0,
1630 14, 0, 142, 142, 142, 587, 587, 587, 587, 587,
1631 0, 0, 0, 587, 0, 17, 233, 18, 0, 0,
1632 0, 0, 0, 21, 33, 187, 187, 187, 187, 1108,
1633 0, 142, 24, 187, 0, 873, 873, 873, 0, 0,
1634 0, 27, 772, 129, 130, 775, 0, 0, 0, 777,
1635 778, 780, 781, 782, 0, 1108, 1108, 1108, 7, 126,
1636 127, 10, 525, 0, 227, 142, 0, 1136, 0, 0,
1637 7, 8, 9, 10, 0, 799, 227, 0, 0, 0,
1638 829, 0, 0, 0, 0, 0, 187, 0, 0, 0,
1639 0, 141, 0, 79, 0, 0, 0, 22, 0, 0,
1640 0, 0, 0, 229, 142, 0, 0, 828, 0, 22,
1641 27, 0, 28, 29, 0, 581, 0, 0, 0, 0,
1642 587, 587, 27, 587, 28, 29, 31, 856, 0, 0,
1643 0, 401, 1264, 0, 856, 0, 32, 0, 907, 0,
1644 187, 187, 0, 187, 33, 0, 0, 229, 908, 34,
1645 0, 580, 0, 142, 142, 596, 33, 0, 584, 0,
1646 604, 909, 586, 0, 82, 7, 126, 127, 10, 0,
1647 0, 13, 0, 0, 187, 914, 187, 0, 0, 0,
1648 379, 0, 281, 8, 9, 10, 0, 0, 0, 0,
1649 0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 22, 0, 0, 0, 0, 0,
1651 229, 0, 75, 142, 229, 853, 855, 27, 0, 28,
1652 29, 22, 0, 0, 142, 0, 0, 142, 232, 0,
1653 0, 0, 142, 146, 0, 0, 28, 299, 648, 140,
1654 144, 0, 0, 147, 75, 0, 0, 0, 0, 75,
1655 0, 33, 281, 8, 9, 10, 148, 0, 0, 0,
1656 233, 142, 0, 142, 197, 142, 142, 142, 33, 0,
1657 0, 142, 7, 8, 9, 10, 142, 0, 13, 142,
1658 0, 1108, 912, 0, 590, 594, 0, 597, 0, 0,
1659 0, 22, 0, 0, 731, 82, 691, 0, 232, 0,
1660 0, 0, 691, 0, 0, 0, 28, 299, 0, 0,
1661 0, 22, 0, 0, 0, 0, 0, 581, 0, 0,
1662 0, 0, 0, 0, 27, 594, 28, 29, 0, 0,
1663 485, 0, 0, 229, 229, 229, 229, 0, 33, 0,
1664 1104, 0, 0, 391, 1108, 1108, 1108, 394, 0, 0,
1665 1105, 396, 0, 0, 0, 0, 0, 0, 33, 0,
1666 584, 0, 103, 1106, 586, 0, 0, 187, 75, 0,
1667 6, 1050, 7, 8, 9, 10, 11, 12, 13, 0,
1668 0, 0, 0, 14, 0, 140, 144, 0, 0, 0,
1669 0, 229, 0, 142, 0, 0, 15, 16, 17, 0,
1670 18, 19, 20, 799, 0, 0, 21, 142, 142, 691,
1671 596, 22, 594, 856, 23, 24, 25, 876, 26, 0,
1672 0, 0, 0, 0, 27, 0, 28, 29, 0, 604,
1673 30, 0, 0, 0, 0, 142, 0, 0, 0, 0,
1674 31, 1287, 1288, 9, 10, 648, 0, 1100, 483, 0,
1675 32, 856, 0, 0, 0, 0, 0, 0, 33, 0,
1676 0, 0, 0, 34, 0, 0, 125, 0, 0, 35,
1677 0, 0, 0, 0, 142, 596, 142, 142, 221, 596,
1678 22, 0, 0, 0, 0, 1068, 0, 1069, 0, 0,
1679 0, 856, 0, 27, 0, 28, 29, 731, 1075, 0,
1680 0, 1289, 853, 855, 0, 1141, 0, 0, 0, 177,
1681 0, 1147, 0, 0, 0, 0, 0, 142, 691, 178,
1682 0, 596, 0, 0, 0, 0, 0, 33, 142, 142,
1683 691, 142, 179, 0, 0, 0, 0, 0, 0, 0,
1684 853, 855, 0, 0, 0, 0, 0, 612, 7, 8,
1685 9, 10, 0, 0, 13, 0, 0, 0, 0, 133,
1686 0, 0, 82, 691, 82, 691, 0, 0, 0, 1001,
1687 82, 82, 0, 0, 0, 0, 0, 0, 0, 229,
1688 0, 0, 0, 0, 0, 229, 0, 22, 0, 0,
1689 0, 0, 142, 142, 142, 0, 0, 0, 0, 0,
1690 27, 0, 28, 29, 142, 0, 0, 663, 0, 0,
1691 664, 0, 0, 0, 0, 666, 177, 0, 0, 7,
1692 8, 9, 10, 0, 0, 482, 178, 0, 437, 439,
1693 443, 0, 0, 50, 33, 0, 0, 0, 0, 179,
1694 0, 0, 0, 0, 394, 0, 396, 0, 856, 0,
1695 0, 0, 0, 0, 229, 0, 0, 0, 22, 483,
1696 50, 50, 0, 149, 581, 50, 0, 0, 0, 0,
1697 50, 27, 0, 28, 29, 0, 856, 142, 749, 142,
1698 0, 0, 0, 50, 0, 50, 229, 907, 0, 0,
1699 142, 0, 229, 0, 876, 876, 876, 908, 0, 0,
1700 0, 604, 0, 0, 0, 33, 0, 584, 235, 0,
1701 909, 586, 541, 542, 543, 544, 545, 546, 547, 548,
1702 549, 550, 551, 552, 553, 554, 555, 556, 229, 0,
1703 229, 0, 142, 142, 596, 1068, 1069, 853, 855, 0,
1704 0, 0, 0, 1075, 544, 545, 546, 547, 548, 549,
1705 550, 551, 552, 553, 554, 555, 556, 376, 0, 0,
1706 0, 376, 376, 0, 50, 853, 855, 0, 50, 0,
1707 235, 0, 50, 0, 876, 149, 149, 149, 0, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 229, 50,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
1710 0, 229, 0, 0, 1001, 0, 50, 50, 149, 0,
1711 0, 0, 1141, 229, 0, 0, 235, 0, 0, 126,
1712 127, 0, 0, 199, 200, 0, 0, 0, 0, 14,
1713 0, 0, 0, 0, 0, 50, 82, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 229, 0, 229, 0,
1715 1068, 1069, 21, 1075, 0, 0, 0, 0, 913, 0,
1716 0, 24, 0, 581, 0, 0, 0, 0, 0, 50,
1717 27, 0, 129, 130, 0, 0, 0, 0, 0, 0,
1718 142, 142, 0, 142, 0, 0, 582, 701, 0, 702,
1719 0, 437, 439, 443, 0, 0, 583, 0, 0, 0,
1720 0, 0, 713, 0, 956, 0, 584, 0, 0, 592,
1721 586, 663, 664, 0, 666, 545, 546, 547, 548, 549,
1722 550, 551, 552, 553, 554, 555, 556, 142, 142, 142,
1723 142, 596, 0, 0, 0, 142, 0, 0, 522, 0,
1724 0, 731, 0, 0, 0, 749, 0, 749, 0, 0,
1725 0, 0, 999, 1006, 749, 376, 0, 876, 876, 876,
1726 0, 0, 0, 235, 0, 525, 0, 0, 50, 0,
1727 0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
1728 0, 648, 0, 0, 376, 0, 0, 0, 142, 0,
1729 0, 0, 0, 142, 0, 82, 7, 8, 9, 10,
1730 386, 12, 13, 0, 0, 688, 0, 14, 376, 0,
1731 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1732 0, 0, 17, 0, 18, 19, 0, 0, 50, 0,
1733 21, 50, 0, 0, 0, 22, 50, 0, 0, 24,
1734 0, 581, 142, 142, 0, 142, 0, 0, 27, 0,
1735 28, 29, 0, 0, 0, 0, 0, 0, 0, 0,
1736 0, 0, 0, 0, 1104, 50, 0, 50, 0, 149,
1737 149, 149, 0, 0, 1105, 50, 142, 596, 142, 0,
1738 50, 77, 33, 50, 584, 0, 0, 1106, 586, 0,
1739 0, 689, 0, 0, 0, 229, 0, 0, 0, 50,
1740 0, 0, 0, 0, 0, 0, 0, 0, 77, 77,
1741 0, 77, 0, 77, 0, 140, 144, 0, 77, 0,
1742 7, 126, 127, 10, 0, 0, 482, 0, 0, 522,
1743 0, 77, 522, 77, 0, 0, 0, 0, 0, 0,
1744 8, 9, 0, 0, 12, 227, 0, 522, 522, 522,
1745 14, 0, 0, 0, 701, 702, 0, 713, 0, 22,
1746 0, 0, 522, 0, 0, 17, 0, 18, 0, 0,
1747 0, 0, 27, 21, 28, 29, 0, 0, 240, 0,
1748 0, 0, 24, 876, 581, 0, 0, 999, 31, 0,
1749 0, 27, 0, 129, 130, 998, 0, 0, 32, 126,
1750 127, 0, 0, 199, 200, 0, 33, 582, 235, 14,
1751 0, 34, 77, 0, 0, 0, 77, 583, 0, 749,
1752 77, 522, 0, 77, 77, 77, 0, 584, 0, 0,
1753 585, 586, 21, 0, 0, 0, 0, 77, 0, 50,
1754 0, 24, 0, 581, 0, 0, 876, 876, 876, 0,
1755 27, 407, 129, 130, 77, 77, 77, 0, 0, 0,
1756 0, 0, 0, 0, 229, 0, 582, 0, 0, 142,
1757 0, 0, 435, 0, 0, 0, 583, 0, 50, 50,
1758 50, 50, 0, 77, 0, 451, 584, 8, 9, 585,
1759 586, 12, 227, 0, 0, 0, 0, 14, 0, 0,
1760 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1761 394, 396, 17, 0, 18, 0, 0, 77, 483, 0,
1762 21, 50, 0, 0, 0, 50, 0, 0, 0, 24,
1763 0, 0, 50, 50, 0, 50, 0, 0, 27, 0,
1764 129, 130, 0, 0, 0, 0, 0, 0, 0, 732,
1765 0, 7, 8, 733, 10, 386, 12, 13, 437, 439,
1766 443, 0, 14, 0, 0, 0, 50, 0, 50, 0,
1767 0, 1294, 0, 50, 50, 50, 1294, 17, 749, 18,
1768 19, 20, 0, 0, 0, 21, -495, 0, 0, 0,
1769 22, 0, 0, 0, 24, 734, 0, 642, 0, 0,
1770 443, 0, 522, 27, 0, 28, 29, 0, 0, 735,
1771 0, 736, 603, 0, 0, 0, 77, 0, 0, 31,
1772 0, 0, 0, 0, 0, 663, 664, 0, 666, 32,
1773 998, 0, 0, 0, 0, 0, 0, 33, 7, 8,
1774 9, 10, 34, 0, 227, 543, 544, 545, 546, 547,
1775 548, 549, 550, 551, 552, 553, 554, 555, 556, -495,
1776 1357, 0, 0, 0, 0, 77, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 0, 77, 22, 0, 77,
1778 0, 0, 0, 0, 77, 0, 0, 0, 0, 0,
1779 27, 0, 28, 29, 0, 0, 0, 0, 522, 522,
1780 522, 0, 0, 0, 235, 0, 177, 0, 0, 0,
1781 0, 0, 0, 77, 0, 77, 178, 77, 77, 77,
1782 0, 0, 0, 77, 33, 0, 0, 0, 77, 179,
1783 0, 77, 154, 0, 0, 0, 50, 50, 149, 0,
1784 0, 706, 0, 235, 0, 0, 712, 77, 0, 0,
1785 0, 0, 188, 701, 702, 437, 439, 443, 0, 0,
1786 0, 713, 0, 0, 7, 8, 9, 10, 198, 199,
1787 200, 753, 0, 0, 0, 14, 0, 759, 1135, 0,
1788 0, 0, 0, 437, 439, 443, 0, 0, 0, 767,
1789 768, 0, 769, 19, 0, 0, 0, 0, 21, 0,
1790 0, 0, 0, 22, 0, 0, 0, 24, 50, 581,
1791 1287, 126, 127, 10, 1293, 0, 27, 0, 28, 29,
1792 0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
1793 0, 0, 907, 0, 0, 0, 0, 0, 0, 0,
1794 50, 0, 908, 0, 154, 154, 154, 0, 0, 22,
1795 33, 0, 584, 0, 0, 909, 586, 603, 0, 0,
1796 0, 0, 27, 0, 28, 29, 0, 0, 701, 702,
1797 1289, 713, 0, 0, 0, 188, 188, 444, 31, 0,
1798 0, 0, 0, 0, 0, 864, 865, 77, 32, 0,
1799 864, 0, 0, 0, 0, 0, 33, 0, 0, 0,
1800 0, 34, 0, 0, 188, 0, 0, 0, 0, 0,
1801 0, 235, 0, 0, 0, 0, 7, 8, 9, 10,
1802 0, 0, 13, 0, 0, 0, 77, 77, 77, 77,
1803 0, 50, 50, 149, 149, 149, 0, 235, 0, 50,
1804 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1805 0, 7, 8, 9, 10, 22, 0, 482, 0, 0,
1806 0, 1135, 1135, 1135, 0, 0, 0, 0, 27, 77,
1807 28, 29, 0, 77, 0, 0, 0, 495, 0, 0,
1808 77, 77, 0, 77, 440, 0, 0, 0, 0, 0,
1809 22, 0, 50, 0, 441, 0, 0, 50, 0, 50,
1810 0, 0, 33, 27, 0, 28, 29, 442, 0, 443,
1811 0, 0, 126, 127, 77, 0, 77, 482, 0, 177,
1812 0, 77, 77, 77, 0, 0, 589, 589, 589, 178,
1813 0, 0, 0, 0, 0, 0, 186, 33, 7, 8,
1814 9, 10, 179, 0, 0, 0, 50, 50, 0, 50,
1815 0, 0, 0, 0, 0, 0, 581, 0, 1020, 0,
1816 1022, 238, 0, 27, 242, 129, 130, 0, 0, 0,
1817 0, 0, 437, 439, 443, 0, 0, 22, 0, 582,
1818 50, 50, 50, 0, 0, 238, 188, 345, 0, 583,
1819 27, 0, 28, 29, 0, 0, 1352, 0, 0, 584,
1820 0, 0, 585, 586, 0, 0, 177, 0, 0, 0,
1821 0, 0, 0, 0, 0, 0, 178, 0, 0, 0,
1822 0, 0, 0, 0, 33, 0, 0, 0, 0, 179,
1823 0, 0, 1055, 1056, 188, 1058, 188, 0, 444, 444,
1824 444, 0, 0, 0, 188, 0, 0, 0, 0, 188,
1825 0, 0, 188, 603, 0, 0, 0, 0, 0, 186,
1826 186, 186, 0, 1076, 0, 0, 0, 0, 0, 450,
1827 8, 9, 0, 386, 12, 13, 0, 0, 688, 0,
1828 14, 0, 0, 0, 77, 77, 77, 1135, 186, 0,
1829 0, 7, 126, 127, 10, 17, 0, 18, 19, 0,
1830 0, 0, 0, 21, 0, 0, 0, 0, 1110, 0,
1831 0, 242, 24, 0, 581, 0, 0, 0, 0, 0,
1832 0, 27, 0, 129, 130, 238, 1137, 0, 0, 0,
1833 22, 0, 0, 0, 0, 0, 0, 582, 0, 0,
1834 0, 0, 0, 27, 0, 28, 29, 583, 0, 0,
1835 1135, 1135, 1135, 0, 0, 0, 77, 584, 0, 146,
1836 585, 586, 0, 0, 689, 0, 838, 0, 0, 147,
1837 0, 0, 1152, 50, 0, 0, 0, 33, 0, 0,
1838 589, 589, 148, 589, 1157, 0, 0, 0, 77, 0,
1839 589, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 8, 9, 0, 386, 12, 13, 0, 0, 188, 0,
1841 14, 0, 0, 0, 0, 0, 238, 242, 0, 0,
1842 0, 7, 8, 9, 10, 17, 0, 18, 19, 0,
1843 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1844 0, 0, 641, 0, 0, 642, 0, 911, 0, 911,
1845 911, 27, 589, 129, 130, 0, 0, 0, 0, 0,
1846 22, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
1847 186, 0, 0, 27, 0, 28, 29, 0, 0, 77,
1848 77, 77, 77, 77, 0, 0, 0, 77, 0, 440,
1849 911, 0, 0, 0, 0, 0, 0, 0, 0, 441,
1850 0, 188, 188, 0, 188, 0, 1220, 33, 0, 1137,
1851 1137, 1137, 442, 0, 0, 0, 0, 0, 186, 0,
1852 186, 0, 186, 186, 186, 0, 0, 0, 186, 0,
1853 0, 0, 0, 186, 0, 0, 186, 0, 0, 0,
1854 77, 0, 188, 0, 0, 77, 0, 77, 0, 0,
1855 0, 0, 0, 0, 0, 732, 0, 7, 8, 733,
1856 10, 386, 12, 13, 0, 495, 495, 495, 14, 1302,
1857 0, 0, 0, 1303, 0, 0, 0, 589, 0, 0,
1858 0, 0, 0, 17, 0, 18, 19, 20, 0, 0,
1859 0, 21, -494, 0, 77, 77, 22, 77, 0, 0,
1860 24, 734, 0, 642, 0, 0, 1318, 0, 0, 27,
1861 0, 28, 29, 0, 0, 735, 0, 736, 7, 8,
1862 9, 10, 0, 0, 0, 31, 0, 0, 77, 77,
1863 77, 0, 0, 0, 0, 32, 0, 0, 0, 0,
1864 0, 0, 0, 33, 0, 0, 0, 0, 34, 0,
1865 589, 0, 589, 0, 0, 0, 0, 22, 0, 0,
1866 0, 0, 0, 589, 0, -494, 0, 589, 589, 589,
1867 27, 0, 28, 29, 0, 1370, 0, 238, 242, 1371,
1868 0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
1869 8, 9, 186, 386, 12, 13, 178, 0, 1470, 0,
1870 14, 1389, 1390, 0, 33, 911, 911, 1109, 0, 179,
1871 0, 0, 0, 0, 0, 17, 0, 18, 19, 0,
1872 0, 0, 0, 21, 0, 0, 0, 0, 0, 0,
1873 0, 186, 24, 186, 186, 1137, 0, 0, 0, 0,
1874 0, 27, 0, 129, 130, 0, 0, 1109, 0, 0,
1875 7, 8, 9, 10, 198, 199, 200, 0, 101, 0,
1876 0, 14, 0, 0, 0, 0, 0, 0, 120, 101,
1877 0, 0, 0, 0, 186, 101, 101, 188, 101, 19,
1878 0, 0, 0, 0, 21, 186, 186, 0, 186, 22,
1879 0, 0, 0, 24, 0, 581, 0, 0, 1137, 1137,
1880 1137, 0, 27, 0, 28, 29, 8, 9, 219, 189,
1881 12, 190, 0, 242, 0, 0, 14, 0, 907, 0,
1882 0, 77, 0, 0, 0, 0, 186, 0, 908, 0,
1883 0, 17, 0, 18, 19, 0, 33, 0, 584, 21,
1884 0, 949, 586, 0, 0, 0, 0, 0, 24, 0,
1885 0, 0, 0, 838, 838, 0, 838, 27, 0, 129,
1886 130, 0, 0, 0, 0, 0, 0, 369, 0, 120,
1887 0, 0, 101, 0, 0, 0, 101, 101, 0, 0,
1888 0, 0, 0, 101, 0, 101, 101, 101, 0, 0,
1889 101, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1890 911, 911, 1109, 1109, 1109, 0, 0, 0, 911, 539,
1891 540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
1892 550, 551, 552, 553, 554, 555, 556, 0, 0, 0,
1893 1109, 1109, 1109, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 732, 0, 7,
1895 8, 733, 10, 386, 12, 13, 0, 238, 242, 238,
1896 14, 188, 0, 0, 465, 101, 0, 0, 0, 0,
1897 0, 0, 0, 0, 0, 17, 0, 18, 19, 20,
1898 0, 0, 0, 21, 101, 0, 0, 0, 22, 186,
1899 186, 1107, 24, 734, 0, 642, 238, 0, 0, 0,
1900 0, 27, 0, 28, 29, 0, 0, 735, 0, 736,
1901 0, 0, 0, 0, 0, 911, 911, 31, 911, 0,
1902 0, 0, 0, 101, 0, 0, 0, 32, 0, 0,
1903 0, 1107, 0, 0, 0, 33, 0, 0, 0, 244,
1904 34, 0, 8, 9, 0, 0, 12, 13, 0, 188,
1905 0, 188, 14, 0, 0, 0, 0, 0, 0, 0,
1906 0, 186, 0, 0, 0, 0, 0, 17, 0, 18,
1907 101, 0, 101, 101, 0, 21, 0, 245, 246, 0,
1908 0, 0, 450, 0, 24, 0, 247, 0, 0, 0,
1909 0, 0, 0, 27, 0, 129, 130, 0, 248, 101,
1910 0, 0, 249, 250, 251, 252, 253, 254, 255, 256,
1911 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1912 267, 268, 269, 101, 0, 270, 271, 272, 0, 0,
1913 273, 0, 0, 274, 0, 0, 0, 0, 0, 101,
1914 0, 0, 0, 101, 0, 0, 101, 0, 0, 0,
1915 275, 101, 0, 0, 0, 0, 444, 0, 0, 0,
1916 0, 0, 0, 0, 238, 540, 541, 542, 543, 544,
1917 545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
1918 555, 556, 0, 0, 186, 186, 186, 186, 1107, 0,
1919 1219, 0, 186, 542, 543, 544, 545, 546, 547, 548,
1920 549, 550, 551, 552, 553, 554, 555, 556, 0, 0,
1921 0, 101, 0, 724, 1107, 1107, 1107, 0, 0, 444,
1922 444, 444, 0, 0, 0, 0, 0, 0, 7, 8,
1923 9, 10, 386, 12, 13, 0, 0, 955, 101, 14,
1924 0, 0, 188, 0, 0, 186, 0, 0, 0, 0,
1925 0, 0, 0, 0, 17, 0, 18, 19, 0, 0,
1926 0, 0, 21, 0, 0, 0, 0, 22, 0, 0,
1927 0, 24, 0, 0, 0, 0, 0, 0, 0, 0,
1928 27, 0, 28, 29, 1383, 0, -449, -449, -449, -449,
1929 -449, -449, -449, 0, 0, -449, 31, -449, 0, 186,
1930 186, 0, 186, 0, 0, 0, 32, 0, -449, 0,
1931 -449, -449, 101, 0, 33, -449, 0, 0, 0, 34,
1932 -449, 0, 0, 101, 101, -449, 101, 101, 0, -449,
1933 0, -449, 0, 186, 0, 186, 0, 0, -449, 0,
1934 -449, -449, -449, -449, -449, 0, -449, -449, -449, -449,
1935 -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
1936 -449, -449, -449, -449, -449, -449, -449, -449, -449, 0,
1937 -449, -449, -449, 0, -449, -449, -449, -449, -449, -449,
1938 0, -449, -449, 0, 0, 120, 0, 1384, 0, 0,
1939 0, 0, -449, -449, -449, 0, -449, 219, 0, 0,
1940 161, 0, 7, 8, 9, 10, 11, 12, 13, 0,
1941 8, 9, 0, 14, 12, 13, 724, 0, 0, 0,
1942 14, 0, 0, 0, 0, 0, 15, 16, 17, 0,
1943 18, 19, 20, 0, 0, 17, 21, 18, 0, 0,
1944 1107, 22, 0, 21, 23, 24, 25, 0, 26, 0,
1945 0, 0, 24, 0, 27, 0, 28, 29, 0, 0,
1946 30, 27, 0, 129, 130, 0, 0, 0, 0, 0,
1947 31, 0, 0, 0, 0, 724, 0, 0, 101, 0,
1948 32, 0, 0, 0, 0, 0, 0, 0, 33, 0,
1949 0, 0, 0, 34, 0, 0, 0, 0, 0, 35,
1950 0, 0, 0, 1107, 1107, 1107, 0, 0, 0, 0,
1951 0, 101, 101, 101, 0, 0, 0, 0, 0, 0,
1952 0, 0, 0, 101, 0, 1360, 186, 1230, 1231, 1232,
1953 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
1954 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1955 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
1956 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
1957 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
1958 0, 1244, 299, 675, 0, 1245, 300, 0, 0, 0,
1959 0, 0, 301, 0, 0, 302, 101, 0, 101, 0,
1960 0, 0, 0, 303, 304, 305, 0, 0, 0, 101,
1961 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
1962 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 0, 1361, 310, 1229, 0, 1230,
1964 1231, 1232, 10, 386, 12, 282, 283, 284, 0, 285,
1965 14, 1233, 0, 1234, 1235, 1236, 1237, 1238, 1239, 1240,
1966 1241, 1242, 1243, 15, 16, 17, 286, 18, 19, 20,
1967 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1968 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
1969 298, 27, 0, 1244, 299, 675, 0, 1245, 300, 0,
1970 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
1971 0, 0, 0, 0, 0, 303, 304, 305, 724, 0,
1972 0, 0, 0, 306, 307, 308, 0, 0, 0, 0,
1973 309, 517, 1246, 281, 8, 9, 10, 386, 12, 282,
1974 283, 284, 688, 285, 14, 101, 0, 0, 310, 0,
1975 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
1976 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
1977 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
1978 294, 295, 296, 297, 298, 27, 0, 28, 299, -285,
1979 0, 0, 300, 0, 0, 0, 0, 0, 301, 101,
1980 101, 869, 101, 0, 0, 0, 0, 0, 0, 303,
1981 304, 870, 0, 0, 0, 0, 0, 306, 307, 308,
1982 0, 584, 0, 0, 871, 586, 0, 517, 689, 7,
1983 8, 9, 10, 386, 12, 282, 283, 284, 688, 285,
1984 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
1985 0, 0, 0, 0, 0, 17, 286, 18, 19, 20,
1986 724, 287, 288, 21, 0, 289, 290, 291, 22, 292,
1987 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
1988 298, 27, 0, 28, 29, -285, 0, 0, 300, 0,
1989 0, 0, 724, 0, 301, 0, 0, 1132, 0, 0,
1990 0, 0, 0, 0, 0, 303, 304, 1133, 0, 0,
1991 101, 0, 101, 306, 307, 308, 0, 584, 0, 0,
1992 1134, 586, 0, 687, 689, 281, 8, 9, 10, 386,
1993 12, 282, 283, 284, 688, 285, 14, 0, 310, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
1996 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
1997 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
1998 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
1999 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2000 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2001 307, 308, 0, 0, 0, 0, 309, 0, 0, 0,
2002 689, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2003 0, 0, -759, 802, 310, 281, 8, 9, 10, 386,
2004 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2006 0, 17, 286, 18, 19, 20, 0, 287, 288, 21,
2007 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2008 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2009 299, 1449, 0, -749, 300, 0, 0, 0, 0, 0,
2010 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2011 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2012 307, 308, 0, 0, 0, 678, 309, 790, 791, 792,
2013 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2014 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2015 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2016 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2017 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2018 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2019 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2020 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2021 0, 306, 307, 308, 0, 0, 0, 0, 309, 795,
2022 678, 0, 790, 791, 792, 10, 0, 12, 499, 283,
2023 284, 0, 285, 14, 0, 940, 310, 0, 0, 0,
2024 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2025 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2026 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2027 295, 296, 297, 298, 27, 0, 793, 794, 679, 0,
2028 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2029 302, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2030 305, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2031 0, 0, 0, 309, 795, 678, 0, 790, 791, 792,
2032 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2033 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2035 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2036 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2037 0, 793, 794, 679, 0, 0, 300, 0, 0, 0,
2038 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2039 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2040 0, 306, 307, 308, 0, 0, 0, 678, 309, 790,
2041 791, 792, 10, 0, 12, 499, 283, 284, 0, 285,
2042 14, 0, 0, 0, 0, -453, 310, 0, 0, 0,
2043 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2044 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2045 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2046 298, 27, 0, 793, 794, 679, 0, 0, 300, 0,
2047 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2048 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2049 0, 0, 0, 306, 307, 308, 0, 0, 0, 678,
2050 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2051 0, 285, 14, 0, 0, 0, 0, 1263, 310, 0,
2052 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2053 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2054 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2055 296, 297, 298, 27, 0, 28, 299, 679, 0, 0,
2056 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2057 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2058 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2059 0, 0, 309, 0, 0, 517, 0, 281, 8, 9,
2060 10, 1267, 12, 282, 283, 284, 0, 285, 14, 0,
2061 310, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2062 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2063 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2064 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2065 0, 28, 299, -285, 0, 0, 300, 0, 0, 0,
2066 0, 0, 301, 0, 0, 518, 0, 0, 0, 0,
2067 0, 0, 0, 303, 304, 519, 0, 0, 0, 0,
2068 0, 306, 307, 308, 0, 0, 0, 678, 520, 281,
2069 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2070 14, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2071 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2072 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2073 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2074 298, 27, 0, 28, 299, 679, 0, 0, 300, 0,
2075 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2076 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2077 0, 0, 0, 306, 307, 308, 0, 0, 0, 802,
2078 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2079 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2080 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2081 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2082 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2083 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2084 300, -749, 0, 0, 0, 0, 301, 0, 0, 302,
2085 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2086 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2087 0, 517, 309, 7, 8, 9, 10, 0, 12, 282,
2088 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2089 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2090 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2091 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2092 294, 295, 296, 297, 298, 27, 0, 28, 29, -285,
2093 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2094 0, 1421, 0, 0, 0, 0, 0, 0, 0, 303,
2095 304, 1422, 0, 0, 0, 0, 0, 306, 307, 308,
2096 0, 0, 0, 1499, 1423, 281, 8, 9, 10, 0,
2097 12, 282, 283, 284, 0, 285, 14, 0, 0, 0,
2098 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2099 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2100 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2101 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2102 299, 0, 0, -174, 300, 0, 0, 0, 0, 0,
2103 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2104 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2105 307, 308, 0, 0, 0, 802, 309, 281, 8, 9,
2106 10, 0, 12, 499, 283, 284, 0, 285, 14, 0,
2107 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2108 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2109 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2110 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2111 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2112 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2113 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2114 0, 306, 307, 308, 0, 0, 0, 888, 309, 281,
2115 8, 9, 10, 0, 12, 499, 283, 284, 0, 285,
2116 14, 0, 0, 0, -749, 0, 310, 0, 0, 0,
2117 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2118 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2119 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2120 298, 27, 0, 28, 299, 0, 0, 0, 300, 0,
2121 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2122 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2123 0, 0, 0, 306, 307, 308, 0, 0, 0, 890,
2124 309, 281, 8, 9, 10, 0, 12, 499, 283, 284,
2125 0, 285, 14, 0, 0, 0, 0, 0, 310, 0,
2126 0, 0, 0, 0, 0, 0, 0, 17, 286, 18,
2127 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2128 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2129 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2130 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2131 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2132 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2133 0, 1434, 309, 281, 8, 9, 10, 0, 12, 499,
2134 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2135 310, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2136 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2137 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2138 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2139 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2140 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2141 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2142 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2143 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2144 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2145 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2146 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2147 297, 298, 27, 0, 28, 299, 0, 0, 0, 300,
2148 0, 0, 0, 0, 0, 301, 0, 0, 302, 0,
2149 0, 0, 0, 0, 0, 0, 303, 304, 305, 0,
2150 0, 0, 0, 0, 306, 307, 308, 0, 0, 0,
2151 0, 309, 0, 0, 0, 0, 0, 0, 0, 0,
2152 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2153 841, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2154 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2155 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2156 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2157 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2158 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2159 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2160 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2161 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2162 0, 0, 309, 0, 1246, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 0, 0, 1365,
2164 310, 1230, 1231, 1232, 10, 386, 12, 282, 283, 284,
2165 0, 285, 14, 1233, 0, 1234, 1235, 1236, 1237, 1238,
2166 1239, 1240, 1241, 1242, 1243, 15, 16, 17, 286, 18,
2167 19, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2168 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2169 296, 297, 298, 27, 0, 1244, 299, 675, 0, 1245,
2170 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2171 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2172 0, 0, 0, 0, 0, 306, 307, 308, 0, 0,
2173 0, 0, 309, 0, 1246, 0, 0, 1230, 1231, 1232,
2174 10, 386, 12, 282, 283, 284, 0, 285, 14, 1233,
2175 310, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
2176 1243, 15, 16, 17, 286, 18, 19, 20, 0, 287,
2177 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2178 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2179 0, 1244, 299, 1476, 0, 1245, 300, 0, 0, 0,
2180 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2181 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2182 0, 306, 307, 308, 0, 0, 0, 0, 309, 0,
2183 1246, 0, 0, 1230, 1231, 1232, 10, 386, 12, 282,
2184 283, 284, 0, 285, 14, 1233, 310, 1234, 1235, 1236,
2185 1237, 1238, 1239, 1240, 1241, 1242, 1243, 15, 16, 17,
2186 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2187 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2188 294, 295, 296, 297, 298, 27, 0, 1244, 299, 0,
2189 0, 1245, 300, 0, 0, 0, 0, 0, 301, 0,
2190 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2191 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2192 0, 0, 0, 0, 309, 0, 1246, 281, 8, 9,
2193 10, 386, 12, 282, 283, 284, 688, 285, 14, 0,
2194 0, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2195 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2196 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2197 24, 0, 581, 0, 294, 295, 296, 297, 298, 27,
2198 0, 28, 299, 0, 0, 0, 300, 0, 0, 0,
2199 0, 0, 301, 0, 0, 869, 0, 0, 0, 0,
2200 0, 0, 0, 303, 304, 870, 0, 0, 0, 0,
2201 0, 306, 307, 308, 0, 584, 0, 0, 871, 586,
2202 0, 0, 689, 7, 8, 9, 10, 386, 12, 282,
2203 283, 284, 688, 285, 14, 0, 310, 0, 0, 0,
2204 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
2205 286, 18, 19, 20, 0, 287, 288, 21, 0, 289,
2206 290, 291, 22, 292, 293, 0, 24, 0, 581, 0,
2207 294, 295, 296, 297, 298, 27, 0, 28, 29, 0,
2208 0, 0, 300, 0, 0, 0, 0, 0, 301, 0,
2209 0, 1132, 0, 0, 0, 0, 0, 0, 0, 303,
2210 304, 1133, 0, 0, 0, 0, 0, 306, 307, 308,
2211 0, 584, 0, 0, 1134, 586, 0, 0, 689, 281,
2212 8, 9, 10, 0, 12, 282, 283, 284, 0, 285,
2213 14, 0, 310, 0, 0, 0, 0, 0, 0, 0,
2214 0, 0, 0, 0, 0, 17, 286, 18, 0, 20,
2215 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2216 293, 0, 24, 0, 581, 0, 294, 295, 296, 297,
2217 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2218 0, 0, 0, 0, 301, 0, 0, 869, 0, 0,
2219 0, 0, 0, 0, 0, 303, 304, 870, 0, 0,
2220 0, 0, 0, 306, 307, 308, 0, 584, 0, 0,
2221 871, 586, 7, 8, 9, 10, 0, 12, 282, 283,
2222 284, 0, 285, 14, 0, 0, 0, 0, 310, 0,
2223 0, 0, 0, 0, 0, 0, 0, 0, 17, 286,
2224 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2225 291, 22, 292, 293, 0, 24, 0, 581, 0, 294,
2226 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2227 0, 0, 0, 0, 0, 0, 0, 301, 0, 0,
2228 1132, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2229 1133, 0, 0, 0, 0, 0, 306, 307, 308, 0,
2230 584, 0, 0, 1134, 586, 281, 8, 9, 10, 0,
2231 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2232 0, 310, 0, 0, 0, 0, 0, 0, 0, 0,
2233 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2234 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2235 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2236 299, 0, 0, 1342, 300, 0, 0, 0, 0, 0,
2237 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2238 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2239 307, 308, 0, 0, 0, 0, 309, 281, 8, 9,
2240 10, 386, 12, 282, 283, 284, 0, 285, 14, 0,
2241 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2242 0, 0, 0, 17, 286, 18, 19, 20, 0, 287,
2243 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2244 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2245 0, 28, 299, 0, 0, 0, 0, 0, 0, 0,
2246 0, 0, 301, 0, 0, 302, 0, 0, 0, 0,
2247 0, 0, 0, 303, 304, 305, 0, 0, 0, 0,
2248 0, 306, 307, 308, 281, 8, 9, 10, 309, 12,
2249 282, 283, 284, 0, 285, 14, 0, 0, 0, 0,
2250 0, 0, 0, 0, 0, 0, 310, 0, 0, 0,
2251 17, 286, 18, 0, 20, 0, 287, 288, 21, 0,
2252 289, 290, 291, 22, 292, 293, 0, 24, 0, 0,
2253 0, 294, 295, 296, 297, 298, 27, 0, 28, 299,
2254 0, 0, 0, 300, 0, 0, 0, 0, 0, 301,
2255 0, 0, 302, 0, 0, 0, 0, 0, 0, 0,
2256 303, 304, 305, 0, 0, 0, 0, 0, 306, 307,
2257 308, 281, 8, 9, 10, 309, 12, 499, 283, 284,
2258 0, 285, 14, 0, 0, 0, 0, 0, 0, 0,
2259 0, 0, 0, 310, 0, 0, 0, 17, 286, 18,
2260 0, 20, 0, 287, 288, 21, 0, 289, 290, 291,
2261 22, 292, 293, 0, 24, 0, 0, 0, 294, 295,
2262 296, 297, 298, 27, 0, 28, 299, 0, 0, 0,
2263 300, 0, 0, 0, 0, 0, 301, 0, 0, 302,
2264 0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
2265 0, 0, 0, 0, 0, 306, 307, 308, 281, 8,
2266 9, 10, 309, 12, 499, 283, 284, 0, 285, 14,
2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2268 310, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2269 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2270 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2271 27, 0, 28, 299, 532, 0, 0, 0, 0, 0,
2272 0, 0, 0, 301, 0, 0, 302, 0, 0, 0,
2273 0, 0, 0, 0, 303, 304, 305, 0, 0, 0,
2274 0, 0, 306, 307, 308, 281, 8, 9, 10, 533,
2275 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2276 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2277 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2278 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2279 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2280 299, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2281 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2282 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2283 307, 308, 0, 0, 0, 0, 309, 569, 281, 8,
2284 9, 10, 0, 12, 499, 283, 284, 0, 285, 14,
2285 0, 0, 0, 0, 310, 0, 0, 0, 0, 0,
2286 0, 0, 0, 0, 17, 286, 18, 0, 20, 0,
2287 287, 288, 21, 0, 289, 290, 291, 22, 292, 293,
2288 0, 24, 0, 0, 0, 294, 295, 296, 297, 298,
2289 27, 0, 28, 299, 0, 0, 0, 300, 0, 0,
2290 0, 0, 0, 301, 0, 0, 518, 0, 0, 0,
2291 0, 0, 0, 0, 303, 304, 519, 0, 0, 0,
2292 0, 0, 306, 307, 308, 1094, 8, 9, 10, 520,
2293 12, 499, 283, 284, 0, 285, 14, 0, 0, 0,
2294 0, 0, 0, 0, 0, 0, 0, 310, 0, 0,
2295 0, 17, 286, 18, 0, 20, 0, 287, 288, 21,
2296 0, 289, 290, 291, 22, 292, 293, 0, 24, 0,
2297 0, 0, 294, 295, 296, 297, 298, 27, 0, 28,
2298 299, 0, 0, 0, 300, 0, 0, 0, 0, 0,
2299 301, 0, 0, 302, 0, 0, 0, 0, 0, 0,
2300 0, 303, 304, 305, 0, 0, 0, 0, 0, 306,
2301 307, 308, 7, 8, 9, 10, 309, 12, 499, 283,
2302 284, 0, 285, 14, 0, 0, 0, 0, 0, 0,
2303 0, 0, 0, 0, 310, 0, 0, 0, 17, 286,
2304 18, 0, 20, 0, 287, 288, 21, 0, 289, 290,
2305 291, 22, 292, 293, 0, 24, 0, 0, 0, 294,
2306 295, 296, 297, 298, 27, 0, 28, 29, 0, 0,
2307 0, 300, 0, 0, 0, 0, 0, 301, 0, 0,
2308 1421, 0, 0, 0, 0, 0, 0, 0, 303, 304,
2309 1422, 0, 0, 0, 0, 0, 306, 307, 308, 281,
2310 8, 9, 10, 1423, 12, 499, 283, 284, 0, 285,
2311 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2312 0, 310, 0, 0, 0, 17, 286, 18, 0, 20,
2313 0, 287, 288, 21, 0, 289, 290, 291, 22, 292,
2314 293, 0, 24, 0, 0, 0, 294, 295, 296, 297,
2315 298, 27, 0, 28, 299, 0, 0, 0, 0, 0,
2316 0, 0, 0, 0, 301, 0, 0, 302, 0, 0,
2317 0, 0, 0, 0, 0, 303, 304, 305, 0, 0,
2318 0, 0, 0, 306, 307, 308, 281, 8, 9, 10,
2319 500, 12, 499, 283, 284, 0, 285, 14, 0, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 310, 0,
2321 0, 0, 17, 286, 18, 0, 20, 0, 287, 288,
2322 21, 0, 289, 290, 291, 22, 292, 293, 0, 24,
2323 0, 0, 0, 294, 295, 296, 297, 298, 27, 0,
2324 28, 299, 0, 0, 0, 0, 0, 0, 0, 0,
2325 0, 301, 0, 0, 302, 0, 0, 0, 0, 0,
2326 0, 0, 303, 304, 305, 0, 0, 0, 0, 0,
2327 306, 307, 308, 281, 8, 9, 10, 503, 12, 499,
2328 283, 284, 0, 285, 14, 0, 0, 0, 0, 0,
2329 0, 0, 0, 0, 0, 310, 0, 0, 0, 17,
2330 286, 18, 0, 20, 0, 287, 288, 21, 0, 289,
2331 290, 291, 22, 292, 293, 0, 24, 0, 0, 0,
2332 294, 295, 296, 297, 298, 27, 0, 28, 299, 0,
2333 0, 0, 0, 0, 0, 0, 0, 0, 301, 0,
2334 0, 302, 0, 0, 0, 0, 0, 0, 0, 303,
2335 304, 305, 0, 0, 0, 0, 0, 306, 307, 308,
2336 281, 8, 9, 10, 309, 12, 499, 283, 284, 0,
2337 285, 14, 0, 0, 0, 0, 0, 0, 0, 0,
2338 0, 0, 310, 0, 0, 0, 17, 286, 18, 0,
2339 20, 0, 287, 288, 21, 0, 289, 290, 291, 22,
2340 292, 293, 0, 24, 0, 0, 0, 294, 295, 296,
2341 297, 298, 27, 0, 28, 299, 0, 0, 0, 0,
2342 0, 0, 0, 0, 0, 301, 0, 0, 518, 0,
2343 0, 0, 0, 0, 0, 0, 303, 304, 519, 0,
2344 0, 0, 0, 0, 306, 307, 308, 7, 8, 9,
2345 10, 520, 12, 282, 283, 284, 0, 285, 14, 0,
2346 0, 0, 0, 0, 0, 0, 0, 0, 0, 310,
2347 0, 0, 0, 17, 286, 18, 0, 20, 0, 287,
2348 288, 21, 0, 289, 290, 291, 22, 292, 293, 0,
2349 24, 0, 0, 0, 294, 295, 296, 297, 298, 27,
2350 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
2351 0, 0, 301, 0, 6, 1421, 7, 8, 9, 10,
2352 11, 12, 13, 303, 304, 1422, 0, 14, 0, 0,
2353 0, 306, 307, 308, 0, 0, 0, 0, 1423, 0,
2354 0, 0, 17, 0, 18, 19, 0, 0, 0, 0,
2355 21, 0, 0, 0, 0, 22, 310, 0, 0, 24,
2356 0, 0, 411, 0, 0, 0, 0, 0, 27, 0,
2357 28, 29, 0, 0, 30, -357, 8, 9, -357, -357,
2358 12, 227, 0, 0, 31, 0, 14, 0, 0, 0,
2359 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2360 0, 17, 33, 18, -357, 0, 0, 34, 0, 21,
2361 0, 0, 0, 0, -357, 0, 0, 0, 24, 0,
2362 581, 0, 0, 0, 0, 0, 0, 27, 0, 129,
2363 130, 7, 8, 9, 10, 189, 12, 190, 0, 0,
2364 0, 0, 14, 582, 0, 0, 0, 0, 0, 0,
2365 0, 0, 0, 583, 0, 0, 0, 17, 0, 18,
2366 19, -357, 0, 584, 0, 21, 585, 586, 0, 0,
2367 22, 0, 0, 0, 24, 0, 989, 8, 733, 10,
2368 189, 12, 190, 27, 0, 28, 29, 14, 0, 191,
2369 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,
2370 0, 0, 17, 0, 18, 19, 0, 0, 0, 32,
2371 21, 0, 0, 0, 0, 22, 0, 33, 0, 24,
2372 0, 0, 34, 0, 0, 0, 0, 0, 27, 0,
2373 28, 29, 0, 0, 0, 0, 991, 7, 8, 9,
2374 10, 189, 12, 190, 31, 0, 0, 0, 14, 0,
2375 0, 0, 0, 0, 32, 0, 0, 0, 0, 0,
2376 0, 0, 33, 17, 0, 18, 19, 34, 0, 0,
2377 0, 21, 0, 0, 0, 0, 22, 0, 0, 0,
2378 24, 0, 7, 8, 9, 10, 386, 12, 13, 27,
2379 0, 28, 29, 14, 0, 1355, 0, 0, 0, 0,
2380 0, 0, 0, 0, 0, 31, 0, 0, 17, 0,
2381 18, 19, 0, 0, 0, 32, 21, 0, 0, 0,
2382 0, 22, 0, 33, 0, 24, 0, 0, 34, 0,
2383 0, 0, 0, 0, 27, 0, 28, 29, 7, 8,
2384 9, 10, 189, 12, 190, 0, 0, 0, 0, 14,
2385 31, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2386 32, 0, 0, 0, 17, 0, 18, 19, 33, 0,
2387 0, 0, 21, 34, 0, 0, 0, 22, 0, 0,
2388 0, 24, 0, 7, 8, 9, 10, 198, 199, 200,
2389 27, 0, 28, 29, 14, 0, 0, 0, 0, 0,
2390 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
2391 0, 0, 19, 0, 0, 0, 32, 21, 0, 0,
2392 0, 0, 22, 0, 33, 1411, 24, 0, 581, 34,
2393 0, 0, 0, 0, 0, 27, 0, 28, 29, 535,
2394 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2395 546, 177, 548, 549, 550, 551, 552, 553, 554, 555,
2396 556, 178, 0, 0, 0, 0, 0, 19, 0, 33,
2397 0, 0, 0, 0, 1358, 0, 1412, 535, 536, 537,
2398 538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
2399 548, 549, 550, 551, 552, 553, 554, 555, 556, 535,
2400 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2401 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2402 556, 535, 536, 537, 538, 539, 540, 541, 542, 543,
2403 544, 545, 546, 547, 548, 549, 550, 551, 552, 553,
2404 554, 555, 556, 535, 536, 537, 538, 539, 540, 541,
2405 542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
2406 552, 553, 554, 555, 556, 0, 0, 0, 0, 0,
2407 1185, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2408 0, 0, 0, 0, 0, 621, 0, 0, 1466, 535,
2409 536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
2410 546, 547, 548, 549, 550, 551, 552, 553, 554, 555,
2411 556, 1484, 535, 536, 537, 538, 539, 540, 541, 542,
2412 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2413 553, 554, 555, 556, 535, 536, 537, 538, 539, 540,
2414 541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
2415 551, 552, 553, 554, 555, 556
2416 };
2417
2418 static const short yycheck[] = { 4,
2419 156, 79, 4, 426, 673, 670, 54, 24, 4, 125,
2420 4, 193, 329, 385, 232, 335, 448, 83, 336, 337,
2421 385, 4, 285, 286, 385, 58, 530, 146, 147, 653,
2422 469, 36, 14, 4, 36, 830, 41, 31, 32, 41,
2423 36, 123, 36, 223, 132, 41, 228, 41, 660, 353,
2424 737, 56, 739, 36, 317, 4, 201, 202, 41, 746,
2425 34, 4, 1254, 141, 585, 36, 71, 421, 128, 1261,
2426 41, 592, 193, 133, 392, 393, 132, 133, 83, 4,
2427 61, 202, 87, 1408, 89, 56, 91, 36, 11, 83,
2428 1247, 1324, 41, 36, 38, 277, 1409, 11, 41, 11,
2429 82, 106, 107, 53, 34, 1155, 1156, 1410, 9, 187,
2430 79, 36, 45, 48, 60, 63, 41, 335, 456, 1169,
2431 60, 1446, 59, 105, 0, 65, 7, 63, 65, 0,
2432 135, 136, 89, 138, 91, 473, 76, 754, 60, 75,
2433 63, 135, 75, 760, 385, 1, 75, 329, 1, 59,
2434 49, 12, 146, 147, 586, 160, 1, 38, 83, 94,
2435 193, 62, 110, 1426, 135, 111, 160, 111, 201, 202,
2436 524, 12, 146, 147, 148, 110, 287, 288, 1481, 136,
2437 12, 111, 1445, 177, 178, 502, 135, 110, 110, 160,
2438 100, 302, 135, 434, 305, 228, 110, 308, 110, 60,
2439 311, 151, 63, 59, 315, 179, 59, 63, 106, 107,
2440 135, 160, 323, 1526, 59, 196, 1541, 160, 63, 60,
2441 63, 1413, 63, 204, 65, 75, 48, 36, 60, 94,
2442 48, 63, 41, 672, 184, 160, 1286, 98, 326, 1502,
2443 96, 25, 55, 65, 277, 1295, 1296, 229, 1298, 110,
2444 867, 96, 1409, 1486, 1049, 61, 322, 98, 414, 3,
2445 4, 5, 75, 1455, 197, 60, 98, 110, 880, 94,
2446 326, 883, 94, 278, 243, 59, 94, 95, 902, 63,
2447 34, 76, 643, 365, 604, 61, 60, 39, 4, 5,
2448 608, 94, 110, 9, 63, 355, 329, 48, 76, 60,
2449 78, 48, 61, 55, 309, 111, 75, 452, 453, 921,
2450 922, 1503, 96, 57, 58, 460, 109, 322, 48, 379,
2451 674, 440, 441, 379, 696, 330, 61, 472, 322, 633,
2452 75, 696, 453, 338, 339, 111, 110, 81, 55, 55,
2453 388, 57, 58, 94, 585, 339, 491, 94, 95, 110,
2454 871, 592, 111, 335, 48, 71, 574, 390, 75, 976,
2455 60, 27, 28, 110, 94, 81, 32, 25, 339, 27,
2456 28, 988, 767, 768, 769, 692, 111, 48, 75, 95,
2457 385, 338, 1432, 1433, 389, 48, 48, 94, 909, 385,
2458 339, 385, 146, 147, 148, 61, 339, 322, 1193, 65,
2459 94, 59, 906, 25, 1021, 63, 1023, 518, 519, 832,
2460 110, 309, 61, 48, 339, 25, 61, 27, 28, 452,
2461 453, 55, 55, 94, 95, 179, 55, 460, 949, 434,
2462 65, 94, 94, 95, 48, 416, 868, 55, 96, 472,
2463 434, 75, 75, 4, 5, 111, 440, 441, 110, 59,
2464 8, 9, 770, 63, 32, 696, 14, 75, 491, 94,
2465 385, 63, 3, 4, 5, 470, 440, 441, 442, 3,
2466 4, 5, 6, 1085, 1086, 59, 470, 63, 459, 37,
2467 94, 95, 75, 1170, 48, 55, 96, 470, 46, 75,
2468 48, 48, 497, 63, 55, 500, 57, 58, 503, 55,
2469 566, 470, 507, 508, 509, 510, 511, 48, 42, 434,
2470 71, 4, 5, 754, 55, 520, 57, 58, 446, 760,
2471 81, 470, 4, 57, 58, 530, 454, 470, 533, 462,
2472 94, 903, 55, 431, 95, 974, 94, 94, 903, 166,
2473 497, 721, 903, 723, 48, 470, 4, 5, 728, 48,
2474 59, 55, 75, 94, 36, 89, 876, 60, 61, 41,
2475 565, 566, 610, 111, 57, 58, 3, 4, 5, 714,
2476 48, 75, 566, 94, 3, 4, 5, 48, 611, 48,
2477 585, 899, 55, 937, 76, 1106, 55, 592, 582, 583,
2478 94, 585, 55, 4, 5, 94, 95, 779, 592, 57,
2479 58, 649, 500, 651, 652, 503, 75, 55, 48, 507,
2480 873, 95, 49, 1134, 596, 731, 94, 1040, 1041, 652,
2481 57, 58, 520, 94, 641, 94, 867, 1059, 57, 58,
2482 871, 636, 48, 110, 48, 533, 48, 11, 49, 537,
2483 1251, 566, 1253, 55, 692, 650, 57, 58, 48, 654,
2484 60, 61, 4, 5, 94, 672, 110, 9, 876, 692,
2485 585, 110, 903, 75, 110, 563, 111, 592, 909, 48,
2486 81, 569, 4, 5, 14, 94, 48, 1116, 94, 636,
2487 94, 714, 94, 23, 61, 48, 440, 441, 442, 8,
2488 9, 696, 1449, 3, 94, 14, 744, 1015, 1016, 1017,
2489 60, 61, 696, 55, 113, 57, 58, 1130, 949, 1148,
2490 25, 95, 27, 28, 95, 94, 1139, 1140, 37, 71,
2491 63, 1144, 94, 55, 64, 57, 58, 46, 113, 81,
2492 841, 94, 737, 9, 739, 976, 12, 1054, 1495, 94,
2493 745, 746, 60, 737, 59, 739, 779, 988, 63, 754,
2494 755, 756, 746, 758, 737, 760, 739, 63, 869, 870,
2495 754, 94, 1185, 746, 1055, 1056, 760, 1058, 737, 75,
2496 739, 696, 48, 744, 745, 75, 745, 746, 4, 5,
2497 1021, 96, 1023, 123, 60, 75, 62, 63, 737, 65,
2498 739, 971, 972, 973, 737, 75, 739, 746, 755, 756,
2499 76, 758, 78, 746, 1469, 145, 75, 740, 741, 11,
2500 27, 28, 737, 111, 739, 32, 749, 110, 94, 95,
2501 1489, 746, 98, 49, 829, 4, 5, 60, 833, 754,
2502 55, 57, 58, 110, 110, 760, 914, 27, 28, 84,
2503 85, 55, 110, 60, 61, 60, 61, 110, 65, 63,
2504 1273, 3, 4, 5, 6, 81, 861, 3, 4, 5,
2505 6, 75, 867, 4, 5, 1106, 871, 75, 60, 110,
2506 49, 111, 48, 867, 61, 869, 870, 871, 57, 58,
2507 220, 221, 60, 61, 76, 1203, 78, 111, 1311, 65,
2508 42, 113, 232, 1134, 876, 113, 42, 49, 903, 110,
2509 905, 906, 81, 49, 909, 57, 58, 903, 49, 903,
2510 75, 57, 58, 907, 908, 909, 57, 58, 94, 95,
2511 60, 61, 1000, 60, 61, 25, 75, 27, 28, 81,
2512 55, 979, 75, 113, 55, 909, 1253, 89, 113, 837,
2513 81, 110, 867, 89, 949, 59, 871, 3, 4, 5,
2514 1061, 7, 8, 9, 55, 949, 4, 5, 963, 59,
2515 110, 301, 63, 63, 969, 3, 4, 5, 6, 55,
2516 94, 976, 110, 871, 75, 949, 110, 63, 903, 8,
2517 113, 1335, 976, 988, 909, 1104, 1105, 4, 5, 75,
2518 3, 4, 5, 1347, 988, 48, 96, 65, 60, 94,
2519 48, 57, 58, 343, 42, 111, 1011, 55, 979, 57,
2520 58, 61, 352, 1132, 1133, 55, 1021, 1011, 1023, 57,
2521 58, 1132, 1133, 71, 949, 365, 37, 1021, 1011, 1023,
2522 1108, 1000, 49, 81, 65, 65, 49, 65, 110, 61,
2523 57, 58, 1011, 91, 57, 58, 94, 95, 3, 4,
2524 5, 976, 7, 8, 9, 63, 110, 94, 1063, 992,
2525 65, 110, 1011, 988, 81, 998, 999, 1439, 1011, 1002,
2526 1003, 969, 1426, 1006, 1439, 55, 110, 55, 110, 65,
2527 65, 60, 37, 63, 110, 63, 1011, 3, 4, 5,
2528 717, 1445, 3, 4, 5, 75, 1021, 75, 1023, 1116,
2529 55, 1106, 57, 58, 59, 63, 1063, 113, 1531, 110,
2530 1104, 1105, 1106, 110, 3, 4, 5, 6, 1472, 3,
2531 4, 5, 1127, 110, 751, 1127, 1443, 467, 110, 1134,
2532 1104, 1105, 1106, 1127, 76, 76, 1247, 55, 1132, 1133,
2533 1134, 57, 58, 59, 1127, 63, 57, 58, 1502, 76,
2534 105, 106, 107, 42, 76, 909, 1510, 75, 1132, 1133,
2535 1134, 4, 5, 4, 5, 1170, 55, 110, 57, 58,
2536 56, 55, 58, 57, 58, 59, 1170, 110, 1127, 110,
2537 63, 1106, 63, 60, 87, 63, 89, 1170, 91, 3,
2538 4, 5, 532, 110, 113, 949, 111, 1166, 1439, 95,
2539 89, 1170, 1127, 1251, 110, 1253, 110, 89, 49, 1134,
2540 75, 113, 55, 48, 57, 58, 57, 58, 110, 110,
2541 1253, 1170, 3, 4, 5, 113, 7, 1170, 71, 60,
2542 110, 110, 65, 136, 574, 138, 1134, 113, 81, 110,
2543 81, 55, 1247, 57, 58, 1170, 110, 1252, 111, 1254,
2544 31, 111, 1254, 1247, 65, 60, 1261, 38, 60, 1261,
2545 1254, 1443, 1418, 110, 1247, 1270, 110, 1261, 94, 94,
2546 94, 1254, 94, 111, 55, 8, 57, 58, 1261, 113,
2547 166, 110, 110, 1181, 1182, 1183, 1184, 3, 4, 5,
2548 6, 27, 28, 1191, 110, 110, 32, 110, 1247, 111,
2549 110, 641, 1421, 1422, 113, 1254, 110, 193, 34, 110,
2550 1421, 1422, 1261, 653, 110, 201, 202, 81, 82, 83,
2551 84, 85, 1247, 110, 60, 61, 42, 110, 110, 1254,
2552 65, 110, 55, 49, 110, 110, 1261, 48, 63, 679,
2553 113, 57, 58, 110, 1242, 110, 97, 3, 4, 5,
2554 1104, 1105, 1106, 110, 981, 982, 7, 8, 9, 63,
2555 1293, 1294, 63, 14, 61, 81, 3, 4, 5, 61,
2556 7, 8, 9, 89, 9, 31, 61, 16, 1132, 1133,
2557 1134, 32, 110, 1010, 1358, 94, 37, 94, 3, 4,
2558 5, 110, 712, 110, 61, 46, 1444, 300, 1403, 55,
2559 37, 57, 58, 1408, 1409, 1410, 1408, 110, 1413, 1403,
2560 1443, 1413, 4, 5, 1408, 1409, 1410, 110, 1423, 1413,
2561 57, 58, 113, 110, 1357, 1408, 1409, 1421, 1422, 61,
2562 1413, 94, 94, 753, 1439, 338, 3, 4, 5, 759,
2563 55, 1446, 57, 58, 1446, 1439, 1344, 1421, 1422, 1423,
2564 1455, 17, 1446, 1455, 61, 109, 99, 49, 110, 1408,
2565 1409, 1455, 61, 1446, 1413, 57, 58, 11, 110, 110,
2566 110, 61, 1455, 61, 61, 94, 1481, 60, 1403, 65,
2567 110, 61, 110, 1408, 1409, 1410, 110, 1481, 1413, 11,
2568 57, 58, 4, 5, 3, 4, 5, 1446, 1503, 61,
2569 11, 1503, 61, 389, 390, 1403, 1455, 0, 0, 1503,
2570 0, 1409, 1410, 413, 1439, 355, 2, 903, 745, 1116,
2571 1503, 1446, 160, 426, 427, 1423, 3, 4, 5, 6,
2572 1455, 434, 93, 45, 1161, 1162, 1541, 1164, 1165, 1541,
2573 1167, 1474, 862, 55, 864, 57, 58, 1541, 57, 58,
2574 1468, 160, 892, 138, 1503, 1334, 1481, 1541, 1541, 445,
2575 280, 48, 902, 1252, 892, 42, 452, 453, 679, 222,
2576 456, 887, 49, 1148, 460, 974, 1011, 745, 1503, 1168,
2577 57, 58, 617, 1481, 7, 8, 9, 473, 885, 566,
2578 184, 14, 1541, 123, 497, 498, 326, 1254, 1128, 1497,
2579 87, 88, 1510, 1489, 1358, 92, 93, 94, 95, 32,
2580 1458, 1520, 89, 34, 37, 1522, 1541, 958, 1270, -1,
2581 -1, 1519, -1, 46, -1, -1, -1, 530, 1526, 532,
2582 -1, -1, 535, 536, -1, 538, 539, 540, 541, 542,
2583 543, 544, 545, 546, 547, 548, 549, 550, 551, 552,
2584 553, 554, 555, 556, -1, -1, 1283, 1284, -1, 562,
2585 -1, 564, 565, -1, -1, -1, -1, 1421, 1422, 1423,
2586 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2587 6, 7, 8, 9, -1, 7, 8, 9, 14, 592,
2588 4, 5, 14, -1, -1, 9, 599, -1, -1, -1,
2589 1020, 1041, 1022, 29, -1, 31, 32, 33, -1, -1,
2590 32, 37, 38, -1, -1, 37, 42, 620, 621, -1,
2591 46, 47, -1, 49, 46, 611, 147, 148, -1, 55,
2592 -1, 57, 58, 636, 48, 61, -1, 63, 79, 61,
2593 -1, 55, -1, 57, 58, 71, 427, -1, -1, -1,
2594 1377, 1378, 1379, 434, -1, 81, 1076, 71, 179, -1,
2595 -1, -1, 103, 89, 650, -1, 652, 81, 94, 79,
2596 80, 81, 82, 83, 84, 85, 679, 91, -1, -1,
2597 94, 95, -1, -1, 1124, 111, -1, -1, 4, 5,
2598 1130, 132, 8, 9, -1, -1, -1, 4, 14, -1,
2599 141, -1, 1429, 1430, -1, -1, 692, 14, -1, -1,
2600 -1, -1, -1, 29, -1, 31, -1, 498, 25, -1,
2601 -1, 37, -1, -1, 31, 32, -1, 34, 714, 36,
2602 46, 717, 1152, 736, 41, -1, -1, 1157, -1, 55,
2603 -1, 57, 58, 59, -1, -1, 187, 54, -1, 56,
2604 -1, -1, 755, 756, -1, 758, -1, 64, -1, 745,
2605 3, 4, 5, -1, 71, 751, -1, 1494, -1, -1,
2606 773, -1, -1, -1, -1, 82, 83, -1, 94, 220,
2607 -1, 562, -1, 564, 565, -1, -1, 1207, 309, -1,
2608 -1, -1, 795, -1, -1, -1, 39, 40, 105, 42,
2609 -1, -1, 243, 1243, -1, -1, 3, 4, 5, 6,
2610 -1, 592, 55, -1, 57, 58, -1, -1, 599, -1,
2611 -1, 128, -1, -1, -1, -1, 133, 12, 135, 832,
2612 833, -1, 139, -1, -1, 142, 143, -1, -1, 146,
2613 147, 148, 27, 28, 847, 42, 849, 32, 851, -1,
2614 -1, -1, -1, 160, -1, -1, -1, -1, 55, -1,
2615 57, 58, -1, 48, 61, -1, 63, -1, -1, -1,
2616 177, 178, 179, -1, 71, 60, 61, -1, 63, -1,
2617 65, 884, 1302, 1303, 81, -1, 1326, -1, -1, -1,
2618 -1, 894, 89, 334, -1, -1, -1, 94, 1318, 206,
2619 -1, -1, -1, 906, 7, 8, 9, -1, -1, 94,
2620 95, 14, 427, 98, 221, -1, 919, -1, -1, 434,
2621 441, 442, 229, -1, -1, 110, -1, -1, 931, 32,
2622 -1, -1, -1, 240, 37, -1, -1, -1, -1, 3,
2623 4, 5, 6, 46, -1, 9, 949, -1, -1, -1,
2624 1370, 1371, -1, -1, 395, -1, -1, -1, 61, 77,
2625 78, 79, 80, 81, 82, 83, 84, 85, -1, 1389,
2626 1390, 278, 279, -1, -1, -1, -1, -1, 42, 500,
2627 -1, -1, 503, 498, 48, -1, -1, -1, 991, -1,
2628 -1, 55, 773, 57, 58, 981, 982, -1, 519, 520,
2629 -1, 328, 329, 330, -1, -1, -1, 71, -1, -1,
2630 -1, -1, 533, -1, -1, 322, -1, 81, -1, 326,
2631 -1, 328, 329, 330, 1010, 89, 467, 91, -1, -1,
2632 94, 95, 339, -1, -1, -1, -1, 1040, 1041, -1,
2633 -1, 1044, -1, -1, -1, -1, -1, 562, 355, 564,
2634 565, -1, 833, 494, 3, 4, 5, 6, -1, -1,
2635 1063, -1, -1, -1, -1, -1, 847, -1, 849, -1,
2636 851, 592, 379, -1, -1, -1, -1, -1, 385, -1,
2637 -1, 388, 389, -1, 599, -1, -1, -1, -1, -1,
2638 -1, -1, 399, 42, -1, 402, -1, -1, -1, 48,
2639 407, -1, -1, -1, -1, -1, 55, -1, 57, 58,
2640 -1, -1, -1, 894, -1, 1118, -1, 1120, -1, 1122,
2641 -1, -1, 71, -1, -1, -1, -1, 1130, -1, 436,
2642 -1, 438, 81, 440, 441, 442, 1139, 1140, 579, 446,
2643 89, 1144, 91, -1, 451, 94, 95, 454, -1, -1,
2644 931, -1, -1, -1, 595, -1, 1159, 1160, -1, -1,
2645 -1, -1, -1, 470, -1, -1, -1, -1, 949, -1,
2646 -1, -1, -1, -1, -1, 1161, 1162, -1, 1164, 1165,
2647 -1, 1167, 1185, -1, 1, -1, 3, 4, 5, 6,
2648 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2649 -1, 508, 509, 510, 511, -1, -1, -1, -1, -1,
2650 -1, 1214, 29, -1, 31, 32, 33, -1, -1, -1,
2651 37, 38, -1, -1, -1, 42, -1, -1, -1, 46,
2652 47, -1, 49, -1, -1, 1238, -1, -1, 55, -1,
2653 57, 58, -1, -1, 61, -1, 63, -1, -1, -1,
2654 -1, -1, 773, -1, 71, 582, 583, -1, 585, 566,
2655 -1, 568, -1, -1, 81, 592, 1252, 1253, -1, -1,
2656 1273, -1, 89, 580, -1, 582, 583, 94, 585, -1,
2657 -1, -1, -1, -1, -1, 592, 1289, -1, -1, 596,
2658 -1, -1, -1, -1, 111, -1, -1, 1283, 1284, -1,
2659 -1, -1, -1, 610, -1, -1, -1, -1, 1311, 3,
2660 4, 5, 6, -1, -1, 9, -1, -1, 833, -1,
2661 -1, -1, 649, -1, 651, 652, 1, 654, 3, 4,
2662 5, 6, 847, 8, 849, -1, 851, 1118, -1, 1120,
2663 -1, 1122, 649, 650, 651, 652, 653, 654, 42, 870,
2664 871, -1, -1, -1, -1, 1358, -1, -1, -1, -1,
2665 -1, 55, -1, 57, 58, 692, -1, 42, -1, -1,
2666 -1, -1, 1375, 1376, 49, -1, -1, 71, -1, 894,
2667 55, 1384, 57, 58, -1, 692, -1, 81, 909, 696,
2668 -1, 1377, 1378, 1379, -1, 89, 703, 704, -1, 706,
2669 94, -1, -1, -1, -1, -1, -1, -1, 1411, -1,
2670 -1, -1, -1, -1, 89, -1, 931, -1, 106, 107,
2671 -1, -1, -1, -1, -1, -1, -1, 734, 949, -1,
2672 737, -1, 739, 1214, 875, -1, 877, 744, 745, 746,
2673 -1, -1, -1, 1429, 1430, -1, -1, 754, -1, -1,
2674 -1, -1, 779, 760, -1, 3, 4, 5, 6, -1,
2675 767, 768, 769, -1, -1, -1, -1, -1, -1, -1,
2676 -1, -1, 779, 914, -1, -1, -1, -1, 4, 5,
2677 -1, 7, 8, 9, -1, -1, 12, -1, 14, -1,
2678 -1, -1, -1, -1, 42, -1, -1, 3, 4, 5,
2679 6, -1, -1, 29, -1, 31, 32, 55, 1494, 57,
2680 58, 37, -1, 61, -1, -1, -1, -1, -1, -1,
2681 46, -1, 829, 71, -1, 852, -1, 854, 1531, 55,
2682 -1, 57, 58, 81, -1, -1, 42, -1, 865, -1,
2683 -1, 89, 869, 870, 871, 852, 94, 854, -1, 55,
2684 -1, 57, 58, -1, 861, -1, -1, 63, 865, 1000,
2685 867, -1, 869, 870, 871, 71, -1, -1, -1, 876,
2686 -1, -1, 98, -1, -1, 81, -1, 1358, -1, -1,
2687 907, 908, 909, 89, 1105, 1106, 4, 5, 94, -1,
2688 -1, 9, -1, -1, -1, -1, 903, -1, 905, 4,
2689 907, 908, 909, 1118, -1, 1120, -1, 1122, -1, 14,
2690 -1, -1, 1133, 1134, -1, -1, -1, -1, -1, 24,
2691 25, 309, 949, -1, -1, -1, 31, 32, -1, 34,
2692 48, 36, -1, -1, -1, -1, 41, 55, -1, 57,
2693 58, 1082, 949, -1, -1, -1, -1, -1, -1, 54,
2694 -1, 56, -1, 71, -1, -1, 963, -1, -1, 64,
2695 -1, -1, -1, 81, -1, -1, 71, 1108, -1, 976,
2696 -1, -1, 979, 91, -1, -1, 94, 95, 83, -1,
2697 -1, 988, 3, 4, 5, 6, -1, -1, -1, -1,
2698 -1, -1, -1, -1, 1001, -1, -1, 385, -1, 1214,
2699 -1, -1, -1, -1, 1011, -1, -1, -1, 3, 4,
2700 5, 6, -1, -1, 1021, -1, 1023, -1, -1, -1,
2701 -1, 42, -1, 128, -1, 1166, -1, -1, 49, -1,
2702 135, 328, 329, 330, 139, -1, 57, 58, 143, -1,
2703 -1, 146, 147, 148, -1, -1, 434, 42, 1055, 1056,
2704 -1, 1058, -1, -1, 49, 160, -1, -1, -1, -1,
2705 4, 5, 57, 58, 8, 9, -1, -1, 89, -1,
2706 14, -1, 177, 178, 179, 1102, 1103, 1104, 1105, 1106,
2707 -1, -1, -1, 1110, -1, 29, 81, 31, -1, -1,
2708 -1, -1, -1, 37, 89, 1102, 1103, 1104, 1105, 1106,
2709 -1, 206, 46, 1110, -1, 1132, 1133, 1134, -1, -1,
2710 -1, 55, 500, 57, 58, 503, -1, -1, -1, 507,
2711 508, 509, 510, 511, -1, 1132, 1133, 1134, 3, 4,
2712 5, 6, 520, -1, 9, 240, -1, 1358, -1, -1,
2713 3, 4, 5, 6, -1, 533, 9, -1, -1, -1,
2714 94, -1, -1, -1, -1, -1, 1163, -1, -1, -1,
2715 -1, 1168, -1, 1170, -1, -1, -1, 42, -1, -1,
2716 -1, -1, -1, 278, 279, -1, -1, 565, -1, 42,
2717 55, -1, 57, 58, -1, 48, -1, -1, -1, -1,
2718 1217, 1218, 55, 1220, 57, 58, 71, 585, -1, -1,
2719 -1, 1422, 1423, -1, 592, -1, 81, -1, 71, -1,
2720 1217, 1218, -1, 1220, 89, -1, -1, 322, 81, 94,
2721 -1, 326, -1, 328, 329, 330, 89, -1, 91, -1,
2722 335, 94, 95, -1, 339, 3, 4, 5, 6, -1,
2723 -1, 9, -1, -1, 1251, 1252, 1253, -1, -1, -1,
2724 355, -1, 3, 4, 5, 6, -1, -1, -1, -1,
2725 -1, -1, -1, 1270, -1, -1, -1, -1, -1, -1,
2726 -1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
2727 385, -1, 4, 388, 389, 582, 583, 55, -1, 57,
2728 58, 42, -1, -1, 399, -1, -1, 402, 49, -1,
2729 -1, -1, 407, 71, -1, -1, 57, 58, 696, 31,
2730 32, -1, -1, 81, 36, -1, -1, -1, -1, 41,
2731 -1, 89, 3, 4, 5, 6, 94, -1, -1, -1,
2732 81, 436, -1, 438, 56, 440, 441, 442, 89, -1,
2733 -1, 446, 3, 4, 5, 6, 451, -1, 9, 454,
2734 -1, 1358, 649, -1, 651, 652, -1, 654, -1, -1,
2735 -1, 42, -1, -1, 469, 470, 754, -1, 49, -1,
2736 -1, -1, 760, -1, -1, -1, 57, 58, -1, -1,
2737 -1, 42, -1, -1, -1, -1, -1, 48, -1, -1,
2738 -1, -1, -1, -1, 55, 692, 57, 58, -1, -1,
2739 81, -1, -1, 508, 509, 510, 511, -1, 89, -1,
2740 71, -1, -1, 135, 1421, 1422, 1423, 139, -1, -1,
2741 81, 143, -1, -1, -1, -1, -1, -1, 89, -1,
2742 91, -1, 1439, 94, 95, -1, -1, 1444, 160, -1,
2743 1, 829, 3, 4, 5, 6, 7, 8, 9, -1,
2744 -1, -1, -1, 14, -1, 177, 178, -1, -1, -1,
2745 -1, 566, -1, 568, -1, -1, 27, 28, 29, -1,
2746 31, 32, 33, 861, -1, -1, 37, 582, 583, 867,
2747 585, 42, 779, 871, 45, 46, 47, 592, 49, -1,
2748 -1, -1, -1, -1, 55, -1, 57, 58, -1, 604,
2749 61, -1, -1, -1, -1, 610, -1, -1, -1, -1,
2750 71, 3, 4, 5, 6, 903, -1, 905, 240, -1,
2751 81, 909, -1, -1, -1, -1, -1, -1, 89, -1,
2752 -1, -1, -1, 94, -1, -1, 641, -1, -1, 100,
2753 -1, -1, -1, -1, 649, 650, 651, 652, 653, 654,
2754 42, -1, -1, -1, -1, 852, -1, 854, -1, -1,
2755 -1, 949, -1, 55, -1, 57, 58, 672, 865, -1,
2756 -1, 63, 869, 870, -1, 963, -1, -1, -1, 71,
2757 -1, 969, -1, -1, -1, -1, -1, 692, 976, 81,
2758 -1, 696, -1, -1, -1, -1, -1, 89, 703, 704,
2759 988, 706, 94, -1, -1, -1, -1, -1, -1, -1,
2760 907, 908, -1, -1, -1, -1, -1, 339, 3, 4,
2761 5, 6, -1, -1, 9, -1, -1, -1, -1, 734,
2762 -1, -1, 737, 1021, 739, 1023, -1, -1, -1, 744,
2763 745, 746, -1, -1, -1, -1, -1, -1, -1, 754,
2764 -1, -1, -1, -1, -1, 760, -1, 42, -1, -1,
2765 -1, -1, 767, 768, 769, -1, -1, -1, -1, -1,
2766 55, -1, 57, 58, 779, -1, -1, 399, -1, -1,
2767 402, -1, -1, -1, -1, 407, 71, -1, -1, 3,
2768 4, 5, 6, -1, -1, 9, 81, -1, 177, 178,
2769 179, -1, -1, 4, 89, -1, -1, -1, -1, 94,
2770 -1, -1, -1, -1, 436, -1, 438, -1, 1106, -1,
2771 -1, -1, -1, -1, 829, -1, -1, -1, 42, 451,
2772 31, 32, -1, 34, 48, 36, -1, -1, -1, -1,
2773 41, 55, -1, 57, 58, -1, 1134, 852, 470, 854,
2774 -1, -1, -1, 54, -1, 56, 861, 71, -1, -1,
2775 865, -1, 867, -1, 869, 870, 871, 81, -1, -1,
2776 -1, 876, -1, -1, -1, 89, -1, 91, 79, -1,
2777 94, 95, 70, 71, 72, 73, 74, 75, 76, 77,
2778 78, 79, 80, 81, 82, 83, 84, 85, 903, -1,
2779 905, -1, 907, 908, 909, 1102, 1103, 1104, 1105, -1,
2780 -1, -1, -1, 1110, 73, 74, 75, 76, 77, 78,
2781 79, 80, 81, 82, 83, 84, 85, 128, -1, -1,
2782 -1, 132, 133, -1, 135, 1132, 1133, -1, 139, -1,
2783 141, -1, 143, -1, 949, 146, 147, 148, -1, -1,
2784 -1, -1, -1, -1, -1, -1, -1, -1, 963, 160,
2785 -1, -1, -1, -1, -1, -1, -1, -1, -1, 974,
2786 -1, 976, -1, -1, 979, -1, 177, 178, 179, -1,
2787 -1, -1, 1270, 988, -1, -1, 187, -1, -1, 4,
2788 5, -1, -1, 8, 9, -1, -1, -1, -1, 14,
2789 -1, -1, -1, -1, -1, 206, 1011, -1, -1, -1,
2790 -1, -1, -1, -1, -1, -1, 1021, -1, 1023, -1,
2791 1217, 1218, 37, 1220, -1, -1, -1, -1, 650, -1,
2792 -1, 46, -1, 48, -1, -1, -1, -1, -1, 240,
2793 55, -1, 57, 58, -1, -1, -1, -1, -1, -1,
2794 1055, 1056, -1, 1058, -1, -1, 71, 436, -1, 438,
2795 -1, 440, 441, 442, -1, -1, 81, -1, -1, -1,
2796 -1, -1, 451, -1, 696, -1, 91, -1, -1, 94,
2797 95, 703, 704, -1, 706, 74, 75, 76, 77, 78,
2798 79, 80, 81, 82, 83, 84, 85, 1102, 1103, 1104,
2799 1105, 1106, -1, -1, -1, 1110, -1, -1, 309, -1,
2800 -1, 1116, -1, -1, -1, 737, -1, 739, -1, -1,
2801 -1, -1, 744, 745, 746, 326, -1, 1132, 1133, 1134,
2802 -1, -1, -1, 334, -1, 1423, -1, -1, 339, -1,
2803 -1, -1, -1, 1148, -1, -1, -1, -1, -1, -1,
2804 -1, 1439, -1, -1, 355, -1, -1, -1, 1163, -1,
2805 -1, -1, -1, 1168, -1, 1170, 3, 4, 5, 6,
2806 7, 8, 9, -1, -1, 12, -1, 14, 379, -1,
2807 -1, -1, -1, -1, -1, -1, -1, 388, -1, -1,
2808 -1, -1, 29, -1, 31, 32, -1, -1, 399, -1,
2809 37, 402, -1, -1, -1, 42, 407, -1, -1, 46,
2810 -1, 48, 1217, 1218, -1, 1220, -1, -1, 55, -1,
2811 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, 71, 436, -1, 438, -1, 440,
2813 441, 442, -1, -1, 81, 446, 1251, 1252, 1253, -1,
2814 451, 4, 89, 454, 91, -1, -1, 94, 95, -1,
2815 -1, 98, -1, -1, -1, 1270, -1, -1, -1, 470,
2816 -1, -1, -1, -1, -1, -1, -1, -1, 31, 32,
2817 -1, 34, -1, 36, -1, 907, 908, -1, 41, -1,
2818 3, 4, 5, 6, -1, -1, 9, -1, -1, 500,
2819 -1, 54, 503, 56, -1, -1, -1, -1, -1, -1,
2820 4, 5, -1, -1, 8, 9, -1, 518, 519, 520,
2821 14, -1, -1, -1, 703, 704, -1, 706, -1, 42,
2822 -1, -1, 533, -1, -1, 29, -1, 31, -1, -1,
2823 -1, -1, 55, 37, 57, 58, -1, -1, 81, -1,
2824 -1, -1, 46, 1358, 48, -1, -1, 979, 71, -1,
2825 -1, 55, -1, 57, 58, 744, -1, -1, 81, 4,
2826 5, -1, -1, 8, 9, -1, 89, 71, 579, 14,
2827 -1, 94, 135, -1, -1, -1, 139, 81, -1, 1011,
2828 143, 592, -1, 146, 147, 148, -1, 91, -1, -1,
2829 94, 95, 37, -1, -1, -1, -1, 160, -1, 610,
2830 -1, 46, -1, 48, -1, -1, 1421, 1422, 1423, -1,
2831 55, 154, 57, 58, 177, 178, 179, -1, -1, -1,
2832 -1, -1, -1, -1, 1439, -1, 71, -1, -1, 1444,
2833 -1, -1, 175, -1, -1, -1, 81, -1, 649, 650,
2834 651, 652, -1, 206, -1, 188, 91, 4, 5, 94,
2835 95, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2837 1102, 1103, 29, -1, 31, -1, -1, 240, 1110, -1,
2838 37, 692, -1, -1, -1, 696, -1, -1, -1, 46,
2839 -1, -1, 703, 704, -1, 706, -1, -1, 55, -1,
2840 57, 58, -1, -1, -1, -1, -1, -1, -1, 1,
2841 -1, 3, 4, 5, 6, 7, 8, 9, 907, 908,
2842 909, -1, 14, -1, -1, -1, 737, -1, 739, -1,
2843 -1, 1163, -1, 744, 745, 746, 1168, 29, 1170, 31,
2844 32, 33, -1, -1, -1, 37, 38, -1, -1, -1,
2845 42, -1, -1, -1, 46, 47, -1, 49, -1, -1,
2846 949, -1, 773, 55, -1, 57, 58, -1, -1, 61,
2847 -1, 63, 335, -1, -1, -1, 339, -1, -1, 71,
2848 -1, -1, -1, -1, -1, 1217, 1218, -1, 1220, 81,
2849 979, -1, -1, -1, -1, -1, -1, 89, 3, 4,
2850 5, 6, 94, -1, 9, 72, 73, 74, 75, 76,
2851 77, 78, 79, 80, 81, 82, 83, 84, 85, 111,
2852 1252, -1, -1, -1, -1, 388, -1, -1, -1, -1,
2853 -1, -1, -1, -1, -1, -1, 399, 42, -1, 402,
2854 -1, -1, -1, -1, 407, -1, -1, -1, -1, -1,
2855 55, -1, 57, 58, -1, -1, -1, -1, 869, 870,
2856 871, -1, -1, -1, 875, -1, 71, -1, -1, -1,
2857 -1, -1, -1, 436, -1, 438, 81, 440, 441, 442,
2858 -1, -1, -1, 446, 89, -1, -1, -1, 451, 94,
2859 -1, 454, 34, -1, -1, -1, 907, 908, 909, -1,
2860 -1, 444, -1, 914, -1, -1, 449, 470, -1, -1,
2861 -1, -1, 54, 1102, 1103, 1104, 1105, 1106, -1, -1,
2862 -1, 1110, -1, -1, 3, 4, 5, 6, 7, 8,
2863 9, 474, -1, -1, -1, 14, -1, 480, 949, -1,
2864 -1, -1, -1, 1132, 1133, 1134, -1, -1, -1, 492,
2865 493, -1, 495, 32, -1, -1, -1, -1, 37, -1,
2866 -1, -1, -1, 42, -1, -1, -1, 46, 979, 48,
2867 3, 4, 5, 6, 1163, -1, 55, -1, 57, 58,
2868 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1000,
2869 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
2870 1011, -1, 81, -1, 146, 147, 148, -1, -1, 42,
2871 89, -1, 91, -1, -1, 94, 95, 580, -1, -1,
2872 -1, -1, 55, -1, 57, 58, -1, -1, 1217, 1218,
2873 63, 1220, -1, -1, -1, 177, 178, 179, 71, -1,
2874 -1, -1, -1, -1, -1, 588, 589, 610, 81, -1,
2875 593, -1, -1, -1, -1, -1, 89, -1, -1, -1,
2876 -1, 94, -1, -1, 206, -1, -1, -1, -1, -1,
2877 -1, 1082, -1, -1, -1, -1, 3, 4, 5, 6,
2878 -1, -1, 9, -1, -1, -1, 649, 650, 651, 652,
2879 -1, 1102, 1103, 1104, 1105, 1106, -1, 1108, -1, 1110,
2880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2881 -1, 3, 4, 5, 6, 42, -1, 9, -1, -1,
2882 -1, 1132, 1133, 1134, -1, -1, -1, -1, 55, 692,
2883 57, 58, -1, 696, -1, -1, -1, 279, -1, -1,
2884 703, 704, -1, 706, 71, -1, -1, -1, -1, -1,
2885 42, -1, 1163, -1, 81, -1, -1, 1168, -1, 1170,
2886 -1, -1, 89, 55, -1, 57, 58, 94, -1, 1358,
2887 -1, -1, 4, 5, 737, -1, 739, 9, -1, 71,
2888 -1, 744, 745, 746, -1, -1, 328, 329, 330, 81,
2889 -1, -1, -1, -1, -1, -1, 54, 89, 3, 4,
2890 5, 6, 94, -1, -1, -1, 1217, 1218, -1, 1220,
2891 -1, -1, -1, -1, -1, -1, 48, -1, 761, -1,
2892 763, 79, -1, 55, 82, 57, 58, -1, -1, -1,
2893 -1, -1, 1421, 1422, 1423, -1, -1, 42, -1, 71,
2894 1251, 1252, 1253, -1, -1, 103, 388, 105, -1, 81,
2895 55, -1, 57, 58, -1, -1, 61, -1, -1, 91,
2896 -1, -1, 94, 95, -1, -1, 71, -1, -1, -1,
2897 -1, -1, -1, -1, -1, -1, 81, -1, -1, -1,
2898 -1, -1, -1, -1, 89, -1, -1, -1, -1, 94,
2899 -1, -1, 835, 836, 436, 838, 438, -1, 440, 441,
2900 442, -1, -1, -1, 446, -1, -1, -1, -1, 451,
2901 -1, -1, 454, 876, -1, -1, -1, -1, -1, 177,
2902 178, 179, -1, 866, -1, -1, -1, -1, -1, 187,
2903 4, 5, -1, 7, 8, 9, -1, -1, 12, -1,
2904 14, -1, -1, -1, 907, 908, 909, 1358, 206, -1,
2905 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2906 -1, -1, -1, 37, -1, -1, -1, -1, 911, -1,
2907 -1, 229, 46, -1, 48, -1, -1, -1, -1, -1,
2908 -1, 55, -1, 57, 58, 243, 949, -1, -1, -1,
2909 42, -1, -1, -1, -1, -1, -1, 71, -1, -1,
2910 -1, -1, -1, 55, -1, 57, 58, 81, -1, -1,
2911 1421, 1422, 1423, -1, -1, -1, 979, 91, -1, 71,
2912 94, 95, -1, -1, 98, -1, 568, -1, -1, 81,
2913 -1, -1, 975, 1444, -1, -1, -1, 89, -1, -1,
2914 582, 583, 94, 585, 987, -1, -1, -1, 1011, -1,
2915 592, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2916 4, 5, -1, 7, 8, 9, -1, -1, 610, -1,
2917 14, -1, -1, -1, -1, -1, 334, 335, -1, -1,
2918 -1, 3, 4, 5, 6, 29, -1, 31, 32, -1,
2919 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2920 -1, -1, 46, -1, -1, 49, -1, 649, -1, 651,
2921 652, 55, 654, 57, 58, -1, -1, -1, -1, -1,
2922 42, -1, -1, -1, -1, -1, -1, -1, 1071, -1,
2923 388, -1, -1, 55, -1, 57, 58, -1, -1, 1102,
2924 1103, 1104, 1105, 1106, -1, -1, -1, 1110, -1, 71,
2925 692, -1, -1, -1, -1, -1, -1, -1, -1, 81,
2926 -1, 703, 704, -1, 706, -1, 1109, 89, -1, 1132,
2927 1133, 1134, 94, -1, -1, -1, -1, -1, 436, -1,
2928 438, -1, 440, 441, 442, -1, -1, -1, 446, -1,
2929 -1, -1, -1, 451, -1, -1, 454, -1, -1, -1,
2930 1163, -1, 744, -1, -1, 1168, -1, 1170, -1, -1,
2931 -1, -1, -1, -1, -1, 1, -1, 3, 4, 5,
2932 6, 7, 8, 9, -1, 767, 768, 769, 14, 1172,
2933 -1, -1, -1, 1176, -1, -1, -1, 779, -1, -1,
2934 -1, -1, -1, 29, -1, 31, 32, 33, -1, -1,
2935 -1, 37, 38, -1, 1217, 1218, 42, 1220, -1, -1,
2936 46, 47, -1, 49, -1, -1, 1209, -1, -1, 55,
2937 -1, 57, 58, -1, -1, 61, -1, 63, 3, 4,
2938 5, 6, -1, -1, -1, 71, -1, -1, 1251, 1252,
2939 1253, -1, -1, -1, -1, 81, -1, -1, -1, -1,
2940 -1, -1, -1, 89, -1, -1, -1, -1, 94, -1,
2941 852, -1, 854, -1, -1, -1, -1, 42, -1, -1,
2942 -1, -1, -1, 865, -1, 111, -1, 869, 870, 871,
2943 55, -1, 57, 58, -1, 1278, -1, 595, 596, 1282,
2944 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
2945 4, 5, 610, 7, 8, 9, 81, -1, 12, -1,
2946 14, 1304, 1305, -1, 89, 907, 908, 909, -1, 94,
2947 -1, -1, -1, -1, -1, 29, -1, 31, 32, -1,
2948 -1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
2949 -1, 649, 46, 651, 652, 1358, -1, -1, -1, -1,
2950 -1, 55, -1, 57, 58, -1, -1, 949, -1, -1,
2951 3, 4, 5, 6, 7, 8, 9, -1, 14, -1,
2952 -1, 14, -1, -1, -1, -1, -1, -1, 24, 25,
2953 -1, -1, -1, -1, 692, 31, 32, 979, 34, 32,
2954 -1, -1, -1, -1, 37, 703, 704, -1, 706, 42,
2955 -1, -1, -1, 46, -1, 48, -1, -1, 1421, 1422,
2956 1423, -1, 55, -1, 57, 58, 4, 5, 64, 7,
2957 8, 9, -1, 731, -1, -1, 14, -1, 71, -1,
2958 -1, 1444, -1, -1, -1, -1, 744, -1, 81, -1,
2959 -1, 29, -1, 31, 32, -1, 89, -1, 91, 37,
2960 -1, 94, 95, -1, -1, -1, -1, -1, 46, -1,
2961 -1, -1, -1, 1055, 1056, -1, 1058, 55, -1, 57,
2962 58, -1, -1, -1, -1, -1, -1, 123, -1, 125,
2963 -1, -1, 128, -1, -1, -1, 132, 133, -1, -1,
2964 -1, -1, -1, 139, -1, 141, 142, 143, -1, -1,
2965 146, 147, 148, -1, -1, -1, -1, -1, -1, -1,
2966 1102, 1103, 1104, 1105, 1106, -1, -1, -1, 1110, 68,
2967 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2968 79, 80, 81, 82, 83, 84, 85, -1, -1, -1,
2969 1132, 1133, 1134, -1, -1, -1, -1, -1, -1, -1,
2970 -1, -1, -1, -1, -1, -1, -1, 1, -1, 3,
2971 4, 5, 6, 7, 8, 9, -1, 875, 876, 877,
2972 14, 1163, -1, -1, 220, 221, -1, -1, -1, -1,
2973 -1, -1, -1, -1, -1, 29, -1, 31, 32, 33,
2974 -1, -1, -1, 37, 240, -1, -1, -1, 42, 907,
2975 908, 909, 46, 47, -1, 49, 914, -1, -1, -1,
2976 -1, 55, -1, 57, 58, -1, -1, 61, -1, 63,
2977 -1, -1, -1, -1, -1, 1217, 1218, 71, 1220, -1,
2978 -1, -1, -1, 279, -1, -1, -1, 81, -1, -1,
2979 -1, 949, -1, -1, -1, 89, -1, -1, -1, 1,
2980 94, -1, 4, 5, -1, -1, 8, 9, -1, 1251,
2981 -1, 1253, 14, -1, -1, -1, -1, -1, -1, -1,
2982 -1, 979, -1, -1, -1, -1, -1, 29, -1, 31,
2983 326, -1, 328, 329, -1, 37, -1, 39, 40, -1,
2984 -1, -1, 1000, -1, 46, -1, 48, -1, -1, -1,
2985 -1, -1, -1, 55, -1, 57, 58, -1, 60, 355,
2986 -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
2987 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2988 82, 83, 84, 379, -1, 87, 88, 89, -1, -1,
2989 92, -1, -1, 95, -1, -1, -1, -1, -1, 395,
2990 -1, -1, -1, 399, -1, -1, 402, -1, -1, -1,
2991 112, 407, -1, -1, -1, -1, 1358, -1, -1, -1,
2992 -1, -1, -1, -1, 1082, 69, 70, 71, 72, 73,
2993 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2994 84, 85, -1, -1, 1102, 1103, 1104, 1105, 1106, -1,
2995 1108, -1, 1110, 71, 72, 73, 74, 75, 76, 77,
2996 78, 79, 80, 81, 82, 83, 84, 85, -1, -1,
2997 -1, 467, -1, 469, 1132, 1133, 1134, -1, -1, 1421,
2998 1422, 1423, -1, -1, -1, -1, -1, -1, 3, 4,
2999 5, 6, 7, 8, 9, -1, -1, 12, 494, 14,
3000 -1, -1, 1444, -1, -1, 1163, -1, -1, -1, -1,
3001 -1, -1, -1, -1, 29, -1, 31, 32, -1, -1,
3002 -1, -1, 37, -1, -1, -1, -1, 42, -1, -1,
3003 -1, 46, -1, -1, -1, -1, -1, -1, -1, -1,
3004 55, -1, 57, 58, 1, -1, 3, 4, 5, 6,
3005 7, 8, 9, -1, -1, 12, 71, 14, -1, 1217,
3006 1218, -1, 1220, -1, -1, -1, 81, -1, 25, -1,
3007 27, 28, 568, -1, 89, 32, -1, -1, -1, 94,
3008 37, -1, -1, 579, 580, 42, 582, 583, -1, 46,
3009 -1, 48, -1, 1251, -1, 1253, -1, -1, 55, -1,
3010 57, 58, 59, 60, 61, -1, 63, 64, 65, 66,
3011 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3012 77, 78, 79, 80, 81, 82, 83, 84, 85, -1,
3013 87, 88, 89, -1, 91, 92, 93, 94, 95, 96,
3014 -1, 98, 99, -1, -1, 641, -1, 104, -1, -1,
3015 -1, -1, 109, 110, 111, -1, 113, 653, -1, -1,
3016 1, -1, 3, 4, 5, 6, 7, 8, 9, -1,
3017 4, 5, -1, 14, 8, 9, 672, -1, -1, -1,
3018 14, -1, -1, -1, -1, -1, 27, 28, 29, -1,
3019 31, 32, 33, -1, -1, 29, 37, 31, -1, -1,
3020 1358, 42, -1, 37, 45, 46, 47, -1, 49, -1,
3021 -1, -1, 46, -1, 55, -1, 57, 58, -1, -1,
3022 61, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3023 71, -1, -1, -1, -1, 731, -1, -1, 734, -1,
3024 81, -1, -1, -1, -1, -1, -1, -1, 89, -1,
3025 -1, -1, -1, 94, -1, -1, -1, -1, -1, 100,
3026 -1, -1, -1, 1421, 1422, 1423, -1, -1, -1, -1,
3027 -1, 767, 768, 769, -1, -1, -1, -1, -1, -1,
3028 -1, -1, -1, 779, -1, 1, 1444, 3, 4, 5,
3029 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3030 -1, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3031 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3032 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3033 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3034 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3035 -1, -1, 68, -1, -1, 71, 852, -1, 854, -1,
3036 -1, -1, -1, 79, 80, 81, -1, -1, -1, 865,
3037 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3038 96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3039 -1, -1, -1, -1, -1, 111, 112, 1, -1, 3,
3040 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3041 14, 15, -1, 17, 18, 19, 20, 21, 22, 23,
3042 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
3043 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3044 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3045 54, 55, -1, 57, 58, 59, -1, 61, 62, -1,
3046 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3047 -1, -1, -1, -1, -1, 79, 80, 81, 974, -1,
3048 -1, -1, -1, 87, 88, 89, -1, -1, -1, -1,
3049 94, 1, 96, 3, 4, 5, 6, 7, 8, 9,
3050 10, 11, 12, 13, 14, 1001, -1, -1, 112, -1,
3051 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3052 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3053 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3054 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3055 -1, -1, 62, -1, -1, -1, -1, -1, 68, 1055,
3056 1056, 71, 1058, -1, -1, -1, -1, -1, -1, 79,
3057 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3058 -1, 91, -1, -1, 94, 95, -1, 1, 98, 3,
3059 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
3060 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3061 -1, -1, -1, -1, -1, 29, 30, 31, 32, 33,
3062 1116, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3063 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3064 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3065 -1, -1, 1148, -1, 68, -1, -1, 71, -1, -1,
3066 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3067 1166, -1, 1168, 87, 88, 89, -1, 91, -1, -1,
3068 94, 95, -1, 1, 98, 3, 4, 5, 6, 7,
3069 8, 9, 10, 11, 12, 13, 14, -1, 112, -1,
3070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3071 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3072 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3073 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3074 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3075 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3076 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3077 88, 89, -1, -1, -1, -1, 94, -1, -1, -1,
3078 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3079 -1, -1, 110, 1, 112, 3, 4, 5, 6, 7,
3080 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3081 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3082 -1, 29, 30, 31, 32, 33, -1, 35, 36, 37,
3083 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3084 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3085 58, 59, -1, 61, 62, -1, -1, -1, -1, -1,
3086 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3087 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3088 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3089 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3090 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3091 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3092 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3093 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3094 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3095 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3096 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3097 -1, 87, 88, 89, -1, -1, -1, -1, 94, 95,
3098 1, -1, 3, 4, 5, 6, -1, 8, 9, 10,
3099 11, -1, 13, 14, -1, 111, 112, -1, -1, -1,
3100 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3101 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3102 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3103 51, 52, 53, 54, 55, -1, 57, 58, 59, -1,
3104 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3105 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3106 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3107 -1, -1, -1, 94, 95, 1, -1, 3, 4, 5,
3108 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3109 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3110 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3111 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3112 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3113 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3114 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3115 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3116 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3117 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3118 14, -1, -1, -1, -1, 111, 112, -1, -1, -1,
3119 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3120 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3121 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3122 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3123 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3124 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3125 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3126 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3127 -1, 13, 14, -1, -1, -1, -1, 111, 112, -1,
3128 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3129 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3130 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3131 52, 53, 54, 55, -1, 57, 58, 59, -1, -1,
3132 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3133 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3134 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3135 -1, -1, 94, -1, -1, 1, -1, 3, 4, 5,
3136 6, 103, 8, 9, 10, 11, -1, 13, 14, -1,
3137 112, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3138 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3139 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3140 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3141 -1, 57, 58, 59, -1, -1, 62, -1, -1, -1,
3142 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3143 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3144 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3145 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3146 14, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3147 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3148 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3149 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3150 54, 55, -1, 57, 58, 59, -1, -1, 62, -1,
3151 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3152 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3153 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3154 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3155 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3156 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3157 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3158 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3159 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3160 62, 63, -1, -1, -1, -1, 68, -1, -1, 71,
3161 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3162 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3163 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3164 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3165 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3166 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3167 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3168 50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
3169 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3170 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3171 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3172 -1, -1, -1, 1, 94, 3, 4, 5, 6, -1,
3173 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3174 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3175 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3176 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3177 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3178 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3179 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3180 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3181 88, 89, -1, -1, -1, 1, 94, 3, 4, 5,
3182 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3183 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3184 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3185 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3186 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3187 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3188 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3189 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3190 -1, 87, 88, 89, -1, -1, -1, 1, 94, 3,
3191 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3192 14, -1, -1, -1, 110, -1, 112, -1, -1, -1,
3193 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3194 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3195 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3196 54, 55, -1, 57, 58, -1, -1, -1, 62, -1,
3197 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3198 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3199 -1, -1, -1, 87, 88, 89, -1, -1, -1, 1,
3200 94, 3, 4, 5, 6, -1, 8, 9, 10, 11,
3201 -1, 13, 14, -1, -1, -1, -1, -1, 112, -1,
3202 -1, -1, -1, -1, -1, -1, -1, 29, 30, 31,
3203 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3204 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3205 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3206 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3207 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3208 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3209 -1, 1, 94, 3, 4, 5, 6, -1, 8, 9,
3210 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3211 112, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3212 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3213 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3214 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3215 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3216 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3217 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3218 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3219 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3220 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3221 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3222 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3223 53, 54, 55, -1, 57, 58, -1, -1, -1, 62,
3224 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3225 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3226 -1, -1, -1, -1, 87, 88, 89, -1, -1, -1,
3227 -1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
3228 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3229 113, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3230 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3231 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3232 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3233 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3234 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3235 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3236 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3237 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3238 -1, -1, 94, -1, 96, -1, -1, -1, -1, -1,
3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, 111,
3240 112, 3, 4, 5, 6, 7, 8, 9, 10, 11,
3241 -1, 13, 14, 15, -1, 17, 18, 19, 20, 21,
3242 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
3243 32, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3244 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3245 52, 53, 54, 55, -1, 57, 58, 59, -1, 61,
3246 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3247 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3248 -1, -1, -1, -1, -1, 87, 88, 89, -1, -1,
3249 -1, -1, 94, -1, 96, -1, -1, 3, 4, 5,
3250 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3251 112, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3252 26, 27, 28, 29, 30, 31, 32, 33, -1, 35,
3253 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3254 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3255 -1, 57, 58, 59, -1, 61, 62, -1, -1, -1,
3256 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3257 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3258 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3259 96, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3260 10, 11, -1, 13, 14, 15, 112, 17, 18, 19,
3261 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3262 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3263 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3264 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3265 -1, 61, 62, -1, -1, -1, -1, -1, 68, -1,
3266 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3267 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3268 -1, -1, -1, -1, 94, -1, 96, 3, 4, 5,
3269 6, 7, 8, 9, 10, 11, 12, 13, 14, -1,
3270 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3271 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3272 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3273 46, -1, 48, -1, 50, 51, 52, 53, 54, 55,
3274 -1, 57, 58, -1, -1, -1, 62, -1, -1, -1,
3275 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3276 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3277 -1, 87, 88, 89, -1, 91, -1, -1, 94, 95,
3278 -1, -1, 98, 3, 4, 5, 6, 7, 8, 9,
3279 10, 11, 12, 13, 14, -1, 112, -1, -1, -1,
3280 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
3281 30, 31, 32, 33, -1, 35, 36, 37, -1, 39,
3282 40, 41, 42, 43, 44, -1, 46, -1, 48, -1,
3283 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3284 -1, -1, 62, -1, -1, -1, -1, -1, 68, -1,
3285 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3286 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3287 -1, 91, -1, -1, 94, 95, -1, -1, 98, 3,
3288 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3289 14, -1, 112, -1, -1, -1, -1, -1, -1, -1,
3290 -1, -1, -1, -1, -1, 29, 30, 31, -1, 33,
3291 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3292 44, -1, 46, -1, 48, -1, 50, 51, 52, 53,
3293 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3294 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3295 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3296 -1, -1, -1, 87, 88, 89, -1, 91, -1, -1,
3297 94, 95, 3, 4, 5, 6, -1, 8, 9, 10,
3298 11, -1, 13, 14, -1, -1, -1, -1, 112, -1,
3299 -1, -1, -1, -1, -1, -1, -1, -1, 29, 30,
3300 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3301 41, 42, 43, 44, -1, 46, -1, 48, -1, 50,
3302 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3303 -1, -1, -1, -1, -1, -1, -1, 68, -1, -1,
3304 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3305 81, -1, -1, -1, -1, -1, 87, 88, 89, -1,
3306 91, -1, -1, 94, 95, 3, 4, 5, 6, -1,
3307 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3308 -1, 112, -1, -1, -1, -1, -1, -1, -1, -1,
3309 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3310 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3311 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3312 58, -1, -1, 61, 62, -1, -1, -1, -1, -1,
3313 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3314 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3315 88, 89, -1, -1, -1, -1, 94, 3, 4, 5,
3316 6, 7, 8, 9, 10, 11, -1, 13, 14, -1,
3317 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3318 -1, -1, -1, 29, 30, 31, 32, 33, -1, 35,
3319 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3320 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3321 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3322 -1, -1, 68, -1, -1, 71, -1, -1, -1, -1,
3323 -1, -1, -1, 79, 80, 81, -1, -1, -1, -1,
3324 -1, 87, 88, 89, 3, 4, 5, 6, 94, 8,
3325 9, 10, 11, -1, 13, 14, -1, -1, -1, -1,
3326 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
3327 29, 30, 31, -1, 33, -1, 35, 36, 37, -1,
3328 39, 40, 41, 42, 43, 44, -1, 46, -1, -1,
3329 -1, 50, 51, 52, 53, 54, 55, -1, 57, 58,
3330 -1, -1, -1, 62, -1, -1, -1, -1, -1, 68,
3331 -1, -1, 71, -1, -1, -1, -1, -1, -1, -1,
3332 79, 80, 81, -1, -1, -1, -1, -1, 87, 88,
3333 89, 3, 4, 5, 6, 94, 8, 9, 10, 11,
3334 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3335 -1, -1, -1, 112, -1, -1, -1, 29, 30, 31,
3336 -1, 33, -1, 35, 36, 37, -1, 39, 40, 41,
3337 42, 43, 44, -1, 46, -1, -1, -1, 50, 51,
3338 52, 53, 54, 55, -1, 57, 58, -1, -1, -1,
3339 62, -1, -1, -1, -1, -1, 68, -1, -1, 71,
3340 -1, -1, -1, -1, -1, -1, -1, 79, 80, 81,
3341 -1, -1, -1, -1, -1, 87, 88, 89, 3, 4,
3342 5, 6, 94, 8, 9, 10, 11, -1, 13, 14,
3343 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3344 112, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3345 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3346 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3347 55, -1, 57, 58, 59, -1, -1, -1, -1, -1,
3348 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3349 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3350 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3351 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3352 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3353 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3354 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3355 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3356 58, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3357 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3358 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3359 88, 89, -1, -1, -1, -1, 94, 95, 3, 4,
3360 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3361 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
3362 -1, -1, -1, -1, 29, 30, 31, -1, 33, -1,
3363 35, 36, 37, -1, 39, 40, 41, 42, 43, 44,
3364 -1, 46, -1, -1, -1, 50, 51, 52, 53, 54,
3365 55, -1, 57, 58, -1, -1, -1, 62, -1, -1,
3366 -1, -1, -1, 68, -1, -1, 71, -1, -1, -1,
3367 -1, -1, -1, -1, 79, 80, 81, -1, -1, -1,
3368 -1, -1, 87, 88, 89, 3, 4, 5, 6, 94,
3369 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3370 -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
3371 -1, 29, 30, 31, -1, 33, -1, 35, 36, 37,
3372 -1, 39, 40, 41, 42, 43, 44, -1, 46, -1,
3373 -1, -1, 50, 51, 52, 53, 54, 55, -1, 57,
3374 58, -1, -1, -1, 62, -1, -1, -1, -1, -1,
3375 68, -1, -1, 71, -1, -1, -1, -1, -1, -1,
3376 -1, 79, 80, 81, -1, -1, -1, -1, -1, 87,
3377 88, 89, 3, 4, 5, 6, 94, 8, 9, 10,
3378 11, -1, 13, 14, -1, -1, -1, -1, -1, -1,
3379 -1, -1, -1, -1, 112, -1, -1, -1, 29, 30,
3380 31, -1, 33, -1, 35, 36, 37, -1, 39, 40,
3381 41, 42, 43, 44, -1, 46, -1, -1, -1, 50,
3382 51, 52, 53, 54, 55, -1, 57, 58, -1, -1,
3383 -1, 62, -1, -1, -1, -1, -1, 68, -1, -1,
3384 71, -1, -1, -1, -1, -1, -1, -1, 79, 80,
3385 81, -1, -1, -1, -1, -1, 87, 88, 89, 3,
3386 4, 5, 6, 94, 8, 9, 10, 11, -1, 13,
3387 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3388 -1, 112, -1, -1, -1, 29, 30, 31, -1, 33,
3389 -1, 35, 36, 37, -1, 39, 40, 41, 42, 43,
3390 44, -1, 46, -1, -1, -1, 50, 51, 52, 53,
3391 54, 55, -1, 57, 58, -1, -1, -1, -1, -1,
3392 -1, -1, -1, -1, 68, -1, -1, 71, -1, -1,
3393 -1, -1, -1, -1, -1, 79, 80, 81, -1, -1,
3394 -1, -1, -1, 87, 88, 89, 3, 4, 5, 6,
3395 94, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3396 -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
3397 -1, -1, 29, 30, 31, -1, 33, -1, 35, 36,
3398 37, -1, 39, 40, 41, 42, 43, 44, -1, 46,
3399 -1, -1, -1, 50, 51, 52, 53, 54, 55, -1,
3400 57, 58, -1, -1, -1, -1, -1, -1, -1, -1,
3401 -1, 68, -1, -1, 71, -1, -1, -1, -1, -1,
3402 -1, -1, 79, 80, 81, -1, -1, -1, -1, -1,
3403 87, 88, 89, 3, 4, 5, 6, 94, 8, 9,
3404 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3405 -1, -1, -1, -1, -1, 112, -1, -1, -1, 29,
3406 30, 31, -1, 33, -1, 35, 36, 37, -1, 39,
3407 40, 41, 42, 43, 44, -1, 46, -1, -1, -1,
3408 50, 51, 52, 53, 54, 55, -1, 57, 58, -1,
3409 -1, -1, -1, -1, -1, -1, -1, -1, 68, -1,
3410 -1, 71, -1, -1, -1, -1, -1, -1, -1, 79,
3411 80, 81, -1, -1, -1, -1, -1, 87, 88, 89,
3412 3, 4, 5, 6, 94, 8, 9, 10, 11, -1,
3413 13, 14, -1, -1, -1, -1, -1, -1, -1, -1,
3414 -1, -1, 112, -1, -1, -1, 29, 30, 31, -1,
3415 33, -1, 35, 36, 37, -1, 39, 40, 41, 42,
3416 43, 44, -1, 46, -1, -1, -1, 50, 51, 52,
3417 53, 54, 55, -1, 57, 58, -1, -1, -1, -1,
3418 -1, -1, -1, -1, -1, 68, -1, -1, 71, -1,
3419 -1, -1, -1, -1, -1, -1, 79, 80, 81, -1,
3420 -1, -1, -1, -1, 87, 88, 89, 3, 4, 5,
3421 6, 94, 8, 9, 10, 11, -1, 13, 14, -1,
3422 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
3423 -1, -1, -1, 29, 30, 31, -1, 33, -1, 35,
3424 36, 37, -1, 39, 40, 41, 42, 43, 44, -1,
3425 46, -1, -1, -1, 50, 51, 52, 53, 54, 55,
3426 -1, 57, 58, -1, -1, -1, -1, -1, -1, -1,
3427 -1, -1, 68, -1, 1, 71, 3, 4, 5, 6,
3428 7, 8, 9, 79, 80, 81, -1, 14, -1, -1,
3429 -1, 87, 88, 89, -1, -1, -1, -1, 94, -1,
3430 -1, -1, 29, -1, 31, 32, -1, -1, -1, -1,
3431 37, -1, -1, -1, -1, 42, 112, -1, -1, 46,
3432 -1, -1, 49, -1, -1, -1, -1, -1, 55, -1,
3433 57, 58, -1, -1, 61, 3, 4, 5, 6, 7,
3434 8, 9, -1, -1, 71, -1, 14, -1, -1, -1,
3435 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3436 -1, 29, 89, 31, 32, -1, -1, 94, -1, 37,
3437 -1, -1, -1, -1, 42, -1, -1, -1, 46, -1,
3438 48, -1, -1, -1, -1, -1, -1, 55, -1, 57,
3439 58, 3, 4, 5, 6, 7, 8, 9, -1, -1,
3440 -1, -1, 14, 71, -1, -1, -1, -1, -1, -1,
3441 -1, -1, -1, 81, -1, -1, -1, 29, -1, 31,
3442 32, 89, -1, 91, -1, 37, 94, 95, -1, -1,
3443 42, -1, -1, -1, 46, -1, 3, 4, 5, 6,
3444 7, 8, 9, 55, -1, 57, 58, 14, -1, 61,
3445 -1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
3446 -1, -1, 29, -1, 31, 32, -1, -1, -1, 81,
3447 37, -1, -1, -1, -1, 42, -1, 89, -1, 46,
3448 -1, -1, 94, -1, -1, -1, -1, -1, 55, -1,
3449 57, 58, -1, -1, -1, -1, 63, 3, 4, 5,
3450 6, 7, 8, 9, 71, -1, -1, -1, 14, -1,
3451 -1, -1, -1, -1, 81, -1, -1, -1, -1, -1,
3452 -1, -1, 89, 29, -1, 31, 32, 94, -1, -1,
3453 -1, 37, -1, -1, -1, -1, 42, -1, -1, -1,
3454 46, -1, 3, 4, 5, 6, 7, 8, 9, 55,
3455 -1, 57, 58, 14, -1, 61, -1, -1, -1, -1,
3456 -1, -1, -1, -1, -1, 71, -1, -1, 29, -1,
3457 31, 32, -1, -1, -1, 81, 37, -1, -1, -1,
3458 -1, 42, -1, 89, -1, 46, -1, -1, 94, -1,
3459 -1, -1, -1, -1, 55, -1, 57, 58, 3, 4,
3460 5, 6, 7, 8, 9, -1, -1, -1, -1, 14,
3461 71, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3462 81, -1, -1, -1, 29, -1, 31, 32, 89, -1,
3463 -1, -1, 37, 94, -1, -1, -1, 42, -1, -1,
3464 -1, 46, -1, 3, 4, 5, 6, 7, 8, 9,
3465 55, -1, 57, 58, 14, -1, -1, -1, -1, -1,
3466 -1, -1, -1, -1, -1, -1, 71, -1, -1, -1,
3467 -1, -1, 32, -1, -1, -1, 81, 37, -1, -1,
3468 -1, -1, 42, -1, 89, 12, 46, -1, 48, 94,
3469 -1, -1, -1, -1, -1, 55, -1, 57, 58, 64,
3470 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3471 75, 71, 77, 78, 79, 80, 81, 82, 83, 84,
3472 85, 81, -1, -1, -1, -1, -1, 32, -1, 89,
3473 -1, -1, -1, -1, 94, -1, 63, 64, 65, 66,
3474 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3475 77, 78, 79, 80, 81, 82, 83, 84, 85, 64,
3476 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3477 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3478 85, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3479 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3480 83, 84, 85, 64, 65, 66, 67, 68, 69, 70,
3481 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
3482 81, 82, 83, 84, 85, -1, -1, -1, -1, -1,
3483 113, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3484 -1, -1, -1, -1, -1, 60, -1, -1, 109, 64,
3485 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3486 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3487 85, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3488 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3489 82, 83, 84, 85, 64, 65, 66, 67, 68, 69,
3490 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3491 80, 81, 82, 83, 84, 85
3492 };
3493 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3494 #line 3 "/usr/cygnus/progressive-97r2/share/bison.simple"
3495
3496 /* Skeleton output parser for bison,
3497 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3498
3499 This program is free software; you can redistribute it and/or modify
3500 it under the terms of the GNU General Public License as published by
3501 the Free Software Foundation; either version 2, or (at your option)
3502 any later version.
3503
3504 This program is distributed in the hope that it will be useful,
3505 but WITHOUT ANY WARRANTY; without even the implied warranty of
3506 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3507 GNU General Public License for more details.
3508
3509 You should have received a copy of the GNU General Public License
3510 along with this program; if not, write to the Free Software
3511 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3512
3513 /* As a special exception, when this file is copied by Bison into a
3514 Bison output file, you may use that output file without restriction.
3515 This special exception was added by the Free Software Foundation
3516 in version 1.24 of Bison. */
3517
3518 #ifndef alloca
3519 #ifdef __GNUC__
3520 #define alloca __builtin_alloca
3521 #else /* not GNU C. */
3522 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3523 #include <alloca.h>
3524 #else /* not sparc */
3525 #if defined (MSDOS) && !defined (__TURBOC__)
3526 #include <malloc.h>
3527 #else /* not MSDOS, or __TURBOC__ */
3528 #if defined(_AIX)
3529 #include <malloc.h>
3530 #pragma alloca
3531 #else /* not MSDOS, __TURBOC__, or _AIX */
3532 #ifdef __hpux
3533 #ifdef __cplusplus
3534 extern "C" {
3535 void *alloca (unsigned int);
3536 };
3537 #else /* not __cplusplus */
3538 void *alloca ();
3539 #endif /* not __cplusplus */
3540 #endif /* __hpux */
3541 #endif /* not _AIX */
3542 #endif /* not MSDOS, or __TURBOC__ */
3543 #endif /* not sparc. */
3544 #endif /* not GNU C. */
3545 #endif /* alloca not defined. */
3546
3547 /* This is the parser code that is written into each bison parser
3548 when the %semantic_parser declaration is not specified in the grammar.
3549 It was written by Richard Stallman by simplifying the hairy parser
3550 used when %semantic_parser is specified. */
3551
3552 /* Note: there must be only one dollar sign in this file.
3553 It is replaced by the list of actions, each action
3554 as one case of the switch. */
3555
3556 #define yyerrok (yyerrstatus = 0)
3557 #define yyclearin (yychar = YYEMPTY)
3558 #define YYEMPTY -2
3559 #define YYEOF 0
3560 #define YYACCEPT return(0)
3561 #define YYABORT return(1)
3562 #define YYERROR goto yyerrlab1
3563 /* Like YYERROR except do call yyerror.
3564 This remains here temporarily to ease the
3565 transition to the new meaning of YYERROR, for GCC.
3566 Once GCC version 2 has supplanted version 1, this can go. */
3567 #define YYFAIL goto yyerrlab
3568 #define YYRECOVERING() (!!yyerrstatus)
3569 #define YYBACKUP(token, value) \
3570 do \
3571 if (yychar == YYEMPTY && yylen == 1) \
3572 { yychar = (token), yylval = (value); \
3573 yychar1 = YYTRANSLATE (yychar); \
3574 YYPOPSTACK; \
3575 goto yybackup; \
3576 } \
3577 else \
3578 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3579 while (0)
3580
3581 #define YYTERROR 1
3582 #define YYERRCODE 256
3583
3584 #ifndef YYPURE
3585 #define YYLEX yylex()
3586 #endif
3587
3588 #ifdef YYPURE
3589 #ifdef YYLSP_NEEDED
3590 #ifdef YYLEX_PARAM
3591 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3592 #else
3593 #define YYLEX yylex(&yylval, &yylloc)
3594 #endif
3595 #else /* not YYLSP_NEEDED */
3596 #ifdef YYLEX_PARAM
3597 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3598 #else
3599 #define YYLEX yylex(&yylval)
3600 #endif
3601 #endif /* not YYLSP_NEEDED */
3602 #endif
3603
3604 /* If nonreentrant, generate the variables here */
3605
3606 #ifndef YYPURE
3607
3608 int yychar; /* the lookahead symbol */
3609 YYSTYPE yylval; /* the semantic value of the */
3610 /* lookahead symbol */
3611
3612 #ifdef YYLSP_NEEDED
3613 YYLTYPE yylloc; /* location data for the lookahead */
3614 /* symbol */
3615 #endif
3616
3617 int yynerrs; /* number of parse errors so far */
3618 #endif /* not YYPURE */
3619
3620 #if YYDEBUG != 0
3621 int yydebug; /* nonzero means print parse trace */
3622 /* Since this is uninitialized, it does not stop multiple parsers
3623 from coexisting. */
3624 #endif
3625
3626 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3627
3628 #ifndef YYINITDEPTH
3629 #define YYINITDEPTH 200
3630 #endif
3631
3632 /* YYMAXDEPTH is the maximum size the stacks can grow to
3633 (effective only if the built-in stack extension method is used). */
3634
3635 #if YYMAXDEPTH == 0
3636 #undef YYMAXDEPTH
3637 #endif
3638
3639 #ifndef YYMAXDEPTH
3640 #define YYMAXDEPTH 10000
3641 #endif
3642
3643 /* Prevent warning if -Wstrict-prototypes. */
3644 #ifdef __GNUC__
3645 int yyparse (void);
3646 #endif
3647 \f
3648 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3649 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3650 #else /* not GNU C or C++ */
3651 #ifndef __cplusplus
3652
3653 /* This is the most reliable way to avoid incompatibilities
3654 in available built-in functions on various systems. */
3655 static void
3656 __yy_memcpy (to, from, count)
3657 char *to;
3658 char *from;
3659 int count;
3660 {
3661 register char *f = from;
3662 register char *t = to;
3663 register int i = count;
3664
3665 while (i-- > 0)
3666 *t++ = *f++;
3667 }
3668
3669 #else /* __cplusplus */
3670
3671 /* This is the most reliable way to avoid incompatibilities
3672 in available built-in functions on various systems. */
3673 static void
3674 __yy_memcpy (char *to, char *from, int count)
3675 {
3676 register char *f = from;
3677 register char *t = to;
3678 register int i = count;
3679
3680 while (i-- > 0)
3681 *t++ = *f++;
3682 }
3683
3684 #endif
3685 #endif
3686 \f
3687 #line 196 "/usr/cygnus/progressive-97r2/share/bison.simple"
3688
3689 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3690 into yyparse. The argument should have type void *.
3691 It should actually point to an object.
3692 Grammar actions can access the variable by casting it
3693 to the proper pointer type. */
3694
3695 #ifdef YYPARSE_PARAM
3696 #ifdef __cplusplus
3697 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3698 #define YYPARSE_PARAM_DECL
3699 #else /* not __cplusplus */
3700 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3701 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3702 #endif /* not __cplusplus */
3703 #else /* not YYPARSE_PARAM */
3704 #define YYPARSE_PARAM_ARG
3705 #define YYPARSE_PARAM_DECL
3706 #endif /* not YYPARSE_PARAM */
3707
3708 int
3709 yyparse(YYPARSE_PARAM_ARG)
3710 YYPARSE_PARAM_DECL
3711 {
3712 register int yystate;
3713 register int yyn;
3714 register short *yyssp;
3715 register YYSTYPE *yyvsp;
3716 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3717 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3718
3719 short yyssa[YYINITDEPTH]; /* the state stack */
3720 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3721
3722 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3723 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3724
3725 #ifdef YYLSP_NEEDED
3726 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3727 YYLTYPE *yyls = yylsa;
3728 YYLTYPE *yylsp;
3729
3730 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3731 #else
3732 #define YYPOPSTACK (yyvsp--, yyssp--)
3733 #endif
3734
3735 int yystacksize = YYINITDEPTH;
3736
3737 #ifdef YYPURE
3738 int yychar;
3739 YYSTYPE yylval;
3740 int yynerrs;
3741 #ifdef YYLSP_NEEDED
3742 YYLTYPE yylloc;
3743 #endif
3744 #endif
3745
3746 YYSTYPE yyval; /* the variable used to return */
3747 /* semantic values from the action */
3748 /* routines */
3749
3750 int yylen;
3751
3752 #if YYDEBUG != 0
3753 if (yydebug)
3754 fprintf(stderr, "Starting parse\n");
3755 #endif
3756
3757 yystate = 0;
3758 yyerrstatus = 0;
3759 yynerrs = 0;
3760 yychar = YYEMPTY; /* Cause a token to be read. */
3761
3762 /* Initialize stack pointers.
3763 Waste one element of value and location stack
3764 so that they stay on the same level as the state stack.
3765 The wasted elements are never initialized. */
3766
3767 yyssp = yyss - 1;
3768 yyvsp = yyvs;
3769 #ifdef YYLSP_NEEDED
3770 yylsp = yyls;
3771 #endif
3772
3773 /* Push a new state, which is found in yystate . */
3774 /* In all cases, when you get here, the value and location stacks
3775 have just been pushed. so pushing a state here evens the stacks. */
3776 yynewstate:
3777
3778 *++yyssp = yystate;
3779
3780 if (yyssp >= yyss + yystacksize - 1)
3781 {
3782 /* Give user a chance to reallocate the stack */
3783 /* Use copies of these so that the &'s don't force the real ones into memory. */
3784 YYSTYPE *yyvs1 = yyvs;
3785 short *yyss1 = yyss;
3786 #ifdef YYLSP_NEEDED
3787 YYLTYPE *yyls1 = yyls;
3788 #endif
3789
3790 /* Get the current used size of the three stacks, in elements. */
3791 int size = yyssp - yyss + 1;
3792
3793 #ifdef yyoverflow
3794 /* Each stack pointer address is followed by the size of
3795 the data in use in that stack, in bytes. */
3796 #ifdef YYLSP_NEEDED
3797 /* This used to be a conditional around just the two extra args,
3798 but that might be undefined if yyoverflow is a macro. */
3799 yyoverflow("parser stack overflow",
3800 &yyss1, size * sizeof (*yyssp),
3801 &yyvs1, size * sizeof (*yyvsp),
3802 &yyls1, size * sizeof (*yylsp),
3803 &yystacksize);
3804 #else
3805 yyoverflow("parser stack overflow",
3806 &yyss1, size * sizeof (*yyssp),
3807 &yyvs1, size * sizeof (*yyvsp),
3808 &yystacksize);
3809 #endif
3810
3811 yyss = yyss1; yyvs = yyvs1;
3812 #ifdef YYLSP_NEEDED
3813 yyls = yyls1;
3814 #endif
3815 #else /* no yyoverflow */
3816 /* Extend the stack our own way. */
3817 if (yystacksize >= YYMAXDEPTH)
3818 {
3819 yyerror("parser stack overflow");
3820 return 2;
3821 }
3822 yystacksize *= 2;
3823 if (yystacksize > YYMAXDEPTH)
3824 yystacksize = YYMAXDEPTH;
3825 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3826 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3827 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3828 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3829 #ifdef YYLSP_NEEDED
3830 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3831 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3832 #endif
3833 #endif /* no yyoverflow */
3834
3835 yyssp = yyss + size - 1;
3836 yyvsp = yyvs + size - 1;
3837 #ifdef YYLSP_NEEDED
3838 yylsp = yyls + size - 1;
3839 #endif
3840
3841 #if YYDEBUG != 0
3842 if (yydebug)
3843 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3844 #endif
3845
3846 if (yyssp >= yyss + yystacksize - 1)
3847 YYABORT;
3848 }
3849
3850 #if YYDEBUG != 0
3851 if (yydebug)
3852 fprintf(stderr, "Entering state %d\n", yystate);
3853 #endif
3854
3855 goto yybackup;
3856 yybackup:
3857
3858 /* Do appropriate processing given the current state. */
3859 /* Read a lookahead token if we need one and don't already have one. */
3860 /* yyresume: */
3861
3862 /* First try to decide what to do without reference to lookahead token. */
3863
3864 yyn = yypact[yystate];
3865 if (yyn == YYFLAG)
3866 goto yydefault;
3867
3868 /* Not known => get a lookahead token if don't already have one. */
3869
3870 /* yychar is either YYEMPTY or YYEOF
3871 or a valid token in external form. */
3872
3873 if (yychar == YYEMPTY)
3874 {
3875 #if YYDEBUG != 0
3876 if (yydebug)
3877 fprintf(stderr, "Reading a token: ");
3878 #endif
3879 yychar = YYLEX;
3880 }
3881
3882 /* Convert token to internal form (in yychar1) for indexing tables with */
3883
3884 if (yychar <= 0) /* This means end of input. */
3885 {
3886 yychar1 = 0;
3887 yychar = YYEOF; /* Don't call YYLEX any more */
3888
3889 #if YYDEBUG != 0
3890 if (yydebug)
3891 fprintf(stderr, "Now at end of input.\n");
3892 #endif
3893 }
3894 else
3895 {
3896 yychar1 = YYTRANSLATE(yychar);
3897
3898 #if YYDEBUG != 0
3899 if (yydebug)
3900 {
3901 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
3902 /* Give the individual parser a way to print the precise meaning
3903 of a token, for further debugging info. */
3904 #ifdef YYPRINT
3905 YYPRINT (stderr, yychar, yylval);
3906 #endif
3907 fprintf (stderr, ")\n");
3908 }
3909 #endif
3910 }
3911
3912 yyn += yychar1;
3913 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
3914 goto yydefault;
3915
3916 yyn = yytable[yyn];
3917
3918 /* yyn is what to do for this token type in this state.
3919 Negative => reduce, -yyn is rule number.
3920 Positive => shift, yyn is new state.
3921 New state is final state => don't bother to shift,
3922 just return success.
3923 0, or most negative number => error. */
3924
3925 if (yyn < 0)
3926 {
3927 if (yyn == YYFLAG)
3928 goto yyerrlab;
3929 yyn = -yyn;
3930 goto yyreduce;
3931 }
3932 else if (yyn == 0)
3933 goto yyerrlab;
3934
3935 if (yyn == YYFINAL)
3936 YYACCEPT;
3937
3938 /* Shift the lookahead token. */
3939
3940 #if YYDEBUG != 0
3941 if (yydebug)
3942 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
3943 #endif
3944
3945 /* Discard the token being shifted unless it is eof. */
3946 if (yychar != YYEOF)
3947 yychar = YYEMPTY;
3948
3949 *++yyvsp = yylval;
3950 #ifdef YYLSP_NEEDED
3951 *++yylsp = yylloc;
3952 #endif
3953
3954 /* count tokens shifted since error; after three, turn off error status. */
3955 if (yyerrstatus) yyerrstatus--;
3956
3957 yystate = yyn;
3958 goto yynewstate;
3959
3960 /* Do the default action for the current state. */
3961 yydefault:
3962
3963 yyn = yydefact[yystate];
3964 if (yyn == 0)
3965 goto yyerrlab;
3966
3967 /* Do a reduction. yyn is the number of a rule to reduce with. */
3968 yyreduce:
3969 yylen = yyr2[yyn];
3970 if (yylen > 0)
3971 yyval = yyvsp[1-yylen]; /* implement default value of the action */
3972
3973 #if YYDEBUG != 0
3974 if (yydebug)
3975 {
3976 int i;
3977
3978 fprintf (stderr, "Reducing via rule %d (line %d), ",
3979 yyn, yyrline[yyn]);
3980
3981 /* Print the symbols being reduced, and their result. */
3982 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
3983 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
3984 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
3985 }
3986 #endif
3987
3988
3989 switch (yyn) {
3990
3991 case 2:
3992 #line 335 "parse.y"
3993 {
3994 /* In case there were missing closebraces,
3995 get us back to the global binding level. */
3996 while (! global_bindings_p ())
3997 poplevel (0, 0, 0);
3998 finish_file ();
3999 ;
4000 break;}
4001 case 3:
4002 #line 349 "parse.y"
4003 { yyval.ttype = NULL_TREE; ;
4004 break;}
4005 case 4:
4006 #line 351 "parse.y"
4007 { yyval.ttype = NULL_TREE; ;
4008 break;}
4009 case 5:
4010 #line 353 "parse.y"
4011 { yyval.ttype = NULL_TREE; ;
4012 break;}
4013 case 8:
4014 #line 362 "parse.y"
4015 { have_extern_spec = 1;
4016 used_extern_spec = 0;
4017 yyval.ttype = NULL_TREE; ;
4018 break;}
4019 case 9:
4020 #line 367 "parse.y"
4021 { have_extern_spec = 0; ;
4022 break;}
4023 case 10:
4024 #line 372 "parse.y"
4025 { yyval.itype = pedantic;
4026 pedantic = 0; ;
4027 break;}
4028 case 13:
4029 #line 382 "parse.y"
4030 { if (pending_lang_change) do_pending_lang_change(); ;
4031 break;}
4032 case 14:
4033 #line 384 "parse.y"
4034 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4035 pop_everything (); ;
4036 break;}
4037 case 15:
4038 #line 390 "parse.y"
4039 { if (pending_inlines) do_pending_inlines (); ;
4040 break;}
4041 case 16:
4042 #line 392 "parse.y"
4043 { if (pending_inlines) do_pending_inlines (); ;
4044 break;}
4045 case 17:
4046 #line 394 "parse.y"
4047 { if (pending_inlines) do_pending_inlines (); ;
4048 break;}
4049 case 18:
4050 #line 396 "parse.y"
4051 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4052 assemble_asm (yyvsp[-2].ttype); ;
4053 break;}
4054 case 19:
4055 #line 399 "parse.y"
4056 { pop_lang_context (); ;
4057 break;}
4058 case 20:
4059 #line 401 "parse.y"
4060 { if (pending_inlines) do_pending_inlines ();
4061 pop_lang_context (); ;
4062 break;}
4063 case 21:
4064 #line 404 "parse.y"
4065 { if (pending_inlines) do_pending_inlines ();
4066 pop_lang_context (); ;
4067 break;}
4068 case 22:
4069 #line 407 "parse.y"
4070 { push_namespace (yyvsp[-1].ttype); ;
4071 break;}
4072 case 23:
4073 #line 409 "parse.y"
4074 { pop_namespace (); ;
4075 break;}
4076 case 24:
4077 #line 411 "parse.y"
4078 { push_namespace (NULL_TREE); ;
4079 break;}
4080 case 25:
4081 #line 413 "parse.y"
4082 { pop_namespace (); ;
4083 break;}
4084 case 26:
4085 #line 415 "parse.y"
4086 { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4087 break;}
4088 case 27:
4089 #line 417 "parse.y"
4090 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4091 break;}
4092 case 28:
4093 #line 419 "parse.y"
4094 {
4095 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
4096 yyvsp[-1].ttype = lastiddecl;
4097 do_using_directive (yyvsp[-1].ttype);
4098 ;
4099 break;}
4100 case 29:
4101 #line 425 "parse.y"
4102 { pedantic = yyvsp[-1].itype; ;
4103 break;}
4104 case 30:
4105 #line 430 "parse.y"
4106 { yyval.ttype = yyvsp[0].ttype; ;
4107 break;}
4108 case 31:
4109 #line 432 "parse.y"
4110 { yyval.ttype = yyvsp[0].ttype; ;
4111 break;}
4112 case 32:
4113 #line 434 "parse.y"
4114 { yyval.ttype = yyvsp[0].ttype; ;
4115 break;}
4116 case 35:
4117 #line 441 "parse.y"
4118 { yyval.ttype = yyvsp[0].ttype; ;
4119 break;}
4120 case 36:
4121 #line 443 "parse.y"
4122 { yyval.ttype = yyvsp[0].ttype; ;
4123 break;}
4124 case 37:
4125 #line 448 "parse.y"
4126 { push_lang_context (yyvsp[0].ttype); ;
4127 break;}
4128 case 38:
4129 #line 450 "parse.y"
4130 { if (current_lang_name != yyvsp[0].ttype)
4131 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4132 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4133 break;}
4134 case 39:
4135 #line 457 "parse.y"
4136 { begin_template_parm_list (); ;
4137 break;}
4138 case 40:
4139 #line 459 "parse.y"
4140 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4141 break;}
4142 case 41:
4143 #line 461 "parse.y"
4144 { begin_specialization();
4145 yyval.ttype = NULL_TREE; ;
4146 break;}
4147 case 42:
4148 #line 467 "parse.y"
4149 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4150 break;}
4151 case 43:
4152 #line 469 "parse.y"
4153 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4154 break;}
4155 case 44:
4156 #line 474 "parse.y"
4157 { yyval.ttype = yyvsp[0].ttype; ;
4158 break;}
4159 case 45:
4160 #line 476 "parse.y"
4161 { yyval.ttype = NULL_TREE; ;
4162 break;}
4163 case 46:
4164 #line 480 "parse.y"
4165 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4166 break;}
4167 case 47:
4168 #line 482 "parse.y"
4169 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4170 break;}
4171 case 48:
4172 #line 487 "parse.y"
4173 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4174 break;}
4175 case 49:
4176 #line 499 "parse.y"
4177 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4178 break;}
4179 case 50:
4180 #line 501 "parse.y"
4181 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4182 break;}
4183 case 51:
4184 #line 503 "parse.y"
4185 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4186 break;}
4187 case 52:
4188 #line 505 "parse.y"
4189 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4190 break;}
4191 case 53:
4192 #line 507 "parse.y"
4193 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4194 break;}
4195 case 54:
4196 #line 509 "parse.y"
4197 {
4198 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4199 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4200 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4201 {
4202 error ("invalid default template argument");
4203 yyvsp[0].ttype = error_mark_node;
4204 }
4205 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4206 ;
4207 break;}
4208 case 55:
4209 #line 524 "parse.y"
4210 {
4211 if (yyvsp[-1].ttype)
4212 end_template_decl ();
4213 else
4214 end_specialization ();
4215 ;
4216 break;}
4217 case 56:
4218 #line 532 "parse.y"
4219 {
4220 if (yyvsp[-1].ttype)
4221 end_template_decl ();
4222 else
4223 end_specialization ();
4224 ;
4225 break;}
4226 case 58:
4227 #line 543 "parse.y"
4228 {;
4229 break;}
4230 case 59:
4231 #line 545 "parse.y"
4232 {
4233 note_list_got_semicolon (yyvsp[-2].ftype.t);
4234 ;
4235 break;}
4236 case 60:
4237 #line 549 "parse.y"
4238 { pedwarn ("empty declaration"); ;
4239 break;}
4240 case 62:
4241 #line 552 "parse.y"
4242 {
4243 tree t, attrs;
4244 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4245 shadow_tag (t);
4246 note_list_got_semicolon (yyvsp[-1].ftype.t);
4247 ;
4248 break;}
4249 case 66:
4250 #line 565 "parse.y"
4251 { yyval.itype = 0; ;
4252 break;}
4253 case 67:
4254 #line 567 "parse.y"
4255 { yyval.itype = 1; ;
4256 break;}
4257 case 73:
4258 #line 583 "parse.y"
4259 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4260 break;}
4261 case 74:
4262 #line 585 "parse.y"
4263 { ;
4264 break;}
4265 case 75:
4266 #line 587 "parse.y"
4267 { ;
4268 break;}
4269 case 76:
4270 #line 592 "parse.y"
4271 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4272 break;}
4273 case 77:
4274 #line 594 "parse.y"
4275 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4276 break;}
4277 case 78:
4278 #line 596 "parse.y"
4279 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4280 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4281 ;
4282 break;}
4283 case 79:
4284 #line 600 "parse.y"
4285 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4286 break;}
4287 case 80:
4288 #line 602 "parse.y"
4289 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4290 break;}
4291 case 81:
4292 #line 604 "parse.y"
4293 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4294 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4295 ;
4296 break;}
4297 case 82:
4298 #line 608 "parse.y"
4299 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4300 break;}
4301 case 83:
4302 #line 610 "parse.y"
4303 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4304 break;}
4305 case 84:
4306 #line 612 "parse.y"
4307 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4308 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4309 ;
4310 break;}
4311 case 85:
4312 #line 616 "parse.y"
4313 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4314 break;}
4315 case 86:
4316 #line 618 "parse.y"
4317 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4318 break;}
4319 case 87:
4320 #line 620 "parse.y"
4321 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4322 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4323 ;
4324 break;}
4325 case 88:
4326 #line 627 "parse.y"
4327 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4328 YYERROR1; ;
4329 break;}
4330 case 89:
4331 #line 630 "parse.y"
4332 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4333 YYERROR1; ;
4334 break;}
4335 case 90:
4336 #line 633 "parse.y"
4337 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4338 YYERROR1; ;
4339 break;}
4340 case 91:
4341 #line 636 "parse.y"
4342 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4343 YYERROR1; ;
4344 break;}
4345 case 92:
4346 #line 639 "parse.y"
4347 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4348 YYERROR1; ;
4349 break;}
4350 case 93:
4351 #line 645 "parse.y"
4352 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4353 break;}
4354 case 94:
4355 #line 647 "parse.y"
4356 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4357 break;}
4358 case 95:
4359 #line 649 "parse.y"
4360 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4361 break;}
4362 case 96:
4363 #line 651 "parse.y"
4364 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4365 break;}
4366 case 97:
4367 #line 658 "parse.y"
4368 { tree specs = strip_attrs (yyvsp[-1].ttype);
4369 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4370 rest_of_mdef:
4371 if (! yyval.ttype)
4372 YYERROR1;
4373 if (yychar == YYEMPTY)
4374 yychar = YYLEX;
4375 reinit_parse_for_method (yychar, yyval.ttype); ;
4376 break;}
4377 case 98:
4378 #line 667 "parse.y"
4379 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4380 break;}
4381 case 99:
4382 #line 669 "parse.y"
4383 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4384 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4385 break;}
4386 case 100:
4387 #line 672 "parse.y"
4388 { tree specs = strip_attrs (yyvsp[-1].ttype);
4389 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4390 break;}
4391 case 101:
4392 #line 675 "parse.y"
4393 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4394 break;}
4395 case 102:
4396 #line 677 "parse.y"
4397 { tree specs = strip_attrs (yyvsp[-1].ttype);
4398 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4399 break;}
4400 case 103:
4401 #line 680 "parse.y"
4402 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4403 break;}
4404 case 104:
4405 #line 685 "parse.y"
4406 {
4407 if (! current_function_parms_stored)
4408 store_parm_decls ();
4409 yyval.ttype = yyvsp[0].ttype;
4410 ;
4411 break;}
4412 case 105:
4413 #line 694 "parse.y"
4414 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4415 break;}
4416 case 106:
4417 #line 696 "parse.y"
4418 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4419 break;}
4420 case 107:
4421 #line 698 "parse.y"
4422 { store_return_init (yyval.ttype, NULL_TREE); ;
4423 break;}
4424 case 108:
4425 #line 703 "parse.y"
4426 {
4427 if (yyvsp[0].itype == 0)
4428 error ("no base initializers given following ':'");
4429 setup_vtbl_ptr ();
4430 /* Always keep the BLOCK node associated with the outermost
4431 pair of curley braces of a function. These are needed
4432 for correct operation of dwarfout.c. */
4433 keep_next_level ();
4434 ;
4435 break;}
4436 case 109:
4437 #line 716 "parse.y"
4438 {
4439 if (! current_function_parms_stored)
4440 store_parm_decls ();
4441
4442 if (DECL_CONSTRUCTOR_P (current_function_decl))
4443 {
4444 /* Make a contour for the initializer list. */
4445 pushlevel (0);
4446 clear_last_expr ();
4447 expand_start_bindings (0);
4448 }
4449 else if (current_class_type == NULL_TREE)
4450 error ("base initializers not allowed for non-member functions");
4451 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4452 error ("only constructors take base initializers");
4453 ;
4454 break;}
4455 case 110:
4456 #line 736 "parse.y"
4457 { yyval.itype = 0; ;
4458 break;}
4459 case 111:
4460 #line 738 "parse.y"
4461 { yyval.itype = 1; ;
4462 break;}
4463 case 114:
4464 #line 745 "parse.y"
4465 {
4466 if (current_class_name)
4467 pedwarn ("anachronistic old style base class initializer");
4468 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4469 ;
4470 break;}
4471 case 115:
4472 #line 751 "parse.y"
4473 {
4474 if (current_class_name)
4475 pedwarn ("anachronistic old style base class initializer");
4476 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4477 ;
4478 break;}
4479 case 116:
4480 #line 757 "parse.y"
4481 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4482 break;}
4483 case 117:
4484 #line 759 "parse.y"
4485 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4486 break;}
4487 case 118:
4488 #line 761 "parse.y"
4489 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4490 break;}
4491 case 119:
4492 #line 763 "parse.y"
4493 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4494 break;}
4495 case 120:
4496 #line 765 "parse.y"
4497 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4498 yyvsp[-1].ttype); ;
4499 break;}
4500 case 121:
4501 #line 768 "parse.y"
4502 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4503 void_type_node); ;
4504 break;}
4505 case 133:
4506 #line 794 "parse.y"
4507 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4508 yyungetc (';', 1); ;
4509 break;}
4510 case 135:
4511 #line 798 "parse.y"
4512 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4513 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4514 break;}
4515 case 137:
4516 #line 802 "parse.y"
4517 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4518 break;}
4519 case 139:
4520 #line 805 "parse.y"
4521 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4522 break;}
4523 case 141:
4524 #line 808 "parse.y"
4525 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4526 yyungetc (';', 1); ;
4527 break;}
4528 case 143:
4529 #line 813 "parse.y"
4530 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4531 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4532 break;}
4533 case 145:
4534 #line 817 "parse.y"
4535 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4536 break;}
4537 case 147:
4538 #line 820 "parse.y"
4539 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4540 break;}
4541 case 149:
4542 #line 825 "parse.y"
4543 { begin_explicit_instantiation(); ;
4544 break;}
4545 case 150:
4546 #line 828 "parse.y"
4547 { end_explicit_instantiation(); ;
4548 break;}
4549 case 151:
4550 #line 836 "parse.y"
4551 {
4552 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4553 if (yyval.ttype != error_mark_node)
4554 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4555 ;
4556 break;}
4557 case 152:
4558 #line 842 "parse.y"
4559 {
4560 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4561 if (yyval.ttype != error_mark_node)
4562 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4563 ;
4564 break;}
4565 case 154:
4566 #line 852 "parse.y"
4567 {
4568 yyval.ttype = lookup_template_class (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE);
4569 if (yyval.ttype != error_mark_node)
4570 yyval.ttype = TYPE_STUB_DECL (yyval.ttype);
4571 ;
4572 break;}
4573 case 156:
4574 #line 862 "parse.y"
4575 {
4576 /* Handle `Class<Class<Type>>' without space in the `>>' */
4577 pedwarn ("`>>' should be `> >' in template class name");
4578 yyungetc ('>', 1);
4579 ;
4580 break;}
4581 case 157:
4582 #line 871 "parse.y"
4583 { yyval.ttype = NULL_TREE; ;
4584 break;}
4585 case 159:
4586 #line 877 "parse.y"
4587 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4588 break;}
4589 case 160:
4590 #line 879 "parse.y"
4591 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4592 break;}
4593 case 161:
4594 #line 884 "parse.y"
4595 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4596 break;}
4597 case 163:
4598 #line 890 "parse.y"
4599 { yyval.code = NEGATE_EXPR; ;
4600 break;}
4601 case 164:
4602 #line 892 "parse.y"
4603 { yyval.code = CONVERT_EXPR; ;
4604 break;}
4605 case 165:
4606 #line 894 "parse.y"
4607 { yyval.code = PREINCREMENT_EXPR; ;
4608 break;}
4609 case 166:
4610 #line 896 "parse.y"
4611 { yyval.code = PREDECREMENT_EXPR; ;
4612 break;}
4613 case 167:
4614 #line 898 "parse.y"
4615 { yyval.code = TRUTH_NOT_EXPR; ;
4616 break;}
4617 case 168:
4618 #line 903 "parse.y"
4619 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4620 break;}
4621 case 170:
4622 #line 909 "parse.y"
4623 { error ("ANSI C++ forbids an empty condition for `%s'",
4624 cond_stmt_keyword);
4625 yyval.ttype = integer_zero_node; ;
4626 break;}
4627 case 171:
4628 #line 913 "parse.y"
4629 { yyval.ttype = yyvsp[-1].ttype; ;
4630 break;}
4631 case 172:
4632 #line 918 "parse.y"
4633 { error ("ANSI C++ forbids an empty condition for `%s'",
4634 cond_stmt_keyword);
4635 yyval.ttype = integer_zero_node; ;
4636 break;}
4637 case 173:
4638 #line 922 "parse.y"
4639 { yyval.ttype = yyvsp[-1].ttype; ;
4640 break;}
4641 case 174:
4642 #line 927 "parse.y"
4643 { yyval.ttype = NULL_TREE; ;
4644 break;}
4645 case 175:
4646 #line 929 "parse.y"
4647 { yyval.ttype = condition_conversion (yyval.ttype); ;
4648 break;}
4649 case 176:
4650 #line 931 "parse.y"
4651 { yyval.ttype = NULL_TREE; ;
4652 break;}
4653 case 177:
4654 #line 936 "parse.y"
4655 { {
4656 tree d;
4657 for (d = getdecls (); d; d = TREE_CHAIN (d))
4658 if (TREE_CODE (d) == TYPE_DECL) {
4659 tree s = TREE_TYPE (d);
4660 if (TREE_CODE (s) == RECORD_TYPE)
4661 cp_error ("definition of class `%T' in condition", s);
4662 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4663 cp_error ("definition of enum `%T' in condition", s);
4664 }
4665 }
4666 current_declspecs = yyvsp[-4].ftype.t;
4667 yyvsp[0].itype = suspend_momentary ();
4668 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
4669 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype,
4670 /*prefix_attributes*/ NULL_TREE);
4671 ;
4672 break;}
4673 case 178:
4674 #line 954 "parse.y"
4675 {
4676 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4677 resume_momentary (yyvsp[-2].itype);
4678 yyval.ttype = yyvsp[-1].ttype;
4679 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4680 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4681 ;
4682 break;}
4683 case 184:
4684 #line 973 "parse.y"
4685 { yyval.ttype = begin_compound_stmt (1); ;
4686 break;}
4687 case 185:
4688 #line 975 "parse.y"
4689 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4690 break;}
4691 case 187:
4692 #line 982 "parse.y"
4693 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4694 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4695 break;}
4696 case 188:
4697 #line 985 "parse.y"
4698 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4699 build_expr_list (NULL_TREE, error_mark_node)); ;
4700 break;}
4701 case 189:
4702 #line 988 "parse.y"
4703 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4704 break;}
4705 case 190:
4706 #line 990 "parse.y"
4707 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4708 break;}
4709 case 191:
4710 #line 995 "parse.y"
4711 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4712 break;}
4713 case 193:
4714 #line 1001 "parse.y"
4715 { yyval.ttype = yyvsp[0].ttype; ;
4716 break;}
4717 case 194:
4718 #line 1004 "parse.y"
4719 { yyval.ttype = yyvsp[0].ttype;
4720 pedantic = yyvsp[-1].itype; ;
4721 break;}
4722 case 195:
4723 #line 1007 "parse.y"
4724 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4725 break;}
4726 case 196:
4727 #line 1009 "parse.y"
4728 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4729 break;}
4730 case 197:
4731 #line 1011 "parse.y"
4732 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4733 break;}
4734 case 198:
4735 #line 1013 "parse.y"
4736 { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
4737 if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
4738 TREE_NEGATED_INT (yyval.ttype) = 1;
4739 overflow_warning (yyval.ttype);
4740 ;
4741 break;}
4742 case 199:
4743 #line 1020 "parse.y"
4744 { if (pedantic)
4745 pedwarn ("ANSI C++ forbids `&&'");
4746 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4747 break;}
4748 case 200:
4749 #line 1024 "parse.y"
4750 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4751 break;}
4752 case 201:
4753 #line 1026 "parse.y"
4754 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4755 break;}
4756 case 202:
4757 #line 1028 "parse.y"
4758 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4759 break;}
4760 case 203:
4761 #line 1030 "parse.y"
4762 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4763 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4764 break;}
4765 case 204:
4766 #line 1036 "parse.y"
4767 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4768 check_for_new_type ("new", yyvsp[0].ftype); ;
4769 break;}
4770 case 205:
4771 #line 1039 "parse.y"
4772 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4773 check_for_new_type ("new", yyvsp[-1].ftype); ;
4774 break;}
4775 case 206:
4776 #line 1042 "parse.y"
4777 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4778 check_for_new_type ("new", yyvsp[0].ftype); ;
4779 break;}
4780 case 207:
4781 #line 1045 "parse.y"
4782 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4783 check_for_new_type ("new", yyvsp[-1].ftype); ;
4784 break;}
4785 case 208:
4786 #line 1048 "parse.y"
4787 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4788 NULL_TREE, yyvsp[-3].itype);
4789 check_for_new_type ("new", yyvsp[-1].ftype); ;
4790 break;}
4791 case 209:
4792 #line 1052 "parse.y"
4793 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-4].itype);
4794 check_for_new_type ("new", yyvsp[-2].ftype); ;
4795 break;}
4796 case 210:
4797 #line 1055 "parse.y"
4798 { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-4].itype);
4799 check_for_new_type ("new", yyvsp[-1].ftype); ;
4800 break;}
4801 case 211:
4802 #line 1058 "parse.y"
4803 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4804 check_for_new_type ("new", yyvsp[-2].ftype); ;
4805 break;}
4806 case 212:
4807 #line 1062 "parse.y"
4808 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4809 break;}
4810 case 213:
4811 #line 1064 "parse.y"
4812 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4813 if (yychar == YYEMPTY)
4814 yychar = YYLEX; ;
4815 break;}
4816 case 214:
4817 #line 1068 "parse.y"
4818 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4819 if (yychar == YYEMPTY)
4820 yychar = YYLEX; ;
4821 break;}
4822 case 215:
4823 #line 1072 "parse.y"
4824 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4825 break;}
4826 case 216:
4827 #line 1074 "parse.y"
4828 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4829 break;}
4830 case 217:
4831 #line 1079 "parse.y"
4832 { yyval.ttype = yyvsp[-1].ttype; ;
4833 break;}
4834 case 218:
4835 #line 1081 "parse.y"
4836 {
4837 yyval.ttype = yyvsp[-1].ttype;
4838 pedwarn ("old style placement syntax, use () instead");
4839 ;
4840 break;}
4841 case 219:
4842 #line 1089 "parse.y"
4843 { yyval.ttype = yyvsp[-1].ttype; ;
4844 break;}
4845 case 220:
4846 #line 1091 "parse.y"
4847 { yyval.ttype = NULL_TREE; ;
4848 break;}
4849 case 221:
4850 #line 1093 "parse.y"
4851 {
4852 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
4853 yyval.ttype = error_mark_node;
4854 ;
4855 break;}
4856 case 222:
4857 #line 1101 "parse.y"
4858 {
4859 if (pedantic)
4860 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
4861 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
4862 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
4863 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
4864 else
4865 yyval.ttype = yyvsp[0].ttype;
4866 ;
4867 break;}
4868 case 223:
4869 #line 1115 "parse.y"
4870 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4871 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4872 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4873 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4874 break;}
4875 case 224:
4876 #line 1120 "parse.y"
4877 { yyvsp[-1].ftype.t = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
4878 TREE_PARMLIST (yyvsp[-1].ftype.t) = 1;
4879 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
4880 check_for_new_type ("cast", yyvsp[-1].ftype); ;
4881 break;}
4882 case 226:
4883 #line 1129 "parse.y"
4884 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
4885 break;}
4886 case 227:
4887 #line 1131 "parse.y"
4888 {
4889 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
4890 nreverse (yyvsp[-2].ttype));
4891 if (pedantic)
4892 pedwarn ("ANSI C++ forbids constructor-expressions");
4893 /* Indicate that this was a GNU C constructor expression. */
4894 TREE_HAS_CONSTRUCTOR (init) = 1;
4895
4896 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
4897 ;
4898 break;}
4899 case 229:
4900 #line 1147 "parse.y"
4901 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
4902 break;}
4903 case 230:
4904 #line 1149 "parse.y"
4905 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
4906 break;}
4907 case 231:
4908 #line 1151 "parse.y"
4909 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4910 break;}
4911 case 232:
4912 #line 1153 "parse.y"
4913 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4914 break;}
4915 case 233:
4916 #line 1155 "parse.y"
4917 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4918 break;}
4919 case 234:
4920 #line 1157 "parse.y"
4921 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4922 break;}
4923 case 235:
4924 #line 1159 "parse.y"
4925 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4926 break;}
4927 case 236:
4928 #line 1161 "parse.y"
4929 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4930 break;}
4931 case 237:
4932 #line 1163 "parse.y"
4933 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4934 break;}
4935 case 238:
4936 #line 1165 "parse.y"
4937 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4938 break;}
4939 case 239:
4940 #line 1167 "parse.y"
4941 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4942 break;}
4943 case 240:
4944 #line 1169 "parse.y"
4945 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4946 break;}
4947 case 241:
4948 #line 1171 "parse.y"
4949 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4950 break;}
4951 case 242:
4952 #line 1173 "parse.y"
4953 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4954 break;}
4955 case 243:
4956 #line 1175 "parse.y"
4957 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4958 break;}
4959 case 244:
4960 #line 1177 "parse.y"
4961 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4962 break;}
4963 case 245:
4964 #line 1179 "parse.y"
4965 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
4966 break;}
4967 case 246:
4968 #line 1181 "parse.y"
4969 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4970 break;}
4971 case 247:
4972 #line 1183 "parse.y"
4973 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
4974 break;}
4975 case 248:
4976 #line 1185 "parse.y"
4977 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
4978 break;}
4979 case 249:
4980 #line 1187 "parse.y"
4981 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
4982 if (yyval.ttype != error_mark_node)
4983 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
4984 break;}
4985 case 250:
4986 #line 1191 "parse.y"
4987 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
4988 break;}
4989 case 251:
4990 #line 1193 "parse.y"
4991 { yyval.ttype = build_throw (NULL_TREE); ;
4992 break;}
4993 case 252:
4994 #line 1195 "parse.y"
4995 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
4996 break;}
4997 case 253:
4998 #line 1213 "parse.y"
4999 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5000 break;}
5001 case 259:
5002 #line 1222 "parse.y"
5003 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1); ;
5004 break;}
5005 case 260:
5006 #line 1226 "parse.y"
5007 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5008 break;}
5009 case 261:
5010 #line 1228 "parse.y"
5011 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5012 break;}
5013 case 262:
5014 #line 1233 "parse.y"
5015 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5016 break;}
5017 case 263:
5018 #line 1235 "parse.y"
5019 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5020 break;}
5021 case 264:
5022 #line 1238 "parse.y"
5023 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5024 break;}
5025 case 269:
5026 #line 1250 "parse.y"
5027 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5028 break;}
5029 case 270:
5030 #line 1252 "parse.y"
5031 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5032 break;}
5033 case 271:
5034 #line 1254 "parse.y"
5035 { yyval.ttype = yyvsp[-1].ttype; ;
5036 break;}
5037 case 272:
5038 #line 1259 "parse.y"
5039 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5040 break;}
5041 case 273:
5042 #line 1261 "parse.y"
5043 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5044 break;}
5045 case 277:
5046 #line 1269 "parse.y"
5047 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5048 break;}
5049 case 278:
5050 #line 1274 "parse.y"
5051 {
5052 if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
5053 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
5054 else if (TREE_CODE (yyval.ttype) != TEMPLATE_ID_EXPR)
5055 yyval.ttype = do_identifier (yyval.ttype, 1);
5056 ;
5057 break;}
5058 case 281:
5059 #line 1283 "parse.y"
5060 {
5061 if (processing_template_decl)
5062 push_obstacks (&permanent_obstack, &permanent_obstack);
5063 yyval.ttype = combine_strings (yyval.ttype);
5064 if (processing_template_decl)
5065 pop_obstacks ();
5066 ;
5067 break;}
5068 case 282:
5069 #line 1291 "parse.y"
5070 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5071 break;}
5072 case 283:
5073 #line 1293 "parse.y"
5074 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5075 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5076 break;}
5077 case 284:
5078 #line 1296 "parse.y"
5079 { yyval.ttype = error_mark_node; ;
5080 break;}
5081 case 285:
5082 #line 1298 "parse.y"
5083 { if (current_function_decl == 0)
5084 {
5085 error ("braced-group within expression allowed only inside a function");
5086 YYERROR;
5087 }
5088 if (pedantic)
5089 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5090 yyval.ttype = begin_stmt_expr ();
5091 ;
5092 break;}
5093 case 286:
5094 #line 1308 "parse.y"
5095 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5096 break;}
5097 case 287:
5098 #line 1310 "parse.y"
5099 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5100 break;}
5101 case 288:
5102 #line 1312 "parse.y"
5103 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5104 break;}
5105 case 289:
5106 #line 1314 "parse.y"
5107 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5108 break;}
5109 case 290:
5110 #line 1316 "parse.y"
5111 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5112 break;}
5113 case 291:
5114 #line 1318 "parse.y"
5115 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5116 break;}
5117 case 292:
5118 #line 1321 "parse.y"
5119 { yyval.ttype = finish_this_expr (); ;
5120 break;}
5121 case 293:
5122 #line 1323 "parse.y"
5123 {
5124 tree type = NULL_TREE;
5125 tree id = yyval.ttype;
5126
5127 /* This is a C cast in C++'s `functional' notation. */
5128 if (yyvsp[-1].ttype == error_mark_node)
5129 {
5130 yyval.ttype = error_mark_node;
5131 break;
5132 }
5133 #if 0
5134 if (yyvsp[-1].ttype == NULL_TREE)
5135 {
5136 error ("cannot cast null list to type `%s'",
5137 IDENTIFIER_POINTER (TYPE_NAME (id)));
5138 yyval.ttype = error_mark_node;
5139 break;
5140 }
5141 #endif
5142 #if 0
5143 /* type is not set! (mrs) */
5144 if (type == error_mark_node)
5145 yyval.ttype = error_mark_node;
5146 else
5147 #endif
5148 {
5149 if (id == ridpointers[(int) RID_CONST])
5150 type = build_type_variant (integer_type_node, 1, 0);
5151 else if (id == ridpointers[(int) RID_VOLATILE])
5152 type = build_type_variant (integer_type_node, 0, 1);
5153 #if 0
5154 /* should not be able to get here (mrs) */
5155 else if (id == ridpointers[(int) RID_FRIEND])
5156 {
5157 error ("cannot cast expression to `friend' type");
5158 yyval.ttype = error_mark_node;
5159 break;
5160 }
5161 #endif
5162 else my_friendly_abort (79);
5163 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5164 }
5165 ;
5166 break;}
5167 case 295:
5168 #line 1368 "parse.y"
5169 { tree type = groktypename (yyvsp[-4].ftype.t);
5170 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5171 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5172 break;}
5173 case 296:
5174 #line 1372 "parse.y"
5175 { tree type = groktypename (yyvsp[-4].ftype.t);
5176 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5177 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5178 break;}
5179 case 297:
5180 #line 1376 "parse.y"
5181 { tree type = groktypename (yyvsp[-4].ftype.t);
5182 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5183 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5184 break;}
5185 case 298:
5186 #line 1380 "parse.y"
5187 { tree type = groktypename (yyvsp[-4].ftype.t);
5188 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5189 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5190 break;}
5191 case 299:
5192 #line 1384 "parse.y"
5193 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5194 break;}
5195 case 300:
5196 #line 1386 "parse.y"
5197 { tree type = groktypename (yyvsp[-1].ftype.t);
5198 check_for_new_type ("typeid", yyvsp[-1].ftype);
5199 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5200 break;}
5201 case 301:
5202 #line 1390 "parse.y"
5203 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5204 break;}
5205 case 302:
5206 #line 1392 "parse.y"
5207 {
5208 got_scope = NULL_TREE;
5209 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5210 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5211 else
5212 yyval.ttype = yyvsp[0].ttype;
5213 ;
5214 break;}
5215 case 303:
5216 #line 1400 "parse.y"
5217 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5218 break;}
5219 case 304:
5220 #line 1402 "parse.y"
5221 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5222 break;}
5223 case 305:
5224 #line 1404 "parse.y"
5225 { yyval.ttype = finish_globally_qualified_member_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5226 break;}
5227 case 306:
5228 #line 1406 "parse.y"
5229 {
5230 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5231 ;
5232 break;}
5233 case 307:
5234 #line 1410 "parse.y"
5235 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5236 break;}
5237 case 308:
5238 #line 1412 "parse.y"
5239 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5240 break;}
5241 case 309:
5242 #line 1414 "parse.y"
5243 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5244 break;}
5245 case 310:
5246 #line 1416 "parse.y"
5247 { if (processing_template_decl)
5248 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5249 else
5250 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5251 break;}
5252 case 311:
5253 #line 1421 "parse.y"
5254 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5255 break;}
5256 case 312:
5257 #line 1423 "parse.y"
5258 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5259 break;}
5260 case 313:
5261 #line 1425 "parse.y"
5262 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5263 break;}
5264 case 314:
5265 #line 1427 "parse.y"
5266 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5267 break;}
5268 case 315:
5269 #line 1430 "parse.y"
5270 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5271 break;}
5272 case 316:
5273 #line 1432 "parse.y"
5274 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5275 break;}
5276 case 317:
5277 #line 1434 "parse.y"
5278 {
5279 yyval.ttype = error_mark_node;
5280 ;
5281 break;}
5282 case 318:
5283 #line 1479 "parse.y"
5284 { yyval.itype = 0; ;
5285 break;}
5286 case 319:
5287 #line 1481 "parse.y"
5288 { got_scope = NULL_TREE; yyval.itype = 1; ;
5289 break;}
5290 case 320:
5291 #line 1486 "parse.y"
5292 { yyval.itype = 0; ;
5293 break;}
5294 case 321:
5295 #line 1488 "parse.y"
5296 { got_scope = NULL_TREE; yyval.itype = 1; ;
5297 break;}
5298 case 322:
5299 #line 1493 "parse.y"
5300 { yyval.ttype = boolean_true_node; ;
5301 break;}
5302 case 323:
5303 #line 1495 "parse.y"
5304 { yyval.ttype = boolean_false_node; ;
5305 break;}
5306 case 325:
5307 #line 1502 "parse.y"
5308 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5309 break;}
5310 case 326:
5311 #line 1507 "parse.y"
5312 {
5313 if (! current_function_parms_stored)
5314 store_parm_decls ();
5315 setup_vtbl_ptr ();
5316 /* Always keep the BLOCK node associated with the outermost
5317 pair of curley braces of a function. These are needed
5318 for correct operation of dwarfout.c. */
5319 keep_next_level ();
5320 ;
5321 break;}
5322 case 327:
5323 #line 1520 "parse.y"
5324 { got_object = TREE_TYPE (yyval.ttype); ;
5325 break;}
5326 case 328:
5327 #line 1522 "parse.y"
5328 {
5329 yyval.ttype = build_x_arrow (yyval.ttype);
5330 got_object = TREE_TYPE (yyval.ttype);
5331 ;
5332 break;}
5333 case 329:
5334 #line 1530 "parse.y"
5335 {
5336 resume_momentary (yyvsp[-1].itype);
5337 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5338 note_got_semicolon (yyvsp[-2].ftype.t);
5339 ;
5340 break;}
5341 case 330:
5342 #line 1536 "parse.y"
5343 {
5344 resume_momentary (yyvsp[-1].itype);
5345 note_list_got_semicolon (yyvsp[-2].ftype.t);
5346 ;
5347 break;}
5348 case 331:
5349 #line 1541 "parse.y"
5350 { resume_momentary (yyvsp[-1].itype); ;
5351 break;}
5352 case 332:
5353 #line 1543 "parse.y"
5354 {
5355 shadow_tag (yyvsp[-1].ftype.t);
5356 note_list_got_semicolon (yyvsp[-1].ftype.t);
5357 ;
5358 break;}
5359 case 333:
5360 #line 1548 "parse.y"
5361 { warning ("empty declaration"); ;
5362 break;}
5363 case 334:
5364 #line 1550 "parse.y"
5365 { pedantic = yyvsp[-1].itype; ;
5366 break;}
5367 case 337:
5368 #line 1564 "parse.y"
5369 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5370 NULL_TREE, NULL_TREE); ;
5371 break;}
5372 case 338:
5373 #line 1567 "parse.y"
5374 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5375 NULL_TREE); ;
5376 break;}
5377 case 339:
5378 #line 1574 "parse.y"
5379 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5380 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5381 break;}
5382 case 340:
5383 #line 1577 "parse.y"
5384 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5385 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5386 break;}
5387 case 341:
5388 #line 1580 "parse.y"
5389 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5390 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5391 break;}
5392 case 342:
5393 #line 1583 "parse.y"
5394 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5395 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5396 break;}
5397 case 343:
5398 #line 1586 "parse.y"
5399 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5400 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5401 break;}
5402 case 346:
5403 #line 1602 "parse.y"
5404 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5405 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5406 break;}
5407 case 347:
5408 #line 1605 "parse.y"
5409 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5410 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5411 break;}
5412 case 348:
5413 #line 1608 "parse.y"
5414 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5415 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5416 break;}
5417 case 349:
5418 #line 1611 "parse.y"
5419 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5420 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5421 break;}
5422 case 350:
5423 #line 1614 "parse.y"
5424 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5425 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5426 break;}
5427 case 351:
5428 #line 1617 "parse.y"
5429 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5430 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5431 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5432 break;}
5433 case 352:
5434 #line 1624 "parse.y"
5435 { if (extra_warnings)
5436 warning ("`%s' is not at beginning of declaration",
5437 IDENTIFIER_POINTER (yyval.ttype));
5438 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5439 break;}
5440 case 353:
5441 #line 1629 "parse.y"
5442 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5443 break;}
5444 case 354:
5445 #line 1631 "parse.y"
5446 { if (extra_warnings)
5447 warning ("`%s' is not at beginning of declaration",
5448 IDENTIFIER_POINTER (yyvsp[0].ttype));
5449 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5450 break;}
5451 case 355:
5452 #line 1636 "parse.y"
5453 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5454 break;}
5455 case 356:
5456 #line 1638 "parse.y"
5457 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5458 break;}
5459 case 357:
5460 #line 1648 "parse.y"
5461 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5462 break;}
5463 case 358:
5464 #line 1650 "parse.y"
5465 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5466 break;}
5467 case 359:
5468 #line 1652 "parse.y"
5469 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5470 TREE_STATIC (yyval.ttype) = 1; ;
5471 break;}
5472 case 360:
5473 #line 1655 "parse.y"
5474 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5475 warning ("`%s' is not at beginning of declaration",
5476 IDENTIFIER_POINTER (yyvsp[0].ttype));
5477 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5478 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5479 break;}
5480 case 361:
5481 #line 1661 "parse.y"
5482 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5483 break;}
5484 case 362:
5485 #line 1663 "parse.y"
5486 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5487 break;}
5488 case 363:
5489 #line 1674 "parse.y"
5490 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5491 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5492 break;}
5493 case 364:
5494 #line 1677 "parse.y"
5495 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5496 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5497 break;}
5498 case 365:
5499 #line 1680 "parse.y"
5500 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5501 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5502 break;}
5503 case 366:
5504 #line 1683 "parse.y"
5505 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5506 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5507 break;}
5508 case 367:
5509 #line 1689 "parse.y"
5510 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5511 break;}
5512 case 368:
5513 #line 1691 "parse.y"
5514 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5515 break;}
5516 case 370:
5517 #line 1701 "parse.y"
5518 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5519 break;}
5520 case 371:
5521 #line 1703 "parse.y"
5522 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5523 break;}
5524 case 372:
5525 #line 1705 "parse.y"
5526 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5527 yyval.ftype.new_type_flag = 0; ;
5528 break;}
5529 case 373:
5530 #line 1708 "parse.y"
5531 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5532 yyval.ftype.new_type_flag = 0; ;
5533 break;}
5534 case 374:
5535 #line 1711 "parse.y"
5536 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5537
5538 yyval.ftype.new_type_flag = 0;
5539 if (IS_AGGR_TYPE (type))
5540 {
5541 sorry ("sigof type specifier");
5542 yyval.ftype.t = type;
5543 }
5544 else
5545 {
5546 error ("`sigof' applied to non-aggregate expression");
5547 yyval.ftype.t = error_mark_node;
5548 }
5549 ;
5550 break;}
5551 case 375:
5552 #line 1726 "parse.y"
5553 { tree type = groktypename (yyvsp[-1].ftype.t);
5554
5555 yyval.ftype.new_type_flag = 0;
5556 if (IS_AGGR_TYPE (type))
5557 {
5558 sorry ("sigof type specifier");
5559 yyval.ftype.t = type;
5560 }
5561 else
5562 {
5563 error("`sigof' applied to non-aggregate type");
5564 yyval.ftype.t = error_mark_node;
5565 }
5566 ;
5567 break;}
5568 case 376:
5569 #line 1746 "parse.y"
5570 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5571 break;}
5572 case 377:
5573 #line 1748 "parse.y"
5574 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5575 break;}
5576 case 385:
5577 #line 1769 "parse.y"
5578 { yyval.ttype = NULL_TREE; ;
5579 break;}
5580 case 386:
5581 #line 1771 "parse.y"
5582 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5583 break;}
5584 case 387:
5585 #line 1776 "parse.y"
5586 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1);
5587 cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
5588 break;}
5589 case 388:
5590 #line 1780 "parse.y"
5591 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5592 break;}
5593 case 389:
5594 #line 1782 "parse.y"
5595 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0);
5596 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes);
5597 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5598 break;}
5599 case 390:
5600 #line 1795 "parse.y"
5601 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5602 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5603 break;}
5604 case 391:
5605 #line 1800 "parse.y"
5606 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5607 LOOKUP_ONLYCONVERTING);
5608 yyval.itype = yyvsp[-2].itype; ;
5609 break;}
5610 case 392:
5611 #line 1804 "parse.y"
5612 { tree d;
5613 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5614 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5615 break;}
5616 case 393:
5617 #line 1811 "parse.y"
5618 { yyval.itype = yyvsp[0].itype; ;
5619 break;}
5620 case 394:
5621 #line 1815 "parse.y"
5622 { yyval.itype = yyvsp[0].itype; ;
5623 break;}
5624 case 395:
5625 #line 1820 "parse.y"
5626 { /* Set things up as initdcl0_innards expects. */
5627 yyval.ttype = yyvsp[-1].ttype;
5628 yyvsp[-1].ttype = NULL_TREE; ;
5629 break;}
5630 case 396:
5631 #line 1824 "parse.y"
5632 {;
5633 break;}
5634 case 397:
5635 #line 1826 "parse.y"
5636 { tree d;
5637 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5638 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5639 break;}
5640 case 398:
5641 #line 1835 "parse.y"
5642 { yyval.ttype = NULL_TREE; ;
5643 break;}
5644 case 399:
5645 #line 1837 "parse.y"
5646 { yyval.ttype = yyvsp[0].ttype; ;
5647 break;}
5648 case 400:
5649 #line 1842 "parse.y"
5650 { yyval.ttype = yyvsp[0].ttype; ;
5651 break;}
5652 case 401:
5653 #line 1844 "parse.y"
5654 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5655 break;}
5656 case 402:
5657 #line 1849 "parse.y"
5658 { yyval.ttype = yyvsp[-2].ttype; ;
5659 break;}
5660 case 403:
5661 #line 1854 "parse.y"
5662 { yyval.ttype = yyvsp[0].ttype; ;
5663 break;}
5664 case 404:
5665 #line 1856 "parse.y"
5666 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5667 break;}
5668 case 405:
5669 #line 1861 "parse.y"
5670 { yyval.ttype = NULL_TREE; ;
5671 break;}
5672 case 406:
5673 #line 1863 "parse.y"
5674 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5675 break;}
5676 case 407:
5677 #line 1865 "parse.y"
5678 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5679 break;}
5680 case 408:
5681 #line 1867 "parse.y"
5682 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5683 break;}
5684 case 409:
5685 #line 1869 "parse.y"
5686 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5687 break;}
5688 case 414:
5689 #line 1885 "parse.y"
5690 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5691 break;}
5692 case 415:
5693 #line 1887 "parse.y"
5694 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5695 break;}
5696 case 416:
5697 #line 1892 "parse.y"
5698 { yyval.ttype = NULL_TREE; ;
5699 break;}
5700 case 417:
5701 #line 1894 "parse.y"
5702 { yyval.ttype = yyvsp[0].ttype; ;
5703 break;}
5704 case 419:
5705 #line 1902 "parse.y"
5706 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5707 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5708 break;}
5709 case 420:
5710 #line 1905 "parse.y"
5711 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5712 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5713 break;}
5714 case 421:
5715 #line 1908 "parse.y"
5716 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5717 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5718 break;}
5719 case 422:
5720 #line 1911 "parse.y"
5721 { yyval.ttype = NULL_TREE; ;
5722 break;}
5723 case 423:
5724 #line 1918 "parse.y"
5725 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5726 break;}
5727 case 424:
5728 #line 1920 "parse.y"
5729 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5730 break;}
5731 case 425:
5732 #line 1923 "parse.y"
5733 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5734 break;}
5735 case 426:
5736 #line 1925 "parse.y"
5737 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5738 break;}
5739 case 427:
5740 #line 1927 "parse.y"
5741 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5742 break;}
5743 case 428:
5744 #line 1932 "parse.y"
5745 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5746 NULL_TREE, 1);
5747 reinit_parse_for_function (); ;
5748 break;}
5749 case 429:
5750 #line 1938 "parse.y"
5751 {
5752 int nested = (hack_decl_function_context
5753 (current_function_decl) != NULL_TREE);
5754 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5755 process_next_inline (yyvsp[-3].ttype);
5756 ;
5757 break;}
5758 case 430:
5759 #line 1945 "parse.y"
5760 { process_next_inline (yyvsp[-2].ttype); ;
5761 break;}
5762 case 431:
5763 #line 1947 "parse.y"
5764 { process_next_inline (yyvsp[-2].ttype); ;
5765 break;}
5766 case 434:
5767 #line 1959 "parse.y"
5768 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5769 break;}
5770 case 435:
5771 #line 1961 "parse.y"
5772 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5773 break;}
5774 case 437:
5775 #line 1966 "parse.y"
5776 { do_pending_defargs (); ;
5777 break;}
5778 case 438:
5779 #line 1968 "parse.y"
5780 { do_pending_defargs (); ;
5781 break;}
5782 case 439:
5783 #line 1973 "parse.y"
5784 { yyvsp[0].itype = suspend_momentary ();
5785 yyval.ttype = start_enum (yyvsp[-1].ttype); ;
5786 break;}
5787 case 440:
5788 #line 1976 "parse.y"
5789 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5790 yyval.ftype.new_type_flag = 1;
5791 resume_momentary ((int) yyvsp[-4].itype);
5792 check_for_missing_semicolon (yyvsp[-3].ttype); ;
5793 break;}
5794 case 441:
5795 #line 1981 "parse.y"
5796 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
5797 yyval.ftype.new_type_flag = 1;
5798 check_for_missing_semicolon (yyval.ftype.t); ;
5799 break;}
5800 case 442:
5801 #line 1985 "parse.y"
5802 { yyvsp[0].itype = suspend_momentary ();
5803 yyval.ttype = start_enum (make_anon_name ()); ;
5804 break;}
5805 case 443:
5806 #line 1988 "parse.y"
5807 { yyval.ftype.t = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
5808 resume_momentary ((int) yyvsp[-5].itype);
5809 check_for_missing_semicolon (yyvsp[-3].ttype);
5810 yyval.ftype.new_type_flag = 1; ;
5811 break;}
5812 case 444:
5813 #line 1993 "parse.y"
5814 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()), NULL_TREE);
5815 yyval.ftype.new_type_flag = 1;
5816 check_for_missing_semicolon (yyval.ftype.t); ;
5817 break;}
5818 case 445:
5819 #line 1997 "parse.y"
5820 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5821 yyval.ftype.new_type_flag = 0; ;
5822 break;}
5823 case 446:
5824 #line 2000 "parse.y"
5825 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1);
5826 yyval.ftype.new_type_flag = 0; ;
5827 break;}
5828 case 447:
5829 #line 2003 "parse.y"
5830 { yyval.ftype.t = yyvsp[0].ttype;
5831 yyval.ftype.new_type_flag = 0; ;
5832 break;}
5833 case 448:
5834 #line 2008 "parse.y"
5835 {
5836 int semi;
5837
5838 yyval.ttype = yyvsp[-4].ttype;
5839 #if 0
5840 /* Need to rework class nesting in the
5841 presence of nested classes, etc. */
5842 shadow_tag (CLASSTYPE_AS_LIST (yyvsp[-4].ttype)); */
5843 #endif
5844 if (yychar == YYEMPTY)
5845 yychar = YYLEX;
5846 semi = yychar == ';';
5847 /* finish_struct nukes this anyway; if
5848 finish_exception does too, then it can go. */
5849 if (semi)
5850 note_got_semicolon (yyvsp[-4].ttype);
5851
5852 if (TREE_CODE (yyvsp[-4].ttype) == ENUMERAL_TYPE)
5853 ;
5854 else
5855 {
5856 yyval.ttype = finish_struct (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
5857 if (semi) note_got_semicolon (yyval.ttype);
5858 }
5859
5860 pop_obstacks ();
5861
5862 if (! semi)
5863 check_for_missing_semicolon (yyvsp[-4].ttype);
5864 if (current_scope () == current_function_decl)
5865 do_pending_defargs ();
5866 ;
5867 break;}
5868 case 449:
5869 #line 2041 "parse.y"
5870 {
5871 if (pending_inlines
5872 && current_scope () == current_function_decl)
5873 do_pending_inlines ();
5874 ;
5875 break;}
5876 case 450:
5877 #line 2047 "parse.y"
5878 {
5879 yyval.ftype.t = yyvsp[-3].ttype;
5880 yyval.ftype.new_type_flag = 1;
5881 if (current_class_type == NULL_TREE)
5882 clear_inline_text_obstack ();
5883
5884 /* Undo the begin_tree in left_curly. */
5885 end_tree ();
5886 ;
5887 break;}
5888 case 451:
5889 #line 2057 "parse.y"
5890 {
5891 yyval.ftype.new_type_flag = 0;
5892 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
5893 {
5894 cp_error ("%T is not a class type", yyvsp[0].ttype);
5895 yyval.ftype.t = error_mark_node;
5896 }
5897 else
5898 {
5899 yyval.ftype.t = yyvsp[0].ttype;
5900 /* struct B: public A; is not accepted by the WP grammar. */
5901 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
5902 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
5903 cp_error ("base clause without member specification for `%#T'",
5904 yyval.ftype.t);
5905 }
5906 ;
5907 break;}
5908 case 455:
5909 #line 2084 "parse.y"
5910 { if (pedantic && !in_system_header)
5911 pedwarn ("comma at end of enumerator list"); ;
5912 break;}
5913 case 457:
5914 #line 2091 "parse.y"
5915 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5916 break;}
5917 case 458:
5918 #line 2093 "parse.y"
5919 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5920 break;}
5921 case 459:
5922 #line 2095 "parse.y"
5923 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
5924 break;}
5925 case 460:
5926 #line 2097 "parse.y"
5927 { error ("no body nor ';' separates two class, struct or union declarations"); ;
5928 break;}
5929 case 461:
5930 #line 2102 "parse.y"
5931 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5932 break;}
5933 case 462:
5934 #line 2107 "parse.y"
5935 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5936 break;}
5937 case 463:
5938 #line 2112 "parse.y"
5939 {
5940 current_aggr = yyvsp[-2].ttype;
5941 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5942 ;
5943 break;}
5944 case 464:
5945 #line 2117 "parse.y"
5946 {
5947 current_aggr = yyvsp[-3].ttype;
5948 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5949 ;
5950 break;}
5951 case 465:
5952 #line 2122 "parse.y"
5953 {
5954 current_aggr = yyvsp[-2].ttype;
5955 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
5956 ;
5957 break;}
5958 case 466:
5959 #line 2127 "parse.y"
5960 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5961 break;}
5962 case 467:
5963 #line 2129 "parse.y"
5964 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
5965 break;}
5966 case 468:
5967 #line 2134 "parse.y"
5968 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
5969 break;}
5970 case 469:
5971 #line 2139 "parse.y"
5972 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
5973 break;}
5974 case 470:
5975 #line 2142 "parse.y"
5976 {
5977 yyval.ttype = yyvsp[-1].ttype;
5978 if (yyvsp[0].ttype)
5979 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
5980 ;
5981 break;}
5982 case 471:
5983 #line 2148 "parse.y"
5984 {
5985 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
5986 if (TREE_INT_CST_LOW (current_aggr) == union_type
5987 && TREE_CODE (yyval.ttype) != UNION_TYPE)
5988 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
5989 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
5990 && TREE_INT_CST_LOW (current_aggr) != union_type)
5991 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
5992 if (yyvsp[0].ttype)
5993 {
5994 if (IS_AGGR_TYPE (yyval.ttype) && CLASSTYPE_USE_TEMPLATE (yyval.ttype))
5995 {
5996 if (CLASSTYPE_IMPLICIT_INSTANTIATION (yyval.ttype)
5997 && TYPE_SIZE (yyval.ttype) == NULL_TREE)
5998 {
5999 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (yyval.ttype);
6000 if (processing_template_decl)
6001 push_template_decl (TYPE_MAIN_DECL (yyval.ttype));
6002 }
6003 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (yyval.ttype))
6004 cp_error ("specialization after instantiation of `%T'", yyval.ttype);
6005 }
6006 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6007 }
6008 ;
6009 break;}
6010 case 472:
6011 #line 2177 "parse.y"
6012 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
6013 yyungetc ('{', 1); ;
6014 break;}
6015 case 475:
6016 #line 2188 "parse.y"
6017 { yyval.ttype = NULL_TREE; ;
6018 break;}
6019 case 476:
6020 #line 2190 "parse.y"
6021 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6022 break;}
6023 case 477:
6024 #line 2192 "parse.y"
6025 { yyval.ttype = yyvsp[0].ttype; ;
6026 break;}
6027 case 479:
6028 #line 2198 "parse.y"
6029 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6030 break;}
6031 case 480:
6032 #line 2203 "parse.y"
6033 {
6034 tree type = TREE_TYPE (yyvsp[0].ttype);
6035 if (! is_aggr_type (type, 1))
6036 yyval.ttype = NULL_TREE;
6037 else if (current_aggr == signature_type_node
6038 && (! type) && (! IS_SIGNATURE (type)))
6039 {
6040 error ("class name not allowed as base signature");
6041 yyval.ttype = NULL_TREE;
6042 }
6043 else if (current_aggr == signature_type_node)
6044 {
6045 sorry ("signature inheritance, base type `%s' ignored",
6046 IDENTIFIER_POINTER (yyval.ttype));
6047 yyval.ttype = build_tree_list (access_public_node, type);
6048 }
6049 else if (type && IS_SIGNATURE (type))
6050 {
6051 error ("signature name not allowed as base class");
6052 yyval.ttype = NULL_TREE;
6053 }
6054 else
6055 yyval.ttype = build_tree_list (access_default_node, type);
6056 ;
6057 break;}
6058 case 481:
6059 #line 2228 "parse.y"
6060 {
6061 tree type = TREE_TYPE (yyvsp[0].ttype);
6062 if (current_aggr == signature_type_node)
6063 error ("access and source specifiers not allowed in signature");
6064 if (! IS_AGGR_TYPE (type))
6065 yyval.ttype = NULL_TREE;
6066 else if (current_aggr == signature_type_node
6067 && (! type) && (! IS_SIGNATURE (type)))
6068 {
6069 error ("class name not allowed as base signature");
6070 yyval.ttype = NULL_TREE;
6071 }
6072 else if (current_aggr == signature_type_node)
6073 {
6074 sorry ("signature inheritance, base type `%s' ignored",
6075 IDENTIFIER_POINTER (yyval.ttype));
6076 yyval.ttype = build_tree_list (access_public_node, type);
6077 }
6078 else if (type && IS_SIGNATURE (type))
6079 {
6080 error ("signature name not allowed as base class");
6081 yyval.ttype = NULL_TREE;
6082 }
6083 else
6084 yyval.ttype = build_tree_list (yyval.ttype, type);
6085 ;
6086 break;}
6087 case 482:
6088 #line 2258 "parse.y"
6089 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6090 break;}
6091 case 484:
6092 #line 2261 "parse.y"
6093 {
6094 if (current_aggr == signature_type_node)
6095 {
6096 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6097 {
6098 sorry ("`sigof' as base signature specifier");
6099 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6100 }
6101 else
6102 {
6103 error ("`sigof' applied to non-aggregate expression");
6104 yyval.ttype = error_mark_node;
6105 }
6106 }
6107 else
6108 {
6109 error ("`sigof' in struct or class declaration");
6110 yyval.ttype = error_mark_node;
6111 }
6112 ;
6113 break;}
6114 case 485:
6115 #line 2282 "parse.y"
6116 {
6117 if (current_aggr == signature_type_node)
6118 {
6119 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6120 {
6121 sorry ("`sigof' as base signature specifier");
6122 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6123 }
6124 else
6125 {
6126 error ("`sigof' applied to non-aggregate expression");
6127 yyval.ttype = error_mark_node;
6128 }
6129 }
6130 else
6131 {
6132 error ("`sigof' in struct or class declaration");
6133 yyval.ttype = error_mark_node;
6134 }
6135 ;
6136 break;}
6137 case 487:
6138 #line 2307 "parse.y"
6139 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6140 cp_error ("`%D' access", yyvsp[-1].ttype);
6141 yyval.ttype = access_default_virtual_node; ;
6142 break;}
6143 case 488:
6144 #line 2311 "parse.y"
6145 {
6146 if (yyvsp[-2].ttype != access_default_virtual_node)
6147 error ("multiple access specifiers");
6148 else if (yyvsp[-1].ttype == access_public_node)
6149 yyval.ttype = access_public_virtual_node;
6150 else if (yyvsp[-1].ttype == access_protected_node)
6151 yyval.ttype = access_protected_virtual_node;
6152 else /* $2 == access_private_node */
6153 yyval.ttype = access_private_virtual_node;
6154 ;
6155 break;}
6156 case 489:
6157 #line 2322 "parse.y"
6158 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6159 cp_error ("`%D' access", yyvsp[-1].ttype);
6160 else if (yyval.ttype == access_public_node)
6161 yyval.ttype = access_public_virtual_node;
6162 else if (yyval.ttype == access_protected_node)
6163 yyval.ttype = access_protected_virtual_node;
6164 else if (yyval.ttype == access_private_node)
6165 yyval.ttype = access_private_virtual_node;
6166 else
6167 error ("multiple `virtual' specifiers");
6168 ;
6169 break;}
6170 case 490:
6171 #line 2337 "parse.y"
6172 { tree t = yyvsp[-1].ttype;
6173 push_obstacks_nochange ();
6174 end_temporary_allocation ();
6175
6176 if (t == error_mark_node
6177 || ! IS_AGGR_TYPE (t))
6178 {
6179 t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
6180 pushtag (make_anon_name (), t, 0);
6181 }
6182 if (TYPE_SIZE (t))
6183 duplicate_tag_error (t);
6184 if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
6185 {
6186 t = make_lang_type (TREE_CODE (t));
6187 pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
6188 yyvsp[-1].ttype = t;
6189 }
6190 if (processing_template_decl && TYPE_CONTEXT (t)
6191 && ! current_class_type)
6192 push_template_decl (TYPE_STUB_DECL (t));
6193 pushclass (t, 0);
6194 TYPE_BEING_DEFINED (t) = 1;
6195 if (IS_AGGR_TYPE (t) && CLASSTYPE_USE_TEMPLATE (t))
6196 {
6197 if (CLASSTYPE_IMPLICIT_INSTANTIATION (t)
6198 && TYPE_SIZE (t) == NULL_TREE)
6199 {
6200 SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
6201 if (processing_template_decl)
6202 push_template_decl (TYPE_MAIN_DECL (t));
6203 }
6204 else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
6205 cp_error ("specialization after instantiation of `%T'", t);
6206 }
6207 /* Reset the interface data, at the earliest possible
6208 moment, as it might have been set via a class foo;
6209 before. */
6210 /* Don't change signatures. */
6211 if (! IS_SIGNATURE (t))
6212 {
6213 extern tree pending_vtables;
6214 int needs_writing;
6215 tree name = TYPE_IDENTIFIER (t);
6216
6217 if (! ANON_AGGRNAME_P (name))
6218 {
6219 CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
6220 SET_CLASSTYPE_INTERFACE_UNKNOWN_X
6221 (t, interface_unknown);
6222 }
6223
6224 /* Record how to set the access of this class's
6225 virtual functions. If write_virtuals == 2 or 3, then
6226 inline virtuals are ``extern inline''. */
6227 switch (write_virtuals)
6228 {
6229 case 0:
6230 case 1:
6231 needs_writing = 1;
6232 break;
6233 case 2:
6234 needs_writing = !! value_member (name, pending_vtables);
6235 break;
6236 case 3:
6237 needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
6238 && CLASSTYPE_INTERFACE_KNOWN (t);
6239 break;
6240 default:
6241 needs_writing = 0;
6242 }
6243 CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
6244 }
6245 #if 0
6246 t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
6247 if (t && IDENTIFIER_TEMPLATE (t))
6248 overload_template_name (t, 1);
6249 #endif
6250 reset_specialization();
6251
6252 /* In case this is a local class within a template
6253 function, we save the current tree structure so
6254 that we can get it back later. */
6255 begin_tree ();
6256 ;
6257 break;}
6258 case 491:
6259 #line 2426 "parse.y"
6260 {
6261 yyval.ttype = build_self_reference ();
6262 ;
6263 break;}
6264 case 492:
6265 #line 2433 "parse.y"
6266 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6267 break;}
6268 case 493:
6269 #line 2435 "parse.y"
6270 {
6271 if (current_aggr == signature_type_node)
6272 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6273 else
6274 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6275 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6276 ;
6277 break;}
6278 case 494:
6279 #line 2443 "parse.y"
6280 {
6281 tree visspec = yyvsp[-2].ttype;
6282
6283 if (current_aggr == signature_type_node)
6284 {
6285 error ("access specifier not allowed in signature");
6286 visspec = access_public_node;
6287 }
6288 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6289 ;
6290 break;}
6291 case 495:
6292 #line 2454 "parse.y"
6293 {
6294 if (current_aggr == signature_type_node)
6295 error ("access specifier not allowed in signature");
6296 ;
6297 break;}
6298 case 496:
6299 #line 2464 "parse.y"
6300 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6301 ;
6302 break;}
6303 case 497:
6304 #line 2467 "parse.y"
6305 { /* In pushdecl, we created a reverse list of names
6306 in this binding level. Make sure that the chain
6307 of what we're trying to add isn't the item itself
6308 (which can happen with what pushdecl's doing). */
6309 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6310 {
6311 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6312 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6313 else
6314 yyval.ttype = yyvsp[0].ttype;
6315 }
6316 ;
6317 break;}
6318 case 498:
6319 #line 2483 "parse.y"
6320 { ;
6321 break;}
6322 case 499:
6323 #line 2485 "parse.y"
6324 { error ("missing ';' before right brace");
6325 yyungetc ('}', 0); ;
6326 break;}
6327 case 500:
6328 #line 2490 "parse.y"
6329 { yyval.ttype = finish_method (yyval.ttype); ;
6330 break;}
6331 case 501:
6332 #line 2492 "parse.y"
6333 { yyval.ttype = finish_method (yyval.ttype); ;
6334 break;}
6335 case 502:
6336 #line 2494 "parse.y"
6337 { yyval.ttype = finish_method (yyval.ttype); ;
6338 break;}
6339 case 503:
6340 #line 2496 "parse.y"
6341 { yyval.ttype = finish_method (yyval.ttype); ;
6342 break;}
6343 case 504:
6344 #line 2498 "parse.y"
6345 { yyval.ttype = NULL_TREE; ;
6346 break;}
6347 case 505:
6348 #line 2500 "parse.y"
6349 { yyval.ttype = yyvsp[0].ttype;
6350 pedantic = yyvsp[-1].itype; ;
6351 break;}
6352 case 506:
6353 #line 2503 "parse.y"
6354 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6355 break;}
6356 case 507:
6357 #line 2505 "parse.y"
6358 {
6359 shadow_tag (yyvsp[-1].ftype.t);
6360 note_list_got_semicolon (yyvsp[-1].ftype.t);
6361 yyval.ttype = finish_member_template_decl (yyvsp[-2].ttype, yyvsp[-1].ftype.t);
6362 ;
6363 break;}
6364 case 508:
6365 #line 2517 "parse.y"
6366 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6367 break;}
6368 case 509:
6369 #line 2519 "parse.y"
6370 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6371 break;}
6372 case 510:
6373 #line 2521 "parse.y"
6374 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6375 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6376 break;}
6377 case 511:
6378 #line 2524 "parse.y"
6379 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6380 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6381 break;}
6382 case 512:
6383 #line 2527 "parse.y"
6384 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6385 break;}
6386 case 513:
6387 #line 2529 "parse.y"
6388 { yyval.ttype = NULL_TREE; ;
6389 break;}
6390 case 514:
6391 #line 2540 "parse.y"
6392 { tree specs, attrs;
6393 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6394 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6395 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6396 break;}
6397 case 515:
6398 #line 2545 "parse.y"
6399 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6400 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6401 break;}
6402 case 516:
6403 #line 2548 "parse.y"
6404 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6405 break;}
6406 case 517:
6407 #line 2554 "parse.y"
6408 { yyval.ttype = NULL_TREE; ;
6409 break;}
6410 case 519:
6411 #line 2557 "parse.y"
6412 {
6413 /* In this context, void_type_node encodes
6414 friends. They have been recorded elsewhere. */
6415 if (yyval.ttype == void_type_node)
6416 yyval.ttype = yyvsp[0].ttype;
6417 else
6418 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6419 ;
6420 break;}
6421 case 520:
6422 #line 2569 "parse.y"
6423 { yyval.ttype = NULL_TREE; ;
6424 break;}
6425 case 522:
6426 #line 2572 "parse.y"
6427 {
6428 /* In this context, void_type_node encodes
6429 friends. They have been recorded elsewhere. */
6430 if (yyval.ttype == void_type_node)
6431 yyval.ttype = yyvsp[0].ttype;
6432 else
6433 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6434 ;
6435 break;}
6436 case 527:
6437 #line 2594 "parse.y"
6438 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6439 &prefix_attributes);
6440 yyvsp[-4].ttype = current_declspecs;
6441 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6442 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6443 break;}
6444 case 528:
6445 #line 2600 "parse.y"
6446 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6447 &prefix_attributes);
6448 yyvsp[-4].ttype = current_declspecs;
6449 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6450 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6451 break;}
6452 case 529:
6453 #line 2609 "parse.y"
6454 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6455 &prefix_attributes);
6456 yyvsp[-4].ttype = current_declspecs;
6457 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6458 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6459 break;}
6460 case 530:
6461 #line 2615 "parse.y"
6462 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6463 &prefix_attributes);
6464 yyvsp[-4].ttype = current_declspecs;
6465 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6466 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6467 break;}
6468 case 531:
6469 #line 2621 "parse.y"
6470 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6471 &prefix_attributes);
6472 yyvsp[-4].ttype = current_declspecs;
6473 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6474 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6475 break;}
6476 case 532:
6477 #line 2627 "parse.y"
6478 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6479 &prefix_attributes);
6480 yyvsp[-3].ttype = current_declspecs;
6481 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6482 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6483 break;}
6484 case 533:
6485 #line 2636 "parse.y"
6486 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6487 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6488 break;}
6489 case 534:
6490 #line 2639 "parse.y"
6491 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6492 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6493 break;}
6494 case 535:
6495 #line 2645 "parse.y"
6496 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6497 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6498 break;}
6499 case 536:
6500 #line 2648 "parse.y"
6501 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6502 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6503 break;}
6504 case 537:
6505 #line 2651 "parse.y"
6506 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6507 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6508 break;}
6509 case 539:
6510 #line 2662 "parse.y"
6511 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6512 break;}
6513 case 540:
6514 #line 2667 "parse.y"
6515 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
6516 break;}
6517 case 541:
6518 #line 2669 "parse.y"
6519 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
6520 break;}
6521 case 542:
6522 #line 2675 "parse.y"
6523 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6524 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6525 break;}
6526 case 543:
6527 #line 2678 "parse.y"
6528 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6529 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6530 break;}
6531 case 544:
6532 #line 2683 "parse.y"
6533 {
6534 if (pedantic)
6535 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6536 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6537 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6538 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6539 ;
6540 break;}
6541 case 545:
6542 #line 2694 "parse.y"
6543 { yyval.ttype = NULL_TREE; ;
6544 break;}
6545 case 546:
6546 #line 2696 "parse.y"
6547 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6548 break;}
6549 case 547:
6550 #line 2701 "parse.y"
6551 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6552 yyval.ftype.new_type_flag = 0; ;
6553 break;}
6554 case 548:
6555 #line 2704 "parse.y"
6556 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6557 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6558 break;}
6559 case 549:
6560 #line 2713 "parse.y"
6561 { yyval.itype = suspend_momentary (); ;
6562 break;}
6563 case 550:
6564 #line 2718 "parse.y"
6565 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6566 break;}
6567 case 551:
6568 #line 2724 "parse.y"
6569 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6570 break;}
6571 case 552:
6572 #line 2726 "parse.y"
6573 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6574 break;}
6575 case 553:
6576 #line 2728 "parse.y"
6577 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6578 break;}
6579 case 554:
6580 #line 2730 "parse.y"
6581 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6582 break;}
6583 case 555:
6584 #line 2737 "parse.y"
6585 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6586 break;}
6587 case 556:
6588 #line 2739 "parse.y"
6589 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6590 break;}
6591 case 557:
6592 #line 2741 "parse.y"
6593 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6594 break;}
6595 case 558:
6596 #line 2743 "parse.y"
6597 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6598 break;}
6599 case 559:
6600 #line 2745 "parse.y"
6601 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6602 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6603 ;
6604 break;}
6605 case 561:
6606 #line 2753 "parse.y"
6607 {
6608 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6609 {
6610 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6611 if (current_class_type
6612 && TYPE_BEING_DEFINED (current_class_type)
6613 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6614 {
6615 /* Remember that this name has been used in the class
6616 definition, as per [class.scope0] */
6617 pushdecl_class_level (yyval.ttype);
6618 }
6619 }
6620 else
6621 yyval.ttype = yyvsp[0].ttype;
6622 ;
6623 break;}
6624 case 562:
6625 #line 2770 "parse.y"
6626 {
6627 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6628 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6629 else
6630 yyval.ttype = yyvsp[0].ttype;
6631 got_scope = NULL_TREE;
6632 ;
6633 break;}
6634 case 565:
6635 #line 2783 "parse.y"
6636 { yyval.ttype = yyvsp[0].ttype; ;
6637 break;}
6638 case 566:
6639 #line 2788 "parse.y"
6640 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6641 break;}
6642 case 567:
6643 #line 2793 "parse.y"
6644 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6645 break;}
6646 case 568:
6647 #line 2795 "parse.y"
6648 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6649 break;}
6650 case 569:
6651 #line 2797 "parse.y"
6652 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6653 break;}
6654 case 570:
6655 #line 2799 "parse.y"
6656 { yyval.ttype = yyvsp[-1].ttype; ;
6657 break;}
6658 case 571:
6659 #line 2801 "parse.y"
6660 { push_nested_class (yyvsp[-1].ttype, 3);
6661 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6662 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6663 break;}
6664 case 573:
6665 #line 2812 "parse.y"
6666 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6667 break;}
6668 case 574:
6669 #line 2814 "parse.y"
6670 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6671 break;}
6672 case 575:
6673 #line 2816 "parse.y"
6674 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6675 break;}
6676 case 576:
6677 #line 2818 "parse.y"
6678 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6679 break;}
6680 case 577:
6681 #line 2820 "parse.y"
6682 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6683 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6684 ;
6685 break;}
6686 case 579:
6687 #line 2828 "parse.y"
6688 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6689 break;}
6690 case 580:
6691 #line 2830 "parse.y"
6692 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6693 break;}
6694 case 581:
6695 #line 2832 "parse.y"
6696 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6697 break;}
6698 case 582:
6699 #line 2834 "parse.y"
6700 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6701 break;}
6702 case 583:
6703 #line 2836 "parse.y"
6704 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6705 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6706 ;
6707 break;}
6708 case 585:
6709 #line 2844 "parse.y"
6710 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6711 break;}
6712 case 586:
6713 #line 2846 "parse.y"
6714 { yyval.ttype = yyvsp[-1].ttype; ;
6715 break;}
6716 case 587:
6717 #line 2848 "parse.y"
6718 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6719 break;}
6720 case 588:
6721 #line 2850 "parse.y"
6722 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6723 break;}
6724 case 589:
6725 #line 2852 "parse.y"
6726 { if (OP0 (yyval.ttype) != current_class_type)
6727 {
6728 push_nested_class (OP0 (yyval.ttype), 3);
6729 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6730 }
6731 ;
6732 break;}
6733 case 590:
6734 #line 2859 "parse.y"
6735 { got_scope = NULL_TREE;
6736 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6737 if (yyvsp[-1].ttype != current_class_type)
6738 {
6739 push_nested_class (yyvsp[-1].ttype, 3);
6740 TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
6741 }
6742 ;
6743 break;}
6744 case 591:
6745 #line 2871 "parse.y"
6746 { got_scope = NULL_TREE;
6747 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6748 break;}
6749 case 592:
6750 #line 2874 "parse.y"
6751 { got_scope = NULL_TREE;
6752 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6753 break;}
6754 case 593:
6755 #line 2880 "parse.y"
6756 { got_scope = NULL_TREE;
6757 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6758 break;}
6759 case 594:
6760 #line 2883 "parse.y"
6761 { got_scope = NULL_TREE;
6762 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6763 break;}
6764 case 596:
6765 #line 2890 "parse.y"
6766 { yyval.ttype = yyvsp[0].ttype; ;
6767 break;}
6768 case 597:
6769 #line 2895 "parse.y"
6770 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6771 break;}
6772 case 598:
6773 #line 2897 "parse.y"
6774 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6775 break;}
6776 case 599:
6777 #line 2899 "parse.y"
6778 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6779 break;}
6780 case 604:
6781 #line 2911 "parse.y"
6782 { yyval.ttype = yyvsp[0].ttype; ;
6783 break;}
6784 case 605:
6785 #line 2913 "parse.y"
6786 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6787 break;}
6788 case 606:
6789 #line 2920 "parse.y"
6790 {
6791 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6792 {
6793 yyval.ttype = lastiddecl;
6794 /* Remember that this name has been used in the class
6795 definition, as per [class.scope0] */
6796 if (current_class_type
6797 && TYPE_BEING_DEFINED (current_class_type)
6798 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6799 pushdecl_class_level (yyval.ttype);
6800 }
6801 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6802 ;
6803 break;}
6804 case 607:
6805 #line 2934 "parse.y"
6806 {
6807 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6808 yyval.ttype = lastiddecl;
6809 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6810 ;
6811 break;}
6812 case 608:
6813 #line 2940 "parse.y"
6814 {
6815 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6816 yyval.ttype = lastiddecl;
6817 got_scope = yyval.ttype;
6818 ;
6819 break;}
6820 case 609:
6821 #line 2946 "parse.y"
6822 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6823 break;}
6824 case 611:
6825 #line 2962 "parse.y"
6826 { yyval.ttype = yyvsp[0].ttype; ;
6827 break;}
6828 case 612:
6829 #line 2967 "parse.y"
6830 {
6831 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6832 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6833 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6834 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6835 else
6836 {
6837 yyval.ttype = yyvsp[0].ttype;
6838 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6839 yyval.ttype = TREE_TYPE (yyval.ttype);
6840 }
6841 ;
6842 break;}
6843 case 613:
6844 #line 2980 "parse.y"
6845 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6846 break;}
6847 case 614:
6848 #line 2982 "parse.y"
6849 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6850 break;}
6851 case 615:
6852 #line 2984 "parse.y"
6853 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6854 break;}
6855 case 616:
6856 #line 2989 "parse.y"
6857 {
6858 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6859 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6860 ;
6861 break;}
6862 case 617:
6863 #line 2994 "parse.y"
6864 {
6865 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6866 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6867 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6868 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6869 else
6870 {
6871 yyval.ttype = yyvsp[0].ttype;
6872 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6873 yyval.ttype = TREE_TYPE (yyval.ttype);
6874 }
6875 ;
6876 break;}
6877 case 618:
6878 #line 3007 "parse.y"
6879 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6880 break;}
6881 case 619:
6882 #line 3009 "parse.y"
6883 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6884 break;}
6885 case 620:
6886 #line 3014 "parse.y"
6887 {
6888 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6889 yyvsp[-1].ttype = lastiddecl;
6890
6891 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype));
6892
6893 if (yyval.ttype == error_mark_node)
6894 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6895 ;
6896 break;}
6897 case 621:
6898 #line 3024 "parse.y"
6899 {
6900 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6901 yyval.ttype = lastiddecl;
6902 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6903 ;
6904 break;}
6905 case 622:
6906 #line 3030 "parse.y"
6907 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6908 break;}
6909 case 625:
6910 #line 3034 "parse.y"
6911 {
6912 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6913 yyval.ttype = lastiddecl;
6914 got_scope = yyval.ttype;
6915 ;
6916 break;}
6917 case 626:
6918 #line 3043 "parse.y"
6919 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6920 break;}
6921 case 627:
6922 #line 3048 "parse.y"
6923 {
6924 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6925 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6926 else
6927 yyval.ttype = yyvsp[0].ttype;
6928 got_scope = NULL_TREE;
6929 ;
6930 break;}
6931 case 629:
6932 #line 3057 "parse.y"
6933 { yyval.ttype = yyvsp[0].ttype; ;
6934 break;}
6935 case 630:
6936 #line 3062 "parse.y"
6937 { got_scope = NULL_TREE; ;
6938 break;}
6939 case 631:
6940 #line 3064 "parse.y"
6941 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6942 break;}
6943 case 632:
6944 #line 3071 "parse.y"
6945 { got_scope = void_type_node; ;
6946 break;}
6947 case 633:
6948 #line 3077 "parse.y"
6949 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6950 break;}
6951 case 634:
6952 #line 3079 "parse.y"
6953 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6954 break;}
6955 case 635:
6956 #line 3081 "parse.y"
6957 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6958 break;}
6959 case 636:
6960 #line 3083 "parse.y"
6961 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6962 break;}
6963 case 637:
6964 #line 3085 "parse.y"
6965 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6966 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6967 ;
6968 break;}
6969 case 638:
6970 #line 3089 "parse.y"
6971 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6972 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6973 ;
6974 break;}
6975 case 640:
6976 #line 3098 "parse.y"
6977 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
6978 break;}
6979 case 641:
6980 #line 3100 "parse.y"
6981 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6982 break;}
6983 case 642:
6984 #line 3106 "parse.y"
6985 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6986 break;}
6987 case 643:
6988 #line 3108 "parse.y"
6989 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6990 break;}
6991 case 644:
6992 #line 3110 "parse.y"
6993 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
6994 break;}
6995 case 645:
6996 #line 3112 "parse.y"
6997 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
6998 break;}
6999 case 646:
7000 #line 3114 "parse.y"
7001 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7002 break;}
7003 case 647:
7004 #line 3116 "parse.y"
7005 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7006 break;}
7007 case 648:
7008 #line 3118 "parse.y"
7009 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7010 break;}
7011 case 649:
7012 #line 3120 "parse.y"
7013 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7014 break;}
7015 case 650:
7016 #line 3122 "parse.y"
7017 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7018 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7019 ;
7020 break;}
7021 case 651:
7022 #line 3126 "parse.y"
7023 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7024 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7025 ;
7026 break;}
7027 case 653:
7028 #line 3135 "parse.y"
7029 { yyval.ttype = yyvsp[-1].ttype; ;
7030 break;}
7031 case 655:
7032 #line 3139 "parse.y"
7033 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7034 break;}
7035 case 656:
7036 #line 3141 "parse.y"
7037 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7038 break;}
7039 case 657:
7040 #line 3143 "parse.y"
7041 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7042 break;}
7043 case 658:
7044 #line 3145 "parse.y"
7045 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7046 break;}
7047 case 659:
7048 #line 3147 "parse.y"
7049 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7050 break;}
7051 case 660:
7052 #line 3149 "parse.y"
7053 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7054 break;}
7055 case 661:
7056 #line 3151 "parse.y"
7057 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7058 break;}
7059 case 662:
7060 #line 3153 "parse.y"
7061 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7062 break;}
7063 case 663:
7064 #line 3155 "parse.y"
7065 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7066 break;}
7067 case 670:
7068 #line 3178 "parse.y"
7069 { if (pedantic)
7070 pedwarn ("ANSI C++ forbids label declarations"); ;
7071 break;}
7072 case 673:
7073 #line 3189 "parse.y"
7074 { tree link;
7075 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7076 {
7077 tree label = shadow_label (TREE_VALUE (link));
7078 C_DECLARED_LABEL_FLAG (label) = 1;
7079 declare_nonlocal_label (label);
7080 }
7081 ;
7082 break;}
7083 case 674:
7084 #line 3203 "parse.y"
7085 {;
7086 break;}
7087 case 676:
7088 #line 3209 "parse.y"
7089 { yyval.ttype = begin_compound_stmt (0); ;
7090 break;}
7091 case 677:
7092 #line 3211 "parse.y"
7093 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7094 break;}
7095 case 678:
7096 #line 3216 "parse.y"
7097 {
7098 yyval.ttype = begin_if_stmt ();
7099 cond_stmt_keyword = "if";
7100 ;
7101 break;}
7102 case 679:
7103 #line 3221 "parse.y"
7104 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7105 break;}
7106 case 680:
7107 #line 3223 "parse.y"
7108 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7109 break;}
7110 case 682:
7111 #line 3228 "parse.y"
7112 { yyval.ttype = begin_compound_stmt (0); ;
7113 break;}
7114 case 683:
7115 #line 3230 "parse.y"
7116 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7117 break;}
7118 case 684:
7119 #line 3235 "parse.y"
7120 {;
7121 break;}
7122 case 686:
7123 #line 3241 "parse.y"
7124 { finish_stmt (); ;
7125 break;}
7126 case 687:
7127 #line 3243 "parse.y"
7128 { finish_expr_stmt (yyvsp[-1].ttype); ;
7129 break;}
7130 case 688:
7131 #line 3245 "parse.y"
7132 { begin_else_clause (); ;
7133 break;}
7134 case 689:
7135 #line 3247 "parse.y"
7136 {
7137 finish_else_clause (yyvsp[-3].ttype);
7138 finish_if_stmt ();
7139 ;
7140 break;}
7141 case 690:
7142 #line 3252 "parse.y"
7143 { finish_if_stmt (); ;
7144 break;}
7145 case 691:
7146 #line 3254 "parse.y"
7147 {
7148 yyval.ttype = begin_while_stmt ();
7149 cond_stmt_keyword = "while";
7150 ;
7151 break;}
7152 case 692:
7153 #line 3259 "parse.y"
7154 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7155 break;}
7156 case 693:
7157 #line 3261 "parse.y"
7158 { finish_while_stmt (yyvsp[-3].ttype); ;
7159 break;}
7160 case 694:
7161 #line 3263 "parse.y"
7162 { yyval.ttype = begin_do_stmt (); ;
7163 break;}
7164 case 695:
7165 #line 3265 "parse.y"
7166 {
7167 finish_do_body (yyvsp[-2].ttype);
7168 cond_stmt_keyword = "do";
7169 ;
7170 break;}
7171 case 696:
7172 #line 3270 "parse.y"
7173 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7174 break;}
7175 case 697:
7176 #line 3272 "parse.y"
7177 { yyval.ttype = begin_for_stmt (); ;
7178 break;}
7179 case 698:
7180 #line 3274 "parse.y"
7181 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7182 break;}
7183 case 699:
7184 #line 3276 "parse.y"
7185 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7186 break;}
7187 case 700:
7188 #line 3278 "parse.y"
7189 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7190 break;}
7191 case 701:
7192 #line 3280 "parse.y"
7193 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7194 break;}
7195 case 702:
7196 #line 3282 "parse.y"
7197 { begin_switch_stmt (); ;
7198 break;}
7199 case 703:
7200 #line 3284 "parse.y"
7201 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7202 break;}
7203 case 704:
7204 #line 3286 "parse.y"
7205 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7206 break;}
7207 case 705:
7208 #line 3288 "parse.y"
7209 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7210 break;}
7211 case 707:
7212 #line 3291 "parse.y"
7213 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7214 break;}
7215 case 709:
7216 #line 3294 "parse.y"
7217 { finish_case_label (NULL_TREE, NULL_TREE); ;
7218 break;}
7219 case 711:
7220 #line 3297 "parse.y"
7221 { finish_break_stmt (); ;
7222 break;}
7223 case 712:
7224 #line 3299 "parse.y"
7225 { finish_continue_stmt (); ;
7226 break;}
7227 case 713:
7228 #line 3301 "parse.y"
7229 { finish_return_stmt (NULL_TREE); ;
7230 break;}
7231 case 714:
7232 #line 3303 "parse.y"
7233 { finish_return_stmt (yyvsp[-1].ttype); ;
7234 break;}
7235 case 715:
7236 #line 3305 "parse.y"
7237 {
7238 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7239 NULL_TREE);
7240 ;
7241 break;}
7242 case 716:
7243 #line 3311 "parse.y"
7244 {
7245 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7246 NULL_TREE);
7247 ;
7248 break;}
7249 case 717:
7250 #line 3317 "parse.y"
7251 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7252 break;}
7253 case 718:
7254 #line 3321 "parse.y"
7255 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7256 break;}
7257 case 719:
7258 #line 3323 "parse.y"
7259 {
7260 if (pedantic)
7261 pedwarn ("ANSI C++ forbids computed gotos");
7262 finish_goto_stmt (yyvsp[-1].ttype);
7263 ;
7264 break;}
7265 case 720:
7266 #line 3329 "parse.y"
7267 { finish_goto_stmt (yyvsp[-1].ttype); ;
7268 break;}
7269 case 721:
7270 #line 3331 "parse.y"
7271 { finish_stmt (); ;
7272 break;}
7273 case 722:
7274 #line 3333 "parse.y"
7275 { error ("label must be followed by statement");
7276 yyungetc ('}', 0);
7277 finish_stmt (); ;
7278 break;}
7279 case 723:
7280 #line 3337 "parse.y"
7281 { finish_stmt (); ;
7282 break;}
7283 case 725:
7284 #line 3343 "parse.y"
7285 {
7286 if (! current_function_parms_stored)
7287 store_parm_decls ();
7288 expand_start_early_try_stmts ();
7289 ;
7290 break;}
7291 case 726:
7292 #line 3349 "parse.y"
7293 { expand_start_all_catch (); ;
7294 break;}
7295 case 727:
7296 #line 3351 "parse.y"
7297 {
7298 int nested = (hack_decl_function_context
7299 (current_function_decl) != NULL_TREE);
7300 expand_end_all_catch ();
7301 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7302 ;
7303 break;}
7304 case 728:
7305 #line 3361 "parse.y"
7306 { yyval.ttype = begin_try_block (); ;
7307 break;}
7308 case 729:
7309 #line 3363 "parse.y"
7310 { finish_try_block (yyvsp[-1].ttype); ;
7311 break;}
7312 case 730:
7313 #line 3365 "parse.y"
7314 { finish_handler_sequence (yyvsp[-3].ttype); ;
7315 break;}
7316 case 733:
7317 #line 3375 "parse.y"
7318 { yyval.ttype = begin_handler(); ;
7319 break;}
7320 case 734:
7321 #line 3377 "parse.y"
7322 { finish_handler_parms (yyvsp[-1].ttype); ;
7323 break;}
7324 case 735:
7325 #line 3379 "parse.y"
7326 { finish_handler (yyvsp[-3].ttype); ;
7327 break;}
7328 case 738:
7329 #line 3389 "parse.y"
7330 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7331 break;}
7332 case 739:
7333 #line 3405 "parse.y"
7334 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7335 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7336 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7337 break;}
7338 case 740:
7339 #line 3412 "parse.y"
7340 { tree label;
7341 do_label:
7342 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7343 if (label && ! minimal_parse_mode)
7344 expand_label (label);
7345 ;
7346 break;}
7347 case 741:
7348 #line 3419 "parse.y"
7349 { goto do_label; ;
7350 break;}
7351 case 742:
7352 #line 3421 "parse.y"
7353 { goto do_label; ;
7354 break;}
7355 case 743:
7356 #line 3423 "parse.y"
7357 { goto do_label; ;
7358 break;}
7359 case 744:
7360 #line 3428 "parse.y"
7361 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7362 break;}
7363 case 746:
7364 #line 3431 "parse.y"
7365 { if (pedantic)
7366 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7367 ;
7368 break;}
7369 case 747:
7370 #line 3440 "parse.y"
7371 { emit_line_note (input_filename, lineno);
7372 yyval.ttype = NULL_TREE; ;
7373 break;}
7374 case 748:
7375 #line 3443 "parse.y"
7376 { emit_line_note (input_filename, lineno); ;
7377 break;}
7378 case 749:
7379 #line 3448 "parse.y"
7380 { yyval.ttype = NULL_TREE; ;
7381 break;}
7382 case 751:
7383 #line 3451 "parse.y"
7384 { yyval.ttype = NULL_TREE; ;
7385 break;}
7386 case 752:
7387 #line 3458 "parse.y"
7388 { yyval.ttype = NULL_TREE; ;
7389 break;}
7390 case 755:
7391 #line 3465 "parse.y"
7392 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7393 break;}
7394 case 756:
7395 #line 3470 "parse.y"
7396 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7397 break;}
7398 case 757:
7399 #line 3475 "parse.y"
7400 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7401 break;}
7402 case 758:
7403 #line 3477 "parse.y"
7404 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7405 break;}
7406 case 759:
7407 #line 3488 "parse.y"
7408 {
7409 yyval.ttype = empty_parms();
7410 ;
7411 break;}
7412 case 761:
7413 #line 3493 "parse.y"
7414 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ftype.t, void_list_node);
7415 TREE_PARMLIST (yyval.ttype) = 1;
7416 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7417 break;}
7418 case 762:
7419 #line 3502 "parse.y"
7420 {
7421 yyval.ttype = chainon (yyval.ttype, void_list_node);
7422 TREE_PARMLIST (yyval.ttype) = 1;
7423 ;
7424 break;}
7425 case 763:
7426 #line 3507 "parse.y"
7427 {
7428 TREE_PARMLIST (yyval.ttype) = 1;
7429 ;
7430 break;}
7431 case 764:
7432 #line 3512 "parse.y"
7433 {
7434 TREE_PARMLIST (yyval.ttype) = 1;
7435 ;
7436 break;}
7437 case 765:
7438 #line 3516 "parse.y"
7439 {
7440 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7441 TREE_PARMLIST (yyval.ttype) = 1;
7442 ;
7443 break;}
7444 case 766:
7445 #line 3521 "parse.y"
7446 {
7447 yyval.ttype = NULL_TREE;
7448 ;
7449 break;}
7450 case 767:
7451 #line 3525 "parse.y"
7452 {
7453 TREE_PARMLIST (yyval.ttype) = 1;
7454 ;
7455 break;}
7456 case 768:
7457 #line 3529 "parse.y"
7458 {
7459 TREE_PARMLIST (yyval.ttype) = 1;
7460 ;
7461 break;}
7462 case 769:
7463 #line 3533 "parse.y"
7464 {
7465 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t);
7466 TREE_PARMLIST (yyval.ttype) = 1;
7467 ;
7468 break;}
7469 case 770:
7470 #line 3538 "parse.y"
7471 {
7472 /* This helps us recover from really nasty
7473 parse errors, for example, a missing right
7474 parenthesis. */
7475 yyerror ("possibly missing ')'");
7476 yyval.ttype = chainon (yyval.ttype, void_list_node);
7477 TREE_PARMLIST (yyval.ttype) = 1;
7478 yyungetc (':', 0);
7479 yychar = ')';
7480 ;
7481 break;}
7482 case 771:
7483 #line 3549 "parse.y"
7484 {
7485 /* This helps us recover from really nasty
7486 parse errors, for example, a missing right
7487 parenthesis. */
7488 yyerror ("possibly missing ')'");
7489 yyval.ttype = tree_cons (NULL_TREE, yyvsp[-1].ftype.t, void_list_node);
7490 TREE_PARMLIST (yyval.ttype) = 1;
7491 yyungetc (':', 0);
7492 yychar = ')';
7493 ;
7494 break;}
7495 case 772:
7496 #line 3564 "parse.y"
7497 { maybe_snarf_defarg (); ;
7498 break;}
7499 case 773:
7500 #line 3566 "parse.y"
7501 { yyval.ttype = yyvsp[0].ttype; ;
7502 break;}
7503 case 776:
7504 #line 3577 "parse.y"
7505 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7506 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
7507 break;}
7508 case 777:
7509 #line 3580 "parse.y"
7510 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7511 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t); ;
7512 break;}
7513 case 778:
7514 #line 3583 "parse.y"
7515 { check_for_new_type ("in a parameter list", yyvsp[0].ftype);
7516 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ftype.t); ;
7517 break;}
7518 case 779:
7519 #line 3586 "parse.y"
7520 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7521 break;}
7522 case 780:
7523 #line 3588 "parse.y"
7524 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7525 break;}
7526 case 782:
7527 #line 3594 "parse.y"
7528 { check_for_new_type ("in a parameter list", yyvsp[-1].ftype);
7529 yyval.ttype = build_tree_list (NULL_TREE, yyvsp[-1].ftype.t); ;
7530 break;}
7531 case 783:
7532 #line 3604 "parse.y"
7533 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7534 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag;
7535 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype); ;
7536 break;}
7537 case 784:
7538 #line 3608 "parse.y"
7539 { yyval.ftype.t = build_tree_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
7540 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7541 break;}
7542 case 785:
7543 #line 3611 "parse.y"
7544 { yyval.ftype.t = build_tree_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
7545 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7546 break;}
7547 case 786:
7548 #line 3614 "parse.y"
7549 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
7550 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7551 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7552 break;}
7553 case 787:
7554 #line 3618 "parse.y"
7555 { tree specs = strip_attrs (yyvsp[0].ftype.t);
7556 yyval.ftype.t = build_tree_list (specs, NULL_TREE);
7557 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7558 break;}
7559 case 788:
7560 #line 3622 "parse.y"
7561 { tree specs = strip_attrs (yyvsp[-1].ttype);
7562 yyval.ftype.t = build_tree_list (specs, yyvsp[0].ttype);
7563 yyval.ftype.new_type_flag = 0; ;
7564 break;}
7565 case 789:
7566 #line 3629 "parse.y"
7567 { yyval.ftype.t = build_tree_list (NULL_TREE, yyvsp[0].ftype.t);
7568 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
7569 break;}
7570 case 790:
7571 #line 3632 "parse.y"
7572 { yyval.ftype.t = build_tree_list (yyvsp[0].ttype, yyvsp[-1].ftype.t);
7573 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
7574 break;}
7575 case 793:
7576 #line 3643 "parse.y"
7577 { see_typename (); ;
7578 break;}
7579 case 794:
7580 #line 3648 "parse.y"
7581 {
7582 error ("type specifier omitted for parameter");
7583 yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
7584 ;
7585 break;}
7586 case 795:
7587 #line 3653 "parse.y"
7588 {
7589 error ("type specifier omitted for parameter");
7590 if (TREE_CODE (yyval.ttype) == SCOPE_REF
7591 && (TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TYPE_PARM
7592 || TREE_CODE (TREE_OPERAND (yyval.ttype, 0)) == TEMPLATE_TEMPLATE_PARM))
7593 cp_error (" perhaps you want `typename %E' to make it a type", yyval.ttype);
7594 yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
7595 ;
7596 break;}
7597 case 796:
7598 #line 3665 "parse.y"
7599 { yyval.ttype = NULL_TREE; ;
7600 break;}
7601 case 797:
7602 #line 3667 "parse.y"
7603 { yyval.ttype = yyvsp[-1].ttype; ;
7604 break;}
7605 case 798:
7606 #line 3669 "parse.y"
7607 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7608 break;}
7609 case 799:
7610 #line 3674 "parse.y"
7611 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7612 break;}
7613 case 801:
7614 #line 3680 "parse.y"
7615 {
7616 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7617 yyval.ttype = yyvsp[0].ttype;
7618 ;
7619 break;}
7620 case 802:
7621 #line 3688 "parse.y"
7622 { yyval.ttype = NULL_TREE; ;
7623 break;}
7624 case 803:
7625 #line 3690 "parse.y"
7626 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7627 break;}
7628 case 804:
7629 #line 3692 "parse.y"
7630 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7631 break;}
7632 case 805:
7633 #line 3694 "parse.y"
7634 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7635 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7636 ;
7637 break;}
7638 case 806:
7639 #line 3701 "parse.y"
7640 { got_scope = NULL_TREE; ;
7641 break;}
7642 case 807:
7643 #line 3706 "parse.y"
7644 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7645 break;}
7646 case 808:
7647 #line 3708 "parse.y"
7648 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7649 break;}
7650 case 809:
7651 #line 3710 "parse.y"
7652 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7653 break;}
7654 case 810:
7655 #line 3712 "parse.y"
7656 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7657 break;}
7658 case 811:
7659 #line 3714 "parse.y"
7660 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7661 break;}
7662 case 812:
7663 #line 3716 "parse.y"
7664 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7665 break;}
7666 case 813:
7667 #line 3718 "parse.y"
7668 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7669 break;}
7670 case 814:
7671 #line 3720 "parse.y"
7672 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7673 break;}
7674 case 815:
7675 #line 3722 "parse.y"
7676 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7677 break;}
7678 case 816:
7679 #line 3724 "parse.y"
7680 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7681 break;}
7682 case 817:
7683 #line 3726 "parse.y"
7684 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7685 break;}
7686 case 818:
7687 #line 3728 "parse.y"
7688 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7689 break;}
7690 case 819:
7691 #line 3730 "parse.y"
7692 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7693 break;}
7694 case 820:
7695 #line 3732 "parse.y"
7696 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7697 break;}
7698 case 821:
7699 #line 3734 "parse.y"
7700 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7701 break;}
7702 case 822:
7703 #line 3736 "parse.y"
7704 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7705 break;}
7706 case 823:
7707 #line 3738 "parse.y"
7708 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7709 break;}
7710 case 824:
7711 #line 3740 "parse.y"
7712 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7713 break;}
7714 case 825:
7715 #line 3742 "parse.y"
7716 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7717 break;}
7718 case 826:
7719 #line 3744 "parse.y"
7720 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7721 break;}
7722 case 827:
7723 #line 3746 "parse.y"
7724 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7725 break;}
7726 case 828:
7727 #line 3748 "parse.y"
7728 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7729 break;}
7730 case 829:
7731 #line 3750 "parse.y"
7732 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7733 break;}
7734 case 830:
7735 #line 3752 "parse.y"
7736 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7737 break;}
7738 case 831:
7739 #line 3754 "parse.y"
7740 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7741 break;}
7742 case 832:
7743 #line 3756 "parse.y"
7744 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7745 break;}
7746 case 833:
7747 #line 3758 "parse.y"
7748 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7749 break;}
7750 case 834:
7751 #line 3760 "parse.y"
7752 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7753 break;}
7754 case 835:
7755 #line 3762 "parse.y"
7756 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7757 break;}
7758 case 836:
7759 #line 3764 "parse.y"
7760 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7761 break;}
7762 case 837:
7763 #line 3766 "parse.y"
7764 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7765 break;}
7766 case 838:
7767 #line 3768 "parse.y"
7768 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7769 break;}
7770 case 839:
7771 #line 3770 "parse.y"
7772 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7773 break;}
7774 case 840:
7775 #line 3773 "parse.y"
7776 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7777 break;}
7778 case 841:
7779 #line 3775 "parse.y"
7780 { yyval.ttype = ansi_opname[ERROR_MARK]; ;
7781 break;}
7782 }
7783 /* the action file gets copied in in place of this dollarsign */
7784 #line 498 "/usr/cygnus/progressive-97r2/share/bison.simple"
7785 \f
7786 yyvsp -= yylen;
7787 yyssp -= yylen;
7788 #ifdef YYLSP_NEEDED
7789 yylsp -= yylen;
7790 #endif
7791
7792 #if YYDEBUG != 0
7793 if (yydebug)
7794 {
7795 short *ssp1 = yyss - 1;
7796 fprintf (stderr, "state stack now");
7797 while (ssp1 != yyssp)
7798 fprintf (stderr, " %d", *++ssp1);
7799 fprintf (stderr, "\n");
7800 }
7801 #endif
7802
7803 *++yyvsp = yyval;
7804
7805 #ifdef YYLSP_NEEDED
7806 yylsp++;
7807 if (yylen == 0)
7808 {
7809 yylsp->first_line = yylloc.first_line;
7810 yylsp->first_column = yylloc.first_column;
7811 yylsp->last_line = (yylsp-1)->last_line;
7812 yylsp->last_column = (yylsp-1)->last_column;
7813 yylsp->text = 0;
7814 }
7815 else
7816 {
7817 yylsp->last_line = (yylsp+yylen-1)->last_line;
7818 yylsp->last_column = (yylsp+yylen-1)->last_column;
7819 }
7820 #endif
7821
7822 /* Now "shift" the result of the reduction.
7823 Determine what state that goes to,
7824 based on the state we popped back to
7825 and the rule number reduced by. */
7826
7827 yyn = yyr1[yyn];
7828
7829 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
7830 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7831 yystate = yytable[yystate];
7832 else
7833 yystate = yydefgoto[yyn - YYNTBASE];
7834
7835 goto yynewstate;
7836
7837 yyerrlab: /* here on detecting error */
7838
7839 if (! yyerrstatus)
7840 /* If not already recovering from an error, report this error. */
7841 {
7842 ++yynerrs;
7843
7844 #ifdef YYERROR_VERBOSE
7845 yyn = yypact[yystate];
7846
7847 if (yyn > YYFLAG && yyn < YYLAST)
7848 {
7849 int size = 0;
7850 char *msg;
7851 int x, count;
7852
7853 count = 0;
7854 /* Start X at -yyn if nec to avoid negative indexes in yycheck. */
7855 for (x = (yyn < 0 ? -yyn : 0);
7856 x < (sizeof(yytname) / sizeof(char *)); x++)
7857 if (yycheck[x + yyn] == x)
7858 size += strlen(yytname[x]) + 15, count++;
7859 msg = (char *) malloc(size + 15);
7860 if (msg != 0)
7861 {
7862 strcpy(msg, "parse error");
7863
7864 if (count < 5)
7865 {
7866 count = 0;
7867 for (x = (yyn < 0 ? -yyn : 0);
7868 x < (sizeof(yytname) / sizeof(char *)); x++)
7869 if (yycheck[x + yyn] == x)
7870 {
7871 strcat(msg, count == 0 ? ", expecting `" : " or `");
7872 strcat(msg, yytname[x]);
7873 strcat(msg, "'");
7874 count++;
7875 }
7876 }
7877 yyerror(msg);
7878 free(msg);
7879 }
7880 else
7881 yyerror ("parse error; also virtual memory exceeded");
7882 }
7883 else
7884 #endif /* YYERROR_VERBOSE */
7885 yyerror("parse error");
7886 }
7887
7888 goto yyerrlab1;
7889 yyerrlab1: /* here on error raised explicitly by an action */
7890
7891 if (yyerrstatus == 3)
7892 {
7893 /* if just tried and failed to reuse lookahead token after an error, discard it. */
7894
7895 /* return failure if at end of input */
7896 if (yychar == YYEOF)
7897 YYABORT;
7898
7899 #if YYDEBUG != 0
7900 if (yydebug)
7901 fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
7902 #endif
7903
7904 yychar = YYEMPTY;
7905 }
7906
7907 /* Else will try to reuse lookahead token
7908 after shifting the error token. */
7909
7910 yyerrstatus = 3; /* Each real token shifted decrements this */
7911
7912 goto yyerrhandle;
7913
7914 yyerrdefault: /* current state does not do anything special for the error token. */
7915
7916 #if 0
7917 /* This is wrong; only states that explicitly want error tokens
7918 should shift them. */
7919 yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
7920 if (yyn) goto yydefault;
7921 #endif
7922
7923 yyerrpop: /* pop the current state because it cannot handle the error token */
7924
7925 if (yyssp == yyss) YYABORT;
7926 yyvsp--;
7927 yystate = *--yyssp;
7928 #ifdef YYLSP_NEEDED
7929 yylsp--;
7930 #endif
7931
7932 #if YYDEBUG != 0
7933 if (yydebug)
7934 {
7935 short *ssp1 = yyss - 1;
7936 fprintf (stderr, "Error: state stack now");
7937 while (ssp1 != yyssp)
7938 fprintf (stderr, " %d", *++ssp1);
7939 fprintf (stderr, "\n");
7940 }
7941 #endif
7942
7943 yyerrhandle:
7944
7945 yyn = yypact[yystate];
7946 if (yyn == YYFLAG)
7947 goto yyerrdefault;
7948
7949 yyn += YYTERROR;
7950 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
7951 goto yyerrdefault;
7952
7953 yyn = yytable[yyn];
7954 if (yyn < 0)
7955 {
7956 if (yyn == YYFLAG)
7957 goto yyerrpop;
7958 yyn = -yyn;
7959 goto yyreduce;
7960 }
7961 else if (yyn == 0)
7962 goto yyerrpop;
7963
7964 if (yyn == YYFINAL)
7965 YYACCEPT;
7966
7967 #if YYDEBUG != 0
7968 if (yydebug)
7969 fprintf(stderr, "Shifting error token, ");
7970 #endif
7971
7972 *++yyvsp = yylval;
7973 #ifdef YYLSP_NEEDED
7974 *++yylsp = yylloc;
7975 #endif
7976
7977 yystate = yyn;
7978 goto yynewstate;
7979 }
7980 #line 3778 "parse.y"
7981
7982
7983 #ifdef SPEW_DEBUG
7984 const char *
7985 debug_yytranslate (value)
7986 int value;
7987 {
7988 return yytname[YYTRANSLATE (value)];
7989 }
7990
7991 #endif