cp-tree.h (finish_globally_qualified_member_call_expr): Rename to ...
[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 TYPEOF 283
34 #define ALIGNOF 284
35 #define SIGOF 285
36 #define ATTRIBUTE 286
37 #define EXTENSION 287
38 #define LABEL 288
39 #define REALPART 289
40 #define IMAGPART 290
41 #define AGGR 291
42 #define VISSPEC 292
43 #define DELETE 293
44 #define NEW 294
45 #define THIS 295
46 #define OPERATOR 296
47 #define CXX_TRUE 297
48 #define CXX_FALSE 298
49 #define NAMESPACE 299
50 #define TYPENAME_KEYWORD 300
51 #define USING 301
52 #define LEFT_RIGHT 302
53 #define TEMPLATE 303
54 #define TYPEID 304
55 #define DYNAMIC_CAST 305
56 #define STATIC_CAST 306
57 #define REINTERPRET_CAST 307
58 #define CONST_CAST 308
59 #define SCOPE 309
60 #define EMPTY 310
61 #define PTYPENAME 311
62 #define NSNAME 312
63 #define THROW 313
64 #define ASSIGN 314
65 #define OROR 315
66 #define ANDAND 316
67 #define MIN_MAX 317
68 #define EQCOMPARE 318
69 #define ARITHCOMPARE 319
70 #define LSHIFT 320
71 #define RSHIFT 321
72 #define POINTSAT_STAR 322
73 #define DOT_STAR 323
74 #define UNARY 324
75 #define PLUSPLUS 325
76 #define MINUSMINUS 326
77 #define HYPERUNARY 327
78 #define PAREN_STAR_PAREN 328
79 #define POINTSAT 329
80 #define TRY 330
81 #define CATCH 331
82 #define PRE_PARSED_FUNCTION_DECL 332
83 #define EXTERN_LANG_STRING 333
84 #define ALL 334
85 #define PRE_PARSED_CLASS_DECL 335
86 #define DEFARG 336
87 #define DEFARG_MARKER 337
88 #define TYPENAME_DEFN 338
89 #define IDENTIFIER_DEFN 339
90 #define PTYPENAME_DEFN 340
91 #define END_OF_LINE 341
92 #define END_OF_SAVED_INPUT 342
93
94 #line 29 "parse.y"
95
96 /* Cause the `yydebug' variable to be defined. */
97 #define YYDEBUG 1
98
99 #include "config.h"
100
101 #include "system.h"
102
103 #include "tree.h"
104 #include "input.h"
105 #include "flags.h"
106 #include "lex.h"
107 #include "cp-tree.h"
108 #include "output.h"
109 #include "except.h"
110 #include "toplev.h"
111
112 /* Since parsers are distinct for each language, put the language string
113 definition here. (fnf) */
114 char *language_string = "GNU C++";
115
116 extern tree void_list_node;
117 extern struct obstack permanent_obstack;
118
119 extern int end_of_file;
120
121 /* Like YYERROR but do call yyerror. */
122 #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
123
124 #define OP0(NODE) (TREE_OPERAND (NODE, 0))
125 #define OP1(NODE) (TREE_OPERAND (NODE, 1))
126
127 /* Contains the statement keyword (if/while/do) to include in an
128 error message if the user supplies an empty conditional expression. */
129 static char *cond_stmt_keyword;
130
131 static tree empty_parms PROTO((void));
132
133 /* Nonzero if we have an `extern "C"' acting as an extern specifier. */
134 int have_extern_spec;
135 int used_extern_spec;
136
137 /* Cons up an empty parameter list. */
138 #ifdef __GNUC__
139 __inline
140 #endif
141 static tree
142 empty_parms ()
143 {
144 tree parms;
145
146 if (strict_prototype
147 || current_class_type != NULL)
148 parms = void_list_node;
149 else
150 parms = NULL_TREE;
151 return parms;
152 }
153
154
155 #line 92 "parse.y"
156 typedef union {long itype; tree ttype; char *strtype; enum tree_code code; flagged_type_tree ftype; } YYSTYPE;
157 #line 282 "parse.y"
158
159 /* List of types and structure classes of the current declaration. */
160 static tree current_declspecs;
161
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;
168
169 /* When defining an aggregate, this is the kind of the most recent one
170 being defined. (For example, this might be class_type_node.) */
171 static tree current_aggr;
172
173 /* When defining an enumeration, this is the type of the enumeration. */
174 static tree current_enum_type;
175
176 /* Tell yyparse how to print a token's value, if yydebug is set. */
177
178 #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
179 extern void yyprint PROTO((FILE *, int, YYSTYPE));
180 extern tree combine_strings PROTO((tree));
181
182 static int
183 parse_decl(declarator, specs_attrs, attributes, initialized, decl)
184 tree declarator;
185 tree specs_attrs;
186 tree attributes;
187 int initialized;
188 tree* decl;
189 {
190 int sm;
191
192 split_specs_attrs (specs_attrs, &current_declspecs, &prefix_attributes);
193 if (current_declspecs
194 && TREE_CODE (current_declspecs) != TREE_LIST)
195 current_declspecs = get_decl_list (current_declspecs);
196 if (have_extern_spec && !used_extern_spec)
197 {
198 current_declspecs = decl_tree_cons (NULL_TREE,
199 get_identifier ("extern"),
200 current_declspecs);
201 used_extern_spec = 1;
202 }
203 sm = suspend_momentary ();
204 *decl = start_decl (declarator, current_declspecs, initialized,
205 attributes, prefix_attributes);
206 return sm;
207 }
208 #include <stdio.h>
209
210 #ifndef __cplusplus
211 #ifndef __STDC__
212 #define const
213 #endif
214 #endif
215
216
217
218 #define YYFINAL 1608
219 #define YYFLAG -32768
220 #define YYNTBASE 112
221
222 #define YYTRANSLATE(x) ((unsigned)(x) <= 342 ? yytranslate[x] : 395)
223
224 static const char yytranslate[] = { 0,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 110, 2, 2, 2, 82, 70, 2, 93,
229 108, 80, 78, 59, 79, 92, 81, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 62, 60, 74,
231 64, 75, 65, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
234 94, 2, 111, 69, 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, 58, 68, 109, 88, 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, 2, 2, 2, 2, 2,
247 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
248 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
249 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
250 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
251 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
252 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
253 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
254 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
255 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
256 56, 57, 61, 63, 66, 67, 71, 72, 73, 76,
257 77, 83, 84, 85, 86, 87, 89, 90, 91, 95,
258 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
259 106, 107
260 };
261
262 #if YYDEBUG != 0
263 static const short yyprhs[] = { 0,
264 0, 1, 3, 4, 7, 10, 12, 13, 14, 15,
265 17, 19, 20, 23, 26, 28, 30, 36, 41, 47,
266 52, 53, 60, 61, 67, 69, 72, 74, 77, 78,
267 85, 88, 92, 96, 100, 104, 109, 110, 116, 119,
268 123, 125, 127, 130, 133, 135, 138, 139, 145, 149,
269 151, 155, 157, 158, 161, 164, 168, 170, 174, 176,
270 180, 182, 186, 189, 192, 195, 197, 199, 205, 210,
271 213, 216, 220, 224, 227, 230, 234, 238, 241, 244,
272 247, 250, 253, 255, 257, 259, 260, 262, 265, 266,
273 268, 273, 277, 281, 282, 291, 297, 298, 308, 315,
274 316, 325, 331, 332, 342, 349, 352, 355, 357, 360,
275 362, 369, 374, 381, 386, 389, 391, 394, 397, 399,
276 402, 404, 407, 410, 415, 418, 422, 423, 424, 426,
277 430, 433, 437, 439, 444, 447, 452, 455, 460, 463,
278 465, 467, 469, 471, 473, 475, 477, 479, 481, 483,
279 485, 486, 493, 494, 501, 502, 508, 509, 515, 516,
280 524, 525, 533, 534, 541, 542, 549, 550, 551, 557,
281 563, 565, 571, 572, 574, 576, 577, 579, 581, 585,
282 587, 589, 591, 593, 595, 597, 599, 601, 603, 605,
283 607, 611, 613, 617, 618, 620, 622, 623, 631, 633,
284 635, 639, 644, 648, 649, 653, 655, 659, 663, 667,
285 671, 673, 675, 677, 680, 683, 686, 689, 692, 695,
286 698, 703, 706, 711, 714, 718, 722, 727, 733, 740,
287 747, 755, 758, 763, 769, 772, 775, 777, 778, 783,
288 788, 792, 794, 798, 801, 805, 810, 812, 815, 821,
289 823, 827, 831, 835, 839, 843, 847, 851, 855, 859,
290 863, 867, 871, 875, 879, 883, 887, 891, 895, 899,
291 905, 909, 913, 915, 918, 922, 926, 928, 930, 932,
292 934, 936, 937, 943, 949, 955, 961, 967, 969, 971,
293 973, 975, 978, 981, 985, 990, 995, 997, 999, 1001,
294 1005, 1007, 1009, 1011, 1013, 1017, 1021, 1025, 1026, 1031,
295 1036, 1039, 1044, 1047, 1052, 1055, 1058, 1060, 1065, 1067,
296 1075, 1083, 1091, 1099, 1104, 1109, 1112, 1115, 1118, 1120,
297 1125, 1128, 1131, 1137, 1141, 1144, 1147, 1153, 1157, 1163,
298 1167, 1172, 1179, 1182, 1184, 1187, 1189, 1192, 1194, 1196,
299 1198, 1201, 1202, 1205, 1208, 1212, 1216, 1220, 1223, 1226,
300 1229, 1231, 1233, 1235, 1238, 1241, 1244, 1247, 1249, 1251,
301 1253, 1255, 1258, 1261, 1265, 1269, 1273, 1278, 1280, 1283,
302 1286, 1289, 1291, 1293, 1295, 1298, 1301, 1304, 1306, 1308,
303 1311, 1314, 1318, 1320, 1323, 1325, 1327, 1329, 1334, 1339,
304 1344, 1349, 1351, 1353, 1355, 1357, 1361, 1363, 1367, 1369,
305 1373, 1374, 1379, 1380, 1387, 1391, 1392, 1397, 1399, 1403,
306 1407, 1408, 1413, 1417, 1418, 1420, 1422, 1425, 1432, 1434,
307 1438, 1439, 1441, 1446, 1453, 1458, 1460, 1462, 1464, 1466,
308 1468, 1472, 1473, 1476, 1478, 1481, 1485, 1490, 1492, 1494,
309 1498, 1503, 1507, 1513, 1515, 1520, 1524, 1528, 1529, 1533,
310 1537, 1541, 1542, 1545, 1548, 1549, 1557, 1562, 1563, 1570,
311 1574, 1577, 1580, 1583, 1584, 1585, 1595, 1597, 1598, 1600,
312 1601, 1603, 1605, 1608, 1611, 1614, 1617, 1620, 1623, 1626,
313 1629, 1632, 1636, 1641, 1645, 1648, 1652, 1653, 1655, 1659,
314 1662, 1665, 1667, 1669, 1670, 1673, 1677, 1679, 1684, 1686,
315 1690, 1692, 1694, 1699, 1704, 1707, 1710, 1714, 1718, 1720,
316 1721, 1723, 1726, 1731, 1735, 1737, 1740, 1743, 1746, 1749,
317 1752, 1755, 1758, 1760, 1763, 1766, 1770, 1773, 1776, 1781,
318 1786, 1789, 1791, 1797, 1802, 1804, 1805, 1807, 1811, 1812,
319 1814, 1818, 1820, 1822, 1824, 1826, 1831, 1836, 1841, 1846,
320 1851, 1855, 1860, 1865, 1870, 1875, 1879, 1881, 1885, 1887,
321 1891, 1894, 1896, 1904, 1905, 1908, 1910, 1913, 1914, 1917,
322 1922, 1927, 1930, 1935, 1939, 1943, 1946, 1949, 1953, 1955,
323 1957, 1960, 1962, 1964, 1967, 1970, 1975, 1980, 1984, 1988,
324 1991, 1993, 1997, 2001, 2004, 2007, 2011, 2013, 2017, 2021,
325 2024, 2027, 2031, 2033, 2038, 2042, 2047, 2051, 2053, 2056,
326 2059, 2062, 2065, 2068, 2070, 2073, 2078, 2083, 2086, 2088,
327 2090, 2092, 2094, 2097, 2102, 2105, 2108, 2111, 2114, 2116,
328 2119, 2122, 2125, 2128, 2132, 2134, 2137, 2141, 2146, 2149,
329 2152, 2155, 2158, 2161, 2164, 2169, 2172, 2174, 2177, 2180,
330 2184, 2186, 2190, 2193, 2197, 2200, 2203, 2207, 2209, 2213,
331 2218, 2222, 2225, 2228, 2230, 2234, 2237, 2240, 2242, 2245,
332 2249, 2251, 2255, 2257, 2264, 2269, 2274, 2278, 2284, 2288,
333 2292, 2296, 2299, 2301, 2303, 2306, 2309, 2312, 2313, 2315,
334 2317, 2320, 2324, 2326, 2329, 2330, 2334, 2335, 2336, 2342,
335 2344, 2345, 2348, 2350, 2352, 2354, 2357, 2358, 2363, 2365,
336 2366, 2367, 2373, 2374, 2375, 2383, 2384, 2385, 2386, 2387,
337 2400, 2401, 2402, 2410, 2411, 2417, 2418, 2426, 2427, 2432,
338 2435, 2438, 2441, 2445, 2452, 2461, 2472, 2485, 2490, 2494,
339 2497, 2500, 2502, 2504, 2506, 2508, 2510, 2511, 2512, 2519,
340 2520, 2521, 2527, 2529, 2532, 2533, 2534, 2540, 2542, 2544,
341 2548, 2552, 2555, 2558, 2561, 2564, 2567, 2569, 2572, 2573,
342 2575, 2576, 2578, 2580, 2581, 2583, 2585, 2589, 2594, 2596,
343 2600, 2601, 2603, 2605, 2607, 2610, 2613, 2616, 2618, 2621,
344 2624, 2625, 2629, 2631, 2633, 2635, 2638, 2641, 2644, 2649,
345 2652, 2655, 2658, 2661, 2664, 2667, 2669, 2672, 2674, 2677,
346 2679, 2681, 2682, 2683, 2685, 2686, 2691, 2694, 2696, 2698,
347 2702, 2703, 2707, 2711, 2715, 2717, 2720, 2723, 2726, 2729,
348 2732, 2735, 2738, 2741, 2744, 2747, 2750, 2753, 2756, 2759,
349 2762, 2765, 2768, 2771, 2774, 2777, 2780, 2783, 2786, 2790,
350 2793, 2796, 2799, 2802, 2806, 2809, 2812, 2817, 2822, 2826
351 };
352
353 static const short yyrhs[] = { -1,
354 113, 0, 0, 114, 120, 0, 113, 120, 0, 113,
355 0, 0, 0, 0, 32, 0, 27, 0, 0, 121,
356 122, 0, 148, 147, 0, 144, 0, 141, 0, 119,
357 93, 217, 108, 60, 0, 133, 58, 115, 109, 0,
358 133, 116, 148, 117, 147, 0, 133, 116, 144, 117,
359 0, 0, 44, 163, 58, 123, 115, 109, 0, 0,
360 44, 58, 124, 115, 109, 0, 125, 0, 127, 60,
361 0, 129, 0, 118, 122, 0, 0, 44, 163, 64,
362 126, 132, 60, 0, 46, 309, 0, 46, 323, 309,
363 0, 46, 323, 208, 0, 46, 131, 163, 0, 46,
364 323, 163, 0, 46, 323, 131, 163, 0, 0, 46,
365 44, 130, 132, 60, 0, 57, 54, 0, 131, 57,
366 54, 0, 208, 0, 309, 0, 323, 309, 0, 323,
367 208, 0, 98, 0, 133, 98, 0, 0, 48, 74,
368 135, 136, 75, 0, 48, 74, 75, 0, 140, 0,
369 136, 59, 140, 0, 163, 0, 0, 266, 137, 0,
370 45, 137, 0, 134, 266, 137, 0, 138, 0, 138,
371 64, 223, 0, 386, 0, 386, 64, 203, 0, 139,
372 0, 139, 64, 183, 0, 134, 142, 0, 134, 1,
373 0, 148, 147, 0, 143, 0, 141, 0, 133, 116,
374 148, 117, 147, 0, 133, 116, 143, 117, 0, 118,
375 142, 0, 234, 60, 0, 227, 233, 60, 0, 224,
376 232, 60, 0, 259, 60, 0, 234, 60, 0, 227,
377 233, 60, 0, 224, 232, 60, 0, 227, 60, 0,
378 166, 60, 0, 224, 60, 0, 1, 60, 0, 1,
379 109, 0, 60, 0, 218, 0, 159, 0, 0, 158,
380 0, 158, 60, 0, 0, 107, 0, 154, 146, 145,
381 333, 0, 154, 146, 357, 0, 154, 146, 1, 0,
382 0, 314, 5, 93, 150, 377, 108, 296, 389, 0,
383 314, 5, 47, 296, 389, 0, 0, 323, 314, 5,
384 93, 151, 377, 108, 296, 389, 0, 323, 314, 5,
385 47, 296, 389, 0, 0, 314, 178, 93, 152, 377,
386 108, 296, 389, 0, 314, 178, 47, 296, 389, 0,
387 0, 323, 314, 178, 93, 153, 377, 108, 296, 389,
388 0, 323, 314, 178, 47, 296, 389, 0, 224, 221,
389 0, 227, 306, 0, 306, 0, 227, 149, 0, 149,
390 0, 5, 93, 377, 108, 296, 389, 0, 5, 47,
391 296, 389, 0, 178, 93, 377, 108, 296, 389, 0,
392 178, 47, 296, 389, 0, 227, 155, 0, 155, 0,
393 224, 221, 0, 227, 306, 0, 306, 0, 227, 149,
394 0, 149, 0, 25, 3, 0, 157, 251, 0, 157,
395 93, 195, 108, 0, 157, 47, 0, 62, 160, 161,
396 0, 0, 0, 162, 0, 161, 59, 162, 0, 161,
397 1, 0, 93, 195, 108, 0, 47, 0, 164, 93,
398 195, 108, 0, 164, 47, 0, 302, 93, 195, 108,
399 0, 302, 47, 0, 316, 93, 195, 108, 0, 316,
400 47, 0, 3, 0, 4, 0, 5, 0, 56, 0,
401 57, 0, 3, 0, 56, 0, 57, 0, 104, 0,
402 103, 0, 105, 0, 0, 48, 175, 230, 60, 167,
403 176, 0, 0, 48, 175, 224, 221, 168, 176, 0,
404 0, 48, 175, 306, 169, 176, 0, 0, 48, 175,
405 149, 170, 176, 0, 0, 7, 48, 175, 230, 60,
406 171, 176, 0, 0, 7, 48, 175, 224, 221, 172,
407 176, 0, 0, 7, 48, 175, 306, 173, 176, 0,
408 0, 7, 48, 175, 149, 174, 176, 0, 0, 0,
409 56, 74, 181, 180, 179, 0, 4, 74, 181, 180,
410 179, 0, 178, 0, 5, 74, 181, 180, 179, 0,
411 0, 75, 0, 77, 0, 0, 182, 0, 183, 0,
412 182, 59, 183, 0, 223, 0, 56, 0, 203, 0,
413 79, 0, 78, 0, 86, 0, 87, 0, 110, 0,
414 194, 0, 203, 0, 47, 0, 93, 185, 108, 0,
415 47, 0, 93, 189, 108, 0, 0, 189, 0, 1,
416 0, 0, 367, 221, 235, 244, 64, 190, 252, 0,
417 185, 0, 109, 0, 330, 328, 109, 0, 330, 328,
418 1, 109, 0, 330, 1, 109, 0, 0, 58, 193,
419 191, 0, 342, 0, 203, 59, 203, 0, 203, 59,
420 1, 0, 194, 59, 203, 0, 194, 59, 1, 0,
421 203, 0, 194, 0, 212, 0, 118, 202, 0, 80,
422 202, 0, 70, 202, 0, 88, 202, 0, 184, 202,
423 0, 67, 163, 0, 13, 196, 0, 13, 93, 223,
424 108, 0, 29, 196, 0, 29, 93, 223, 108, 0,
425 214, 295, 0, 214, 295, 200, 0, 214, 199, 295,
426 0, 214, 199, 295, 200, 0, 214, 93, 198, 223,
427 197, 0, 214, 93, 198, 223, 197, 200, 0, 214,
428 199, 93, 198, 223, 197, 0, 214, 199, 93, 198,
429 223, 197, 200, 0, 215, 202, 0, 215, 94, 111,
430 202, 0, 215, 94, 185, 111, 202, 0, 34, 202,
431 0, 35, 202, 0, 108, 0, 0, 93, 198, 195,
432 108, 0, 58, 198, 195, 109, 0, 93, 195, 108,
433 0, 47, 0, 93, 230, 108, 0, 64, 252, 0,
434 93, 223, 108, 0, 201, 93, 223, 108, 0, 196,
435 0, 201, 196, 0, 201, 58, 253, 264, 109, 0,
436 202, 0, 203, 83, 203, 0, 203, 84, 203, 0,
437 203, 78, 203, 0, 203, 79, 203, 0, 203, 80,
438 203, 0, 203, 81, 203, 0, 203, 82, 203, 0,
439 203, 76, 203, 0, 203, 77, 203, 0, 203, 73,
440 203, 0, 203, 74, 203, 0, 203, 75, 203, 0,
441 203, 72, 203, 0, 203, 71, 203, 0, 203, 70,
442 203, 0, 203, 68, 203, 0, 203, 69, 203, 0,
443 203, 67, 203, 0, 203, 66, 203, 0, 203, 65,
444 372, 62, 203, 0, 203, 64, 203, 0, 203, 63,
445 203, 0, 61, 0, 61, 203, 0, 88, 387, 163,
446 0, 88, 387, 177, 0, 206, 0, 394, 0, 3,
447 0, 56, 0, 57, 0, 0, 6, 74, 205, 181,
448 180, 0, 394, 74, 205, 181, 180, 0, 48, 163,
449 74, 181, 180, 0, 48, 6, 74, 181, 180, 0,
450 48, 394, 74, 181, 180, 0, 204, 0, 4, 0,
451 5, 0, 204, 0, 80, 209, 0, 70, 209, 0,
452 93, 209, 108, 0, 3, 74, 181, 180, 0, 57,
453 74, 182, 180, 0, 308, 0, 204, 0, 210, 0,
454 93, 209, 108, 0, 204, 0, 10, 0, 216, 0,
455 217, 0, 93, 185, 108, 0, 93, 209, 108, 0,
456 93, 1, 108, 0, 0, 93, 213, 334, 108, 0,
457 204, 93, 195, 108, 0, 204, 47, 0, 212, 93,
458 195, 108, 0, 212, 47, 0, 212, 94, 185, 111,
459 0, 212, 86, 0, 212, 87, 0, 40, 0, 9,
460 93, 195, 108, 0, 312, 0, 50, 74, 223, 75,
461 93, 185, 108, 0, 51, 74, 223, 75, 93, 185,
462 108, 0, 52, 74, 223, 75, 93, 185, 108, 0,
463 53, 74, 223, 75, 93, 185, 108, 0, 49, 93,
464 185, 108, 0, 49, 93, 223, 108, 0, 323, 3,
465 0, 323, 206, 0, 323, 394, 0, 311, 0, 311,
466 93, 195, 108, 0, 311, 47, 0, 219, 207, 0,
467 219, 207, 93, 195, 108, 0, 219, 207, 47, 0,
468 219, 208, 0, 219, 311, 0, 219, 208, 93, 195,
469 108, 0, 219, 208, 47, 0, 219, 311, 93, 195,
470 108, 0, 219, 311, 47, 0, 219, 88, 8, 47,
471 0, 219, 8, 54, 88, 8, 47, 0, 219, 1,
472 0, 39, 0, 323, 39, 0, 38, 0, 323, 215,
473 0, 42, 0, 43, 0, 11, 0, 217, 11, 0,
474 0, 212, 92, 0, 212, 91, 0, 230, 232, 60,
475 0, 224, 232, 60, 0, 227, 233, 60, 0, 224,
476 60, 0, 227, 60, 0, 118, 220, 0, 301, 0,
477 306, 0, 47, 0, 222, 47, 0, 228, 326, 0,
478 297, 326, 0, 230, 326, 0, 228, 0, 297, 0,
479 228, 0, 225, 0, 227, 230, 0, 230, 226, 0,
480 230, 229, 226, 0, 227, 230, 226, 0, 227, 230,
481 229, 0, 227, 230, 229, 226, 0, 7, 0, 226,
482 231, 0, 226, 7, 0, 226, 245, 0, 245, 0,
483 297, 0, 7, 0, 227, 9, 0, 227, 7, 0,
484 227, 245, 0, 245, 0, 230, 0, 297, 230, 0,
485 230, 229, 0, 297, 230, 229, 0, 231, 0, 229,
486 231, 0, 259, 0, 8, 0, 303, 0, 28, 93,
487 185, 108, 0, 28, 93, 223, 108, 0, 30, 93,
488 185, 108, 0, 30, 93, 223, 108, 0, 8, 0,
489 9, 0, 259, 0, 240, 0, 232, 59, 236, 0,
490 241, 0, 233, 59, 236, 0, 242, 0, 234, 59,
491 236, 0, 0, 119, 93, 217, 108, 0, 0, 221,
492 235, 244, 64, 237, 252, 0, 221, 235, 244, 0,
493 0, 244, 64, 239, 252, 0, 244, 0, 221, 235,
494 238, 0, 306, 235, 238, 0, 0, 306, 235, 243,
495 238, 0, 149, 235, 244, 0, 0, 245, 0, 246,
496 0, 245, 246, 0, 31, 93, 93, 247, 108, 108,
497 0, 248, 0, 247, 59, 248, 0, 0, 249, 0,
498 249, 93, 3, 108, 0, 249, 93, 3, 59, 195,
499 108, 0, 249, 93, 195, 108, 0, 163, 0, 7,
500 0, 8, 0, 9, 0, 163, 0, 250, 59, 163,
501 0, 0, 64, 252, 0, 203, 0, 58, 109, 0,
502 58, 253, 109, 0, 58, 253, 59, 109, 0, 1,
503 0, 252, 0, 253, 59, 252, 0, 94, 203, 111,
504 252, 0, 163, 62, 252, 0, 253, 59, 163, 62,
505 252, 0, 97, 0, 254, 146, 145, 333, 0, 254,
506 146, 357, 0, 254, 146, 1, 0, 0, 256, 255,
507 147, 0, 102, 203, 107, 0, 102, 1, 107, 0,
508 0, 258, 257, 0, 258, 1, 0, 0, 14, 163,
509 58, 260, 293, 265, 109, 0, 14, 163, 58, 109,
510 0, 0, 14, 58, 261, 293, 265, 109, 0, 14,
511 58, 109, 0, 14, 163, 0, 14, 321, 0, 45,
512 316, 0, 0, 0, 273, 279, 281, 109, 244, 262,
513 258, 263, 256, 0, 273, 0, 0, 59, 0, 0,
514 59, 0, 36, 0, 266, 7, 0, 266, 8, 0,
515 266, 9, 0, 266, 36, 0, 266, 245, 0, 266,
516 163, 0, 266, 165, 0, 267, 58, 0, 267, 62,
517 0, 266, 314, 163, 0, 266, 323, 314, 163, 0,
518 266, 323, 163, 0, 266, 177, 0, 266, 314, 177,
519 0, 0, 267, 0, 268, 270, 274, 0, 269, 274,
520 0, 266, 58, 0, 272, 0, 271, 0, 0, 62,
521 387, 0, 62, 387, 275, 0, 276, 0, 275, 59,
522 387, 276, 0, 277, 0, 278, 387, 277, 0, 316,
523 0, 302, 0, 30, 93, 185, 108, 0, 30, 93,
524 223, 108, 0, 37, 387, 0, 7, 387, 0, 278,
525 37, 387, 0, 278, 7, 387, 0, 58, 0, 0,
526 280, 0, 280, 282, 0, 281, 37, 62, 282, 0,
527 281, 37, 62, 0, 283, 0, 282, 283, 0, 284,
528 60, 0, 284, 109, 0, 156, 62, 0, 156, 95,
529 0, 156, 25, 0, 156, 58, 0, 60, 0, 118,
530 283, 0, 134, 283, 0, 134, 224, 60, 0, 224,
531 285, 0, 227, 286, 0, 306, 235, 244, 251, 0,
532 149, 235, 244, 251, 0, 62, 203, 0, 1, 0,
533 227, 155, 235, 244, 251, 0, 155, 235, 244, 251,
534 0, 127, 0, 0, 287, 0, 285, 59, 288, 0,
535 0, 290, 0, 286, 59, 292, 0, 289, 0, 290,
536 0, 291, 0, 292, 0, 301, 235, 244, 251, 0,
537 4, 62, 203, 244, 0, 306, 235, 244, 251, 0,
538 149, 235, 244, 251, 0, 3, 62, 203, 244, 0,
539 62, 203, 244, 0, 301, 235, 244, 251, 0, 4,
540 62, 203, 244, 0, 306, 235, 244, 251, 0, 3,
541 62, 203, 244, 0, 62, 203, 244, 0, 294, 0,
542 293, 59, 294, 0, 163, 0, 163, 64, 203, 0,
543 367, 324, 0, 367, 0, 93, 198, 223, 197, 94,
544 185, 111, 0, 0, 296, 9, 0, 9, 0, 297,
545 9, 0, 0, 298, 185, 0, 298, 93, 195, 108,
546 0, 298, 93, 377, 108, 0, 298, 47, 0, 298,
547 93, 1, 108, 0, 80, 297, 301, 0, 70, 297,
548 301, 0, 80, 301, 0, 70, 301, 0, 322, 296,
549 301, 0, 305, 0, 313, 0, 323, 313, 0, 302,
550 0, 304, 0, 323, 304, 0, 314, 313, 0, 305,
551 300, 296, 389, 0, 305, 94, 299, 111, 0, 305,
552 94, 111, 0, 93, 301, 108, 0, 314, 313, 0,
553 313, 0, 80, 297, 306, 0, 70, 297, 306, 0,
554 80, 306, 0, 70, 306, 0, 322, 296, 306, 0,
555 211, 0, 80, 297, 306, 0, 70, 297, 306, 0,
556 80, 307, 0, 70, 307, 0, 322, 296, 306, 0,
557 308, 0, 211, 300, 296, 389, 0, 93, 307, 108,
558 0, 211, 94, 299, 111, 0, 211, 94, 111, 0,
559 310, 0, 314, 210, 0, 314, 208, 0, 314, 207,
560 0, 314, 204, 0, 314, 207, 0, 310, 0, 323,
561 310, 0, 230, 93, 195, 108, 0, 230, 93, 209,
562 108, 0, 230, 222, 0, 4, 0, 5, 0, 177,
563 0, 315, 0, 314, 315, 0, 314, 48, 320, 54,
564 0, 4, 54, 0, 5, 54, 0, 57, 54, 0,
565 177, 54, 0, 317, 0, 323, 317, 0, 318, 163,
566 0, 318, 177, 0, 318, 320, 0, 318, 48, 320,
567 0, 319, 0, 318, 319, 0, 318, 320, 54, 0,
568 318, 48, 320, 54, 0, 4, 54, 0, 5, 54,
569 0, 177, 54, 0, 56, 54, 0, 3, 54, 0,
570 57, 54, 0, 163, 74, 181, 180, 0, 323, 313,
571 0, 304, 0, 323, 304, 0, 314, 80, 0, 323,
572 314, 80, 0, 54, 0, 80, 296, 324, 0, 80,
573 296, 0, 70, 296, 324, 0, 70, 296, 0, 322,
574 296, 0, 322, 296, 324, 0, 325, 0, 94, 185,
575 111, 0, 325, 94, 299, 111, 0, 80, 297, 326,
576 0, 80, 326, 0, 80, 297, 0, 80, 0, 70,
577 297, 326, 0, 70, 326, 0, 70, 297, 0, 70,
578 0, 322, 296, 0, 322, 296, 326, 0, 327, 0,
579 93, 326, 108, 0, 90, 0, 327, 93, 377, 108,
580 296, 389, 0, 327, 47, 296, 389, 0, 327, 94,
581 299, 111, 0, 327, 94, 111, 0, 93, 378, 108,
582 296, 389, 0, 201, 296, 389, 0, 222, 296, 389,
583 0, 94, 299, 111, 0, 94, 111, 0, 341, 0,
584 329, 0, 328, 341, 0, 328, 329, 0, 1, 60,
585 0, 0, 331, 0, 332, 0, 331, 332, 0, 33,
586 250, 60, 0, 334, 0, 1, 334, 0, 0, 58,
587 335, 191, 0, 0, 0, 15, 337, 187, 338, 339,
588 0, 334, 0, 0, 340, 342, 0, 334, 0, 342,
589 0, 220, 0, 185, 60, 0, 0, 336, 16, 343,
590 339, 0, 336, 0, 0, 0, 17, 344, 187, 345,
591 192, 0, 0, 0, 18, 346, 339, 17, 347, 186,
592 60, 0, 0, 0, 0, 0, 19, 348, 93, 370,
593 349, 188, 60, 350, 372, 108, 351, 192, 0, 0,
594 0, 20, 352, 93, 189, 108, 353, 339, 0, 0,
595 21, 203, 62, 354, 341, 0, 0, 21, 203, 12,
596 203, 62, 355, 341, 0, 0, 22, 62, 356, 341,
597 0, 23, 60, 0, 24, 60, 0, 25, 60, 0,
598 25, 185, 60, 0, 119, 371, 93, 217, 108, 60,
599 0, 119, 371, 93, 217, 62, 373, 108, 60, 0,
600 119, 371, 93, 217, 62, 373, 62, 373, 108, 60,
601 0, 119, 371, 93, 217, 62, 373, 62, 373, 62,
602 376, 108, 60, 0, 26, 80, 185, 60, 0, 26,
603 163, 60, 0, 369, 341, 0, 369, 109, 0, 60,
604 0, 360, 0, 129, 0, 128, 0, 125, 0, 0,
605 0, 95, 358, 145, 334, 359, 363, 0, 0, 0,
606 95, 361, 334, 362, 363, 0, 364, 0, 363, 364,
607 0, 0, 0, 96, 365, 368, 366, 334, 0, 228,
608 0, 297, 0, 93, 12, 108, 0, 93, 386, 108,
609 0, 3, 62, 0, 56, 62, 0, 4, 62, 0,
610 5, 62, 0, 372, 60, 0, 220, 0, 58, 191,
611 0, 0, 9, 0, 0, 185, 0, 1, 0, 0,
612 374, 0, 375, 0, 374, 59, 375, 0, 11, 93,
613 185, 108, 0, 11, 0, 376, 59, 11, 0, 0,
614 378, 0, 223, 0, 382, 0, 383, 12, 0, 382,
615 12, 0, 223, 12, 0, 12, 0, 382, 62, 0,
616 223, 62, 0, 0, 64, 380, 381, 0, 101, 0,
617 252, 0, 384, 0, 386, 379, 0, 383, 385, 0,
618 383, 388, 0, 383, 388, 64, 252, 0, 382, 59,
619 0, 223, 59, 0, 225, 221, 0, 228, 221, 0,
620 230, 221, 0, 225, 326, 0, 225, 0, 227, 306,
621 0, 386, 0, 386, 379, 0, 384, 0, 223, 0,
622 0, 0, 306, 0, 0, 61, 93, 391, 108, 0,
623 61, 47, 0, 223, 0, 390, 0, 391, 59, 390,
624 0, 0, 80, 296, 392, 0, 70, 296, 392, 0,
625 322, 296, 392, 0, 41, 0, 393, 80, 0, 393,
626 81, 0, 393, 82, 0, 393, 78, 0, 393, 79,
627 0, 393, 70, 0, 393, 68, 0, 393, 69, 0,
628 393, 88, 0, 393, 59, 0, 393, 73, 0, 393,
629 74, 0, 393, 75, 0, 393, 72, 0, 393, 63,
630 0, 393, 64, 0, 393, 76, 0, 393, 77, 0,
631 393, 86, 0, 393, 87, 0, 393, 67, 0, 393,
632 66, 0, 393, 110, 0, 393, 65, 62, 0, 393,
633 71, 0, 393, 91, 0, 393, 83, 0, 393, 47,
634 0, 393, 94, 111, 0, 393, 39, 0, 393, 38,
635 0, 393, 39, 94, 111, 0, 393, 38, 94, 111,
636 0, 393, 367, 392, 0, 393, 1, 0
637 };
638
639 #endif
640
641 #if YYDEBUG != 0
642 static const short yyrline[] = { 0,
643 335, 337, 345, 348, 349, 353, 355, 358, 363, 367,
644 373, 377, 380, 384, 387, 389, 391, 394, 396, 399,
645 402, 404, 406, 408, 410, 411, 413, 414, 418, 421,
646 430, 433, 435, 439, 442, 444, 448, 451, 463, 470,
647 478, 480, 481, 483, 487, 490, 496, 499, 501, 506,
648 509, 513, 516, 519, 522, 526, 531, 541, 543, 545,
649 547, 549, 562, 565, 569, 572, 574, 576, 579, 582,
650 586, 588, 590, 592, 597, 599, 601, 603, 605, 606,
651 613, 614, 615, 618, 621, 625, 627, 628, 631, 633,
652 636, 639, 641, 645, 648, 650, 654, 656, 658, 662,
653 664, 666, 670, 672, 674, 680, 684, 687, 690, 693,
654 698, 701, 703, 705, 711, 721, 723, 726, 729, 731,
655 734, 738, 747, 750, 752, 756, 769, 789, 792, 794,
656 795, 798, 805, 811, 813, 815, 817, 819, 822, 827,
657 829, 830, 831, 832, 835, 837, 838, 841, 843, 844,
658 847, 852, 852, 856, 856, 859, 859, 862, 862, 866,
659 866, 871, 871, 874, 874, 877, 879, 882, 889, 893,
660 896, 899, 905, 914, 916, 924, 927, 930, 933, 937,
661 940, 942, 945, 948, 950, 952, 954, 958, 961, 964,
662 969, 973, 978, 982, 985, 986, 990, 1009, 1016, 1019,
663 1021, 1022, 1023, 1026, 1030, 1031, 1035, 1039, 1042, 1044,
664 1048, 1051, 1054, 1058, 1061, 1063, 1065, 1067, 1070, 1074,
665 1076, 1078, 1080, 1086, 1089, 1092, 1095, 1107, 1112, 1116,
666 1120, 1125, 1127, 1131, 1135, 1137, 1146, 1150, 1153, 1156,
667 1161, 1164, 1166, 1174, 1187, 1192, 1198, 1200, 1202, 1215,
668 1218, 1220, 1222, 1224, 1226, 1228, 1230, 1232, 1234, 1236,
669 1238, 1240, 1242, 1244, 1246, 1248, 1250, 1252, 1254, 1256,
670 1258, 1262, 1264, 1266, 1283, 1286, 1288, 1289, 1290, 1291,
671 1292, 1295, 1298, 1301, 1305, 1308, 1310, 1315, 1317, 1318,
672 1321, 1323, 1325, 1327, 1331, 1334, 1338, 1342, 1343, 1344,
673 1348, 1356, 1357, 1358, 1372, 1374, 1377, 1379, 1390, 1395,
674 1397, 1399, 1401, 1403, 1405, 1407, 1410, 1412, 1456, 1457,
675 1461, 1465, 1469, 1473, 1475, 1479, 1481, 1483, 1491, 1493,
676 1495, 1497, 1501, 1503, 1505, 1507, 1512, 1514, 1516, 1518,
677 1521, 1523, 1525, 1569, 1572, 1576, 1579, 1583, 1586, 1591,
678 1593, 1597, 1610, 1613, 1620, 1627, 1632, 1634, 1639, 1641,
679 1648, 1650, 1654, 1658, 1664, 1668, 1671, 1674, 1677, 1687,
680 1689, 1692, 1696, 1699, 1702, 1705, 1708, 1714, 1720, 1722,
681 1727, 1729, 1738, 1741, 1743, 1746, 1752, 1754, 1764, 1768,
682 1771, 1774, 1779, 1782, 1790, 1792, 1794, 1796, 1799, 1802,
683 1817, 1836, 1839, 1841, 1844, 1846, 1849, 1851, 1854, 1856,
684 1859, 1862, 1866, 1872, 1873, 1885, 1892, 1895, 1901, 1905,
685 1910, 1916, 1917, 1925, 1928, 1932, 1935, 1939, 1944, 1947,
686 1951, 1954, 1956, 1958, 1960, 1967, 1969, 1970, 1971, 1975,
687 1978, 1982, 1985, 1991, 1993, 1996, 1999, 2002, 2008, 2011,
688 2014, 2016, 2018, 2022, 2028, 2036, 2038, 2042, 2044, 2049,
689 2052, 2055, 2057, 2059, 2063, 2068, 2075, 2079, 2083, 2090,
690 2094, 2097, 2100, 2106, 2118, 2120, 2123, 2143, 2145, 2148,
691 2150, 2155, 2157, 2159, 2161, 2163, 2165, 2169, 2174, 2177,
692 2179, 2183, 2189, 2194, 2199, 2201, 2205, 2210, 2213, 2220,
693 2237, 2243, 2245, 2248, 2251, 2253, 2257, 2259, 2263, 2268,
694 2274, 2277, 2278, 2299, 2322, 2324, 2328, 2339, 2353, 2358,
695 2365, 2368, 2376, 2387, 2396, 2400, 2415, 2418, 2423, 2425,
696 2427, 2429, 2431, 2433, 2436, 2438, 2442, 2448, 2450, 2453,
697 2456, 2458, 2469, 2474, 2477, 2482, 2485, 2486, 2497, 2500,
698 2501, 2512, 2514, 2517, 2519, 2522, 2529, 2537, 2544, 2550,
699 2556, 2564, 2568, 2573, 2577, 2580, 2589, 2591, 2595, 2598,
700 2603, 2607, 2613, 2624, 2627, 2631, 2635, 2643, 2648, 2654,
701 2657, 2659, 2661, 2667, 2670, 2672, 2674, 2676, 2680, 2683,
702 2701, 2711, 2713, 2714, 2718, 2723, 2726, 2728, 2730, 2732,
703 2736, 2742, 2745, 2747, 2749, 2751, 2755, 2758, 2761, 2763,
704 2765, 2767, 2771, 2774, 2777, 2779, 2781, 2783, 2785, 2792,
705 2796, 2801, 2805, 2810, 2812, 2816, 2819, 2821, 2824, 2826,
706 2827, 2830, 2832, 2834, 2840, 2855, 2861, 2867, 2881, 2883,
707 2887, 2901, 2903, 2905, 2909, 2915, 2928, 2930, 2934, 2947,
708 2953, 2955, 2956, 2957, 2965, 2970, 2979, 2980, 2984, 2987,
709 2993, 2999, 3002, 3004, 3006, 3008, 3012, 3016, 3020, 3023,
710 3028, 3031, 3033, 3035, 3037, 3039, 3041, 3043, 3045, 3049,
711 3053, 3057, 3061, 3062, 3064, 3066, 3068, 3070, 3072, 3074,
712 3076, 3078, 3086, 3088, 3089, 3090, 3093, 3099, 3101, 3106,
713 3108, 3111, 3125, 3128, 3131, 3135, 3138, 3145, 3147, 3150,
714 3152, 3154, 3157, 3160, 3163, 3166, 3168, 3171, 3175, 3177,
715 3183, 3185, 3186, 3188, 3193, 3195, 3197, 3199, 3201, 3204,
716 3205, 3207, 3210, 3211, 3214, 3214, 3217, 3217, 3220, 3220,
717 3222, 3224, 3226, 3228, 3234, 3240, 3243, 3246, 3252, 3254,
718 3256, 3260, 3262, 3263, 3264, 3266, 3269, 3276, 3281, 3289,
719 3293, 3295, 3298, 3300, 3303, 3307, 3309, 3312, 3314, 3317,
720 3334, 3340, 3348, 3350, 3352, 3356, 3359, 3360, 3368, 3372,
721 3376, 3379, 3380, 3386, 3389, 3392, 3394, 3398, 3403, 3406,
722 3416, 3421, 3422, 3429, 3432, 3435, 3437, 3440, 3442, 3452,
723 3466, 3470, 3473, 3475, 3479, 3483, 3486, 3489, 3491, 3495,
724 3497, 3504, 3511, 3514, 3517, 3521, 3525, 3531, 3535, 3540,
725 3542, 3545, 3550, 3556, 3567, 3570, 3572, 3576, 3581, 3583,
726 3590, 3593, 3595, 3597, 3603, 3608, 3611, 3613, 3615, 3617,
727 3619, 3621, 3623, 3625, 3627, 3629, 3631, 3633, 3635, 3637,
728 3639, 3641, 3643, 3645, 3647, 3649, 3651, 3653, 3655, 3657,
729 3659, 3661, 3663, 3665, 3667, 3669, 3671, 3673, 3676, 3678
730 };
731 #endif
732
733
734 #if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
735
736 static const char * const yytname[] = { "$","error","$undefined.","IDENTIFIER",
737 "TYPENAME","SELFNAME","PFUNCNAME","SCSPEC","TYPESPEC","CV_QUALIFIER","CONSTANT",
738 "STRING","ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH",
739 "CASE","DEFAULT","BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF",
740 "SIGOF","ATTRIBUTE","EXTENSION","LABEL","REALPART","IMAGPART","AGGR","VISSPEC",
741 "DELETE","NEW","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD",
742 "USING","LEFT_RIGHT","TEMPLATE","TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST",
743 "CONST_CAST","SCOPE","EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW",
744 "':'","ASSIGN","'='","'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE",
745 "ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
746 "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
747 "POINTSAT","'.'","'('","'['","TRY","CATCH","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
748 "ALL","PRE_PARSED_CLASS_DECL","DEFARG","DEFARG_MARKER","TYPENAME_DEFN","IDENTIFIER_DEFN",
749 "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
750 "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","extension",
751 "asm_keyword","lang_extdef","@2","extdef","@3","@4","namespace_alias","@5","using_decl",
752 "namespace_using_decl","using_directive","@6","namespace_qualifier","any_id",
753 "extern_lang_string","template_header","@7","template_parm_list","maybe_identifier",
754 "template_type_parm","template_template_parm","template_parm","template_def",
755 "template_extdef","template_datadef","datadef","ctor_initializer_opt","maybe_return_init",
756 "eat_saved_input","fndef","constructor_declarator","@8","@9","@10","@11","fn.def1",
757 "component_constructor_declarator","fn.def2","return_id","return_init","base_init",
758 ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
759 "identifier_defn","explicit_instantiation","@12","@13","@14","@15","@16","@17",
760 "@18","@19","begin_explicit_instantiation","end_explicit_instantiation","template_type",
761 "self_template_type",".finish_template_type","template_close_bracket","template_arg_list_opt",
762 "template_arg_list","template_arg","unop","expr","paren_expr_or_null","paren_cond_or_null",
763 "xcond","condition","@20","compstmtend","already_scoped_stmt","@21","nontrivial_exprlist",
764 "nonnull_exprlist","unary_expr",".finish_new_placement",".begin_new_placement",
765 "new_placement","new_initializer","regcast_or_absdcl","cast_expr","expr_no_commas",
766 "notype_unqualified_id","do_id","template_id","object_template_id","unqualified_id",
767 "expr_or_declarator","notype_template_declarator","direct_notype_declarator",
768 "primary","@22","new","delete","boolean.literal","string","nodecls","object",
769 "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
770 "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
771 "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
772 "initdcl","@23","initdcl0_innards","@24","initdcl0","notype_initdcl0","nomods_initdcl0",
773 "@25","maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
774 "identifiers_or_typenames","maybe_init","init","initlist","fn.defpen","pending_inline",
775 "pending_inlines","defarg_again","pending_defargs","structsp","@26","@27","@28",
776 "@29","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
777 "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
778 "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
779 "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
780 "self_reference","opt.component_decl_list","component_decl_list","component_decl",
781 "component_decl_1","components","notype_components","component_declarator0",
782 "component_declarator","after_type_component_declarator0","notype_component_declarator0",
783 "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
784 "new_type_id","cv_qualifiers","nonempty_cv_qualifiers","suspend_mom","nonmomentary_expr",
785 "maybe_parmlist","after_type_declarator","nonnested_type","complete_type_name",
786 "nested_type","direct_after_type_declarator","notype_declarator","complex_notype_declarator",
787 "complex_direct_notype_declarator","qualified_id","notype_qualified_id","overqualified_id",
788 "functional_cast","type_name","nested_name_specifier","nested_name_specifier_1",
789 "typename_sub","typename_sub0","typename_sub1","typename_sub2","explicit_template_type",
790 "complex_type_name","ptr_to_mem","global_scope","new_declarator","direct_new_declarator",
791 "absdcl","direct_abstract_declarator","stmts","errstmt","maybe_label_decls",
792 "label_decls","label_decl","compstmt_or_error","compstmt","@30","simple_if",
793 "@31","@32","implicitly_scoped_stmt","@33","stmt","simple_stmt","@34","@35",
794 "@36","@37","@38","@39","@40","@41","@42","@43","@44","@45","@46","@47","function_try_block",
795 "@48","@49","try_block","@50","@51","handler_seq","handler","@52","@53","type_specifier_seq",
796 "handler_args","label_colon","for.init.statement","maybe_cv_qualifier","xexpr",
797 "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
798 "complex_parmlist","defarg","@54","defarg1","parms","parms_comma","named_parm",
799 "full_parm","parm","see_typename","bad_parm","exception_specification_opt","ansi_raise_identifier",
800 "ansi_raise_identifiers","conversion_declarator","operator","operator_name", NULL
801 };
802 #endif
803
804 static const short yyr1[] = { 0,
805 112, 112, 114, 113, 113, 115, 115, 116, 117, 118,
806 119, 121, 120, 122, 122, 122, 122, 122, 122, 122,
807 123, 122, 124, 122, 122, 122, 122, 122, 126, 125,
808 127, 127, 127, 128, 128, 128, 130, 129, 131, 131,
809 132, 132, 132, 132, 133, 133, 135, 134, 134, 136,
810 136, 137, 137, 138, 138, 139, 140, 140, 140, 140,
811 140, 140, 141, 141, 142, 142, 142, 142, 142, 142,
812 143, 143, 143, 143, 144, 144, 144, 144, 144, 144,
813 144, 144, 144, 145, 145, 146, 146, 146, 147, 147,
814 148, 148, 148, 150, 149, 149, 151, 149, 149, 152,
815 149, 149, 153, 149, 149, 154, 154, 154, 154, 154,
816 155, 155, 155, 155, 156, 156, 156, 156, 156, 156,
817 156, 157, 158, 158, 158, 159, 160, 161, 161, 161,
818 161, 162, 162, 162, 162, 162, 162, 162, 162, 163,
819 163, 163, 163, 163, 164, 164, 164, 165, 165, 165,
820 167, 166, 168, 166, 169, 166, 170, 166, 171, 166,
821 172, 166, 173, 166, 174, 166, 175, 176, 177, 177,
822 177, 178, 179, 180, 180, 181, 181, 182, 182, 183,
823 183, 183, 184, 184, 184, 184, 184, 185, 185, 186,
824 186, 187, 187, 188, 188, 188, 190, 189, 189, 191,
825 191, 191, 191, 193, 192, 192, 194, 194, 194, 194,
826 195, 195, 196, 196, 196, 196, 196, 196, 196, 196,
827 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
828 196, 196, 196, 196, 196, 196, 197, 198, 199, 199,
829 200, 200, 200, 200, 201, 201, 202, 202, 202, 203,
830 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
831 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
832 203, 203, 203, 203, 204, 204, 204, 204, 204, 204,
833 204, 205, 206, 206, 207, 207, 207, 208, 208, 208,
834 209, 209, 209, 209, 210, 210, 211, 211, 211, 211,
835 212, 212, 212, 212, 212, 212, 212, 213, 212, 212,
836 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
837 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
838 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
839 212, 212, 212, 214, 214, 215, 215, 216, 216, 217,
840 217, 218, 219, 219, 220, 220, 220, 220, 220, 220,
841 221, 221, 222, 222, 223, 223, 223, 223, 223, 224,
842 224, 225, 225, 225, 225, 225, 225, 226, 226, 226,
843 226, 226, 227, 227, 227, 227, 227, 227, 228, 228,
844 228, 228, 229, 229, 230, 230, 230, 230, 230, 230,
845 230, 231, 231, 231, 232, 232, 233, 233, 234, 234,
846 235, 235, 237, 236, 236, 239, 238, 238, 240, 241,
847 243, 242, 242, 244, 244, 245, 245, 246, 247, 247,
848 248, 248, 248, 248, 248, 249, 249, 249, 249, 250,
849 250, 251, 251, 252, 252, 252, 252, 252, 253, 253,
850 253, 253, 253, 254, 255, 255, 255, 256, 256, 257,
851 257, 258, 258, 258, 260, 259, 259, 261, 259, 259,
852 259, 259, 259, 262, 263, 259, 259, 264, 264, 265,
853 265, 266, 266, 266, 266, 266, 266, 267, 268, 268,
854 268, 269, 269, 269, 269, 269, 270, 271, 271, 271,
855 272, 273, 273, 274, 274, 274, 275, 275, 276, 276,
856 277, 277, 277, 277, 278, 278, 278, 278, 279, 280,
857 281, 281, 281, 281, 282, 282, 283, 283, 283, 283,
858 283, 283, 283, 283, 283, 283, 284, 284, 284, 284,
859 284, 284, 284, 284, 284, 285, 285, 285, 286, 286,
860 286, 287, 287, 288, 288, 289, 289, 290, 290, 290,
861 290, 291, 291, 292, 292, 292, 293, 293, 294, 294,
862 295, 295, 295, 296, 296, 297, 297, 298, 299, 300,
863 300, 300, 300, 301, 301, 301, 301, 301, 301, 302,
864 302, 303, 303, 303, 304, 305, 305, 305, 305, 305,
865 305, 306, 306, 306, 306, 306, 306, 307, 307, 307,
866 307, 307, 307, 308, 308, 308, 308, 308, 308, 309,
867 309, 310, 310, 311, 311, 312, 312, 312, 313, 313,
868 313, 314, 314, 314, 315, 315, 315, 315, 316, 316,
869 317, 317, 317, 317, 318, 318, 318, 318, 319, 319,
870 319, 319, 319, 319, 320, 321, 321, 321, 322, 322,
871 323, 324, 324, 324, 324, 324, 324, 324, 325, 325,
872 326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
873 326, 327, 327, 327, 327, 327, 327, 327, 327, 327,
874 327, 327, 328, 328, 328, 328, 329, 330, 330, 331,
875 331, 332, 333, 333, 335, 334, 337, 338, 336, 339,
876 340, 339, 341, 341, 342, 342, 343, 342, 342, 344,
877 345, 342, 346, 347, 342, 348, 349, 350, 351, 342,
878 352, 353, 342, 354, 342, 355, 342, 356, 342, 342,
879 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
880 342, 342, 342, 342, 342, 342, 358, 359, 357, 361,
881 362, 360, 363, 363, 365, 366, 364, 367, 367, 368,
882 368, 369, 369, 369, 369, 370, 370, 370, 371, 371,
883 372, 372, 372, 373, 373, 374, 374, 375, 376, 376,
884 377, 377, 377, 378, 378, 378, 378, 378, 378, 378,
885 380, 379, 381, 381, 382, 382, 382, 382, 382, 383,
886 383, 384, 384, 384, 384, 384, 384, 385, 385, 386,
887 386, 387, 388, 388, 389, 389, 389, 390, 391, 391,
888 392, 392, 392, 392, 393, 394, 394, 394, 394, 394,
889 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
890 394, 394, 394, 394, 394, 394, 394, 394, 394, 394,
891 394, 394, 394, 394, 394, 394, 394, 394, 394, 394
892 };
893
894 static const short yyr2[] = { 0,
895 0, 1, 0, 2, 2, 1, 0, 0, 0, 1,
896 1, 0, 2, 2, 1, 1, 5, 4, 5, 4,
897 0, 6, 0, 5, 1, 2, 1, 2, 0, 6,
898 2, 3, 3, 3, 3, 4, 0, 5, 2, 3,
899 1, 1, 2, 2, 1, 2, 0, 5, 3, 1,
900 3, 1, 0, 2, 2, 3, 1, 3, 1, 3,
901 1, 3, 2, 2, 2, 1, 1, 5, 4, 2,
902 2, 3, 3, 2, 2, 3, 3, 2, 2, 2,
903 2, 2, 1, 1, 1, 0, 1, 2, 0, 1,
904 4, 3, 3, 0, 8, 5, 0, 9, 6, 0,
905 8, 5, 0, 9, 6, 2, 2, 1, 2, 1,
906 6, 4, 6, 4, 2, 1, 2, 2, 1, 2,
907 1, 2, 2, 4, 2, 3, 0, 0, 1, 3,
908 2, 3, 1, 4, 2, 4, 2, 4, 2, 1,
909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
910 0, 6, 0, 6, 0, 5, 0, 5, 0, 7,
911 0, 7, 0, 6, 0, 6, 0, 0, 5, 5,
912 1, 5, 0, 1, 1, 0, 1, 1, 3, 1,
913 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
914 3, 1, 3, 0, 1, 1, 0, 7, 1, 1,
915 3, 4, 3, 0, 3, 1, 3, 3, 3, 3,
916 1, 1, 1, 2, 2, 2, 2, 2, 2, 2,
917 4, 2, 4, 2, 3, 3, 4, 5, 6, 6,
918 7, 2, 4, 5, 2, 2, 1, 0, 4, 4,
919 3, 1, 3, 2, 3, 4, 1, 2, 5, 1,
920 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
921 3, 3, 3, 3, 3, 3, 3, 3, 3, 5,
922 3, 3, 1, 2, 3, 3, 1, 1, 1, 1,
923 1, 0, 5, 5, 5, 5, 5, 1, 1, 1,
924 1, 2, 2, 3, 4, 4, 1, 1, 1, 3,
925 1, 1, 1, 1, 3, 3, 3, 0, 4, 4,
926 2, 4, 2, 4, 2, 2, 1, 4, 1, 7,
927 7, 7, 7, 4, 4, 2, 2, 2, 1, 4,
928 2, 2, 5, 3, 2, 2, 5, 3, 5, 3,
929 4, 6, 2, 1, 2, 1, 2, 1, 1, 1,
930 2, 0, 2, 2, 3, 3, 3, 2, 2, 2,
931 1, 1, 1, 2, 2, 2, 2, 1, 1, 1,
932 1, 2, 2, 3, 3, 3, 4, 1, 2, 2,
933 2, 1, 1, 1, 2, 2, 2, 1, 1, 2,
934 2, 3, 1, 2, 1, 1, 1, 4, 4, 4,
935 4, 1, 1, 1, 1, 3, 1, 3, 1, 3,
936 0, 4, 0, 6, 3, 0, 4, 1, 3, 3,
937 0, 4, 3, 0, 1, 1, 2, 6, 1, 3,
938 0, 1, 4, 6, 4, 1, 1, 1, 1, 1,
939 3, 0, 2, 1, 2, 3, 4, 1, 1, 3,
940 4, 3, 5, 1, 4, 3, 3, 0, 3, 3,
941 3, 0, 2, 2, 0, 7, 4, 0, 6, 3,
942 2, 2, 2, 0, 0, 9, 1, 0, 1, 0,
943 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
944 2, 3, 4, 3, 2, 3, 0, 1, 3, 2,
945 2, 1, 1, 0, 2, 3, 1, 4, 1, 3,
946 1, 1, 4, 4, 2, 2, 3, 3, 1, 0,
947 1, 2, 4, 3, 1, 2, 2, 2, 2, 2,
948 2, 2, 1, 2, 2, 3, 2, 2, 4, 4,
949 2, 1, 5, 4, 1, 0, 1, 3, 0, 1,
950 3, 1, 1, 1, 1, 4, 4, 4, 4, 4,
951 3, 4, 4, 4, 4, 3, 1, 3, 1, 3,
952 2, 1, 7, 0, 2, 1, 2, 0, 2, 4,
953 4, 2, 4, 3, 3, 2, 2, 3, 1, 1,
954 2, 1, 1, 2, 2, 4, 4, 3, 3, 2,
955 1, 3, 3, 2, 2, 3, 1, 3, 3, 2,
956 2, 3, 1, 4, 3, 4, 3, 1, 2, 2,
957 2, 2, 2, 1, 2, 4, 4, 2, 1, 1,
958 1, 1, 2, 4, 2, 2, 2, 2, 1, 2,
959 2, 2, 2, 3, 1, 2, 3, 4, 2, 2,
960 2, 2, 2, 2, 4, 2, 1, 2, 2, 3,
961 1, 3, 2, 3, 2, 2, 3, 1, 3, 4,
962 3, 2, 2, 1, 3, 2, 2, 1, 2, 3,
963 1, 3, 1, 6, 4, 4, 3, 5, 3, 3,
964 3, 2, 1, 1, 2, 2, 2, 0, 1, 1,
965 2, 3, 1, 2, 0, 3, 0, 0, 5, 1,
966 0, 2, 1, 1, 1, 2, 0, 4, 1, 0,
967 0, 5, 0, 0, 7, 0, 0, 0, 0, 12,
968 0, 0, 7, 0, 5, 0, 7, 0, 4, 2,
969 2, 2, 3, 6, 8, 10, 12, 4, 3, 2,
970 2, 1, 1, 1, 1, 1, 0, 0, 6, 0,
971 0, 5, 1, 2, 0, 0, 5, 1, 1, 3,
972 3, 2, 2, 2, 2, 2, 1, 2, 0, 1,
973 0, 1, 1, 0, 1, 1, 3, 4, 1, 3,
974 0, 1, 1, 1, 2, 2, 2, 1, 2, 2,
975 0, 3, 1, 1, 1, 2, 2, 2, 4, 2,
976 2, 2, 2, 2, 2, 1, 2, 1, 2, 1,
977 1, 0, 0, 1, 0, 4, 2, 1, 1, 3,
978 0, 3, 3, 3, 1, 2, 2, 2, 2, 2,
979 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
980 2, 2, 2, 2, 2, 2, 2, 2, 3, 2,
981 2, 2, 2, 3, 2, 2, 4, 4, 3, 2
982 };
983
984 static const short yydefact[] = { 3,
985 12, 12, 5, 0, 4, 0, 279, 629, 630, 0,
986 384, 396, 576, 0, 11, 0, 0, 0, 10, 482,
987 835, 0, 0, 0, 167, 661, 280, 281, 83, 0,
988 0, 822, 0, 45, 0, 0, 13, 25, 0, 27,
989 8, 0, 16, 15, 89, 110, 86, 0, 631, 171,
990 298, 277, 299, 607, 0, 371, 0, 370, 389, 0,
991 409, 388, 426, 395, 0, 498, 497, 504, 503, 502,
992 477, 383, 592, 397, 593, 108, 297, 618, 590, 0,
993 632, 574, 0, 0, 278, 81, 82, 176, 635, 176,
994 636, 176, 282, 167, 140, 141, 142, 143, 144, 468,
995 471, 0, 657, 0, 472, 0, 0, 0, 0, 141,
996 142, 143, 144, 23, 0, 0, 0, 0, 0, 0,
997 0, 473, 639, 0, 645, 0, 0, 0, 37, 0,
998 0, 31, 0, 0, 47, 0, 176, 637, 0, 0,
999 605, 0, 0, 0, 604, 0, 0, 0, 0, 298,
1000 0, 578, 0, 297, 574, 28, 0, 26, 3, 46,
1001 0, 64, 384, 0, 0, 8, 67, 63, 66, 89,
1002 0, 0, 0, 395, 90, 14, 0, 424, 0, 0,
1003 442, 87, 79, 638, 578, 0, 574, 80, 0, 0,
1004 0, 106, 0, 405, 361, 589, 362, 601, 0, 574,
1005 386, 385, 78, 109, 372, 0, 407, 387, 107, 378,
1006 402, 403, 373, 391, 393, 382, 404, 0, 75, 427,
1007 483, 484, 485, 486, 501, 149, 148, 150, 488, 489,
1008 495, 487, 0, 0, 490, 491, 504, 822, 500, 519,
1009 520, 577, 390, 0, 421, 630, 0, 659, 171, 622,
1010 623, 619, 595, 633, 0, 594, 591, 0, 870, 866,
1011 865, 863, 845, 850, 851, 0, 857, 856, 842, 843,
1012 841, 860, 849, 846, 847, 848, 852, 853, 839, 840,
1013 836, 837, 838, 862, 854, 855, 844, 861, 0, 858,
1014 768, 389, 769, 831, 282, 279, 576, 302, 350, 0,
1015 0, 0, 0, 346, 344, 317, 348, 349, 0, 0,
1016 0, 0, 0, 280, 281, 273, 0, 0, 184, 183,
1017 0, 185, 186, 0, 0, 187, 0, 0, 177, 178,
1018 0, 247, 0, 250, 182, 301, 213, 0, 0, 303,
1019 304, 0, 180, 368, 389, 369, 624, 329, 319, 0,
1020 0, 0, 0, 176, 0, 470, 0, 465, 0, 658,
1021 656, 0, 188, 189, 0, 0, 0, 431, 3, 21,
1022 29, 653, 649, 650, 652, 654, 651, 140, 141, 142,
1023 0, 143, 144, 641, 642, 646, 643, 640, 0, 289,
1024 290, 288, 621, 620, 33, 32, 49, 0, 157, 0,
1025 0, 389, 155, 0, 0, 603, 0, 602, 141, 142,
1026 275, 276, 293, 0, 611, 292, 0, 610, 0, 300,
1027 615, 0, 0, 12, 0, 167, 9, 9, 70, 0,
1028 65, 0, 0, 71, 74, 0, 423, 425, 122, 93,
1029 127, 757, 0, 85, 84, 92, 125, 0, 0, 123,
1030 88, 617, 0, 0, 582, 0, 825, 0, 587, 0,
1031 586, 0, 0, 0, 0, 574, 424, 0, 77, 578,
1032 574, 600, 0, 375, 376, 0, 76, 424, 380, 379,
1033 381, 374, 394, 411, 410, 492, 496, 494, 0, 499,
1034 505, 0, 0, 392, 424, 574, 94, 0, 0, 0,
1035 0, 574, 100, 575, 606, 630, 660, 171, 0, 0,
1036 859, 864, 391, 574, 574, 0, 574, 869, 176, 0,
1037 0, 0, 220, 0, 0, 222, 235, 236, 0, 0,
1038 0, 0, 0, 274, 219, 216, 215, 217, 0, 0,
1039 0, 0, 0, 301, 0, 0, 0, 214, 174, 175,
1040 295, 0, 218, 0, 0, 248, 0, 0, 0, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0, 311, 0,
1043 313, 315, 316, 354, 353, 0, 0, 238, 238, 0,
1044 224, 572, 0, 232, 351, 343, 0, 0, 822, 332,
1045 335, 336, 0, 0, 363, 678, 674, 683, 0, 578,
1046 574, 574, 574, 365, 681, 0, 628, 367, 0, 0,
1047 366, 331, 0, 326, 345, 327, 347, 625, 0, 328,
1048 173, 173, 0, 165, 0, 389, 163, 569, 480, 567,
1049 467, 0, 0, 398, 0, 0, 399, 400, 401, 437,
1050 438, 439, 436, 0, 429, 432, 0, 3, 0, 644,
1051 176, 647, 0, 41, 42, 0, 53, 0, 0, 57,
1052 61, 50, 821, 816, 0, 368, 389, 53, 369, 820,
1053 59, 168, 153, 151, 168, 173, 296, 609, 608, 300,
1054 612, 0, 18, 20, 89, 9, 9, 73, 72, 0,
1055 128, 352, 0, 705, 91, 703, 448, 0, 444, 443,
1056 212, 0, 211, 579, 616, 0, 798, 0, 793, 389,
1057 0, 792, 794, 823, 805, 0, 0, 614, 585, 584,
1058 0, 0, 599, 0, 419, 418, 406, 598, 0, 825,
1059 588, 377, 408, 420, 424, 493, 629, 630, 822, 0,
1060 822, 631, 506, 507, 509, 822, 512, 511, 0, 542,
1061 630, 0, 533, 0, 0, 545, 0, 121, 116, 0,
1062 171, 546, 549, 0, 525, 0, 119, 0, 424, 422,
1063 825, 791, 176, 176, 634, 176, 825, 791, 574, 97,
1064 574, 103, 868, 867, 831, 831, 831, 0, 0, 0,
1065 0, 628, 0, 0, 0, 0, 389, 0, 0, 0,
1066 307, 0, 305, 306, 0, 245, 179, 279, 629, 630,
1067 280, 281, 0, 0, 449, 478, 0, 272, 271, 783,
1068 782, 0, 269, 268, 266, 267, 265, 264, 263, 260,
1069 261, 262, 258, 259, 253, 254, 255, 256, 257, 251,
1070 252, 0, 0, 0, 0, 0, 238, 226, 242, 0,
1071 0, 225, 574, 574, 0, 574, 571, 668, 0, 0,
1072 0, 0, 0, 334, 0, 338, 0, 340, 0, 677,
1073 676, 673, 672, 821, 0, 0, 692, 0, 0, 825,
1074 364, 825, 679, 574, 791, 578, 678, 674, 0, 0,
1075 574, 0, 0, 0, 0, 0, 170, 172, 283, 168,
1076 161, 159, 168, 0, 481, 0, 480, 210, 209, 208,
1077 207, 431, 0, 0, 24, 0, 0, 648, 0, 38,
1078 44, 43, 55, 52, 53, 0, 48, 0, 0, 678,
1079 674, 0, 812, 574, 815, 817, 0, 813, 814, 54,
1080 488, 0, 158, 168, 168, 156, 169, 17, 19, 69,
1081 89, 412, 145, 133, 146, 147, 0, 126, 129, 0,
1082 0, 0, 0, 704, 698, 445, 0, 124, 583, 580,
1083 797, 811, 800, 0, 581, 796, 810, 799, 795, 824,
1084 807, 818, 808, 801, 806, 827, 0, 416, 597, 596,
1085 415, 516, 0, 515, 822, 822, 822, 0, 574, 791,
1086 541, 534, 546, 535, 424, 424, 531, 532, 529, 530,
1087 574, 791, 279, 629, 0, 411, 117, 537, 547, 552,
1088 553, 411, 411, 0, 0, 411, 115, 538, 550, 411,
1089 526, 527, 528, 424, 0, 474, 96, 0, 0, 0,
1090 0, 102, 0, 825, 791, 825, 791, 833, 832, 834,
1091 284, 318, 221, 223, 324, 325, 0, 0, 0, 0,
1092 306, 309, 0, 0, 0, 0, 246, 0, 310, 312,
1093 314, 0, 0, 0, 0, 227, 244, 0, 0, 665,
1094 663, 0, 666, 578, 233, 0, 0, 176, 341, 0,
1095 0, 0, 675, 671, 682, 574, 691, 689, 690, 680,
1096 825, 0, 687, 0, 626, 627, 0, 330, 166, 168,
1097 168, 164, 570, 568, 469, 0, 430, 428, 279, 0,
1098 22, 30, 655, 56, 51, 58, 62, 677, 673, 678,
1099 674, 0, 590, 0, 574, 679, 60, 154, 152, 68,
1100 0, 131, 0, 135, 0, 137, 0, 139, 0, 758,
1101 0, 200, 706, 0, 699, 700, 0, 446, 678, 674,
1102 0, 301, 0, 624, 819, 0, 0, 828, 829, 0,
1103 0, 413, 0, 0, 0, 518, 517, 510, 825, 0,
1104 536, 442, 442, 825, 0, 0, 0, 424, 424, 0,
1105 424, 424, 0, 424, 0, 442, 0, 462, 574, 286,
1106 285, 287, 574, 99, 0, 105, 0, 0, 0, 0,
1107 0, 0, 452, 0, 450, 249, 270, 240, 239, 237,
1108 228, 0, 241, 243, 664, 662, 669, 667, 0, 234,
1109 0, 0, 333, 337, 339, 825, 685, 574, 686, 162,
1110 160, 466, 0, 433, 435, 677, 673, 595, 679, 132,
1111 130, 0, 0, 0, 0, 440, 0, 0, 279, 629,
1112 630, 707, 720, 723, 726, 731, 0, 0, 0, 0,
1113 0, 0, 0, 0, 280, 752, 760, 0, 779, 756,
1114 755, 754, 0, 715, 0, 0, 389, 0, 694, 713,
1115 719, 693, 714, 753, 0, 701, 447, 0, 627, 809,
1116 803, 804, 802, 0, 826, 417, 0, 513, 514, 508,
1117 112, 574, 540, 544, 114, 574, 424, 424, 561, 442,
1118 279, 629, 0, 548, 554, 555, 411, 411, 442, 442,
1119 0, 442, 551, 539, 0, 825, 825, 574, 574, 0,
1120 0, 0, 0, 451, 0, 0, 229, 230, 670, 342,
1121 285, 688, 825, 0, 134, 136, 138, 765, 759, 763,
1122 0, 702, 697, 203, 772, 774, 775, 0, 0, 711,
1123 0, 0, 0, 738, 740, 741, 742, 0, 0, 0,
1124 0, 0, 0, 0, 773, 0, 360, 780, 0, 716,
1125 358, 411, 0, 359, 0, 411, 0, 0, 0, 201,
1126 696, 695, 717, 751, 750, 306, 830, 414, 825, 825,
1127 560, 557, 559, 0, 0, 424, 424, 424, 556, 558,
1128 543, 464, 0, 463, 458, 95, 101, 825, 825, 320,
1129 321, 322, 323, 453, 0, 231, 684, 434, 0, 764,
1130 441, 192, 0, 708, 721, 710, 0, 0, 0, 0,
1131 0, 734, 0, 743, 0, 749, 39, 144, 34, 144,
1132 0, 35, 761, 0, 356, 357, 0, 0, 0, 355,
1133 202, 711, 111, 113, 424, 424, 566, 442, 442, 0,
1134 0, 476, 98, 104, 573, 0, 766, 199, 0, 389,
1135 0, 711, 0, 724, 712, 698, 777, 727, 0, 0,
1136 0, 0, 739, 748, 40, 36, 0, 0, 718, 565,
1137 563, 562, 564, 461, 460, 454, 86, 89, 0, 0,
1138 0, 193, 411, 709, 204, 722, 206, 0, 778, 0,
1139 776, 732, 736, 735, 762, 784, 0, 0, 459, 770,
1140 771, 767, 424, 698, 190, 0, 0, 196, 0, 195,
1141 711, 0, 0, 0, 785, 786, 744, 457, 0, 456,
1142 0, 205, 0, 725, 728, 733, 737, 0, 784, 0,
1143 0, 455, 197, 191, 0, 0, 0, 745, 787, 0,
1144 0, 788, 0, 0, 198, 729, 789, 0, 746, 0,
1145 0, 0, 730, 790, 747, 0, 0, 0
1146 };
1147
1148 static const short yydefgoto[] = { 1606,
1149 424, 2, 425, 161, 694, 327, 177, 3, 4, 37,
1150 658, 369, 1290, 659, 766, 1291, 1292, 389, 1393, 663,
1151 41, 767, 398, 669, 933, 670, 671, 672, 43, 168,
1152 169, 44, 443, 180, 176, 45, 46, 782, 1055, 788,
1153 1057, 47, 769, 770, 181, 182, 444, 701, 968, 969,
1154 638, 970, 230, 48, 955, 954, 685, 682, 1121, 1120,
1155 913, 910, 136, 953, 49, 50, 907, 551, 328, 329,
1156 330, 331, 1293, 1557, 1454, 1559, 1499, 1590, 1163, 1536,
1157 1554, 363, 900, 332, 1231, 855, 590, 862, 333, 334,
1158 364, 336, 354, 52, 251, 664, 413, 53, 54, 337,
1159 546, 338, 339, 340, 341, 445, 342, 1294, 484, 612,
1160 343, 1295, 56, 213, 675, 344, 214, 524, 215, 193,
1161 206, 60, 467, 485, 1317, 735, 1181, 194, 207, 61,
1162 495, 736, 62, 63, 654, 655, 656, 1267, 450, 825,
1163 826, 1527, 1528, 1492, 1434, 1345, 64, 642, 357, 1208,
1164 1435, 1076, 916, 65, 66, 67, 68, 237, 69, 70,
1165 71, 239, 753, 754, 755, 756, 241, 492, 493, 774,
1166 775, 776, 1028, 1038, 1029, 1334, 1030, 1031, 1335, 1336,
1167 639, 640, 591, 890, 346, 453, 454, 187, 195, 73,
1168 74, 75, 196, 197, 153, 77, 132, 347, 348, 349,
1169 79, 350, 81, 758, 123, 124, 125, 500, 105, 82,
1170 351, 867, 868, 885, 615, 1298, 1299, 1164, 1165, 1166,
1171 705, 1300, 975, 1301, 1378, 1502, 1457, 1458, 1302, 1303,
1172 1482, 1379, 1503, 1380, 1538, 1381, 1540, 1585, 1600, 1382,
1173 1561, 1512, 1562, 1463, 446, 702, 1265, 1304, 1396, 1517,
1174 1369, 1370, 1449, 1531, 1501, 1497, 1305, 1508, 1399, 832,
1175 1564, 1565, 1566, 1598, 721, 722, 995, 1177, 1313, 723,
1176 724, 725, 991, 726, 146, 993, 728, 1179, 1180, 518,
1177 84, 85
1178 };
1179
1180 static const short yypact[] = { 116,
1181 144,-32768,-32768, 3219,-32768, 156, 153, 205, 332, 176,
1182 170,-32768,-32768, 1325,-32768, 160, 185, 227,-32768,-32768,
1183 -32768, 532, 752, 1021, 259,-32768, 308, 426,-32768, 684,
1184 684,-32768, 5043,-32768, 3219, 323,-32768,-32768, 404,-32768,
1185 62, 2851,-32768,-32768, 350, 1007, 453, 415, 437,-32768,
1186 -32768,-32768,-32768, 530, 1892,-32768, 4895,-32768, 885, 379,
1187 -32768, 471,-32768,-32768, 1233, 93,-32768, 479,-32768,-32768,
1188 491, 2947,-32768,-32768,-32768, 1248,-32768,-32768,-32768, 1551,
1189 -32768,-32768, 612, 8144, 524,-32768,-32768, 9669,-32768, 9669,
1190 -32768, 9669,-32768,-32768,-32768, 205, 332, 308, 517, 476,
1191 543, 437,-32768, 451,-32768, 612, 9755, 9755, 516,-32768,
1192 -32768,-32768,-32768,-32768, 425, 579, 519, 546, 591, 598,
1193 605,-32768,-32768, 1440,-32768, 1568, 205, 332,-32768, 308,
1194 517,-32768, 562, 343, 599, 5841, 9669,-32768, 9669, 3212,
1195 -32768, 1951, 692, 3212,-32768, 1726, 3405, 3405, 5043, 570,
1196 586, 609, 602, 610,-32768,-32768, 732,-32768, 590,-32768,
1197 4344,-32768,-32768, 259, 3053, 646,-32768,-32768,-32768, 350,
1198 5462, 10843, 576, 698,-32768,-32768, 659, 471, 757, 209,
1199 251, 734,-32768,-32768, 685, 267,-32768,-32768, 3412, 3412,
1200 5669, 1248, 768,-32768,-32768, 615,-32768,-32768, 2065,-32768,
1201 -32768,-32768,-32768,-32768, 885, 774,-32768, 471, 1248,-32768,
1202 -32768,-32768, 2313, 885,-32768, 471,-32768, 5462,-32768,-32768,
1203 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1204 437, 471, 1887, 1830,-32768,-32768, 479,-32768,-32768,-32768,
1205 -32768,-32768, 1160, 612,-32768, 537, 1463,-32768, 342,-32768,
1206 -32768,-32768,-32768,-32768, 4337,-32768,-32768, 229,-32768, 707,
1207 717,-32768,-32768,-32768,-32768, 751,-32768,-32768,-32768,-32768,
1208 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1209 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 704,-32768,
1210 -32768, 1160, 2947, 1101,-32768,-32768, 725,-32768,-32768, 10363,
1211 10449, 10535, 10535,-32768,-32768,-32768,-32768,-32768, 727, 769,
1212 792, 795, 801, 874, 517, 9841, 1937, 10535,-32768,-32768,
1213 10535,-32768,-32768, 10535, 7622,-32768, 10535, 442, 772,-32768,
1214 10535,-32768, 9927,-32768, 10838, 376, 1310, 2889, 10013,-32768,
1215 893, 1805,-32768, 2496, 3971, 3697,-32768, 440,-32768, 1965,
1216 1825, 442, 442, 9669, 5841,-32768, 1937, 804, 1937,-32768,
1217 -32768, 810, 861, 10919, 815, 828, 839, 1668, 590,-32768,
1218 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 579, 519, 546,
1219 1937, 591, 598, 876, 605,-32768, 904,-32768, 457, 205,
1220 332,-32768,-32768,-32768,-32768,-32768,-32768, 4481,-32768, 5462,
1221 5736, 2489,-32768, 442, 63,-32768, 363,-32768, 892, 899,
1222 -32768,-32768,-32768, 3212,-32768,-32768, 3212,-32768, 867,-32768,
1223 -32768, 4337, 88, 850, 883,-32768,-32768,-32768,-32768, 5841,
1224 -32768, 812, 823,-32768,-32768, 732,-32768, 471,-32768,-32768,
1225 -32768,-32768, 111,-32768,-32768,-32768,-32768, 7713, 9841,-32768,
1226 -32768,-32768, 9841, 896,-32768, 6976, 226, 5116,-32768, 5116,
1227 -32768, 5186, 5186, 5669, 888,-32768, 471, 5462,-32768, 900,
1228 -32768,-32768, 5405, 2313, 885, 5462,-32768, 471,-32768,-32768,
1229 471, 2313,-32768, 986,-32768,-32768, 437,-32768, 1887,-32768,
1230 1226, 3343, 81, 1160, 471,-32768,-32768, 941, 943, 965,
1231 953,-32768,-32768,-32768,-32768, 593,-32768, 450, 918, 919,
1232 -32768,-32768, 1160,-32768,-32768, 964,-32768,-32768, 9669, 9841,
1233 725, 7622,-32768, 509, 7622,-32768,-32768,-32768, 9755, 5650,
1234 5650, 5650, 5650, 10964,-32768,-32768,-32768,-32768, 924, 10621,
1235 10621, 7622, 927, 107, 928, 979, 934,-32768,-32768,-32768,
1236 -32768, 9669,-32768, 7252, 7622,-32768, 9841, 9841, 7804, 9841,
1237 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841,
1238 9841, 9841, 9841, 9841, 9841, 9841, 9841, 9841,-32768, 9841,
1239 -32768,-32768,-32768,-32768,-32768, 9841, 9841,-32768,-32768, 1313,
1240 315, 906, 8504,-32768,-32768,-32768, 989, 1463, 1037, 511,
1241 528, 638, 2333, 692,-32768, 1576, 1576,-32768, 2501, 937,
1242 956, 1003,-32768,-32768, 634, 9124, 1116,-32768, 999, 612,
1243 -32768,-32768, 9841,-32768,-32768,-32768,-32768,-32768, 303, 524,
1244 -32768,-32768, 442,-32768, 5462, 2982,-32768, 990, 1000,-32768,
1245 -32768, 1937, 876,-32768, 8236, 8327,-32768,-32768,-32768,-32768,
1246 -32768,-32768,-32768, 193,-32768, 969, 949, 590, 457, 1010,
1247 9669,-32768, 1008,-32768,-32768, 343, 1095, 1044, 299, 1018,
1248 1023,-32768,-32768, 2225, 10843, 2225, 4136, 1233, 3794,-32768,
1249 1026,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 985,
1250 -32768, 1035,-32768,-32768, 350,-32768,-32768,-32768,-32768, 95,
1251 783, 1039, 979,-32768,-32768,-32768,-32768, 7158, 10964,-32768,
1252 861, 1012, 10919,-32768,-32768, 1014,-32768, 1019, 406, 4599,
1253 1022,-32768, 103, 5361, 1047, 1052, 654,-32768,-32768,-32768,
1254 5116, 5116,-32768, 5405,-32768, 1054,-32768,-32768, 1015, 226,
1255 -32768, 2313,-32768,-32768, 471,-32768, 519, 546,-32768, 1036,
1256 -32768, 605, 1074,-32768,-32768, 233,-32768,-32768, 1962,-32768,
1257 791, 1141,-32768, 9841, 6374,-32768, 6374, 83, 83, 301,
1258 658, 4251, 10775, 5963,-32768, 194, 83, 1073, 471,-32768,
1259 226, 3153, 9669, 9669,-32768, 9669, 226, 3153,-32768,-32768,
1260 -32768,-32768,-32768,-32768, 1067, 1067, 1067, 442, 1046, 1048,
1261 10105, 1003, 1057, 1058, 1068, 1104, 4764, 1107, 1108, 1109,
1262 -32768, 1078,-32768,-32768, 1082,-32768,-32768, 1132, 432, 762,
1263 182, 80, 9841, 1137,-32768, 1142, 1092, 10964, 10964,-32768,
1264 -32768, 1140, 4489, 6071, 6114, 3259, 5876, 4207, 3574, 2596,
1265 2596, 2596, 2581, 2581, 1305, 1305, 478, 478, 478,-32768,
1266 -32768, 1096, 1099, 1102, 9841, 9755,-32768, 315,-32768, 7713,
1267 9841,-32768,-32768,-32768, 9841,-32768,-32768, 1125, 10535, 1110,
1268 1138, 1146, 1185,-32768, 9841,-32768, 9841,-32768, 9841, 2601,
1269 -32768, 2601,-32768, 97, 1126, 1131,-32768, 1134, 5650, 226,
1270 -32768, 226, 2752,-32768, 3153, 1144, 9308, 9308, 6471, 1143,
1271 9927, 1150, 2158, 1825, 1004, 1152,-32768,-32768,-32768,-32768,
1272 -32768,-32768,-32768, 9841, 1937, 1139, 1000,-32768, 10964,-32768,
1273 10964, 1668, 1153, 10191,-32768, 1157, 1186,-32768, 442,-32768,
1274 -32768,-32768,-32768,-32768, 1416, 4481,-32768, 5650, 9669, 1795,
1275 1795, 3508,-32768,-32768,-32768,-32768, 2065,-32768,-32768,-32768,
1276 417, 9841,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1277 350,-32768, 579,-32768, 591, 598, 9841, 1208,-32768, 666,
1278 674, 683, 979,-32768, 72,-32768, 183,-32768,-32768,-32768,
1279 -32768,-32768,-32768, 9216,-32768,-32768,-32768,-32768,-32768,-32768,
1280 -32768, 1052, 1204,-32768,-32768,-32768, 5650,-32768,-32768,-32768,
1281 1206,-32768, 9755,-32768,-32768,-32768,-32768, 851,-32768, 3153,
1282 10964,-32768, 1679,-32768, 471, 471,-32768,-32768,-32768,-32768,
1283 -32768, 3153, 502, 787, 9841, 986,-32768, 1212,-32768,-32768,
1284 -32768, 235, 497, 1551, 692, 569, 83, 1214,-32768, 621,
1285 -32768,-32768,-32768, 471, 8572,-32768,-32768, 1168, 442, 442,
1286 442,-32768, 1169, 226, 3153, 226, 3153,-32768,-32768,-32768,
1287 -32768,-32768,-32768,-32768,-32768,-32768, 1192, 1193, 1195, 1202,
1288 985,-32768, 6766, 7713, 7346, 1188,-32768, 9841,-32768,-32768,
1289 -32768, 1190, 1170, 1196, 5650,-32768,-32768, 1198, 173, 334,
1290 334, 1200, 334,-32768,-32768, 10535, 1301, 9669,-32768, 1216,
1291 1217, 1231,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1292 226, 1234,-32768, 1223,-32768,-32768, 2735,-32768,-32768,-32768,
1293 -32768,-32768, 10964,-32768,-32768, 1235,-32768,-32768, 199, 1240,
1294 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 2393, 2393, 2680,
1295 2680, 3508,-32768, 2065,-32768, 3520, 10838,-32768,-32768,-32768,
1296 1242,-32768, 783,-32768, 9841,-32768, 9841,-32768, 9841,-32768,
1297 1937,-32768,-32768, 6711, 1318,-32768, 7437,-32768, 9400, 9400,
1298 6861, 135, 1245, 261,-32768, 7713, 7528,-32768,-32768, 210,
1299 7713,-32768, 1246, 1247, 1226,-32768,-32768,-32768, 226, 1251,
1300 -32768, 1297, 1297, 226, 1257, 9841, 9841, 4003, 471, 4760,
1301 471, 471, 1105, 471, 5244, 1297, 8642,-32768,-32768,-32768,
1302 1314,-32768,-32768,-32768, 1267,-32768, 1269, 9841, 9841, 9841,
1303 9841, 7713,-32768, 1316,-32768,-32768, 10964,-32768,-32768,-32768,
1304 380, 1196,-32768,-32768,-32768,-32768,-32768,-32768, 1279,-32768,
1305 1345, 442,-32768,-32768,-32768, 226,-32768,-32768,-32768,-32768,
1306 -32768,-32768, 9841,-32768,-32768, 2393, 2393,-32768, 3520,-32768,
1307 -32768, 1285, 1286, 1290, 1309,-32768, 829, 214, 1347, 805,
1308 816,-32768,-32768,-32768,-32768,-32768, 9841, 1348, 1352, 1353,
1309 9492, 175, 1937, 616, 655,-32768,-32768, 9583, 1398,-32768,
1310 -32768,-32768, 1354,-32768, 5089, 5564, 4654, 6601,-32768,-32768,
1311 1400,-32768,-32768,-32768, 8735,-32768,-32768, 1321, 1368,-32768,
1312 -32768,-32768,-32768, 5650,-32768,-32768, 7713,-32768,-32768,-32768,
1313 -32768,-32768,-32768,-32768,-32768,-32768, 4003, 4003,-32768, 1297,
1314 691, 863, 9841,-32768,-32768,-32768, 986, 986, 1297, 1297,
1315 593, 1297,-32768,-32768, 6263, 226, 226,-32768,-32768, 1323,
1316 1329, 1334, 1340,-32768, 7713, 9841,-32768, 380,-32768,-32768,
1317 -32768,-32768, 226, 1342,-32768,-32768,-32768,-32768, 1309,-32768,
1318 1937,-32768,-32768,-32768,-32768,-32768,-32768, 688, 688, 979,
1319 1324, 1333, 6168,-32768,-32768,-32768,-32768, 1362, 9841, 1373,
1320 1393, 1406, 1973, 2131,-32768, 979,-32768,-32768, 1372,-32768,
1321 -32768, 986, 841,-32768, 881, 986, 10277, 894, 252,-32768,
1322 -32768,-32768,-32768,-32768,-32768, 340,-32768,-32768, 226, 226,
1323 -32768,-32768,-32768, 9841, 9841, 4003, 471, 471,-32768,-32768,
1324 -32768,-32768, 8418,-32768,-32768,-32768,-32768, 226, 226,-32768,
1325 -32768,-32768,-32768,-32768, 1359,-32768,-32768,-32768, 1381,-32768,
1326 -32768,-32768, 9755,-32768,-32768,-32768, 1461, 9031, 7067, 9755,
1327 9841,-32768, 8843,-32768, 1420,-32768,-32768, 1428,-32768, 1406,
1328 1973,-32768,-32768, 732,-32768,-32768, 10707, 10707, 7895,-32768,
1329 -32768, 979,-32768,-32768, 4003, 4003,-32768, 1297, 1297, 1376,
1330 10874, 1387,-32768,-32768,-32768, 4964,-32768,-32768, 1377, 487,
1331 5462, 979, 8937,-32768,-32768, 72,-32768,-32768, 1430, 1385,
1332 10942, 8843,-32768,-32768,-32768,-32768, 1309, 91,-32768,-32768,
1333 -32768,-32768,-32768,-32768,-32768,-32768, 453, 350, 1386, 1394,
1334 979,-32768, 986,-32768,-32768,-32768,-32768, 690,-32768, 7986,
1335 -32768,-32768,-32768,-32768, 1309, 1490, 1449, 218,-32768,-32768,
1336 -32768,-32768, 471, 72,-32768, 9841, 1451,-32768, 1453,-32768,
1337 979, 8843, 1422, 68, 1459,-32768,-32768,-32768, 111,-32768,
1338 1458,-32768, 1415,-32768,-32768,-32768,-32768, 9841, 1490, 1466,
1339 1490,-32768,-32768,-32768, 8077, 1419, 677,-32768,-32768, 7713,
1340 1421,-32768, 1517, 1470,-32768,-32768,-32768, 270,-32768, 8937,
1341 1521, 1475,-32768,-32768,-32768, 1537, 1538,-32768
1342 };
1343
1344 static const short yypgoto[] = {-32768,
1345 1541,-32768, -322, 1382, -386, 58, 0, 1540,-32768, 1512,
1346 -32768,-32768, 113,-32768, 253,-32768, 287,-32768, 159, 901,
1347 33, 19,-32768,-32768, -611,-32768,-32768, 627, 59, 1402,
1348 1147, 1408, -690, 51, -164, 10, 1,-32768,-32768,-32768,
1349 -32768,-32768, 806,-32768,-32768,-32768,-32768,-32768,-32768, 433,
1350 1592,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1351 -32768,-32768, 1494, -649, 5793, -67, -534, -203, 21, 1455,
1352 -507,-32768, 397,-32768, 222,-32768, -1353,-32768, -1343, -3,
1353 -32768, 1661, 891, -267, 370, -520,-32768, -828, 1473, 74,
1354 1135, 3774, 1317, -325, -74, -94, 1462, -70, 434,-32768,
1355 -32768,-32768, -330,-32768, -154,-32768,-32768, -1214, -48, -327,
1356 3104, 52, 424, -150, 28, 86, -200, -4, -28, -163,
1357 -157, 7, -35, -103,-32768, -359,-32768,-32768,-32768,-32768,
1358 -32768, -113, 237, -2,-32768, 697,-32768,-32768, -1067, -431,
1359 905,-32768,-32768,-32768,-32768,-32768, 167,-32768,-32768,-32768,
1360 -32768,-32768, 705, -373,-32768,-32768,-32768,-32768,-32768,-32768,
1361 -32768, 1384,-32768, 444, 619,-32768,-32768,-32768,-32768, 589,
1362 -717,-32768,-32768,-32768,-32768,-32768,-32768, 864,-32768, 431,
1363 996, 726, 1050, 4767, 47, 25, -443, 1446, 3480, -462,
1364 -32768, 2,-32768, 5022, -146, 651, -106, 4331, 1302,-32768,
1365 4962, 2031, 1670, -9, -104,-32768, 1519, -53,-32768, 4406,
1366 2964, -301,-32768, 1578,-32768,-32768, 347,-32768,-32768, 484,
1367 82, -419,-32768,-32768,-32768,-32768, -1336,-32768, -1222, -1362,
1368 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1369 -32768,-32768,-32768,-32768, 102,-32768,-32768,-32768,-32768,-32768,
1370 142, -1296,-32768,-32768, -38,-32768,-32768,-32768,-32768, -1378,
1371 73,-32768, 79,-32768, -691, -572, 669,-32768,-32768,-32768,
1372 -32768, -389,-32768, -379, -143,-32768, 988, 348,-32768, 132,
1373 -32768, -227
1374 };
1375
1376
1377 #define YYLAST 11048
1378
1379
1380 static const short yytable[] = { 59,
1381 415, 418, 423, 36, 475, 431, 192, 432, 680, 252,
1382 178, 973, 249, 122, 433, 103, 710, 617, 681, 501,
1383 627, 388, 42, 706, 678, 626, 739, 396, 757, 1086,
1384 59, 57, 523, 526, 36, 956, 886, 59, 394, 395,
1385 245, 695, 494, 886, 817, 294, 657, 1012, 173, 1014,
1386 72, 170, 205, 42, 474, 55, 1041, 204, 393, 220,
1387 42, 35, 57, 482, 437, 556, 950, 243, 856, 172,
1388 387, 252, 1450, 1397, 166, 1412, 140, 144, 186, 292,
1389 1509, 72, 1415, 345, 256, 345, 55, 345, 72, 58,
1390 1048, 513, 35, 171, 491, 1505, 1053, 908, 595, 165,
1391 167, 595, 345, 345, 1161, 595, 1510, 360, 981, 15,
1392 352, 703, 353, -411, 986, -1, 38, 778, 744, 159,
1393 58, 552, 192, 630, 1323, 1324, 815, 58, 252, 1579,
1394 293, 402, 345, 138, 345, 780, 399, 549, 1344, 550,
1395 1537, -144, -411, -2, 513, 1519, -411, 38, 631, 632,
1396 235, 957, 1546, 579, 236, 982, 59, 404, 983, 160,
1397 59, 987, 1539, 401, 988, 1534, 888, 205, 704, 291,
1398 428, 173, 204, 478, 170, 1580, 186, 95, 110, 111,
1399 1162, -298, 72, 42, 480, 483, 1560, 400, 57, 779,
1400 508, -411, 172, 414, 417, 692, 802, 166, 1547, 580,
1401 686, 687, 962, 1112, 816, 220, 1591, 72, 174, 440,
1402 1572, 72, 55, 220, -291, 86, 171, 94, 1568, 605,
1403 186, 58, 165, 167, 1576, 217, 88, -298, -298, 220,
1404 112, 113, 8, 506, 504, 458, 460, 1537, 971, 1006,
1405 1513, 1167, -291, -143, 1507, 256, 58, 601, 1450, 93,
1406 58, 922, 107, 1042, 1389, 137, 39, 1253, 89, -361,
1407 1119, 15, 1423, 1122, 87, 801, -352, 600, 1314, 1007,
1408 441, 1429, 1430, 1373, 1431, -352, 359, 108, 90, 441,
1409 1234, 700, 665, 974, 130, 131, 727, 39, 243, 1544,
1410 40, 1168, -361, 208, 935, 216, -361, 447, 627, 592,
1411 923, 232, 1043, 442, 1148, 1149, 1254, -618, 507, 960,
1412 961, 1373, 442, 455, 448, 415, 418, 1315, 1190, 109,
1413 345, 40, 1374, 1134, 742, 1017, 886, 660, 1601, -361,
1414 1195, 174, 135, 292, 680, 926, 1085, 127, 128, 1577,
1415 304, 243, 504, 449, 992, 296, 390, 391, 10, 345,
1416 636, 683, 256, -618, -618, 634, 26, 936, 1018, 456,
1417 1481, 859, 1019, 1215, 737, 1217, 127, 128, -618, 886,
1418 501, 217, 743, 937, 633, 527, 528, 1602, 860, 217,
1419 217, 137, 401, 21, 293, 91, -300, 26, 502, 130,
1420 131, 536, 617, 677, 537, 1020, 205, 538, 27, 315,
1421 548, 72, 1357, 863, 553, 92, 635, 861, 208, 217,
1422 359, 886, 594, 864, 438, 157, 668, 981, 130, 131,
1423 1522, 1523, 579, 291, 771, 59, 859, 865, 1087, 909,
1424 32, 1137, -300, -300, 503, 220, 173, 218, 219, 697,
1425 58, 216, 507, 860, 679, 480, 483, -294, 745, 481,
1426 216, 720, 1114, 480, 8, 9, 175, 172, 217, 296,
1427 390, 391, 10, 158, 982, 483, 152, 983, 580, -821,
1428 1250, 1251, 861, 1356, 183, -52, 72, 179, 220, 138,
1429 -52, 171, 370, 676, 483, 89, 622, 59, 371, 1041,
1430 184, -52, 768, -141, 211, 212, 791, 21, 359, 139,
1431 14, 18, 679, 362, 366, 90, 130, 131, 731, 732,
1432 26, 217, 27, 315, 345, 58, 549, 345, 550, 773,
1433 345, -362, 20, 15, 345, 807, 807, 807, 807, 1446,
1434 959, 23, 623, 605, 95, 110, 111, 345, 72, 798,
1435 238, 676, 792, 772, 32, 757, 680, 345, 240, 765,
1436 345, 592, 665, 1160, -362, 605, 681, 874, -362, 932,
1437 577, 578, 678, 1196, 296, 390, 391, 10, 217, 886,
1438 138, 931, 373, 627, 876, 88, -578, 58, 626, 801,
1439 152, 152, 152, 496, 356, 292, 911, 112, 113, 114,
1440 91, -362, 90, -120, 1061, 15, 174, 295, 886, 374,
1441 358, 801, 21, 875, 677, 1002, 513, 1004, 368, 247,
1442 92, 720, 1008, 536, 537, 8, 9, 27, 315, 92,
1443 877, 256, -578, 185, 152, 943, -120, 948, 949, 497,
1444 -120, 1001, 372, 556, 218, 434, 293, 208, 216, 789,
1445 217, 217, 1223, 1225, 375, -118, 91, 15, 217, 32,
1446 1239, 376, 880, 882, 388, 679, 345, 122, 377, 129,
1447 217, -578, 679, -120, 137, 1046, 92, 130, 131, 26,
1448 205, 949, 1392, 397, 243, 291, 630, -291, -118, 217,
1449 894, 929, -118, 154, 878, 790, 7, 127, 128, 10,
1450 971, 972, 13, 420, 676, 127, 128, 771, -7, 771,
1451 996, 676, 185, 438, 1021, 771, 771, -578, 470, 421,
1452 481, 216, 1154, 480, 438, -118, 1395, -613, 481, 677,
1453 1156, 543, 757, 1027, 21, 1133, 895, 896, 137, 1158,
1454 879, 438, 1015, 1016, 1452, 1225, 1555, 26, 1593, 27,
1455 28, 1044, 299, 160, 1310, 1312, 997, 130, 131, 1316,
1456 1022, 436, 1424, 30, 116, 117, 118, 435, 1155, 439,
1457 59, 802, 59, 31, 88, 768, 1157, 768, 205, 59,
1458 679, 32, 1026, 1036, 768, 1159, 33, 677, 345, 345,
1459 1453, 345, 1556, 677, 1594, 963, 747, 748, 1235, 1236,
1460 1354, 1238, 773, 451, 773, 452, 1150, 154, 154, 154,
1461 509, 773, 217, 1049, 1050, 26, 1051, 119, 120, 676,
1462 510, 72, 511, 72, 512, 91, 772, 520, 1013, 529,
1463 72, 674, 765, -142, 765, 772, 468, 469, 679, 964,
1464 552, 765, 476, 477, 679, 92, 26, 1009, 965, 966,
1465 89, 154, 530, 217, 91, 1210, 1211, 1212, 1197, 714,
1466 58, 345, 58, 116, 747, 748, 1089, 1569, 89, 58,
1467 90, 1185, 1186, 1187, 92, 531, 1376, 676, 532, 91,
1468 468, 698, 216, 676, 533, 967, 252, 1377, 90, 674,
1469 750, 476, 699, 1010, 807, 1418, 217, 1371, 1372, 92,
1470 677, 210, 211, 212, 720, 152, 152, 152, 14, 468,
1471 1475, 1192, 1193, 595, 26, 256, 119, 120, 217, 127,
1472 128, 208, 641, 216, 232, 18, 89, 644, 543, 645,
1473 20, 543, 647, 1444, 1425, 804, 1058, 1059, 1060, 23,
1474 1206, 677, -181, 807, 345, 648, 90, 677, 543, 476,
1475 1476, 679, 1095, 880, 882, 679, 649, 137, -181, 661,
1476 -181, 543, 468, 1480, 668, 831, 216, 662, -6, 26,
1477 1456, 130, 131, 252, 1027, 90, 249, 127, 128, 802,
1478 536, 537, 92, 217, 690, 863, 1473, 771, 481, 720,
1479 676, 438, 679, 854, 676, 864, 1138, 1139, 679, 870,
1480 1199, 693, 807, 415, 418, 733, 1201, 1202, 345, 865,
1481 1199, 1204, 8, 9, 1202, 677, 715, 8, 9, 208,
1482 738, 359, 15, 1026, 783, 438, 784, 677, 785, 130,
1483 131, 676, 415, 418, 127, 128, 786, 676, 793, 794,
1484 679, 811, 674, 15, 813, 814, 704, -411, 1361, 674,
1485 59, 816, 871, 248, 873, 768, 359, 887, 889, 891,
1486 677, 359, 677, 914, 130, 131, 679, 925, 915, 130,
1487 131, 924, 1456, 928, 129, -411, -411, 930, 679, 676,
1488 127, 128, 773, 252, 26, 504, 130, 131, 248, 20,
1489 807, 938, 1456, 507, 1329, 1330, 939, 1339, 1340, 952,
1490 1342, 72, -294, 345, 958, 676, 772, 378, 379, 380,
1491 441, 679, 765, 679, 127, 128, 680, 676, 127, 1341,
1492 -820, 1552, 154, 154, 154, 994, 1530, 998, 1242, 978,
1493 26, 979, 130, 131, -574, 999, 980, -574, 1003, 985,
1494 58, 1403, 1005, 1408, 1045, 508, 514, 677, 1405, 771,
1495 676, 1456, 676, 972, 127, 128, 515, 674, 26, 706,
1496 382, 383, 359, 1062, 26, 1063, 130, 131, 1595, 1297,
1497 130, 131, 891, 1289, 1064, 1065, 720, 211, 212, 1240,
1498 514, 232, 802, 14, -574, 1066, -574, -574, 1067, -574,
1499 515, 1068, 1069, 1070, 507, 1071, 1256, 1257, 679, 1072,
1500 -574, 1296, -574, -140, 26, 20, 130, 131, 1074, 1077,
1501 1075, 1078, 59, 1079, 23, 674, 1080, 768, -574, -574,
1502 72, 674, 1081, 1421, 1422, 1256, 1257, 679, 1094, 1098,
1503 1096, 1288, 335, -574, 335, 1097, 335, 676, 116, 747,
1504 748, 1099, 749, 1105, 773, 95, 96, 97, 1106, 221,
1505 222, 223, 536, 537, 1107, 1132, 1402, 1125, 1402, 58,
1506 1115, 438, 438, 72, 1113, 750, 676, 1116, 772, 1118,
1507 1128, 1092, 751, 18, 765, 1131, 1153, 1176, 224, 1182,
1508 1200, 335, 1205, 335, 15, 1209, 1213, 1229, -411, 26,
1509 438, 119, 120, 1297, 1218, 1219, 26, 1220, 98, 99,
1510 225, 205, 58, 1297, 1221, 543, 1226, 1289, 1228, 513,
1511 1297, 1427, 1428, 1230, 1289, 1233, -411, -411, 1241, 807,
1512 1237, -411, 1487, 1488, 1489, 1296, 8, 9, 674, 1518,
1513 12, 13, 674, 1243, 1244, 1296, 14, 95, 96, 97,
1514 415, 418, 1296, 1249, 72, 226, 227, 228, 1245, 712,
1515 16, 1248, 17, 1252, 72, 1288, 718, 1255, 20, 1260,
1516 1161, 72, 1309, 1318, 1319, 1288, 581, 23, 1322, 674,
1517 448, 548, 1288, 1549, 1326, 674, 26, -655, 130, 131,
1518 478, 1520, 1521, 58, 1348, 152, 1349, 1355, 26, -300,
1519 98, 99, 100, 58, 574, 575, 576, 577, 578, 1359,
1520 58, 1360, 1365, 1366, -300, 582, 583, 1367, -300, 1183,
1521 584, 585, 586, 587, 1368, 857, 1398, 674, 1375, 1384,
1522 799, 1385, 1386, 1400, -300, 1413, 1459, 152, 95, 110,
1523 111, 1464, 221, 222, 223, 1460, -300, -300, 1416, -300,
1524 1440, -300, 1466, 674, 438, 438, 1441, 438, 438, 1571,
1525 438, 1442, 378, 379, 380, 674, 18, 1443, 1500, 1448,
1526 534, 224, 1533, 1297, 1297, 1500, 371, 1289, 1297, 1467,
1527 -300, -300, 1289, 217, 1474, 95, 110, 111, 498, 1495,
1528 852, 112, 113, 1496, 345, -300, 853, 1504, 674, 1514,
1529 674, 1515, 1524, 1526, 1532, 1296, 1296, 381, 335, 1541,
1530 1296, 677, 1542, 1550, 151, 382, 383, 1553, 1297, 293,
1531 1563, 1551, 1289, 21, 72, 72, 293, 1297, 1567, 72,
1532 1574, 1289, 1575, 906, 1578, 1288, 1288, 1581, 112, 113,
1533 1288, 1583, 1584, 731, 732, 1588, 1592, 1597, 1596, 1599,
1534 1296, 1604, 208, 216, 1605, 1500, 1607, 1608, 291, 1296,
1535 1, 5, 679, 58, 58, 291, 156, 430, 58, 72,
1536 536, 537, 1471, 7, 8, 246, 10, 1297, 72, 927,
1537 1288, 1289, 1135, 438, 438, 674, 429, 543, 427, 1288,
1538 116, 117, 118, 152, 152, 152, 696, 1548, 1037, 127,
1539 128, 676, 709, 713, 13, 1261, 293, 355, 58, 1296,
1540 713, 21, 154, 405, 674, 1297, 1603, 58, 247, 1289,
1541 1455, 1358, 152, 152, 152, 101, 27, 28, 72, 416,
1542 419, 519, 977, 115, 1350, 1351, 1352, 1353, 1127, 1288,
1543 490, 1126, 605, 119, 120, 291, 1188, 1296, 1320, 26,
1544 248, 130, 131, 1207, 154, 1343, 1039, 917, 32, 858,
1545 1124, 471, 386, 602, 1411, 606, 72, 58, 1306, 1570,
1546 1582, 1587, 151, 335, 713, 607, 229, 1288, 1545, 1589,
1547 1175, 1417, 438, 438, 438, 608, 217, 0, 609, 610,
1548 95, 110, 111, 0, 650, 651, 652, 1388, 0, 0,
1549 0, 1023, 1024, 9, 10, 58, 335, 0, 709, 0,
1550 0, 828, 829, 0, 833, 834, 835, 836, 837, 838,
1551 839, 840, 841, 842, 843, 844, 845, 846, 847, 848,
1552 849, 850, 851, 0, 713, 384, 0, 0, 0, 21,
1553 713, 438, 438, 112, 113, 0, 0, 1000, 95, 409,
1554 410, 0, 26, 0, 27, 28, 0, 411, 1191, 0,
1555 1025, 0, 0, 0, 0, 1082, 1083, 0, 189, 254,
1556 713, 1088, 1445, 0, 0, 0, 0, 713, 190, 0,
1557 0, 0, 0, 0, 0, 1100, 32, 1101, 1047, 1102,
1558 0, 191, 0, 254, 1052, 0, 0, 0, 0, 919,
1559 921, 98, 113, 0, 0, 1465, 545, 0, 0, 438,
1560 154, 154, 154, 0, 0, 335, 0, 7, 8, 9,
1561 10, 0, 254, 13, 0, 596, 0, 296, 390, 391,
1562 10, 254, 597, 0, 1130, 0, 611, 611, 611, 154,
1563 154, 154, 0, 0, 486, 488, 0, 624, 8, 9,
1564 10, 0, 95, 96, 97, 21, 0, 0, 499, 0,
1565 152, 605, 709, 0, 0, 21, 0, 0, 26, 1498,
1566 27, 28, 598, 0, 0, 831, 1498, 1151, 26, 0,
1567 27, 315, 304, 625, 940, 21, 0, 0, 254, 0,
1568 0, 0, 0, 0, 941, 543, 0, 1108, 26, 1109,
1569 130, 131, 32, 0, 608, 98, 99, 942, 610, 95,
1570 96, 97, 599, 0, 7, 8, 9, 10, 1011, 0,
1571 0, 0, 254, 0, 0, 0, 0, 0, 535, 0,
1572 152, 152, 152, 0, 0, 0, 0, 335, 335, 674,
1573 335, 614, 618, 621, 416, 419, 0, 254, 0, 0,
1574 0, 0, 21, 0, 359, 713, 1498, 0, 0, 95,
1575 110, 111, 98, 99, 0, 26, 0, 27, 28, 0,
1576 643, 188, 1573, 7, 127, 128, 10, 1073, 0, 653,
1577 0, 189, 0, 0, 116, 747, 748, 296, 8, 9,
1578 10, 190, 643, 0, 1586, 95, 110, 111, 0, 32,
1579 0, 831, 0, 545, 191, 0, 545, 0, 0, 713,
1580 713, 21, 112, 113, 709, 713, 0, 0, 247, 0,
1581 0, 0, 416, 812, 0, 21, 27, 28, 0, 713,
1582 0, 713, 247, 713, 0, 0, 545, 119, 120, 254,
1583 27, 315, 0, 0, 0, 0, 0, 0, 112, 1468,
1584 248, 0, 0, 0, 80, 0, 0, 0, 32, 0,
1585 0, 1214, 0, 1216, 104, 1262, 0, 1263, 1123, 1264,
1586 0, 0, 32, 0, 133, 0, 0, 154, 713, 0,
1587 142, 142, 0, 142, 0, 80, 0, 7, 8, 9,
1588 10, 0, 80, 335, 0, 0, 254, 902, 611, 611,
1589 746, 611, 0, 0, 0, 199, 1147, 80, 901, 0,
1590 0, 0, 0, 0, 0, 233, 0, 0, 1247, 0,
1591 0, 713, 104, 0, 0, 21, 0, 0, 0, 711,
1592 0, 0, 247, 258, 104, 0, 711, 0, 713, 0,
1593 27, 28, 0, 0, 0, 0, 0, 154, 154, 154,
1594 0, 0, 0, 95, 110, 111, 104, 0, 0, 0,
1595 0, 0, 0, 1364, 248, 824, 611, 0, 611, 611,
1596 0, 611, 32, 0, 0, 0, 0, 0, 254, 1198,
1597 296, 8, 9, 10, 133, 0, 80, 0, 0, 0,
1598 142, 0, 0, 407, 142, 0, 1321, 142, 142, 142,
1599 711, 1325, 0, 881, 883, 254, 112, 1470, 0, 872,
1600 0, 80, 611, 0, 0, 80, 0, 0, 21, 0,
1601 0, 199, 80, 0, 0, 247, 0, 0, 709, 709,
1602 0, 0, 1227, 27, 315, 0, 0, 0, 0, 199,
1603 199, 199, 0, 0, 0, 0, 0, 7, 8, 9,
1604 10, 0, 335, 1362, 0, 0, 0, 248, 0, 0,
1605 711, 0, 0, 0, 0, 32, 711, 0, 199, 0,
1606 0, 945, 0, 614, 618, 0, 621, 0, 934, 0,
1607 0, 0, 902, 0, 489, 21, 0, 0, 0, 951,
1608 0, 605, 254, 0, 104, 0, 711, 0, 26, 611,
1609 27, 28, 0, 711, 0, 142, 0, 0, 254, 713,
1610 0, 713, 0, 713, 940, 0, 0, 618, 0, 824,
1611 0, 709, 0, 0, 941, 0, 0, 0, 0, 0,
1612 709, 709, 32, 0, 608, 709, 0, 942, 610, 479,
1613 211, 212, 0, 104, 516, 0, 14, 0, 0, 0,
1614 1327, 1328, 0, 1436, 1437, 296, 127, 128, 10, 0,
1615 0, 0, 0, 18, 0, 0, 0, 0, 20, 0,
1616 1447, 0, 611, 0, 611, 0, 709, 23, 0, 416,
1617 812, 0, 0, 0, 0, 611, 0, 0, 104, 901,
1618 901, 901, 603, 21, 516, 516, 619, 0, 0, 0,
1619 247, 0, 0, 0, 618, 80, 0, 713, 27, 315,
1620 0, 0, 0, 0, 0, 7, 8, 9, 10, 0,
1621 0, 242, 0, 151, 0, 0, 1483, 1484, 0, 0,
1622 0, 1383, 611, 611, 611, 0, 0, 0, 0, 133,
1623 32, 0, 0, 0, 0, 1493, 1494, 0, 104, 0,
1624 199, 104, 0, 21, 0, 0, 0, 0, 0, 605,
1625 0, 0, 0, 0, 142, 1173, 26, 142, 27, 28,
1626 0, 709, 142, 0, 0, 0, 901, 1103, 0, 1104,
1627 80, 711, 940, 0, 0, 0, 0, 1426, 0, 0,
1628 1110, 0, 941, 0, 881, 883, 0, 0, 0, 0,
1629 32, 0, 608, 0, 0, 942, 610, 0, 199, 709,
1630 199, 0, 199, 199, 199, 210, 211, 212, 199, 127,
1631 128, 0, 14, 199, 8, 9, 199, 163, 12, 13,
1632 0, 0, 717, 653, 14, 711, 711, 881, 883, 18,
1633 0, 711, 80, 0, 20, 0, 934, 0, 16, 0,
1634 17, 18, 0, 23, 0, 711, 20, 711, 0, 711,
1635 0, 713, 605, 0, 0, 23, 0, 605, 684, 26,
1636 0, 130, 131, 0, 26, 0, 130, 131, 1485, 1486,
1637 104, 104, 104, 104, 0, 606, 0, 1491, 0, 0,
1638 606, 0, 254, 0, 254, 607, 0, 0, 0, 0,
1639 607, 0, 0, 0, 711, 608, 0, 0, 609, 610,
1640 608, 0, 0, 609, 610, 1511, 0, 0, 0, 0,
1641 0, 0, 416, 419, 127, 128, 0, 0, 0, 242,
1642 611, 611, 611, 611, 611, 0, 254, 0, 611, 0,
1643 104, 0, 516, 0, 0, 0, 0, 711, 0, 0,
1644 0, 416, 1308, 0, 603, 0, 516, 516, 0, 619,
1645 0, 901, 901, 901, 711, 0, 903, 605, 0, 0,
1646 905, 0, 0, 0, 26, 0, 130, 131, 572, 573,
1647 574, 575, 576, 577, 578, 199, 1224, 0, 0, 0,
1648 606, 570, 571, 572, 573, 574, 575, 576, 577, 578,
1649 607, 0, 7, 8, 9, 10, 0, 0, 13, 133,
1650 608, 0, 0, 609, 610, 0, 133, 0, 0, 0,
1651 0, 0, 0, 254, 199, 947, 199, 199, 233, 619,
1652 0, 0, 0, 0, 0, 1103, 1104, 881, 883, 0,
1653 21, 0, 0, 1110, 709, 0, 605, 0, 611, 611,
1654 0, 611, 0, 26, 0, 27, 28, 296, 8, 9,
1655 10, 0, 0, 0, 0, 0, 881, 883, 0, 1140,
1656 199, 0, 1266, 0, 947, 127, 128, 0, 1224, 1141,
1657 504, 199, 199, 0, 199, 0, 0, 32, 0, 608,
1658 0, 0, 1142, 610, 0, 21, 0, 0, 0, 0,
1659 0, 0, 247, 0, 0, 0, 254, 0, 0, 0,
1660 27, 315, 133, 0, 0, 80, 0, 80, 605, 0,
1661 0, 0, 1034, 80, 80, 26, 0, 130, 131, 0,
1662 0, 0, 104, 254, 507, 711, 0, 711, 104, 711,
1663 0, 606, 32, 0, 0, 516, 516, 516, 0, 0,
1664 0, 607, 0, 1103, 1104, 0, 1110, 516, 0, 0,
1665 0, 608, 0, 0, 609, 610, 0, 0, 0, 0,
1666 0, 162, 0, 7, 8, 9, 10, 163, 12, 13,
1667 0, 0, 0, 0, 14, 0, 0, 0, 1173, 0,
1668 0, 0, 254, 1390, 1391, 0, 0, 0, 16, 0,
1669 17, 18, 19, 0, 0, 0, 20, 0, 0, 0,
1670 0, 21, 8, 9, 0, 23, 12, 13, 164, 0,
1671 0, 0, 14, 0, 26, 0, 27, 28, 0, 0,
1672 516, 0, 516, 711, 0, 0, 16, 0, 17, 104,
1673 30, 0, 0, 516, 20, 104, 0, 903, 903, 903,
1674 31, 0, 0, 23, 1117, 0, 0, 0, 32, 416,
1675 1308, 0, 26, 33, 130, 131, 588, 0, 34, 0,
1676 8, 9, 0, 0, 12, 242, 0, 0, 0, 0,
1677 14, 0, 1451, 0, 0, 0, 104, 83, 104, 0,
1678 199, 199, 1144, 0, 16, 0, 17, 106, 0, 0,
1679 0, 589, 20, 0, 1469, 1472, 126, 134, 210, 211,
1680 212, 23, 0, 143, 143, 14, 143, 0, 83, 0,
1681 26, 0, 130, 131, 0, 83, 0, 0, 0, 0,
1682 0, 0, 18, 0, 1144, 0, 0, 20, 143, 0,
1683 83, 0, 0, 0, 0, 0, 23, 104, 234, 0,
1684 0, 0, 0, 0, 0, 244, 0, 0, 0, 0,
1685 104, 912, 0, 1034, 0, 0, 0, 244, 0, 0,
1686 0, 0, 104, 0, 0, 7, 8, 9, 10, 163,
1687 12, 13, 1516, 0, 0, 1203, 14, 711, 0, 0,
1688 0, 0, 0, 0, 0, 80, 0, 0, 0, 0,
1689 16, 0, 17, 18, 19, 104, 0, 104, 20, 0,
1690 0, 0, 0, 21, 0, 0, 0, 23, 0, 83,
1691 164, 0, 0, 143, 0, 0, 26, 143, 27, 28,
1692 143, 143, 143, 0, 0, 104, 0, 0, 0, 0,
1693 516, 516, 30, 516, 83, 0, 0, 0, 83, 0,
1694 0, 0, 31, 0, 143, 83, 0, 0, 0, 0,
1695 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
1696 34, 0, 143, 143, 143, 0, 8, 9, 0, 163,
1697 12, 13, 0, 0, 717, 0, 14, 0, 199, 199,
1698 199, 199, 1144, 0, 0, 0, 199, 0, 0, 0,
1699 16, 143, 17, 18, 0, 0, 0, 0, 20, 0,
1700 0, 0, 0, 0, 0, 0, 0, 23, 0, 1144,
1701 1144, 1144, 0, 0, 0, 0, 26, 0, 130, 131,
1702 365, 367, 0, 0, 7, 127, 128, 10, 143, 6,
1703 242, 7, 8, 9, 10, 11, 12, 13, 0, 0,
1704 199, 0, 14, 0, 0, 142, 0, 80, 0, 0,
1705 0, 0, 0, 0, 0, 15, 16, 0, 17, 18,
1706 19, 0, 21, 0, 20, 0, 244, 143, 0, 21,
1707 0, 0, 22, 23, 24, 26, 25, 27, 28, 0,
1708 0, 0, 26, 0, 27, 28, 0, 0, 29, 0,
1709 0, 30, 0, 0, 0, 0, 199, 199, 30, 199,
1710 0, 31, 0, 0, 0, 0, 0, 0, 31, 32,
1711 0, 244, 0, 0, 33, 604, 32, 143, 143, 620,
1712 0, 33, 0, 0, 629, 0, 34, 0, 83, 0,
1713 0, 0, 0, 0, 0, 199, 947, 199, 564, 565,
1714 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
1715 576, 577, 578, 760, 104, 7, 8, 761, 10, 163,
1716 12, 13, 666, 0, 0, 0, 14, 0, 0, 0,
1717 0, 244, 0, 143, 244, 0, 0, 0, 0, 0,
1718 16, 0, 17, 18, 19, 0, 0, 143, 20, -521,
1719 143, 0, 0, 21, 0, 143, 0, 23, 762, 0,
1720 164, 0, 0, 83, 0, 0, 26, 0, 27, 28,
1721 0, 0, 763, 0, 764, 0, 0, 7, 127, 128,
1722 10, 0, 30, 13, 7, 8, 9, 10, 0, 0,
1723 13, 143, 31, 143, 0, 143, 143, 143, 547, 0,
1724 32, 143, 0, 0, 0, 33, 143, 1144, 0, 143,
1725 0, 0, 0, 0, 0, 21, 0, 0, 0, 0,
1726 0, -521, 21, 0, 759, 83, 0, 0, 26, 0,
1727 27, 28, 0, 0, 0, 26, 0, 27, 28, 0,
1728 0, 0, 0, 0, 147, 0, 0, 0, 0, 0,
1729 0, 189, 0, 0, 148, 0, 0, 0, 0, 0,
1730 0, 190, 32, 244, 244, 244, 244, 149, 0, 32,
1731 0, 673, 0, 0, 191, 0, 0, 1144, 1144, 1144,
1732 7, 8, 9, 10, 163, 12, 13, 0, 0, 717,
1733 0, 14, 7, 8, 9, 10, 104, 0, 504, 0,
1734 0, 199, 0, 0, 0, 16, 0, 17, 18, 0,
1735 0, 0, 0, 20, 0, 0, 0, 0, 21, 0,
1736 0, 0, 23, 244, 605, 143, 0, 0, 0, 719,
1737 21, 26, 0, 27, 28, 0, 605, 0, 0, 143,
1738 143, 0, 620, 26, 0, 27, 28, 1140, 0, 904,
1739 0, 0, 0, 0, 0, 0, 0, 1141, 0, 940,
1740 0, 0, 629, 0, 0, 32, 0, 608, 143, 941,
1741 1142, 610, 0, 0, 0, 0, 0, 32, 0, 608,
1742 0, 0, 942, 610, 0, 0, 0, 0, 0, 0,
1743 0, 0, 666, 0, 0, 800, 0, 0, 803, 0,
1744 126, 0, 805, 806, 808, 809, 810, 143, 620, 143,
1745 143, 234, 620, 0, 0, 547, 567, 568, 569, 570,
1746 571, 572, 573, 574, 575, 576, 577, 578, 827, 0,
1747 0, 0, 0, 0, 759, 0, 0, 0, 459, 461,
1748 465, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1749 0, 0, 0, 143, 0, 0, 0, 620, 0, 0,
1750 0, 0, 0, 0, 143, 143, 0, 143, 0, 0,
1751 8, 9, 0, 0, 12, 242, 0, 0, 0, 0,
1752 14, 0, 884, 0, 0, 0, 0, 0, 0, 884,
1753 0, 0, 0, 0, 16, 134, 17, 0, 83, 0,
1754 83, 0, 20, 0, 0, 1035, 83, 83, 0, 0,
1755 0, 23, 0, 605, 0, 244, 0, 0, 0, 0,
1756 26, 244, 130, 131, 0, 0, 0, 0, 143, 143,
1757 143, 0, 0, 0, 0, 0, 606, 0, 0, 0,
1758 143, 0, 0, 0, 0, 0, 607, 51, 0, 0,
1759 0, 0, 0, 0, 0, 0, 608, 0, 0, 609,
1760 610, 0, 0, 0, 0, 0, -383, 8, 9, -383,
1761 -383, 12, 242, 51, 51, 0, 150, 14, 51, 0,
1762 0, 0, 0, 0, 0, 51, 0, 0, 0, 0,
1763 0, 16, 0, 17, -383, 0, 0, 673, 51, 20,
1764 51, 0, 0, 0, -383, 0, 0, 0, 23, 0,
1765 605, 0, 0, 143, 0, 143, 0, 26, 0, 130,
1766 131, 0, 244, 250, 0, 0, 143, 0, 244, 0,
1767 904, 904, 904, 606, 0, 0, 0, 629, 0, 0,
1768 0, 0, 0, 607, 0, 0, 0, 0, 0, 0,
1769 0, -383, 0, 608, 0, 719, 609, 610, 0, 0,
1770 0, 719, 0, 0, 0, 0, 0, 0, 0, 244,
1771 0, 244, 0, 143, 143, 620, 392, 392, 0, 51,
1772 0, 0, 0, 51, 0, 250, 0, 51, 0, 0,
1773 150, 150, 150, 0, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 0, 51, 0, 0, 729, 51, 730,
1775 0, 459, 461, 465, 51, 51, 0, 904, 0, 0,
1776 0, 0, 741, 0, 0, 0, 0, 0, 0, 1084,
1777 244, 0, 51, 51, 150, 0, 0, 0, 0, 0,
1778 0, 759, 250, 244, 127, 128, 1035, 0, 211, 212,
1779 0, 0, 0, 0, 14, 244, 0, 0, 0, 0,
1780 0, 51, 827, 0, 0, 0, 0, 0, 719, 0,
1781 0, 0, 884, 0, 0, 0, 20, 0, 83, 0,
1782 0, 0, 0, 0, 0, 23, 0, 605, 244, 0,
1783 244, 0, 0, 0, 26, 0, 130, 131, 51, 0,
1784 0, 0, 0, 18, 0, 0, 0, 0, 0, 673,
1785 606, 1136, 0, 0, 0, 884, 0, 0, 244, 0,
1786 607, 0, 0, 143, 143, 0, 143, 0, 0, 0,
1787 608, 0, 0, 616, 610, 557, 558, 559, 560, 561,
1788 562, 563, 564, 565, 566, 567, 568, 569, 570, 571,
1789 572, 573, 574, 575, 576, 577, 578, 884, 0, 0,
1790 0, 0, 0, 0, 0, 0, 0, 0, 544, 0,
1791 1178, 143, 143, 143, 143, 620, 1184, 0, 0, 143,
1792 0, 0, 0, 719, 0, 392, 759, 0, 0, 0,
1793 0, 0, 0, 250, 0, 719, 0, 0, 51, 0,
1794 0, 0, 904, 904, 904, 0, 0, 0, 7, 8,
1795 9, 10, 210, 211, 212, 0, 0, 0, 759, 14,
1796 0, 0, 0, 0, 0, 0, 0, 0, 719, 0,
1797 719, 0, 392, 143, 0, 0, 18, 0, 143, 0,
1798 83, 20, 0, 51, 0, 0, 21, 0, 0, 0,
1799 23, 0, 605, 0, 0, 0, 0, 51, 1232, 26,
1800 51, 27, 28, 0, 0, 51, 0, 0, 0, 0,
1801 0, 0, 0, 51, 0, 940, 0, 0, 0, 0,
1802 729, 730, 0, 741, 0, 941, 0, 0, 0, 143,
1803 143, 0, 143, 32, 0, 608, 0, 0, 942, 610,
1804 0, 51, 0, 51, 0, 150, 150, 150, 0, 0,
1805 0, 51, 0, 0, 0, 884, 51, 1394, 0, 51,
1806 0, 1032, 0, 1023, 1024, 9, 10, 0, 143, 620,
1807 143, 0, 0, 0, 0, 51, 0, 0, 0, 0,
1808 0, 0, 0, 0, 884, 0, 0, 244, 566, 567,
1809 568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
1810 578, 21, 0, 0, 0, 544, 0, 0, 544, 0,
1811 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
1812 0, 0, 1025, 544, 544, 544, 0, 0, 0, 0,
1813 189, 0, 0, 0, 0, 0, 0, 0, 544, 0,
1814 190, 0, 0, 0, 78, 0, 0, 0, 32, 7,
1815 127, 128, 10, 191, 6, 504, 7, 8, 9, 10,
1816 11, 12, 13, 0, 0, 0, 0, 14, 0, 0,
1817 78, 78, 0, 78, 0, 78, 0, 0, 0, 0,
1818 904, 16, 78, 17, 18, 0, 250, 21, 0, 20,
1819 0, 0, 0, 0, 21, 78, 0, 78, 23, 544,
1820 26, 426, 27, 28, 0, 0, 0, 26, 0, 27,
1821 28, 0, 0, 29, 0, 0, 30, 0, 51, 0,
1822 0, 0, 0, 30, 0, 0, 31, 1178, 0, 459,
1823 461, 465, 0, 31, 32, 0, 0, 0, 0, 33,
1824 0, 32, 392, 0, 0, 0, 33, 0, 155, 392,
1825 904, 904, 904, 0, 0, 0, 0, 51, 51, 51,
1826 51, 0, 0, 0, 0, 0, 0, 0, 0, 244,
1827 200, 0, 0, 465, 143, 0, 78, 0, 0, 0,
1828 78, 0, 0, 0, 78, 0, 0, 78, 78, 78,
1829 0, 0, 0, 0, 8, 9, 0, 163, 12, 13,
1830 0, 78, 1032, 51, 14, 78, 0, 51, 0, 0,
1831 0, 78, 78, 0, 51, 51, 0, 51, 16, 0,
1832 17, 18, 0, 0, 0, 0, 20, 0, 0, 78,
1833 78, 78, 0, 0, 0, 667, 0, 0, 164, 0,
1834 0, 0, 0, 0, 26, 0, 130, 131, 51, 0,
1835 51, 0, 0, 0, 0, 51, 51, 51, 78, 0,
1836 0, 0, 155, 155, 155, 561, 562, 563, 564, 565,
1837 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
1838 576, 577, 578, 0, 544, 0, 200, 0, 0, 0,
1839 0, 0, 547, 0, 0, 78, 0, 0, 0, 0,
1840 0, 0, 0, 0, 200, 200, 466, 0, 0, 673,
1841 0, 7, 8, 9, 10, 210, 211, 212, 0, 0,
1842 0, 0, 14, 0, 0, 0, 0, 729, 730, 459,
1843 461, 465, 0, 200, 0, 741, 0, 0, 0, 18,
1844 0, 0, 0, 0, 20, 0, 0, 0, 0, 21,
1845 0, 0, 0, 23, 0, 605, 0, 0, 459, 461,
1846 465, 0, 26, 0, 27, 28, 7, 8, 9, 10,
1847 210, 211, 212, 0, 0, 0, 0, 14, 940, 0,
1848 544, 544, 544, 0, 0, 0, 250, 0, 941, 1337,
1849 0, 628, 0, 0, 18, 78, 32, 0, 608, 20,
1850 0, 984, 610, 0, 21, 0, 0, 0, 23, 517,
1851 605, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1852 28, 0, 0, 51, 51, 150, 0, 0, 0, 0,
1853 250, 0, 0, 189, 0, 0, 0, 0, 0, 0,
1854 78, 0, 0, 190, 0, 729, 730, 0, 741, 0,
1855 0, 32, 0, 0, 78, 0, 1407, 78, 0, 613,
1856 613, 613, 78, 0, 0, 0, 0, 1172, 0, 0,
1857 78, 0, 1331, 1332, 9, 10, 0, 127, 128, 0,
1858 0, 211, 212, 0, 0, 0, 0, 14, 0, 0,
1859 0, 0, 0, 0, 0, 0, 51, 0, 78, 0,
1860 78, 0, 78, 78, 78, 0, 0, 0, 78, 20,
1861 21, 0, 0, 78, 0, 200, 78, 250, 23, 0,
1862 605, 0, 0, 26, 0, 27, 28, 26, 51, 130,
1863 131, 1333, 78, 0, 0, 0, 0, 0, 0, 189,
1864 0, 0, 0, 606, 0, 0, 0, 0, 0, 190,
1865 0, 0, 0, 607, 0, 0, 0, 32, 255, 0,
1866 0, 0, 191, 608, 0, 0, 609, 610, 0, 0,
1867 0, 0, 0, 200, 0, 200, 0, 466, 466, 466,
1868 0, 0, 0, 200, 0, 0, 0, 0, 200, 0,
1869 0, 200, 0, 0, 0, 0, 465, 0, 0, 0,
1870 250, 0, 0, 0, 0, 0, 0, 7, 8, 9,
1871 10, 201, 12, 202, 0, 0, 0, 0, 14, 0,
1872 0, 51, 51, 150, 150, 150, 0, 250, 0, 51,
1873 0, 422, 16, 0, 17, 18, 0, 0, 0, 0,
1874 20, 0, 0, 0, 628, 21, 0, 0, 0, 23,
1875 0, 0, 1172, 1172, 1172, 0, 0, 0, 26, 0,
1876 27, 28, 0, 457, 203, 0, 459, 461, 465, 0,
1877 0, 0, 0, 0, 30, 78, 473, 8, 9, 0,
1878 163, 12, 13, 51, 31, 1529, 0, 14, 51, 0,
1879 51, 0, 32, 0, 0, 0, 0, 33, 0, 0,
1880 0, 16, 0, 17, 18, 0, 0, 866, 0, 20,
1881 0, 0, 0, 0, 78, 78, 78, 78, 23, 0,
1882 0, 613, 613, 0, 613, 0, 198, 26, 0, 130,
1883 131, 613, 0, 0, 0, 76, 0, 0, 0, 51,
1884 51, 0, 51, 0, 0, 0, 0, 0, 0, 0,
1885 200, 253, 0, 0, 257, 7, 127, 128, 10, 0,
1886 78, 141, 145, 0, 78, 0, 76, 0, 0, 0,
1887 0, 78, 78, 76, 78, 253, 0, 361, 51, 51,
1888 51, 0, 0, 0, 0, 0, 0, 0, 209, 944,
1889 0, 944, 944, 21, 613, 0, 0, 0, 0, 0,
1890 0, 7, 8, 9, 10, 78, 26, 78, 27, 28,
1891 0, 0, 78, 78, 78, 0, 0, 0, 0, 0,
1892 0, 0, 147, 0, 0, 0, 0, 0, 7, 8,
1893 9, 10, 148, 0, 242, 944, 0, 0, 0, 21,
1894 32, 0, 198, 0, 0, 149, 200, 200, 0, 200,
1895 0, 0, 26, 0, 27, 28, 0, 0, 1401, 0,
1896 198, 198, 198, 0, 0, 0, 21, 403, 189, 0,
1897 472, 406, 0, 0, 0, 408, 0, 0, 190, 26,
1898 0, 27, 28, 0, 0, 0, 32, 200, 0, 198,
1899 1172, 191, 76, 0, 0, 189, 76, 0, 7, 8,
1900 9, 10, 0, 209, 13, 190, 0, 0, 0, 0,
1901 517, 517, 517, 32, 0, 257, 0, 0, 191, 0,
1902 141, 145, 613, 0, 0, 0, 0, 0, 0, 253,
1903 0, 0, 0, 0, 0, 0, 21, 0, 0, 0,
1904 0, 0, 734, 0, 628, 0, 0, 740, 0, 26,
1905 0, 27, 28, 0, 0, 0, 1331, 127, 128, 10,
1906 1172, 1172, 1172, 0, 0, 462, 0, 0, 0, 0,
1907 0, 0, 781, 0, 0, 463, 0, 0, 787, 0,
1908 78, 78, 78, 32, 51, 0, 505, 0, 464, 0,
1909 795, 796, 0, 797, 21, 613, 0, 613, 0, 0,
1910 0, 0, 0, 0, 0, 0, 0, 26, 613, 27,
1911 28, 0, 613, 613, 613, 1333, 0, 0, 0, 0,
1912 0, 253, 257, 30, 1174, 0, 0, 0, 0, 0,
1913 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1914 0, 32, 0, 0, 0, 0, 33, 0, 0, 0,
1915 0, 0, 0, 78, 0, 944, 944, 1145, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1917 0, 198, 0, 7, 8, 9, 10, 163, 12, 13,
1918 0, 0, 989, 0, 14, 78, 637, 0, 892, 893,
1919 0, 0, 0, 892, 0, 0, 0, 0, 16, 1145,
1920 17, 18, 0, 0, 0, 0, 20, 0, 0, 0,
1921 0, 21, 0, 0, 0, 23, 0, 7, 8, 9,
1922 10, 0, 0, 504, 26, 0, 27, 28, 200, 198,
1923 0, 198, 0, 198, 198, 198, 0, 0, 0, 198,
1924 30, 0, 0, 0, 198, 688, 0, 198, 689, 0,
1925 31, 0, 0, 691, 0, 21, 0, 0, 32, 0,
1926 0, 76, 0, 33, 0, 0, 0, 0, 26, 0,
1927 27, 28, 0, 0, 7, 8, 9, 10, 78, 78,
1928 78, 78, 78, 0, 189, 0, 78, 0, 0, 406,
1929 0, 408, 0, 0, 190, 0, 0, 0, 0, 0,
1930 0, 0, 32, 0, 505, 866, 866, 191, 866, 1174,
1931 1174, 1174, 21, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 777, 0, 26, 0, 27, 28, 0,
1933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1934 78, 189, 0, 0, 0, 78, 0, 78, 0, 0,
1935 0, 190, 0, 944, 944, 1145, 1145, 1145, 0, 32,
1936 0, 944, 0, 0, 191, 1054, 0, 1056, 0, 0,
1937 0, 0, 0, 0, 0, 0, 7, 8, 9, 10,
1938 201, 12, 202, 0, 1145, 1145, 1145, 14, 0, 0,
1939 253, 257, 0, 0, 0, 0, 78, 78, 0, 78,
1940 0, 16, 0, 17, 18, 0, 198, 0, 0, 20,
1941 0, 0, 0, 0, 21, 200, 0, 0, 23, 0,
1942 0, 0, 0, 0, 0, 0, 0, 26, 0, 27,
1943 28, 0, 0, 1404, 0, 78, 78, 78, 0, 1090,
1944 1091, 0, 1093, 30, 0, 198, 0, 198, 198, 0,
1945 0, 0, 0, 31, 0, 0, 0, 0, 0, 0,
1946 0, 32, 0, 8, 9, 0, 33, 12, 13, 0,
1947 1111, 944, 944, 14, 944, 0, 0, 0, 0, 0,
1948 0, 7, 8, 9, 10, 0, 0, 16, 0, 17,
1949 0, 198, 0, 0, 0, 20, 0, 0, 0, 0,
1950 0, 0, 198, 198, 23, 198, 946, 0, 0, 0,
1951 200, 0, 200, 26, 0, 130, 131, 0, 0, 21,
1952 1146, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953 257, 0, 26, 0, 27, 28, 0, 0, 0, 0,
1954 0, 0, 0, 198, 0, 0, 0, 1174, 462, 8,
1955 9, 0, 201, 12, 202, 990, 0, 0, 463, 14,
1956 0, 0, 688, 689, 0, 691, 32, 0, 0, 0,
1957 0, 464, 0, 16, 0, 17, 18, 0, 0, 0,
1958 0, 20, 0, 0, 0, 1189, 0, 0, 0, 0,
1959 23, 0, 0, 0, 0, 0, 777, 1194, 777, 26,
1960 0, 130, 131, 1033, 1040, 777, 0, 0, 0, 0,
1961 0, 0, 0, 0, 0, 0, 102, 1174, 1174, 1174,
1962 0, 0, 466, 0, 0, 121, 102, 0, 0, 0,
1963 0, 0, 102, 102, 0, 102, 0, 0, 0, 0,
1964 0, 78, 0, 0, 0, 0, 0, 0, 0, 0,
1965 0, 0, 0, 7, 8, 9, 10, 163, 12, 13,
1966 0, 0, 0, 0, 14, 0, 0, 231, 0, 0,
1967 0, 0, 0, 0, 253, 257, 253, 0, 16, 0,
1968 17, 18, 1246, 0, 0, 0, 20, 0, 0, 0,
1969 0, 21, 466, 466, 466, 23, 0, 0, 0, 0,
1970 0, 0, 0, 0, 26, 0, 27, 28, 0, 0,
1971 0, 198, 198, 1143, 0, 0, 200, 0, 253, 0,
1972 30, 1259, 0, 0, 0, 0, 385, 0, 121, 0,
1973 31, 0, 0, 0, 0, 102, 102, 0, 32, 0,
1974 0, 0, 102, 33, 102, 102, 102, 0, 412, 102,
1975 102, 102, 0, 0, 0, 1143, 565, 566, 567, 568,
1976 569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
1977 0, 141, 145, 760, 0, 7, 8, 761, 10, 163,
1978 12, 13, 0, 0, 198, 1346, 14, 0, 0, 1347,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 16, 0, 17, 18, 19, 472, 0, 0, 20, -522,
1981 0, 0, 0, 21, 0, 0, 0, 23, 762, 0,
1982 164, 0, 0, 0, 1363, 0, 26, 0, 27, 28,
1983 0, 0, 763, 0, 764, 487, 102, 0, 0, 0,
1984 0, 0, 30, 0, 1033, 0, 0, 0, 0, 0,
1985 0, 0, 31, 0, 0, 0, 0, 102, 0, 0,
1986 32, 0, 0, 0, 0, 33, 0, 0, 0, 0,
1987 0, 0, 0, 0, 0, 0, 777, 0, 0, 0,
1988 0, -522, 0, 0, 0, 0, 0, 0, 253, 0,
1989 0, 0, 0, 0, 0, 0, 102, 0, 1419, 0,
1990 0, 0, 1420, 0, 0, 0, 0, 0, 0, 198,
1991 198, 198, 198, 1143, 0, 1258, 0, 198, 0, 0,
1992 0, 0, 0, 0, 1438, 1439, 0, 0, 0, 0,
1993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 1143, 1143, 1143, 0, 102, 0, 102, 102, 562, 563,
1995 564, 565, 566, 567, 568, 569, 570, 571, 572, 573,
1996 574, 575, 576, 577, 578, 0, 0, 0, 0, 406,
1997 408, 198, 0, 0, 0, 0, 0, 505, 0, 0,
1998 0, 0, 0, 0, 0, 0, 0, 0, 0, 1461,
1999 0, 102, 563, 564, 565, 566, 567, 568, 569, 570,
2000 571, 572, 573, 574, 575, 576, 577, 578, 0, 102,
2001 0, 0, 0, 0, 0, 0, 102, 0, 0, 102,
2002 0, 0, 0, 0, 102, 0, 0, 198, 198, 0,
2003 198, 1338, 0, 0, 0, 0, 1338, 0, 777, 1462,
2004 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2005 567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
2006 577, 578, 0, 0, 0, 0, 198, 0, 198, 0,
2007 0, 0, 0, 1432, 0, -475, -475, -475, -475, -475,
2008 -475, -475, 0, 0, -475, 0, -475, 688, 689, 0,
2009 691, 102, 0, 752, 0, 0, 0, -475, 0, -475,
2010 0, 0, 0, -475, 0, 0, 0, 0, -475, 0,
2011 0, 0, 0, -475, 0, 0, 0, -475, 102, -475,
2012 0, 0, 0, 0, 0, 0, -475, 1406, -475, -475,
2013 -475, -475, -475, 0, -475, -475, -475, -475, -475, -475,
2014 -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
2015 -475, -475, -475, -475, -475, -475, -475, 0, -475, -475,
2016 -475, 0, -475, -475, -475, -475, -475, -475, 0, -475,
2017 0, 0, 0, 0, 1433, 0, 0, 0, 1143, -475,
2018 -475, -475, 0, -475, 760, 0, 7, 8, 761, 10,
2019 163, 12, 13, 0, 102, 0, 0, 14, 0, 0,
2020 0, 0, 0, 0, 0, 102, 102, 0, 102, 102,
2021 0, 16, 0, 17, 18, 19, 0, 0, 0, 20,
2022 0, 0, 0, 0, 21, 0, 0, 0, 23, 762,
2023 0, 164, 0, 0, 0, 0, 0, 26, 0, 27,
2024 28, 0, 0, 763, 0, 764, 0, 0, 1143, 1143,
2025 1143, 0, 0, 30, 0, 0, 0, 0, 0, 0,
2026 0, 102, 0, 31, 0, 0, 0, 0, 102, 121,
2027 0, 32, 198, 0, 0, 0, 33, 0, 0, 0,
2028 231, 539, 0, 296, 8, 9, 10, 163, 12, 297,
2029 298, 299, 717, 300, 14, 0, 0, 0, 0, 0,
2030 0, 0, 0, 752, 0, 0, 0, 0, 16, 301,
2031 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2032 306, 21, 307, 308, 0, 23, 0, 605, 0, 309,
2033 310, 311, 312, 313, 26, 0, 27, 315, -308, 0,
2034 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2035 897, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2036 898, 752, 0, 0, 102, 0, 322, 323, 324, 0,
2037 608, 0, 0, 899, 610, 0, 0, 0, 0, 0,
2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039 326, 0, 0, 0, 0, 0, 0, 102, 102, 102,
2040 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
2041 0, 1409, 0, 1269, 1270, 1271, 10, 163, 12, 297,
2042 298, 299, 0, 300, 14, 1272, 0, 1273, 1274, 1275,
2043 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15, 16, 301,
2044 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2045 306, 21, 307, 308, 1283, 23, 1284, 0, 0, 309,
2046 310, 311, 312, 313, 26, 0, 1285, 315, 704, 0,
2047 1286, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2048 318, 0, 102, 0, 102, 0, 0, 0, 319, 320,
2049 321, 0, 0, 0, 0, 102, 322, 323, 324, 0,
2050 0, 0, 0, 325, 0, 1287, 0, 0, 0, 0,
2051 0, 0, 0, 0, 0, 0, 0, 0, 0, 1410,
2052 326, 1268, 0, 1269, 1270, 1271, 10, 163, 12, 297,
2053 298, 299, 0, 300, 14, 1272, 0, 1273, 1274, 1275,
2054 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15, 16, 301,
2055 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2056 306, 21, 307, 308, 1283, 23, 1284, 0, 0, 309,
2057 310, 311, 312, 313, 26, 0, 1285, 315, 704, 0,
2058 1286, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2059 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2060 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2061 752, 0, 0, 325, 0, 1287, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063 326, 0, 0, 0, 0, 0, 0, 102, 557, 558,
2064 559, 560, 561, 562, 563, 564, 565, 566, 567, 568,
2065 569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
2066 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067 0, 539, 0, 7, 8, 9, 10, 163, 12, 297,
2068 298, 299, 717, 300, 14, 0, 1222, 0, 0, 0,
2069 0, 0, 102, 102, 0, 102, 0, 0, 16, 301,
2070 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2071 306, 21, 307, 308, 0, 23, 0, 605, 0, 309,
2072 310, 311, 312, 313, 26, 0, 27, 28, -308, 0,
2073 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2074 1169, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2075 1170, 0, 0, 0, 0, 752, 322, 323, 324, 0,
2076 608, 0, 0, 1171, 610, 0, 0, 0, 0, 0,
2077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2078 326, 0, 0, 0, 0, 0, 716, 752, 296, 8,
2079 9, 10, 163, 12, 297, 298, 299, 717, 300, 14,
2080 0, 0, 0, 0, 0, 102, 0, 102, 0, 0,
2081 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
2082 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2083 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2084 0, 27, 315, 0, 0, 0, 316, 0, 0, 0,
2085 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2086 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2087 0, 322, 323, 324, 0, 0, 0, 830, 325, 296,
2088 8, 9, 10, 163, 12, 297, 298, 299, 0, 300,
2089 14, 0, 0, -791, 0, 326, 0, 0, 0, 0,
2090 0, 0, 0, 0, 16, 301, 17, 18, 19, 0,
2091 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2092 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2093 26, 0, 27, 315, 1506, 0, -781, 316, 0, 0,
2094 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2095 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2096 0, 0, 322, 323, 324, 0, 0, 0, 707, 325,
2097 818, 819, 820, 10, 0, 12, 521, 298, 299, 0,
2098 300, 14, 0, 0, 0, 0, 326, 0, 0, 0,
2099 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2100 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2101 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2102 313, 26, 0, 821, 822, 708, 0, 0, 316, 0,
2103 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2104 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2105 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2106 325, 823, 707, 0, 818, 819, 820, 10, 0, 12,
2107 521, 298, 299, 0, 300, 14, 976, 326, 0, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2109 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2110 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2111 309, 310, 311, 312, 313, 26, 0, 821, 822, 708,
2112 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2113 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2114 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2115 0, 0, 0, 0, 325, 823, 707, 0, 818, 819,
2116 820, 10, 0, 12, 521, 298, 299, 0, 300, 14,
2117 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2118 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2119 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2120 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2121 0, 821, 822, 708, 0, 0, 316, 0, 0, 0,
2122 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2123 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2124 0, 322, 323, 324, 0, 0, 0, 707, 325, 818,
2125 819, 820, 10, 0, 12, 521, 298, 299, 0, 300,
2126 14, 0, 0, 0, -479, 326, 0, 0, 0, 0,
2127 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2128 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2129 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2130 26, 0, 821, 822, 708, 0, 0, 316, 0, 0,
2131 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2132 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2133 0, 0, 322, 323, 324, 0, 0, 0, 707, 325,
2134 296, 8, 9, 10, 0, 12, 521, 298, 299, 0,
2135 300, 14, 0, 0, 0, 1307, 326, 0, 0, 0,
2136 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2137 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2138 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2139 313, 26, 0, 27, 315, 708, 0, 0, 316, 0,
2140 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2141 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2142 0, 0, 0, 322, 323, 324, 0, 0, 0, 0,
2143 325, 0, 539, 0, 296, 8, 9, 10, 1311, 12,
2144 297, 298, 299, 0, 300, 14, 0, 326, 0, 0,
2145 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2146 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2147 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2148 309, 310, 311, 312, 313, 26, 0, 27, 315, -308,
2149 0, 0, 316, 0, 0, 0, 0, 0, 317, 0,
2150 0, 540, 0, 0, 0, 0, 0, 0, 0, 319,
2151 320, 541, 0, 0, 0, 0, 0, 322, 323, 324,
2152 0, 0, 0, 707, 542, 296, 8, 9, 10, 0,
2153 12, 521, 298, 299, 0, 300, 14, 0, 0, 0,
2154 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2155 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2156 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2157 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2158 708, 0, 0, 316, 0, 0, 0, 0, 0, 317,
2159 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2160 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2161 324, 0, 0, 0, 830, 325, 296, 8, 9, 10,
2162 0, 12, 521, 298, 299, 0, 300, 14, 0, 0,
2163 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2164 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2165 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2166 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2167 315, 0, 0, 0, 316, -781, 0, 0, 0, 0,
2168 317, 0, 0, 318, 0, 0, 0, 0, 0, 0,
2169 0, 319, 320, 321, 0, 0, 0, 0, 0, 322,
2170 323, 324, 0, 0, 0, 539, 325, 7, 8, 9,
2171 10, 0, 12, 297, 298, 299, 0, 300, 14, 0,
2172 0, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2173 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2174 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2175 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2176 27, 28, -308, 0, 0, 316, 0, 0, 0, 0,
2177 0, 317, 0, 0, 1477, 0, 0, 0, 0, 0,
2178 0, 0, 319, 320, 1478, 0, 0, 0, 0, 0,
2179 322, 323, 324, 0, 0, 0, 1558, 1479, 296, 8,
2180 9, 10, 0, 12, 297, 298, 299, 0, 300, 14,
2181 0, 0, 0, 0, 326, 0, 0, 0, 0, 0,
2182 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2183 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2184 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2185 0, 27, 315, 0, 0, -194, 316, 0, 0, 0,
2186 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2187 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2188 0, 322, 323, 324, 0, 0, 0, 830, 325, 296,
2189 8, 9, 10, 0, 12, 521, 298, 299, 0, 300,
2190 14, 0, 0, 0, 0, 326, 0, 0, 0, 0,
2191 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2192 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2193 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2194 26, 0, 27, 315, 0, 0, 0, 316, 0, 0,
2195 0, 0, 0, 317, 259, 0, 318, 8, 9, 0,
2196 0, 12, 13, 0, 319, 320, 321, 14, 0, 0,
2197 0, 0, 322, 323, 324, 0, 0, 0, 0, 325,
2198 0, 16, 0, 17, 0, 0, 0, 0, 0, 20,
2199 0, 260, 261, 0, -781, 0, 326, 0, 23, 0,
2200 262, 0, 0, 0, 0, 0, 0, 26, 0, 130,
2201 131, 0, 263, 0, 0, 0, 264, 265, 266, 267,
2202 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
2203 278, 279, 280, 281, 282, 283, 284, 0, 0, 285,
2204 286, 287, 0, 0, 288, 0, 918, 289, 296, 8,
2205 9, 10, 0, 12, 521, 298, 299, 0, 300, 14,
2206 0, 0, 0, 290, 0, 0, 0, 0, 0, 0,
2207 0, 0, 0, 16, 301, 17, 0, 19, 0, 302,
2208 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2209 23, 0, 0, 0, 309, 310, 311, 312, 313, 26,
2210 0, 27, 315, 0, 0, 0, 316, 0, 0, 0,
2211 0, 0, 317, 0, 0, 318, 0, 0, 0, 0,
2212 0, 0, 0, 319, 320, 321, 0, 0, 0, 0,
2213 0, 322, 323, 324, 0, 0, 0, 920, 325, 296,
2214 8, 9, 10, 0, 12, 521, 298, 299, 0, 300,
2215 14, 0, 0, 0, 0, 326, 0, 0, 0, 0,
2216 0, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2217 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2218 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2219 26, 0, 27, 315, 0, 0, 0, 316, 0, 0,
2220 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2221 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2222 0, 0, 322, 323, 324, 0, 0, 0, 1490, 325,
2223 296, 8, 9, 10, 0, 12, 521, 298, 299, 0,
2224 300, 14, 0, 0, 0, 0, 326, 0, 0, 0,
2225 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2226 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2227 308, 0, 23, 0, 0, 0, 309, 310, 311, 312,
2228 313, 26, 0, 27, 315, 0, 0, 0, 316, 0,
2229 0, 0, 0, 0, 317, 0, 0, 318, 0, 0,
2230 0, 0, 0, 0, 0, 319, 320, 321, 0, 0,
2231 0, 0, 0, 322, 323, 324, 296, 8, 9, 10,
2232 325, 12, 521, 298, 299, 0, 300, 14, 0, 0,
2233 0, 0, 0, 0, 0, 0, 0, 326, 0, 0,
2234 0, 16, 301, 17, 0, 19, 0, 302, 303, 20,
2235 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2236 0, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2237 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2238 317, 0, 760, 318, 7, 8, 761, 10, 163, 12,
2239 13, 319, 320, 321, 0, 14, 0, 0, 0, 322,
2240 323, 324, 0, 0, 0, 0, 325, 0, 0, 16,
2241 0, 17, 18, 19, 0, 0, 0, 20, -524, 0,
2242 0, 0, 21, 326, 869, 0, 23, 762, 0, 164,
2243 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2244 0, 763, 0, 764, 0, 0, 0, 0, 0, 0,
2245 0, 30, 760, 0, 7, 8, 761, 10, 163, 12,
2246 13, 31, 0, 0, 0, 14, 0, 0, 0, 32,
2247 0, 0, 0, 0, 33, 0, 0, 0, 0, 16,
2248 0, 17, 18, 19, 0, 0, 0, 20, -523, 0,
2249 -524, 0, 21, 0, 0, 0, 23, 762, 0, 164,
2250 0, 0, 0, 0, 0, 26, 0, 27, 28, 0,
2251 0, 763, 0, 764, 0, 0, 0, 0, 0, 0,
2252 0, 30, 0, 0, 0, 0, 0, 0, 0, 0,
2253 0, 31, 0, 0, 0, 0, 0, 0, 0, 32,
2254 0, 0, 0, 0, 33, 0, 0, 1269, 1270, 1271,
2255 10, 163, 12, 297, 298, 299, 0, 300, 14, 1272,
2256 -523, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281,
2257 1282, 15, 16, 301, 17, 18, 19, 0, 302, 303,
2258 20, 0, 304, 305, 306, 21, 307, 308, 1283, 23,
2259 1284, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2260 1285, 315, 704, 0, 1286, 316, 0, 0, 0, 0,
2261 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2262 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2263 322, 323, 324, 0, 0, 0, 0, 325, 0, 1287,
2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2265 0, 0, 0, 1414, 326, 1269, 1270, 1271, 10, 163,
2266 12, 297, 298, 299, 0, 300, 14, 1272, 0, 1273,
2267 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15,
2268 16, 301, 17, 18, 19, 0, 302, 303, 20, 0,
2269 304, 305, 306, 21, 307, 308, 1283, 23, 1284, 0,
2270 0, 309, 310, 311, 312, 313, 26, 0, 1285, 315,
2271 704, 0, 1286, 316, 0, 0, 0, 0, 0, 317,
2272 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2273 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2274 324, 0, 0, 0, 0, 325, 0, 1287, 0, 1269,
2275 1270, 1271, 10, 163, 12, 297, 298, 299, 0, 300,
2276 14, 1272, 326, 1273, 1274, 1275, 1276, 1277, 1278, 1279,
2277 1280, 1281, 1282, 15, 16, 301, 17, 18, 19, 0,
2278 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2279 1283, 23, 1284, 0, 0, 309, 310, 311, 312, 313,
2280 26, 0, 1285, 315, 1535, 0, 1286, 316, 0, 0,
2281 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2282 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2283 0, 0, 322, 323, 324, 0, 0, 0, 0, 325,
2284 0, 1287, 0, 1269, 1270, 1271, 10, 163, 12, 297,
2285 298, 299, 0, 300, 14, 1272, 326, 1273, 1274, 1275,
2286 1276, 1277, 1278, 1279, 1280, 1281, 1282, 15, 16, 301,
2287 17, 18, 19, 0, 302, 303, 20, 0, 304, 305,
2288 306, 21, 307, 308, 1283, 23, 1284, 0, 0, 309,
2289 310, 311, 312, 313, 26, 0, 1285, 315, 0, 0,
2290 1286, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2291 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2292 321, 0, 0, 0, 0, 0, 322, 323, 324, 0,
2293 0, 0, 0, 325, 0, 1287, 296, 8, 9, 10,
2294 163, 12, 297, 298, 299, 717, 300, 14, 0, 0,
2295 326, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2296 0, 16, 301, 17, 18, 19, 0, 302, 303, 20,
2297 0, 304, 305, 306, 21, 307, 308, 0, 23, 0,
2298 605, 0, 309, 310, 311, 312, 313, 26, 0, 27,
2299 315, 0, 0, 0, 316, 0, 0, 0, 0, 0,
2300 317, 0, 0, 897, 0, 0, 0, 0, 0, 0,
2301 0, 319, 320, 898, 0, 0, 0, 0, 0, 322,
2302 323, 324, 0, 608, 0, 0, 899, 610, 7, 8,
2303 9, 10, 163, 12, 297, 298, 299, 717, 300, 14,
2304 0, 0, 0, 326, 0, 0, 0, 0, 0, 0,
2305 0, 0, 0, 16, 301, 17, 18, 19, 0, 302,
2306 303, 20, 0, 304, 305, 306, 21, 307, 308, 0,
2307 23, 0, 605, 0, 309, 310, 311, 312, 313, 26,
2308 0, 27, 28, 0, 0, 0, 316, 0, 0, 0,
2309 0, 0, 317, 0, 0, 1169, 0, 0, 0, 0,
2310 0, 0, 0, 319, 320, 1170, 0, 0, 0, 0,
2311 0, 322, 323, 324, 0, 608, 0, 0, 1171, 610,
2312 296, 8, 9, 10, 0, 12, 297, 298, 299, 0,
2313 300, 14, 0, 0, 0, 326, 0, 0, 0, 0,
2314 0, 0, 0, 0, 0, 16, 301, 17, 0, 19,
2315 0, 302, 303, 20, 0, 304, 305, 306, 21, 307,
2316 308, 0, 23, 0, 605, 0, 309, 310, 311, 312,
2317 313, 26, 0, 27, 315, 0, 0, 0, 0, 0,
2318 0, 0, 0, 0, 317, 0, 0, 897, 0, 0,
2319 0, 0, 0, 0, 0, 319, 320, 898, 0, 0,
2320 0, 0, 0, 322, 323, 324, 0, 608, 0, 0,
2321 899, 610, 7, 8, 9, 10, 0, 12, 297, 298,
2322 299, 0, 300, 14, 0, 0, 0, 326, 0, 0,
2323 0, 0, 0, 0, 0, 0, 0, 16, 301, 17,
2324 0, 19, 0, 302, 303, 20, 0, 304, 305, 306,
2325 21, 307, 308, 0, 23, 0, 605, 0, 309, 310,
2326 311, 312, 313, 26, 0, 27, 28, 0, 0, 0,
2327 0, 0, 0, 0, 0, 0, 317, 0, 0, 1169,
2328 0, 0, 0, 0, 0, 0, 0, 319, 320, 1170,
2329 0, 0, 0, 0, 0, 322, 323, 324, 0, 608,
2330 0, 0, 1171, 610, 296, 8, 9, 10, 0, 12,
2331 521, 298, 299, 0, 300, 14, 0, 0, 0, 326,
2332 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
2333 301, 17, 0, 19, 0, 302, 303, 20, 0, 304,
2334 305, 306, 21, 307, 308, 0, 23, 0, 0, 0,
2335 309, 310, 311, 312, 313, 26, 0, 27, 315, 0,
2336 0, 1387, 316, 0, 0, 0, 0, 0, 317, 0,
2337 0, 318, 0, 0, 0, 0, 0, 0, 0, 319,
2338 320, 321, 0, 0, 0, 0, 0, 322, 323, 324,
2339 0, 0, 0, 0, 325, 296, 8, 9, 10, 163,
2340 12, 297, 298, 299, 0, 300, 14, 0, 0, 0,
2341 0, 326, 0, 0, 0, 0, 0, 0, 0, 0,
2342 16, 301, 17, 18, 19, 0, 302, 303, 20, 0,
2343 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2344 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2346 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2347 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2348 324, 296, 8, 9, 10, 325, 12, 297, 298, 299,
2349 0, 300, 14, 0, 0, 0, 0, 0, 0, 0,
2350 0, 0, 326, 0, 0, 0, 16, 301, 17, 0,
2351 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2352 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2353 312, 313, 26, 0, 314, 315, 0, 0, 0, 316,
2354 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2355 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2356 0, 0, 0, 0, 322, 323, 324, 296, 8, 9,
2357 10, 325, 12, 297, 298, 299, 0, 300, 14, 0,
2358 0, 0, 0, 0, 0, 0, 0, 0, 326, 0,
2359 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2360 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2361 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2362 27, 315, 0, 0, 0, 316, 0, 0, 0, 0,
2363 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2364 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2365 322, 323, 324, 296, 8, 9, 10, 325, 12, 521,
2366 298, 299, 0, 300, 14, 0, 0, 0, 0, 0,
2367 0, 0, 0, 0, 326, 0, 0, 0, 16, 301,
2368 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2369 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2370 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2371 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2372 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2373 321, 0, 0, 0, 0, 0, 322, 323, 324, 296,
2374 8, 9, 10, 325, 12, 521, 298, 299, 0, 300,
2375 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2376 326, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2377 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2378 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2379 26, 0, 27, 315, 554, 0, 0, 0, 0, 0,
2380 0, 0, 0, 317, 0, 0, 318, 0, 0, 0,
2381 0, 0, 0, 0, 319, 320, 321, 0, 0, 0,
2382 0, 0, 322, 323, 324, 296, 8, 9, 10, 555,
2383 12, 521, 298, 299, 0, 300, 14, 0, 0, 0,
2384 0, 0, 0, 0, 0, 0, 326, 0, 0, 0,
2385 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2386 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2387 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2388 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2389 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2390 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2391 324, 0, 0, 0, 0, 325, 593, 296, 8, 9,
2392 10, 0, 12, 521, 298, 299, 0, 300, 14, 0,
2393 0, 0, 326, 0, 0, 0, 0, 0, 0, 0,
2394 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2395 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2396 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2397 27, 315, 0, 0, 0, 316, 0, 0, 0, 0,
2398 0, 317, 0, 0, 540, 0, 0, 0, 0, 0,
2399 0, 0, 319, 320, 541, 0, 0, 0, 0, 0,
2400 322, 323, 324, 1129, 8, 9, 10, 542, 12, 521,
2401 298, 299, 0, 300, 14, 0, 0, 0, 0, 0,
2402 0, 0, 0, 0, 326, 0, 0, 0, 16, 301,
2403 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2404 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2405 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2406 0, 316, 0, 0, 0, 0, 0, 317, 0, 0,
2407 318, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2408 321, 0, 0, 0, 0, 0, 322, 323, 324, 7,
2409 8, 9, 10, 325, 12, 521, 298, 299, 0, 300,
2410 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2411 326, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2412 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2413 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2414 26, 0, 27, 28, 0, 0, 0, 316, 0, 0,
2415 0, 0, 0, 317, 0, 0, 1477, 0, 0, 0,
2416 0, 0, 0, 0, 319, 320, 1478, 0, 0, 0,
2417 0, 0, 322, 323, 324, 296, 8, 9, 10, 1479,
2418 12, 521, 298, 299, 0, 300, 14, 0, 0, 0,
2419 0, 0, 0, 0, 0, 0, 326, 0, 0, 0,
2420 16, 301, 17, 0, 19, 0, 302, 303, 20, 0,
2421 304, 305, 306, 21, 307, 308, 0, 23, 0, 0,
2422 0, 309, 310, 311, 312, 313, 26, 0, 27, 315,
2423 0, 0, 0, 0, 0, 0, 0, 0, 0, 317,
2424 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
2425 319, 320, 321, 0, 0, 0, 0, 0, 322, 323,
2426 324, 296, 8, 9, 10, 522, 12, 521, 298, 299,
2427 0, 300, 14, 0, 0, 0, 0, 0, 0, 0,
2428 0, 0, 326, 0, 0, 0, 16, 301, 17, 0,
2429 19, 0, 302, 303, 20, 0, 304, 305, 306, 21,
2430 307, 308, 0, 23, 0, 0, 0, 309, 310, 311,
2431 312, 313, 26, 0, 27, 315, 0, 0, 0, 0,
2432 0, 0, 0, 0, 0, 317, 0, 0, 318, 0,
2433 0, 0, 0, 0, 0, 0, 319, 320, 321, 0,
2434 0, 0, 0, 0, 322, 323, 324, 296, 8, 9,
2435 10, 525, 12, 521, 298, 299, 0, 300, 14, 0,
2436 0, 0, 0, 0, 0, 0, 0, 0, 326, 0,
2437 0, 0, 16, 301, 17, 0, 19, 0, 302, 303,
2438 20, 0, 304, 305, 306, 21, 307, 308, 0, 23,
2439 0, 0, 0, 309, 310, 311, 312, 313, 26, 0,
2440 27, 315, 0, 0, 0, 0, 0, 0, 0, 0,
2441 0, 317, 0, 0, 318, 0, 0, 0, 0, 0,
2442 0, 0, 319, 320, 321, 0, 0, 0, 0, 0,
2443 322, 323, 324, 296, 8, 9, 10, 325, 12, 521,
2444 298, 299, 0, 300, 14, 0, 0, 0, 0, 0,
2445 0, 0, 0, 0, 326, 0, 0, 0, 16, 301,
2446 17, 0, 19, 0, 302, 303, 20, 0, 304, 305,
2447 306, 21, 307, 308, 0, 23, 0, 0, 0, 309,
2448 310, 311, 312, 313, 26, 0, 27, 315, 0, 0,
2449 0, 0, 0, 0, 0, 0, 0, 317, 0, 0,
2450 540, 0, 0, 0, 0, 0, 0, 0, 319, 320,
2451 541, 0, 0, 0, 0, 0, 322, 323, 324, 7,
2452 8, 9, 10, 542, 12, 297, 298, 299, 0, 300,
2453 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2454 326, 0, 0, 0, 16, 301, 17, 0, 19, 0,
2455 302, 303, 20, 0, 304, 305, 306, 21, 307, 308,
2456 0, 23, 0, 0, 0, 309, 310, 311, 312, 313,
2457 26, 0, 27, 28, 0, 0, 0, 0, 0, 0,
2458 0, 0, 0, 317, 0, 0, 1477, 1023, 8, 761,
2459 10, 201, 12, 202, 319, 320, 1478, 0, 14, 0,
2460 0, 0, 322, 323, 324, 0, 0, 0, 0, 1479,
2461 0, 0, 16, 0, 17, 18, 0, 0, 0, 0,
2462 20, 0, 0, 0, 0, 21, 326, 0, 0, 23,
2463 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
2464 27, 28, 0, 0, 0, 0, 1025, 0, 0, 0,
2465 0, 0, 0, 0, 30, 7, 8, 9, 10, 201,
2466 12, 202, 0, 0, 31, 0, 14, 0, 0, 0,
2467 0, 0, 32, 0, 0, 0, 0, 33, 0, 0,
2468 16, 0, 17, 18, 0, 0, 0, 0, 20, 0,
2469 0, 0, 0, 21, 0, 0, 0, 23, 0, 0,
2470 0, 0, 0, 0, 0, 0, 26, 0, 27, 28,
2471 557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
2472 567, 568, 30, 570, 571, 572, 573, 574, 575, 576,
2473 577, 578, 31, 0, 0, 0, 0, 0, 0, 0,
2474 32, 0, 0, 0, 0, 33, 557, 558, 559, 560,
2475 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2476 571, 572, 573, 574, 575, 576, 577, 578, 0, 0,
2477 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2478 0, 0, 0, 0, 0, 0, 0, 646, 0, 0,
2479 1525, 557, 558, 559, 560, 561, 562, 563, 564, 565,
2480 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2481 576, 577, 578, 1543, 557, 558, 559, 560, 561, 562,
2482 563, 564, 565, 566, 567, 568, 569, 570, 571, 572,
2483 573, 574, 575, 576, 577, 578, 557, 558, 559, 560,
2484 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
2485 571, 572, 573, 574, 575, 576, 577, 578
2486 };
2487
2488 static const short yycheck[] = { 4,
2489 147, 148, 157, 4, 205, 170, 55, 171, 398, 80,
2490 46, 702, 80, 23, 172, 14, 448, 345, 398, 247,
2491 351, 126, 4, 443, 398, 351, 470, 134, 491, 858,
2492 35, 4, 300, 301, 35, 685, 609, 42, 133, 134,
2493 76, 428, 243, 616, 552, 84, 369, 765, 42, 767,
2494 4, 42, 57, 35, 205, 4, 774, 57, 133, 62,
2495 42, 4, 35, 214, 178, 333, 678, 72, 589, 42,
2496 124, 142, 1369, 1288, 42, 1298, 30, 31, 54, 84,
2497 1459, 35, 1305, 88, 83, 90, 35, 92, 42, 4,
2498 782, 292, 35, 42, 238, 1458, 788, 632, 11, 42,
2499 42, 11, 107, 108, 33, 11, 1460, 106, 12, 27,
2500 90, 1, 92, 31, 12, 0, 4, 37, 478, 58,
2501 35, 59, 171, 351, 1192, 1193, 546, 42, 199, 62,
2502 84, 136, 137, 54, 139, 495, 136, 75, 1206, 77,
2503 1503, 62, 60, 0, 345, 1482, 64, 35, 352, 353,
2504 58, 686, 62, 47, 62, 59, 161, 137, 62, 98,
2505 165, 59, 1506, 136, 62, 1502, 610, 172, 58, 84,
2506 161, 165, 172, 209, 165, 108, 152, 3, 4, 5,
2507 109, 47, 136, 165, 213, 214, 1540, 136, 161, 109,
2508 258, 109, 165, 147, 148, 108, 524, 165, 108, 93,
2509 404, 405, 108, 895, 108, 208, 1585, 161, 42, 1,
2510 1554, 165, 161, 216, 108, 60, 165, 48, 1, 47,
2511 196, 136, 165, 165, 1561, 59, 74, 93, 94, 232,
2512 56, 57, 4, 5, 9, 189, 190, 1600, 701, 7,
2513 1463, 59, 108, 62, 1459, 244, 161, 342, 1545, 74,
2514 165, 59, 93, 60, 80, 74, 4, 59, 54, 25,
2515 910, 27, 1330, 913, 109, 93, 58, 342, 59, 37,
2516 62, 1339, 1340, 60, 1342, 58, 48, 93, 74, 62,
2517 108, 436, 389, 703, 56, 57, 61, 35, 293, 1512,
2518 4, 109, 58, 57, 668, 59, 62, 47, 629, 338,
2519 108, 65, 109, 95, 954, 955, 108, 47, 80, 696,
2520 697, 60, 95, 47, 64, 462, 463, 108, 1010, 93,
2521 325, 35, 109, 935, 475, 25, 899, 381, 59, 95,
2522 1022, 165, 74, 338, 724, 658, 857, 4, 5, 1562,
2523 38, 346, 9, 93, 724, 3, 4, 5, 6, 354,
2524 355, 400, 351, 93, 94, 355, 54, 59, 58, 93,
2525 109, 47, 62, 1055, 468, 1057, 4, 5, 108, 942,
2526 598, 205, 476, 75, 354, 302, 303, 108, 64, 213,
2527 214, 74, 355, 41, 338, 54, 47, 54, 47, 56,
2528 57, 318, 720, 398, 321, 95, 401, 324, 56, 57,
2529 327, 355, 1231, 70, 331, 74, 355, 93, 172, 243,
2530 48, 984, 339, 80, 178, 93, 398, 12, 56, 57,
2531 1488, 1489, 47, 338, 492, 430, 47, 94, 860, 633,
2532 88, 939, 93, 94, 93, 438, 430, 59, 60, 430,
2533 355, 205, 80, 64, 398, 474, 475, 108, 484, 213,
2534 214, 456, 896, 482, 4, 5, 107, 430, 292, 3,
2535 4, 5, 6, 60, 59, 494, 33, 62, 93, 64,
2536 1120, 1121, 93, 94, 60, 59, 430, 25, 481, 54,
2537 64, 430, 58, 398, 513, 54, 47, 492, 64, 1207,
2538 54, 75, 492, 62, 8, 9, 47, 41, 48, 74,
2539 14, 31, 456, 107, 108, 74, 56, 57, 462, 463,
2540 54, 345, 56, 57, 519, 430, 75, 522, 77, 492,
2541 525, 25, 36, 27, 529, 530, 531, 532, 533, 1358,
2542 695, 45, 93, 47, 3, 4, 5, 542, 492, 519,
2543 62, 456, 93, 492, 88, 1008, 936, 552, 58, 492,
2544 555, 590, 659, 973, 58, 47, 936, 47, 62, 666,
2545 83, 84, 936, 62, 3, 4, 5, 6, 402, 1142,
2546 54, 666, 54, 904, 47, 74, 47, 492, 904, 93,
2547 147, 148, 149, 47, 109, 590, 635, 56, 57, 58,
2548 54, 95, 74, 25, 798, 27, 430, 74, 1171, 54,
2549 58, 93, 41, 93, 609, 749, 807, 751, 93, 48,
2550 74, 616, 756, 540, 541, 4, 5, 56, 57, 74,
2551 93, 620, 93, 94, 191, 674, 58, 676, 677, 93,
2552 62, 745, 54, 901, 59, 60, 590, 401, 402, 47,
2553 474, 475, 1074, 1075, 54, 25, 54, 27, 482, 88,
2554 1094, 54, 606, 607, 759, 609, 661, 667, 54, 44,
2555 494, 47, 616, 95, 74, 779, 74, 56, 57, 54,
2556 675, 720, 57, 75, 679, 590, 904, 108, 58, 513,
2557 47, 661, 62, 33, 47, 93, 3, 4, 5, 6,
2558 1153, 701, 9, 108, 609, 4, 5, 765, 109, 767,
2559 47, 616, 94, 467, 47, 773, 774, 93, 94, 108,
2560 474, 475, 47, 742, 478, 95, 62, 108, 482, 724,
2561 47, 325, 1185, 772, 41, 929, 93, 94, 74, 47,
2562 93, 495, 768, 769, 47, 1167, 47, 54, 62, 56,
2563 57, 777, 11, 98, 1176, 1177, 93, 56, 57, 1181,
2564 93, 93, 62, 70, 3, 4, 5, 60, 93, 3,
2565 765, 1089, 767, 80, 74, 765, 93, 767, 773, 774,
2566 724, 88, 772, 773, 774, 93, 93, 782, 783, 784,
2567 93, 786, 93, 788, 108, 3, 4, 5, 1090, 1091,
2568 1222, 1093, 765, 60, 767, 111, 961, 147, 148, 149,
2569 94, 774, 636, 783, 784, 54, 786, 56, 57, 724,
2570 94, 765, 62, 767, 111, 54, 765, 93, 767, 93,
2571 774, 398, 765, 62, 767, 774, 59, 60, 782, 47,
2572 59, 774, 59, 60, 788, 74, 54, 47, 56, 57,
2573 54, 191, 74, 677, 54, 1049, 1050, 1051, 62, 453,
2574 765, 856, 767, 3, 4, 5, 861, 1548, 54, 774,
2575 74, 1005, 1006, 1007, 74, 74, 62, 782, 74, 54,
2576 59, 60, 636, 788, 74, 93, 947, 62, 74, 456,
2577 30, 59, 60, 93, 889, 1317, 720, 59, 60, 74,
2578 895, 7, 8, 9, 899, 462, 463, 464, 14, 59,
2579 60, 1015, 1016, 11, 54, 904, 56, 57, 742, 4,
2580 5, 675, 109, 677, 678, 31, 54, 108, 522, 59,
2581 36, 525, 108, 1355, 62, 529, 795, 796, 797, 45,
2582 1044, 936, 59, 938, 939, 108, 74, 942, 542, 59,
2583 60, 895, 869, 897, 898, 899, 108, 74, 75, 74,
2584 77, 555, 59, 60, 936, 559, 720, 54, 109, 54,
2585 1380, 56, 57, 1034, 1013, 74, 1034, 4, 5, 1297,
2586 897, 898, 74, 807, 108, 70, 1396, 1045, 742, 984,
2587 895, 745, 936, 587, 899, 80, 940, 941, 942, 593,
2588 1026, 109, 997, 1140, 1141, 108, 1032, 1033, 1003, 94,
2589 1036, 1037, 4, 5, 1040, 1010, 111, 4, 5, 773,
2590 111, 48, 27, 1013, 74, 779, 74, 1022, 54, 56,
2591 57, 936, 1169, 1170, 4, 5, 74, 942, 111, 111,
2592 984, 108, 609, 27, 108, 108, 58, 31, 1242, 616,
2593 1045, 108, 54, 80, 8, 1045, 48, 111, 93, 47,
2594 1055, 48, 1057, 64, 56, 57, 1010, 109, 59, 56,
2595 57, 93, 1482, 54, 44, 59, 60, 60, 1022, 984,
2596 4, 5, 1045, 1144, 54, 9, 56, 57, 80, 36,
2597 1085, 64, 1502, 80, 1198, 1199, 64, 1201, 1202, 64,
2598 1204, 1045, 108, 1098, 60, 1010, 1045, 3, 4, 5,
2599 62, 1055, 1045, 1057, 4, 5, 1496, 1022, 4, 5,
2600 64, 1531, 462, 463, 464, 64, 1496, 64, 1098, 108,
2601 54, 108, 56, 57, 9, 111, 108, 12, 93, 108,
2602 1045, 1295, 59, 1297, 62, 1203, 70, 1142, 1296, 1207,
2603 1055, 1561, 1057, 1153, 4, 5, 80, 724, 54, 1569,
2604 56, 57, 48, 108, 54, 108, 56, 57, 1590, 1164,
2605 56, 57, 47, 1164, 108, 108, 1171, 8, 9, 1096,
2606 70, 935, 1500, 14, 59, 108, 61, 62, 75, 64,
2607 80, 75, 75, 75, 80, 108, 1140, 1141, 1142, 108,
2608 75, 1164, 77, 62, 54, 36, 56, 57, 62, 108,
2609 59, 62, 1207, 108, 45, 782, 108, 1207, 93, 94,
2610 1164, 788, 111, 1327, 1328, 1169, 1170, 1171, 94, 74,
2611 111, 1164, 88, 108, 90, 88, 92, 1142, 3, 4,
2612 5, 47, 7, 108, 1207, 3, 4, 5, 108, 7,
2613 8, 9, 1169, 1170, 111, 60, 1295, 109, 1297, 1164,
2614 108, 1015, 1016, 1207, 111, 30, 1171, 108, 1207, 108,
2615 108, 865, 37, 31, 1207, 109, 59, 64, 36, 64,
2616 59, 137, 59, 139, 27, 108, 108, 108, 31, 54,
2617 1044, 56, 57, 1288, 93, 93, 54, 93, 56, 57,
2618 58, 1296, 1207, 1298, 93, 899, 109, 1298, 109, 1500,
2619 1305, 1337, 1338, 108, 1305, 108, 59, 60, 8, 1314,
2620 111, 64, 1426, 1427, 1428, 1288, 4, 5, 895, 1474,
2621 8, 9, 899, 108, 108, 1298, 14, 3, 4, 5,
2622 1477, 1478, 1305, 111, 1288, 103, 104, 105, 108, 449,
2623 28, 108, 30, 109, 1298, 1288, 456, 108, 36, 108,
2624 33, 1305, 108, 108, 108, 1298, 47, 45, 108, 936,
2625 64, 1288, 1305, 1528, 108, 942, 54, 54, 56, 57,
2626 1406, 1485, 1486, 1288, 108, 942, 108, 62, 54, 12,
2627 56, 57, 58, 1298, 80, 81, 82, 83, 84, 111,
2628 1305, 47, 108, 108, 27, 86, 87, 108, 31, 1003,
2629 91, 92, 93, 94, 96, 93, 9, 984, 62, 62,
2630 520, 60, 60, 60, 47, 16, 93, 984, 3, 4,
2631 5, 60, 7, 8, 9, 93, 59, 60, 108, 62,
2632 108, 64, 60, 1010, 1198, 1199, 108, 1201, 1202, 1553,
2633 1204, 108, 3, 4, 5, 1022, 31, 108, 1453, 108,
2634 316, 36, 1501, 1458, 1459, 1460, 64, 1458, 1463, 54,
2635 93, 94, 1463, 1297, 93, 3, 4, 5, 6, 111,
2636 580, 56, 57, 93, 1479, 108, 586, 17, 1055, 60,
2637 1057, 54, 107, 97, 108, 1458, 1459, 48, 354, 60,
2638 1463, 1496, 108, 108, 33, 56, 57, 1533, 1503, 1453,
2639 11, 108, 1503, 41, 1458, 1459, 1460, 1512, 60, 1463,
2640 60, 1512, 60, 623, 93, 1458, 1459, 59, 56, 57,
2641 1463, 64, 108, 1477, 1478, 60, 108, 11, 108, 60,
2642 1503, 11, 1296, 1297, 60, 1540, 0, 0, 1453, 1512,
2643 0, 2, 1496, 1458, 1459, 1460, 35, 166, 1463, 1503,
2644 1477, 1478, 1394, 3, 4, 5, 6, 1562, 1512, 659,
2645 1503, 1562, 936, 1327, 1328, 1142, 165, 1171, 161, 1512,
2646 3, 4, 5, 1140, 1141, 1142, 430, 1527, 773, 4,
2647 5, 1496, 448, 449, 9, 1153, 1540, 94, 1503, 1562,
2648 456, 41, 942, 139, 1171, 1600, 1600, 1512, 48, 1600,
2649 1379, 1232, 1169, 1170, 1171, 14, 56, 57, 1562, 148,
2650 149, 295, 708, 22, 1218, 1219, 1220, 1221, 922, 1562,
2651 237, 917, 47, 56, 57, 1540, 1008, 1600, 1185, 54,
2652 80, 56, 57, 1045, 984, 1205, 773, 642, 88, 590,
2653 915, 196, 124, 342, 1298, 70, 1600, 1562, 1165, 1548,
2654 1569, 1579, 191, 519, 520, 80, 65, 1600, 1517, 1581,
2655 992, 1314, 1426, 1427, 1428, 90, 1500, -1, 93, 94,
2656 3, 4, 5, -1, 7, 8, 9, 1281, -1, -1,
2657 -1, 3, 4, 5, 6, 1600, 552, -1, 554, -1,
2658 -1, 557, 558, -1, 560, 561, 562, 563, 564, 565,
2659 566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
2660 576, 577, 578, -1, 580, 124, -1, -1, -1, 41,
2661 586, 1485, 1486, 56, 57, -1, -1, 740, 3, 4,
2662 5, -1, 54, -1, 56, 57, -1, 146, 60, -1,
2663 62, -1, -1, -1, -1, 855, 856, -1, 70, 80,
2664 616, 861, 1356, -1, -1, -1, -1, 623, 80, -1,
2665 -1, -1, -1, -1, -1, 875, 88, 877, 781, 879,
2666 -1, 93, -1, 104, 787, -1, -1, -1, -1, 645,
2667 646, 56, 57, -1, -1, 1389, 325, -1, -1, 1553,
2668 1140, 1141, 1142, -1, -1, 661, -1, 3, 4, 5,
2669 6, -1, 133, 9, -1, 1, -1, 3, 4, 5,
2670 6, 142, 8, -1, 924, -1, 344, 345, 346, 1169,
2671 1170, 1171, -1, -1, 233, 234, -1, 3, 4, 5,
2672 6, -1, 3, 4, 5, 41, -1, -1, 247, -1,
2673 1407, 47, 708, -1, -1, 41, -1, -1, 54, 1453,
2674 56, 57, 48, -1, -1, 1459, 1460, 967, 54, -1,
2675 56, 57, 38, 39, 70, 41, -1, -1, 199, -1,
2676 -1, -1, -1, -1, 80, 1479, -1, 890, 54, 892,
2677 56, 57, 88, -1, 90, 56, 57, 93, 94, 3,
2678 4, 5, 88, -1, 3, 4, 5, 6, 764, -1,
2679 -1, -1, 233, -1, -1, -1, -1, -1, 317, -1,
2680 1477, 1478, 1479, -1, -1, -1, -1, 783, 784, 1496,
2681 786, 344, 345, 346, 463, 464, -1, 258, -1, -1,
2682 -1, -1, 41, -1, 48, 801, 1540, -1, -1, 3,
2683 4, 5, 56, 57, -1, 54, -1, 56, 57, -1,
2684 359, 60, 1556, 3, 4, 5, 6, 823, -1, 368,
2685 -1, 70, -1, -1, 3, 4, 5, 3, 4, 5,
2686 6, 80, 381, -1, 1578, 3, 4, 5, -1, 88,
2687 -1, 1585, -1, 522, 93, -1, 525, -1, -1, 855,
2688 856, 41, 56, 57, 860, 861, -1, -1, 48, -1,
2689 -1, -1, 541, 542, -1, 41, 56, 57, -1, 875,
2690 -1, 877, 48, 879, -1, -1, 555, 56, 57, 350,
2691 56, 57, -1, -1, -1, -1, -1, -1, 56, 57,
2692 80, -1, -1, -1, 4, -1, -1, -1, 88, -1,
2693 -1, 1054, -1, 1056, 14, 1155, -1, 1157, 914, 1159,
2694 -1, -1, 88, -1, 24, -1, -1, 1407, 924, -1,
2695 30, 31, -1, 33, -1, 35, -1, 3, 4, 5,
2696 6, -1, 42, 939, -1, -1, 407, 616, 606, 607,
2697 489, 609, -1, -1, -1, 55, 952, 57, 616, -1,
2698 -1, -1, -1, -1, -1, 65, -1, -1, 1111, -1,
2699 -1, 967, 72, -1, -1, 41, -1, -1, -1, 449,
2700 -1, -1, 48, 83, 84, -1, 456, -1, 984, -1,
2701 56, 57, -1, -1, -1, -1, -1, 1477, 1478, 1479,
2702 -1, -1, -1, 3, 4, 5, 106, -1, -1, -1,
2703 -1, -1, -1, 1253, 80, 554, 674, -1, 676, 677,
2704 -1, 679, 88, -1, -1, -1, -1, -1, 489, 1025,
2705 3, 4, 5, 6, 134, -1, 136, -1, -1, -1,
2706 140, -1, -1, 143, 144, -1, 1189, 147, 148, 149,
2707 520, 1194, -1, 606, 607, 516, 56, 57, -1, 598,
2708 -1, 161, 720, -1, -1, 165, -1, -1, 41, -1,
2709 -1, 171, 172, -1, -1, 48, -1, -1, 1074, 1075,
2710 -1, -1, 1078, 56, 57, -1, -1, -1, -1, 189,
2711 190, 191, -1, -1, -1, -1, -1, 3, 4, 5,
2712 6, -1, 1098, 1246, -1, -1, -1, 80, -1, -1,
2713 580, -1, -1, -1, -1, 88, 586, -1, 218, -1,
2714 -1, 674, -1, 676, 677, -1, 679, -1, 667, -1,
2715 -1, -1, 801, -1, 234, 41, -1, -1, -1, 678,
2716 -1, 47, 603, -1, 244, -1, 616, -1, 54, 807,
2717 56, 57, -1, 623, -1, 255, -1, -1, 619, 1155,
2718 -1, 1157, -1, 1159, 70, -1, -1, 720, -1, 708,
2719 -1, 1167, -1, -1, 80, -1, -1, -1, -1, -1,
2720 1176, 1177, 88, -1, 90, 1181, -1, 93, 94, 7,
2721 8, 9, -1, 293, 294, -1, 14, -1, -1, -1,
2722 1196, 1197, -1, 1346, 1347, 3, 4, 5, 6, -1,
2723 -1, -1, -1, 31, -1, -1, -1, -1, 36, -1,
2724 1363, -1, 880, -1, 882, -1, 1222, 45, -1, 898,
2725 899, -1, -1, -1, -1, 893, -1, -1, 338, 897,
2726 898, 899, 342, 41, 344, 345, 346, -1, -1, -1,
2727 48, -1, -1, -1, 807, 355, -1, 1253, 56, 57,
2728 -1, -1, -1, -1, -1, 3, 4, 5, 6, -1,
2729 -1, 9, -1, 942, -1, -1, 1419, 1420, -1, -1,
2730 -1, 1277, 940, 941, 942, -1, -1, -1, -1, 389,
2731 88, -1, -1, -1, -1, 1438, 1439, -1, 398, -1,
2732 400, 401, -1, 41, -1, -1, -1, -1, -1, 47,
2733 -1, -1, -1, -1, 414, 984, 54, 417, 56, 57,
2734 -1, 1317, 422, -1, -1, -1, 984, 880, -1, 882,
2735 430, 801, 70, -1, -1, -1, -1, 1333, -1, -1,
2736 893, -1, 80, -1, 897, 898, -1, -1, -1, -1,
2737 88, -1, 90, -1, -1, 93, 94, -1, 458, 1355,
2738 460, -1, 462, 463, 464, 7, 8, 9, 468, 4,
2739 5, -1, 14, 473, 4, 5, 476, 7, 8, 9,
2740 -1, -1, 12, 922, 14, 855, 856, 940, 941, 31,
2741 -1, 861, 492, -1, 36, -1, 935, -1, 28, -1,
2742 30, 31, -1, 45, -1, 875, 36, 877, -1, 879,
2743 -1, 1407, 47, -1, -1, 45, -1, 47, 60, 54,
2744 -1, 56, 57, -1, 54, -1, 56, 57, 1424, 1425,
2745 530, 531, 532, 533, -1, 70, -1, 1433, -1, -1,
2746 70, -1, 903, -1, 905, 80, -1, -1, -1, -1,
2747 80, -1, -1, -1, 924, 90, -1, -1, 93, 94,
2748 90, -1, -1, 93, 94, 1461, -1, -1, -1, -1,
2749 -1, -1, 1141, 1142, 4, 5, -1, -1, -1, 9,
2750 1138, 1139, 1140, 1141, 1142, -1, 947, -1, 1146, -1,
2751 590, -1, 592, -1, -1, -1, -1, 967, -1, -1,
2752 -1, 1170, 1171, -1, 604, -1, 606, 607, -1, 609,
2753 -1, 1169, 1170, 1171, 984, -1, 616, 47, -1, -1,
2754 620, -1, -1, -1, 54, -1, 56, 57, 78, 79,
2755 80, 81, 82, 83, 84, 635, 1075, -1, -1, -1,
2756 70, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2757 80, -1, 3, 4, 5, 6, -1, -1, 9, 659,
2758 90, -1, -1, 93, 94, -1, 666, -1, -1, -1,
2759 -1, -1, -1, 1034, 674, 675, 676, 677, 678, 679,
2760 -1, -1, -1, -1, -1, 1138, 1139, 1140, 1141, -1,
2761 41, -1, -1, 1146, 1590, -1, 47, -1, 1256, 1257,
2762 -1, 1259, -1, 54, -1, 56, 57, 3, 4, 5,
2763 6, -1, -1, -1, -1, -1, 1169, 1170, -1, 70,
2764 720, -1, 1161, -1, 724, 4, 5, -1, 1167, 80,
2765 9, 731, 732, -1, 734, -1, -1, 88, -1, 90,
2766 -1, -1, 93, 94, -1, 41, -1, -1, -1, -1,
2767 -1, -1, 48, -1, -1, -1, 1117, -1, -1, -1,
2768 56, 57, 762, -1, -1, 765, -1, 767, 47, -1,
2769 -1, -1, 772, 773, 774, 54, -1, 56, 57, -1,
2770 -1, -1, 782, 1144, 80, 1155, -1, 1157, 788, 1159,
2771 -1, 70, 88, -1, -1, 795, 796, 797, -1, -1,
2772 -1, 80, -1, 1256, 1257, -1, 1259, 807, -1, -1,
2773 -1, 90, -1, -1, 93, 94, -1, -1, -1, -1,
2774 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
2775 -1, -1, -1, -1, 14, -1, -1, -1, 1407, -1,
2776 -1, -1, 1203, 1282, 1283, -1, -1, -1, 28, -1,
2777 30, 31, 32, -1, -1, -1, 36, -1, -1, -1,
2778 -1, 41, 4, 5, -1, 45, 8, 9, 48, -1,
2779 -1, -1, 14, -1, 54, -1, 56, 57, -1, -1,
2780 880, -1, 882, 1253, -1, -1, 28, -1, 30, 889,
2781 70, -1, -1, 893, 36, 895, -1, 897, 898, 899,
2782 80, -1, -1, 45, 904, -1, -1, -1, 88, 1478,
2783 1479, -1, 54, 93, 56, 57, 58, -1, 98, -1,
2784 4, 5, -1, -1, 8, 9, -1, -1, -1, -1,
2785 14, -1, 1371, -1, -1, -1, 936, 4, 938, -1,
2786 940, 941, 942, -1, 28, -1, 30, 14, -1, -1,
2787 -1, 93, 36, -1, 1393, 1394, 23, 24, 7, 8,
2788 9, 45, -1, 30, 31, 14, 33, -1, 35, -1,
2789 54, -1, 56, 57, -1, 42, -1, -1, -1, -1,
2790 -1, -1, 31, -1, 984, -1, -1, 36, 55, -1,
2791 57, -1, -1, -1, -1, -1, 45, 997, 65, -1,
2792 -1, -1, -1, -1, -1, 72, -1, -1, -1, -1,
2793 1010, 60, -1, 1013, -1, -1, -1, 84, -1, -1,
2794 -1, -1, 1022, -1, -1, 3, 4, 5, 6, 7,
2795 8, 9, 1471, -1, -1, 1035, 14, 1407, -1, -1,
2796 -1, -1, -1, -1, -1, 1045, -1, -1, -1, -1,
2797 28, -1, 30, 31, 32, 1055, -1, 1057, 36, -1,
2798 -1, -1, -1, 41, -1, -1, -1, 45, -1, 136,
2799 48, -1, -1, 140, -1, -1, 54, 144, 56, 57,
2800 147, 148, 149, -1, -1, 1085, -1, -1, -1, -1,
2801 1090, 1091, 70, 1093, 161, -1, -1, -1, 165, -1,
2802 -1, -1, 80, -1, 171, 172, -1, -1, -1, -1,
2803 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
2804 98, -1, 189, 190, 191, -1, 4, 5, -1, 7,
2805 8, 9, -1, -1, 12, -1, 14, -1, 1138, 1139,
2806 1140, 1141, 1142, -1, -1, -1, 1146, -1, -1, -1,
2807 28, 218, 30, 31, -1, -1, -1, -1, 36, -1,
2808 -1, -1, -1, -1, -1, -1, -1, 45, -1, 1169,
2809 1170, 1171, -1, -1, -1, -1, 54, -1, 56, 57,
2810 107, 108, -1, -1, 3, 4, 5, 6, 255, 1,
2811 9, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2812 1200, -1, 14, -1, -1, 1205, -1, 1207, -1, -1,
2813 -1, -1, -1, -1, -1, 27, 28, -1, 30, 31,
2814 32, -1, 41, -1, 36, -1, 293, 294, -1, 41,
2815 -1, -1, 44, 45, 46, 54, 48, 56, 57, -1,
2816 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
2817 -1, 70, -1, -1, -1, -1, 1256, 1257, 70, 1259,
2818 -1, 80, -1, -1, -1, -1, -1, -1, 80, 88,
2819 -1, 338, -1, -1, 93, 342, 88, 344, 345, 346,
2820 -1, 93, -1, -1, 351, -1, 98, -1, 355, -1,
2821 -1, -1, -1, -1, -1, 1295, 1296, 1297, 70, 71,
2822 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2823 82, 83, 84, 1, 1314, 3, 4, 5, 6, 7,
2824 8, 9, 389, -1, -1, -1, 14, -1, -1, -1,
2825 -1, 398, -1, 400, 401, -1, -1, -1, -1, -1,
2826 28, -1, 30, 31, 32, -1, -1, 414, 36, 37,
2827 417, -1, -1, 41, -1, 422, -1, 45, 46, -1,
2828 48, -1, -1, 430, -1, -1, 54, -1, 56, 57,
2829 -1, -1, 60, -1, 62, -1, -1, 3, 4, 5,
2830 6, -1, 70, 9, 3, 4, 5, 6, -1, -1,
2831 9, 458, 80, 460, -1, 462, 463, 464, 325, -1,
2832 88, 468, -1, -1, -1, 93, 473, 1407, -1, 476,
2833 -1, -1, -1, -1, -1, 41, -1, -1, -1, -1,
2834 -1, 109, 41, -1, 491, 492, -1, -1, 54, -1,
2835 56, 57, -1, -1, -1, 54, -1, 56, 57, -1,
2836 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1,
2837 -1, 70, -1, -1, 80, -1, -1, -1, -1, -1,
2838 -1, 80, 88, 530, 531, 532, 533, 93, -1, 88,
2839 -1, 398, -1, -1, 93, -1, -1, 1477, 1478, 1479,
2840 3, 4, 5, 6, 7, 8, 9, -1, -1, 12,
2841 -1, 14, 3, 4, 5, 6, 1496, -1, 9, -1,
2842 -1, 1501, -1, -1, -1, 28, -1, 30, 31, -1,
2843 -1, -1, -1, 36, -1, -1, -1, -1, 41, -1,
2844 -1, -1, 45, 590, 47, 592, -1, -1, -1, 456,
2845 41, 54, -1, 56, 57, -1, 47, -1, -1, 606,
2846 607, -1, 609, 54, -1, 56, 57, 70, -1, 616,
2847 -1, -1, -1, -1, -1, -1, -1, 80, -1, 70,
2848 -1, -1, 629, -1, -1, 88, -1, 90, 635, 80,
2849 93, 94, -1, -1, -1, -1, -1, 88, -1, 90,
2850 -1, -1, 93, 94, -1, -1, -1, -1, -1, -1,
2851 -1, -1, 659, -1, -1, 522, -1, -1, 525, -1,
2852 667, -1, 529, 530, 531, 532, 533, 674, 675, 676,
2853 677, 678, 679, -1, -1, 542, 73, 74, 75, 76,
2854 77, 78, 79, 80, 81, 82, 83, 84, 555, -1,
2855 -1, -1, -1, -1, 701, -1, -1, -1, 189, 190,
2856 191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2857 -1, -1, -1, 720, -1, -1, -1, 724, -1, -1,
2858 -1, -1, -1, -1, 731, 732, -1, 734, -1, -1,
2859 4, 5, -1, -1, 8, 9, -1, -1, -1, -1,
2860 14, -1, 609, -1, -1, -1, -1, -1, -1, 616,
2861 -1, -1, -1, -1, 28, 762, 30, -1, 765, -1,
2862 767, -1, 36, -1, -1, 772, 773, 774, -1, -1,
2863 -1, 45, -1, 47, -1, 782, -1, -1, -1, -1,
2864 54, 788, 56, 57, -1, -1, -1, -1, 795, 796,
2865 797, -1, -1, -1, -1, -1, 70, -1, -1, -1,
2866 807, -1, -1, -1, -1, -1, 80, 4, -1, -1,
2867 -1, -1, -1, -1, -1, -1, 90, -1, -1, 93,
2868 94, -1, -1, -1, -1, -1, 3, 4, 5, 6,
2869 7, 8, 9, 30, 31, -1, 33, 14, 35, -1,
2870 -1, -1, -1, -1, -1, 42, -1, -1, -1, -1,
2871 -1, 28, -1, 30, 31, -1, -1, 724, 55, 36,
2872 57, -1, -1, -1, 41, -1, -1, -1, 45, -1,
2873 47, -1, -1, 880, -1, 882, -1, 54, -1, 56,
2874 57, -1, 889, 80, -1, -1, 893, -1, 895, -1,
2875 897, 898, 899, 70, -1, -1, -1, 904, -1, -1,
2876 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
2877 -1, 88, -1, 90, -1, 782, 93, 94, -1, -1,
2878 -1, 788, -1, -1, -1, -1, -1, -1, -1, 936,
2879 -1, 938, -1, 940, 941, 942, 133, 134, -1, 136,
2880 -1, -1, -1, 140, -1, 142, -1, 144, -1, -1,
2881 147, 148, 149, -1, -1, -1, -1, -1, -1, -1,
2882 -1, -1, -1, -1, 161, -1, -1, 458, 165, 460,
2883 -1, 462, 463, 464, 171, 172, -1, 984, -1, -1,
2884 -1, -1, 473, -1, -1, -1, -1, -1, -1, 856,
2885 997, -1, 189, 190, 191, -1, -1, -1, -1, -1,
2886 -1, 1008, 199, 1010, 4, 5, 1013, -1, 8, 9,
2887 -1, -1, -1, -1, 14, 1022, -1, -1, -1, -1,
2888 -1, 218, 889, -1, -1, -1, -1, -1, 895, -1,
2889 -1, -1, 899, -1, -1, -1, 36, -1, 1045, -1,
2890 -1, -1, -1, -1, -1, 45, -1, 47, 1055, -1,
2891 1057, -1, -1, -1, 54, -1, 56, 57, 255, -1,
2892 -1, -1, -1, 31, -1, -1, -1, -1, -1, 936,
2893 70, 938, -1, -1, -1, 942, -1, -1, 1085, -1,
2894 80, -1, -1, 1090, 1091, -1, 1093, -1, -1, -1,
2895 90, -1, -1, 93, 94, 63, 64, 65, 66, 67,
2896 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2897 78, 79, 80, 81, 82, 83, 84, 984, -1, -1,
2898 -1, -1, -1, -1, -1, -1, -1, -1, 325, -1,
2899 997, 1138, 1139, 1140, 1141, 1142, 1003, -1, -1, 1146,
2900 -1, -1, -1, 1010, -1, 342, 1153, -1, -1, -1,
2901 -1, -1, -1, 350, -1, 1022, -1, -1, 355, -1,
2902 -1, -1, 1169, 1170, 1171, -1, -1, -1, 3, 4,
2903 5, 6, 7, 8, 9, -1, -1, -1, 1185, 14,
2904 -1, -1, -1, -1, -1, -1, -1, -1, 1055, -1,
2905 1057, -1, 389, 1200, -1, -1, 31, -1, 1205, -1,
2906 1207, 36, -1, 400, -1, -1, 41, -1, -1, -1,
2907 45, -1, 47, -1, -1, -1, -1, 414, 1085, 54,
2908 417, 56, 57, -1, -1, 422, -1, -1, -1, -1,
2909 -1, -1, -1, 430, -1, 70, -1, -1, -1, -1,
2910 731, 732, -1, 734, -1, 80, -1, -1, -1, 1256,
2911 1257, -1, 1259, 88, -1, 90, -1, -1, 93, 94,
2912 -1, 458, -1, 460, -1, 462, 463, 464, -1, -1,
2913 -1, 468, -1, -1, -1, 1142, 473, 1284, -1, 476,
2914 -1, 772, -1, 3, 4, 5, 6, -1, 1295, 1296,
2915 1297, -1, -1, -1, -1, 492, -1, -1, -1, -1,
2916 -1, -1, -1, -1, 1171, -1, -1, 1314, 72, 73,
2917 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2918 84, 41, -1, -1, -1, 522, -1, -1, 525, -1,
2919 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
2920 -1, -1, 62, 540, 541, 542, -1, -1, -1, -1,
2921 70, -1, -1, -1, -1, -1, -1, -1, 555, -1,
2922 80, -1, -1, -1, 4, -1, -1, -1, 88, 3,
2923 4, 5, 6, 93, 1, 9, 3, 4, 5, 6,
2924 7, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2925 30, 31, -1, 33, -1, 35, -1, -1, -1, -1,
2926 1407, 28, 42, 30, 31, -1, 603, 41, -1, 36,
2927 -1, -1, -1, -1, 41, 55, -1, 57, 45, 616,
2928 54, 48, 56, 57, -1, -1, -1, 54, -1, 56,
2929 57, -1, -1, 60, -1, -1, 70, -1, 635, -1,
2930 -1, -1, -1, 70, -1, -1, 80, 1314, -1, 940,
2931 941, 942, -1, 80, 88, -1, -1, -1, -1, 93,
2932 -1, 88, 659, -1, -1, -1, 93, -1, 33, 666,
2933 1477, 1478, 1479, -1, -1, -1, -1, 674, 675, 676,
2934 677, -1, -1, -1, -1, -1, -1, -1, -1, 1496,
2935 55, -1, -1, 984, 1501, -1, 136, -1, -1, -1,
2936 140, -1, -1, -1, 144, -1, -1, 147, 148, 149,
2937 -1, -1, -1, -1, 4, 5, -1, 7, 8, 9,
2938 -1, 161, 1013, 720, 14, 165, -1, 724, -1, -1,
2939 -1, 171, 172, -1, 731, 732, -1, 734, 28, -1,
2940 30, 31, -1, -1, -1, -1, 36, -1, -1, 189,
2941 190, 191, -1, -1, -1, 45, -1, -1, 48, -1,
2942 -1, -1, -1, -1, 54, -1, 56, 57, 765, -1,
2943 767, -1, -1, -1, -1, 772, 773, 774, 218, -1,
2944 -1, -1, 147, 148, 149, 67, 68, 69, 70, 71,
2945 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2946 82, 83, 84, -1, 801, -1, 171, -1, -1, -1,
2947 -1, -1, 1479, -1, -1, 255, -1, -1, -1, -1,
2948 -1, -1, -1, -1, 189, 190, 191, -1, -1, 1496,
2949 -1, 3, 4, 5, 6, 7, 8, 9, -1, -1,
2950 -1, -1, 14, -1, -1, -1, -1, 1138, 1139, 1140,
2951 1141, 1142, -1, 218, -1, 1146, -1, -1, -1, 31,
2952 -1, -1, -1, -1, 36, -1, -1, -1, -1, 41,
2953 -1, -1, -1, 45, -1, 47, -1, -1, 1169, 1170,
2954 1171, -1, 54, -1, 56, 57, 3, 4, 5, 6,
2955 7, 8, 9, -1, -1, -1, -1, 14, 70, -1,
2956 897, 898, 899, -1, -1, -1, 903, -1, 80, 1200,
2957 -1, 351, -1, -1, 31, 355, 88, -1, 90, 36,
2958 -1, 93, 94, -1, 41, -1, -1, -1, 45, 294,
2959 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
2960 57, -1, -1, 940, 941, 942, -1, -1, -1, -1,
2961 947, -1, -1, 70, -1, -1, -1, -1, -1, -1,
2962 400, -1, -1, 80, -1, 1256, 1257, -1, 1259, -1,
2963 -1, 88, -1, -1, 414, -1, 93, 417, -1, 344,
2964 345, 346, 422, -1, -1, -1, -1, 984, -1, -1,
2965 430, -1, 3, 4, 5, 6, -1, 4, 5, -1,
2966 -1, 8, 9, -1, -1, -1, -1, 14, -1, -1,
2967 -1, -1, -1, -1, -1, -1, 1013, -1, 458, -1,
2968 460, -1, 462, 463, 464, -1, -1, -1, 468, 36,
2969 41, -1, -1, 473, -1, 400, 476, 1034, 45, -1,
2970 47, -1, -1, 54, -1, 56, 57, 54, 1045, 56,
2971 57, 62, 492, -1, -1, -1, -1, -1, -1, 70,
2972 -1, -1, -1, 70, -1, -1, -1, -1, -1, 80,
2973 -1, -1, -1, 80, -1, -1, -1, 88, 82, -1,
2974 -1, -1, 93, 90, -1, -1, 93, 94, -1, -1,
2975 -1, -1, -1, 458, -1, 460, -1, 462, 463, 464,
2976 -1, -1, -1, 468, -1, -1, -1, -1, 473, -1,
2977 -1, 476, -1, -1, -1, -1, 1407, -1, -1, -1,
2978 1117, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2979 6, 7, 8, 9, -1, -1, -1, -1, 14, -1,
2980 -1, 1138, 1139, 1140, 1141, 1142, -1, 1144, -1, 1146,
2981 -1, 155, 28, -1, 30, 31, -1, -1, -1, -1,
2982 36, -1, -1, -1, 604, 41, -1, -1, -1, 45,
2983 -1, -1, 1169, 1170, 1171, -1, -1, -1, 54, -1,
2984 56, 57, -1, 187, 60, -1, 1477, 1478, 1479, -1,
2985 -1, -1, -1, -1, 70, 635, 200, 4, 5, -1,
2986 7, 8, 9, 1200, 80, 12, -1, 14, 1205, -1,
2987 1207, -1, 88, -1, -1, -1, -1, 93, -1, -1,
2988 -1, 28, -1, 30, 31, -1, -1, 592, -1, 36,
2989 -1, -1, -1, -1, 674, 675, 676, 677, 45, -1,
2990 -1, 606, 607, -1, 609, -1, 55, 54, -1, 56,
2991 57, 616, -1, -1, -1, 4, -1, -1, -1, 1256,
2992 1257, -1, 1259, -1, -1, -1, -1, -1, -1, -1,
2993 635, 80, -1, -1, 83, 3, 4, 5, 6, -1,
2994 720, 30, 31, -1, 724, -1, 35, -1, -1, -1,
2995 -1, 731, 732, 42, 734, 104, -1, 106, 1295, 1296,
2996 1297, -1, -1, -1, -1, -1, -1, -1, 57, 674,
2997 -1, 676, 677, 41, 679, -1, -1, -1, -1, -1,
2998 -1, 3, 4, 5, 6, 765, 54, 767, 56, 57,
2999 -1, -1, 772, 773, 774, -1, -1, -1, -1, -1,
3000 -1, -1, 70, -1, -1, -1, -1, -1, 3, 4,
3001 5, 6, 80, -1, 9, 720, -1, -1, -1, 41,
3002 88, -1, 171, -1, -1, 93, 731, 732, -1, 734,
3003 -1, -1, 54, -1, 56, 57, -1, -1, 60, -1,
3004 189, 190, 191, -1, -1, -1, 41, 136, 70, -1,
3005 199, 140, -1, -1, -1, 144, -1, -1, 80, 54,
3006 -1, 56, 57, -1, -1, -1, 88, 772, -1, 218,
3007 1407, 93, 161, -1, -1, 70, 165, -1, 3, 4,
3008 5, 6, -1, 172, 9, 80, -1, -1, -1, -1,
3009 795, 796, 797, 88, -1, 244, -1, -1, 93, -1,
3010 189, 190, 807, -1, -1, -1, -1, -1, -1, 258,
3011 -1, -1, -1, -1, -1, -1, 41, -1, -1, -1,
3012 -1, -1, 466, -1, 904, -1, -1, 471, -1, 54,
3013 -1, 56, 57, -1, -1, -1, 3, 4, 5, 6,
3014 1477, 1478, 1479, -1, -1, 70, -1, -1, -1, -1,
3015 -1, -1, 496, -1, -1, 80, -1, -1, 502, -1,
3016 940, 941, 942, 88, 1501, -1, 255, -1, 93, -1,
3017 514, 515, -1, 517, 41, 880, -1, 882, -1, -1,
3018 -1, -1, -1, -1, -1, -1, -1, 54, 893, 56,
3019 57, -1, 897, 898, 899, 62, -1, -1, -1, -1,
3020 -1, 350, 351, 70, 984, -1, -1, -1, -1, -1,
3021 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
3022 -1, 88, -1, -1, -1, -1, 93, -1, -1, -1,
3023 -1, -1, -1, 1013, -1, 940, 941, 942, -1, -1,
3024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3025 -1, 400, -1, 3, 4, 5, 6, 7, 8, 9,
3026 -1, -1, 12, -1, 14, 1045, 355, -1, 612, 613,
3027 -1, -1, -1, 617, -1, -1, -1, -1, 28, 984,
3028 30, 31, -1, -1, -1, -1, 36, -1, -1, -1,
3029 -1, 41, -1, -1, -1, 45, -1, 3, 4, 5,
3030 6, -1, -1, 9, 54, -1, 56, 57, 1013, 458,
3031 -1, 460, -1, 462, 463, 464, -1, -1, -1, 468,
3032 70, -1, -1, -1, 473, 414, -1, 476, 417, -1,
3033 80, -1, -1, 422, -1, 41, -1, -1, 88, -1,
3034 -1, 430, -1, 93, -1, -1, -1, -1, 54, -1,
3035 56, 57, -1, -1, 3, 4, 5, 6, 1138, 1139,
3036 1140, 1141, 1142, -1, 70, -1, 1146, -1, -1, 458,
3037 -1, 460, -1, -1, 80, -1, -1, -1, -1, -1,
3038 -1, -1, 88, -1, 473, 1090, 1091, 93, 1093, 1169,
3039 1170, 1171, 41, -1, -1, -1, -1, -1, -1, -1,
3040 -1, -1, -1, 492, -1, 54, -1, 56, 57, -1,
3041 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3042 1200, 70, -1, -1, -1, 1205, -1, 1207, -1, -1,
3043 -1, 80, -1, 1138, 1139, 1140, 1141, 1142, -1, 88,
3044 -1, 1146, -1, -1, 93, 789, -1, 791, -1, -1,
3045 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6,
3046 7, 8, 9, -1, 1169, 1170, 1171, 14, -1, -1,
3047 619, 620, -1, -1, -1, -1, 1256, 1257, -1, 1259,
3048 -1, 28, -1, 30, 31, -1, 635, -1, -1, 36,
3049 -1, -1, -1, -1, 41, 1200, -1, -1, 45, -1,
3050 -1, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3051 57, -1, -1, 60, -1, 1295, 1296, 1297, -1, 863,
3052 864, -1, 866, 70, -1, 674, -1, 676, 677, -1,
3053 -1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
3054 -1, 88, -1, 4, 5, -1, 93, 8, 9, -1,
3055 894, 1256, 1257, 14, 1259, -1, -1, -1, -1, -1,
3056 -1, 3, 4, 5, 6, -1, -1, 28, -1, 30,
3057 -1, 720, -1, -1, -1, 36, -1, -1, -1, -1,
3058 -1, -1, 731, 732, 45, 734, 675, -1, -1, -1,
3059 1295, -1, 1297, 54, -1, 56, 57, -1, -1, 41,
3060 944, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3061 759, -1, 54, -1, 56, 57, -1, -1, -1, -1,
3062 -1, -1, -1, 772, -1, -1, -1, 1407, 70, 4,
3063 5, -1, 7, 8, 9, 724, -1, -1, 80, 14,
3064 -1, -1, 731, 732, -1, 734, 88, -1, -1, -1,
3065 -1, 93, -1, 28, -1, 30, 31, -1, -1, -1,
3066 -1, 36, -1, -1, -1, 1009, -1, -1, -1, -1,
3067 45, -1, -1, -1, -1, -1, 765, 1021, 767, 54,
3068 -1, 56, 57, 772, 773, 774, -1, -1, -1, -1,
3069 -1, -1, -1, -1, -1, -1, 14, 1477, 1478, 1479,
3070 -1, -1, 1407, -1, -1, 23, 24, -1, -1, -1,
3071 -1, -1, 30, 31, -1, 33, -1, -1, -1, -1,
3072 -1, 1501, -1, -1, -1, -1, -1, -1, -1, -1,
3073 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9,
3074 -1, -1, -1, -1, 14, -1, -1, 65, -1, -1,
3075 -1, -1, -1, -1, 903, 904, 905, -1, 28, -1,
3076 30, 31, 1106, -1, -1, -1, 36, -1, -1, -1,
3077 -1, 41, 1477, 1478, 1479, 45, -1, -1, -1, -1,
3078 -1, -1, -1, -1, 54, -1, 56, 57, -1, -1,
3079 -1, 940, 941, 942, -1, -1, 1501, -1, 947, -1,
3080 70, 1145, -1, -1, -1, -1, 124, -1, 126, -1,
3081 80, -1, -1, -1, -1, 133, 134, -1, 88, -1,
3082 -1, -1, 140, 93, 142, 143, 144, -1, 146, 147,
3083 148, 149, -1, -1, -1, 984, 71, 72, 73, 74,
3084 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3085 -1, 940, 941, 1, -1, 3, 4, 5, 6, 7,
3086 8, 9, -1, -1, 1013, 1209, 14, -1, -1, 1213,
3087 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3088 28, -1, 30, 31, 32, 1034, -1, -1, 36, 37,
3089 -1, -1, -1, 41, -1, -1, -1, 45, 46, -1,
3090 48, -1, -1, -1, 1248, -1, 54, -1, 56, 57,
3091 -1, -1, 60, -1, 62, 233, 234, -1, -1, -1,
3092 -1, -1, 70, -1, 1013, -1, -1, -1, -1, -1,
3093 -1, -1, 80, -1, -1, -1, -1, 255, -1, -1,
3094 88, -1, -1, -1, -1, 93, -1, -1, -1, -1,
3095 -1, -1, -1, -1, -1, -1, 1045, -1, -1, -1,
3096 -1, 109, -1, -1, -1, -1, -1, -1, 1117, -1,
3097 -1, -1, -1, -1, -1, -1, 294, -1, 1322, -1,
3098 -1, -1, 1326, -1, -1, -1, -1, -1, -1, 1138,
3099 1139, 1140, 1141, 1142, -1, 1144, -1, 1146, -1, -1,
3100 -1, -1, -1, -1, 1348, 1349, -1, -1, -1, -1,
3101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3102 1169, 1170, 1171, -1, 342, -1, 344, 345, 68, 69,
3103 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
3104 80, 81, 82, 83, 84, -1, -1, -1, -1, 1138,
3105 1139, 1200, -1, -1, -1, -1, -1, 1146, -1, -1,
3106 -1, -1, -1, -1, -1, -1, -1, -1, -1, 12,
3107 -1, 389, 69, 70, 71, 72, 73, 74, 75, 76,
3108 77, 78, 79, 80, 81, 82, 83, 84, -1, 407,
3109 -1, -1, -1, -1, -1, -1, 414, -1, -1, 417,
3110 -1, -1, -1, -1, 422, -1, -1, 1256, 1257, -1,
3111 1259, 1200, -1, -1, -1, -1, 1205, -1, 1207, 62,
3112 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3113 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
3114 83, 84, -1, -1, -1, -1, 1295, -1, 1297, -1,
3115 -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
3116 8, 9, -1, -1, 12, -1, 14, 1256, 1257, -1,
3117 1259, 489, -1, 491, -1, -1, -1, 25, -1, 27,
3118 -1, -1, -1, 31, -1, -1, -1, -1, 36, -1,
3119 -1, -1, -1, 41, -1, -1, -1, 45, 516, 47,
3120 -1, -1, -1, -1, -1, -1, 54, 1296, 56, 57,
3121 58, 59, 60, -1, 62, 63, 64, 65, 66, 67,
3122 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
3123 78, 79, 80, 81, 82, 83, 84, -1, 86, 87,
3124 88, -1, 90, 91, 92, 93, 94, 95, -1, 97,
3125 -1, -1, -1, -1, 102, -1, -1, -1, 1407, 107,
3126 108, 109, -1, 111, 1, -1, 3, 4, 5, 6,
3127 7, 8, 9, -1, 592, -1, -1, 14, -1, -1,
3128 -1, -1, -1, -1, -1, 603, 604, -1, 606, 607,
3129 -1, 28, -1, 30, 31, 32, -1, -1, -1, 36,
3130 -1, -1, -1, -1, 41, -1, -1, -1, 45, 46,
3131 -1, 48, -1, -1, -1, -1, -1, 54, -1, 56,
3132 57, -1, -1, 60, -1, 62, -1, -1, 1477, 1478,
3133 1479, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3134 -1, 659, -1, 80, -1, -1, -1, -1, 666, 667,
3135 -1, 88, 1501, -1, -1, -1, 93, -1, -1, -1,
3136 678, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3137 10, 11, 12, 13, 14, -1, -1, -1, -1, -1,
3138 -1, -1, -1, 701, -1, -1, -1, -1, 28, 29,
3139 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3140 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3141 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3142 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3143 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3144 80, 759, -1, -1, 762, -1, 86, 87, 88, -1,
3145 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3146 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3147 110, -1, -1, -1, -1, -1, -1, 795, 796, 797,
3148 -1, -1, -1, -1, -1, -1, -1, -1, -1, 807,
3149 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3150 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3151 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3152 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3153 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3154 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3155 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3156 70, -1, 880, -1, 882, -1, -1, -1, 78, 79,
3157 80, -1, -1, -1, -1, 893, 86, 87, 88, -1,
3158 -1, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3159 -1, -1, -1, -1, -1, -1, -1, -1, -1, 109,
3160 110, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3161 10, 11, -1, 13, 14, 15, -1, 17, 18, 19,
3162 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3163 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3164 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3165 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3166 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3167 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3168 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3169 1008, -1, -1, 93, -1, 95, -1, -1, -1, -1,
3170 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3171 110, -1, -1, -1, -1, -1, -1, 1035, 63, 64,
3172 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
3173 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
3174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3175 -1, 1, -1, 3, 4, 5, 6, 7, 8, 9,
3176 10, 11, 12, 13, 14, -1, 111, -1, -1, -1,
3177 -1, -1, 1090, 1091, -1, 1093, -1, -1, 28, 29,
3178 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3179 40, 41, 42, 43, -1, 45, -1, 47, -1, 49,
3180 50, 51, 52, 53, 54, -1, 56, 57, 58, -1,
3181 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3182 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3183 80, -1, -1, -1, -1, 1153, 86, 87, 88, -1,
3184 90, -1, -1, 93, 94, -1, -1, -1, -1, -1,
3185 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3186 110, -1, -1, -1, -1, -1, 1, 1185, 3, 4,
3187 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3188 -1, -1, -1, -1, -1, 1203, -1, 1205, -1, -1,
3189 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3190 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3191 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3192 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3193 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3194 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3195 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3196 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3197 14, -1, -1, 108, -1, 110, -1, -1, -1, -1,
3198 -1, -1, -1, -1, 28, 29, 30, 31, 32, -1,
3199 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3200 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3201 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3202 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3203 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3204 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3205 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3206 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3207 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3208 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3209 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3210 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3211 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3212 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3213 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3214 93, 94, 1, -1, 3, 4, 5, 6, -1, 8,
3215 9, 10, 11, -1, 13, 14, 109, 110, -1, -1,
3216 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3217 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3218 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3219 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3220 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3221 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3222 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3223 -1, -1, -1, -1, 93, 94, 1, -1, 3, 4,
3224 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3225 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3226 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3227 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3228 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3229 -1, 56, 57, 58, -1, -1, 61, -1, -1, -1,
3230 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3231 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3232 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3233 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3234 14, -1, -1, -1, 109, 110, -1, -1, -1, -1,
3235 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3236 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3237 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3238 54, -1, 56, 57, 58, -1, -1, 61, -1, -1,
3239 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3240 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3241 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3242 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3243 13, 14, -1, -1, -1, 109, 110, -1, -1, -1,
3244 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3245 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3246 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3247 53, 54, -1, 56, 57, 58, -1, -1, 61, -1,
3248 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3249 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3250 -1, -1, -1, 86, 87, 88, -1, -1, -1, -1,
3251 93, -1, 1, -1, 3, 4, 5, 6, 101, 8,
3252 9, 10, 11, -1, 13, 14, -1, 110, -1, -1,
3253 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3254 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3255 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3256 49, 50, 51, 52, 53, 54, -1, 56, 57, 58,
3257 -1, -1, 61, -1, -1, -1, -1, -1, 67, -1,
3258 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3259 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3260 -1, -1, -1, 1, 93, 3, 4, 5, 6, -1,
3261 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3262 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3263 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3264 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3265 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3266 58, -1, -1, 61, -1, -1, -1, -1, -1, 67,
3267 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3268 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3269 88, -1, -1, -1, 1, 93, 3, 4, 5, 6,
3270 -1, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3271 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3272 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3273 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3274 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3275 57, -1, -1, -1, 61, 62, -1, -1, -1, -1,
3276 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3277 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3278 87, 88, -1, -1, -1, 1, 93, 3, 4, 5,
3279 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3280 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3281 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3282 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3283 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3284 56, 57, 58, -1, -1, 61, -1, -1, -1, -1,
3285 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3286 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3287 86, 87, 88, -1, -1, -1, 1, 93, 3, 4,
3288 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3289 -1, -1, -1, -1, 110, -1, -1, -1, -1, -1,
3290 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3291 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3292 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3293 -1, 56, 57, -1, -1, 60, 61, -1, -1, -1,
3294 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3295 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3296 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3297 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3298 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3299 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3300 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3301 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3302 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3303 -1, -1, -1, 67, 1, -1, 70, 4, 5, -1,
3304 -1, 8, 9, -1, 78, 79, 80, 14, -1, -1,
3305 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3306 -1, 28, -1, 30, -1, -1, -1, -1, -1, 36,
3307 -1, 38, 39, -1, 108, -1, 110, -1, 45, -1,
3308 47, -1, -1, -1, -1, -1, -1, 54, -1, 56,
3309 57, -1, 59, -1, -1, -1, 63, 64, 65, 66,
3310 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3311 77, 78, 79, 80, 81, 82, 83, -1, -1, 86,
3312 87, 88, -1, -1, 91, -1, 1, 94, 3, 4,
3313 5, 6, -1, 8, 9, 10, 11, -1, 13, 14,
3314 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3315 -1, -1, -1, 28, 29, 30, -1, 32, -1, 34,
3316 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3317 45, -1, -1, -1, 49, 50, 51, 52, 53, 54,
3318 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3319 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3320 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3321 -1, 86, 87, 88, -1, -1, -1, 1, 93, 3,
3322 4, 5, 6, -1, 8, 9, 10, 11, -1, 13,
3323 14, -1, -1, -1, -1, 110, -1, -1, -1, -1,
3324 -1, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3325 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3326 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3327 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3328 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3329 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3330 -1, -1, 86, 87, 88, -1, -1, -1, 1, 93,
3331 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3332 13, 14, -1, -1, -1, -1, 110, -1, -1, -1,
3333 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3334 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3335 43, -1, 45, -1, -1, -1, 49, 50, 51, 52,
3336 53, 54, -1, 56, 57, -1, -1, -1, 61, -1,
3337 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3338 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3339 -1, -1, -1, 86, 87, 88, 3, 4, 5, 6,
3340 93, 8, 9, 10, 11, -1, 13, 14, -1, -1,
3341 -1, -1, -1, -1, -1, -1, -1, 110, -1, -1,
3342 -1, 28, 29, 30, -1, 32, -1, 34, 35, 36,
3343 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3344 -1, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3345 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3346 67, -1, 1, 70, 3, 4, 5, 6, 7, 8,
3347 9, 78, 79, 80, -1, 14, -1, -1, -1, 86,
3348 87, 88, -1, -1, -1, -1, 93, -1, -1, 28,
3349 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3350 -1, -1, 41, 110, 111, -1, 45, 46, -1, 48,
3351 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3352 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3353 -1, 70, 1, -1, 3, 4, 5, 6, 7, 8,
3354 9, 80, -1, -1, -1, 14, -1, -1, -1, 88,
3355 -1, -1, -1, -1, 93, -1, -1, -1, -1, 28,
3356 -1, 30, 31, 32, -1, -1, -1, 36, 37, -1,
3357 109, -1, 41, -1, -1, -1, 45, 46, -1, 48,
3358 -1, -1, -1, -1, -1, 54, -1, 56, 57, -1,
3359 -1, 60, -1, 62, -1, -1, -1, -1, -1, -1,
3360 -1, 70, -1, -1, -1, -1, -1, -1, -1, -1,
3361 -1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
3362 -1, -1, -1, -1, 93, -1, -1, 3, 4, 5,
3363 6, 7, 8, 9, 10, 11, -1, 13, 14, 15,
3364 109, 17, 18, 19, 20, 21, 22, 23, 24, 25,
3365 26, 27, 28, 29, 30, 31, 32, -1, 34, 35,
3366 36, -1, 38, 39, 40, 41, 42, 43, 44, 45,
3367 46, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3368 56, 57, 58, -1, 60, 61, -1, -1, -1, -1,
3369 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3370 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3371 86, 87, 88, -1, -1, -1, -1, 93, -1, 95,
3372 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3373 -1, -1, -1, 109, 110, 3, 4, 5, 6, 7,
3374 8, 9, 10, 11, -1, 13, 14, 15, -1, 17,
3375 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
3376 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3377 38, 39, 40, 41, 42, 43, 44, 45, 46, -1,
3378 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3379 58, -1, 60, 61, -1, -1, -1, -1, -1, 67,
3380 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3381 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3382 88, -1, -1, -1, -1, 93, -1, 95, -1, 3,
3383 4, 5, 6, 7, 8, 9, 10, 11, -1, 13,
3384 14, 15, 110, 17, 18, 19, 20, 21, 22, 23,
3385 24, 25, 26, 27, 28, 29, 30, 31, 32, -1,
3386 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3387 44, 45, 46, -1, -1, 49, 50, 51, 52, 53,
3388 54, -1, 56, 57, 58, -1, 60, 61, -1, -1,
3389 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3390 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3391 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3392 -1, 95, -1, 3, 4, 5, 6, 7, 8, 9,
3393 10, 11, -1, 13, 14, 15, 110, 17, 18, 19,
3394 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
3395 30, 31, 32, -1, 34, 35, 36, -1, 38, 39,
3396 40, 41, 42, 43, 44, 45, 46, -1, -1, 49,
3397 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3398 60, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3399 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3400 80, -1, -1, -1, -1, -1, 86, 87, 88, -1,
3401 -1, -1, -1, 93, -1, 95, 3, 4, 5, 6,
3402 7, 8, 9, 10, 11, 12, 13, 14, -1, -1,
3403 110, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3404 -1, 28, 29, 30, 31, 32, -1, 34, 35, 36,
3405 -1, 38, 39, 40, 41, 42, 43, -1, 45, -1,
3406 47, -1, 49, 50, 51, 52, 53, 54, -1, 56,
3407 57, -1, -1, -1, 61, -1, -1, -1, -1, -1,
3408 67, -1, -1, 70, -1, -1, -1, -1, -1, -1,
3409 -1, 78, 79, 80, -1, -1, -1, -1, -1, 86,
3410 87, 88, -1, 90, -1, -1, 93, 94, 3, 4,
3411 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
3412 -1, -1, -1, 110, -1, -1, -1, -1, -1, -1,
3413 -1, -1, -1, 28, 29, 30, 31, 32, -1, 34,
3414 35, 36, -1, 38, 39, 40, 41, 42, 43, -1,
3415 45, -1, 47, -1, 49, 50, 51, 52, 53, 54,
3416 -1, 56, 57, -1, -1, -1, 61, -1, -1, -1,
3417 -1, -1, 67, -1, -1, 70, -1, -1, -1, -1,
3418 -1, -1, -1, 78, 79, 80, -1, -1, -1, -1,
3419 -1, 86, 87, 88, -1, 90, -1, -1, 93, 94,
3420 3, 4, 5, 6, -1, 8, 9, 10, 11, -1,
3421 13, 14, -1, -1, -1, 110, -1, -1, -1, -1,
3422 -1, -1, -1, -1, -1, 28, 29, 30, -1, 32,
3423 -1, 34, 35, 36, -1, 38, 39, 40, 41, 42,
3424 43, -1, 45, -1, 47, -1, 49, 50, 51, 52,
3425 53, 54, -1, 56, 57, -1, -1, -1, -1, -1,
3426 -1, -1, -1, -1, 67, -1, -1, 70, -1, -1,
3427 -1, -1, -1, -1, -1, 78, 79, 80, -1, -1,
3428 -1, -1, -1, 86, 87, 88, -1, 90, -1, -1,
3429 93, 94, 3, 4, 5, 6, -1, 8, 9, 10,
3430 11, -1, 13, 14, -1, -1, -1, 110, -1, -1,
3431 -1, -1, -1, -1, -1, -1, -1, 28, 29, 30,
3432 -1, 32, -1, 34, 35, 36, -1, 38, 39, 40,
3433 41, 42, 43, -1, 45, -1, 47, -1, 49, 50,
3434 51, 52, 53, 54, -1, 56, 57, -1, -1, -1,
3435 -1, -1, -1, -1, -1, -1, 67, -1, -1, 70,
3436 -1, -1, -1, -1, -1, -1, -1, 78, 79, 80,
3437 -1, -1, -1, -1, -1, 86, 87, 88, -1, 90,
3438 -1, -1, 93, 94, 3, 4, 5, 6, -1, 8,
3439 9, 10, 11, -1, 13, 14, -1, -1, -1, 110,
3440 -1, -1, -1, -1, -1, -1, -1, -1, -1, 28,
3441 29, 30, -1, 32, -1, 34, 35, 36, -1, 38,
3442 39, 40, 41, 42, 43, -1, 45, -1, -1, -1,
3443 49, 50, 51, 52, 53, 54, -1, 56, 57, -1,
3444 -1, 60, 61, -1, -1, -1, -1, -1, 67, -1,
3445 -1, 70, -1, -1, -1, -1, -1, -1, -1, 78,
3446 79, 80, -1, -1, -1, -1, -1, 86, 87, 88,
3447 -1, -1, -1, -1, 93, 3, 4, 5, 6, 7,
3448 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3449 -1, 110, -1, -1, -1, -1, -1, -1, -1, -1,
3450 28, 29, 30, 31, 32, -1, 34, 35, 36, -1,
3451 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3452 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3453 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3454 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3455 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3456 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3457 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3458 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3459 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3460 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3461 52, 53, 54, -1, 56, 57, -1, -1, -1, 61,
3462 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3463 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3464 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3465 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3466 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3467 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3468 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3469 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3470 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3471 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3472 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3473 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3474 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3475 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3476 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3477 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3478 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3479 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3480 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3481 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3482 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3483 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3484 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3485 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3486 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3487 54, -1, 56, 57, 58, -1, -1, -1, -1, -1,
3488 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3489 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3490 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3491 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3492 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3493 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3494 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3495 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3496 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3497 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3498 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3499 88, -1, -1, -1, -1, 93, 94, 3, 4, 5,
3500 6, -1, 8, 9, 10, 11, -1, 13, 14, -1,
3501 -1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
3502 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3503 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3504 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3505 56, 57, -1, -1, -1, 61, -1, -1, -1, -1,
3506 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3507 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3508 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3509 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3510 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3511 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3512 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3513 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3514 -1, 61, -1, -1, -1, -1, -1, 67, -1, -1,
3515 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3516 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3517 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3518 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3519 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3520 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3521 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3522 54, -1, 56, 57, -1, -1, -1, 61, -1, -1,
3523 -1, -1, -1, 67, -1, -1, 70, -1, -1, -1,
3524 -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
3525 -1, -1, 86, 87, 88, 3, 4, 5, 6, 93,
3526 8, 9, 10, 11, -1, 13, 14, -1, -1, -1,
3527 -1, -1, -1, -1, -1, -1, 110, -1, -1, -1,
3528 28, 29, 30, -1, 32, -1, 34, 35, 36, -1,
3529 38, 39, 40, 41, 42, 43, -1, 45, -1, -1,
3530 -1, 49, 50, 51, 52, 53, 54, -1, 56, 57,
3531 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67,
3532 -1, -1, 70, -1, -1, -1, -1, -1, -1, -1,
3533 78, 79, 80, -1, -1, -1, -1, -1, 86, 87,
3534 88, 3, 4, 5, 6, 93, 8, 9, 10, 11,
3535 -1, 13, 14, -1, -1, -1, -1, -1, -1, -1,
3536 -1, -1, 110, -1, -1, -1, 28, 29, 30, -1,
3537 32, -1, 34, 35, 36, -1, 38, 39, 40, 41,
3538 42, 43, -1, 45, -1, -1, -1, 49, 50, 51,
3539 52, 53, 54, -1, 56, 57, -1, -1, -1, -1,
3540 -1, -1, -1, -1, -1, 67, -1, -1, 70, -1,
3541 -1, -1, -1, -1, -1, -1, 78, 79, 80, -1,
3542 -1, -1, -1, -1, 86, 87, 88, 3, 4, 5,
3543 6, 93, 8, 9, 10, 11, -1, 13, 14, -1,
3544 -1, -1, -1, -1, -1, -1, -1, -1, 110, -1,
3545 -1, -1, 28, 29, 30, -1, 32, -1, 34, 35,
3546 36, -1, 38, 39, 40, 41, 42, 43, -1, 45,
3547 -1, -1, -1, 49, 50, 51, 52, 53, 54, -1,
3548 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
3549 -1, 67, -1, -1, 70, -1, -1, -1, -1, -1,
3550 -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
3551 86, 87, 88, 3, 4, 5, 6, 93, 8, 9,
3552 10, 11, -1, 13, 14, -1, -1, -1, -1, -1,
3553 -1, -1, -1, -1, 110, -1, -1, -1, 28, 29,
3554 30, -1, 32, -1, 34, 35, 36, -1, 38, 39,
3555 40, 41, 42, 43, -1, 45, -1, -1, -1, 49,
3556 50, 51, 52, 53, 54, -1, 56, 57, -1, -1,
3557 -1, -1, -1, -1, -1, -1, -1, 67, -1, -1,
3558 70, -1, -1, -1, -1, -1, -1, -1, 78, 79,
3559 80, -1, -1, -1, -1, -1, 86, 87, 88, 3,
3560 4, 5, 6, 93, 8, 9, 10, 11, -1, 13,
3561 14, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3562 110, -1, -1, -1, 28, 29, 30, -1, 32, -1,
3563 34, 35, 36, -1, 38, 39, 40, 41, 42, 43,
3564 -1, 45, -1, -1, -1, 49, 50, 51, 52, 53,
3565 54, -1, 56, 57, -1, -1, -1, -1, -1, -1,
3566 -1, -1, -1, 67, -1, -1, 70, 3, 4, 5,
3567 6, 7, 8, 9, 78, 79, 80, -1, 14, -1,
3568 -1, -1, 86, 87, 88, -1, -1, -1, -1, 93,
3569 -1, -1, 28, -1, 30, 31, -1, -1, -1, -1,
3570 36, -1, -1, -1, -1, 41, 110, -1, -1, 45,
3571 -1, -1, -1, -1, -1, -1, -1, -1, 54, -1,
3572 56, 57, -1, -1, -1, -1, 62, -1, -1, -1,
3573 -1, -1, -1, -1, 70, 3, 4, 5, 6, 7,
3574 8, 9, -1, -1, 80, -1, 14, -1, -1, -1,
3575 -1, -1, 88, -1, -1, -1, -1, 93, -1, -1,
3576 28, -1, 30, 31, -1, -1, -1, -1, 36, -1,
3577 -1, -1, -1, 41, -1, -1, -1, 45, -1, -1,
3578 -1, -1, -1, -1, -1, -1, 54, -1, 56, 57,
3579 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
3580 73, 74, 70, 76, 77, 78, 79, 80, 81, 82,
3581 83, 84, 80, -1, -1, -1, -1, -1, -1, -1,
3582 88, -1, -1, -1, -1, 93, 63, 64, 65, 66,
3583 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3584 77, 78, 79, 80, 81, 82, 83, 84, -1, -1,
3585 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3586 -1, -1, -1, -1, -1, -1, -1, 59, -1, -1,
3587 107, 63, 64, 65, 66, 67, 68, 69, 70, 71,
3588 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
3589 82, 83, 84, 62, 63, 64, 65, 66, 67, 68,
3590 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
3591 79, 80, 81, 82, 83, 84, 63, 64, 65, 66,
3592 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
3593 77, 78, 79, 80, 81, 82, 83, 84
3594 };
3595 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
3596 #line 3 "/usr/lib/bison.simple"
3597
3598 /* Skeleton output parser for bison,
3599 Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
3600
3601 This program is free software; you can redistribute it and/or modify
3602 it under the terms of the GNU General Public License as published by
3603 the Free Software Foundation; either version 2, or (at your option)
3604 any later version.
3605
3606 This program is distributed in the hope that it will be useful,
3607 but WITHOUT ANY WARRANTY; without even the implied warranty of
3608 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3609 GNU General Public License for more details.
3610
3611 You should have received a copy of the GNU General Public License
3612 along with this program; if not, write to the Free Software
3613 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
3614
3615 /* As a special exception, when this file is copied by Bison into a
3616 Bison output file, you may use that output file without restriction.
3617 This special exception was added by the Free Software Foundation
3618 in version 1.24 of Bison. */
3619
3620 #ifndef alloca
3621 #ifdef __GNUC__
3622 #define alloca __builtin_alloca
3623 #else /* not GNU C. */
3624 #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
3625 #include <alloca.h>
3626 #else /* not sparc */
3627 #if defined (MSDOS) && !defined (__TURBOC__)
3628 #include <malloc.h>
3629 #else /* not MSDOS, or __TURBOC__ */
3630 #if defined(_AIX)
3631 #include <malloc.h>
3632 #pragma alloca
3633 #else /* not MSDOS, __TURBOC__, or _AIX */
3634 #ifdef __hpux
3635 #ifdef __cplusplus
3636 extern "C" {
3637 void *alloca (unsigned int);
3638 };
3639 #else /* not __cplusplus */
3640 void *alloca ();
3641 #endif /* not __cplusplus */
3642 #endif /* __hpux */
3643 #endif /* not _AIX */
3644 #endif /* not MSDOS, or __TURBOC__ */
3645 #endif /* not sparc. */
3646 #endif /* not GNU C. */
3647 #endif /* alloca not defined. */
3648
3649 /* This is the parser code that is written into each bison parser
3650 when the %semantic_parser declaration is not specified in the grammar.
3651 It was written by Richard Stallman by simplifying the hairy parser
3652 used when %semantic_parser is specified. */
3653
3654 /* Note: there must be only one dollar sign in this file.
3655 It is replaced by the list of actions, each action
3656 as one case of the switch. */
3657
3658 #define yyerrok (yyerrstatus = 0)
3659 #define yyclearin (yychar = YYEMPTY)
3660 #define YYEMPTY -2
3661 #define YYEOF 0
3662 #define YYACCEPT return(0)
3663 #define YYABORT return(1)
3664 #define YYERROR goto yyerrlab1
3665 /* Like YYERROR except do call yyerror.
3666 This remains here temporarily to ease the
3667 transition to the new meaning of YYERROR, for GCC.
3668 Once GCC version 2 has supplanted version 1, this can go. */
3669 #define YYFAIL goto yyerrlab
3670 #define YYRECOVERING() (!!yyerrstatus)
3671 #define YYBACKUP(token, value) \
3672 do \
3673 if (yychar == YYEMPTY && yylen == 1) \
3674 { yychar = (token), yylval = (value); \
3675 yychar1 = YYTRANSLATE (yychar); \
3676 YYPOPSTACK; \
3677 goto yybackup; \
3678 } \
3679 else \
3680 { yyerror ("syntax error: cannot back up"); YYERROR; } \
3681 while (0)
3682
3683 #define YYTERROR 1
3684 #define YYERRCODE 256
3685
3686 #ifndef YYPURE
3687 #define YYLEX yylex()
3688 #endif
3689
3690 #ifdef YYPURE
3691 #ifdef YYLSP_NEEDED
3692 #ifdef YYLEX_PARAM
3693 #define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
3694 #else
3695 #define YYLEX yylex(&yylval, &yylloc)
3696 #endif
3697 #else /* not YYLSP_NEEDED */
3698 #ifdef YYLEX_PARAM
3699 #define YYLEX yylex(&yylval, YYLEX_PARAM)
3700 #else
3701 #define YYLEX yylex(&yylval)
3702 #endif
3703 #endif /* not YYLSP_NEEDED */
3704 #endif
3705
3706 /* If nonreentrant, generate the variables here */
3707
3708 #ifndef YYPURE
3709
3710 int yychar; /* the lookahead symbol */
3711 YYSTYPE yylval; /* the semantic value of the */
3712 /* lookahead symbol */
3713
3714 #ifdef YYLSP_NEEDED
3715 YYLTYPE yylloc; /* location data for the lookahead */
3716 /* symbol */
3717 #endif
3718
3719 int yynerrs; /* number of parse errors so far */
3720 #endif /* not YYPURE */
3721
3722 #if YYDEBUG != 0
3723 int yydebug; /* nonzero means print parse trace */
3724 /* Since this is uninitialized, it does not stop multiple parsers
3725 from coexisting. */
3726 #endif
3727
3728 /* YYINITDEPTH indicates the initial size of the parser's stacks */
3729
3730 #ifndef YYINITDEPTH
3731 #define YYINITDEPTH 200
3732 #endif
3733
3734 /* YYMAXDEPTH is the maximum size the stacks can grow to
3735 (effective only if the built-in stack extension method is used). */
3736
3737 #if YYMAXDEPTH == 0
3738 #undef YYMAXDEPTH
3739 #endif
3740
3741 #ifndef YYMAXDEPTH
3742 #define YYMAXDEPTH 10000
3743 #endif
3744
3745 /* Prevent warning if -Wstrict-prototypes. */
3746 #ifdef __GNUC__
3747 int yyparse (void);
3748 #endif
3749 \f
3750 #if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
3751 #define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
3752 #else /* not GNU C or C++ */
3753 #ifndef __cplusplus
3754
3755 /* This is the most reliable way to avoid incompatibilities
3756 in available built-in functions on various systems. */
3757 static void
3758 __yy_memcpy (to, from, count)
3759 char *to;
3760 char *from;
3761 int count;
3762 {
3763 register char *f = from;
3764 register char *t = to;
3765 register int i = count;
3766
3767 while (i-- > 0)
3768 *t++ = *f++;
3769 }
3770
3771 #else /* __cplusplus */
3772
3773 /* This is the most reliable way to avoid incompatibilities
3774 in available built-in functions on various systems. */
3775 static void
3776 __yy_memcpy (char *to, char *from, int count)
3777 {
3778 register char *f = from;
3779 register char *t = to;
3780 register int i = count;
3781
3782 while (i-- > 0)
3783 *t++ = *f++;
3784 }
3785
3786 #endif
3787 #endif
3788 \f
3789 #line 196 "/usr/lib/bison.simple"
3790
3791 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
3792 into yyparse. The argument should have type void *.
3793 It should actually point to an object.
3794 Grammar actions can access the variable by casting it
3795 to the proper pointer type. */
3796
3797 #ifdef YYPARSE_PARAM
3798 #ifdef __cplusplus
3799 #define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
3800 #define YYPARSE_PARAM_DECL
3801 #else /* not __cplusplus */
3802 #define YYPARSE_PARAM_ARG YYPARSE_PARAM
3803 #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
3804 #endif /* not __cplusplus */
3805 #else /* not YYPARSE_PARAM */
3806 #define YYPARSE_PARAM_ARG
3807 #define YYPARSE_PARAM_DECL
3808 #endif /* not YYPARSE_PARAM */
3809
3810 int
3811 yyparse(YYPARSE_PARAM_ARG)
3812 YYPARSE_PARAM_DECL
3813 {
3814 register int yystate;
3815 register int yyn;
3816 register short *yyssp;
3817 register YYSTYPE *yyvsp;
3818 int yyerrstatus; /* number of tokens to shift before error messages enabled */
3819 int yychar1 = 0; /* lookahead token as an internal (translated) token number */
3820
3821 short yyssa[YYINITDEPTH]; /* the state stack */
3822 YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
3823
3824 short *yyss = yyssa; /* refer to the stacks thru separate pointers */
3825 YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
3826
3827 #ifdef YYLSP_NEEDED
3828 YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
3829 YYLTYPE *yyls = yylsa;
3830 YYLTYPE *yylsp;
3831
3832 #define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
3833 #else
3834 #define YYPOPSTACK (yyvsp--, yyssp--)
3835 #endif
3836
3837 int yystacksize = YYINITDEPTH;
3838
3839 #ifdef YYPURE
3840 int yychar;
3841 YYSTYPE yylval;
3842 int yynerrs;
3843 #ifdef YYLSP_NEEDED
3844 YYLTYPE yylloc;
3845 #endif
3846 #endif
3847
3848 YYSTYPE yyval; /* the variable used to return */
3849 /* semantic values from the action */
3850 /* routines */
3851
3852 int yylen;
3853
3854 #if YYDEBUG != 0
3855 if (yydebug)
3856 fprintf(stderr, "Starting parse\n");
3857 #endif
3858
3859 yystate = 0;
3860 yyerrstatus = 0;
3861 yynerrs = 0;
3862 yychar = YYEMPTY; /* Cause a token to be read. */
3863
3864 /* Initialize stack pointers.
3865 Waste one element of value and location stack
3866 so that they stay on the same level as the state stack.
3867 The wasted elements are never initialized. */
3868
3869 yyssp = yyss - 1;
3870 yyvsp = yyvs;
3871 #ifdef YYLSP_NEEDED
3872 yylsp = yyls;
3873 #endif
3874
3875 /* Push a new state, which is found in yystate . */
3876 /* In all cases, when you get here, the value and location stacks
3877 have just been pushed. so pushing a state here evens the stacks. */
3878 yynewstate:
3879
3880 *++yyssp = yystate;
3881
3882 if (yyssp >= yyss + yystacksize - 1)
3883 {
3884 /* Give user a chance to reallocate the stack */
3885 /* Use copies of these so that the &'s don't force the real ones into memory. */
3886 YYSTYPE *yyvs1 = yyvs;
3887 short *yyss1 = yyss;
3888 #ifdef YYLSP_NEEDED
3889 YYLTYPE *yyls1 = yyls;
3890 #endif
3891
3892 /* Get the current used size of the three stacks, in elements. */
3893 int size = yyssp - yyss + 1;
3894
3895 #ifdef yyoverflow
3896 /* Each stack pointer address is followed by the size of
3897 the data in use in that stack, in bytes. */
3898 #ifdef YYLSP_NEEDED
3899 /* This used to be a conditional around just the two extra args,
3900 but that might be undefined if yyoverflow is a macro. */
3901 yyoverflow("parser stack overflow",
3902 &yyss1, size * sizeof (*yyssp),
3903 &yyvs1, size * sizeof (*yyvsp),
3904 &yyls1, size * sizeof (*yylsp),
3905 &yystacksize);
3906 #else
3907 yyoverflow("parser stack overflow",
3908 &yyss1, size * sizeof (*yyssp),
3909 &yyvs1, size * sizeof (*yyvsp),
3910 &yystacksize);
3911 #endif
3912
3913 yyss = yyss1; yyvs = yyvs1;
3914 #ifdef YYLSP_NEEDED
3915 yyls = yyls1;
3916 #endif
3917 #else /* no yyoverflow */
3918 /* Extend the stack our own way. */
3919 if (yystacksize >= YYMAXDEPTH)
3920 {
3921 yyerror("parser stack overflow");
3922 return 2;
3923 }
3924 yystacksize *= 2;
3925 if (yystacksize > YYMAXDEPTH)
3926 yystacksize = YYMAXDEPTH;
3927 yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
3928 __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
3929 yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
3930 __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
3931 #ifdef YYLSP_NEEDED
3932 yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
3933 __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
3934 #endif
3935 #endif /* no yyoverflow */
3936
3937 yyssp = yyss + size - 1;
3938 yyvsp = yyvs + size - 1;
3939 #ifdef YYLSP_NEEDED
3940 yylsp = yyls + size - 1;
3941 #endif
3942
3943 #if YYDEBUG != 0
3944 if (yydebug)
3945 fprintf(stderr, "Stack size increased to %d\n", yystacksize);
3946 #endif
3947
3948 if (yyssp >= yyss + yystacksize - 1)
3949 YYABORT;
3950 }
3951
3952 #if YYDEBUG != 0
3953 if (yydebug)
3954 fprintf(stderr, "Entering state %d\n", yystate);
3955 #endif
3956
3957 goto yybackup;
3958 yybackup:
3959
3960 /* Do appropriate processing given the current state. */
3961 /* Read a lookahead token if we need one and don't already have one. */
3962 /* yyresume: */
3963
3964 /* First try to decide what to do without reference to lookahead token. */
3965
3966 yyn = yypact[yystate];
3967 if (yyn == YYFLAG)
3968 goto yydefault;
3969
3970 /* Not known => get a lookahead token if don't already have one. */
3971
3972 /* yychar is either YYEMPTY or YYEOF
3973 or a valid token in external form. */
3974
3975 if (yychar == YYEMPTY)
3976 {
3977 #if YYDEBUG != 0
3978 if (yydebug)
3979 fprintf(stderr, "Reading a token: ");
3980 #endif
3981 yychar = YYLEX;
3982 }
3983
3984 /* Convert token to internal form (in yychar1) for indexing tables with */
3985
3986 if (yychar <= 0) /* This means end of input. */
3987 {
3988 yychar1 = 0;
3989 yychar = YYEOF; /* Don't call YYLEX any more */
3990
3991 #if YYDEBUG != 0
3992 if (yydebug)
3993 fprintf(stderr, "Now at end of input.\n");
3994 #endif
3995 }
3996 else
3997 {
3998 yychar1 = YYTRANSLATE(yychar);
3999
4000 #if YYDEBUG != 0
4001 if (yydebug)
4002 {
4003 fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
4004 /* Give the individual parser a way to print the precise meaning
4005 of a token, for further debugging info. */
4006 #ifdef YYPRINT
4007 YYPRINT (stderr, yychar, yylval);
4008 #endif
4009 fprintf (stderr, ")\n");
4010 }
4011 #endif
4012 }
4013
4014 yyn += yychar1;
4015 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
4016 goto yydefault;
4017
4018 yyn = yytable[yyn];
4019
4020 /* yyn is what to do for this token type in this state.
4021 Negative => reduce, -yyn is rule number.
4022 Positive => shift, yyn is new state.
4023 New state is final state => don't bother to shift,
4024 just return success.
4025 0, or most negative number => error. */
4026
4027 if (yyn < 0)
4028 {
4029 if (yyn == YYFLAG)
4030 goto yyerrlab;
4031 yyn = -yyn;
4032 goto yyreduce;
4033 }
4034 else if (yyn == 0)
4035 goto yyerrlab;
4036
4037 if (yyn == YYFINAL)
4038 YYACCEPT;
4039
4040 /* Shift the lookahead token. */
4041
4042 #if YYDEBUG != 0
4043 if (yydebug)
4044 fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
4045 #endif
4046
4047 /* Discard the token being shifted unless it is eof. */
4048 if (yychar != YYEOF)
4049 yychar = YYEMPTY;
4050
4051 *++yyvsp = yylval;
4052 #ifdef YYLSP_NEEDED
4053 *++yylsp = yylloc;
4054 #endif
4055
4056 /* count tokens shifted since error; after three, turn off error status. */
4057 if (yyerrstatus) yyerrstatus--;
4058
4059 yystate = yyn;
4060 goto yynewstate;
4061
4062 /* Do the default action for the current state. */
4063 yydefault:
4064
4065 yyn = yydefact[yystate];
4066 if (yyn == 0)
4067 goto yyerrlab;
4068
4069 /* Do a reduction. yyn is the number of a rule to reduce with. */
4070 yyreduce:
4071 yylen = yyr2[yyn];
4072 if (yylen > 0)
4073 yyval = yyvsp[1-yylen]; /* implement default value of the action */
4074
4075 #if YYDEBUG != 0
4076 if (yydebug)
4077 {
4078 int i;
4079
4080 fprintf (stderr, "Reducing via rule %d (line %d), ",
4081 yyn, yyrline[yyn]);
4082
4083 /* Print the symbols being reduced, and their result. */
4084 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
4085 fprintf (stderr, "%s ", yytname[yyrhs[i]]);
4086 fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
4087 }
4088 #endif
4089
4090
4091 switch (yyn) {
4092
4093 case 2:
4094 #line 338 "parse.y"
4095 { finish_translation_unit (); ;
4096 break;}
4097 case 3:
4098 #line 346 "parse.y"
4099 { yyval.ttype = NULL_TREE; ;
4100 break;}
4101 case 4:
4102 #line 348 "parse.y"
4103 { yyval.ttype = NULL_TREE; ;
4104 break;}
4105 case 5:
4106 #line 350 "parse.y"
4107 { yyval.ttype = NULL_TREE; ;
4108 break;}
4109 case 8:
4110 #line 359 "parse.y"
4111 { have_extern_spec = 1;
4112 used_extern_spec = 0;
4113 yyval.ttype = NULL_TREE; ;
4114 break;}
4115 case 9:
4116 #line 364 "parse.y"
4117 { have_extern_spec = 0; ;
4118 break;}
4119 case 10:
4120 #line 369 "parse.y"
4121 { yyval.itype = pedantic;
4122 pedantic = 0; ;
4123 break;}
4124 case 12:
4125 #line 378 "parse.y"
4126 { if (pending_lang_change) do_pending_lang_change(); ;
4127 break;}
4128 case 13:
4129 #line 380 "parse.y"
4130 { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
4131 pop_everything (); ;
4132 break;}
4133 case 14:
4134 #line 386 "parse.y"
4135 { if (pending_inlines) do_pending_inlines (); ;
4136 break;}
4137 case 15:
4138 #line 388 "parse.y"
4139 { if (pending_inlines) do_pending_inlines (); ;
4140 break;}
4141 case 16:
4142 #line 390 "parse.y"
4143 { if (pending_inlines) do_pending_inlines (); ;
4144 break;}
4145 case 17:
4146 #line 392 "parse.y"
4147 { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
4148 assemble_asm (yyvsp[-2].ttype); ;
4149 break;}
4150 case 18:
4151 #line 395 "parse.y"
4152 { pop_lang_context (); ;
4153 break;}
4154 case 19:
4155 #line 397 "parse.y"
4156 { if (pending_inlines) do_pending_inlines ();
4157 pop_lang_context (); ;
4158 break;}
4159 case 20:
4160 #line 400 "parse.y"
4161 { if (pending_inlines) do_pending_inlines ();
4162 pop_lang_context (); ;
4163 break;}
4164 case 21:
4165 #line 403 "parse.y"
4166 { push_namespace (yyvsp[-1].ttype); ;
4167 break;}
4168 case 22:
4169 #line 405 "parse.y"
4170 { pop_namespace (); ;
4171 break;}
4172 case 23:
4173 #line 407 "parse.y"
4174 { push_namespace (NULL_TREE); ;
4175 break;}
4176 case 24:
4177 #line 409 "parse.y"
4178 { pop_namespace (); ;
4179 break;}
4180 case 26:
4181 #line 412 "parse.y"
4182 { do_toplevel_using_decl (yyvsp[-1].ttype); ;
4183 break;}
4184 case 28:
4185 #line 415 "parse.y"
4186 { pedantic = yyvsp[-1].itype; ;
4187 break;}
4188 case 29:
4189 #line 420 "parse.y"
4190 { begin_only_namespace_names (); ;
4191 break;}
4192 case 30:
4193 #line 422 "parse.y"
4194 {
4195 end_only_namespace_names ();
4196 if (lastiddecl)
4197 yyvsp[-1].ttype = lastiddecl;
4198 do_namespace_alias (yyvsp[-4].ttype, yyvsp[-1].ttype);
4199 ;
4200 break;}
4201 case 31:
4202 #line 432 "parse.y"
4203 { yyval.ttype = yyvsp[0].ttype; ;
4204 break;}
4205 case 32:
4206 #line 434 "parse.y"
4207 { yyval.ttype = yyvsp[0].ttype; ;
4208 break;}
4209 case 33:
4210 #line 436 "parse.y"
4211 { yyval.ttype = yyvsp[0].ttype; ;
4212 break;}
4213 case 34:
4214 #line 441 "parse.y"
4215 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4216 break;}
4217 case 35:
4218 #line 443 "parse.y"
4219 { yyval.ttype = build_parse_node (SCOPE_REF, global_namespace, yyvsp[0].ttype); ;
4220 break;}
4221 case 36:
4222 #line 445 "parse.y"
4223 { yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4224 break;}
4225 case 37:
4226 #line 450 "parse.y"
4227 { begin_only_namespace_names (); ;
4228 break;}
4229 case 38:
4230 #line 452 "parse.y"
4231 {
4232 end_only_namespace_names ();
4233 /* If no declaration was found, the using-directive is
4234 invalid. Since that was not reported, we need the
4235 identifier for the error message. */
4236 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE && lastiddecl)
4237 yyvsp[-1].ttype = lastiddecl;
4238 do_using_directive (yyvsp[-1].ttype);
4239 ;
4240 break;}
4241 case 39:
4242 #line 465 "parse.y"
4243 {
4244 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4245 yyval.ttype = lastiddecl;
4246 got_scope = yyval.ttype;
4247 ;
4248 break;}
4249 case 40:
4250 #line 471 "parse.y"
4251 {
4252 yyval.ttype = yyvsp[-1].ttype;
4253 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
4254 yyval.ttype = lastiddecl;
4255 got_scope = yyval.ttype;
4256 ;
4257 break;}
4258 case 43:
4259 #line 482 "parse.y"
4260 { yyval.ttype = yyvsp[0].ttype; ;
4261 break;}
4262 case 44:
4263 #line 484 "parse.y"
4264 { yyval.ttype = yyvsp[0].ttype; ;
4265 break;}
4266 case 45:
4267 #line 489 "parse.y"
4268 { push_lang_context (yyvsp[0].ttype); ;
4269 break;}
4270 case 46:
4271 #line 491 "parse.y"
4272 { if (current_lang_name != yyvsp[0].ttype)
4273 cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
4274 pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
4275 break;}
4276 case 47:
4277 #line 498 "parse.y"
4278 { begin_template_parm_list (); ;
4279 break;}
4280 case 48:
4281 #line 500 "parse.y"
4282 { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
4283 break;}
4284 case 49:
4285 #line 502 "parse.y"
4286 { begin_specialization();
4287 yyval.ttype = NULL_TREE; ;
4288 break;}
4289 case 50:
4290 #line 508 "parse.y"
4291 { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
4292 break;}
4293 case 51:
4294 #line 510 "parse.y"
4295 { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
4296 break;}
4297 case 52:
4298 #line 515 "parse.y"
4299 { yyval.ttype = yyvsp[0].ttype; ;
4300 break;}
4301 case 53:
4302 #line 517 "parse.y"
4303 { yyval.ttype = NULL_TREE; ;
4304 break;}
4305 case 54:
4306 #line 521 "parse.y"
4307 { yyval.ttype = finish_template_type_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4308 break;}
4309 case 55:
4310 #line 523 "parse.y"
4311 { yyval.ttype = finish_template_type_parm (class_type_node, yyvsp[0].ttype); ;
4312 break;}
4313 case 56:
4314 #line 528 "parse.y"
4315 { yyval.ttype = finish_template_template_parm (yyvsp[-1].ttype, yyvsp[0].ttype); ;
4316 break;}
4317 case 57:
4318 #line 540 "parse.y"
4319 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4320 break;}
4321 case 58:
4322 #line 542 "parse.y"
4323 { yyval.ttype = build_tree_list (groktypename (yyvsp[0].ftype.t), yyvsp[-2].ttype); ;
4324 break;}
4325 case 59:
4326 #line 544 "parse.y"
4327 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ftype.t); ;
4328 break;}
4329 case 60:
4330 #line 546 "parse.y"
4331 { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ftype.t); ;
4332 break;}
4333 case 61:
4334 #line 548 "parse.y"
4335 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
4336 break;}
4337 case 62:
4338 #line 550 "parse.y"
4339 {
4340 if (TREE_CODE (yyvsp[0].ttype) != TEMPLATE_DECL
4341 && TREE_CODE (yyvsp[0].ttype) != TEMPLATE_TEMPLATE_PARM
4342 && TREE_CODE (yyvsp[0].ttype) != TYPE_DECL)
4343 {
4344 error ("invalid default template argument");
4345 yyvsp[0].ttype = error_mark_node;
4346 }
4347 yyval.ttype = build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype);
4348 ;
4349 break;}
4350 case 63:
4351 #line 564 "parse.y"
4352 { finish_template_decl (yyvsp[-1].ttype); ;
4353 break;}
4354 case 64:
4355 #line 566 "parse.y"
4356 { finish_template_decl (yyvsp[-1].ttype); ;
4357 break;}
4358 case 65:
4359 #line 571 "parse.y"
4360 { if (pending_inlines) do_pending_inlines (); ;
4361 break;}
4362 case 66:
4363 #line 573 "parse.y"
4364 { if (pending_inlines) do_pending_inlines (); ;
4365 break;}
4366 case 67:
4367 #line 575 "parse.y"
4368 { if (pending_inlines) do_pending_inlines (); ;
4369 break;}
4370 case 68:
4371 #line 577 "parse.y"
4372 { if (pending_inlines) do_pending_inlines ();
4373 pop_lang_context (); ;
4374 break;}
4375 case 69:
4376 #line 580 "parse.y"
4377 { if (pending_inlines) do_pending_inlines ();
4378 pop_lang_context (); ;
4379 break;}
4380 case 70:
4381 #line 583 "parse.y"
4382 { pedantic = yyvsp[-1].itype; ;
4383 break;}
4384 case 72:
4385 #line 589 "parse.y"
4386 {;
4387 break;}
4388 case 73:
4389 #line 591 "parse.y"
4390 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4391 break;}
4392 case 74:
4393 #line 593 "parse.y"
4394 { maybe_process_partial_specialization (yyvsp[-1].ftype.t);
4395 note_got_semicolon (yyvsp[-1].ftype.t); ;
4396 break;}
4397 case 76:
4398 #line 600 "parse.y"
4399 {;
4400 break;}
4401 case 77:
4402 #line 602 "parse.y"
4403 { note_list_got_semicolon (yyvsp[-2].ftype.t); ;
4404 break;}
4405 case 78:
4406 #line 604 "parse.y"
4407 { pedwarn ("empty declaration"); ;
4408 break;}
4409 case 80:
4410 #line 607 "parse.y"
4411 {
4412 tree t, attrs;
4413 split_specs_attrs (yyvsp[-1].ftype.t, &t, &attrs);
4414 shadow_tag (t);
4415 note_list_got_semicolon (yyvsp[-1].ftype.t);
4416 ;
4417 break;}
4418 case 84:
4419 #line 620 "parse.y"
4420 { yyval.itype = 0; ;
4421 break;}
4422 case 85:
4423 #line 622 "parse.y"
4424 { yyval.itype = 1; ;
4425 break;}
4426 case 91:
4427 #line 638 "parse.y"
4428 { finish_function (lineno, (int)yyvsp[-1].itype, 0); ;
4429 break;}
4430 case 92:
4431 #line 640 "parse.y"
4432 { ;
4433 break;}
4434 case 93:
4435 #line 642 "parse.y"
4436 { ;
4437 break;}
4438 case 94:
4439 #line 647 "parse.y"
4440 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4441 break;}
4442 case 95:
4443 #line 649 "parse.y"
4444 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4445 break;}
4446 case 96:
4447 #line 651 "parse.y"
4448 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4449 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4450 ;
4451 break;}
4452 case 97:
4453 #line 655 "parse.y"
4454 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4455 break;}
4456 case 98:
4457 #line 657 "parse.y"
4458 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4459 break;}
4460 case 99:
4461 #line 659 "parse.y"
4462 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4463 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4464 ;
4465 break;}
4466 case 100:
4467 #line 663 "parse.y"
4468 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4469 break;}
4470 case 101:
4471 #line 665 "parse.y"
4472 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4473 break;}
4474 case 102:
4475 #line 667 "parse.y"
4476 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4477 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4478 ;
4479 break;}
4480 case 103:
4481 #line 671 "parse.y"
4482 { yyval.ttype = begin_constructor_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
4483 break;}
4484 case 104:
4485 #line 673 "parse.y"
4486 { yyval.ttype = make_call_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4487 break;}
4488 case 105:
4489 #line 675 "parse.y"
4490 { yyval.ttype = begin_constructor_declarator (yyvsp[-4].ttype, yyvsp[-3].ttype);
4491 yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype);
4492 ;
4493 break;}
4494 case 106:
4495 #line 682 "parse.y"
4496 { if (!begin_function_definition (yyvsp[-1].ftype.t, yyvsp[0].ttype))
4497 YYERROR1; ;
4498 break;}
4499 case 107:
4500 #line 685 "parse.y"
4501 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4502 YYERROR1; ;
4503 break;}
4504 case 108:
4505 #line 688 "parse.y"
4506 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4507 YYERROR1; ;
4508 break;}
4509 case 109:
4510 #line 691 "parse.y"
4511 { if (!begin_function_definition (yyvsp[-1].ttype, yyvsp[0].ttype))
4512 YYERROR1; ;
4513 break;}
4514 case 110:
4515 #line 694 "parse.y"
4516 { if (!begin_function_definition (NULL_TREE, yyvsp[0].ttype))
4517 YYERROR1; ;
4518 break;}
4519 case 111:
4520 #line 700 "parse.y"
4521 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4522 break;}
4523 case 112:
4524 #line 702 "parse.y"
4525 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4526 break;}
4527 case 113:
4528 #line 704 "parse.y"
4529 { yyval.ttype = make_call_declarator (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
4530 break;}
4531 case 114:
4532 #line 706 "parse.y"
4533 { yyval.ttype = make_call_declarator (yyvsp[-3].ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
4534 break;}
4535 case 115:
4536 #line 713 "parse.y"
4537 { tree specs = strip_attrs (yyvsp[-1].ttype);
4538 yyval.ttype = start_method (specs, yyvsp[0].ttype);
4539 rest_of_mdef:
4540 if (! yyval.ttype)
4541 YYERROR1;
4542 if (yychar == YYEMPTY)
4543 yychar = YYLEX;
4544 reinit_parse_for_method (yychar, yyval.ttype); ;
4545 break;}
4546 case 116:
4547 #line 722 "parse.y"
4548 { yyval.ttype = start_method (NULL_TREE, yyvsp[0].ttype); goto rest_of_mdef; ;
4549 break;}
4550 case 117:
4551 #line 724 "parse.y"
4552 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4553 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4554 break;}
4555 case 118:
4556 #line 727 "parse.y"
4557 { tree specs = strip_attrs (yyvsp[-1].ttype);
4558 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4559 break;}
4560 case 119:
4561 #line 730 "parse.y"
4562 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4563 break;}
4564 case 120:
4565 #line 732 "parse.y"
4566 { tree specs = strip_attrs (yyvsp[-1].ttype);
4567 yyval.ttype = start_method (specs, yyvsp[0].ttype); goto rest_of_mdef; ;
4568 break;}
4569 case 121:
4570 #line 735 "parse.y"
4571 { yyval.ttype = start_method (NULL_TREE, yyval.ttype); goto rest_of_mdef; ;
4572 break;}
4573 case 122:
4574 #line 740 "parse.y"
4575 {
4576 if (! current_function_parms_stored)
4577 store_parm_decls ();
4578 yyval.ttype = yyvsp[0].ttype;
4579 ;
4580 break;}
4581 case 123:
4582 #line 749 "parse.y"
4583 { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
4584 break;}
4585 case 124:
4586 #line 751 "parse.y"
4587 { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
4588 break;}
4589 case 125:
4590 #line 753 "parse.y"
4591 { store_return_init (yyval.ttype, NULL_TREE); ;
4592 break;}
4593 case 126:
4594 #line 758 "parse.y"
4595 {
4596 if (yyvsp[0].itype == 0)
4597 error ("no base initializers given following ':'");
4598 setup_vtbl_ptr ();
4599 /* Always keep the BLOCK node associated with the outermost
4600 pair of curley braces of a function. These are needed
4601 for correct operation of dwarfout.c. */
4602 keep_next_level ();
4603 ;
4604 break;}
4605 case 127:
4606 #line 771 "parse.y"
4607 {
4608 if (! current_function_parms_stored)
4609 store_parm_decls ();
4610
4611 if (DECL_CONSTRUCTOR_P (current_function_decl))
4612 {
4613 /* Make a contour for the initializer list. */
4614 pushlevel (0);
4615 clear_last_expr ();
4616 expand_start_bindings (0);
4617 }
4618 else if (current_class_type == NULL_TREE)
4619 error ("base initializers not allowed for non-member functions");
4620 else if (! DECL_CONSTRUCTOR_P (current_function_decl))
4621 error ("only constructors take base initializers");
4622 ;
4623 break;}
4624 case 128:
4625 #line 791 "parse.y"
4626 { yyval.itype = 0; ;
4627 break;}
4628 case 129:
4629 #line 793 "parse.y"
4630 { yyval.itype = 1; ;
4631 break;}
4632 case 132:
4633 #line 800 "parse.y"
4634 {
4635 if (current_class_name)
4636 pedwarn ("anachronistic old style base class initializer");
4637 expand_member_init (current_class_ref, NULL_TREE, yyvsp[-1].ttype);
4638 ;
4639 break;}
4640 case 133:
4641 #line 806 "parse.y"
4642 {
4643 if (current_class_name)
4644 pedwarn ("anachronistic old style base class initializer");
4645 expand_member_init (current_class_ref, NULL_TREE, void_type_node);
4646 ;
4647 break;}
4648 case 134:
4649 #line 812 "parse.y"
4650 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4651 break;}
4652 case 135:
4653 #line 814 "parse.y"
4654 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4655 break;}
4656 case 136:
4657 #line 816 "parse.y"
4658 { expand_member_init (current_class_ref, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
4659 break;}
4660 case 137:
4661 #line 818 "parse.y"
4662 { expand_member_init (current_class_ref, yyvsp[-1].ttype, void_type_node); ;
4663 break;}
4664 case 138:
4665 #line 820 "parse.y"
4666 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-3].ttype),
4667 yyvsp[-1].ttype); ;
4668 break;}
4669 case 139:
4670 #line 823 "parse.y"
4671 { expand_member_init (current_class_ref, TYPE_MAIN_DECL (yyvsp[-1].ttype),
4672 void_type_node); ;
4673 break;}
4674 case 151:
4675 #line 849 "parse.y"
4676 { do_type_instantiation (yyvsp[-1].ftype.t, NULL_TREE);
4677 yyungetc (';', 1); ;
4678 break;}
4679 case 153:
4680 #line 853 "parse.y"
4681 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4682 do_decl_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
4683 break;}
4684 case 155:
4685 #line 857 "parse.y"
4686 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4687 break;}
4688 case 157:
4689 #line 860 "parse.y"
4690 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
4691 break;}
4692 case 159:
4693 #line 863 "parse.y"
4694 { do_type_instantiation (yyvsp[-1].ftype.t, yyvsp[-4].ttype);
4695 yyungetc (';', 1); ;
4696 break;}
4697 case 161:
4698 #line 868 "parse.y"
4699 { tree specs = strip_attrs (yyvsp[-1].ftype.t);
4700 do_decl_instantiation (specs, yyvsp[0].ttype, yyvsp[-4].ttype); ;
4701 break;}
4702 case 163:
4703 #line 872 "parse.y"
4704 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4705 break;}
4706 case 165:
4707 #line 875 "parse.y"
4708 { do_decl_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-3].ttype); ;
4709 break;}
4710 case 167:
4711 #line 880 "parse.y"
4712 { begin_explicit_instantiation(); ;
4713 break;}
4714 case 168:
4715 #line 883 "parse.y"
4716 { end_explicit_instantiation(); ;
4717 break;}
4718 case 169:
4719 #line 892 "parse.y"
4720 { yyval.ttype = yyvsp[0].ttype; ;
4721 break;}
4722 case 170:
4723 #line 895 "parse.y"
4724 { yyval.ttype = yyvsp[0].ttype; ;
4725 break;}
4726 case 172:
4727 #line 902 "parse.y"
4728 { yyval.ttype = yyvsp[0].ttype; ;
4729 break;}
4730 case 173:
4731 #line 906 "parse.y"
4732 {
4733 if (yychar == YYEMPTY)
4734 yychar = YYLEX;
4735
4736 yyval.ttype = finish_template_type (yyvsp[-3].ttype, yyvsp[-1].ttype,
4737 yychar == SCOPE);
4738 ;
4739 break;}
4740 case 175:
4741 #line 917 "parse.y"
4742 {
4743 /* Handle `Class<Class<Type>>' without space in the `>>' */
4744 pedwarn ("`>>' should be `> >' in template class name");
4745 yyungetc ('>', 1);
4746 ;
4747 break;}
4748 case 176:
4749 #line 926 "parse.y"
4750 { yyval.ttype = NULL_TREE; ;
4751 break;}
4752 case 178:
4753 #line 932 "parse.y"
4754 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
4755 break;}
4756 case 179:
4757 #line 934 "parse.y"
4758 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
4759 break;}
4760 case 180:
4761 #line 939 "parse.y"
4762 { yyval.ttype = groktypename (yyvsp[0].ftype.t); ;
4763 break;}
4764 case 181:
4765 #line 941 "parse.y"
4766 { yyval.ttype = lastiddecl; ;
4767 break;}
4768 case 183:
4769 #line 947 "parse.y"
4770 { yyval.code = NEGATE_EXPR; ;
4771 break;}
4772 case 184:
4773 #line 949 "parse.y"
4774 { yyval.code = CONVERT_EXPR; ;
4775 break;}
4776 case 185:
4777 #line 951 "parse.y"
4778 { yyval.code = PREINCREMENT_EXPR; ;
4779 break;}
4780 case 186:
4781 #line 953 "parse.y"
4782 { yyval.code = PREDECREMENT_EXPR; ;
4783 break;}
4784 case 187:
4785 #line 955 "parse.y"
4786 { yyval.code = TRUTH_NOT_EXPR; ;
4787 break;}
4788 case 188:
4789 #line 960 "parse.y"
4790 { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
4791 break;}
4792 case 190:
4793 #line 966 "parse.y"
4794 { error ("ANSI C++ forbids an empty condition for `%s'",
4795 cond_stmt_keyword);
4796 yyval.ttype = integer_zero_node; ;
4797 break;}
4798 case 191:
4799 #line 970 "parse.y"
4800 { yyval.ttype = yyvsp[-1].ttype; ;
4801 break;}
4802 case 192:
4803 #line 975 "parse.y"
4804 { error ("ANSI C++ forbids an empty condition for `%s'",
4805 cond_stmt_keyword);
4806 yyval.ttype = integer_zero_node; ;
4807 break;}
4808 case 193:
4809 #line 979 "parse.y"
4810 { yyval.ttype = yyvsp[-1].ttype; ;
4811 break;}
4812 case 194:
4813 #line 984 "parse.y"
4814 { yyval.ttype = NULL_TREE; ;
4815 break;}
4816 case 196:
4817 #line 987 "parse.y"
4818 { yyval.ttype = NULL_TREE; ;
4819 break;}
4820 case 197:
4821 #line 992 "parse.y"
4822 { {
4823 tree d;
4824 for (d = getdecls (); d; d = TREE_CHAIN (d))
4825 if (TREE_CODE (d) == TYPE_DECL) {
4826 tree s = TREE_TYPE (d);
4827 if (TREE_CODE (s) == RECORD_TYPE)
4828 cp_error ("definition of class `%T' in condition", s);
4829 else if (TREE_CODE (s) == ENUMERAL_TYPE)
4830 cp_error ("definition of enum `%T' in condition", s);
4831 }
4832 }
4833 current_declspecs = yyvsp[-4].ftype.t;
4834 yyvsp[0].itype = suspend_momentary ();
4835 yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
4836 yyvsp[-1].ttype, /*prefix_attributes*/ NULL_TREE);
4837 ;
4838 break;}
4839 case 198:
4840 #line 1009 "parse.y"
4841 {
4842 cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 1, LOOKUP_ONLYCONVERTING);
4843 resume_momentary (yyvsp[-2].itype);
4844 yyval.ttype = yyvsp[-1].ttype;
4845 if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
4846 cp_error ("definition of array `%#D' in condition", yyval.ttype);
4847 ;
4848 break;}
4849 case 204:
4850 #line 1028 "parse.y"
4851 { yyval.ttype = begin_compound_stmt (1); ;
4852 break;}
4853 case 205:
4854 #line 1030 "parse.y"
4855 { finish_compound_stmt (1, yyvsp[-1].ttype); ;
4856 break;}
4857 case 207:
4858 #line 1037 "parse.y"
4859 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4860 build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4861 break;}
4862 case 208:
4863 #line 1040 "parse.y"
4864 { yyval.ttype = expr_tree_cons (NULL_TREE, yyval.ttype,
4865 build_expr_list (NULL_TREE, error_mark_node)); ;
4866 break;}
4867 case 209:
4868 #line 1043 "parse.y"
4869 { chainon (yyval.ttype, build_expr_list (NULL_TREE, yyvsp[0].ttype)); ;
4870 break;}
4871 case 210:
4872 #line 1045 "parse.y"
4873 { chainon (yyval.ttype, build_expr_list (NULL_TREE, error_mark_node)); ;
4874 break;}
4875 case 211:
4876 #line 1050 "parse.y"
4877 { yyval.ttype = build_expr_list (NULL_TREE, yyval.ttype); ;
4878 break;}
4879 case 213:
4880 #line 1056 "parse.y"
4881 { yyval.ttype = yyvsp[0].ttype; ;
4882 break;}
4883 case 214:
4884 #line 1059 "parse.y"
4885 { yyval.ttype = yyvsp[0].ttype;
4886 pedantic = yyvsp[-1].itype; ;
4887 break;}
4888 case 215:
4889 #line 1062 "parse.y"
4890 { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
4891 break;}
4892 case 216:
4893 #line 1064 "parse.y"
4894 { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
4895 break;}
4896 case 217:
4897 #line 1066 "parse.y"
4898 { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
4899 break;}
4900 case 218:
4901 #line 1068 "parse.y"
4902 { yyval.ttype = finish_unary_op_expr (yyvsp[-1].code, yyvsp[0].ttype); ;
4903 break;}
4904 case 219:
4905 #line 1071 "parse.y"
4906 { if (pedantic)
4907 pedwarn ("ANSI C++ forbids `&&'");
4908 yyval.ttype = finish_label_address_expr (yyvsp[0].ttype); ;
4909 break;}
4910 case 220:
4911 #line 1075 "parse.y"
4912 { yyval.ttype = expr_sizeof (yyvsp[0].ttype); ;
4913 break;}
4914 case 221:
4915 #line 1077 "parse.y"
4916 { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ftype.t)); ;
4917 break;}
4918 case 222:
4919 #line 1079 "parse.y"
4920 { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
4921 break;}
4922 case 223:
4923 #line 1081 "parse.y"
4924 { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ftype.t));
4925 check_for_new_type ("alignof", yyvsp[-1].ftype); ;
4926 break;}
4927 case 224:
4928 #line 1087 "parse.y"
4929 { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-1].itype);
4930 check_for_new_type ("new", yyvsp[0].ftype); ;
4931 break;}
4932 case 225:
4933 #line 1090 "parse.y"
4934 { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-2].itype);
4935 check_for_new_type ("new", yyvsp[-1].ftype); ;
4936 break;}
4937 case 226:
4938 #line 1093 "parse.y"
4939 { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ftype.t, NULL_TREE, yyvsp[-2].itype);
4940 check_for_new_type ("new", yyvsp[0].ftype); ;
4941 break;}
4942 case 227:
4943 #line 1096 "parse.y"
4944 { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ftype.t, yyvsp[0].ttype, yyvsp[-3].itype);
4945 check_for_new_type ("new", yyvsp[-1].ftype); ;
4946 break;}
4947 case 228:
4948 #line 1109 "parse.y"
4949 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ftype.t),
4950 NULL_TREE, yyvsp[-4].itype);
4951 check_for_new_type ("new", yyvsp[-1].ftype); ;
4952 break;}
4953 case 229:
4954 #line 1114 "parse.y"
4955 { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-5].itype);
4956 check_for_new_type ("new", yyvsp[-2].ftype); ;
4957 break;}
4958 case 230:
4959 #line 1118 "parse.y"
4960 { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-1].ftype.t), NULL_TREE, yyvsp[-5].itype);
4961 check_for_new_type ("new", yyvsp[-1].ftype); ;
4962 break;}
4963 case 231:
4964 #line 1122 "parse.y"
4965 { yyval.ttype = build_new (yyvsp[-5].ttype, groktypename(yyvsp[-2].ftype.t), yyvsp[0].ttype, yyvsp[-6].itype);
4966 check_for_new_type ("new", yyvsp[-2].ftype); ;
4967 break;}
4968 case 232:
4969 #line 1126 "parse.y"
4970 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
4971 break;}
4972 case 233:
4973 #line 1128 "parse.y"
4974 { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
4975 if (yychar == YYEMPTY)
4976 yychar = YYLEX; ;
4977 break;}
4978 case 234:
4979 #line 1132 "parse.y"
4980 { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
4981 if (yychar == YYEMPTY)
4982 yychar = YYLEX; ;
4983 break;}
4984 case 235:
4985 #line 1136 "parse.y"
4986 { yyval.ttype = build_x_unary_op (REALPART_EXPR, yyvsp[0].ttype); ;
4987 break;}
4988 case 236:
4989 #line 1138 "parse.y"
4990 { yyval.ttype = build_x_unary_op (IMAGPART_EXPR, yyvsp[0].ttype); ;
4991 break;}
4992 case 237:
4993 #line 1148 "parse.y"
4994 { finish_new_placement (NULL_TREE, yyvsp[-2].itype); ;
4995 break;}
4996 case 238:
4997 #line 1151 "parse.y"
4998 { yyval.itype = begin_new_placement (); ;
4999 break;}
5000 case 239:
5001 #line 1155 "parse.y"
5002 { yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5003 break;}
5004 case 240:
5005 #line 1157 "parse.y"
5006 { cp_pedwarn ("old style placement syntax, use () instead");
5007 yyval.ttype = finish_new_placement (yyvsp[-1].ttype, yyvsp[-2].itype); ;
5008 break;}
5009 case 241:
5010 #line 1163 "parse.y"
5011 { yyval.ttype = yyvsp[-1].ttype; ;
5012 break;}
5013 case 242:
5014 #line 1165 "parse.y"
5015 { yyval.ttype = NULL_TREE; ;
5016 break;}
5017 case 243:
5018 #line 1167 "parse.y"
5019 {
5020 cp_error ("`%T' is not a valid expression", yyvsp[-1].ftype.t);
5021 yyval.ttype = error_mark_node;
5022 ;
5023 break;}
5024 case 244:
5025 #line 1175 "parse.y"
5026 {
5027 if (pedantic)
5028 pedwarn ("ANSI C++ forbids initialization of new expression with `='");
5029 if (TREE_CODE (yyvsp[0].ttype) != TREE_LIST
5030 && TREE_CODE (yyvsp[0].ttype) != CONSTRUCTOR)
5031 yyval.ttype = build_expr_list (NULL_TREE, yyvsp[0].ttype);
5032 else
5033 yyval.ttype = yyvsp[0].ttype;
5034 ;
5035 break;}
5036 case 245:
5037 #line 1189 "parse.y"
5038 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5039 yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5040 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5041 break;}
5042 case 246:
5043 #line 1193 "parse.y"
5044 { yyvsp[-1].ftype.t = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[-1].ftype.t), 0);
5045 yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-1].ftype.t, NULL_TREE, NULL_TREE);
5046 check_for_new_type ("cast", yyvsp[-1].ftype); ;
5047 break;}
5048 case 248:
5049 #line 1201 "parse.y"
5050 { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
5051 break;}
5052 case 249:
5053 #line 1203 "parse.y"
5054 {
5055 tree init = build_nt (CONSTRUCTOR, NULL_TREE,
5056 nreverse (yyvsp[-2].ttype));
5057 if (pedantic)
5058 pedwarn ("ANSI C++ forbids constructor-expressions");
5059 /* Indicate that this was a GNU C constructor expression. */
5060 TREE_HAS_CONSTRUCTOR (init) = 1;
5061
5062 yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
5063 ;
5064 break;}
5065 case 251:
5066 #line 1219 "parse.y"
5067 { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
5068 break;}
5069 case 252:
5070 #line 1221 "parse.y"
5071 { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
5072 break;}
5073 case 253:
5074 #line 1223 "parse.y"
5075 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5076 break;}
5077 case 254:
5078 #line 1225 "parse.y"
5079 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5080 break;}
5081 case 255:
5082 #line 1227 "parse.y"
5083 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5084 break;}
5085 case 256:
5086 #line 1229 "parse.y"
5087 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5088 break;}
5089 case 257:
5090 #line 1231 "parse.y"
5091 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5092 break;}
5093 case 258:
5094 #line 1233 "parse.y"
5095 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5096 break;}
5097 case 259:
5098 #line 1235 "parse.y"
5099 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5100 break;}
5101 case 260:
5102 #line 1237 "parse.y"
5103 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5104 break;}
5105 case 261:
5106 #line 1239 "parse.y"
5107 { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5108 break;}
5109 case 262:
5110 #line 1241 "parse.y"
5111 { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5112 break;}
5113 case 263:
5114 #line 1243 "parse.y"
5115 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5116 break;}
5117 case 264:
5118 #line 1245 "parse.y"
5119 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5120 break;}
5121 case 265:
5122 #line 1247 "parse.y"
5123 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5124 break;}
5125 case 266:
5126 #line 1249 "parse.y"
5127 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5128 break;}
5129 case 267:
5130 #line 1251 "parse.y"
5131 { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
5132 break;}
5133 case 268:
5134 #line 1253 "parse.y"
5135 { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5136 break;}
5137 case 269:
5138 #line 1255 "parse.y"
5139 { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
5140 break;}
5141 case 270:
5142 #line 1257 "parse.y"
5143 { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
5144 break;}
5145 case 271:
5146 #line 1259 "parse.y"
5147 { yyval.ttype = build_x_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
5148 if (yyval.ttype != error_mark_node)
5149 C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
5150 break;}
5151 case 272:
5152 #line 1263 "parse.y"
5153 { yyval.ttype = build_x_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
5154 break;}
5155 case 273:
5156 #line 1265 "parse.y"
5157 { yyval.ttype = build_throw (NULL_TREE); ;
5158 break;}
5159 case 274:
5160 #line 1267 "parse.y"
5161 { yyval.ttype = build_throw (yyvsp[0].ttype); ;
5162 break;}
5163 case 275:
5164 #line 1285 "parse.y"
5165 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5166 break;}
5167 case 276:
5168 #line 1287 "parse.y"
5169 { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
5170 break;}
5171 case 282:
5172 #line 1296 "parse.y"
5173 { yyval.ttype = do_identifier (yyvsp[-1].ttype, 1, NULL_TREE); ;
5174 break;}
5175 case 283:
5176 #line 1300 "parse.y"
5177 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5178 break;}
5179 case 284:
5180 #line 1302 "parse.y"
5181 { yyval.ttype = lookup_template_function (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5182 break;}
5183 case 285:
5184 #line 1307 "parse.y"
5185 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5186 break;}
5187 case 286:
5188 #line 1309 "parse.y"
5189 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5190 break;}
5191 case 287:
5192 #line 1312 "parse.y"
5193 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5194 break;}
5195 case 292:
5196 #line 1324 "parse.y"
5197 { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
5198 break;}
5199 case 293:
5200 #line 1326 "parse.y"
5201 { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
5202 break;}
5203 case 294:
5204 #line 1328 "parse.y"
5205 { yyval.ttype = yyvsp[-1].ttype; ;
5206 break;}
5207 case 295:
5208 #line 1333 "parse.y"
5209 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5210 break;}
5211 case 296:
5212 #line 1335 "parse.y"
5213 { yyval.ttype = lookup_template_function (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5214 break;}
5215 case 300:
5216 #line 1345 "parse.y"
5217 { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
5218 break;}
5219 case 301:
5220 #line 1350 "parse.y"
5221 {
5222 if (TREE_CODE (yyvsp[0].ttype) == BIT_NOT_EXPR)
5223 yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyvsp[0].ttype, 0));
5224 else
5225 yyval.ttype = finish_id_expr (yyvsp[0].ttype);
5226 ;
5227 break;}
5228 case 304:
5229 #line 1359 "parse.y"
5230 {
5231 if (processing_template_decl)
5232 push_obstacks (&permanent_obstack, &permanent_obstack);
5233 yyval.ttype = combine_strings (yyval.ttype);
5234 /* combine_strings doesn't set up TYPE_MAIN_VARIANT of
5235 a const array the way we want, so fix it. */
5236 if (flag_const_strings)
5237 TREE_TYPE (yyval.ttype) = build_cplus_array_type
5238 (TREE_TYPE (TREE_TYPE (yyval.ttype)),
5239 TYPE_DOMAIN (TREE_TYPE (yyval.ttype)));
5240 if (processing_template_decl)
5241 pop_obstacks ();
5242 ;
5243 break;}
5244 case 305:
5245 #line 1373 "parse.y"
5246 { yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5247 break;}
5248 case 306:
5249 #line 1375 "parse.y"
5250 { yyvsp[-1].ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
5251 yyval.ttype = finish_parenthesized_expr (yyvsp[-1].ttype); ;
5252 break;}
5253 case 307:
5254 #line 1378 "parse.y"
5255 { yyval.ttype = error_mark_node; ;
5256 break;}
5257 case 308:
5258 #line 1380 "parse.y"
5259 { tree scope = current_scope ();
5260 if (!scope || TREE_CODE (scope) != FUNCTION_DECL)
5261 {
5262 error ("braced-group within expression allowed only inside a function");
5263 YYERROR;
5264 }
5265 if (pedantic)
5266 pedwarn ("ANSI C++ forbids braced-groups within expressions");
5267 yyval.ttype = begin_stmt_expr ();
5268 ;
5269 break;}
5270 case 309:
5271 #line 1391 "parse.y"
5272 { yyval.ttype = finish_stmt_expr (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5273 break;}
5274 case 310:
5275 #line 1396 "parse.y"
5276 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 1); ;
5277 break;}
5278 case 311:
5279 #line 1398 "parse.y"
5280 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 1); ;
5281 break;}
5282 case 312:
5283 #line 1400 "parse.y"
5284 { yyval.ttype = finish_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype, 0); ;
5285 break;}
5286 case 313:
5287 #line 1402 "parse.y"
5288 { yyval.ttype = finish_call_expr (yyvsp[-1].ttype, NULL_TREE, 0); ;
5289 break;}
5290 case 314:
5291 #line 1404 "parse.y"
5292 { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
5293 break;}
5294 case 315:
5295 #line 1406 "parse.y"
5296 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTINCREMENT_EXPR); ;
5297 break;}
5298 case 316:
5299 #line 1408 "parse.y"
5300 { yyval.ttype = finish_increment_expr (yyvsp[-1].ttype, POSTDECREMENT_EXPR); ;
5301 break;}
5302 case 317:
5303 #line 1411 "parse.y"
5304 { yyval.ttype = finish_this_expr (); ;
5305 break;}
5306 case 318:
5307 #line 1413 "parse.y"
5308 {
5309 tree type = NULL_TREE;
5310 tree id = yyval.ttype;
5311
5312 /* This is a C cast in C++'s `functional' notation. */
5313 if (yyvsp[-1].ttype == error_mark_node)
5314 {
5315 yyval.ttype = error_mark_node;
5316 break;
5317 }
5318 #if 0
5319 if (yyvsp[-1].ttype == NULL_TREE)
5320 {
5321 error ("cannot cast null list to type `%s'",
5322 IDENTIFIER_POINTER (TYPE_NAME (id)));
5323 yyval.ttype = error_mark_node;
5324 break;
5325 }
5326 #endif
5327 #if 0
5328 /* type is not set! (mrs) */
5329 if (type == error_mark_node)
5330 yyval.ttype = error_mark_node;
5331 else
5332 #endif
5333 {
5334 if (id == ridpointers[(int) RID_CONST])
5335 type = build_type_variant (integer_type_node, 1, 0);
5336 else if (id == ridpointers[(int) RID_VOLATILE])
5337 type = build_type_variant (integer_type_node, 0, 1);
5338 #if 0
5339 /* should not be able to get here (mrs) */
5340 else if (id == ridpointers[(int) RID_FRIEND])
5341 {
5342 error ("cannot cast expression to `friend' type");
5343 yyval.ttype = error_mark_node;
5344 break;
5345 }
5346 #endif
5347 else my_friendly_abort (79);
5348 yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
5349 }
5350 ;
5351 break;}
5352 case 320:
5353 #line 1458 "parse.y"
5354 { tree type = groktypename (yyvsp[-4].ftype.t);
5355 check_for_new_type ("dynamic_cast", yyvsp[-4].ftype);
5356 yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
5357 break;}
5358 case 321:
5359 #line 1462 "parse.y"
5360 { tree type = groktypename (yyvsp[-4].ftype.t);
5361 check_for_new_type ("static_cast", yyvsp[-4].ftype);
5362 yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
5363 break;}
5364 case 322:
5365 #line 1466 "parse.y"
5366 { tree type = groktypename (yyvsp[-4].ftype.t);
5367 check_for_new_type ("reinterpret_cast", yyvsp[-4].ftype);
5368 yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
5369 break;}
5370 case 323:
5371 #line 1470 "parse.y"
5372 { tree type = groktypename (yyvsp[-4].ftype.t);
5373 check_for_new_type ("const_cast", yyvsp[-4].ftype);
5374 yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
5375 break;}
5376 case 324:
5377 #line 1474 "parse.y"
5378 { yyval.ttype = build_x_typeid (yyvsp[-1].ttype); ;
5379 break;}
5380 case 325:
5381 #line 1476 "parse.y"
5382 { tree type = groktypename (yyvsp[-1].ftype.t);
5383 check_for_new_type ("typeid", yyvsp[-1].ftype);
5384 yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
5385 break;}
5386 case 326:
5387 #line 1480 "parse.y"
5388 { yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1); ;
5389 break;}
5390 case 327:
5391 #line 1482 "parse.y"
5392 { yyval.ttype = yyvsp[0].ttype; ;
5393 break;}
5394 case 328:
5395 #line 1484 "parse.y"
5396 {
5397 got_scope = NULL_TREE;
5398 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
5399 yyval.ttype = do_scoped_id (yyvsp[0].ttype, 1);
5400 else
5401 yyval.ttype = yyvsp[0].ttype;
5402 ;
5403 break;}
5404 case 329:
5405 #line 1492 "parse.y"
5406 { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
5407 break;}
5408 case 330:
5409 #line 1494 "parse.y"
5410 { yyval.ttype = finish_qualified_call_expr (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5411 break;}
5412 case 331:
5413 #line 1496 "parse.y"
5414 { yyval.ttype = finish_qualified_call_expr (yyvsp[-1].ttype, NULL_TREE); ;
5415 break;}
5416 case 332:
5417 #line 1498 "parse.y"
5418 {
5419 yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1);
5420 ;
5421 break;}
5422 case 333:
5423 #line 1502 "parse.y"
5424 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5425 break;}
5426 case 334:
5427 #line 1504 "parse.y"
5428 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5429 break;}
5430 case 335:
5431 #line 1506 "parse.y"
5432 { yyval.ttype = build_x_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
5433 break;}
5434 case 336:
5435 #line 1508 "parse.y"
5436 { if (processing_template_decl)
5437 yyval.ttype = build_min_nt (COMPONENT_REF, yyvsp[-1].ttype, copy_to_permanent (yyvsp[0].ttype));
5438 else
5439 yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
5440 break;}
5441 case 337:
5442 #line 1513 "parse.y"
5443 { yyval.ttype = finish_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5444 break;}
5445 case 338:
5446 #line 1515 "parse.y"
5447 { yyval.ttype = finish_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5448 break;}
5449 case 339:
5450 #line 1517 "parse.y"
5451 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-3].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5452 break;}
5453 case 340:
5454 #line 1519 "parse.y"
5455 { yyval.ttype = finish_qualified_object_call_expr (yyvsp[-1].ttype, yyvsp[-2].ttype, NULL_TREE); ;
5456 break;}
5457 case 341:
5458 #line 1522 "parse.y"
5459 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5460 break;}
5461 case 342:
5462 #line 1524 "parse.y"
5463 { yyval.ttype = finish_pseudo_destructor_call_expr (yyvsp[-5].ttype, yyvsp[-4].ttype, yyvsp[-1].ttype); ;
5464 break;}
5465 case 343:
5466 #line 1526 "parse.y"
5467 {
5468 yyval.ttype = error_mark_node;
5469 ;
5470 break;}
5471 case 344:
5472 #line 1571 "parse.y"
5473 { yyval.itype = 0; ;
5474 break;}
5475 case 345:
5476 #line 1573 "parse.y"
5477 { got_scope = NULL_TREE; yyval.itype = 1; ;
5478 break;}
5479 case 346:
5480 #line 1578 "parse.y"
5481 { yyval.itype = 0; ;
5482 break;}
5483 case 347:
5484 #line 1580 "parse.y"
5485 { got_scope = NULL_TREE; yyval.itype = 1; ;
5486 break;}
5487 case 348:
5488 #line 1585 "parse.y"
5489 { yyval.ttype = boolean_true_node; ;
5490 break;}
5491 case 349:
5492 #line 1587 "parse.y"
5493 { yyval.ttype = boolean_false_node; ;
5494 break;}
5495 case 351:
5496 #line 1594 "parse.y"
5497 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
5498 break;}
5499 case 352:
5500 #line 1599 "parse.y"
5501 {
5502 if (! current_function_parms_stored)
5503 store_parm_decls ();
5504 setup_vtbl_ptr ();
5505 /* Always keep the BLOCK node associated with the outermost
5506 pair of curley braces of a function. These are needed
5507 for correct operation of dwarfout.c. */
5508 keep_next_level ();
5509 ;
5510 break;}
5511 case 353:
5512 #line 1612 "parse.y"
5513 { got_object = TREE_TYPE (yyval.ttype); ;
5514 break;}
5515 case 354:
5516 #line 1614 "parse.y"
5517 {
5518 yyval.ttype = build_x_arrow (yyval.ttype);
5519 got_object = TREE_TYPE (yyval.ttype);
5520 ;
5521 break;}
5522 case 355:
5523 #line 1622 "parse.y"
5524 {
5525 resume_momentary (yyvsp[-1].itype);
5526 if (yyvsp[-2].ftype.t && IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ftype.t)))
5527 note_got_semicolon (yyvsp[-2].ftype.t);
5528 ;
5529 break;}
5530 case 356:
5531 #line 1628 "parse.y"
5532 {
5533 resume_momentary (yyvsp[-1].itype);
5534 note_list_got_semicolon (yyvsp[-2].ftype.t);
5535 ;
5536 break;}
5537 case 357:
5538 #line 1633 "parse.y"
5539 { resume_momentary (yyvsp[-1].itype); ;
5540 break;}
5541 case 358:
5542 #line 1635 "parse.y"
5543 {
5544 shadow_tag (yyvsp[-1].ftype.t);
5545 note_list_got_semicolon (yyvsp[-1].ftype.t);
5546 ;
5547 break;}
5548 case 359:
5549 #line 1640 "parse.y"
5550 { warning ("empty declaration"); ;
5551 break;}
5552 case 360:
5553 #line 1642 "parse.y"
5554 { pedantic = yyvsp[-1].itype; ;
5555 break;}
5556 case 363:
5557 #line 1656 "parse.y"
5558 { yyval.ttype = make_call_declarator (NULL_TREE, empty_parms (),
5559 NULL_TREE, NULL_TREE); ;
5560 break;}
5561 case 364:
5562 #line 1659 "parse.y"
5563 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), NULL_TREE,
5564 NULL_TREE); ;
5565 break;}
5566 case 365:
5567 #line 1666 "parse.y"
5568 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5569 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5570 break;}
5571 case 366:
5572 #line 1669 "parse.y"
5573 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
5574 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5575 break;}
5576 case 367:
5577 #line 1672 "parse.y"
5578 { yyval.ftype.t = build_decl_list (get_decl_list (yyvsp[-1].ftype.t), yyvsp[0].ttype);
5579 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5580 break;}
5581 case 368:
5582 #line 1675 "parse.y"
5583 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5584 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5585 break;}
5586 case 369:
5587 #line 1678 "parse.y"
5588 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
5589 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5590 break;}
5591 case 372:
5592 #line 1694 "parse.y"
5593 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype);
5594 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5595 break;}
5596 case 373:
5597 #line 1697 "parse.y"
5598 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5599 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5600 break;}
5601 case 374:
5602 #line 1700 "parse.y"
5603 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t, chainon (yyvsp[-1].ttype, yyvsp[0].ttype));
5604 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5605 break;}
5606 case 375:
5607 #line 1703 "parse.y"
5608 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5609 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5610 break;}
5611 case 376:
5612 #line 1706 "parse.y"
5613 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ttype));
5614 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5615 break;}
5616 case 377:
5617 #line 1709 "parse.y"
5618 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-2].ftype.t,
5619 chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyvsp[-3].ttype)));
5620 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5621 break;}
5622 case 378:
5623 #line 1716 "parse.y"
5624 { if (extra_warnings)
5625 warning ("`%s' is not at beginning of declaration",
5626 IDENTIFIER_POINTER (yyval.ttype));
5627 yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
5628 break;}
5629 case 379:
5630 #line 1721 "parse.y"
5631 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyval.ttype); ;
5632 break;}
5633 case 380:
5634 #line 1723 "parse.y"
5635 { if (extra_warnings)
5636 warning ("`%s' is not at beginning of declaration",
5637 IDENTIFIER_POINTER (yyvsp[0].ttype));
5638 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5639 break;}
5640 case 381:
5641 #line 1728 "parse.y"
5642 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5643 break;}
5644 case 382:
5645 #line 1730 "parse.y"
5646 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5647 break;}
5648 case 383:
5649 #line 1740 "parse.y"
5650 { yyval.ttype = yyvsp[0].ftype.t; TREE_STATIC (yyval.ttype) = 1; ;
5651 break;}
5652 case 384:
5653 #line 1742 "parse.y"
5654 { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
5655 break;}
5656 case 385:
5657 #line 1744 "parse.y"
5658 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5659 TREE_STATIC (yyval.ttype) = 1; ;
5660 break;}
5661 case 386:
5662 #line 1747 "parse.y"
5663 { if (extra_warnings && TREE_STATIC (yyval.ttype))
5664 warning ("`%s' is not at beginning of declaration",
5665 IDENTIFIER_POINTER (yyvsp[0].ttype));
5666 yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
5667 TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
5668 break;}
5669 case 387:
5670 #line 1753 "parse.y"
5671 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
5672 break;}
5673 case 388:
5674 #line 1755 "parse.y"
5675 { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
5676 break;}
5677 case 389:
5678 #line 1766 "parse.y"
5679 { yyval.ftype.t = get_decl_list (yyvsp[0].ftype.t);
5680 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5681 break;}
5682 case 390:
5683 #line 1769 "parse.y"
5684 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ftype.t);
5685 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
5686 break;}
5687 case 391:
5688 #line 1772 "parse.y"
5689 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, yyvsp[0].ttype);
5690 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
5691 break;}
5692 case 392:
5693 #line 1775 "parse.y"
5694 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[-1].ftype.t, chainon (yyvsp[0].ttype, yyvsp[-2].ftype.t));
5695 yyval.ftype.new_type_flag = yyvsp[-2].ftype.new_type_flag; ;
5696 break;}
5697 case 393:
5698 #line 1781 "parse.y"
5699 { yyval.ttype = build_decl_list (NULL_TREE, yyvsp[0].ftype.t); ;
5700 break;}
5701 case 394:
5702 #line 1783 "parse.y"
5703 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ftype.t, yyvsp[-1].ttype); ;
5704 break;}
5705 case 396:
5706 #line 1793 "parse.y"
5707 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5708 break;}
5709 case 397:
5710 #line 1795 "parse.y"
5711 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5712 break;}
5713 case 398:
5714 #line 1797 "parse.y"
5715 { yyval.ftype.t = TREE_TYPE (yyvsp[-1].ttype);
5716 yyval.ftype.new_type_flag = 0; ;
5717 break;}
5718 case 399:
5719 #line 1800 "parse.y"
5720 { yyval.ftype.t = groktypename (yyvsp[-1].ftype.t);
5721 yyval.ftype.new_type_flag = 0; ;
5722 break;}
5723 case 400:
5724 #line 1803 "parse.y"
5725 { tree type = TREE_TYPE (yyvsp[-1].ttype);
5726
5727 yyval.ftype.new_type_flag = 0;
5728 if (IS_AGGR_TYPE (type))
5729 {
5730 sorry ("sigof type specifier");
5731 yyval.ftype.t = type;
5732 }
5733 else
5734 {
5735 error ("`sigof' applied to non-aggregate expression");
5736 yyval.ftype.t = error_mark_node;
5737 }
5738 ;
5739 break;}
5740 case 401:
5741 #line 1818 "parse.y"
5742 { tree type = groktypename (yyvsp[-1].ftype.t);
5743
5744 yyval.ftype.new_type_flag = 0;
5745 if (IS_AGGR_TYPE (type))
5746 {
5747 sorry ("sigof type specifier");
5748 yyval.ftype.t = type;
5749 }
5750 else
5751 {
5752 error("`sigof' applied to non-aggregate type");
5753 yyval.ftype.t = error_mark_node;
5754 }
5755 ;
5756 break;}
5757 case 402:
5758 #line 1838 "parse.y"
5759 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5760 break;}
5761 case 403:
5762 #line 1840 "parse.y"
5763 { yyval.ftype.t = yyvsp[0].ttype; yyval.ftype.new_type_flag = 0; ;
5764 break;}
5765 case 411:
5766 #line 1861 "parse.y"
5767 { yyval.ttype = NULL_TREE; ;
5768 break;}
5769 case 412:
5770 #line 1863 "parse.y"
5771 { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
5772 break;}
5773 case 413:
5774 #line 1868 "parse.y"
5775 { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 1,
5776 yyvsp[-1].ttype, prefix_attributes); ;
5777 break;}
5778 case 414:
5779 #line 1872 "parse.y"
5780 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1, LOOKUP_ONLYCONVERTING); ;
5781 break;}
5782 case 415:
5783 #line 1874 "parse.y"
5784 { yyval.ttype = start_decl (yyvsp[-2].ttype, current_declspecs, 0,
5785 yyvsp[0].ttype, prefix_attributes);
5786 cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5787 break;}
5788 case 416:
5789 #line 1887 "parse.y"
5790 { yyvsp[0].itype = parse_decl (yyvsp[-3].ttype, yyvsp[-4].ttype,
5791 yyvsp[-1].ttype, 1, &yyval.ttype); ;
5792 break;}
5793 case 417:
5794 #line 1892 "parse.y"
5795 { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 1,
5796 LOOKUP_ONLYCONVERTING);
5797 yyval.itype = yyvsp[-2].itype; ;
5798 break;}
5799 case 418:
5800 #line 1896 "parse.y"
5801 { tree d;
5802 yyval.itype = parse_decl (yyvsp[-2].ttype, yyvsp[-3].ttype, yyvsp[0].ttype, 0, &d);
5803 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5804 break;}
5805 case 419:
5806 #line 1903 "parse.y"
5807 { yyval.itype = yyvsp[0].itype; ;
5808 break;}
5809 case 420:
5810 #line 1907 "parse.y"
5811 { yyval.itype = yyvsp[0].itype; ;
5812 break;}
5813 case 421:
5814 #line 1912 "parse.y"
5815 { /* Set things up as initdcl0_innards expects. */
5816 yyval.ttype = yyvsp[-1].ttype;
5817 yyvsp[-1].ttype = NULL_TREE; ;
5818 break;}
5819 case 422:
5820 #line 1916 "parse.y"
5821 {;
5822 break;}
5823 case 423:
5824 #line 1918 "parse.y"
5825 { tree d;
5826 parse_decl(yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype, 0, &d);
5827 cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 1, 0); ;
5828 break;}
5829 case 424:
5830 #line 1927 "parse.y"
5831 { yyval.ttype = NULL_TREE; ;
5832 break;}
5833 case 425:
5834 #line 1929 "parse.y"
5835 { yyval.ttype = yyvsp[0].ttype; ;
5836 break;}
5837 case 426:
5838 #line 1934 "parse.y"
5839 { yyval.ttype = yyvsp[0].ttype; ;
5840 break;}
5841 case 427:
5842 #line 1936 "parse.y"
5843 { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
5844 break;}
5845 case 428:
5846 #line 1941 "parse.y"
5847 { yyval.ttype = yyvsp[-2].ttype; ;
5848 break;}
5849 case 429:
5850 #line 1946 "parse.y"
5851 { yyval.ttype = yyvsp[0].ttype; ;
5852 break;}
5853 case 430:
5854 #line 1948 "parse.y"
5855 { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5856 break;}
5857 case 431:
5858 #line 1953 "parse.y"
5859 { yyval.ttype = NULL_TREE; ;
5860 break;}
5861 case 432:
5862 #line 1955 "parse.y"
5863 { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
5864 break;}
5865 case 433:
5866 #line 1957 "parse.y"
5867 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
5868 break;}
5869 case 434:
5870 #line 1959 "parse.y"
5871 { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
5872 break;}
5873 case 435:
5874 #line 1961 "parse.y"
5875 { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
5876 break;}
5877 case 440:
5878 #line 1977 "parse.y"
5879 { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
5880 break;}
5881 case 441:
5882 #line 1979 "parse.y"
5883 { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
5884 break;}
5885 case 442:
5886 #line 1984 "parse.y"
5887 { yyval.ttype = NULL_TREE; ;
5888 break;}
5889 case 443:
5890 #line 1986 "parse.y"
5891 { yyval.ttype = yyvsp[0].ttype; ;
5892 break;}
5893 case 445:
5894 #line 1994 "parse.y"
5895 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
5896 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5897 break;}
5898 case 446:
5899 #line 1997 "parse.y"
5900 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
5901 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5902 break;}
5903 case 447:
5904 #line 2000 "parse.y"
5905 { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
5906 TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
5907 break;}
5908 case 448:
5909 #line 2003 "parse.y"
5910 { yyval.ttype = NULL_TREE; ;
5911 break;}
5912 case 449:
5913 #line 2010 "parse.y"
5914 { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
5915 break;}
5916 case 450:
5917 #line 2012 "parse.y"
5918 { yyval.ttype = expr_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
5919 break;}
5920 case 451:
5921 #line 2015 "parse.y"
5922 { yyval.ttype = build_expr_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
5923 break;}
5924 case 452:
5925 #line 2017 "parse.y"
5926 { yyval.ttype = build_expr_list (yyval.ttype, yyvsp[0].ttype); ;
5927 break;}
5928 case 453:
5929 #line 2019 "parse.y"
5930 { yyval.ttype = expr_tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
5931 break;}
5932 case 454:
5933 #line 2024 "parse.y"
5934 { start_function (NULL_TREE, TREE_VALUE (yyvsp[0].ttype),
5935 NULL_TREE, 1);
5936 reinit_parse_for_function (); ;
5937 break;}
5938 case 455:
5939 #line 2030 "parse.y"
5940 {
5941 int nested = (hack_decl_function_context
5942 (current_function_decl) != NULL_TREE);
5943 finish_function (lineno, (int)yyvsp[-1].itype, nested);
5944 process_next_inline (yyvsp[-3].ttype);
5945 ;
5946 break;}
5947 case 456:
5948 #line 2037 "parse.y"
5949 { process_next_inline (yyvsp[-2].ttype); ;
5950 break;}
5951 case 457:
5952 #line 2039 "parse.y"
5953 { process_next_inline (yyvsp[-2].ttype); ;
5954 break;}
5955 case 460:
5956 #line 2051 "parse.y"
5957 { replace_defarg (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
5958 break;}
5959 case 461:
5960 #line 2053 "parse.y"
5961 { replace_defarg (yyvsp[-2].ttype, error_mark_node); ;
5962 break;}
5963 case 463:
5964 #line 2058 "parse.y"
5965 { do_pending_defargs (); ;
5966 break;}
5967 case 464:
5968 #line 2060 "parse.y"
5969 { do_pending_defargs (); ;
5970 break;}
5971 case 465:
5972 #line 2065 "parse.y"
5973 { yyvsp[0].itype = suspend_momentary ();
5974 yyval.ttype = current_enum_type;
5975 current_enum_type = start_enum (yyvsp[-1].ttype); ;
5976 break;}
5977 case 466:
5978 #line 2069 "parse.y"
5979 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
5980 yyval.ftype.t = finish_enum (current_enum_type);
5981 yyval.ftype.new_type_flag = 1;
5982 current_enum_type = yyvsp[-3].ttype;
5983 resume_momentary ((int) yyvsp[-4].itype);
5984 check_for_missing_semicolon (yyval.ftype.t); ;
5985 break;}
5986 case 467:
5987 #line 2076 "parse.y"
5988 { yyval.ftype.t = finish_enum (start_enum (yyvsp[-2].ttype));
5989 yyval.ftype.new_type_flag = 1;
5990 check_for_missing_semicolon (yyval.ftype.t); ;
5991 break;}
5992 case 468:
5993 #line 2080 "parse.y"
5994 { yyvsp[0].itype = suspend_momentary ();
5995 yyval.ttype = current_enum_type;
5996 current_enum_type = start_enum (make_anon_name ()); ;
5997 break;}
5998 case 469:
5999 #line 2084 "parse.y"
6000 { TYPE_VALUES (current_enum_type) = yyvsp[-2].ttype;
6001 yyval.ftype.t = finish_enum (current_enum_type);
6002 yyval.ftype.new_type_flag = 1;
6003 current_enum_type = yyvsp[-2].ttype;
6004 resume_momentary ((int) yyvsp[-5].itype);
6005 check_for_missing_semicolon (yyval.ftype.t); ;
6006 break;}
6007 case 470:
6008 #line 2091 "parse.y"
6009 { yyval.ftype.t = finish_enum (start_enum (make_anon_name()));
6010 yyval.ftype.new_type_flag = 1;
6011 check_for_missing_semicolon (yyval.ftype.t); ;
6012 break;}
6013 case 471:
6014 #line 2095 "parse.y"
6015 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6016 yyval.ftype.new_type_flag = 0; ;
6017 break;}
6018 case 472:
6019 #line 2098 "parse.y"
6020 { yyval.ftype.t = xref_tag (enum_type_node, yyvsp[0].ttype, 1);
6021 yyval.ftype.new_type_flag = 0; ;
6022 break;}
6023 case 473:
6024 #line 2101 "parse.y"
6025 { yyval.ftype.t = yyvsp[0].ttype;
6026 yyval.ftype.new_type_flag = 0;
6027 if (!processing_template_decl)
6028 cp_pedwarn ("using `typename' outside of template"); ;
6029 break;}
6030 case 474:
6031 #line 2108 "parse.y"
6032 {
6033 int semi;
6034
6035 if (yychar == YYEMPTY)
6036 yychar = YYLEX;
6037 semi = yychar == ';';
6038
6039 yyval.ttype = finish_class_definition (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, semi);
6040 ;
6041 break;}
6042 case 475:
6043 #line 2118 "parse.y"
6044 { finish_default_args (); ;
6045 break;}
6046 case 476:
6047 #line 2120 "parse.y"
6048 { yyval.ftype.t = yyvsp[-3].ttype;
6049 yyval.ftype.new_type_flag = 1;
6050 begin_inline_definitions (); ;
6051 break;}
6052 case 477:
6053 #line 2124 "parse.y"
6054 {
6055 yyval.ftype.new_type_flag = 0;
6056 if (TYPE_BINFO (yyvsp[0].ttype) == NULL_TREE)
6057 {
6058 cp_error ("%T is not a class type", yyvsp[0].ttype);
6059 yyval.ftype.t = error_mark_node;
6060 }
6061 else
6062 {
6063 yyval.ftype.t = yyvsp[0].ttype;
6064 /* struct B: public A; is not accepted by the WP grammar. */
6065 if (TYPE_BINFO_BASETYPES (yyval.ftype.t) && !TYPE_SIZE (yyval.ftype.t)
6066 && ! TYPE_BEING_DEFINED (yyval.ftype.t))
6067 cp_error ("base clause without member specification for `%#T'",
6068 yyval.ftype.t);
6069 }
6070 ;
6071 break;}
6072 case 481:
6073 #line 2151 "parse.y"
6074 { if (pedantic && !in_system_header)
6075 pedwarn ("comma at end of enumerator list"); ;
6076 break;}
6077 case 483:
6078 #line 2158 "parse.y"
6079 { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6080 break;}
6081 case 484:
6082 #line 2160 "parse.y"
6083 { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6084 break;}
6085 case 485:
6086 #line 2162 "parse.y"
6087 { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
6088 break;}
6089 case 486:
6090 #line 2164 "parse.y"
6091 { error ("no body nor ';' separates two class, struct or union declarations"); ;
6092 break;}
6093 case 487:
6094 #line 2166 "parse.y"
6095 { yyval.ttype = build_decl_list (yyvsp[0].ttype, yyvsp[-1].ttype); ;
6096 break;}
6097 case 488:
6098 #line 2171 "parse.y"
6099 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6100 break;}
6101 case 489:
6102 #line 2176 "parse.y"
6103 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6104 break;}
6105 case 490:
6106 #line 2178 "parse.y"
6107 { yyungetc ('{', 1); ;
6108 break;}
6109 case 491:
6110 #line 2180 "parse.y"
6111 { yyungetc (':', 1); ;
6112 break;}
6113 case 492:
6114 #line 2185 "parse.y"
6115 {
6116 current_aggr = yyvsp[-2].ttype;
6117 yyval.ttype = handle_class_head (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6118 ;
6119 break;}
6120 case 493:
6121 #line 2190 "parse.y"
6122 {
6123 current_aggr = yyvsp[-3].ttype;
6124 yyval.ttype = handle_class_head (yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6125 ;
6126 break;}
6127 case 494:
6128 #line 2195 "parse.y"
6129 {
6130 current_aggr = yyvsp[-2].ttype;
6131 yyval.ttype = handle_class_head (yyvsp[-2].ttype, NULL_TREE, yyvsp[0].ttype);
6132 ;
6133 break;}
6134 case 495:
6135 #line 2200 "parse.y"
6136 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6137 break;}
6138 case 496:
6139 #line 2202 "parse.y"
6140 { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6141 break;}
6142 case 497:
6143 #line 2207 "parse.y"
6144 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 0); ;
6145 break;}
6146 case 498:
6147 #line 2212 "parse.y"
6148 { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, 1); ;
6149 break;}
6150 case 499:
6151 #line 2215 "parse.y"
6152 {
6153 yyval.ttype = yyvsp[-1].ttype;
6154 if (yyvsp[0].ttype)
6155 xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
6156 ;
6157 break;}
6158 case 500:
6159 #line 2221 "parse.y"
6160 {
6161 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6162 if (TREE_INT_CST_LOW (current_aggr) == union_type
6163 && TREE_CODE (yyval.ttype) != UNION_TYPE)
6164 cp_pedwarn ("`union' tag used in declaring `%#T'", yyval.ttype);
6165 else if (TREE_CODE (yyval.ttype) == UNION_TYPE
6166 && TREE_INT_CST_LOW (current_aggr) != union_type)
6167 cp_pedwarn ("non-`union' tag used in declaring `%#T'", yyval.ttype);
6168 if (yyvsp[0].ttype)
6169 {
6170 maybe_process_partial_specialization (yyval.ttype);
6171 xref_basetypes (current_aggr, yyvsp[-1].ttype, yyval.ttype, yyvsp[0].ttype);
6172 }
6173 ;
6174 break;}
6175 case 501:
6176 #line 2239 "parse.y"
6177 { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), 0);
6178 yyungetc ('{', 1); ;
6179 break;}
6180 case 504:
6181 #line 2250 "parse.y"
6182 { yyval.ttype = NULL_TREE; ;
6183 break;}
6184 case 505:
6185 #line 2252 "parse.y"
6186 { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
6187 break;}
6188 case 506:
6189 #line 2254 "parse.y"
6190 { yyval.ttype = yyvsp[0].ttype; ;
6191 break;}
6192 case 508:
6193 #line 2260 "parse.y"
6194 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
6195 break;}
6196 case 509:
6197 #line 2265 "parse.y"
6198 { yyval.ttype = finish_base_specifier (access_default_node, yyvsp[0].ttype,
6199 current_aggr
6200 == signature_type_node); ;
6201 break;}
6202 case 510:
6203 #line 2269 "parse.y"
6204 { yyval.ttype = finish_base_specifier (yyvsp[-2].ttype, yyvsp[0].ttype,
6205 current_aggr
6206 == signature_type_node); ;
6207 break;}
6208 case 511:
6209 #line 2276 "parse.y"
6210 { yyval.ttype = TYPE_MAIN_DECL (yyvsp[0].ttype); ;
6211 break;}
6212 case 513:
6213 #line 2279 "parse.y"
6214 {
6215 if (current_aggr == signature_type_node)
6216 {
6217 if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
6218 {
6219 sorry ("`sigof' as base signature specifier");
6220 yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
6221 }
6222 else
6223 {
6224 error ("`sigof' applied to non-aggregate expression");
6225 yyval.ttype = error_mark_node;
6226 }
6227 }
6228 else
6229 {
6230 error ("`sigof' in struct or class declaration");
6231 yyval.ttype = error_mark_node;
6232 }
6233 ;
6234 break;}
6235 case 514:
6236 #line 2300 "parse.y"
6237 {
6238 if (current_aggr == signature_type_node)
6239 {
6240 if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ftype.t)))
6241 {
6242 sorry ("`sigof' as base signature specifier");
6243 yyval.ttype = groktypename (yyvsp[-1].ftype.t);
6244 }
6245 else
6246 {
6247 error ("`sigof' applied to non-aggregate expression");
6248 yyval.ttype = error_mark_node;
6249 }
6250 }
6251 else
6252 {
6253 error ("`sigof' in struct or class declaration");
6254 yyval.ttype = error_mark_node;
6255 }
6256 ;
6257 break;}
6258 case 516:
6259 #line 2325 "parse.y"
6260 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6261 cp_error ("`%D' access", yyvsp[-1].ttype);
6262 yyval.ttype = access_default_virtual_node; ;
6263 break;}
6264 case 517:
6265 #line 2329 "parse.y"
6266 {
6267 if (yyvsp[-2].ttype != access_default_virtual_node)
6268 error ("multiple access specifiers");
6269 else if (yyvsp[-1].ttype == access_public_node)
6270 yyval.ttype = access_public_virtual_node;
6271 else if (yyvsp[-1].ttype == access_protected_node)
6272 yyval.ttype = access_protected_virtual_node;
6273 else /* $2 == access_private_node */
6274 yyval.ttype = access_private_virtual_node;
6275 ;
6276 break;}
6277 case 518:
6278 #line 2340 "parse.y"
6279 { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
6280 cp_error ("`%D' access", yyvsp[-1].ttype);
6281 else if (yyval.ttype == access_public_node)
6282 yyval.ttype = access_public_virtual_node;
6283 else if (yyval.ttype == access_protected_node)
6284 yyval.ttype = access_protected_virtual_node;
6285 else if (yyval.ttype == access_private_node)
6286 yyval.ttype = access_private_virtual_node;
6287 else
6288 error ("multiple `virtual' specifiers");
6289 ;
6290 break;}
6291 case 519:
6292 #line 2355 "parse.y"
6293 { yyvsp[-1].ttype = begin_class_definition (yyvsp[-1].ttype); ;
6294 break;}
6295 case 520:
6296 #line 2360 "parse.y"
6297 {
6298 yyval.ttype = build_self_reference ();
6299 ;
6300 break;}
6301 case 521:
6302 #line 2367 "parse.y"
6303 { if (yyval.ttype) yyval.ttype = build_tree_list (access_public_node, yyval.ttype); ;
6304 break;}
6305 case 522:
6306 #line 2369 "parse.y"
6307 {
6308 if (current_aggr == signature_type_node)
6309 yyval.ttype = build_tree_list (access_public_node, yyvsp[0].ttype);
6310 else
6311 yyval.ttype = build_tree_list (access_default_node, yyvsp[0].ttype);
6312 if (yyvsp[-1].ttype) yyval.ttype = tree_cons (access_public_node, yyvsp[-1].ttype, yyval.ttype);
6313 ;
6314 break;}
6315 case 523:
6316 #line 2377 "parse.y"
6317 {
6318 tree visspec = yyvsp[-2].ttype;
6319
6320 if (current_aggr == signature_type_node)
6321 {
6322 error ("access specifier not allowed in signature");
6323 visspec = access_public_node;
6324 }
6325 yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
6326 ;
6327 break;}
6328 case 524:
6329 #line 2388 "parse.y"
6330 {
6331 if (current_aggr == signature_type_node)
6332 error ("access specifier not allowed in signature");
6333 ;
6334 break;}
6335 case 525:
6336 #line 2398 "parse.y"
6337 { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE;
6338 ;
6339 break;}
6340 case 526:
6341 #line 2401 "parse.y"
6342 { /* In pushdecl, we created a reverse list of names
6343 in this binding level. Make sure that the chain
6344 of what we're trying to add isn't the item itself
6345 (which can happen with what pushdecl's doing). */
6346 if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
6347 {
6348 if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
6349 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6350 else
6351 yyval.ttype = yyvsp[0].ttype;
6352 }
6353 ;
6354 break;}
6355 case 527:
6356 #line 2417 "parse.y"
6357 { ;
6358 break;}
6359 case 528:
6360 #line 2419 "parse.y"
6361 { error ("missing ';' before right brace");
6362 yyungetc ('}', 0); ;
6363 break;}
6364 case 529:
6365 #line 2424 "parse.y"
6366 { yyval.ttype = finish_method (yyval.ttype); ;
6367 break;}
6368 case 530:
6369 #line 2426 "parse.y"
6370 { yyval.ttype = finish_method (yyval.ttype); ;
6371 break;}
6372 case 531:
6373 #line 2428 "parse.y"
6374 { yyval.ttype = finish_method (yyval.ttype); ;
6375 break;}
6376 case 532:
6377 #line 2430 "parse.y"
6378 { yyval.ttype = finish_method (yyval.ttype); ;
6379 break;}
6380 case 533:
6381 #line 2432 "parse.y"
6382 { yyval.ttype = NULL_TREE; ;
6383 break;}
6384 case 534:
6385 #line 2434 "parse.y"
6386 { yyval.ttype = yyvsp[0].ttype;
6387 pedantic = yyvsp[-1].itype; ;
6388 break;}
6389 case 535:
6390 #line 2437 "parse.y"
6391 { yyval.ttype = finish_member_template_decl (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6392 break;}
6393 case 536:
6394 #line 2439 "parse.y"
6395 { yyval.ttype = finish_member_class_template (yyvsp[-2].ttype, yyvsp[-1].ftype.t); ;
6396 break;}
6397 case 537:
6398 #line 2447 "parse.y"
6399 { yyval.ttype = grok_x_components (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6400 break;}
6401 case 538:
6402 #line 2449 "parse.y"
6403 { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6404 break;}
6405 case 539:
6406 #line 2451 "parse.y"
6407 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6408 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6409 break;}
6410 case 540:
6411 #line 2454 "parse.y"
6412 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6413 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6414 break;}
6415 case 541:
6416 #line 2457 "parse.y"
6417 { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
6418 break;}
6419 case 542:
6420 #line 2459 "parse.y"
6421 { yyval.ttype = NULL_TREE; ;
6422 break;}
6423 case 543:
6424 #line 2470 "parse.y"
6425 { tree specs, attrs;
6426 split_specs_attrs (yyvsp[-4].ttype, &specs, &attrs);
6427 yyval.ttype = grokfield (yyvsp[-3].ttype, specs, yyvsp[0].ttype, yyvsp[-2].ttype,
6428 build_tree_list (yyvsp[-1].ttype, attrs)); ;
6429 break;}
6430 case 544:
6431 #line 2475 "parse.y"
6432 { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype,
6433 build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
6434 break;}
6435 case 545:
6436 #line 2478 "parse.y"
6437 { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
6438 break;}
6439 case 546:
6440 #line 2484 "parse.y"
6441 { yyval.ttype = NULL_TREE; ;
6442 break;}
6443 case 548:
6444 #line 2487 "parse.y"
6445 {
6446 /* In this context, void_type_node encodes
6447 friends. They have been recorded elsewhere. */
6448 if (yyval.ttype == void_type_node)
6449 yyval.ttype = yyvsp[0].ttype;
6450 else
6451 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6452 ;
6453 break;}
6454 case 549:
6455 #line 2499 "parse.y"
6456 { yyval.ttype = NULL_TREE; ;
6457 break;}
6458 case 551:
6459 #line 2502 "parse.y"
6460 {
6461 /* In this context, void_type_node encodes
6462 friends. They have been recorded elsewhere. */
6463 if (yyval.ttype == void_type_node)
6464 yyval.ttype = yyvsp[0].ttype;
6465 else
6466 yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
6467 ;
6468 break;}
6469 case 556:
6470 #line 2524 "parse.y"
6471 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6472 &prefix_attributes);
6473 yyvsp[-4].ttype = current_declspecs;
6474 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6475 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6476 break;}
6477 case 557:
6478 #line 2530 "parse.y"
6479 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6480 &prefix_attributes);
6481 yyvsp[-4].ttype = current_declspecs;
6482 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6483 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6484 break;}
6485 case 558:
6486 #line 2539 "parse.y"
6487 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6488 &prefix_attributes);
6489 yyvsp[-4].ttype = current_declspecs;
6490 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6491 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6492 break;}
6493 case 559:
6494 #line 2545 "parse.y"
6495 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6496 &prefix_attributes);
6497 yyvsp[-4].ttype = current_declspecs;
6498 yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6499 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6500 break;}
6501 case 560:
6502 #line 2551 "parse.y"
6503 { split_specs_attrs (yyvsp[-4].ttype, &current_declspecs,
6504 &prefix_attributes);
6505 yyvsp[-4].ttype = current_declspecs;
6506 yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6507 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6508 break;}
6509 case 561:
6510 #line 2557 "parse.y"
6511 { split_specs_attrs (yyvsp[-3].ttype, &current_declspecs,
6512 &prefix_attributes);
6513 yyvsp[-3].ttype = current_declspecs;
6514 yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6515 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6516 break;}
6517 case 562:
6518 #line 2566 "parse.y"
6519 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6520 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6521 break;}
6522 case 563:
6523 #line 2569 "parse.y"
6524 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6525 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6526 break;}
6527 case 564:
6528 #line 2575 "parse.y"
6529 { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[0].ttype, yyvsp[-2].ttype,
6530 build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
6531 break;}
6532 case 565:
6533 #line 2578 "parse.y"
6534 { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
6535 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6536 break;}
6537 case 566:
6538 #line 2581 "parse.y"
6539 { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
6540 cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
6541 break;}
6542 case 568:
6543 #line 2592 "parse.y"
6544 { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
6545 break;}
6546 case 569:
6547 #line 2597 "parse.y"
6548 { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE, current_enum_type); ;
6549 break;}
6550 case 570:
6551 #line 2599 "parse.y"
6552 { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype, current_enum_type); ;
6553 break;}
6554 case 571:
6555 #line 2605 "parse.y"
6556 { yyval.ftype.t = build_decl_list (yyvsp[-1].ftype.t, yyvsp[0].ttype);
6557 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6558 break;}
6559 case 572:
6560 #line 2608 "parse.y"
6561 { yyval.ftype.t = build_decl_list (yyvsp[0].ftype.t, NULL_TREE);
6562 yyval.ftype.new_type_flag = yyvsp[0].ftype.new_type_flag; ;
6563 break;}
6564 case 573:
6565 #line 2615 "parse.y"
6566 {
6567 if (pedantic)
6568 pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
6569 yyval.ftype.t = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ftype.t), yyvsp[-1].ttype);
6570 yyval.ftype.t = build_decl_list (TREE_PURPOSE (yyvsp[-4].ftype.t), yyval.ftype.t);
6571 yyval.ftype.new_type_flag = yyvsp[-4].ftype.new_type_flag;
6572 ;
6573 break;}
6574 case 574:
6575 #line 2626 "parse.y"
6576 { yyval.ttype = NULL_TREE; ;
6577 break;}
6578 case 575:
6579 #line 2628 "parse.y"
6580 { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
6581 break;}
6582 case 576:
6583 #line 2633 "parse.y"
6584 { yyval.ftype.t = IDENTIFIER_AS_LIST (yyvsp[0].ttype);
6585 yyval.ftype.new_type_flag = 0; ;
6586 break;}
6587 case 577:
6588 #line 2636 "parse.y"
6589 { yyval.ftype.t = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-1].ftype.t);
6590 yyval.ftype.new_type_flag = yyvsp[-1].ftype.new_type_flag; ;
6591 break;}
6592 case 578:
6593 #line 2645 "parse.y"
6594 { yyval.itype = suspend_momentary (); ;
6595 break;}
6596 case 579:
6597 #line 2650 "parse.y"
6598 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
6599 break;}
6600 case 580:
6601 #line 2656 "parse.y"
6602 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6603 break;}
6604 case 581:
6605 #line 2658 "parse.y"
6606 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
6607 break;}
6608 case 582:
6609 #line 2660 "parse.y"
6610 { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
6611 break;}
6612 case 583:
6613 #line 2662 "parse.y"
6614 { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
6615 break;}
6616 case 584:
6617 #line 2669 "parse.y"
6618 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6619 break;}
6620 case 585:
6621 #line 2671 "parse.y"
6622 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6623 break;}
6624 case 586:
6625 #line 2673 "parse.y"
6626 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6627 break;}
6628 case 587:
6629 #line 2675 "parse.y"
6630 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6631 break;}
6632 case 588:
6633 #line 2677 "parse.y"
6634 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6635 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6636 ;
6637 break;}
6638 case 590:
6639 #line 2685 "parse.y"
6640 {
6641 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6642 {
6643 yyval.ttype = lookup_name (yyvsp[0].ttype, 1);
6644 if (current_class_type
6645 && TYPE_BEING_DEFINED (current_class_type)
6646 && ! IDENTIFIER_CLASS_VALUE (yyvsp[0].ttype))
6647 {
6648 /* Remember that this name has been used in the class
6649 definition, as per [class.scope0] */
6650 pushdecl_class_level (yyval.ttype);
6651 }
6652 }
6653 else
6654 yyval.ttype = yyvsp[0].ttype;
6655 ;
6656 break;}
6657 case 591:
6658 #line 2702 "parse.y"
6659 {
6660 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6661 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6662 else
6663 yyval.ttype = yyvsp[0].ttype;
6664 got_scope = NULL_TREE;
6665 ;
6666 break;}
6667 case 594:
6668 #line 2715 "parse.y"
6669 { yyval.ttype = yyvsp[0].ttype; ;
6670 break;}
6671 case 595:
6672 #line 2720 "parse.y"
6673 { yyval.ttype = get_type_decl (yyvsp[0].ttype); ;
6674 break;}
6675 case 596:
6676 #line 2725 "parse.y"
6677 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6678 break;}
6679 case 597:
6680 #line 2727 "parse.y"
6681 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6682 break;}
6683 case 598:
6684 #line 2729 "parse.y"
6685 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6686 break;}
6687 case 599:
6688 #line 2731 "parse.y"
6689 { yyval.ttype = yyvsp[-1].ttype; ;
6690 break;}
6691 case 600:
6692 #line 2733 "parse.y"
6693 { push_nested_class (yyvsp[-1].ttype, 3);
6694 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
6695 TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
6696 break;}
6697 case 602:
6698 #line 2744 "parse.y"
6699 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6700 break;}
6701 case 603:
6702 #line 2746 "parse.y"
6703 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6704 break;}
6705 case 604:
6706 #line 2748 "parse.y"
6707 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6708 break;}
6709 case 605:
6710 #line 2750 "parse.y"
6711 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6712 break;}
6713 case 606:
6714 #line 2752 "parse.y"
6715 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6716 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6717 ;
6718 break;}
6719 case 608:
6720 #line 2760 "parse.y"
6721 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6722 break;}
6723 case 609:
6724 #line 2762 "parse.y"
6725 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6726 break;}
6727 case 610:
6728 #line 2764 "parse.y"
6729 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
6730 break;}
6731 case 611:
6732 #line 2766 "parse.y"
6733 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
6734 break;}
6735 case 612:
6736 #line 2768 "parse.y"
6737 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6738 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6739 ;
6740 break;}
6741 case 614:
6742 #line 2776 "parse.y"
6743 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6744 break;}
6745 case 615:
6746 #line 2778 "parse.y"
6747 { yyval.ttype = yyvsp[-1].ttype; ;
6748 break;}
6749 case 616:
6750 #line 2780 "parse.y"
6751 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
6752 break;}
6753 case 617:
6754 #line 2782 "parse.y"
6755 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
6756 break;}
6757 case 618:
6758 #line 2784 "parse.y"
6759 { enter_scope_of (yyvsp[0].ttype); ;
6760 break;}
6761 case 619:
6762 #line 2786 "parse.y"
6763 { got_scope = NULL_TREE;
6764 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype);
6765 enter_scope_of (yyval.ttype);
6766 ;
6767 break;}
6768 case 620:
6769 #line 2794 "parse.y"
6770 { got_scope = NULL_TREE;
6771 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6772 break;}
6773 case 621:
6774 #line 2797 "parse.y"
6775 { got_scope = NULL_TREE;
6776 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6777 break;}
6778 case 622:
6779 #line 2803 "parse.y"
6780 { got_scope = NULL_TREE;
6781 yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
6782 break;}
6783 case 623:
6784 #line 2806 "parse.y"
6785 { got_scope = NULL_TREE;
6786 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, yyvsp[0].ttype); ;
6787 break;}
6788 case 625:
6789 #line 2813 "parse.y"
6790 { yyval.ttype = yyvsp[0].ttype; ;
6791 break;}
6792 case 626:
6793 #line 2818 "parse.y"
6794 { yyval.ttype = build_functional_cast (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6795 break;}
6796 case 627:
6797 #line 2820 "parse.y"
6798 { yyval.ttype = reparse_decl_as_expr (yyvsp[-3].ftype.t, yyvsp[-1].ttype); ;
6799 break;}
6800 case 628:
6801 #line 2822 "parse.y"
6802 { yyval.ttype = reparse_absdcl_as_expr (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
6803 break;}
6804 case 633:
6805 #line 2833 "parse.y"
6806 { yyval.ttype = yyvsp[0].ttype; ;
6807 break;}
6808 case 634:
6809 #line 2835 "parse.y"
6810 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6811 break;}
6812 case 635:
6813 #line 2842 "parse.y"
6814 {
6815 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6816 {
6817 yyval.ttype = lastiddecl;
6818 /* Remember that this name has been used in the class
6819 definition, as per [class.scope0] */
6820 if (current_class_type
6821 && TYPE_BEING_DEFINED (current_class_type)
6822 && ! IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype))
6823 pushdecl_class_level (yyval.ttype);
6824 }
6825 got_scope = yyval.ttype = TYPE_MAIN_VARIANT (TREE_TYPE (yyval.ttype));
6826 ;
6827 break;}
6828 case 636:
6829 #line 2856 "parse.y"
6830 {
6831 if (TREE_CODE (yyvsp[-1].ttype) == IDENTIFIER_NODE)
6832 yyval.ttype = lastiddecl;
6833 got_scope = yyval.ttype = TREE_TYPE (yyval.ttype);
6834 ;
6835 break;}
6836 case 637:
6837 #line 2862 "parse.y"
6838 {
6839 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6840 yyval.ttype = lastiddecl;
6841 got_scope = yyval.ttype;
6842 ;
6843 break;}
6844 case 638:
6845 #line 2868 "parse.y"
6846 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyvsp[-1].ttype)); ;
6847 break;}
6848 case 640:
6849 #line 2884 "parse.y"
6850 { yyval.ttype = yyvsp[0].ttype; ;
6851 break;}
6852 case 641:
6853 #line 2889 "parse.y"
6854 {
6855 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6856 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6857 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6858 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6859 else
6860 {
6861 yyval.ttype = yyvsp[0].ttype;
6862 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6863 yyval.ttype = TREE_TYPE (yyval.ttype);
6864 }
6865 ;
6866 break;}
6867 case 642:
6868 #line 2902 "parse.y"
6869 { yyval.ttype = TREE_TYPE (yyvsp[0].ttype); ;
6870 break;}
6871 case 643:
6872 #line 2904 "parse.y"
6873 { yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6874 break;}
6875 case 644:
6876 #line 2906 "parse.y"
6877 { yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[0].ttype); ;
6878 break;}
6879 case 645:
6880 #line 2911 "parse.y"
6881 {
6882 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6883 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6884 ;
6885 break;}
6886 case 646:
6887 #line 2916 "parse.y"
6888 {
6889 if (TREE_CODE_CLASS (TREE_CODE (yyvsp[-1].ttype)) == 't')
6890 yyval.ttype = make_typename_type (yyvsp[-1].ttype, yyvsp[0].ttype);
6891 else if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6892 cp_error ("`%T' is not a class or namespace", yyvsp[0].ttype);
6893 else
6894 {
6895 yyval.ttype = yyvsp[0].ttype;
6896 if (TREE_CODE (yyval.ttype) == TYPE_DECL)
6897 yyval.ttype = TREE_TYPE (yyval.ttype);
6898 }
6899 ;
6900 break;}
6901 case 647:
6902 #line 2929 "parse.y"
6903 { got_scope = yyval.ttype = make_typename_type (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
6904 break;}
6905 case 648:
6906 #line 2931 "parse.y"
6907 { got_scope = yyval.ttype = make_typename_type (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6908 break;}
6909 case 649:
6910 #line 2936 "parse.y"
6911 {
6912 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6913 yyvsp[-1].ttype = lastiddecl;
6914
6915 /* Retrieve the type for the identifier, which might involve
6916 some computation. */
6917 got_scope = yyval.ttype = complete_type (IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype));
6918
6919 if (yyval.ttype == error_mark_node)
6920 cp_error ("`%T' is not a class or namespace", yyvsp[-1].ttype);
6921 ;
6922 break;}
6923 case 650:
6924 #line 2948 "parse.y"
6925 {
6926 if (TREE_CODE (yyvsp[-1].ttype) != IDENTIFIER_NODE)
6927 yyval.ttype = lastiddecl;
6928 got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype));
6929 ;
6930 break;}
6931 case 651:
6932 #line 2954 "parse.y"
6933 { got_scope = yyval.ttype = complete_type (TREE_TYPE (yyval.ttype)); ;
6934 break;}
6935 case 654:
6936 #line 2958 "parse.y"
6937 {
6938 if (TREE_CODE (yyval.ttype) == IDENTIFIER_NODE)
6939 yyval.ttype = lastiddecl;
6940 got_scope = yyval.ttype;
6941 ;
6942 break;}
6943 case 655:
6944 #line 2967 "parse.y"
6945 { yyval.ttype = build_min_nt (TEMPLATE_ID_EXPR, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
6946 break;}
6947 case 656:
6948 #line 2972 "parse.y"
6949 {
6950 if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
6951 yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
6952 else
6953 yyval.ttype = yyvsp[0].ttype;
6954 got_scope = NULL_TREE;
6955 ;
6956 break;}
6957 case 658:
6958 #line 2981 "parse.y"
6959 { yyval.ttype = yyvsp[0].ttype; ;
6960 break;}
6961 case 659:
6962 #line 2986 "parse.y"
6963 { got_scope = NULL_TREE; ;
6964 break;}
6965 case 660:
6966 #line 2988 "parse.y"
6967 { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
6968 break;}
6969 case 661:
6970 #line 2995 "parse.y"
6971 { got_scope = void_type_node; ;
6972 break;}
6973 case 662:
6974 #line 3001 "parse.y"
6975 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6976 break;}
6977 case 663:
6978 #line 3003 "parse.y"
6979 { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
6980 break;}
6981 case 664:
6982 #line 3005 "parse.y"
6983 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
6984 break;}
6985 case 665:
6986 #line 3007 "parse.y"
6987 { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
6988 break;}
6989 case 666:
6990 #line 3009 "parse.y"
6991 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
6992 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
6993 ;
6994 break;}
6995 case 667:
6996 #line 3013 "parse.y"
6997 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
6998 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
6999 ;
7000 break;}
7001 case 669:
7002 #line 3022 "parse.y"
7003 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7004 break;}
7005 case 670:
7006 #line 3024 "parse.y"
7007 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7008 break;}
7009 case 671:
7010 #line 3030 "parse.y"
7011 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7012 break;}
7013 case 672:
7014 #line 3032 "parse.y"
7015 { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
7016 break;}
7017 case 673:
7018 #line 3034 "parse.y"
7019 { yyval.ttype = make_pointer_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7020 break;}
7021 case 674:
7022 #line 3036 "parse.y"
7023 { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
7024 break;}
7025 case 675:
7026 #line 3038 "parse.y"
7027 { yyval.ttype = make_reference_declarator (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7028 break;}
7029 case 676:
7030 #line 3040 "parse.y"
7031 { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
7032 break;}
7033 case 677:
7034 #line 3042 "parse.y"
7035 { yyval.ttype = make_reference_declarator (yyvsp[0].ftype.t, NULL_TREE); ;
7036 break;}
7037 case 678:
7038 #line 3044 "parse.y"
7039 { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
7040 break;}
7041 case 679:
7042 #line 3046 "parse.y"
7043 { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
7044 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
7045 ;
7046 break;}
7047 case 680:
7048 #line 3050 "parse.y"
7049 { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
7050 yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
7051 ;
7052 break;}
7053 case 682:
7054 #line 3059 "parse.y"
7055 { yyval.ttype = yyvsp[-1].ttype; ;
7056 break;}
7057 case 684:
7058 #line 3063 "parse.y"
7059 { yyval.ttype = make_call_declarator (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7060 break;}
7061 case 685:
7062 #line 3065 "parse.y"
7063 { yyval.ttype = make_call_declarator (yyval.ttype, empty_parms (), yyvsp[-1].ttype, yyvsp[0].ttype); ;
7064 break;}
7065 case 686:
7066 #line 3067 "parse.y"
7067 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
7068 break;}
7069 case 687:
7070 #line 3069 "parse.y"
7071 { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
7072 break;}
7073 case 688:
7074 #line 3071 "parse.y"
7075 { yyval.ttype = make_call_declarator (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7076 break;}
7077 case 689:
7078 #line 3073 "parse.y"
7079 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7080 break;}
7081 case 690:
7082 #line 3075 "parse.y"
7083 { set_quals_and_spec (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
7084 break;}
7085 case 691:
7086 #line 3077 "parse.y"
7087 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
7088 break;}
7089 case 692:
7090 #line 3079 "parse.y"
7091 { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
7092 break;}
7093 case 699:
7094 #line 3102 "parse.y"
7095 { if (pedantic)
7096 pedwarn ("ANSI C++ forbids label declarations"); ;
7097 break;}
7098 case 702:
7099 #line 3113 "parse.y"
7100 { tree link;
7101 for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
7102 {
7103 tree label = shadow_label (TREE_VALUE (link));
7104 C_DECLARED_LABEL_FLAG (label) = 1;
7105 declare_nonlocal_label (label);
7106 }
7107 ;
7108 break;}
7109 case 703:
7110 #line 3127 "parse.y"
7111 {;
7112 break;}
7113 case 705:
7114 #line 3133 "parse.y"
7115 { yyval.ttype = begin_compound_stmt (0); ;
7116 break;}
7117 case 706:
7118 #line 3135 "parse.y"
7119 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7120 break;}
7121 case 707:
7122 #line 3140 "parse.y"
7123 {
7124 yyval.ttype = begin_if_stmt ();
7125 cond_stmt_keyword = "if";
7126 ;
7127 break;}
7128 case 708:
7129 #line 3145 "parse.y"
7130 { finish_if_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7131 break;}
7132 case 709:
7133 #line 3147 "parse.y"
7134 { yyval.ttype = finish_then_clause (yyvsp[-3].ttype); ;
7135 break;}
7136 case 711:
7137 #line 3152 "parse.y"
7138 { yyval.ttype = begin_compound_stmt (0); ;
7139 break;}
7140 case 712:
7141 #line 3154 "parse.y"
7142 { yyval.ttype = finish_compound_stmt (0, yyvsp[-1].ttype); ;
7143 break;}
7144 case 713:
7145 #line 3159 "parse.y"
7146 {;
7147 break;}
7148 case 715:
7149 #line 3165 "parse.y"
7150 { finish_stmt (); ;
7151 break;}
7152 case 716:
7153 #line 3167 "parse.y"
7154 { finish_expr_stmt (yyvsp[-1].ttype); ;
7155 break;}
7156 case 717:
7157 #line 3169 "parse.y"
7158 { begin_else_clause (); ;
7159 break;}
7160 case 718:
7161 #line 3171 "parse.y"
7162 {
7163 finish_else_clause (yyvsp[-3].ttype);
7164 finish_if_stmt ();
7165 ;
7166 break;}
7167 case 719:
7168 #line 3176 "parse.y"
7169 { finish_if_stmt (); ;
7170 break;}
7171 case 720:
7172 #line 3178 "parse.y"
7173 {
7174 yyval.ttype = begin_while_stmt ();
7175 cond_stmt_keyword = "while";
7176 ;
7177 break;}
7178 case 721:
7179 #line 3183 "parse.y"
7180 { finish_while_stmt_cond (yyvsp[0].ttype, yyvsp[-1].ttype); ;
7181 break;}
7182 case 722:
7183 #line 3185 "parse.y"
7184 { finish_while_stmt (yyvsp[-3].ttype); ;
7185 break;}
7186 case 723:
7187 #line 3187 "parse.y"
7188 { yyval.ttype = begin_do_stmt (); ;
7189 break;}
7190 case 724:
7191 #line 3189 "parse.y"
7192 {
7193 finish_do_body (yyvsp[-2].ttype);
7194 cond_stmt_keyword = "do";
7195 ;
7196 break;}
7197 case 725:
7198 #line 3194 "parse.y"
7199 { finish_do_stmt (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7200 break;}
7201 case 726:
7202 #line 3196 "parse.y"
7203 { yyval.ttype = begin_for_stmt (); ;
7204 break;}
7205 case 727:
7206 #line 3198 "parse.y"
7207 { finish_for_init_stmt (yyvsp[-2].ttype); ;
7208 break;}
7209 case 728:
7210 #line 3200 "parse.y"
7211 { finish_for_cond (yyvsp[-1].ttype, yyvsp[-5].ttype); ;
7212 break;}
7213 case 729:
7214 #line 3202 "parse.y"
7215 { finish_for_expr (yyvsp[-1].ttype, yyvsp[-8].ttype); ;
7216 break;}
7217 case 730:
7218 #line 3204 "parse.y"
7219 { finish_for_stmt (yyvsp[-3].ttype, yyvsp[-10].ttype); ;
7220 break;}
7221 case 731:
7222 #line 3206 "parse.y"
7223 { begin_switch_stmt (); ;
7224 break;}
7225 case 732:
7226 #line 3208 "parse.y"
7227 { yyval.ttype = finish_switch_cond (yyvsp[-1].ttype); ;
7228 break;}
7229 case 733:
7230 #line 3210 "parse.y"
7231 { finish_switch_stmt (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7232 break;}
7233 case 734:
7234 #line 3212 "parse.y"
7235 { finish_case_label (yyvsp[-1].ttype, NULL_TREE); ;
7236 break;}
7237 case 736:
7238 #line 3215 "parse.y"
7239 { finish_case_label (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
7240 break;}
7241 case 738:
7242 #line 3218 "parse.y"
7243 { finish_case_label (NULL_TREE, NULL_TREE); ;
7244 break;}
7245 case 740:
7246 #line 3221 "parse.y"
7247 { finish_break_stmt (); ;
7248 break;}
7249 case 741:
7250 #line 3223 "parse.y"
7251 { finish_continue_stmt (); ;
7252 break;}
7253 case 742:
7254 #line 3225 "parse.y"
7255 { finish_return_stmt (NULL_TREE); ;
7256 break;}
7257 case 743:
7258 #line 3227 "parse.y"
7259 { finish_return_stmt (yyvsp[-1].ttype); ;
7260 break;}
7261 case 744:
7262 #line 3229 "parse.y"
7263 {
7264 finish_asm_stmt (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
7265 NULL_TREE);
7266 ;
7267 break;}
7268 case 745:
7269 #line 3235 "parse.y"
7270 {
7271 finish_asm_stmt (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
7272 NULL_TREE);
7273 ;
7274 break;}
7275 case 746:
7276 #line 3241 "parse.y"
7277 { finish_asm_stmt (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE); ;
7278 break;}
7279 case 747:
7280 #line 3245 "parse.y"
7281 { finish_asm_stmt (yyvsp[-10].ttype, yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype); ;
7282 break;}
7283 case 748:
7284 #line 3247 "parse.y"
7285 {
7286 if (pedantic)
7287 pedwarn ("ANSI C++ forbids computed gotos");
7288 finish_goto_stmt (yyvsp[-1].ttype);
7289 ;
7290 break;}
7291 case 749:
7292 #line 3253 "parse.y"
7293 { finish_goto_stmt (yyvsp[-1].ttype); ;
7294 break;}
7295 case 750:
7296 #line 3255 "parse.y"
7297 { finish_stmt (); ;
7298 break;}
7299 case 751:
7300 #line 3257 "parse.y"
7301 { error ("label must be followed by statement");
7302 yyungetc ('}', 0);
7303 finish_stmt (); ;
7304 break;}
7305 case 752:
7306 #line 3261 "parse.y"
7307 { finish_stmt (); ;
7308 break;}
7309 case 755:
7310 #line 3265 "parse.y"
7311 { do_local_using_decl (yyvsp[0].ttype); ;
7312 break;}
7313 case 757:
7314 #line 3271 "parse.y"
7315 {
7316 if (! current_function_parms_stored)
7317 store_parm_decls ();
7318 expand_start_early_try_stmts ();
7319 ;
7320 break;}
7321 case 758:
7322 #line 3277 "parse.y"
7323 {
7324 expand_start_all_catch ();
7325 ;
7326 break;}
7327 case 759:
7328 #line 3281 "parse.y"
7329 {
7330 int nested = (hack_decl_function_context
7331 (current_function_decl) != NULL_TREE);
7332 expand_end_all_catch ();
7333 finish_function (lineno, (int)yyvsp[-3].itype, nested);
7334 ;
7335 break;}
7336 case 760:
7337 #line 3291 "parse.y"
7338 { yyval.ttype = begin_try_block (); ;
7339 break;}
7340 case 761:
7341 #line 3293 "parse.y"
7342 { finish_try_block (yyvsp[-1].ttype); ;
7343 break;}
7344 case 762:
7345 #line 3295 "parse.y"
7346 { finish_handler_sequence (yyvsp[-3].ttype); ;
7347 break;}
7348 case 765:
7349 #line 3305 "parse.y"
7350 { yyval.ttype = begin_handler(); ;
7351 break;}
7352 case 766:
7353 #line 3307 "parse.y"
7354 { finish_handler_parms (yyvsp[-1].ttype); ;
7355 break;}
7356 case 767:
7357 #line 3309 "parse.y"
7358 { finish_handler (yyvsp[-3].ttype); ;
7359 break;}
7360 case 770:
7361 #line 3319 "parse.y"
7362 { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
7363 break;}
7364 case 771:
7365 #line 3335 "parse.y"
7366 { check_for_new_type ("inside exception declarations", yyvsp[-1].ftype);
7367 expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ftype.t),
7368 TREE_VALUE (yyvsp[-1].ftype.t)); ;
7369 break;}
7370 case 772:
7371 #line 3342 "parse.y"
7372 { tree label;
7373 do_label:
7374 label = define_label (input_filename, lineno, yyvsp[-1].ttype);
7375 if (label && ! minimal_parse_mode)
7376 expand_label (label);
7377 ;
7378 break;}
7379 case 773:
7380 #line 3349 "parse.y"
7381 { goto do_label; ;
7382 break;}
7383 case 774:
7384 #line 3351 "parse.y"
7385 { goto do_label; ;
7386 break;}
7387 case 775:
7388 #line 3353 "parse.y"
7389 { goto do_label; ;
7390 break;}
7391 case 776:
7392 #line 3358 "parse.y"
7393 { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
7394 break;}
7395 case 778:
7396 #line 3361 "parse.y"
7397 { if (pedantic)
7398 pedwarn ("ANSI C++ forbids compound statements inside for initializations");
7399 ;
7400 break;}
7401 case 779:
7402 #line 3370 "parse.y"
7403 { emit_line_note (input_filename, lineno);
7404 yyval.ttype = NULL_TREE; ;
7405 break;}
7406 case 780:
7407 #line 3373 "parse.y"
7408 { emit_line_note (input_filename, lineno); ;
7409 break;}
7410 case 781:
7411 #line 3378 "parse.y"
7412 { yyval.ttype = NULL_TREE; ;
7413 break;}
7414 case 783:
7415 #line 3381 "parse.y"
7416 { yyval.ttype = NULL_TREE; ;
7417 break;}
7418 case 784:
7419 #line 3388 "parse.y"
7420 { yyval.ttype = NULL_TREE; ;
7421 break;}
7422 case 787:
7423 #line 3395 "parse.y"
7424 { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
7425 break;}
7426 case 788:
7427 #line 3400 "parse.y"
7428 { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
7429 break;}
7430 case 789:
7431 #line 3405 "parse.y"
7432 { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
7433 break;}
7434 case 790:
7435 #line 3407 "parse.y"
7436 { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
7437 break;}
7438 case 791:
7439 #line 3418 "parse.y"
7440 {
7441 yyval.ttype = empty_parms();
7442 ;
7443 break;}
7444 case 793:
7445 #line 3423 "parse.y"
7446 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE, yyvsp[0].ftype.t), 0);
7447 check_for_new_type ("inside parameter list", yyvsp[0].ftype); ;
7448 break;}
7449 case 794:
7450 #line 3431 "parse.y"
7451 { yyval.ttype = finish_parmlist (yyval.ttype, 0); ;
7452 break;}
7453 case 795:
7454 #line 3433 "parse.y"
7455 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7456 break;}
7457 case 796:
7458 #line 3436 "parse.y"
7459 { yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 1); ;
7460 break;}
7461 case 797:
7462 #line 3438 "parse.y"
7463 { yyval.ttype = finish_parmlist (build_tree_list (NULL_TREE,
7464 yyvsp[-1].ftype.t), 1); ;
7465 break;}
7466 case 798:
7467 #line 3441 "parse.y"
7468 { yyval.ttype = finish_parmlist (NULL_TREE, 1); ;
7469 break;}
7470 case 799:
7471 #line 3443 "parse.y"
7472 {
7473 /* This helps us recover from really nasty
7474 parse errors, for example, a missing right
7475 parenthesis. */
7476 yyerror ("possibly missing ')'");
7477 yyval.ttype = finish_parmlist (yyvsp[-1].ttype, 0);
7478 yyungetc (':', 0);
7479 yychar = ')';
7480 ;
7481 break;}
7482 case 800:
7483 #line 3453 "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 = finish_parmlist (build_tree_list (NULL_TREE,
7490 yyvsp[-1].ftype.t), 0);
7491 yyungetc (':', 0);
7492 yychar = ')';
7493 ;
7494 break;}
7495 case 801:
7496 #line 3468 "parse.y"
7497 { maybe_snarf_defarg (); ;
7498 break;}
7499 case 802:
7500 #line 3470 "parse.y"
7501 { yyval.ttype = yyvsp[0].ttype; ;
7502 break;}
7503 case 805:
7504 #line 3481 "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 806:
7509 #line 3484 "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 807:
7514 #line 3487 "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 808:
7519 #line 3490 "parse.y"
7520 { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
7521 break;}
7522 case 809:
7523 #line 3492 "parse.y"
7524 { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
7525 break;}
7526 case 811:
7527 #line 3498 "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 812:
7532 #line 3508 "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 813:
7538 #line 3512 "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 814:
7543 #line 3515 "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 815:
7548 #line 3518 "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 816:
7554 #line 3522 "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 817:
7560 #line 3526 "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 818:
7566 #line 3533 "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 819:
7571 #line 3536 "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 822:
7576 #line 3547 "parse.y"
7577 { see_typename (); ;
7578 break;}
7579 case 823:
7580 #line 3552 "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 824:
7587 #line 3557 "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 825:
7598 #line 3569 "parse.y"
7599 { yyval.ttype = NULL_TREE; ;
7600 break;}
7601 case 826:
7602 #line 3571 "parse.y"
7603 { yyval.ttype = yyvsp[-1].ttype; ;
7604 break;}
7605 case 827:
7606 #line 3573 "parse.y"
7607 { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
7608 break;}
7609 case 828:
7610 #line 3578 "parse.y"
7611 { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyvsp[0].ftype.t)); ;
7612 break;}
7613 case 830:
7614 #line 3584 "parse.y"
7615 {
7616 TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
7617 yyval.ttype = yyvsp[0].ttype;
7618 ;
7619 break;}
7620 case 831:
7621 #line 3592 "parse.y"
7622 { yyval.ttype = NULL_TREE; ;
7623 break;}
7624 case 832:
7625 #line 3594 "parse.y"
7626 { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7627 break;}
7628 case 833:
7629 #line 3596 "parse.y"
7630 { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
7631 break;}
7632 case 834:
7633 #line 3598 "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 835:
7639 #line 3605 "parse.y"
7640 { got_scope = NULL_TREE; ;
7641 break;}
7642 case 836:
7643 #line 3610 "parse.y"
7644 { yyval.ttype = ansi_opname[MULT_EXPR]; ;
7645 break;}
7646 case 837:
7647 #line 3612 "parse.y"
7648 { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
7649 break;}
7650 case 838:
7651 #line 3614 "parse.y"
7652 { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
7653 break;}
7654 case 839:
7655 #line 3616 "parse.y"
7656 { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
7657 break;}
7658 case 840:
7659 #line 3618 "parse.y"
7660 { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
7661 break;}
7662 case 841:
7663 #line 3620 "parse.y"
7664 { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
7665 break;}
7666 case 842:
7667 #line 3622 "parse.y"
7668 { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
7669 break;}
7670 case 843:
7671 #line 3624 "parse.y"
7672 { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
7673 break;}
7674 case 844:
7675 #line 3626 "parse.y"
7676 { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
7677 break;}
7678 case 845:
7679 #line 3628 "parse.y"
7680 { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
7681 break;}
7682 case 846:
7683 #line 3630 "parse.y"
7684 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7685 break;}
7686 case 847:
7687 #line 3632 "parse.y"
7688 { yyval.ttype = ansi_opname[LT_EXPR]; ;
7689 break;}
7690 case 848:
7691 #line 3634 "parse.y"
7692 { yyval.ttype = ansi_opname[GT_EXPR]; ;
7693 break;}
7694 case 849:
7695 #line 3636 "parse.y"
7696 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7697 break;}
7698 case 850:
7699 #line 3638 "parse.y"
7700 { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
7701 break;}
7702 case 851:
7703 #line 3640 "parse.y"
7704 { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
7705 break;}
7706 case 852:
7707 #line 3642 "parse.y"
7708 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7709 break;}
7710 case 853:
7711 #line 3644 "parse.y"
7712 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7713 break;}
7714 case 854:
7715 #line 3646 "parse.y"
7716 { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
7717 break;}
7718 case 855:
7719 #line 3648 "parse.y"
7720 { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
7721 break;}
7722 case 856:
7723 #line 3650 "parse.y"
7724 { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
7725 break;}
7726 case 857:
7727 #line 3652 "parse.y"
7728 { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
7729 break;}
7730 case 858:
7731 #line 3654 "parse.y"
7732 { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
7733 break;}
7734 case 859:
7735 #line 3656 "parse.y"
7736 { yyval.ttype = ansi_opname[COND_EXPR]; ;
7737 break;}
7738 case 860:
7739 #line 3658 "parse.y"
7740 { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
7741 break;}
7742 case 861:
7743 #line 3660 "parse.y"
7744 { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
7745 break;}
7746 case 862:
7747 #line 3662 "parse.y"
7748 { yyval.ttype = ansi_opname[MEMBER_REF]; ;
7749 break;}
7750 case 863:
7751 #line 3664 "parse.y"
7752 { yyval.ttype = ansi_opname[CALL_EXPR]; ;
7753 break;}
7754 case 864:
7755 #line 3666 "parse.y"
7756 { yyval.ttype = ansi_opname[ARRAY_REF]; ;
7757 break;}
7758 case 865:
7759 #line 3668 "parse.y"
7760 { yyval.ttype = ansi_opname[NEW_EXPR]; ;
7761 break;}
7762 case 866:
7763 #line 3670 "parse.y"
7764 { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
7765 break;}
7766 case 867:
7767 #line 3672 "parse.y"
7768 { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
7769 break;}
7770 case 868:
7771 #line 3674 "parse.y"
7772 { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
7773 break;}
7774 case 869:
7775 #line 3677 "parse.y"
7776 { yyval.ttype = grokoptypename (yyvsp[-1].ftype.t, yyvsp[0].ttype); ;
7777 break;}
7778 case 870:
7779 #line 3679 "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/lib/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 3682 "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