Annotation of gcc/cp/parse.c, revision 1.1

1.1     ! root        1: 
        !             2: /*  A Bison parser, made from parse.y with Bison version GNU Bison version 1.22
        !             3:   */
        !             4: 
        !             5: #define YYBISON 1  /* Identify Bison output.  */
        !             6: 
        !             7: #define        IDENTIFIER      258
        !             8: #define        TYPENAME        259
        !             9: #define        SCSPEC  260
        !            10: #define        TYPESPEC        261
        !            11: #define        TYPE_QUAL       262
        !            12: #define        CONSTANT        263
        !            13: #define        STRING  264
        !            14: #define        ELLIPSIS        265
        !            15: #define        SIZEOF  266
        !            16: #define        ENUM    267
        !            17: #define        IF      268
        !            18: #define        ELSE    269
        !            19: #define        WHILE   270
        !            20: #define        DO      271
        !            21: #define        FOR     272
        !            22: #define        SWITCH  273
        !            23: #define        CASE    274
        !            24: #define        DEFAULT 275
        !            25: #define        BREAK   276
        !            26: #define        CONTINUE        277
        !            27: #define        RETURN  278
        !            28: #define        GOTO    279
        !            29: #define        ASM_KEYWORD     280
        !            30: #define        GCC_ASM_KEYWORD 281
        !            31: #define        TYPEOF  282
        !            32: #define        ALIGNOF 283
        !            33: #define        HEADOF  284
        !            34: #define        CLASSOF 285
        !            35: #define        SIGOF   286
        !            36: #define        ATTRIBUTE       287
        !            37: #define        EXTENSION       288
        !            38: #define        LABEL   289
        !            39: #define        AGGR    290
        !            40: #define        VISSPEC 291
        !            41: #define        DELETE  292
        !            42: #define        NEW     293
        !            43: #define        OVERLOAD        294
        !            44: #define        THIS    295
        !            45: #define        OPERATOR        296
        !            46: #define        CXX_TRUE        297
        !            47: #define        CXX_FALSE       298
        !            48: #define        LEFT_RIGHT      299
        !            49: #define        TEMPLATE        300
        !            50: #define        TYPEID  301
        !            51: #define        DYNAMIC_CAST    302
        !            52: #define        STATIC_CAST     303
        !            53: #define        REINTERPRET_CAST        304
        !            54: #define        CONST_CAST      305
        !            55: #define        SCOPE   306
        !            56: #define        EMPTY   307
        !            57: #define        PTYPENAME       308
        !            58: #define        ASSIGN  309
        !            59: #define        OROR    310
        !            60: #define        ANDAND  311
        !            61: #define        MIN_MAX 312
        !            62: #define        EQCOMPARE       313
        !            63: #define        ARITHCOMPARE    314
        !            64: #define        LSHIFT  315
        !            65: #define        RSHIFT  316
        !            66: #define        POINTSAT_STAR   317
        !            67: #define        DOT_STAR        318
        !            68: #define        UNARY   319
        !            69: #define        PLUSPLUS        320
        !            70: #define        MINUSMINUS      321
        !            71: #define        HYPERUNARY      322
        !            72: #define        PAREN_STAR_PAREN        323
        !            73: #define        POINTSAT        324
        !            74: #define        TRY     325
        !            75: #define        CATCH   326
        !            76: #define        THROW   327
        !            77: #define        TYPENAME_ELLIPSIS       328
        !            78: #define        PRE_PARSED_FUNCTION_DECL        329
        !            79: #define        EXTERN_LANG_STRING      330
        !            80: #define        ALL     331
        !            81: #define        PRE_PARSED_CLASS_DECL   332
        !            82: #define        TYPENAME_DEFN   333
        !            83: #define        IDENTIFIER_DEFN 334
        !            84: #define        PTYPENAME_DEFN  335
        !            85: #define        END_OF_SAVED_INPUT      336
        !            86: 
        !            87: #line 42 "parse.y"
        !            88: 
        !            89: /* Cause the `yydebug' variable to be defined.  */
        !            90: #define YYDEBUG 1
        !            91: 
        !            92: #include "config.h"
        !            93: 
        !            94: #include <stdio.h>
        !            95: #include <errno.h>
        !            96: 
        !            97: #include "tree.h"
        !            98: #include "input.h"
        !            99: #include "flags.h"
        !           100: #include "lex.h"
        !           101: #include "cp-tree.h"
        !           102: 
        !           103: /* Since parsers are distinct for each language, put the language string
        !           104:    definition here.  (fnf) */
        !           105: char *language_string = "GNU C++";
        !           106: 
        !           107: extern tree void_list_node;
        !           108: extern struct obstack permanent_obstack;
        !           109: 
        !           110: #ifndef errno
        !           111: extern int errno;
        !           112: #endif
        !           113: 
        !           114: extern int end_of_file;
        !           115: extern int current_class_depth;
        !           116: 
        !           117: void yyerror ();
        !           118: 
        !           119: /* Like YYERROR but do call yyerror.  */
        !           120: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
        !           121: 
        !           122: #define OP0(NODE) (TREE_OPERAND (NODE, 0))
        !           123: #define OP1(NODE) (TREE_OPERAND (NODE, 1))
        !           124: 
        !           125: /* Contains the statement keyword (if/while/do) to include in an
        !           126:    error message if the user supplies an empty conditional expression.  */
        !           127: static char *cond_stmt_keyword;
        !           128: 
        !           129: /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
        !           130: int have_extern_spec;
        !           131: int used_extern_spec;
        !           132: 
        !           133: void yyhook ();
        !           134: 
        !           135: /* Cons up an empty parameter list.  */
        !           136: #ifdef __GNUC__
        !           137: __inline
        !           138: #endif
        !           139: static tree
        !           140: empty_parms ()
        !           141: {
        !           142:   tree parms;
        !           143: 
        !           144:   if (strict_prototype)
        !           145:     parms = void_list_node;
        !           146:   else
        !           147:     parms = NULL_TREE;
        !           148:   return parms;
        !           149: }
        !           150: 
        !           151: #line 108 "parse.y"
        !           152: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
        !           153: #line 277 "parse.y"
        !           154: 
        !           155: /* List of types and structure classes of the current declaration.  */
        !           156: static tree current_declspecs;
        !           157: 
        !           158: /* When defining an aggregate, this is the most recent one being defined.  */
        !           159: static tree current_aggr;
        !           160: 
        !           161: /* Tell yyparse how to print a token's value, if yydebug is set.  */
        !           162: 
        !           163: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
        !           164: extern void yyprint ();
        !           165: extern tree combine_strings            PROTO((tree));
        !           166: 
        !           167: #ifndef YYLTYPE
        !           168: typedef
        !           169:   struct yyltype
        !           170:     {
        !           171:       int timestamp;
        !           172:       int first_line;
        !           173:       int first_column;
        !           174:       int last_line;
        !           175:       int last_column;
        !           176:       char *text;
        !           177:    }
        !           178:   yyltype;
        !           179: 
        !           180: #define YYLTYPE yyltype
        !           181: #endif
        !           182: 
        !           183: #include <stdio.h>
        !           184: 
        !           185: #ifndef __cplusplus
        !           186: #ifndef __STDC__
        !           187: #define const
        !           188: #endif
        !           189: #endif
        !           190: 
        !           191: 
        !           192: 
        !           193: #define        YYFINAL         1350
        !           194: #define        YYFLAG          -32768
        !           195: #define        YYNTBASE        106
        !           196: 
        !           197: #define YYTRANSLATE(x) ((unsigned)(x) <= 336 ? yytranslate[x] : 338)
        !           198: 
        !           199: static const char yytranslate[] = {     0,
        !           200:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           201:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           202:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           203:      2,     2,   104,     2,     2,     2,    77,    65,     2,    88,
        !           204:    102,    75,    73,    55,    74,    87,    76,     2,     2,     2,
        !           205:      2,     2,     2,     2,     2,     2,     2,    60,    56,    69,
        !           206:     58,    70,    59,     2,     2,     2,     2,     2,     2,     2,
        !           207:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           208:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           209:     89,     2,   105,    64,     2,     2,     2,     2,     2,     2,
        !           210:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           211:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           212:      2,     2,    54,    63,   103,    83,     2,     2,     2,     2,
        !           213:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           214:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           215:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           216:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           217:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           218:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           219:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           220:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           221:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           222:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           223:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           224:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           225:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
        !           226:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
        !           227:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !           228:     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
        !           229:     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
        !           230:     46,    47,    48,    49,    50,    51,    52,    53,    57,    61,
        !           231:     62,    66,    67,    68,    71,    72,    78,    79,    80,    81,
        !           232:     82,    84,    85,    86,    90,    91,    92,    93,    94,    95,
        !           233:     96,    97,    98,    99,   100,   101
        !           234: };
        !           235: 
        !           236: #if YYDEBUG != 0
        !           237: static const short yyprhs[] = {     0,
        !           238:      0,     1,     3,     4,     7,    10,    11,    12,    14,    16,
        !           239:     17,    20,    22,    24,    26,    28,    34,    39,    43,    48,
        !           240:     53,    55,    56,    62,    64,    68,    70,    73,    75,    79,
        !           241:     81,    85,    87,    91,    92,    98,    99,   105,   106,   112,
        !           242:    113,   119,   123,   127,   134,   142,   147,   151,   155,   157,
        !           243:    159,   161,   163,   165,   168,   172,   176,   180,   184,   187,
        !           244:    190,   193,   196,   199,   201,   205,   210,   214,   220,   225,
        !           245:    229,   233,   236,   240,   244,   247,   249,   256,   261,   265,
        !           246:    269,   272,   275,   277,   281,   286,   289,   293,   294,   295,
        !           247:    297,   301,   304,   308,   310,   315,   318,   323,   326,   331,
        !           248:    334,   336,   338,   340,   342,   344,   346,   348,   350,   354,
        !           249:    358,   363,   368,   372,   377,   381,   386,   387,   389,   393,
        !           250:    395,   397,   398,   405,   406,   408,   409,   412,   414,   416,
        !           251:    418,   420,   422,   424,   426,   428,   432,   434,   438,   439,
        !           252:    441,   443,   444,   453,   455,   458,   463,   468,   470,   474,
        !           253:    478,   482,   486,   488,   490,   492,   493,   497,   500,   503,
        !           254:    506,   509,   512,   515,   520,   523,   528,   531,   535,   539,
        !           255:    544,   549,   555,   561,   568,   571,   576,   582,   586,   590,
        !           256:    594,   596,   600,   603,   607,   612,   614,   617,   623,   625,
        !           257:    630,   635,   640,   642,   646,   650,   654,   658,   662,   666,
        !           258:    670,   674,   678,   682,   686,   690,   694,   698,   702,   706,
        !           259:    710,   714,   718,   724,   728,   732,   734,   737,   741,   743,
        !           260:    745,   747,   749,   751,   753,   755,   758,   761,   763,   765,
        !           261:    767,   769,   771,   773,   775,   779,   783,   784,   789,   790,
        !           262:    797,   800,   805,   808,   811,   813,   818,   820,   828,   836,
        !           263:    844,   852,   857,   862,   865,   868,   870,   875,   878,   881,
        !           264:    884,   890,   894,   900,   904,   909,   916,   918,   921,   923,
        !           265:    926,   928,   930,   932,   935,   936,   939,   942,   946,   950,
        !           266:    954,   958,   962,   965,   968,   970,   972,   974,   977,   980,
        !           267:    983,   986,   988,   990,   992,   994,   997,  1000,  1004,  1008,
        !           268:   1013,  1015,  1018,  1021,  1023,  1025,  1028,  1031,  1033,  1036,
        !           269:   1039,  1043,  1045,  1048,  1050,  1052,  1054,  1059,  1064,  1069,
        !           270:   1074,  1076,  1078,  1080,  1082,  1086,  1088,  1092,  1094,  1098,
        !           271:   1099,  1104,  1105,  1113,  1118,  1119,  1127,  1132,  1133,  1141,
        !           272:   1146,  1147,  1155,  1160,  1161,  1163,  1165,  1168,  1175,  1177,
        !           273:   1181,  1182,  1184,  1189,  1196,  1201,  1203,  1205,  1207,  1209,
        !           274:   1211,  1215,  1217,  1220,  1224,  1229,  1231,  1233,  1237,  1242,
        !           275:   1249,  1253,  1259,  1260,  1268,  1273,  1274,  1281,  1285,  1288,
        !           276:   1291,  1296,  1298,  1299,  1301,  1302,  1304,  1306,  1309,  1312,
        !           277:   1315,  1318,  1322,  1325,  1328,  1331,  1335,  1339,  1341,  1344,
        !           278:   1345,  1346,  1350,  1354,  1357,  1359,  1361,  1362,  1364,  1367,
        !           279:   1369,  1373,  1375,  1378,  1380,  1385,  1390,  1392,  1394,  1397,
        !           280:   1400,  1402,  1403,  1405,  1410,  1414,  1416,  1419,  1422,  1425,
        !           281:   1428,  1431,  1434,  1437,  1440,  1445,  1448,  1450,  1456,  1460,
        !           282:   1461,  1463,  1467,  1468,  1470,  1474,  1476,  1478,  1480,  1482,
        !           283:   1487,  1494,  1499,  1504,  1511,  1516,  1520,  1525,  1532,  1537,
        !           284:   1542,  1549,  1554,  1558,  1560,  1564,  1566,  1570,  1573,  1575,
        !           285:   1582,  1583,  1586,  1588,  1591,  1592,  1595,  1599,  1603,  1606,
        !           286:   1609,  1613,  1615,  1617,  1619,  1622,  1628,  1634,  1638,  1644,
        !           287:   1649,  1653,  1657,  1660,  1662,  1666,  1670,  1673,  1676,  1680,
        !           288:   1682,  1686,  1690,  1693,  1696,  1700,  1702,  1708,  1714,  1718,
        !           289:   1724,  1728,  1732,  1737,  1741,  1744,  1747,  1749,  1752,  1757,
        !           290:   1762,  1765,  1767,  1769,  1771,  1774,  1777,  1780,  1782,  1785,
        !           291:   1787,  1790,  1793,  1797,  1799,  1803,  1806,  1810,  1813,  1816,
        !           292:   1820,  1822,  1826,  1831,  1835,  1838,  1841,  1843,  1847,  1850,
        !           293:   1853,  1855,  1858,  1862,  1864,  1868,  1870,  1876,  1880,  1885,
        !           294:   1889,  1894,  1897,  1900,  1904,  1907,  1909,  1911,  1914,  1917,
        !           295:   1920,  1921,  1922,  1924,  1926,  1929,  1933,  1935,  1938,  1942,
        !           296:   1948,  1955,  1961,  1962,  1963,  1970,  1972,  1975,  1977,  1979,
        !           297:   1981,  1984,  1985,  1990,  1992,  1993,  1994,  2001,  2002,  2003,
        !           298:   2011,  2012,  2013,  2014,  2025,  2026,  2027,  2028,  2039,  2040,
        !           299:   2048,  2049,  2055,  2056,  2064,  2065,  2070,  2073,  2076,  2079,
        !           300:   2083,  2090,  2099,  2110,  2123,  2128,  2132,  2135,  2138,  2140,
        !           301:   2142,  2143,  2144,  2152,  2154,  2157,  2160,  2161,  2162,  2168,
        !           302:   2170,  2172,  2176,  2180,  2183,  2186,  2189,  2193,  2198,  2203,
        !           303:   2207,  2212,  2219,  2226,  2227,  2229,  2230,  2232,  2234,  2235,
        !           304:   2237,  2239,  2243,  2248,  2250,  2254,  2255,  2257,  2259,  2261,
        !           305:   2264,  2267,  2270,  2272,  2274,  2277,  2280,  2283,  2286,  2288,
        !           306:   2292,  2295,  2298,  2303,  2306,  2309,  2312,  2315,  2318,  2321,
        !           307:   2323,  2326,  2328,  2332,  2334,  2336,  2337,  2338,  2340,  2341,
        !           308:   2346,  2348,  2350,  2354,  2355,  2359,  2363,  2367,  2369,  2372,
        !           309:   2375,  2378,  2381,  2384,  2387,  2390,  2393,  2396,  2399,  2402,
        !           310:   2405,  2408,  2411,  2414,  2417,  2420,  2423,  2426,  2429,  2432,
        !           311:   2435,  2438,  2442,  2445,  2448,  2451,  2454,  2458,  2461,  2464,
        !           312:   2469,  2474,  2478
        !           313: };
        !           314: 
        !           315: static const short yyrhs[] = {    -1,
        !           316:    107,     0,     0,   108,   112,     0,   107,   112,     0,     0,
        !           317:      0,    25,     0,    26,     0,     0,   113,   114,     0,   130,
        !           318:      0,   129,     0,   123,     0,   121,     0,   111,    88,   180,
        !           319:    102,    56,     0,   115,    54,   107,   103,     0,   115,    54,
        !           320:    103,     0,   115,   109,   130,   110,     0,   115,   109,   129,
        !           321:    110,     0,    95,     0,     0,    45,    69,   117,   118,    70,
        !           322:      0,   120,     0,   118,    55,   120,     0,   221,     0,   221,
        !           323:    139,     0,   119,     0,   119,    58,   193,     0,   328,     0,
        !           324:     39,   122,    56,     0,     3,     0,   122,    55,     3,     0,
        !           325:      0,   116,   223,    54,   124,    56,     0,     0,   116,   224,
        !           326:     54,   125,    56,     0,     0,   116,   223,    60,   126,    56,
        !           327:      0,     0,   116,   224,    60,   127,    56,     0,   116,   223,
        !           328:     56,     0,   116,   224,    56,     0,   116,   259,   332,   198,
        !           329:    207,   128,     0,   116,   187,   184,   332,   198,   207,   128,
        !           330:      0,   116,   190,   259,   128,     0,   116,     1,   103,     0,
        !           331:    116,     1,    56,     0,    54,     0,    60,     0,    56,     0,
        !           332:     58,     0,    23,     0,   197,    56,     0,   190,   196,    56,
        !           333:      0,   190,   259,    56,     0,   187,   195,    56,     0,   187,
        !           334:    184,    56,     0,   190,    56,     0,   142,    56,     0,   187,
        !           335:     56,     0,     1,    56,     0,     1,   103,     0,    56,     0,
        !           336:    131,   135,   283,     0,   131,   134,   135,   283,     0,   131,
        !           337:    181,   283,     0,   131,   134,    56,   181,   283,     0,   131,
        !           338:    134,   181,   283,     0,   187,   184,     1,     0,   190,   259,
        !           339:      1,     0,   259,     1,     0,   187,   184,   332,     0,   190,
        !           340:    259,   332,     0,   259,   332,     0,    94,     0,   187,    88,
        !           341:    323,   102,   251,   332,     0,   187,    44,   251,   332,     0,
        !           342:    187,   184,   332,     0,   190,   259,   332,     0,   259,   332,
        !           343:      0,    23,     3,     0,   133,     0,   133,    58,   214,     0,
        !           344:    133,    88,   161,   102,     0,   133,    44,     0,    60,   136,
        !           345:    137,     0,     0,     0,   138,     0,   137,    55,   138,     0,
        !           346:    137,     1,     0,    88,   161,   102,     0,    44,     0,   140,
        !           347:     88,   161,   102,     0,   140,    44,     0,   269,    88,   161,
        !           348:    102,     0,   269,    44,     0,   263,    88,   161,   102,     0,
        !           349:    263,    44,     0,     3,     0,     4,     0,    53,     0,     3,
        !           350:      0,    53,     0,    99,     0,    98,     0,   100,     0,    45,
        !           351:    222,   150,     0,    45,   187,   184,     0,     5,    45,   222,
        !           352:    150,     0,     5,    45,   187,   184,     0,   144,   145,   150,
        !           353:      0,    53,    69,   146,    70,     0,    53,    69,    70,     0,
        !           354:      4,    69,   146,    70,     0,     0,   147,     0,   146,    55,
        !           355:    147,     0,   186,     0,   169,     0,     0,    97,   230,   149,
        !           356:    235,   236,   103,     0,     0,   148,     0,     0,   148,   151,
        !           357:      0,    74,     0,    73,     0,    81,     0,    82,     0,   104,
        !           358:      0,   160,     0,   169,     0,    44,     0,    88,   153,   102,
        !           359:      0,    44,     0,    88,   157,   102,     0,     0,   157,     0,
        !           360:      1,     0,     0,   312,   184,   332,   198,   207,    58,   158,
        !           361:    214,     0,   153,     0,    54,   103,     0,    54,   280,   277,
        !           362:    103,     0,    54,   280,     1,   103,     0,   290,     0,   169,
        !           363:     55,   169,     0,   169,    55,     1,     0,   160,    55,   169,
        !           364:      0,   160,    55,     1,     0,   169,     0,   160,     0,   174,
        !           365:      0,     0,    33,   163,   167,     0,    75,   167,     0,    65,
        !           366:    167,     0,    83,   167,     0,   152,   167,     0,    62,   139,
        !           367:      0,    11,   162,     0,    11,    88,   186,   102,     0,    28,
        !           368:    162,     0,    28,    88,   186,   102,     0,   177,   250,     0,
        !           369:    177,   250,   165,     0,   177,   164,   250,     0,   177,   164,
        !           370:    250,   165,     0,   177,    88,   186,   102,     0,   177,    88,
        !           371:    186,   102,   165,     0,   177,   164,    88,   186,   102,     0,
        !           372:    177,   164,    88,   186,   102,   165,     0,   178,   167,     0,
        !           373:    178,    89,   105,   167,     0,   178,    89,   153,   105,   167,
        !           374:      0,    88,   161,   102,     0,    54,   161,   103,     0,    88,
        !           375:    161,   102,     0,    44,     0,    88,   193,   102,     0,    58,
        !           376:    214,     0,    88,   186,   102,     0,   166,    88,   186,   102,
        !           377:      0,   168,     0,   166,   168,     0,   166,    54,   215,   219,
        !           378:    103,     0,   162,     0,    29,    88,   153,   102,     0,    30,
        !           379:     88,   153,   102,     0,    30,    88,     4,   102,     0,   167,
        !           380:      0,   169,    78,   169,     0,   169,    79,   169,     0,   169,
        !           381:     73,   169,     0,   169,    74,   169,     0,   169,    75,   169,
        !           382:      0,   169,    76,   169,     0,   169,    77,   169,     0,   169,
        !           383:     71,   169,     0,   169,    72,   169,     0,   169,    68,   169,
        !           384:      0,   169,    69,   169,     0,   169,    70,   169,     0,   169,
        !           385:     67,   169,     0,   169,    66,   169,     0,   169,    65,   169,
        !           386:      0,   169,    63,   169,     0,   169,    64,   169,     0,   169,
        !           387:     62,   169,     0,   169,    61,   169,     0,   169,    59,   318,
        !           388:     60,   169,     0,   169,    58,   169,     0,   169,    57,   169,
        !           389:      0,    92,     0,    92,   169,     0,    83,   330,   139,     0,
        !           390:    337,     0,     3,     0,    53,     0,   170,     0,     4,     0,
        !           391:    170,     0,   263,     0,    75,   172,     0,    65,   172,     0,
        !           392:    261,     0,   170,     0,   263,     0,   170,     0,     8,     0,
        !           393:    179,     0,   180,     0,    88,   153,   102,     0,    88,     1,
        !           394:    102,     0,     0,    88,   175,   284,   102,     0,     0,   174,
        !           395:     88,   161,   102,   176,   151,     0,   174,    44,     0,   174,
        !           396:     89,   153,   105,     0,   174,    81,     0,   174,    82,     0,
        !           397:     40,     0,     7,    88,   161,   102,     0,   265,     0,    47,
        !           398:     69,   186,    70,    88,   153,   102,     0,    48,    69,   186,
        !           399:     70,    88,   153,   102,     0,    49,    69,   186,    70,    88,
        !           400:    153,   102,     0,    50,    69,   186,    70,    88,   153,   102,
        !           401:      0,    46,    88,   153,   102,     0,    46,    88,   186,   102,
        !           402:      0,   272,     3,     0,   272,   337,     0,   264,     0,   264,
        !           403:     88,   161,   102,     0,   264,    44,     0,   182,   171,     0,
        !           404:    182,   262,     0,   182,   171,    88,   161,   102,     0,   182,
        !           405:    171,    44,     0,   182,   262,    88,   161,   102,     0,   182,
        !           406:    262,    44,     0,   182,    83,     6,    44,     0,   182,     6,
        !           407:     51,    83,     6,    44,     0,    38,     0,   272,    38,     0,
        !           408:     37,     0,   272,   178,     0,    42,     0,    43,     0,     9,
        !           409:      0,   180,     9,     0,     0,   174,    87,     0,   174,    86,
        !           410:      0,   193,   184,    56,     0,   187,   184,    56,     0,   193,
        !           411:    195,    56,     0,   187,   195,    56,     0,   190,   196,    56,
        !           412:      0,   187,    56,     0,   190,    56,     0,   255,     0,   259,
        !           413:      0,    44,     0,   185,    44,     0,   191,   275,     0,   252,
        !           414:    275,     0,   193,   275,     0,   191,     0,   252,     0,   191,
        !           415:      0,   188,     0,   190,   193,     0,   193,   189,     0,   190,
        !           416:    193,   189,     0,   190,   193,   192,     0,   190,   193,   192,
        !           417:    189,     0,     5,     0,   189,   194,     0,   189,     5,     0,
        !           418:    252,     0,     5,     0,   190,     7,     0,   190,     5,     0,
        !           419:    193,     0,   252,   193,     0,   193,   192,     0,   252,   193,
        !           420:    192,     0,   194,     0,   192,   194,     0,   216,     0,     6,
        !           421:      0,   269,     0,    27,    88,   153,   102,     0,    27,    88,
        !           422:    186,   102,     0,    31,    88,   153,   102,     0,    31,    88,
        !           423:    186,   102,     0,     6,     0,     7,     0,   216,     0,   199,
        !           424:      0,   195,    55,   201,     0,   203,     0,   196,    55,   201,
        !           425:      0,   205,     0,   197,    55,   201,     0,     0,   111,    88,
        !           426:    180,   102,     0,     0,   184,   332,   198,   207,    58,   200,
        !           427:    214,     0,   184,   332,   198,   207,     0,     0,   184,   332,
        !           428:    198,   207,    58,   202,   214,     0,   184,   332,   198,   207,
        !           429:      0,     0,   259,   332,   198,   207,    58,   204,   214,     0,
        !           430:    259,   332,   198,   207,     0,     0,   259,   332,   198,   207,
        !           431:     58,   206,   214,     0,   259,   332,   198,   207,     0,     0,
        !           432:    208,     0,   209,     0,   208,   209,     0,    32,    88,    88,
        !           433:    210,   102,   102,     0,   211,     0,   210,    55,   211,     0,
        !           434:      0,   212,     0,   212,    88,     3,   102,     0,   212,    88,
        !           435:      3,    55,   161,   102,     0,   212,    88,   161,   102,     0,
        !           436:    139,     0,     5,     0,     6,     0,     7,     0,   139,     0,
        !           437:    213,    55,   139,     0,   169,     0,    54,   103,     0,    54,
        !           438:    215,   103,     0,    54,   215,    55,   103,     0,     1,     0,
        !           439:    214,     0,   215,    55,   214,     0,    89,   169,   105,   214,
        !           440:      0,   215,    55,    19,   169,    60,   214,     0,   139,    60,
        !           441:    214,     0,   215,    55,   139,    60,   214,     0,     0,    12,
        !           442:    139,    54,   217,   248,   220,   103,     0,    12,   139,    54,
        !           443:    103,     0,     0,    12,    54,   218,   248,   220,   103,     0,
        !           444:     12,    54,   103,     0,    12,   139,     0,    12,   270,     0,
        !           445:    229,   235,   236,   103,     0,   229,     0,     0,    55,     0,
        !           446:      0,    55,     0,    35,     0,   221,     5,     0,   221,     6,
        !           447:      0,   221,     7,     0,   221,    35,     0,   221,   144,    56,
        !           448:      0,   221,   139,     0,   221,   270,     0,   221,   143,     0,
        !           449:    221,   144,    54,     0,   221,   144,    60,     0,   222,     0,
        !           450:    221,   141,     0,     0,     0,   223,   225,   230,     0,   224,
        !           451:    226,   230,     0,   221,    54,     0,   228,     0,   227,     0,
        !           452:      0,    60,     0,    60,   231,     0,   232,     0,   231,    55,
        !           453:    232,     0,   233,     0,   234,   233,     0,   269,     0,    31,
        !           454:     88,   153,   102,     0,    31,    88,   186,   102,     0,    36,
        !           455:      0,     5,     0,   234,    36,     0,   234,     5,     0,    54,
        !           456:      0,     0,   237,     0,   236,    36,    60,   237,     0,   236,
        !           457:     36,    60,     0,   238,     0,   237,   238,     0,   237,    56,
        !           458:      0,   239,    56,     0,   239,   103,     0,   132,    60,     0,
        !           459:    132,    54,     0,   187,   240,     0,   190,   241,     0,   259,
        !           460:    332,   198,   207,     0,    60,   169,     0,     1,     0,   187,
        !           461:     88,   323,   102,   251,     0,   187,    44,   251,     0,     0,
        !           462:    242,     0,   240,    55,   243,     0,     0,   245,     0,   241,
        !           463:     55,   247,     0,   244,     0,   245,     0,   246,     0,   247,
        !           464:      0,   255,   332,   198,   207,     0,   255,   332,   198,   207,
        !           465:     58,   214,     0,     4,    60,   169,   207,     0,   259,   332,
        !           466:    198,   207,     0,   259,   332,   198,   207,    58,   214,     0,
        !           467:      3,    60,   169,   207,     0,    60,   169,   207,     0,   255,
        !           468:    332,   198,   207,     0,   255,   332,   198,   207,    58,   214,
        !           469:      0,     4,    60,   169,   207,     0,   259,   332,   198,   207,
        !           470:      0,   259,   332,   198,   207,    58,   214,     0,     3,    60,
        !           471:    169,   207,     0,    60,   169,   207,     0,   249,     0,   248,
        !           472:     55,   249,     0,   139,     0,   139,    58,   169,     0,   312,
        !           473:    273,     0,   312,     0,    88,   186,   102,    89,   153,   105,
        !           474:      0,     0,   251,     7,     0,     7,     0,   252,     7,     0,
        !           475:      0,   254,   153,     0,    75,   252,   255,     0,    65,   252,
        !           476:    255,     0,    75,   255,     0,    65,   255,     0,   271,   251,
        !           477:    255,     0,   258,     0,   266,     0,   257,     0,   267,   266,
        !           478:      0,   258,    88,   161,   102,   251,     0,   258,    88,   323,
        !           479:    102,   251,     0,   258,    44,   251,     0,   258,    88,     1,
        !           480:    102,   251,     0,   258,    89,   253,   105,     0,   258,    89,
        !           481:    105,     0,    88,   255,   102,     0,   267,   266,     0,   266,
        !           482:      0,    75,   252,   259,     0,    65,   252,   259,     0,    75,
        !           483:    259,     0,    65,   259,     0,   271,   251,   259,     0,   173,
        !           484:      0,    75,   252,   259,     0,    65,   252,   259,     0,    75,
        !           485:    260,     0,    65,   260,     0,   271,   251,   259,     0,   261,
        !           486:      0,   173,    88,   161,   102,   251,     0,   173,    88,   323,
        !           487:    102,   251,     0,   173,    44,   251,     0,   173,    88,     1,
        !           488:    102,   251,     0,    88,   172,   102,     0,    88,   260,   102,
        !           489:      0,   173,    89,   253,   105,     0,   173,    89,   105,     0,
        !           490:    267,   171,     0,   267,   170,     0,   263,     0,   272,   263,
        !           491:      0,   193,    88,   161,   102,     0,   193,    88,   172,   102,
        !           492:      0,   193,   185,     0,     4,     0,   143,     0,   268,     0,
        !           493:    267,   268,     0,     4,    51,     0,   143,    51,     0,   256,
        !           494:      0,   272,   256,     0,   257,     0,   272,   256,     0,   267,
        !           495:     75,     0,   272,   267,    75,     0,    51,     0,    75,   251,
        !           496:    273,     0,    75,   251,     0,    65,   251,   273,     0,    65,
        !           497:    251,     0,   271,   251,     0,   271,   251,   273,     0,   274,
        !           498:      0,    89,   153,   105,     0,   274,    89,   253,   105,     0,
        !           499:     75,   252,   275,     0,    75,   275,     0,    75,   252,     0,
        !           500:     75,     0,    65,   252,   275,     0,    65,   275,     0,    65,
        !           501:    252,     0,    65,     0,   271,   251,     0,   271,   251,   275,
        !           502:      0,   276,     0,    88,   275,   102,     0,    85,     0,   276,
        !           503:     88,   323,   102,   251,     0,   276,    44,   251,     0,   276,
        !           504:     89,   253,   105,     0,   276,    89,   105,     0,    88,   324,
        !           505:    102,   251,     0,   166,   251,     0,   185,   251,     0,    89,
        !           506:    253,   105,     0,    89,   105,     0,   289,     0,   278,     0,
        !           507:    277,   289,     0,   277,   278,     0,     1,    56,     0,     0,
        !           508:      0,   281,     0,   282,     0,   281,   282,     0,    34,   213,
        !           509:     56,     0,   284,     0,     1,   284,     0,    54,   279,   103,
        !           510:      0,    54,   279,   280,   277,   103,     0,    54,   279,   280,
        !           511:    277,     1,   103,     0,    54,   279,   280,     1,   103,     0,
        !           512:      0,     0,    13,   286,   279,   155,   287,   288,     0,   284,
        !           513:      0,   279,   290,     0,   284,     0,   290,     0,   183,     0,
        !           514:    153,    56,     0,     0,   285,    14,   291,   288,     0,   285,
        !           515:      0,     0,     0,    15,   292,   279,   155,   293,   159,     0,
        !           516:      0,     0,    16,   294,   288,    15,   295,   154,    56,     0,
        !           517:      0,     0,     0,   315,   296,   279,   156,    56,   297,   318,
        !           518:    102,   298,   159,     0,     0,     0,     0,   316,   299,   279,
        !           519:    156,    56,   300,   318,   102,   301,   159,     0,     0,    18,
        !           520:    279,    88,   157,   102,   302,   288,     0,     0,    19,   169,
        !           521:     60,   303,   289,     0,     0,    19,   169,    10,   169,    60,
        !           522:    304,   289,     0,     0,    20,    60,   305,   289,     0,    21,
        !           523:     56,     0,    22,    56,     0,    23,    56,     0,    23,   153,
        !           524:     56,     0,   111,   317,    88,   180,   102,    56,     0,   111,
        !           525:    317,    88,   180,    60,   319,   102,    56,     0,   111,   317,
        !           526:     88,   180,    60,   319,    60,   319,   102,    56,     0,   111,
        !           527:    317,    88,   180,    60,   319,    60,   319,    60,   322,   102,
        !           528:     56,     0,    24,    75,   153,    56,     0,    24,   139,    56,
        !           529:      0,   314,   289,     0,   314,   103,     0,    56,     0,   306,
        !           530:      0,     0,     0,    90,    54,   279,   307,   309,   308,   310,
        !           531:      0,   103,     0,   277,   103,     0,     1,   103,     0,     0,
        !           532:      0,   310,    91,   311,   313,   284,     0,   191,     0,   252,
        !           533:      0,    88,    10,   102,     0,    88,   329,   102,     0,     3,
        !           534:     60,     0,    53,    60,     0,     4,    60,     0,    17,    88,
        !           535:     56,     0,    17,    88,   153,    56,     0,    17,    88,    54,
        !           536:    103,     0,    17,    88,   183,     0,    17,    88,     1,    56,
        !           537:      0,    17,    88,    54,   279,   277,   103,     0,    17,    88,
        !           538:     54,   279,     1,   103,     0,     0,     7,     0,     0,   153,
        !           539:      0,     1,     0,     0,   320,     0,   321,     0,   320,    55,
        !           540:    321,     0,     9,    88,   153,   102,     0,     9,     0,   322,
        !           541:     55,     9,     0,     0,   324,     0,   186,     0,   325,     0,
        !           542:    326,    10,     0,   325,    10,     0,   186,    10,     0,    10,
        !           543:      0,    93,     0,   325,    93,     0,   186,    93,     0,   325,
        !           544:     60,     0,   186,    60,     0,   327,     0,   329,    58,   214,
        !           545:      0,   326,   328,     0,   326,   331,     0,   326,   331,    58,
        !           546:    214,     0,   325,    55,     0,   186,    55,     0,   188,   184,
        !           547:      0,   191,   184,     0,   193,   184,     0,   188,   275,     0,
        !           548:    188,     0,   190,   259,     0,   329,     0,   329,    58,   214,
        !           549:      0,   327,     0,   186,     0,     0,     0,   259,     0,     0,
        !           550:     92,    88,   334,   102,     0,   186,     0,   333,     0,   334,
        !           551:     55,   333,     0,     0,    75,   251,   335,     0,    65,   251,
        !           552:    335,     0,   271,   251,   335,     0,    41,     0,   336,    75,
        !           553:      0,   336,    76,     0,   336,    77,     0,   336,    73,     0,
        !           554:    336,    74,     0,   336,    65,     0,   336,    63,     0,   336,
        !           555:     64,     0,   336,    83,     0,   336,    55,     0,   336,    68,
        !           556:      0,   336,    69,     0,   336,    70,     0,   336,    67,     0,
        !           557:    336,    57,     0,   336,    58,     0,   336,    71,     0,   336,
        !           558:     72,     0,   336,    81,     0,   336,    82,     0,   336,    62,
        !           559:      0,   336,    61,     0,   336,   104,     0,   336,    59,    60,
        !           560:      0,   336,    66,     0,   336,    86,     0,   336,    78,     0,
        !           561:    336,    44,     0,   336,    89,   105,     0,   336,    38,     0,
        !           562:    336,    37,     0,   336,    38,    89,   105,     0,   336,    37,
        !           563:     89,   105,     0,   336,   312,   335,     0,   336,     1,     0
        !           564: };
        !           565: 
        !           566: #endif
        !           567: 
        !           568: #if YYDEBUG != 0
        !           569: static const short yyrline[] = { 0,
        !           570:    292,   293,   307,   309,   310,   314,   319,   323,   325,   328,
        !           571:    331,   335,   338,   340,   342,   343,   346,   348,   350,   353,
        !           572:    358,   363,   366,   370,   373,   377,   387,   391,   401,   403,
        !           573:    406,   411,   413,   417,   423,   423,   426,   426,   429,   429,
        !           574:    444,   444,   449,   454,   471,   494,   504,   505,   508,   509,
        !           575:    510,   511,   512,   515,   518,   521,   526,   531,   537,   539,
        !           576:    540,   559,   560,   561,   564,   578,   591,   594,   597,   600,
        !           577:    602,   604,   608,   614,   619,   624,   631,   642,   649,   651,
        !           578:    653,   657,   665,   667,   669,   671,   675,   688,   711,   714,
        !           579:    716,   717,   720,   726,   732,   734,   736,   738,   741,   745,
        !           580:    751,   753,   754,   757,   759,   762,   764,   765,   768,   771,
        !           581:    773,   775,   779,   784,   787,   789,   793,   798,   801,   805,
        !           582:    808,   811,   845,   861,   864,   868,   871,   875,   877,   879,
        !           583:    881,   883,   887,   889,   892,   897,   902,   907,   912,   915,
        !           584:    918,   922,   941,   948,   951,   954,   956,   958,   962,   966,
        !           585:    969,   971,   975,   978,   981,   990,   993,   996,   998,  1000,
        !           586:   1002,  1009,  1020,  1040,  1042,  1044,  1049,  1051,  1053,  1055,
        !           587:   1057,  1060,  1062,  1064,  1067,  1069,  1073,  1079,  1082,  1089,
        !           588:   1092,  1094,  1102,  1111,  1117,  1123,  1125,  1127,  1140,  1142,
        !           589:   1144,  1146,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1178,
        !           590:   1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,  1198,
        !           591:   1200,  1202,  1204,  1206,  1208,  1215,  1217,  1234,  1237,  1238,
        !           592:   1239,  1242,  1244,  1247,  1249,  1250,  1252,  1256,  1258,  1259,
        !           593:   1264,  1284,  1285,  1286,  1288,  1290,  1292,  1300,  1321,  1326,
        !           594:   1333,  1340,  1342,  1351,  1356,  1379,  1423,  1424,  1427,  1430,
        !           595:   1433,  1436,  1438,  1441,  1480,  1487,  1489,  1491,  1493,  1495,
        !           596:   1497,  1512,  1527,  1538,  1550,  1557,  1606,  1608,  1612,  1614,
        !           597:   1618,  1621,  1626,  1628,  1632,  1645,  1646,  1652,  1663,  1671,
        !           598:   1677,  1682,  1684,  1689,  1696,  1698,  1702,  1706,  1712,  1715,
        !           599:   1717,  1719,  1721,  1729,  1731,  1733,  1736,  1738,  1740,  1742,
        !           600:   1747,  1753,  1755,  1766,  1769,  1771,  1774,  1789,  1792,  1794,
        !           601:   1796,  1800,  1803,  1811,  1812,  1813,  1814,  1818,  1822,  1836,
        !           602:   1854,  1855,  1856,  1859,  1861,  1864,  1866,  1869,  1871,  1874,
        !           603:   1877,  1881,  1898,  1900,  1918,  1924,  1925,  1931,  1939,  1941,
        !           604:   1950,  1958,  1960,  1971,  1974,  1978,  1981,  1985,  1990,  1993,
        !           605:   1997,  2000,  2002,  2004,  2006,  2013,  2015,  2016,  2017,  2021,
        !           606:   2024,  2028,  2030,  2033,  2036,  2039,  2045,  2048,  2051,  2053,
        !           607:   2055,  2057,  2061,  2065,  2069,  2072,  2075,  2079,  2082,  2084,
        !           608:   2088,  2139,  2154,  2156,  2159,  2161,  2165,  2166,  2168,  2170,
        !           609:   2172,  2176,  2185,  2188,  2190,  2192,  2198,  2200,  2203,  2208,
        !           610:   2211,  2214,  2223,  2234,  2239,  2239,  2241,  2244,  2246,  2250,
        !           611:   2252,  2256,  2284,  2315,  2317,  2339,  2363,  2365,  2369,  2395,
        !           612:   2404,  2466,  2469,  2476,  2487,  2496,  2500,  2513,  2516,  2518,
        !           613:   2523,  2525,  2529,  2537,  2541,  2544,  2546,  2557,  2562,  2570,
        !           614:   2573,  2574,  2585,  2588,  2589,  2600,  2602,  2605,  2607,  2610,
        !           615:   2615,  2619,  2625,  2630,  2634,  2638,  2644,  2648,  2651,  2656,
        !           616:   2660,  2663,  2666,  2675,  2677,  2681,  2684,  2689,  2692,  2696,
        !           617:   2705,  2708,  2712,  2715,  2723,  2725,  2730,  2733,  2735,  2737,
        !           618:   2739,  2743,  2746,  2760,  2763,  2768,  2771,  2773,  2775,  2777,
        !           619:   2779,  2781,  2783,  2787,  2793,  2796,  2798,  2800,  2802,  2806,
        !           620:   2809,  2812,  2814,  2816,  2818,  2822,  2825,  2828,  2830,  2832,
        !           621:   2834,  2836,  2838,  2840,  2844,  2850,  2856,  2858,  2862,  2865,
        !           622:   2867,  2871,  2873,  2876,  2878,  2884,  2887,  2901,  2903,  2907,
        !           623:   2909,  2913,  2916,  2922,  2928,  2931,  2933,  2935,  2937,  2941,
        !           624:   2945,  2949,  2952,  2957,  2960,  2962,  2964,  2966,  2968,  2970,
        !           625:   2972,  2974,  2978,  2982,  2986,  2990,  2991,  2993,  2995,  2997,
        !           626:   2999,  3001,  3003,  3005,  3007,  3015,  3017,  3018,  3019,  3022,
        !           627:   3029,  3039,  3041,  3046,  3048,  3051,  3065,  3068,  3071,  3075,
        !           628:   3079,  3083,  3089,  3092,  3096,  3098,  3101,  3107,  3110,  3113,
        !           629:   3116,  3129,  3132,  3137,  3143,  3148,  3151,  3156,  3160,  3163,
        !           630:   3169,  3174,  3177,  3182,  3191,  3195,  3198,  3204,  3214,  3221,
        !           631:   3227,  3252,  3252,  3284,  3284,  3300,  3300,  3304,  3308,  3311,
        !           632:   3316,  3323,  3332,  3341,  3350,  3353,  3359,  3361,  3365,  3367,
        !           633:   3370,  3374,  3377,  3380,  3388,  3392,  3398,  3400,  3402,  3406,
        !           634:   3408,  3411,  3424,  3429,  3437,  3439,  3443,  3446,  3448,  3452,
        !           635:   3455,  3457,  3459,  3465,  3469,  3473,  3476,  3477,  3483,  3485,
        !           636:   3488,  3490,  3494,  3499,  3502,  3512,  3519,  3520,  3527,  3533,
        !           637:   3538,  3542,  3547,  3554,  3558,  3562,  3567,  3578,  3592,  3595,
        !           638:   3597,  3599,  3601,  3605,  3607,  3615,  3632,  3634,  3636,  3638,
        !           639:   3640,  3644,  3647,  3651,  3653,  3656,  3678,  3684,  3691,  3694,
        !           640:   3698,  3703,  3705,  3712,  3715,  3717,  3719,  3725,  3729,  3732,
        !           641:   3734,  3736,  3738,  3740,  3742,  3744,  3746,  3748,  3750,  3752,
        !           642:   3754,  3756,  3758,  3760,  3762,  3764,  3766,  3768,  3770,  3772,
        !           643:   3774,  3776,  3778,  3780,  3782,  3784,  3786,  3788,  3790,  3792,
        !           644:   3794,  3797,  3799
        !           645: };
        !           646: 
        !           647: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
        !           648: "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
        !           649: "ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE",
        !           650: "RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
        !           651: "CLASSOF","SIGOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE",
        !           652: "NEW","OVERLOAD","THIS","OPERATOR","CXX_TRUE","CXX_FALSE","LEFT_RIGHT","TEMPLATE",
        !           653: "TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST","CONST_CAST","SCOPE",
        !           654: "EMPTY","PTYPENAME","'{'","','","';'","ASSIGN","'='","'?'","':'","OROR","ANDAND",
        !           655: "'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT",
        !           656: "RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR","DOT_STAR","UNARY","PLUSPLUS",
        !           657: "MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","'.'","'('","'['",
        !           658: "TRY","CATCH","THROW","TYPENAME_ELLIPSIS","PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING",
        !           659: "ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN",
        !           660: "END_OF_SAVED_INPUT","')'","'}'","'!'","']'","program","extdefs","@1",".hush_warning",
        !           661: ".warning_ok","asm_keyword","lang_extdef","@2","extdef","extern_lang_string",
        !           662: "template_header","@3","template_parm_list","template_type_parm","template_parm",
        !           663: "overloaddef","ov_identifiers","template_def","@4","@5","@6","@7","fn_tmpl_end",
        !           664: "datadef","fndef","fn.def1","fn.def2","return_id","return_init","base_init",
        !           665: ".set_base_init","member_init_list","member_init","identifier","notype_identifier",
        !           666: "identifier_defn","explicit_instantiation","template_type","template_type_name",
        !           667: "tmpl.2","template_arg_list","template_arg","template_instantiate_once","@8",
        !           668: "template_instantiation","template_instantiate_some","unop","expr","paren_expr_or_null",
        !           669: "paren_cond_or_null","xcond","condition","@9","already_scoped_stmt","nontrivial_exprlist",
        !           670: "nonnull_exprlist","unary_expr","@10","new_placement","new_initializer","regcast_or_absdcl",
        !           671: "cast_expr","sub_cast_expr","expr_no_commas","notype_unqualified_id","unqualified_id",
        !           672: "expr_or_declarator","direct_notype_declarator","primary","@11","@12","new",
        !           673: "delete","boolean.literal","string","nodecls","object","decl","declarator","fcast_or_absdcl",
        !           674: "type_id","typed_declspecs","typed_declspecs1","reserved_declspecs","declmods",
        !           675: "typed_typespecs","reserved_typespecquals","typespec","typespecqual_reserved",
        !           676: "initdecls","notype_initdecls","nomods_initdecls","maybeasm","initdcl0","@13",
        !           677: "initdcl","@14","notype_initdcl0","@15","nomods_initdcl0","@16","maybe_attribute",
        !           678: "attributes","attribute","attribute_list","attrib","any_word","identifiers_or_typenames",
        !           679: "init","initlist","structsp","@17","@18","maybecomma","maybecomma_warn","aggr",
        !           680: "specialization","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
        !           681: "do_xref","do_xref_defn","named_class_head","unnamed_class_head","class_head",
        !           682: "maybe_base_class_list","base_class_list","base_class","base_class.1","base_class_access_list",
        !           683: "left_curly","opt.component_decl_list","component_decl_list","component_decl",
        !           684: "component_decl_1","components","notype_components","component_declarator0",
        !           685: "component_declarator","after_type_component_declarator0","notype_component_declarator0",
        !           686: "after_type_component_declarator","notype_component_declarator","enumlist","enumerator",
        !           687: "new_type_id","type_quals","nonempty_type_quals","nonmomentary_expr","@19","after_type_declarator",
        !           688: "qualified_type_name","nested_type","direct_after_type_declarator","notype_declarator",
        !           689: "complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
        !           690: "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
        !           691: "nested_name_specifier_1","complete_type_name","complex_type_name","ptr_to_mem",
        !           692: "global_scope","new_declarator","direct_new_declarator","absdcl","direct_abstract_declarator",
        !           693: "stmts","errstmt",".pushlevel","maybe_label_decls","label_decls","label_decl",
        !           694: "compstmt_or_error","compstmt","simple_if","@20","@21","implicitly_scoped_stmt",
        !           695: "stmt","simple_stmt","@22","@23","@24","@25","@26","@27","@28","@29","@30","@31",
        !           696: "@32","@33","@34","@35","@36","try_block","@37","@38","ansi_try_stmts","handler_seq",
        !           697: "@39","type_specifier_seq","handler_args","label_colon","forhead.1","forhead.2",
        !           698: "maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands","asm_operand",
        !           699: "asm_clobbers","parmlist","complex_parmlist","parms","parms_comma","named_parm",
        !           700: "full_parm","parm","see_typename","bad_parm","maybe_raises","ansi_raise_identifier",
        !           701: "ansi_raise_identifiers","conversion_declarator","operator","operator_name",
        !           702: ""
        !           703: };
        !           704: #endif
        !           705: 
        !           706: static const short yyr1[] = {     0,
        !           707:    106,   106,   108,   107,   107,   109,   110,   111,   111,   113,
        !           708:    112,   114,   114,   114,   114,   114,   114,   114,   114,   114,
        !           709:    115,   117,   116,   118,   118,   119,   119,   120,   120,   120,
        !           710:    121,   122,   122,   124,   123,   125,   123,   126,   123,   127,
        !           711:    123,   123,   123,   123,   123,   123,   123,   123,   128,   128,
        !           712:    128,   128,   128,   129,   129,   129,   129,   129,   129,   129,
        !           713:    129,   129,   129,   129,   130,   130,   130,   130,   130,   130,
        !           714:    130,   130,   131,   131,   131,   131,   132,   132,   132,   132,
        !           715:    132,   133,   134,   134,   134,   134,   135,   136,   137,   137,
        !           716:    137,   137,   138,   138,   138,   138,   138,   138,   138,   138,
        !           717:    139,   139,   139,   140,   140,   141,   141,   141,   142,   142,
        !           718:    142,   142,   143,   144,   144,   144,   145,   146,   146,   147,
        !           719:    147,   149,   148,   150,   150,   151,   151,   152,   152,   152,
        !           720:    152,   152,   153,   153,   154,   154,   155,   155,   156,   156,
        !           721:    156,   158,   157,   157,   159,   159,   159,   159,   160,   160,
        !           722:    160,   160,   161,   161,   162,   163,   162,   162,   162,   162,
        !           723:    162,   162,   162,   162,   162,   162,   162,   162,   162,   162,
        !           724:    162,   162,   162,   162,   162,   162,   162,   164,   164,   165,
        !           725:    165,   165,   165,   166,   166,   167,   167,   167,   168,   168,
        !           726:    168,   168,   169,   169,   169,   169,   169,   169,   169,   169,
        !           727:    169,   169,   169,   169,   169,   169,   169,   169,   169,   169,
        !           728:    169,   169,   169,   169,   169,   169,   169,   170,   170,   170,
        !           729:    170,   171,   171,   172,   172,   172,   172,   173,   173,   173,
        !           730:    174,   174,   174,   174,   174,   174,   175,   174,   176,   174,
        !           731:    174,   174,   174,   174,   174,   174,   174,   174,   174,   174,
        !           732:    174,   174,   174,   174,   174,   174,   174,   174,   174,   174,
        !           733:    174,   174,   174,   174,   174,   174,   177,   177,   178,   178,
        !           734:    179,   179,   180,   180,   181,   182,   182,   183,   183,   183,
        !           735:    183,   183,   183,   183,   184,   184,   185,   185,   186,   186,
        !           736:    186,   186,   186,   187,   187,   188,   188,   188,   188,   188,
        !           737:    189,   189,   189,   190,   190,   190,   190,   191,   191,   191,
        !           738:    191,   192,   192,   193,   193,   193,   193,   193,   193,   193,
        !           739:    194,   194,   194,   195,   195,   196,   196,   197,   197,   198,
        !           740:    198,   200,   199,   199,   202,   201,   201,   204,   203,   203,
        !           741:    206,   205,   205,   207,   207,   208,   208,   209,   210,   210,
        !           742:    211,   211,   211,   211,   211,   212,   212,   212,   212,   213,
        !           743:    213,   214,   214,   214,   214,   214,   215,   215,   215,   215,
        !           744:    215,   215,   217,   216,   216,   218,   216,   216,   216,   216,
        !           745:    216,   216,   219,   219,   220,   220,   221,   221,   221,   221,
        !           746:    221,   222,   223,   223,   223,   223,   223,   223,   224,   225,
        !           747:    226,   227,   227,   228,   229,   229,   230,   230,   230,   231,
        !           748:    231,   232,   232,   233,   233,   233,   234,   234,   234,   234,
        !           749:    235,   236,   236,   236,   236,   237,   237,   237,   238,   238,
        !           750:    238,   238,   239,   239,   239,   239,   239,   239,   239,   240,
        !           751:    240,   240,   241,   241,   241,   242,   242,   243,   243,   244,
        !           752:    244,   244,   245,   245,   245,   245,   246,   246,   246,   247,
        !           753:    247,   247,   247,   248,   248,   249,   249,   250,   250,   250,
        !           754:    251,   251,   252,   252,   254,   253,   255,   255,   255,   255,
        !           755:    255,   255,   256,   256,   257,   258,   258,   258,   258,   258,
        !           756:    258,   258,   258,   258,   259,   259,   259,   259,   259,   259,
        !           757:    260,   260,   260,   260,   260,   260,   261,   261,   261,   261,
        !           758:    261,   261,   261,   261,   262,   263,   264,   264,   265,   265,
        !           759:    265,   266,   266,   267,   267,   268,   268,   269,   269,   270,
        !           760:    270,   271,   271,   272,   273,   273,   273,   273,   273,   273,
        !           761:    273,   274,   274,   275,   275,   275,   275,   275,   275,   275,
        !           762:    275,   275,   275,   275,   276,   276,   276,   276,   276,   276,
        !           763:    276,   276,   276,   276,   276,   277,   277,   277,   277,   278,
        !           764:    279,   280,   280,   281,   281,   282,   283,   283,   284,   284,
        !           765:    284,   284,   286,   287,   285,   288,   288,   289,   289,   290,
        !           766:    290,   291,   290,   290,   292,   293,   290,   294,   295,   290,
        !           767:    296,   297,   298,   290,   299,   300,   301,   290,   302,   290,
        !           768:    303,   290,   304,   290,   305,   290,   290,   290,   290,   290,
        !           769:    290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
        !           770:    307,   308,   306,   309,   309,   309,   310,   311,   310,   312,
        !           771:    312,   313,   313,   314,   314,   314,   315,   315,   315,   316,
        !           772:    316,   316,   316,   317,   317,   318,   318,   318,   319,   319,
        !           773:    320,   320,   321,   322,   322,   323,   323,   323,   324,   324,
        !           774:    324,   324,   324,   324,   324,   324,   324,   324,   325,   325,
        !           775:    325,   325,   325,   326,   326,   327,   327,   327,   327,   327,
        !           776:    327,   328,   328,   329,   329,   330,   331,   331,   332,   332,
        !           777:    333,   334,   334,   335,   335,   335,   335,   336,   337,   337,
        !           778:    337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
        !           779:    337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
        !           780:    337,   337,   337,   337,   337,   337,   337,   337,   337,   337,
        !           781:    337,   337,   337
        !           782: };
        !           783: 
        !           784: static const short yyr2[] = {     0,
        !           785:      0,     1,     0,     2,     2,     0,     0,     1,     1,     0,
        !           786:      2,     1,     1,     1,     1,     5,     4,     3,     4,     4,
        !           787:      1,     0,     5,     1,     3,     1,     2,     1,     3,     1,
        !           788:      3,     1,     3,     0,     5,     0,     5,     0,     5,     0,
        !           789:      5,     3,     3,     6,     7,     4,     3,     3,     1,     1,
        !           790:      1,     1,     1,     2,     3,     3,     3,     3,     2,     2,
        !           791:      2,     2,     2,     1,     3,     4,     3,     5,     4,     3,
        !           792:      3,     2,     3,     3,     2,     1,     6,     4,     3,     3,
        !           793:      2,     2,     1,     3,     4,     2,     3,     0,     0,     1,
        !           794:      3,     2,     3,     1,     4,     2,     4,     2,     4,     2,
        !           795:      1,     1,     1,     1,     1,     1,     1,     1,     3,     3,
        !           796:      4,     4,     3,     4,     3,     4,     0,     1,     3,     1,
        !           797:      1,     0,     6,     0,     1,     0,     2,     1,     1,     1,
        !           798:      1,     1,     1,     1,     1,     3,     1,     3,     0,     1,
        !           799:      1,     0,     8,     1,     2,     4,     4,     1,     3,     3,
        !           800:      3,     3,     1,     1,     1,     0,     3,     2,     2,     2,
        !           801:      2,     2,     2,     4,     2,     4,     2,     3,     3,     4,
        !           802:      4,     5,     5,     6,     2,     4,     5,     3,     3,     3,
        !           803:      1,     3,     2,     3,     4,     1,     2,     5,     1,     4,
        !           804:      4,     4,     1,     3,     3,     3,     3,     3,     3,     3,
        !           805:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
        !           806:      3,     3,     5,     3,     3,     1,     2,     3,     1,     1,
        !           807:      1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
        !           808:      1,     1,     1,     1,     3,     3,     0,     4,     0,     6,
        !           809:      2,     4,     2,     2,     1,     4,     1,     7,     7,     7,
        !           810:      7,     4,     4,     2,     2,     1,     4,     2,     2,     2,
        !           811:      5,     3,     5,     3,     4,     6,     1,     2,     1,     2,
        !           812:      1,     1,     1,     2,     0,     2,     2,     3,     3,     3,
        !           813:      3,     3,     2,     2,     1,     1,     1,     2,     2,     2,
        !           814:      2,     1,     1,     1,     1,     2,     2,     3,     3,     4,
        !           815:      1,     2,     2,     1,     1,     2,     2,     1,     2,     2,
        !           816:      3,     1,     2,     1,     1,     1,     4,     4,     4,     4,
        !           817:      1,     1,     1,     1,     3,     1,     3,     1,     3,     0,
        !           818:      4,     0,     7,     4,     0,     7,     4,     0,     7,     4,
        !           819:      0,     7,     4,     0,     1,     1,     2,     6,     1,     3,
        !           820:      0,     1,     4,     6,     4,     1,     1,     1,     1,     1,
        !           821:      3,     1,     2,     3,     4,     1,     1,     3,     4,     6,
        !           822:      3,     5,     0,     7,     4,     0,     6,     3,     2,     2,
        !           823:      4,     1,     0,     1,     0,     1,     1,     2,     2,     2,
        !           824:      2,     3,     2,     2,     2,     3,     3,     1,     2,     0,
        !           825:      0,     3,     3,     2,     1,     1,     0,     1,     2,     1,
        !           826:      3,     1,     2,     1,     4,     4,     1,     1,     2,     2,
        !           827:      1,     0,     1,     4,     3,     1,     2,     2,     2,     2,
        !           828:      2,     2,     2,     2,     4,     2,     1,     5,     3,     0,
        !           829:      1,     3,     0,     1,     3,     1,     1,     1,     1,     4,
        !           830:      6,     4,     4,     6,     4,     3,     4,     6,     4,     4,
        !           831:      6,     4,     3,     1,     3,     1,     3,     2,     1,     6,
        !           832:      0,     2,     1,     2,     0,     2,     3,     3,     2,     2,
        !           833:      3,     1,     1,     1,     2,     5,     5,     3,     5,     4,
        !           834:      3,     3,     2,     1,     3,     3,     2,     2,     3,     1,
        !           835:      3,     3,     2,     2,     3,     1,     5,     5,     3,     5,
        !           836:      3,     3,     4,     3,     2,     2,     1,     2,     4,     4,
        !           837:      2,     1,     1,     1,     2,     2,     2,     1,     2,     1,
        !           838:      2,     2,     3,     1,     3,     2,     3,     2,     2,     3,
        !           839:      1,     3,     4,     3,     2,     2,     1,     3,     2,     2,
        !           840:      1,     2,     3,     1,     3,     1,     5,     3,     4,     3,
        !           841:      4,     2,     2,     3,     2,     1,     1,     2,     2,     2,
        !           842:      0,     0,     1,     1,     2,     3,     1,     2,     3,     5,
        !           843:      6,     5,     0,     0,     6,     1,     2,     1,     1,     1,
        !           844:      2,     0,     4,     1,     0,     0,     6,     0,     0,     7,
        !           845:      0,     0,     0,    10,     0,     0,     0,    10,     0,     7,
        !           846:      0,     5,     0,     7,     0,     4,     2,     2,     2,     3,
        !           847:      6,     8,    10,    12,     4,     3,     2,     2,     1,     1,
        !           848:      0,     0,     7,     1,     2,     2,     0,     0,     5,     1,
        !           849:      1,     3,     3,     2,     2,     2,     3,     4,     4,     3,
        !           850:      4,     6,     6,     0,     1,     0,     1,     1,     0,     1,
        !           851:      1,     3,     4,     1,     3,     0,     1,     1,     1,     2,
        !           852:      2,     2,     1,     1,     2,     2,     2,     2,     1,     3,
        !           853:      2,     2,     4,     2,     2,     2,     2,     2,     2,     1,
        !           854:      2,     1,     3,     1,     1,     0,     0,     1,     0,     4,
        !           855:      1,     1,     3,     0,     3,     3,     3,     1,     2,     2,
        !           856:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           857:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           858:      2,     3,     2,     2,     2,     2,     3,     2,     2,     4,
        !           859:      4,     3,     2
        !           860: };
        !           861: 
        !           862: static const short yydefact[] = {     3,
        !           863:     10,    10,     5,     0,     4,     0,   220,   522,   305,   315,
        !           864:    473,     0,     8,     9,     0,     0,   387,     0,   708,     0,
        !           865:    534,   221,    64,     0,     0,   696,     0,    76,    21,     0,
        !           866:     11,     6,     0,    15,    14,    13,    12,   275,     0,   523,
        !           867:    117,   229,   500,     0,   295,     0,   294,   308,     0,   328,
        !           868:    314,     0,   398,   400,   401,   406,   405,   382,   304,   528,
        !           869:    484,     0,   228,   230,   483,     0,   524,   316,   471,     0,
        !           870:      0,   219,    62,    63,   526,     0,     0,   101,   102,   103,
        !           871:    376,   379,     0,   530,     0,   380,     0,     0,     0,    32,
        !           872:      0,   305,     0,    22,     0,     0,   398,     0,     0,     0,
        !           873:      0,   498,     0,     0,     0,   497,     0,     0,     0,   229,
        !           874:      0,     0,     0,   228,   230,   471,     0,     3,     0,     0,
        !           875:      0,     0,   400,   401,   699,     0,    88,    83,   275,     0,
        !           876:      0,    60,   527,   124,   471,     0,   475,    61,     0,     0,
        !           877:      0,     0,     0,   324,   285,   482,   286,   494,     0,   471,
        !           878:    307,   306,    59,   296,     0,   326,     0,   301,   321,   322,
        !           879:    297,   310,   312,   323,     0,    54,   388,   389,   390,   391,
        !           880:    404,   107,   106,   108,   393,   399,   395,   117,   394,   407,
        !           881:    407,   421,     0,   474,   309,    72,     0,    75,   532,   516,
        !           882:    485,   525,     0,   529,     0,   743,   739,   738,   736,   718,
        !           883:    723,   724,     0,   730,   729,   715,   716,   714,   733,   722,
        !           884:    719,   720,   721,   725,   726,   712,   713,   709,   710,   711,
        !           885:    735,   727,   728,   717,   734,     0,   731,   640,   308,   641,
        !           886:    704,   473,   232,   273,     0,     0,     0,     0,   156,   269,
        !           887:    267,   245,   271,   272,     0,     0,     0,     0,     0,     0,
        !           888:      0,   129,   128,     0,   130,   131,     0,     0,   216,   132,
        !           889:      0,   118,     0,   189,     0,   193,   186,   121,   231,   155,
        !           890:      0,     0,   233,   234,     0,   120,   292,   308,   293,   517,
        !           891:    256,   247,     0,     0,     0,   398,   378,     0,   373,   531,
        !           892:      0,   133,   134,     0,     0,     0,     0,    31,     0,   110,
        !           893:    407,   125,   109,   115,     0,   496,     0,   495,   102,   103,
        !           894:    218,   227,     0,   504,   226,     0,   503,   511,   512,     0,
        !           895:      0,    18,    10,     0,     7,     7,    48,    47,   699,     0,
        !           896:     34,    42,    38,    36,    43,    40,   330,    82,    89,    86,
        !           897:      0,     0,   275,     0,     0,     0,   571,    65,   577,    67,
        !           898:    113,   509,     0,   673,   674,   154,     0,   153,   668,   690,
        !           899:      0,   292,   308,   293,     0,   667,   669,   697,   679,     0,
        !           900:    514,     0,     0,     0,   480,     0,   479,     0,     0,     0,
        !           901:    471,    70,    58,    73,     0,    57,   471,     0,   475,   493,
        !           902:      0,   298,   299,     0,    55,    71,    56,    74,   303,   302,
        !           903:    313,   699,   329,   396,   392,   397,   408,   402,   403,   437,
        !           904:      0,     0,   440,   443,     0,     0,   426,     0,   699,   311,
        !           905:      0,     0,   344,   472,   499,   533,     0,     0,   732,   737,
        !           906:    471,   471,     0,   471,   742,     0,     0,     0,   163,     0,
        !           907:      0,   165,     0,     0,     0,     0,     0,     0,     0,     0,
        !           908:    162,   159,   158,   160,     0,     0,     0,     0,   217,     0,
        !           909:    116,   161,     0,     0,   187,     0,     0,     0,     0,     0,
        !           910:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !           911:      0,     0,     0,     0,     0,     0,     0,   241,   243,   244,
        !           912:    277,   276,     0,     0,     0,     0,     0,   167,   469,     0,
        !           913:    175,   274,   223,     0,   696,   222,   259,   260,     0,   287,
        !           914:    551,   547,   556,     0,   475,   471,   471,   471,   289,   554,
        !           915:      0,   521,   291,     0,   290,   258,     0,   254,   268,   270,
        !           916:    518,     0,   255,   112,   111,   466,   385,   464,   375,     0,
        !           917:    317,     0,     0,   318,   319,   320,    33,     0,    28,    24,
        !           918:    695,   308,    26,   694,    30,   692,   122,   114,   502,   501,
        !           919:    505,     0,    17,    20,    19,   330,    53,    49,    51,    52,
        !           920:     50,    46,     0,     0,     0,     0,   344,   104,    94,   105,
        !           921:      0,    87,    90,     0,     0,     0,   366,     0,   362,    84,
        !           922:      0,     0,    66,    69,   578,   572,   471,   471,   672,   685,
        !           923:    678,   676,   551,   547,     0,   686,   471,   689,   691,   687,
        !           924:      0,   688,   471,   671,   684,   677,   675,   670,   698,   681,
        !           925:    682,     0,   513,   476,   478,   477,     0,     0,   492,     0,
        !           926:    344,   325,   488,     0,     0,     0,   491,     0,   481,   300,
        !           927:    327,   344,   330,   418,     0,   417,   409,   410,   412,     0,
        !           928:    414,   436,   432,   431,   220,   522,   471,     0,   666,   699,
        !           929:    433,   441,   446,   447,   699,   699,   434,   444,   699,     0,
        !           930:    381,   428,   427,   429,   430,   330,   701,   308,   702,     0,
        !           931:      0,     0,   343,   345,   346,   741,   740,   704,   704,   704,
        !           932:      0,     0,     0,   521,     0,     0,   522,     0,   157,     0,
        !           933:      0,     0,     0,     0,     0,   236,   235,     0,   184,   119,
        !           934:    220,   522,   221,     0,     0,   367,   383,     0,   215,   214,
        !           935:    658,   657,     0,   212,   211,   209,   210,   208,   207,   206,
        !           936:    203,   204,   205,   201,   202,   196,   197,   198,   199,   200,
        !           937:    194,   195,     0,     0,     0,     0,     0,     0,   169,   181,
        !           938:      0,     0,   168,   471,   471,     0,   471,   468,   541,     0,
        !           939:      0,     0,     0,   262,     0,   264,     0,   515,   550,   549,
        !           940:    546,   545,   695,     0,     0,   565,     0,     0,   562,   288,
        !           941:    563,   552,   471,   666,   475,   551,   547,     0,     0,   471,
        !           942:    231,     0,   517,     0,     0,     0,   386,     0,   385,   152,
        !           943:    151,   150,   149,     0,    23,     0,   393,     0,     0,    16,
        !           944:    344,    35,    39,    37,    41,     0,     0,    92,     0,    96,
        !           945:      0,   100,     0,    98,     0,   363,     0,    85,    68,     0,
        !           946:    579,     0,   573,   574,   510,   507,   550,   546,   551,   547,
        !           947:    483,     0,   471,   552,   551,   547,     0,   231,     0,   517,
        !           948:    508,     0,   680,   334,   471,   471,   471,   490,   340,   344,
        !           949:      0,     0,   420,   419,   413,     0,     0,   439,   344,     0,
        !           950:     79,     0,   330,   330,     0,   330,     0,   344,     0,   700,
        !           951:      0,     0,   341,   347,   706,   705,   707,   246,   164,     0,
        !           952:      0,   166,   190,   192,   191,   252,   253,     0,     0,     0,
        !           953:      0,   238,     0,     0,     0,     0,   185,     0,   239,   242,
        !           954:    179,   178,   171,     0,   170,   183,     0,     0,   538,   536,
        !           955:      0,   539,   475,   176,     0,     0,   265,     0,     0,   548,
        !           956:    544,   555,   471,   564,   553,   558,     0,   560,     0,   551,
        !           957:    547,   519,   520,     0,   257,   467,   465,   377,     0,    25,
        !           958:     29,   693,     0,     0,    44,    93,    91,     0,     0,     0,
        !           959:      0,   364,   360,     0,     0,   220,   522,   583,   595,   598,
        !           960:      0,   571,     0,     0,     0,     0,     0,     0,   221,   629,
        !           961:      0,   654,     0,   590,     0,     0,   308,     0,   567,   588,
        !           962:    594,   566,   589,   630,     0,   601,   605,   575,   550,   546,
        !           963:    485,   552,   520,   683,   332,   489,   486,   487,   338,   337,
        !           964:      0,     0,   411,   344,   344,    78,   456,   471,   220,   522,
        !           965:      0,   442,   448,   449,   699,   699,   344,   344,   445,     0,
        !           966:    435,   703,   331,   351,     0,     0,     0,     0,     0,     0,
        !           967:    371,     0,     0,   368,   188,   213,   126,     0,   172,   173,
        !           968:    180,   182,   537,   535,   542,   540,     0,   177,     0,   261,
        !           969:    263,   561,   471,   559,   374,     0,    45,    95,    99,    97,
        !           970:    365,     0,   576,   570,   582,   644,   646,   571,   571,   571,
        !           971:      0,     0,     0,   615,   617,   618,   619,     0,     0,     0,
        !           972:    645,   571,   655,     0,   591,   283,   699,     0,   284,     0,
        !           973:    699,     0,   699,     0,     0,   580,   569,   568,   592,   628,
        !           974:    627,   571,   571,     0,     0,   335,   415,   416,   455,   452,
        !           975:    438,     0,     0,   344,   330,   330,   450,   453,   357,   358,
        !           976:    359,   356,     0,   349,   352,   342,     0,     0,     0,     0,
        !           977:    369,     0,     0,   126,   240,     0,   174,   543,   266,   557,
        !           978:    123,   361,     0,     0,     0,   586,     0,     0,   571,   647,
        !           979:      0,   650,     0,     0,   611,     0,   620,     0,   626,   631,
        !           980:      0,   279,   330,   281,   282,   330,     0,     0,     0,   278,
        !           981:    280,   581,   571,     0,     0,   333,   339,     0,    77,   344,
        !           982:    344,   463,   344,   344,     0,     0,   351,     0,     0,   248,
        !           983:    249,   250,   251,     0,   372,   127,   470,   137,     0,   584,
        !           984:    596,   587,   599,   651,   649,     0,   648,   144,     0,   308,
        !           985:      0,     0,     0,   616,   625,     0,     0,   593,   141,     0,
        !           986:    140,     0,   336,   462,   459,   457,   460,   451,   454,   350,
        !           987:    348,   220,     0,   370,     0,   571,     0,     0,     0,     0,
        !           988:    609,   699,   613,   612,     0,   634,     0,   632,   659,     0,
        !           989:    602,   606,     0,     0,     0,   353,   355,   138,   585,   572,
        !           990:    597,   148,   135,     0,     0,   653,     0,   652,   571,   330,
        !           991:      0,   636,   635,   637,     0,     0,   660,   661,   621,     0,
        !           992:      0,   458,   461,     0,   145,     0,     0,   600,   610,   344,
        !           993:    614,   633,     0,   659,     0,     0,     0,     0,   354,     0,
        !           994:      0,   136,     0,   638,     0,     0,   622,   662,   603,   607,
        !           995:    147,   146,   142,     0,   663,     0,     0,     0,     0,     0,
        !           996:      0,     0,   664,     0,   623,   604,   608,   143,     0,     0,
        !           997:    639,     0,     0,   642,   643,   665,   624,     0,     0,     0
        !           998: };
        !           999: 
        !          1000: static const short yydefgoto[] = {  1348,
        !          1001:      1,     2,   119,   564,   982,     3,     4,    31,    32,    33,
        !          1002:    299,   548,   549,   550,    34,    91,    35,   573,   575,   574,
        !          1003:    576,   572,    36,    37,    38,   412,   128,   129,   130,   339,
        !          1004:    582,   583,   536,   584,   176,    39,    40,    41,   134,   261,
        !          1005:    262,   302,   809,   303,  1145,   263,   983,  1275,  1210,  1230,
        !          1006:   1231,  1330,  1271,   292,   789,   264,   445,   497,   753,   265,
        !          1007:    266,   267,   293,   269,   507,   312,    43,   270,   457,  1047,
        !          1008:    271,   272,   273,   274,   131,   275,   984,   402,   517,   773,
        !          1009:    985,    45,   161,   986,    47,   162,   440,   163,   143,   155,
        !          1010:     49,   631,   144,  1114,   403,  1188,   156,  1115,    50,  1035,
        !          1011:    683,   684,   685,  1133,  1134,  1135,   964,   716,   717,    51,
        !          1012:    540,   288,   906,   798,    52,    53,    54,    55,   180,   181,
        !          1013:     56,    57,    58,   408,   647,   648,   649,   650,   183,   415,
        !          1014:    416,   417,   418,   661,   667,   662,  1022,   663,   664,  1023,
        !          1015:   1024,   537,   538,   498,   779,    59,   372,   373,   145,    60,
        !          1016:     61,   146,   147,   113,    63,   508,   280,   281,   282,    65,
        !          1017:    283,    67,    68,   179,    69,   284,   758,   759,   770,   520,
        !          1018:    988,   989,  1155,   832,   833,   834,   348,   990,   991,  1078,
        !          1019:   1246,  1157,   992,   993,  1183,  1079,  1247,  1080,  1248,  1112,
        !          1020:   1290,  1328,  1113,  1291,  1329,  1279,  1223,  1281,  1166,   994,
        !          1021:   1226,  1284,  1258,  1302,  1324,  1221,  1332,   995,   996,   997,
        !          1022:   1094,   723,  1286,  1287,  1288,  1334,   365,   775,   367,   368,
        !          1023:    369,   555,   370,   107,   621,  1173,   679,   680,   435,    71,
        !          1024:     72
        !          1025: };
        !          1026: 
        !          1027: static const short yypact[] = {   203,
        !          1028:    236,-32768,-32768,  1874,-32768,    85,-32768,    55,   300,-32768,
        !          1029: -32768,   590,-32768,-32768,   -23,   252,-32768,   365,-32768,  1493,
        !          1030: -32768,   355,-32768,   963,   963,-32768,  2214,-32768,-32768,   349,
        !          1031: -32768,   429,  3939,-32768,-32768,-32768,-32768,   279,   435,   443,
        !          1032: -32768,-32768,   396,  1052,-32768,  9215,-32768,   704,    30,-32768,
        !          1033: -32768,   698,-32768,-32768,-32768,-32768,-32768,   488,  1610,-32768,
        !          1034: -32768,   410,-32768,-32768,-32768,   397,-32768,-32768,-32768,    89,
        !          1035:   6309,-32768,-32768,-32768,-32768,  8124,  2133,-32768,    55,   355,
        !          1036:    461,   515,   443,-32768,    89,-32768,    89,  8124,  8124,-32768,
        !          1037:    363,-32768,   355,-32768,  3239,  4205,   230,    89,  7950,    55,
        !          1038:   2347,-32768,   484,   103,  2347,-32768,    92,  2356,  2356,   479,
        !          1039:    501,   396,   514,   519,   540,-32768,   629,   555,  2912,   144,
        !          1040:   3239,  9396,   593,   706,   572,   666,-32768,   149,   306,    57,
        !          1041:     57,-32768,-32768,   575,-32768,  4662,   589,-32768,  3833,  3833,
        !          1042:   3542,  1266,   393,-32768,-32768,   408,-32768,-32768,   397,-32768,
        !          1043: -32768,-32768,-32768,   704,   536,-32768,  1285,-32768,-32768,-32768,
        !          1044:    907,   654,-32768,-32768,  3239,-32768,-32768,-32768,-32768,-32768,
        !          1045: -32768,-32768,-32768,-32768,-32768,-32768,   443,   719,-32768,   617,
        !          1046:    617,-32768,  2447,-32768,   654,-32768,   608,   875,-32768,-32768,
        !          1047: -32768,-32768,  4014,-32768,    56,-32768,   609,   647,-32768,-32768,
        !          1048: -32768,-32768,   683,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1049: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1050: -32768,-32768,-32768,-32768,-32768,   601,-32768,-32768,   654,  1610,
        !          1051:    351,   657,-32768,-32768,  3117,  9065,   660,   662,-32768,-32768,
        !          1052: -32768,-32768,-32768,-32768,   665,   690,   692,   699,   703,    92,
        !          1053:   8816,-32768,-32768,  8816,-32768,-32768,  8816,  6393,  9148,-32768,
        !          1054:     29,-32768,  8816,-32768,  8211,-32768,-32768,  9444,-32768,  1334,
        !          1055:   2712,  8294,-32768,   767,   557,-32768,   160,  2819,  9439,-32768,
        !          1056:    266,-32768,   579,   809,  3239,   230,-32768,    92,   685,-32768,
        !          1057:    684,   738,  9497,   693,   697,   701,   808,-32768,  2133,-32768,
        !          1058:    617,-32768,-32768,-32768,   154,-32768,   139,-32768,-32768,-32768,
        !          1059: -32768,-32768,  2347,-32768,-32768,  2347,-32768,-32768,-32768,  4014,
        !          1060:     50,-32768,   711,  2133,-32768,-32768,-32768,-32768,   572,   766,
        !          1061: -32768,-32768,-32768,-32768,-32768,-32768,   656,-32768,   254,-32768,
        !          1062:   6483,  8381,-32768,    57,    57,   765,-32768,-32768,-32768,-32768,
        !          1063: -32768,   818,   730,-32768,-32768,   738,   735,  9497,   328,  1775,
        !          1064:   9396,  1775,  4904,  4548,   737,-32768,    72,  9289,   763,   787,
        !          1065: -32768,   746,  8381,  4250,-32768,  4250,-32768,  4314,  4314,   753,
        !          1066: -32768,-32768,-32768,   875,  3239,-32768,-32768,  5854,   752,-32768,
        !          1067:   4433,   907,   704,  3239,-32768,-32768,-32768,   875,-32768,-32768,
        !          1068: -32768,   572,-32768,-32768,-32768,-32768,  1191,-32768,-32768,-32768,
        !          1069:   8381,   156,  1389,  9306,    54,  2311,-32768,   167,   572,   654,
        !          1070:   2569,   771,   831,-32768,-32768,-32768,   773,   777,-32768,-32768,
        !          1071: -32768,-32768,   169,-32768,-32768,  8381,   657,  6393,-32768,   381,
        !          1072:   6393,-32768,  8381,  8468,  8816,  8124,  2569,  2569,  2569,  2569,
        !          1073: -32768,-32768,-32768,-32768,   782,   784,   765,   793,-32768,  8124,
        !          1074: -32768,-32768,  3487,  6393,-32768,  8381,  8381,  3006,  8381,  8381,
        !          1075:   8381,  8381,  8381,  8381,  8381,  8381,  8381,  8381,  8381,  8381,
        !          1076:   8381,  8381,  8381,  8381,  8381,  8381,  8381,-32768,-32768,-32768,
        !          1077: -32768,-32768,  8381,  8381,  8381,  8124,  3398,   497,   109,  7032,
        !          1078: -32768,-32768,    55,   848,   896,-32768,   387,   415,   592,-32768,
        !          1079:    388,   388,-32768,  3838,   798,   817,   864,-32768,-32768,   412,
        !          1080:   7507,  1099,-32768,   251,-32768,-32768,  8381,-32768,-32768,-32768,
        !          1081: -32768,   597,-32768,-32768,-32768,   851,   855,-32768,-32768,    92,
        !          1082: -32768,  6855,  6945,-32768,-32768,-32768,-32768,   419,   859,-32768,
        !          1083: -32768,  9200,   698,-32768,-32768,   862,-32768,-32768,-32768,-32768,
        !          1084: -32768,   865,-32768,-32768,-32768,   656,-32768,-32768,-32768,-32768,
        !          1085: -32768,-32768,   866,   868,   869,   870,   831,-32768,-32768,   355,
        !          1086:   8381,   877,-32768,   434,   438,   462,-32768,  5956,  9590,-32768,
        !          1087:    836,    57,-32768,-32768,-32768,    20,-32768,-32768,-32768,-32768,
        !          1088: -32768,-32768,  1506,  1506,  3333,-32768,-32768,-32768,-32768,-32768,
        !          1089:   7598,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1090:    887,  6483,-32768,-32768,-32768,-32768,  4250,  4250,-32768,  4433,
        !          1091:    831,-32768,   818,   849,   856,   861,-32768,   863,-32768,   907,
        !          1092: -32768,   831,   656,-32768,   881,-32768,   899,-32768,-32768,  1243,
        !          1093: -32768,  9590,-32768,-32768,   912,   146,-32768,  8381,  2808,   572,
        !          1094:    921,-32768,-32768,-32768,   368,   407,   922,-32768,   572,   920,
        !          1095: -32768,-32768,-32768,-32768,-32768,   551,-32768,  4154,-32768,   187,
        !          1096:    629,   897,   926,   831,-32768,-32768,-32768,   505,   505,   505,
        !          1097:    885,   886,  8555,   864,   895,   900,   248,   901,-32768,   906,
        !          1098:    909,   919,   942,   943,   945,-32768,-32768,   918,-32768,-32768,
        !          1099:    962,   553,   136,  8381,   969,-32768,   968,   928,  9590,  9590,
        !          1100: -32768,-32768,   973,  9629,  4583,  9645,  9660,  5903,  6801,  3406,
        !          1101:   1324,  1324,  1324,  1664,  1664,   814,   814,   640,   640,   640,
        !          1102: -32768,-32768,   932,   934,   940,   935,   946,  2569,   497,-32768,
        !          1103:   6483,  8381,-32768,-32768,-32768,  8381,-32768,-32768,   955,  8816,
        !          1104:    944,   964,  1008,-32768,  8381,-32768,  8381,-32768,   890,-32768,
        !          1105:    890,-32768,    65,   951,   952,-32768,   953,  2569,   818,-32768,
        !          1106:    818,  2046,-32768,  1065,   957,  7689,  7689,  4811,   966,  8211,
        !          1107:    479,   972,   540,   809,   974,  8381,    92,   961,   855,-32768,
        !          1108:   9590,-32768,  9590,  2133,-32768,   664,   520,  6483,   488,-32768,
        !          1109:    831,-32768,-32768,-32768,-32768,   766,   978,-32768,   254,-32768,
        !          1110:   8381,-32768,  8381,-32768,  8381,-32768,     9,-32768,-32768,    92,
        !          1111: -32768,  5584,  1032,-32768,   818,   818,  2757,  2757,  3282,  3282,
        !          1112: -32768,   397,-32768,  3954,  7776,  7776,  5016,   174,   979,   244,
        !          1113:    818,  6483,-32768,  1030,-32768,-32768,-32768,-32768,  1037,   831,
        !          1114:   8124,  1191,-32768,-32768,-32768,  8381,  8381,    74,  9521,   995,
        !          1115: -32768,  2416,   656,   656,  3185,   603,  3228,   831,  2569,-32768,
        !          1116:     52,  1011,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  8899,
        !          1117:   8899,-32768,-32768,-32768,-32768,-32768,-32768,  1013,  1014,  1019,
        !          1118:   1022,-32768,  9472,  6483,  6046,  1009,-32768,  8381,-32768,-32768,
        !          1119: -32768,-32768,   143,  1012,-32768,-32768,  1017,    75,   278,   278,
        !          1120:   1006,   278,-32768,-32768,  8816,  1107,-32768,  1018,  1020,-32768,
        !          1121: -32768,-32768,-32768,-32768,-32768,   818,  1023,-32768,  1010,  7863,
        !          1122:   7863,-32768,-32768,   584,-32768,  9590,-32768,-32768,  1021,-32768,
        !          1123: -32768,-32768,  2447,   766,-32768,-32768,-32768,  1024,  1026,  1036,
        !          1124:   6136,-32768,-32768,   668,   231,  1061,   567,-32768,-32768,-32768,
        !          1125:   1046,-32768,  8381,  1079,  1085,  1088,  8037,    73,   476,-32768,
        !          1126:   1093,  1139,  1094,-32768,  1971,  9379,  2582,  3725,-32768,-32768,
        !          1127:   1135,-32768,-32768,-32768,  7135,-32768,-32768,-32768,  2757,  2757,
        !          1128: -32768,  3954,  1989,-32768,-32768,   818,   818,   818,-32768,  1095,
        !          1129:   1053,  1054,-32768,  9521,  9521,-32768,-32768,-32768,  1103,   661,
        !          1130:   8381,-32768,-32768,-32768,   572,   572,   831,   831,-32768,  2607,
        !          1131: -32768,-32768,-32768,   801,  6483,  8381,  8381,  8381,  8381,  6483,
        !          1132: -32768,  8381,  1104,-32768,-32768,  9611,   575,  8381,-32768,   143,
        !          1133: -32768,-32768,-32768,-32768,-32768,-32768,  1062,-32768,  1122,-32768,
        !          1134: -32768,   818,-32768,-32768,-32768,    66,-32768,-32768,-32768,-32768,
        !          1135: -32768,    92,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   765,
        !          1136:   6226,  1082,  5075,-32768,-32768,-32768,-32768,  1115,  8381,  1121,
        !          1137: -32768,-32768,-32768,  1090,-32768,-32768,   238,   672,-32768,   772,
        !          1138:    572,  8642,   459,   774,   258,-32768,-32768,-32768,-32768,-32768,
        !          1139: -32768,-32768,-32768,  6483,  6483,-32768,-32768,-32768,-32768,-32768,
        !          1140:     74,  8381,  8381,  9521,   656,   656,  1124,  1126,-32768,-32768,
        !          1141: -32768,-32768,   269,-32768,  1091,-32768,  1084,  1087,  1097,  1098,
        !          1142: -32768,  9544,  6483,   575,-32768,  1089,-32768,-32768,-32768,   818,
        !          1143: -32768,-32768,   509,   509,  7417,-32768,  1175,  1137,  1100,-32768,
        !          1144:   1141,-32768,  8124,  8381,-32768,  7237,-32768,  1146,-32768,-32768,
        !          1145:    629,-32768,   656,-32768,-32768,   656,  8982,  8982,  6573,-32768,
        !          1146: -32768,-32768,   765,  6663,  6663,-32768,-32768,  6483,-32768,  9521,
        !          1147:   9521,-32768,   831,   831,  6483,  6483,   801,  1102,  8729,-32768,
        !          1148: -32768,-32768,-32768,  6483,-32768,-32768,-32768,-32768,  8124,-32768,
        !          1149: -32768,-32768,-32768,-32768,-32768,  5674,-32768,-32768,  1109,   234,
        !          1150:   3239,  9567,  7237,-32768,-32768,  5168,    48,-32768,-32768,  1149,
        !          1151: -32768,  1150,-32768,-32768,-32768,  1160,  1163,-32768,-32768,-32768,
        !          1152: -32768,   282,  1123,-32768,  1127,   765,  7327,   518,   295,  5272,
        !          1153: -32768,   572,-32768,-32768,   296,-32768,  5376,-32768,  1214,  1168,
        !          1154: -32768,-32768,  6483,  6483,  8381,-32768,-32768,-32768,-32768,    37,
        !          1155: -32768,-32768,-32768,  8381,  1176,-32768,  1177,-32768,   765,   656,
        !          1156:   7237,-32768,-32768,-32768,  1147,   201,  1181,-32768,-32768,  6753,
        !          1157:   6753,-32768,-32768,  1143,-32768,  5764,  1148,-32768,-32768,   831,
        !          1158: -32768,  1158,  8381,  1214,  1183,  1214,  1151,  1152,-32768,   317,
        !          1159:   5480,-32768,  1198,-32768,  1156,   246,-32768,-32768,-32768,-32768,
        !          1160: -32768,-32768,-32768,  1153,-32768,  1254,  1208,  7327,  7327,  6483,
        !          1161:   1355,   765,-32768,   353,-32768,-32768,-32768,-32768,  1167,  1170,
        !          1162: -32768,  1271,  1219,-32768,-32768,-32768,-32768,  1281,  1282,-32768
        !          1163: };
        !          1164: 
        !          1165: static const short yypgoto[] = {-32768,
        !          1166:   1165,-32768,-32768,   958,     7,  1283,-32768,-32768,-32768,-32768,
        !          1167: -32768,-32768,-32768,   486,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1168: -32768,  -773,  1169,  1174,-32768,-32768,-32768,-32768,  1166,-32768,
        !          1169: -32768,   478,   126,-32768,-32768,-32768,  4325,   -30,-32768,  1204,
        !          1170:    844,  -998,-32768,   -96,   162,-32768,   171,-32768,   153,   124,
        !          1171:   -980,-32768,  -480,   242,   564,   630,-32768,-32768,  -722,  3685,
        !          1172:   1316,  -262,  2309,  2833,   804,   159,   431,-32768,-32768,-32768,
        !          1173: -32768,  -278,-32768,  -110,   -90,-32768,   233,    34,  -210,    83,
        !          1174:     11,   -91,  -121,    -3,  1446,   -82,  1348,  -127,  -674,   329,
        !          1175: -32768,  -186,-32768,-32768,   180,-32768,-32768,-32768,-32768,-32768,
        !          1176:   1092,-32768,   634,-32768,   122,-32768,-32768,   821,   742,    14,
        !          1177: -32768,-32768,-32768,   526,  -285,    12,  1299,  1300,-32768,-32768,
        !          1178: -32768,-32768,-32768,  -131,-32768,   473,   686,-32768,   533,   394,
        !          1179:    469,  -411,-32768,-32768,-32768,-32768,-32768,-32768,   939,-32768,
        !          1180:    482,   829,   573,   857,  1683,  1544,  -371,-32768,  1375,     0,
        !          1181:      1,-32768,  4129,   -99,   646,-32768,  3274,-32768,-32768,  3935,
        !          1182:     -4,   198,  -327,  1336,  3574,   852,  -188,-32768,  1912,-32768,
        !          1183:  -1147,  -942,  -321,   101,-32768,   539,  -106,   -94,-32768,-32768,
        !          1184: -32768, -1132,  -932, -1108,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1185: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1186: -32768,-32768,-32768,-32768,-32768,   -43,-32768,-32768,-32768,-32768,
        !          1187: -32768,  -421,    70,-32768,    69,-32768,  -369,  -132,-32768,-32768,
        !          1188:   -258,  1015,  -247,-32768,-32768,    60,   500,-32768,   127,-32768,
        !          1189:   -260
        !          1190: };
        !          1191: 
        !          1192: 
        !          1193: #define        YYLAST          9739
        !          1194: 
        !          1195: 
        !          1196: static const short yytable[] = {    66,
        !          1197:     46,   423,   465,   366,   673,   530,   321,    85,   314,   317,
        !          1198:     30,   586,    84,   553,    44,    85,    96,   638,   636,   103,
        !          1199:    103,   178,   103,   533,   350,   596,   915,   231,    66,   122,
        !          1200:     95,    97,   392,   400,   401,   349,   349,   351,   345,   149,
        !          1201:    554,    66,   955,   121,   360,  1107,  1212,    85,  1144,   409,
        !          1202:   1228,   556,    84,   830,    85,  1108,   502,   346,   502,     8,
        !          1203:    502,   164,  1111,   961,    88,   195,    85,   522,  1250,   194,
        !          1204:    830,   393,    85,    96,   599,    78,   309,   142,  1257,   651,
        !          1205:    424,   614,    85,   460,   165,   166,   290,   285,   286,   670,
        !          1206:    149,    85,     8,    85,    78,   309,   103,   194,   461,   307,
        !          1207:    103,   670,   420,   103,   103,    75,   100,  1259,    93,   554,
        !          1208:    347,   962,   100,  1269,    66,    46,   149,    66,   510,   600,
        !          1209:    556,   188,   831,    76,   601,   310,   615,  -699,   300,    44,
        !          1210:    426,   616,   361,  -699,   149,   149,   149,    82,  1272,  1295,
        !          1211:     73,    93,   100,   777,   310,  1144,  1299,  1089,  1311,  1260,
        !          1212:    577,   562,   522,  1033,   329,    93,   671,   602,   276,    21,
        !          1213:    149,    93,   693,   100,   617,   187,   709,   164,  1151,   557,
        !          1214:    294,   296,   100,   754,   164,   164,  1052,   175,    66,   414,
        !          1215:   1067,   276,  1219,   755,   337,   111,   750,    74,   103,   535,
        !          1216:   1049,    93,   340,   413,   422,  -103,    75,   756,   164,   327,
        !          1217:    751,   384,    -1,   510,    99,   867,   341,   360,   460,   653,
        !          1218:     21,   642,    93,   426,    76,   654,   398,  -229,   359,  1272,
        !          1219:   1272,    93,   674,   558,   511,    85,   433,   499,  1245,   694,
        !          1220:    752,  1048,   311,  1224,   512,    -2,   342,   593,   594,   159,
        !          1221:    160,   879,   164,   189,   513,    12,   328,   514,   515,   349,
        !          1222:    349,   595,   592,   530,     8,   366,   578,     8,   291,   295,
        !          1223:   1304,  -229,  -229,   192,   400,   401,    85,   315,    17,   675,
        !          1224:    509,   640,   433,   433,   524,  -224,   360,   510,   314,   317,
        !          1225:    149,   100,   192,   194,   424,  -124,  1074,  -230,   880,   870,
        !          1226:   1254,   164,   401,  1172,    85,   361,   360,   579,    75,   111,
        !          1227:    192,   126,  1305,    93,    21,  1326,   580,  1107,   103,   526,
        !          1228:   1098,   103,  1104,  1074,  1107,   103,    76,  1108,   534,    85,
        !          1229:     96,   693,   651,  1197,  1108,   189,   301,  1147,    21,   187,
        !          1230:     93,  -230,  -230,  1075,    95,    97,  1265,   599,   127,    89,
        !          1231:    458,   581,   754,   422,    77,  -225,   192,  1327,  1301,   894,
        !          1232:   1074,  1074,   755,   527,   100,   149,    66,   149,   149,   524,
        !          1233:   1182,   343,   708,    66,   361,   127,   756,    90,  1107,   149,
        !          1234:   1198,   149,  1074,   149,   149,   451,   164,   356,  1108,   811,
        !          1235:    149,   551,   600,  1266,   361,  -695,   149,   601,   566,   149,
        !          1236:    422,   100,   192,   606,    11,   610,   612,  1276,  1282,     7,
        !          1237:      8,    21,    85,    93,   422,   164,   164,  1342,   149,    66,
        !          1238:    186,    66,   414,   939,   937,   431,    85,   297,   298,  1321,
        !          1239:    602,  -285,   360,    99,   510,   432,   413,  -285,   456,   360,
        !          1240:    764,   510,  -699,   164,  -699,  -699,   117,    19,    21,   135,
        !          1241:     93,  -699,    85,    85,    85,    85,   660,   385,   386,    22,
        !          1242:    551,   387,   511,   499,  1343,   783,   860,   112,   766,   187,
        !          1243:   -286,   643,   512,  -699,  -699,  -699,  -286,  -699,   693,  -699,
        !          1244:    359,   189,   513,   804,   765,   514,   515,   820,   676,    26,
        !          1245:    192,   822,   118,   136,   137,   829,     7,   100,   805,   878,
        !          1246:    132,   586,    85,   133,   433,   388,   389,   349,   187,   784,
        !          1247:    785,   187,   767,   677,   192,   824,   433,   433,   100,   524,
        !          1248:    361,   424,   400,   360,  1180,   530,    66,   361,   553,   360,
        !          1249:    692,   821,   178,   695,    19,   823,   366,   465,   701,   702,
        !          1250:    703,   704,   705,   533,   651,  1091,    22,   315,   112,   112,
        !          1251:    750,   182,   276,   624,    99,   554,   718,   149,    85,   825,
        !          1252:    187,  1057,  1208,    84,   751,    21,   556,    93,   189,     7,
        !          1253:    503,  1273,   504,   287,   632,   164,    26,   360,   289,   431,
        !          1254:    881,   112,   422,   641,   -27,    13,    14,   -27,   747,   432,
        !          1255:   -224,     7,     8,   356,   752,   612,     7,     8,   715,   -27,
        !          1256:    394,   395,    78,    79,     7,   503,  1209,    19,   149,   149,
        !          1257:    842,   361,   318,    75,   -81,  1274,   842,   361,   456,    22,
        !          1258:    -81,   456,  -102,   696,   698,   319,   700,    75,   673,    19,
        !          1259:   -506,    76,   149,   149,    19,   149,  1077,    13,    14,   356,
        !          1260:    192,    22,    19,   240,   456,    76,    22,   234,   722,   505,
        !          1261:     21,  -225,    80,    81,    22,    85,   331,    21,   332,   422,
        !          1262:   1082,   366,   333,   164,   842,   361,   -80,   322,   426,   159,
        !          1263:    160,    26,   -80,   187,   744,    12,    26,     8,   338,    10,
        !          1264:    761,   301,   114,   433,    26,    12,   407,   356,   807,   792,
        !          1265:     13,    14,   422,   433,   433,   433,  1027,  1028,    17,  1028,
        !          1266:     15,   164,   360,   371,    16,   421,   360,   427,    17,   357,
        !          1267:     78,    79,   167,   168,   169,   430,   192,   694,   158,   159,
        !          1268:    160,    75,   360,   715,    21,    12,    93,   486,   487,   871,
        !          1269:   1123,   192,  1072,  1073,   873,   874,   385,  1174,   876,    76,
        !          1270:   1053,  1054,   170,  1056,   356,   428,   356,   356,    17,   314,
        !          1271:    317,   359,   429,    85,   436,   314,   317,   443,    21,   444,
        !          1272:     80,   171,   446,   114,   114,   360,  1153,  1154,   447,   334,
        !          1273:    448,   335,   356,   111,   433,   336,   433,   449,   356,   849,
        !          1274:   1170,   450,   404,    85,   405,   502,   694,   433,   406,    85,
        !          1275:    361,    66,    66,    66,   361,   541,   114,   539,   567,   944,
        !          1276:   1184,  1185,   542,   194,   544,   172,   173,   174,   545,    85,
        !          1277:    361,    85,   546,    78,   309,  1129,  1130,  1131,   112,   112,
        !          1278:    547,   528,     8,   563,   885,   886,   887,   111,   347,   568,
        !          1279:   -694,   569,   356,   570,   424,   571,   394,  1175,   385,  1181,
        !          1280:    914,   597,   149,   149,   149,   149,   598,  1216,   613,   149,
        !          1281:    842,   842,   842,   361,   622,   240,   529,  1336,  1337,    19,
        !          1282:    623,   792,   356,   310,   629,    70,   637,    85,   681,    21,
        !          1283:    718,    93,   682,    87,   439,   442,   359,   149,  1307,  1308,
        !          1284:    103,    98,    66,   414,    85,   104,   104,   686,   104,   422,
        !          1285:    422,   687,   422,   706,    70,   707,   551,   413,   483,   484,
        !          1286:    485,   486,   487,   100,   709,   104,   184,    70,   762,    13,
        !          1287:     14,   763,   776,    87,   778,   591,  -330,   780,   796,   797,
        !          1288:     98,   399,   159,   160,   433,   433,   806,   433,    12,   808,
        !          1289:    810,   812,    98,   813,   814,   815,   921,  1016,    98,  -330,
        !          1290:   -330,   819,  -330,   510,   356,    66,    66,   828,  1193,  1194,
        !          1291:     21,    17,    93,  1012,   852,   315,   104,    98,    66,   414,
        !          1292:    855,   635,   104,   862,   511,   963,   104,   856,   456,   104,
        !          1293:    104,   677,   857,   413,   512,     7,   100,   858,   861,    11,
        !          1294:     70,   866,   104,    70,   513,   872,   875,   514,   515,   877,
        !          1295:    149,    66,   149,   883,   882,  1156,   888,   889,   898,   642,
        !          1296:    104,   104,   104,   356,   149,   149,   892,   149,   315,   691,
        !          1297:    164,   893,   895,    19,   315,   111,   356,   896,   356,   694,
        !          1298:    897,   899,   900,    21,   901,    22,   104,   456,  1097,   902,
        !          1299:   1103,  -101,   905,   114,   114,    66,   414,    24,   904,   907,
        !          1300:   1043,  1011,   908,   909,    70,   112,   912,    25,   910,   192,
        !          1301:    413,   112,   911,   923,   104,    26,   926,   913,   925,   315,
        !          1302:     27,   927,   932,   933,     7,     8,   743,   934,   745,   746,
        !          1303:   1227,   938,   356,   948,   356,   830,   356,   942,     8,    92,
        !          1304:     10,    11,   554,   943,   354,   945,    12,   314,   317,   956,
        !          1305:   1003,    98,   104,  1340,  1125,  1126,  1043,  1005,  1156,   112,
        !          1306:    795,    15,    19,  1300,  1009,    16,  1018,   842,  1034,    17,
        !          1307:   1036,  1037,    21,  1090,    22,  -471,  1038,   138,  -471,  1039,
        !          1308:   1055,  1045,  1059,  1050,  1064,    21,   139,    93,  1051,  1060,
        !          1309:   1076,  1061,    98,  1065,  1063,  1068,   140,  1069,   104,   104,
        !          1310:     70,   422,   422,  1081,    26,   532,   104,  1070,  1084,   141,
        !          1311:   1085,   192,   780,  1086,   817,  1093,  1092,  1088,  1109,  1095,
        !          1312:     98,  1156,  1116,  -471,  1117,  1118,  -471,   355,  -471,  1132,
        !          1313:   1176,   590,  1122,  1143,   104,  1149,  1148,   104,  -471,  1163,
        !          1314:   1167,   104,   842,   842,   842,    98,  1169,  1171,  1199,   422,
        !          1315:   1189,  1195,   422,  1196,  1156,  1200,  -471,  -471,  1201,  1213,
        !          1316:     98,  -471,  1214,  1207,     8,   644,  1217,  1152,  1202,  1203,
        !          1317:   -471,  1225,  1215,  1241,  1261,  1262,  1137,  1138,  1139,  1140,
        !          1318:   1251,   104,    70,   104,   104,    70,   149,  1263,  1146,    70,
        !          1319:   1264,   645,  1285,  1289,  1267,   104,   646,   104,  1268,   104,
        !          1320:    104,  1298,  1074,   164,  1303,  1306,   104,  1341,  1317,   360,
        !          1321:   1331,    21,   104,    93,  1309,   104,     8,   863,  1314,  1312,
        !          1322:    114,  1161,  1319,  1320,  1252,  1323,   114,  1325,    98,  1168,
        !          1323:    849,   458,  1333,  1335,   104,    70,   382,    70,  1344,   112,
        !          1324:    112,  1345,    98,   645,  1347,   112,   112,   112,   864,  1346,
        !          1325:   1349,  1350,   323,   565,     5,   396,   422,   325,  -699,   950,
        !          1326:   -699,  -699,   326,    21,   344,    93,   957,  -699,    98,    98,
        !          1327:     98,    98,   305,   710,   114,  1206,  1211,  -699,  1232,  -699,
        !          1328:   -699,  1280,   768,  1162,  1100,   917,  -699,   884,  1240,  -699,
        !          1329:   -699,   383,  1132,  -699,   949,  -699,    85,   361,   928,   827,
        !          1330:    929,   123,   124,  1218,  1013,   865,   315,   111,  -699,  -699,
        !          1331:    397,   953,  -699,   356,  -699,  1030,  1066,    86,    98,   456,
        !          1332:    104,    48,   668,   749,  1218,  1218,  1029,   187,     8,    92,
        !          1333:     10,    11,   104,   104,  1339,    70,    12,    48,   799,   947,
        !          1334:   1296,   998,   794,  1316,  1318,     0,   187,   488,  1032,  1218,
        !          1335:     48,    15,   620,   532,   958,    16,   959,     0,   960,    17,
        !          1336:      0,   655,   656,   154,   479,   480,   481,   482,   483,   484,
        !          1337:    485,   486,   487,   104,    87,    21,   185,    93,     0,     0,
        !          1338:      0,     0,     0,   551,   489,   490,     0,     0,   229,   491,
        !          1339:    492,   493,   494,   278,    48,     0,     0,     0,     0,    19,
        !          1340:      0,     0,   657,     0,     0,   278,   278,     0,     0,    21,
        !          1341:    356,    22,   853,   154,  1297,     0,   278,     0,   658,     0,
        !          1342:      0,     0,     0,   139,   104,   104,    70,     0,     0,     0,
        !          1343:    722,   722,   794,   140,     0,     0,    48,     0,     0,   154,
        !          1344:      0,    26,     0,  1315,     0,     0,   659,     0,   104,   104,
        !          1345:      0,   104,     0,   363,   114,   114,     0,     0,     0,     0,
        !          1346:    114,   114,   114,     0,     0,     0,     8,    92,    10,    11,
        !          1347:      0,    98,     0,     0,    12,     0,   356,     0,     7,     8,
        !          1348:     70,     0,    11,   375,   377,   380,   228,     0,     0,    15,
        !          1349:      0,   277,     0,    16,     0,     0,     0,    17,     0,   104,
        !          1350:     48,     0,   112,   277,   277,     0,     0,     0,     0,   104,
        !          1351:    104,   104,     0,    21,   277,    93,    19,     0,     0,   510,
        !          1352:      0,     0,     0,     0,     0,     0,    21,     0,    22,     0,
        !          1353:      0,    94,     0,     0,     0,     0,   452,   101,   105,   453,
        !          1354:    603,   916,   454,     0,     0,     0,     0,   185,   462,     0,
        !          1355:    604,   362,     0,     0,     0,     0,     0,   501,    26,     0,
        !          1356:    513,     0,     0,   605,   515,     0,     0,     0,     0,    98,
        !          1357:      0,     0,     0,     0,     0,   278,     0,   112,   112,   112,
        !          1358:      0,     0,     0,     8,   230,    10,   184,     0,   229,   279,
        !          1359:    104,    12,   104,     0,     0,     0,   185,     0,   952,    98,
        !          1360:      0,   279,   279,   104,     0,    98,    15,   794,   794,   794,
        !          1361:     16,     0,   279,     0,    17,   532,   552,     0,     0,     0,
        !          1362:      0,   313,   316,     0,     0,    98,     0,    98,     0,     0,
        !          1363:     21,     0,    93,     0,     0,     0,     0,     0,   816,     0,
        !          1364:     98,    48,  1004,     0,     0,     0,     0,     0,     0,   364,
        !          1365:      0,     0,   374,   376,     0,     0,     0,     0,   104,   104,
        !          1366:    104,   104,     0,     0,     0,   104,   794,   794,   794,     0,
        !          1367:      0,     0,     0,   277,     0,     0,     0,     0,   154,     0,
        !          1368:      0,   185,     0,    98,     0,   552,   228,     0,     0,     0,
        !          1369:      0,     0,   854,   104,  1041,  1044,   104,     0,    70,     0,
        !          1370:     98,     0,     0,   859,     0,   363,   481,   482,   483,   484,
        !          1371:    485,   486,   487,     0,   362,     0,     0,   114,   625,     0,
        !          1372:    626,   193,   375,   377,     0,     0,     0,     0,     0,     0,
        !          1373:    699,   154,  1243,    48,     0,   639,     0,     0,   678,     0,
        !          1374:    104,   104,     0,   104,     0,     0,     0,     7,     8,     0,
        !          1375:      0,  1044,     0,     0,     0,   278,     0,   665,   278,     0,
        !          1376:      0,   794,   794,   278,   678,   678,   678,   678,   320,     0,
        !          1377:      0,   279,     0,     0,    70,     0,     0,   278,     0,     0,
        !          1378:      0,   278,     0,   362,   230,    19,     0,   352,   510,     0,
        !          1379:      0,     0,   114,   114,   114,    21,     0,    22,  1294,     0,
        !          1380:      0,     0,   391,   362,     0,     0,   104,    70,   104,   603,
        !          1381:      0,     0,   364,   278,   229,     0,     0,     0,     0,   604,
        !          1382:    104,   104,     0,   104,     0,  1136,     0,    26,     0,   513,
        !          1383:   1141,   552,   605,   515,     0,     0,   277,     0,   363,     0,
        !          1384:      0,     0,     0,     0,     6,     0,     7,     8,     9,    10,
        !          1385:     11,    70,     0,   277,     0,    12,   277,     0,     0,     0,
        !          1386:      0,   277,   277,   277,   277,   277,     0,     0,    13,    14,
        !          1387:     15,     0,   954,     0,    16,   277,     0,     0,    17,   277,
        !          1388:      0,   364,    18,     0,    19,     0,     0,     0,    20,     0,
        !          1389:      0,   627,   628,     0,    21,     0,    22,     0,     0,    23,
        !          1390:      0,   364,     0,     0,  1186,  1187,     0,     0,    24,     0,
        !          1391:      0,   277,   228,     0,     0,     0,     0,     0,    25,     0,
        !          1392:      0,  1010,   552,   794,     0,     0,    26,     0,   363,   362,
        !          1393:   1017,    27,     0,  1205,   279,     0,   362,    28,    29,  1031,
        !          1394:      0,     0,     0,     7,     8,     0,     0,   375,   377,   380,
        !          1395:      0,   279,     0,     0,   279,   380,     0,     0,     0,   279,
        !          1396:    279,   279,   279,   279,     0,     0,     0,     0,  -511,     0,
        !          1397:      0,   625,   626,   279,   639,     0,   552,   279,  1233,     0,
        !          1398:      0,    19,     0,  -511,  -511,  1238,  1239,     0,     0,     0,
        !          1399:   -511,    21,     0,    22,  1244,     0,  1096,     0,   794,   794,
        !          1400:    794,     0,  -511,   380,     0,   139,     0,     0,     0,   279,
        !          1401:    230,     0,     0,  -511,  -511,   140,  -511,     0,  -511,   100,
        !          1402:    362,     0,   424,    26,   769,   771,   362,   364,   141,     0,
        !          1403:      0,     0,     0,   630,   364,     0,     0,     0,     0,   633,
        !          1404:      0,     0,   104,     0,     0,   924,  -511,  -511,     0,     0,
        !          1405:   -511,  -511,     0,  1292,  1293,     0,     0,     0,     0,   510,
        !          1406:   -511,     0,     0,     0,     0,   678,    21,     0,    93,   918,
        !          1407:      0,   452,   453,     0,   362,  1119,  1120,     0,     0,     0,
        !          1408:    511,     0,     0,   688,   689,     0,   690,     0,  1127,  1128,
        !          1409:    512,     0,     0,     0,     0,   678,     0,     0,     0,     0,
        !          1410:    513,   552,     0,   514,   515,   363,     8,    92,    10,    11,
        !          1411:      0,     0,     0,     0,    12,     0,   837,   838,   364,     0,
        !          1412:   1338,   552,     0,   951,   364,     0,     0,     0,     0,    15,
        !          1413:    452,   453,     0,    16,     0,     0,     0,    17,     0,     0,
        !          1414:      0,     0,     0,     0,     0,     0,     0,     0,     0,   987,
        !          1415:      0,     0,    98,    21,     0,    93,     0,     0,   519,   523,
        !          1416:    525,     0,     0,   277,   363,     0,     0,     0,     0,   781,
        !          1417:    782,     0,   364,     0,   781,   452,   453,     0,   278,     0,
        !          1418:      0,   625,   626,   375,   377,  1192,     7,   100,   639,   375,
        !          1419:    377,   380,     0,   277,    48,     0,   678,     0,     0,   362,
        !          1420:      0,     0,     0,   362,     0,     0,     0,     0,     0,     0,
        !          1421:   1058,     0,     0,     0,     0,     0,  1025,     0,     0,   362,
        !          1422:      0,     0,     0,     0,    19,   452,   453,     0,     0,     0,
        !          1423:      0,     0,     0,     0,    21,     0,    22,     0,     0,     0,
        !          1424:      0,   608,     0,   519,   523,   525,     0,     0,   108,   835,
        !          1425:    836,  1234,  1235,     0,  1236,  1237,     0,     0,   109,   844,
        !          1426:      0,   279,   362,     0,     0,   851,    26,     0,     0,     0,
        !          1427:     48,    27,     0,     0,     0,     0,   277,     0,     0,     0,
        !          1428:      0,   410,     0,     7,     8,    92,    10,    11,     0,     0,
        !          1429:      0,   279,    12,     0,   277,     0,     0,   364,     0,   769,
        !          1430:    771,   364,     0,   154,     0,   987,     0,    15,     0,   868,
        !          1431:      0,    16,   987,     0,     0,    17,  -423,   364,     0,     7,
        !          1432:    100,    19,     0,   184,     0,     0,     0,     0,     7,   100,
        !          1433:      0,    21,    11,    22,     0,     0,   672,     0,     0,     0,
        !          1434:    411,     0,     0,   625,   626,    24,   639,    48,     0,     0,
        !          1435:      0,     0,   999,  1000,   268,    25,     0,    19,   999,  1000,
        !          1436:    364,  1313,     0,    26,     0,     0,    19,    21,    27,    22,
        !          1437:      0,     0,     0,     0,   279,     0,    21,   268,    22,     0,
        !          1438:      0,    24,     0,  -423,     0,     0,     0,     0,  1019,  1020,
        !          1439:    108,    25,   279,   772,     0,   774,     0,     0,   987,    26,
        !          1440:    109,     0,   774,     0,    27,     0,   919,   920,    26,   922,
        !          1441:      0,     0,     0,    27,   358,     0,     0,   410,     0,     7,
        !          1442:      8,    92,    10,    11,     0,     0,    19,     0,    12,     0,
        !          1443:      0,     0,     0,   523,     0,   936,    21,     0,    22,     0,
        !          1444:      0,     0,     0,    15,     0,  1021,   380,    16,     0,     0,
        !          1445:    139,    17,  -422,   769,   771,     0,     0,    19,     0,     0,
        !          1446:    140,     0,   452,   453,     0,     0,     0,    21,    26,    22,
        !          1447:      0,     0,   987,   141,     0,     0,   411,     0,     0,     0,
        !          1448:   1220,    24,     0,   987,     0,   772,   774,     0,     0,     0,
        !          1449:      0,    25,   774,     0,     0,  1002,   278,     0,     0,    26,
        !          1450:      0,  1220,  1220,     0,    27,     0,     0,  1006,  1007,  1008,
        !          1451:      0,     0,     0,     0,     0,     0,     0,     0,     0,  -422,
        !          1452:      0,   375,   377,   380,     0,     0,  1220,     0,     0,     0,
        !          1453:      0,     0,     0,   987,     0,     0,     0,   459,     0,     0,
        !          1454:    987,     0,     8,   987,    10,    11,     0,     0,     0,     0,
        !          1455:     12,     0,     0,     0,     7,     8,   158,   159,   160,   523,
        !          1456:      0,     0,     0,    12,   987,    15,     0,   987,     0,    16,
        !          1457:      0,     0,     0,    17,   987,     0,     0,   410,   228,     7,
        !          1458:      8,    92,    10,    11,     0,  1062,    17,     0,    12,    21,
        !          1459:      0,    93,    19,     0,   277,   510,     0,     0,   987,   228,
        !          1460:    228,     0,    21,    15,    22,     0,     0,    16,     0,     0,
        !          1461:      0,    17,  -424,   987,     0,     0,   139,    19,     0,   589,
        !          1462:    358,     0,     0,     0,   228,     0,   140,    21,   987,    22,
        !          1463:      0,     0,   672,     0,    26,     0,   411,     0,     0,  1102,
        !          1464:      0,    24,     0,     0,     0,   987,   987,     0,   552,     0,
        !          1465:    930,    25,   931,     0,     0,     0,     0,     0,     0,    26,
        !          1466:      0,     0,     0,   935,    27,     0,   358,     0,   772,   774,
        !          1467:   1121,     0,     0,     0,     0,     0,   230,     0,     0,  -424,
        !          1468:      0,     0,     0,     0,     0,     8,     0,    10,    11,   652,
        !          1469:    627,   628,   279,    12,     0,     0,     0,   230,   230,     0,
        !          1470:      0,     0,     0,     0,     0,     0,     0,     0,    15,     0,
        !          1471:      0,     0,    16,     0,   358,  1150,    17,     0,   930,   931,
        !          1472:      0,   772,   230,     0,     0,   935,     0,   772,   774,     7,
        !          1473:      8,     0,    21,   184,    93,   495,     0,     0,   268,     0,
        !          1474:      0,   589,     0,     0,   719,   720,   362,   724,   725,   726,
        !          1475:    727,   728,   729,   730,   731,   732,   733,   734,   735,   736,
        !          1476:    737,   738,   739,   740,   741,   742,     0,    19,     0,   496,
        !          1477:    510,   358,     0,   358,   358,     0,     0,    21,     0,    22,
        !          1478:      7,     8,    92,    10,    11,     0,     0,   354,     0,    12,
        !          1479:      0,   603,   100,     0,   159,   160,     0,     0,     0,   358,
        !          1480:     12,   604,     0,     0,    15,   358,    42,     0,    16,    26,
        !          1481:      0,   513,    17,     0,   605,   515,     0,     0,    19,     0,
        !          1482:    801,   803,   772,    17,     0,     0,    42,    42,    21,   110,
        !          1483:     22,     0,   510,     0,     0,    42,     0,     0,     0,    21,
        !          1484:      0,    93,   378,     0,   364,     0,    42,     0,    42,     0,
        !          1485:      0,     0,   379,   511,     0,     0,     0,     0,     0,   358,
        !          1486:     26,     0,     0,   512,     0,   141,   589,     0,   190,     0,
        !          1487:    355,     0,     0,   513,     0,     0,   521,   515,     0,     0,
        !          1488:    930,   931,     6,   935,     7,     8,     9,    10,    11,   358,
        !          1489:      0,     0,     0,    12,     0,     0,     0,    42,     0,     0,
        !          1490:    589,     0,     0,    42,     0,   190,     0,    42,    15,     0,
        !          1491:    110,   110,    16,     0,     0,     0,    17,     0,     0,     0,
        !          1492:      0,    42,    19,    42,    42,     0,   324,     0,     0,     0,
        !          1493:      0,     0,    21,     0,    22,     0,   869,    23,     0,     0,
        !          1494:      0,    42,    42,   110,     0,     0,    24,     0,     0,     0,
        !          1495:      0,   190,     0,     0,     0,     0,    25,     0,     0,     0,
        !          1496:      0,     0,     0,     0,    26,     0,     0,    42,     0,    27,
        !          1497:      0,   358,     0,     0,     0,    28,   721,     0,     7,     8,
        !          1498:      0,    10,   437,   233,   234,    42,   235,    12,     0,     0,
        !          1499:      0,     0,   903,     0,     0,    42,     0,     0,     0,     0,
        !          1500:      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1501:     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
        !          1502:      0,   245,   246,   247,   248,   249,    21,     0,    22,   589,
        !          1503:    358,     0,     0,     0,     0,  -656,     0,   250,     0,     0,
        !          1504:    251,     0,     0,   358,     0,   358,     0,     0,   252,   253,
        !          1505:    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
        !          1506:      0,     0,     0,   258,     0,     0,     0,   259,     0,     0,
        !          1507:      0,     0,     0,     0,   946,     0,     0,   506,     0,   260,
        !          1508:      0,     0,     0,     0,     0,   190,   589,    42,     0,     7,
        !          1509:      8,     0,    10,   437,   233,   234,     0,   235,    12,   358,
        !          1510:      0,   358,     0,   358,     0,     0,     0,     0,     0,     0,
        !          1511:      0,     0,     0,    15,   236,    42,     0,    16,    42,   239,
        !          1512:      0,    17,    42,   240,   241,     0,   242,    19,   243,   244,
        !          1513:    589,     0,   245,   246,   247,   248,   249,    21,     0,    22,
        !          1514:      0,     0,     0,     0,  1014,  1015,     0,     0,   250,     0,
        !          1515:      0,   251,     0,     0,     0,     0,     0,  1019,   100,   252,
        !          1516:    253,   254,    42,    42,    42,    42,     0,   255,   256,   257,
        !          1517:     42,     0,     0,     0,   438,     0,    42,     0,    42,     0,
        !          1518:    110,   110,   589,   589,     0,     0,  1046,    42,     0,     0,
        !          1519:    260,     0,     0,    42,     0,    19,    42,     0,   410,     0,
        !          1520:      7,     8,    92,    10,    11,    21,     0,    22,     0,    12,
        !          1521:      0,     7,     8,     0,  1021,    42,    42,     0,    42,    24,
        !          1522:      0,     0,     0,     0,    15,     0,     0,     0,    16,    25,
        !          1523:      0,     0,    17,  -425,     0,     0,     0,    26,    19,   589,
        !          1524:      0,     0,    27,     0,     0,     0,     0,    64,    21,    19,
        !          1525:     22,  1083,     0,     0,     7,     8,     0,   411,    11,    21,
        !          1526:      0,    22,    24,     0,     0,     0,     0,    64,    64,     0,
        !          1527:    115,     0,    25,   139,     0,     0,    64,     0,     0,     0,
        !          1528:     26,     0,     0,   140,     0,    27,     0,    64,     0,    64,
        !          1529:      0,    26,    19,     0,     0,   510,   141,     0,     0,  1124,
        !          1530:   -425,     0,    21,     0,    22,     7,     8,    92,    10,    11,
        !          1531:      0,   506,   354,   589,    12,     0,   839,     0,   589,     0,
        !          1532:   1142,     0,     0,   791,     0,     0,   840,     0,     0,    15,
        !          1533:      0,     0,     0,    16,    26,     0,   513,    17,    64,   605,
        !          1534:    515,     0,     0,    19,    64,     0,   510,     0,    64,     0,
        !          1535:      0,   115,   115,    21,    42,    22,     0,     0,     0,     0,
        !          1536:      0,     0,    64,     0,    64,    64,     0,   839,     0,     0,
        !          1537:      0,     8,     0,    10,    11,     0,     0,   840,     0,    12,
        !          1538:    358,     0,    64,    64,   115,    26,     0,   513,     0,     0,
        !          1539:    605,   515,   589,   589,    15,   355,     0,     0,    16,     0,
        !          1540:   1190,  1191,    17,     0,     0,    42,    42,   110,    64,     0,
        !          1541:      0,     0,     0,   848,     0,     0,     0,     0,    21,     0,
        !          1542:     93,   589,     0,     0,     0,     0,    64,     0,     0,    42,
        !          1543:     42,     0,    42,     0,     0,     0,    64,     0,     0,     0,
        !          1544:      0,     0,  1222,   476,   477,   478,   479,   480,   481,   482,
        !          1545:    483,   484,   485,   486,   487,   748,     0,   587,     0,   711,
        !          1546:    712,   110,    10,   437,   233,   234,   589,   235,    12,     0,
        !          1547:      0,     0,     0,   589,   589,     0,     0,   358,     0,     0,
        !          1548:      0,     0,   589,    15,   236,   237,   238,    16,     0,   239,
        !          1549:      0,    17,     0,   240,   241,   791,   242,    19,   243,   244,
        !          1550:      0,     0,   245,   246,   247,   248,   249,    21,     0,   713,
        !          1551:    588,     0,     0,     0,     7,     8,     0,     0,   250,     0,
        !          1552:      0,   251,     0,     0,     0,     0,     0,   531,    64,   252,
        !          1553:    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
        !          1554:      0,   589,   589,   358,   258,   714,     0,     0,   259,     0,
        !          1555:      0,     0,    19,     0,     0,     0,    64,     0,     0,    64,
        !          1556:    260,     0,    21,    64,    22,     0,     0,     0,     0,     0,
        !          1557:    116,     0,     0,     0,     0,     0,   378,     0,     0,     0,
        !          1558:      0,     0,   585,     0,     0,     0,   379,   150,   791,   791,
        !          1559:      0,     0,     0,     0,    26,     0,     0,     0,     0,   141,
        !          1560:      0,     0,     0,    64,    64,    64,    64,     0,   589,     0,
        !          1561:      0,    64,     0,     0,     0,     0,     0,    64,     0,    64,
        !          1562:      0,   115,   115,     0,     0,     0,     0,     0,    64,     0,
        !          1563:      0,     0,     0,     0,    64,     0,     0,    64,   150,    42,
        !          1564:     42,   110,   110,     0,   190,     0,    42,   848,   848,   848,
        !          1565:      0,   116,   116,     0,     0,     0,    64,    64,     0,    64,
        !          1566:      0,     0,     0,     0,   150,     0,     0,     0,     0,     0,
        !          1567:      0,     0,     0,     0,    42,     0,     0,    42,     0,    42,
        !          1568:      0,     0,   150,   150,   381,     0,     0,     0,     0,     0,
        !          1569:      0,     0,   791,   791,     0,  1105,     0,   966,   967,    92,
        !          1570:     10,   232,   233,   234,     0,   235,    12,   968,   150,   969,
        !          1571:    970,   971,   972,   973,   974,   975,   976,   977,   978,    13,
        !          1572:     14,    15,   236,   237,   238,    16,     0,   239,     0,    17,
        !          1573:      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
        !          1574:    245,   246,   247,   248,   249,    21,   190,   979,   347,     0,
        !          1575:    980,     0,     0,     0,     0,    42,   250,     0,     0,   251,
        !          1576:      0,     0,     0,     0,   793,     0,     0,   252,   253,   254,
        !          1577:      0,     0,     0,     0,   434,   255,   256,   257,     0,     0,
        !          1578:      0,     0,   258,     0,   981,     0,   259,    42,    42,    42,
        !          1579:      0,     0,     0,     0,     0,    64,     0,  1106,   260,     0,
        !          1580:      0,    42,    42,     0,    42,     7,     8,     0,     0,    11,
        !          1581:      0,     8,    92,    10,    11,     0,     0,   354,     0,    12,
        !          1582:    518,   518,   518,     0,     0,     0,     0,     0,   150,     0,
        !          1583:      0,     0,    42,     0,    15,     0,     0,     0,    16,     0,
        !          1584:      0,     0,    17,    19,     0,     0,    64,    64,   115,     0,
        !          1585:      0,   510,     0,    21,   850,    22,     0,     0,    21,     0,
        !          1586:     93,     0,     0,     0,     0,     0,     0,   139,     0,     0,
        !          1587:     64,    64,   511,    64,     0,     0,     0,   140,     0,     0,
        !          1588:      0,     0,   512,     0,     0,    26,     0,     0,     0,     0,
        !          1589:    141,     0,   513,     0,     0,   514,   515,     0,     0,     0,
        !          1590:    355,     0,   115,   607,   848,   607,   607,   518,     0,   120,
        !          1591:      0,     7,     8,    92,    10,    11,     0,   150,     0,   150,
        !          1592:     12,   381,   381,     0,     0,     0,     7,     8,   150,     0,
        !          1593:    424,   516,   516,   516,   150,    15,   793,   150,     0,    16,
        !          1594:      0,     0,     0,    17,     0,     0,     0,     0,   148,    19,
        !          1595:      0,     0,     0,     0,     0,     0,   150,     0,     0,    21,
        !          1596:      0,    22,     0,     0,    19,     0,     0,   510,     0,     0,
        !          1597:    191,     0,     0,    24,    21,     0,    22,     0,     0,   848,
        !          1598:    848,   848,     0,    25,     0,     0,     7,   100,   603,   191,
        !          1599:    424,    26,     0,     0,     0,     0,    27,     0,   604,   148,
        !          1600:      0,     0,     0,     0,     0,     0,    26,     0,   513,     0,
        !          1601:      0,   605,   515,     0,   516,     0,   516,   516,   516,     0,
        !          1602:      0,     0,     0,    42,    19,   148,     0,     0,     0,   793,
        !          1603:    793,     0,     0,     0,    21,     0,    22,   531,     0,     0,
        !          1604:      0,     0,   757,   148,   148,   148,     0,     0,    24,     0,
        !          1605:      0,     0,     0,   390,   518,   518,     0,   518,    25,     0,
        !          1606:      0,     0,   585,     0,   518,     0,    26,     0,     0,   148,
        !          1607:      0,    27,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1608:     64,    64,   115,   115,     0,     0,     0,    64,   850,   850,
        !          1609:    850,     0,     0,     0,     0,   607,     0,     0,     0,   191,
        !          1610:      0,     0,    62,     0,     0,     0,     0,     0,     0,     0,
        !          1611:      0,     0,     0,     0,     0,    64,     0,     0,    64,     0,
        !          1612:     64,     0,   102,   106,     0,     0,     0,   100,     0,   159,
        !          1613:    160,   125,     0,   793,   793,    12,     0,     0,     0,     0,
        !          1614:      0,     0,     0,     0,   157,     0,   607,   607,   843,     0,
        !          1615:      0,     0,     0,     0,   843,     0,     0,     0,    17,     0,
        !          1616:      0,     0,     0,     0,     0,   516,   516,   510,   516,     0,
        !          1617:    150,   150,     0,   150,    21,   790,    93,     0,     8,   151,
        !          1618:     10,   152,     0,     0,     0,     0,    12,   191,   511,   148,
        !          1619:      0,     0,     0,     0,     0,     0,    64,     0,   512,   306,
        !          1620:      0,    15,   381,   308,     0,    16,   516,     0,   513,    17,
        !          1621:      0,   514,   515,     0,     0,     0,     0,    62,     0,     0,
        !          1622:    330,   518,     7,     8,     0,    21,   184,    93,    64,    64,
        !          1623:     64,   434,   434,   434,     0,     0,     0,   102,   106,     0,
        !          1624:      0,     0,    64,    64,     0,    64,     0,     0,     0,     0,
        !          1625:      0,     0,     0,     0,     0,     0,     0,   516,   516,   516,
        !          1626:     19,     0,     0,     0,   148,   790,   148,   148,     0,     0,
        !          1627:     21,     0,    22,    64,     0,     0,     0,     0,   148,     0,
        !          1628:    148,   419,   148,   148,   139,     0,     7,     8,     0,   148,
        !          1629:     11,   425,     0,     0,   140,   148,     0,     0,   148,     0,
        !          1630:      0,     0,    26,     0,     0,     0,    83,   141,     0,     0,
        !          1631:      0,     0,   518,     0,   518,     0,     0,   148,    83,    83,
        !          1632:      0,    83,     0,     0,    19,   518,     0,     0,     0,   518,
        !          1633:    518,   518,   516,     0,    21,     0,    22,     0,     0,     0,
        !          1634:      0,     0,     0,     0,     0,   850,   177,     0,   378,     0,
        !          1635:      0,     0,     0,     0,     0,     0,     0,     0,   379,     0,
        !          1636:      0,     0,     0,     0,     0,     0,    26,     0,     0,     0,
        !          1637:      0,   141,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1638:    607,   607,   843,   843,     0,     0,     0,   607,   843,   843,
        !          1639:    843,     0,     0,     0,     0,    83,     0,    83,    83,    83,
        !          1640:      0,     0,    83,    83,     0,     7,     8,     0,     0,   424,
        !          1641:      0,   559,     0,     0,   560,   150,     0,     0,   561,     0,
        !          1642:    850,   850,   850,   516,     0,   516,     0,     0,   191,     0,
        !          1643:      0,     0,     0,     0,     0,     0,   516,     0,     0,     0,
        !          1644:    790,   790,   790,    19,     0,     0,     0,     0,     0,     0,
        !          1645:      0,     0,     0,    21,     0,    22,   148,     0,     0,   609,
        !          1646:      0,     0,   757,   757,    64,   757,   619,   139,     0,     0,
        !          1647:      0,     0,   306,     0,   308,     0,     0,   140,     0,     0,
        !          1648:      0,     0,     0,   518,   518,    26,     0,    83,     0,   425,
        !          1649:    141,   516,   516,   516,   516,     0,     0,     0,   516,   790,
        !          1650:    790,   790,     0,     0,     0,     0,     0,   148,   148,   841,
        !          1651:      0,   666,   669,     0,   419,   841,     0,     0,     0,     0,
        !          1652:   -304,     8,  -304,    10,   184,    83,     0,     0,   150,    12,
        !          1653:    150,   148,   148,     0,   148,     0,     0,     0,     0,     0,
        !          1654:      0,     0,   607,   607,    15,   607,     0,     0,    16,     0,
        !          1655:      0,     0,    17,     0,     0,     0,     0,     0,  -304,     0,
        !          1656:      0,   510,     0,   841,     0,     0,     0,     0,    21,    83,
        !          1657:     93,    83,    83,     0,     0,     0,     0,     0,     0,     0,
        !          1658:      0,     0,   511,     0,     0,     0,     0,     0,     0,     0,
        !          1659:      0,     0,   512,     0,   790,   790,     0,     0,     0,     0,
        !          1660:   -304,    83,   513,     0,     0,   514,   515,    83,     0,     0,
        !          1661:     83,     0,     0,     0,    83,   471,   472,   473,   474,   475,
        !          1662:    476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
        !          1663:    486,   487,   353,     0,     7,     8,    92,    10,   232,   233,
        !          1664:    234,   354,   235,    12,     0,   381,     0,     0,     0,     0,
        !          1665:      0,     0,     0,   516,   516,     0,   516,     0,    15,   236,
        !          1666:    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
        !          1667:      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
        !          1668:    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
        !          1669:      0,     0,     0,   250,     0,     0,   251,     0,     0,     0,
        !          1670:      0,   102,   106,     0,   252,   253,   254,     0,     0,     0,
        !          1671:      0,     0,   255,   256,   257,     0,     0,     0,     0,   258,
        !          1672:    381,   381,   381,   259,   355,   559,   560,    83,   561,     0,
        !          1673:      0,     0,     0,  -666,     0,   260,     0,     0,     0,     0,
        !          1674:      0,   148,   148,   148,   148,     0,  1001,     0,   148,   841,
        !          1675:    841,   841,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1676:      0,     0,     0,     0,   150,     0,     0,     0,     0,     0,
        !          1677:      0,     0,     0,     0,     0,     0,   148,     0,     0,     0,
        !          1678:      0,   455,     0,     7,     8,    92,    10,   232,   233,   234,
        !          1679:    354,   235,    12,    83,     0,     0,     0,     0,     0,     0,
        !          1680:      0,     0,     0,    83,     0,    83,    83,    15,   236,   237,
        !          1681:    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
        !          1682:    242,    19,   243,   244,   510,     0,   245,   246,   247,   248,
        !          1683:    249,    21,     0,    22,  -237,     0,     0,     0,     0,     0,
        !          1684:      0,     0,   250,     0,     0,   940,     0,   177,   191,     0,
        !          1685:      0,     0,     0,   252,   253,   941,     0,     0,     0,     0,
        !          1686:      0,   255,   256,   257,     0,   513,     0,     0,   788,   515,
        !          1687:      0,     0,   259,   355,     0,     0,     7,     8,   158,   159,
        !          1688:    160,     0,     0,     0,   260,    12,     0,     0,     0,   148,
        !          1689:      0,   148,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1690:      0,     0,     0,   148,   148,     0,   148,     0,    17,     0,
        !          1691:      0,     0,     0,     0,    19,     0,     0,   510,     0,     0,
        !          1692:      0,     0,     0,     0,    21,     0,    22,     0,     0,     0,
        !          1693:      0,     0,     0,     0,     0,   306,   308,     0,   603,     0,
        !          1694:      0,     0,   425,     0,     0,     0,     0,     0,   604,     0,
        !          1695:      0,     0,     0,     0,     0,     0,    26,     0,   513,     0,
        !          1696:      0,   611,   515,     0,     0,     0,     0,     0,     0,     0,
        !          1697:   1026,     0,    83,  1026,     0,   419,     0,     0,     0,     0,
        !          1698:      0,     0,    83,    83,    83,     0,   455,     0,     7,     8,
        !          1699:     92,    10,   232,   233,   234,   354,   235,    12,     0,     0,
        !          1700:      0,     0,     0,     0,     0,     0,   841,     0,     0,     0,
        !          1701:      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1702:     17,     0,   240,   241,     0,   242,    19,   243,   244,   510,
        !          1703:      0,   245,   246,   247,   248,   249,    21,     0,    22,  -237,
        !          1704:      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
        !          1705:    845,   419,     0,     0,  1164,     0,     0,     0,   252,   253,
        !          1706:    846,     0,     0,    83,     0,    83,   255,   256,   257,     0,
        !          1707:    513,     0,     0,   847,   515,     0,    83,   259,   355,     0,
        !          1708:      0,   841,   841,   841,  1101,     0,     0,     0,     0,   260,
        !          1709:      0,     0,     0,     0,     0,     0,     0,   559,   560,     0,
        !          1710:    561,   466,   467,   468,  1165,   469,   470,   471,   472,   473,
        !          1711:    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
        !          1712:    484,   485,   486,   487,     0,   148,     0,     0,   419,     0,
        !          1713:      0,     0,     0,     0,     0,     0,     0,     0,  1255,     0,
        !          1714:    966,   967,    92,    10,   232,   233,   234,     0,   235,    12,
        !          1715:    968,     0,   969,   970,   971,   972,   973,   974,   975,   976,
        !          1716:    977,   978,    13,    14,    15,   236,   237,   238,    16,    83,
        !          1717:    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
        !          1718:    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
        !          1719:    979,   347,     0,   980,     0,     0,     0,     0,     0,   250,
        !          1720:      0,     0,   251,     0,     0,     0,     0,     0,     0,     0,
        !          1721:    252,   253,   254,    83,    83,     0,    83,     0,   255,   256,
        !          1722:    257,     0,     0,     0,     0,   258,     0,   981,     0,   259,
        !          1723:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1724:   1256,   260,  1277,     0,   966,   967,    92,    10,   232,   233,
        !          1725:    234,     0,   235,    12,   968,     0,   969,   970,   971,   972,
        !          1726:    973,   974,   975,   976,   977,   978,    13,    14,    15,   236,
        !          1727:    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
        !          1728:      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
        !          1729:    248,   249,    21,     0,   979,   347,     0,   980,     0,     0,
        !          1730:      0,     0,     0,   250,     0,     0,   251,     0,     0,     0,
        !          1731:      0,     0,     0,     0,   252,   253,   254,     0,     0,     0,
        !          1732:      0,     0,   255,   256,   257,     0,     0,     0,     0,   258,
        !          1733:      0,   981,     0,   259,     0,     0,     0,     0,     0,     0,
        !          1734:      0,     0,     0,     0,  1278,   260,  1277,     0,   966,   967,
        !          1735:     92,    10,   232,   233,   234,     0,   235,    12,   968,     0,
        !          1736:    969,   970,   971,   972,   973,   974,   975,   976,   977,   978,
        !          1737:     13,    14,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1738:     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
        !          1739:      0,   245,   246,   247,   248,   249,    21,     0,   979,   347,
        !          1740:      0,   980,     0,     0,     0,     0,     0,   250,     0,     0,
        !          1741:    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
        !          1742:    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
        !          1743:      0,     0,     0,   258,     0,   981,     0,   259,     0,     0,
        !          1744:      0,     0,     0,     0,     0,     0,     0,     0,  1283,   260,
        !          1745:   1277,     0,   966,   967,    92,    10,   232,   233,   234,     0,
        !          1746:    235,    12,   968,     0,   969,   970,   971,   972,   973,   974,
        !          1747:    975,   976,   977,   978,    13,    14,    15,   236,   237,   238,
        !          1748:     16,     0,   239,     0,    17,     0,   240,   241,     0,   242,
        !          1749:     19,   243,   244,     0,     0,   245,   246,   247,   248,   249,
        !          1750:     21,     0,   979,   347,     0,   980,     0,     0,     0,     0,
        !          1751:      0,   250,     0,     0,   251,     0,     0,     0,     0,     0,
        !          1752:      0,     0,   252,   253,   254,     0,     0,     0,     0,     0,
        !          1753:    255,   256,   257,     0,     0,     0,     0,   258,     0,   981,
        !          1754:      0,   259,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1755:      0,     0,  1322,   260,   965,     0,   966,   967,    92,    10,
        !          1756:    232,   233,   234,     0,   235,    12,   968,     0,   969,   970,
        !          1757:    971,   972,   973,   974,   975,   976,   977,   978,    13,    14,
        !          1758:     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
        !          1759:    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
        !          1760:    246,   247,   248,   249,    21,     0,   979,   347,     0,   980,
        !          1761:      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
        !          1762:      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
        !          1763:      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
        !          1764:      0,   258,     0,   981,  1249,   259,   966,   967,    92,    10,
        !          1765:    232,   233,   234,     0,   235,    12,   968,   260,   969,   970,
        !          1766:    971,   972,   973,   974,   975,   976,   977,   978,    13,    14,
        !          1767:     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
        !          1768:    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
        !          1769:    246,   247,   248,   249,    21,     0,   979,   347,     0,   980,
        !          1770:      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
        !          1771:      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
        !          1772:      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
        !          1773:      0,   258,     0,   981,  1310,   259,   966,   967,    92,    10,
        !          1774:    232,   233,   234,     0,   235,    12,   968,   260,   969,   970,
        !          1775:    971,   972,   973,   974,   975,   976,   977,   978,    13,    14,
        !          1776:     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
        !          1777:    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
        !          1778:    246,   247,   248,   249,    21,     0,   979,   347,     0,   980,
        !          1779:      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
        !          1780:      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
        !          1781:      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
        !          1782:      0,   258,     0,   981,   634,   259,     7,     8,    92,    10,
        !          1783:    232,   233,   234,   354,   235,    12,     0,   260,     0,     0,
        !          1784:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1785:     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
        !          1786:    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
        !          1787:    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
        !          1788:      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
        !          1789:      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
        !          1790:      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
        !          1791:      0,   258,     0,     0,     0,   259,   355,     0,     0,     0,
        !          1792:      0,     0,     0,     0,     0,  -666,   587,   260,   711,   712,
        !          1793:      0,    10,   437,   233,   234,     0,   235,    12,   474,   475,
        !          1794:    476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
        !          1795:    486,   487,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1796:     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
        !          1797:      0,   245,   246,   247,   248,   249,    21,     0,   713,   588,
        !          1798:      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
        !          1799:    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
        !          1800:    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
        !          1801:      0,     0,     0,   258,   714,     0,   587,   259,   711,   712,
        !          1802:      0,    10,   437,   233,   234,     0,   235,    12,   826,   260,
        !          1803:      0,     0,     0,     0,  1042,     0,     0,     0,     0,     0,
        !          1804:      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1805:     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
        !          1806:      0,   245,   246,   247,   248,   249,    21,     0,   713,   588,
        !          1807:      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
        !          1808:    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
        !          1809:    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
        !          1810:      0,     0,     0,   258,     0,     0,   587,   259,   711,   712,
        !          1811:      0,    10,   437,   233,   234,     0,   235,    12,  -384,   260,
        !          1812:      0,     0,     0,     0,  1042,     0,     0,     0,     0,     0,
        !          1813:      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1814:     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
        !          1815:      0,   245,   246,   247,   248,   249,    21,     0,   713,   588,
        !          1816:      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
        !          1817:    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
        !          1818:    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
        !          1819:      0,     0,     0,   258,     0,     0,  1158,   259,     7,     8,
        !          1820:     92,    10,   232,   233,   234,     0,   235,    12,  1071,   260,
        !          1821:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1822:      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1823:     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
        !          1824:      0,   245,   246,   247,   248,   249,    21,     0,    22,  1159,
        !          1825:      0,  1160,     0,     0,     0,     0,     0,   250,     0,     0,
        !          1826:    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
        !          1827:    254,     0,     0,     0,     0,     0,   255,   256,   257,   196,
        !          1828:      0,     0,     8,   258,    10,    11,     0,   259,     0,     0,
        !          1829:     12,     0,     0,     0,     0,     0,     0,     0,     0,   260,
        !          1830:      0,     0,     0,     0,     0,    15,     0,     0,     0,    16,
        !          1831:      0,     0,     0,    17,     0,   197,   198,     0,     0,     0,
        !          1832:      0,     0,   199,     0,     0,     0,     0,     0,     0,    21,
        !          1833:      0,    93,     0,   200,     0,   201,   202,   203,     0,   204,
        !          1834:    205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
        !          1835:    215,   216,   217,   218,   219,   220,   221,     0,     0,   222,
        !          1836:    223,   224,     0,   455,   225,     7,     8,   226,    10,   232,
        !          1837:    233,   234,     0,   235,    12,     0,     0,     0,     0,     0,
        !          1838:      0,     0,   227,     0,     0,     0,     0,     0,     0,    15,
        !          1839:    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
        !          1840:    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
        !          1841:    247,   248,   249,    21,     0,    22,  -237,     0,     0,     0,
        !          1842:      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
        !          1843:      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
        !          1844:      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
        !          1845:    258,     0,     0,   587,   259,     7,     8,     0,    10,   437,
        !          1846:    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
        !          1847:      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
        !          1848:    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
        !          1849:    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
        !          1850:    247,   248,   249,    21,     0,    22,   588,     0,     0,     0,
        !          1851:      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
        !          1852:      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
        !          1853:      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
        !          1854:    258,     0,     0,   455,   259,     7,     8,     0,    10,   232,
        !          1855:    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
        !          1856:      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
        !          1857:    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
        !          1858:    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
        !          1859:    247,   248,   249,    21,     0,    22,  -237,     0,     0,     0,
        !          1860:      0,     0,     0,     0,   250,     0,     0,  1177,     0,     0,
        !          1861:      0,     0,     0,     0,     0,   252,   253,  1178,     0,     0,
        !          1862:      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
        !          1863:   1179,     0,     0,  1229,   259,     7,     8,     0,    10,   232,
        !          1864:    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
        !          1865:      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
        !          1866:    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
        !          1867:    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
        !          1868:    247,   248,   249,    21,     0,    22,     0,     0,  -139,     0,
        !          1869:      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
        !          1870:      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
        !          1871:      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
        !          1872:    258,     0,     0,   721,   259,     7,     8,     0,    10,   437,
        !          1873:    233,   234,     0,   235,    12,     0,   260,     0,     0,     0,
        !          1874:      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
        !          1875:    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
        !          1876:    241,     0,   242,    19,   243,   244,     0,     0,   245,   246,
        !          1877:    247,   248,   249,    21,     0,    22,     0,     0,     0,     0,
        !          1878:      0,     0,     0,     0,   250,     0,     0,   251,     0,     0,
        !          1879:      0,     0,     0,     0,     0,   252,   253,   254,     0,     0,
        !          1880:      0,     0,     0,   255,   256,   257,     0,     0,     0,     0,
        !          1881:    258,     0,     0,     0,   259,     0,     0,     0,     0,     0,
        !          1882:      0,     0,     0,     0,  -656,   800,   260,     7,     8,     0,
        !          1883:     10,   437,   233,   234,     0,   235,    12,   475,   476,   477,
        !          1884:    478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
        !          1885:      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
        !          1886:      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
        !          1887:    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
        !          1888:      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
        !          1889:      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
        !          1890:      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
        !          1891:      0,     0,   258,     0,     0,   802,   259,     7,     8,     0,
        !          1892:     10,   437,   233,   234,     0,   235,    12,     0,   260,     0,
        !          1893:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1894:      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
        !          1895:      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
        !          1896:    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
        !          1897:      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
        !          1898:      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
        !          1899:      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
        !          1900:      0,     0,   258,     0,     7,     8,   259,    10,   437,   233,
        !          1901:    234,     0,   235,    12,     0,     0,     0,     0,   260,     0,
        !          1902:      0,     0,     0,     0,     0,     0,     0,     0,    15,   236,
        !          1903:    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
        !          1904:      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
        !          1905:    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
        !          1906:      0,     0,     0,   250,     0,     0,   251,     0,     0,     0,
        !          1907:      0,     0,     0,     0,   252,   253,   254,     0,     0,     0,
        !          1908:      0,     0,   255,   256,   257,     0,     0,     0,     0,   258,
        !          1909:      0,     0,     0,   259,     0,     0,     0,     0,     0,     0,
        !          1910:      0,     0,     0,     0,     0,   260,   760,   966,   967,    92,
        !          1911:     10,   232,   233,   234,     0,   235,    12,   968,     0,   969,
        !          1912:    970,   971,   972,   973,   974,   975,   976,   977,   978,    13,
        !          1913:     14,    15,   236,   237,   238,    16,     0,   239,     0,    17,
        !          1914:      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
        !          1915:    245,   246,   247,   248,   249,    21,     0,   979,   347,     0,
        !          1916:    980,     0,     0,     0,     0,     0,   250,     0,     0,   251,
        !          1917:      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
        !          1918:      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
        !          1919:      0,     0,   258,     0,   981,     0,   259,     0,     0,     0,
        !          1920:      0,     0,     0,     0,     0,     0,     0,  1110,   260,   966,
        !          1921:    967,    92,    10,   232,   233,   234,     0,   235,    12,   968,
        !          1922:      0,   969,   970,   971,   972,   973,   974,   975,   976,   977,
        !          1923:    978,    13,    14,    15,   236,   237,   238,    16,     0,   239,
        !          1924:      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
        !          1925:      0,     0,   245,   246,   247,   248,   249,    21,     0,   979,
        !          1926:    347,     0,   980,     0,     0,     0,     0,     0,   250,     0,
        !          1927:      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
        !          1928:    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
        !          1929:      0,     0,     0,     0,   258,     0,   981,     0,   259,   966,
        !          1930:    967,    92,    10,   232,   233,   234,     0,   235,    12,   968,
        !          1931:    260,   969,   970,   971,   972,   973,   974,   975,   976,   977,
        !          1932:    978,    13,    14,    15,   236,   237,   238,    16,     0,   239,
        !          1933:      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
        !          1934:      0,     0,   245,   246,   247,   248,   249,    21,     0,   979,
        !          1935:   1270,     0,   980,     0,     0,     0,     0,     0,   250,     0,
        !          1936:      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
        !          1937:    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
        !          1938:      0,     0,     0,     0,   258,     0,   981,     0,   259,   966,
        !          1939:    967,    92,    10,   232,   233,   234,     0,   235,    12,   968,
        !          1940:    260,   969,   970,   971,   972,   973,   974,   975,   976,   977,
        !          1941:    978,    13,    14,    15,   236,   237,   238,    16,     0,   239,
        !          1942:      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
        !          1943:      0,     0,   245,   246,   247,   248,   249,    21,     0,   979,
        !          1944:      0,     0,   980,     0,     0,     0,     0,     0,   250,     0,
        !          1945:      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
        !          1946:    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
        !          1947:      0,     0,     0,     0,   258,     0,   981,     0,   259,     7,
        !          1948:      8,    92,    10,   232,   233,   234,   354,   235,    12,     0,
        !          1949:    260,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1950:      0,     0,     0,    15,   236,   237,   238,    16,     0,   239,
        !          1951:      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
        !          1952:    510,     0,   245,   246,   247,   248,   249,    21,     0,    22,
        !          1953:      0,     0,     0,     0,     0,     0,     0,     0,   250,     0,
        !          1954:      0,   786,     0,     0,     0,     0,     0,     0,     0,   252,
        !          1955:    253,   787,     0,     0,     0,     0,     0,   255,   256,   257,
        !          1956:      0,   513,     0,     0,   788,   515,     0,     0,   259,   355,
        !          1957:      7,     8,    92,    10,   232,   233,   234,   354,   235,    12,
        !          1958:    260,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1959:      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
        !          1960:    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
        !          1961:    244,   510,     0,   245,   246,   247,   248,   249,    21,     0,
        !          1962:     22,     0,     0,     0,     0,     0,     0,     0,     0,   250,
        !          1963:      0,     0,   845,     0,     0,     0,     0,     0,     0,     0,
        !          1964:    252,   253,   846,     0,     0,     0,     0,     0,   255,   256,
        !          1965:    257,     0,   513,     0,     0,   847,   515,     0,     0,   259,
        !          1966:    355,     7,     8,     0,    10,   232,   233,   234,     0,   235,
        !          1967:     12,   260,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1968:      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
        !          1969:      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
        !          1970:    243,   244,   510,     0,   245,   246,   247,   248,   249,    21,
        !          1971:      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1972:    250,     0,     0,   786,     0,     0,     0,     0,     0,     0,
        !          1973:      0,   252,   253,   787,     0,     0,     0,     0,     0,   255,
        !          1974:    256,   257,     0,   513,     0,     0,   788,   515,     7,     8,
        !          1975:      0,    10,   232,   233,   234,     0,   235,    12,     0,     0,
        !          1976:      0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
        !          1977:      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
        !          1978:     17,     0,   240,   241,     0,   242,    19,   243,   244,   510,
        !          1979:      0,   245,   246,   247,   248,   249,    21,     0,    22,     0,
        !          1980:      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
        !          1981:    845,     0,     0,     0,     0,     0,     0,     0,   252,   253,
        !          1982:    846,     0,     0,     0,     0,     0,   255,   256,   257,     0,
        !          1983:    513,     0,     0,   847,   515,     7,     8,     0,    10,   232,
        !          1984:    233,   234,     0,   235,    12,     0,     0,     0,     0,   260,
        !          1985:      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
        !          1986:    236,   237,   238,    16,     0,   239,     0,    17,     0,   240,
        !          1987:    241,     0,   242,    19,   243,   244,   510,     0,   245,   246,
        !          1988:    247,   248,   249,    21,     0,    22,     0,     0,     0,     0,
        !          1989:      0,     0,     0,     0,   250,     0,     0,   940,     0,     0,
        !          1990:      0,     0,     0,     0,     0,   252,   253,   941,     0,     0,
        !          1991:      0,     0,     0,   255,   256,   257,     0,   513,     0,     0,
        !          1992:    788,   515,     7,     8,     0,    10,   232,   233,   234,     0,
        !          1993:    235,    12,     0,     0,     0,     0,   260,     0,     0,     0,
        !          1994:      0,     0,     0,     0,     0,     0,    15,   236,   237,   238,
        !          1995:     16,     0,   239,     0,    17,     0,   240,   241,     0,   242,
        !          1996:     19,   243,   244,     0,     0,   245,   246,   247,   248,   249,
        !          1997:     21,     0,    22,     0,     0,     0,     0,     0,     0,     0,
        !          1998:      0,   250,     0,     0,   251,     0,     0,     0,     0,   304,
        !          1999:      0,     0,   252,   253,   254,     0,     0,     0,     0,     0,
        !          2000:    255,   256,   257,     0,     0,     0,     0,   258,     0,     7,
        !          2001:      8,   259,    10,   437,   233,   234,     0,   235,    12,     0,
        !          2002:      0,     0,     0,   260,     0,     0,     0,     0,     0,     0,
        !          2003:      0,     0,     0,    15,   236,   237,   238,    16,     0,   239,
        !          2004:      0,    17,     0,   240,   241,     0,   242,    19,   243,   244,
        !          2005:      0,     0,   245,   246,   247,   248,   249,    21,     0,    22,
        !          2006:      0,     0,  1087,     0,     0,     0,     0,     0,   250,     0,
        !          2007:      0,   251,     0,     0,     0,     0,     0,     0,     0,   252,
        !          2008:    253,   254,     0,     0,     0,     0,     0,   255,   256,   257,
        !          2009:      0,     0,     0,     0,   258,     0,     7,     8,   259,    10,
        !          2010:    232,   233,   234,     0,   235,    12,     0,     0,     0,     0,
        !          2011:    260,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          2012:     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
        !          2013:    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
        !          2014:    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
        !          2015:      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
        !          2016:      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
        !          2017:      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
        !          2018:      0,   258,     0,     7,     8,   259,    10,   437,   233,   234,
        !          2019:      0,   235,    12,     0,     0,     0,     0,   260,     0,     0,
        !          2020:      0,     0,     0,     0,     0,     0,     0,    15,   236,   237,
        !          2021:    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
        !          2022:    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
        !          2023:    249,    21,     0,    22,   463,     0,     0,     0,     0,     0,
        !          2024:      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
        !          2025:      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
        !          2026:      0,   255,   256,   257,     0,     0,     7,     8,   464,    10,
        !          2027:    437,   233,   234,     0,   235,    12,     0,     0,     0,     0,
        !          2028:      0,     0,     0,     0,   260,     0,     0,     0,     0,     0,
        !          2029:     15,   236,   237,   238,    16,     0,   239,     0,    17,     0,
        !          2030:    240,   241,     0,   242,    19,   243,   244,     0,     0,   245,
        !          2031:    246,   247,   248,   249,    21,     0,    22,     0,     0,     0,
        !          2032:      0,     0,     0,     0,     0,   250,     0,     0,   251,     0,
        !          2033:      0,     0,     0,     0,     0,     0,   252,   253,   254,     0,
        !          2034:      0,     0,     0,     0,   255,   256,   257,     0,     0,     0,
        !          2035:      0,   258,   500,     7,     8,     0,    10,   437,   233,   234,
        !          2036:      0,   235,    12,     0,     0,     0,     0,   260,     0,     0,
        !          2037:      0,     0,     0,     0,     0,     0,     0,    15,   236,   237,
        !          2038:    238,    16,     0,   239,     0,    17,     0,   240,   241,     0,
        !          2039:    242,    19,   243,   244,     0,     0,   245,   246,   247,   248,
        !          2040:    249,    21,     0,    22,     0,     0,     0,     0,     0,     0,
        !          2041:      0,     0,   250,     0,     0,   251,     0,     0,     0,     0,
        !          2042:      0,     0,     0,   252,   253,   254,     0,     0,     0,     0,
        !          2043:      0,   255,   256,   257,     0,     0,     0,     0,   258,     0,
        !          2044:      7,   697,   259,    10,   437,   233,   234,     0,   235,    12,
        !          2045:      0,     0,     0,     0,   260,     0,     0,     0,     0,     0,
        !          2046:      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
        !          2047:    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
        !          2048:    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
        !          2049:     22,     0,     0,     0,     0,     0,     0,     0,     0,   250,
        !          2050:      0,     0,   251,     0,     0,     0,     0,     0,     0,     0,
        !          2051:    252,   253,   254,     0,     0,     0,     0,     0,   255,   256,
        !          2052:    257,     0,     0,     0,     0,   258,     0,     7,     8,   259,
        !          2053:     10,   437,   233,   234,     0,   235,    12,     0,     0,     0,
        !          2054:      0,   260,     0,     0,     0,     0,     0,     0,     0,     0,
        !          2055:      0,    15,   236,   237,   238,    16,     0,   239,     0,    17,
        !          2056:      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
        !          2057:    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
        !          2058:      0,     0,     0,     0,     0,     0,   250,     0,     0,   890,
        !          2059:      0,     0,     0,     0,     0,     0,     0,   252,   253,   891,
        !          2060:      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
        !          2061:      0,     0,   258,     0,     7,     8,   259,    10,   437,   233,
        !          2062:    234,     0,   235,    12,     0,     0,     0,     0,   260,     0,
        !          2063:      0,     0,     0,     0,     0,     0,     0,     0,    15,   236,
        !          2064:    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
        !          2065:      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
        !          2066:    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
        !          2067:      0,     0,     0,   250,     0,     0,  1177,     0,     0,     0,
        !          2068:      0,     0,     0,     0,   252,   253,  1178,     0,     0,     0,
        !          2069:      0,     0,   255,   256,   257,     0,     0,     0,     0,  1179,
        !          2070:      0,  1242,     8,   259,    10,   437,   233,   234,     0,   235,
        !          2071:     12,     0,     0,     0,     0,   260,     0,     0,     0,     0,
        !          2072:      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
        !          2073:      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
        !          2074:    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
        !          2075:      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        !          2076:    250,     0,     0,   251,     0,     0,     0,     0,     0,     0,
        !          2077:      0,   252,   253,   254,     0,     0,     0,     0,     0,   255,
        !          2078:    256,   257,     0,     0,     0,     0,   258,     0,     7,     8,
        !          2079:    259,    10,   437,   233,   234,     0,   235,    12,     0,     0,
        !          2080:      0,     0,   260,     0,     0,     0,     0,     0,     0,     0,
        !          2081:      0,     0,    15,   236,   237,   238,    16,     0,   239,     0,
        !          2082:     17,     0,   240,   241,     0,   242,    19,   243,   244,     0,
        !          2083:      0,   245,   246,   247,   248,   249,    21,     0,    22,     0,
        !          2084:      0,     0,     0,     0,     0,     0,     0,   250,     0,     0,
        !          2085:    251,     0,     0,     0,     0,     0,     0,     0,   252,   253,
        !          2086:    254,     0,     0,     0,     0,     0,   255,   256,   257,     0,
        !          2087:      0,     7,     8,   258,    10,   437,   233,   234,     0,   235,
        !          2088:     12,     0,     0,     0,     0,     0,     0,     0,     0,   260,
        !          2089:      0,     0,     0,     0,     0,    15,   236,   237,   238,    16,
        !          2090:      0,   239,     0,    17,     0,   240,   241,     0,   242,    19,
        !          2091:    243,   244,     0,     0,   245,   246,   247,   248,   249,    21,
        !          2092:      0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        !          2093:    250,     0,     0,   890,     0,     0,     0,     0,     0,     0,
        !          2094:      0,   252,   253,   891,     0,     0,     0,     0,     0,   255,
        !          2095:    256,   257,     0,     0,     7,     8,   258,    10,   232,   233,
        !          2096:    234,     0,   235,    12,     0,     0,     0,     0,     0,     0,
        !          2097:      0,     0,   260,     0,     0,     0,     0,     0,    15,   236,
        !          2098:    237,   238,    16,     0,   239,     0,    17,     0,   240,   241,
        !          2099:      0,   242,    19,   243,   244,     0,     0,   245,   246,   247,
        !          2100:    248,   249,    21,     0,    22,     0,     0,     0,     0,     0,
        !          2101:      0,     0,     0,   250,     0,     0,  1177,     0,     0,     0,
        !          2102:      0,     0,     0,     0,   252,   253,  1178,     0,     0,     0,
        !          2103:      0,     0,   255,   256,   257,     0,     0,     7,     8,  1179,
        !          2104:     10,   437,   233,   234,     0,   235,    12,     0,     0,     0,
        !          2105:      0,     0,     0,     0,     0,   260,     0,     0,     0,     0,
        !          2106:      0,    15,   236,     0,     0,    16,     0,   239,     0,    17,
        !          2107:      0,   240,   241,     0,   242,    19,   243,   244,     0,     0,
        !          2108:    245,   246,   247,   248,   249,    21,     0,    22,     0,     0,
        !          2109:      0,     0,     0,     0,     0,     0,   250,     0,     0,   251,
        !          2110:      0,     0,     0,     0,     0,     0,     0,   252,   253,   254,
        !          2111:      0,     0,     0,     0,     0,   255,   256,   257,     0,     0,
        !          2112:      7,     8,   441,    10,   437,   233,   234,     0,   235,    12,
        !          2113:      0,     0,     0,     0,     0,     0,     0,     0,   260,     0,
        !          2114:      0,     0,     0,     0,    15,   236,   237,   238,    16,     0,
        !          2115:    239,     0,    17,     0,   240,   241,     0,   242,    19,   243,
        !          2116:    244,     0,     0,   245,   246,   247,   248,   249,    21,     0,
        !          2117:     22,     0,     7,     8,   158,   159,   160,     0,     0,     0,
        !          2118:      0,    12,     0,     0,     0,     0,     0,     7,     8,   151,
        !          2119:     10,   152,     0,     0,     0,     0,    12,     0,   255,   256,
        !          2120:    257,     0,     0,     0,    17,   258,     0,     0,     0,   259,
        !          2121:     19,    15,     0,   510,     0,    16,     0,     0,     0,    17,
        !          2122:     21,   260,    22,     0,     0,    19,     0,     0,     0,     0,
        !          2123:      0,     0,     0,     0,   603,    21,     0,    22,     0,     0,
        !          2124:    153,     0,     0,     0,   604,     0,     0,     0,     0,    24,
        !          2125:      0,     0,    26,     0,   513,     0,     0,   605,   515,    25,
        !          2126:      0,     7,     8,    92,    10,    11,     0,    26,   618,     0,
        !          2127:     12,     0,    27,     0,     0,     0,     0,     0,   655,     8,
        !          2128:    151,    10,   152,     0,     0,    15,     0,    12,     0,    16,
        !          2129:      0,     0,     0,    17,     0,     0,     0,     0,     0,    19,
        !          2130:      0,     0,    15,     0,     0,     0,    16,     0,     0,    21,
        !          2131:     17,    22,     0,     0,     0,     0,    19,     0,     0,     0,
        !          2132:      0,     0,     0,    24,     0,     0,    21,     0,    22,     0,
        !          2133:      0,     0,     0,    25,     0,   658,     0,     0,     0,     0,
        !          2134:     24,    26,     0,     0,     0,     0,    27,     0,     0,     0,
        !          2135:     25,     7,     8,   151,    10,   152,     0,     0,    26,     0,
        !          2136:     12,     0,     0,    27,     0,     0,     0,     0,     7,     8,
        !          2137:    151,    10,   152,     0,     0,    15,     0,    12,     0,    16,
        !          2138:      0,     0,     0,    17,     0,     0,     0,     0,     0,    19,
        !          2139:      0,     0,    15,     0,     0,     0,    16,     0,     0,    21,
        !          2140:     17,    22,     0,     0,  1099,     0,    19,     0,     0,     0,
        !          2141:      0,     0,     8,    24,    10,   184,    21,     0,    22,     0,
        !          2142:     12,     0,     0,    25,     0,     0,     0,     0,     0,     0,
        !          2143:     24,    26,     0,     0,     0,    15,    27,     0,     0,    16,
        !          2144:     25,     0,     0,    17,     0,     0,     0,     0,    26,     0,
        !          2145:      0,     0,   510,    27,     0,     0,     0,     0,     0,    21,
        !          2146:      0,    93,     0,     0,     0,     0,     0,     0,     0,     0,
        !          2147:    466,   467,   468,   511,   469,   470,   471,   472,   473,   474,
        !          2148:    475,   476,   477,   512,   479,   480,   481,   482,   483,   484,
        !          2149:    485,   486,   487,   513,     0,     0,   514,   515,   466,   467,
        !          2150:    468,     0,   469,   470,   471,   472,   473,   474,   475,   476,
        !          2151:    477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
        !          2152:    487,   543,   682,   466,   467,   468,     0,   469,   470,   471,
        !          2153:    472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
        !          2154:    482,   483,   484,   485,   486,   487,  1040,   466,   467,   468,
        !          2155:      0,   469,   470,   471,   472,   473,   474,   475,   476,   477,
        !          2156:    478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
        !          2157:    466,   467,   468,  1204,   469,   470,   471,   472,   473,   474,
        !          2158:    475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
        !          2159:    485,   486,   487,   466,   467,   468,  1253,   469,   470,   471,
        !          2160:    472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
        !          2161:    482,   483,   484,   485,   486,   487,   466,   467,   468,     0,
        !          2162:    469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
        !          2163:    479,   480,   481,   482,   483,   484,   485,   486,   487,   468,
        !          2164:      0,   469,   470,   471,   472,   473,   474,   475,   476,   477,
        !          2165:    478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
        !          2166:    470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
        !          2167:    480,   481,   482,   483,   484,   485,   486,   487,   472,   473,
        !          2168:    474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
        !          2169:    484,   485,   486,   487,   473,   474,   475,   476,   477,   478,
        !          2170:    479,   480,   481,   482,   483,   484,   485,   486,   487
        !          2171: };
        !          2172: 
        !          2173: static const short yycheck[] = {     4,
        !          2174:      4,   188,   265,   136,   416,   284,   117,    12,   108,   109,
        !          2175:      4,   339,    12,   299,     4,    20,    20,   389,   388,    24,
        !          2176:     25,    52,    27,   284,   131,   347,   749,    71,    33,    33,
        !          2177:     20,    20,   154,   161,   162,   130,   131,   134,   129,    44,
        !          2178:    299,    46,   816,    33,   136,   988,  1155,    52,  1047,   181,
        !          2179:   1183,   299,    52,    34,    59,   988,     9,     1,     9,     4,
        !          2180:      9,    48,   995,    55,    88,    70,    71,   278,  1216,    70,
        !          2181:     34,   154,    77,    77,    10,     3,     4,    44,  1226,   407,
        !          2182:      7,    10,    87,    55,    55,    56,    87,    77,    77,    36,
        !          2183:     95,    96,     4,    98,     3,     4,   101,    98,    70,   104,
        !          2184:    105,    36,   185,   108,   109,    51,     4,    60,    53,   368,
        !          2185:     54,   103,     4,  1246,   119,   119,   121,   122,    44,    55,
        !          2186:    368,    62,   103,    69,    60,    53,    55,    54,    95,   119,
        !          2187:     75,    60,   136,    60,   139,   140,   141,    12,  1247,   103,
        !          2188:     56,    53,     4,   515,    53,  1144,  1279,    75,  1296,   102,
        !          2189:    337,   102,   363,   102,   121,    53,   103,    93,    76,    51,
        !          2190:    165,    53,    88,     4,    93,    92,   102,   154,   103,   301,
        !          2191:     88,    89,     4,    65,   161,   162,   102,    52,   183,   183,
        !          2192:    954,    99,  1163,    75,   125,    27,    44,   103,   193,   286,
        !          2193:    913,    53,    44,   183,   188,    60,    51,    89,   185,    56,
        !          2194:     58,   142,     0,    44,    69,    60,    58,   299,    55,    54,
        !          2195:     51,   398,    53,    75,    69,    60,   157,    44,   136,  1328,
        !          2196:   1329,    53,    56,    70,    65,   230,   231,   271,  1209,   440,
        !          2197:     88,    89,   107,  1166,    75,     0,    88,   344,   345,     6,
        !          2198:      7,    55,   229,    75,    85,    12,   103,    88,    89,   344,
        !          2199:    345,   346,   343,   532,     4,   388,     3,     4,    88,    89,
        !          2200:     60,    88,    89,    66,   392,   393,   271,   109,    35,   103,
        !          2201:    275,   393,   277,   278,   279,   102,   368,    44,   378,   379,
        !          2202:    285,     4,    85,   284,     7,    56,    56,    44,   102,   659,
        !          2203:   1223,   278,   420,    56,   299,   299,   388,    44,    51,   141,
        !          2204:    103,    23,   102,    53,    51,    60,    53,  1250,   313,    44,
        !          2205:    985,   316,   987,    56,  1257,   320,    69,  1250,   285,   324,
        !          2206:    324,    88,   650,    55,  1257,    75,    97,  1050,    51,    92,
        !          2207:     53,    88,    89,   103,   324,   324,    55,    10,    60,    88,
        !          2208:    258,    88,    65,   337,    45,   102,   149,   102,  1281,   102,
        !          2209:     56,    56,    75,    88,     4,   360,   361,   362,   363,   364,
        !          2210:    103,    56,   457,   368,   368,    60,    89,     3,  1311,   374,
        !          2211:    102,   376,    56,   378,   379,   250,   363,   136,  1311,   566,
        !          2212:    385,   299,    55,   102,   388,    58,   391,    60,   329,   394,
        !          2213:    384,     4,   195,   360,     7,   362,   363,   103,   103,     3,
        !          2214:      4,    51,   407,    53,   398,   392,   393,    55,   413,   414,
        !          2215:      1,   416,   416,   785,   784,    65,   421,    55,    56,   103,
        !          2216:     93,    54,   514,    69,    44,    75,   416,    60,   258,   521,
        !          2217:     44,    44,    23,   420,    25,    26,    88,    41,    51,    44,
        !          2218:     53,    32,   447,   448,   449,   450,   413,    55,    56,    53,
        !          2219:    368,    44,    65,   497,   102,    44,   643,    27,    44,    92,
        !          2220:     54,   402,    75,    54,    55,    56,    60,    58,    88,    60,
        !          2221:    388,    75,    85,    55,    88,    88,    89,    44,   419,    83,
        !          2222:    283,    44,    54,    88,    89,   592,     3,     4,    70,   676,
        !          2223:     56,   819,   497,    51,   499,    88,    89,   592,    92,    88,
        !          2224:     89,    92,    88,   421,   307,    44,   511,   512,     4,   514,
        !          2225:    514,     7,   640,   605,    56,   794,   521,   521,   804,   611,
        !          2226:    438,    88,   553,   441,    41,    88,   659,   790,   446,   447,
        !          2227:    448,   449,   450,   794,   862,    60,    53,   379,   108,   109,
        !          2228:     44,    54,   460,   373,    69,   804,   464,   552,   553,    88,
        !          2229:     92,   923,    44,   553,    58,    51,   804,    53,    75,     3,
        !          2230:      4,    44,     6,   103,   385,   552,    83,   659,    54,    65,
        !          2231:    681,   141,   566,   394,    55,    25,    26,    58,   496,    75,
        !          2232:    102,     3,     4,   342,    88,   552,     3,     4,   463,    70,
        !          2233:     55,    56,     3,     4,     3,     4,    88,    41,   603,   604,
        !          2234:    605,   605,   102,    51,    54,    88,   611,   611,   438,    53,
        !          2235:     60,   441,    60,   443,   444,   102,   446,    51,  1030,    41,
        !          2236:    102,    69,   627,   628,    41,   630,    60,    25,    26,   388,
        !          2237:    433,    53,    41,    37,   464,    69,    53,     9,   468,    83,
        !          2238:     51,   102,    53,    54,    53,   650,    54,    51,    56,   643,
        !          2239:    972,   784,    60,   640,   659,   659,    54,   103,    75,     6,
        !          2240:      7,    83,    60,    92,   494,    12,    83,     4,     3,     6,
        !          2241:    500,    97,    27,   678,    83,    12,    60,   436,   553,   521,
        !          2242:     25,    26,   676,   688,   689,   690,   873,   874,    35,   876,
        !          2243:     27,   678,   784,   105,    31,    88,   788,    89,    35,   136,
        !          2244:      3,     4,     5,     6,     7,   105,   509,   918,     5,     6,
        !          2245:      7,    51,   804,   588,    51,    12,    53,    78,    79,   660,
        !          2246:     60,   524,    55,    56,   665,   666,    55,    56,   669,    69,
        !          2247:    919,   920,    35,   922,   493,    89,   495,   496,    35,   839,
        !          2248:    840,   659,    60,   748,    88,   845,   846,    88,    51,    88,
        !          2249:     53,    54,    88,   108,   109,   847,  1078,  1079,    69,    54,
        !          2250:     69,    56,   521,   605,   769,    60,   771,    69,   527,   611,
        !          2251:   1092,    69,    54,   778,    56,     9,   987,   782,    60,   784,
        !          2252:    784,   786,   787,   788,   788,   102,   141,   103,    23,   794,
        !          2253:   1112,  1113,    55,   794,   102,    98,    99,   100,   102,   804,
        !          2254:    804,   806,   102,     3,     4,     5,     6,     7,   378,   379,
        !          2255:      3,     3,     4,   103,   688,   689,   690,   659,    54,    54,
        !          2256:     58,    56,   581,    58,     7,    60,    55,    56,    55,    56,
        !          2257:    748,   102,   837,   838,   839,   840,   102,  1159,   102,   844,
        !          2258:    845,   846,   847,   847,    58,    37,    38,  1328,  1329,    41,
        !          2259:    105,   693,   611,    53,   102,     4,   105,   862,    88,    51,
        !          2260:    778,    53,    32,    12,   235,   236,   784,   872,  1290,  1291,
        !          2261:    875,    20,   877,   877,   879,    24,    25,   105,    27,   873,
        !          2262:    874,   105,   876,   102,    33,   102,   804,   877,    75,    76,
        !          2263:     77,    78,    79,     4,   102,    44,     7,    46,    51,    25,
        !          2264:     26,     6,   105,    52,    88,   342,    32,    44,    58,    55,
        !          2265:     59,     5,     6,     7,   919,   920,    58,   922,    12,    58,
        !          2266:     56,    56,    71,    56,    56,    56,   756,   868,    77,    55,
        !          2267:     56,    55,    58,    44,   693,   940,   941,   102,  1125,  1126,
        !          2268:     51,    35,    53,   861,    58,   787,    95,    96,   953,   953,
        !          2269:    102,   388,   101,    55,    65,   830,   105,   102,   788,   108,
        !          2270:    109,   879,   102,   953,    75,     3,     4,   105,    88,     7,
        !          2271:    119,    60,   121,   122,    85,    55,    55,    88,    89,    60,
        !          2272:    985,   986,   987,    58,    88,  1080,   102,   102,    70,  1176,
        !          2273:    139,   140,   141,   752,   999,  1000,   102,  1002,   840,   436,
        !          2274:    987,   102,   102,    41,   846,   847,   765,   102,   767,  1220,
        !          2275:    102,    70,    70,    51,    70,    53,   165,   847,   985,   102,
        !          2276:    987,    60,    55,   378,   379,  1030,  1030,    65,    60,   102,
        !          2277:    905,   861,    60,   102,   183,   605,   102,    75,   105,   842,
        !          2278:   1030,   611,   103,    89,   193,    83,    83,   102,   105,   891,
        !          2279:     88,    44,   102,   102,     3,     4,   493,   105,   495,   496,
        !          2280:   1171,   105,   821,   103,   823,    34,   825,   102,     4,     5,
        !          2281:      6,     7,  1331,   102,    10,   102,    12,  1177,  1178,   102,
        !          2282:    102,   230,   231,  1331,  1025,  1026,   961,    58,  1183,   659,
        !          2283:    527,    27,    41,  1280,    58,    31,   102,  1102,    88,    35,
        !          2284:     88,    88,    51,   978,    53,     7,    88,    56,    10,    88,
        !          2285:    105,   103,     6,   102,   105,    51,    65,    53,   102,   102,
        !          2286:     60,   102,   271,   103,   102,   102,    75,   102,   277,   278,
        !          2287:    279,  1125,  1126,    88,    83,   284,   285,   102,    60,    88,
        !          2288:     56,   944,    44,    56,   581,     7,    54,   977,    14,    56,
        !          2289:    299,  1246,    58,    55,   102,   102,    58,    93,    60,  1034,
        !          2290:   1101,   341,    60,    60,   313,    44,   105,   316,    70,    88,
        !          2291:     56,   320,  1177,  1178,  1179,   324,    56,    88,    88,  1173,
        !          2292:   1121,    58,  1176,    58,  1279,   102,    88,    89,   102,    15,
        !          2293:    339,    93,    56,   105,     4,     5,    56,  1072,   102,   102,
        !          2294:    102,    56,   103,   102,    56,    56,  1036,  1037,  1038,  1039,
        !          2295:    102,   360,   361,   362,   363,   364,  1221,    58,  1048,   368,
        !          2296:     58,    31,     9,    56,   102,   374,    36,   376,   102,   378,
        !          2297:    379,    56,    56,  1220,    88,    55,   385,  1332,    56,  1331,
        !          2298:     88,    51,   391,    53,   102,   394,     4,     5,    91,   102,
        !          2299:    605,  1081,   102,   102,  1221,    58,   611,   102,   407,  1089,
        !          2300:   1102,  1179,     9,    56,   413,   414,     1,   416,   102,   839,
        !          2301:    840,   102,   421,    31,    56,   845,   846,   847,    36,     9,
        !          2302:      0,     0,   118,   326,     2,     1,  1280,   119,    23,   804,
        !          2303:     25,    26,   119,    51,   129,    53,   819,    32,   447,   448,
        !          2304:    449,   450,    99,   460,   659,  1144,  1154,    23,  1185,    25,
        !          2305:     26,  1252,   509,  1081,   986,   752,    32,   684,  1197,    54,
        !          2306:     55,    56,  1197,    58,   799,    60,  1331,  1331,   765,   588,
        !          2307:    767,    33,    33,  1163,   862,   650,  1178,  1179,    54,    55,
        !          2308:     56,   809,    58,  1102,    60,   877,   953,    12,   497,  1179,
        !          2309:    499,     4,   414,   497,  1184,  1185,   875,    92,     4,     5,
        !          2310:      6,     7,   511,   512,    10,   514,    12,    20,   540,   797,
        !          2311:   1270,   833,   521,  1304,  1306,    -1,    92,    44,   879,  1209,
        !          2312:     33,    27,   368,   532,   821,    31,   823,    -1,   825,    35,
        !          2313:     -1,     3,     4,    46,    71,    72,    73,    74,    75,    76,
        !          2314:     77,    78,    79,   552,   553,    51,    59,    53,    -1,    -1,
        !          2315:     -1,    -1,    -1,  1331,    81,    82,    -1,    -1,    71,    86,
        !          2316:     87,    88,    89,    76,    77,    -1,    -1,    -1,    -1,    41,
        !          2317:     -1,    -1,    44,    -1,    -1,    88,    89,    -1,    -1,    51,
        !          2318:   1199,    53,   622,    96,  1274,    -1,    99,    -1,    60,    -1,
        !          2319:     -1,    -1,    -1,    65,   603,   604,   605,    -1,    -1,    -1,
        !          2320:   1290,  1291,   611,    75,    -1,    -1,   119,    -1,    -1,   122,
        !          2321:     -1,    83,    -1,  1303,    -1,    -1,    88,    -1,   627,   628,
        !          2322:     -1,   630,    -1,   136,   839,   840,    -1,    -1,    -1,    -1,
        !          2323:    845,   846,   847,    -1,    -1,    -1,     4,     5,     6,     7,
        !          2324:     -1,   650,    -1,    -1,    12,    -1,  1265,    -1,     3,     4,
        !          2325:    659,    -1,     7,   139,   140,   141,    71,    -1,    -1,    27,
        !          2326:     -1,    76,    -1,    31,    -1,    -1,    -1,    35,    -1,   678,
        !          2327:    183,    -1,  1102,    88,    89,    -1,    -1,    -1,    -1,   688,
        !          2328:    689,   690,    -1,    51,    99,    53,    41,    -1,    -1,    44,
        !          2329:     -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    53,    -1,
        !          2330:     -1,    69,    -1,    -1,    -1,    -1,   251,    24,    25,   254,
        !          2331:     65,   751,   257,    -1,    -1,    -1,    -1,   230,   263,    -1,
        !          2332:     75,   136,    -1,    -1,    -1,    -1,    -1,   272,    83,    -1,
        !          2333:     85,    -1,    -1,    88,    89,    -1,    -1,    -1,    -1,   748,
        !          2334:     -1,    -1,    -1,    -1,    -1,   258,    -1,  1177,  1178,  1179,
        !          2335:     -1,    -1,    -1,     4,    71,     6,     7,    -1,   271,    76,
        !          2336:    769,    12,   771,    -1,    -1,    -1,   279,    -1,   808,   778,
        !          2337:     -1,    88,    89,   782,    -1,   784,    27,   786,   787,   788,
        !          2338:     31,    -1,    99,    -1,    35,   794,   299,    -1,    -1,    -1,
        !          2339:     -1,   108,   109,    -1,    -1,   804,    -1,   806,    -1,    -1,
        !          2340:     51,    -1,    53,    -1,    -1,    -1,    -1,    -1,   577,    -1,
        !          2341:    819,   324,   852,    -1,    -1,    -1,    -1,    -1,    -1,   136,
        !          2342:     -1,    -1,   139,   140,    -1,    -1,    -1,    -1,   837,   838,
        !          2343:    839,   840,    -1,    -1,    -1,   844,   845,   846,   847,    -1,
        !          2344:     -1,    -1,    -1,   258,    -1,    -1,    -1,    -1,   361,    -1,
        !          2345:     -1,   364,    -1,   862,    -1,   368,   271,    -1,    -1,    -1,
        !          2346:     -1,    -1,   631,   872,   904,   905,   875,    -1,   877,    -1,
        !          2347:    879,    -1,    -1,   642,    -1,   388,    73,    74,    75,    76,
        !          2348:     77,    78,    79,    -1,   299,    -1,    -1,  1102,   374,    -1,
        !          2349:    376,    69,   378,   379,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2350:    445,   414,  1199,   416,    -1,   391,    -1,    -1,   421,    -1,
        !          2351:    919,   920,    -1,   922,    -1,    -1,    -1,     3,     4,    -1,
        !          2352:     -1,   961,    -1,    -1,    -1,   438,    -1,   413,   441,    -1,
        !          2353:     -1,   940,   941,   446,   447,   448,   449,   450,   116,    -1,
        !          2354:     -1,   258,    -1,    -1,   953,    -1,    -1,   460,    -1,    -1,
        !          2355:     -1,   464,    -1,   368,   271,    41,    -1,   135,    44,    -1,
        !          2356:     -1,    -1,  1177,  1178,  1179,    51,    -1,    53,  1265,    -1,
        !          2357:     -1,    -1,   150,   388,    -1,    -1,   985,   986,   987,    65,
        !          2358:     -1,    -1,   299,   496,   497,    -1,    -1,    -1,    -1,    75,
        !          2359:    999,  1000,    -1,  1002,    -1,  1035,    -1,    83,    -1,    85,
        !          2360:   1040,   514,    88,    89,    -1,    -1,   421,    -1,   521,    -1,
        !          2361:     -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
        !          2362:      7,  1030,    -1,   438,    -1,    12,   441,    -1,    -1,    -1,
        !          2363:     -1,   446,   447,   448,   449,   450,    -1,    -1,    25,    26,
        !          2364:     27,    -1,   811,    -1,    31,   460,    -1,    -1,    35,   464,
        !          2365:     -1,   368,    39,    -1,    41,    -1,    -1,    -1,    45,    -1,
        !          2366:     -1,   378,   379,    -1,    51,    -1,    53,    -1,    -1,    56,
        !          2367:     -1,   388,    -1,    -1,  1114,  1115,    -1,    -1,    65,    -1,
        !          2368:     -1,   496,   497,    -1,    -1,    -1,    -1,    -1,    75,    -1,
        !          2369:     -1,   860,   605,  1102,    -1,    -1,    83,    -1,   611,   514,
        !          2370:    869,    88,    -1,  1143,   421,    -1,   521,    94,    95,   878,
        !          2371:     -1,    -1,    -1,     3,     4,    -1,    -1,   603,   604,   605,
        !          2372:     -1,   438,    -1,    -1,   441,   611,    -1,    -1,    -1,   446,
        !          2373:    447,   448,   449,   450,    -1,    -1,    -1,    -1,    10,    -1,
        !          2374:     -1,   627,   628,   460,   630,    -1,   659,   464,  1188,    -1,
        !          2375:     -1,    41,    -1,    25,    26,  1195,  1196,    -1,    -1,    -1,
        !          2376:     32,    51,    -1,    53,  1204,    -1,    56,    -1,  1177,  1178,
        !          2377:   1179,    -1,    44,   659,    -1,    65,    -1,    -1,    -1,   496,
        !          2378:    497,    -1,    -1,    55,    56,    75,    58,    -1,    60,     4,
        !          2379:    605,    -1,     7,    83,   511,   512,   611,   514,    88,    -1,
        !          2380:     -1,    -1,    -1,   381,   521,    -1,    -1,    -1,    -1,   387,
        !          2381:     -1,    -1,  1221,    -1,    -1,   760,    88,    89,    -1,    -1,
        !          2382:     92,    93,    -1,  1263,  1264,    -1,    -1,    -1,    -1,    44,
        !          2383:    102,    -1,    -1,    -1,    -1,   748,    51,    -1,    53,   752,
        !          2384:     -1,   786,   787,    -1,   659,  1014,  1015,    -1,    -1,    -1,
        !          2385:     65,    -1,    -1,   431,   432,    -1,   434,    -1,  1027,  1028,
        !          2386:     75,    -1,    -1,    -1,    -1,   778,    -1,    -1,    -1,    -1,
        !          2387:     85,   784,    -1,    88,    89,   788,     4,     5,     6,     7,
        !          2388:     -1,    -1,    -1,    -1,    12,    -1,   603,   604,   605,    -1,
        !          2389:   1330,   804,    -1,   806,   611,    -1,    -1,    -1,    -1,    27,
        !          2390:    845,   846,    -1,    31,    -1,    -1,    -1,    35,    -1,    -1,
        !          2391:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   832,
        !          2392:     -1,    -1,  1331,    51,    -1,    53,    -1,    -1,   277,   278,
        !          2393:    279,    -1,    -1,   748,   847,    -1,    -1,    -1,    -1,   517,
        !          2394:    518,    -1,   659,    -1,   522,   890,   891,    -1,   861,    -1,
        !          2395:     -1,   837,   838,   839,   840,  1124,     3,     4,   844,   845,
        !          2396:    846,   847,    -1,   778,   877,    -1,   879,    -1,    -1,   784,
        !          2397:     -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2398:    925,    -1,    -1,    -1,    -1,    -1,   872,    -1,    -1,   804,
        !          2399:     -1,    -1,    -1,    -1,    41,   940,   941,    -1,    -1,    -1,
        !          2400:     -1,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,    -1,
        !          2401:     -1,   360,    -1,   362,   363,   364,    -1,    -1,    65,   597,
        !          2402:    598,  1190,  1191,    -1,  1193,  1194,    -1,    -1,    75,   607,
        !          2403:     -1,   748,   847,    -1,    -1,   613,    83,    -1,    -1,    -1,
        !          2404:    953,    88,    -1,    -1,    -1,    -1,   861,    -1,    -1,    -1,
        !          2405:     -1,     1,    -1,     3,     4,     5,     6,     7,    -1,    -1,
        !          2406:     -1,   778,    12,    -1,   879,    -1,    -1,   784,    -1,   786,
        !          2407:    787,   788,    -1,   986,    -1,   988,    -1,    27,    -1,   657,
        !          2408:     -1,    31,   995,    -1,    -1,    35,    36,   804,    -1,     3,
        !          2409:      4,    41,    -1,     7,    -1,    -1,    -1,    -1,     3,     4,
        !          2410:     -1,    51,     7,    53,    -1,    -1,    56,    -1,    -1,    -1,
        !          2411:     60,    -1,    -1,   999,  1000,    65,  1002,  1030,    -1,    -1,
        !          2412:     -1,    -1,   839,   840,    76,    75,    -1,    41,   845,   846,
        !          2413:    847,  1300,    -1,    83,    -1,    -1,    41,    51,    88,    53,
        !          2414:     -1,    -1,    -1,    -1,   861,    -1,    51,    99,    53,    -1,
        !          2415:     -1,    65,    -1,   103,    -1,    -1,    -1,    -1,     3,     4,
        !          2416:     65,    75,   879,   512,    -1,   514,    -1,    -1,  1081,    83,
        !          2417:     75,    -1,   521,    -1,    88,    -1,   754,   755,    83,   757,
        !          2418:     -1,    -1,    -1,    88,   136,    -1,    -1,     1,    -1,     3,
        !          2419:      4,     5,     6,     7,    -1,    -1,    41,    -1,    12,    -1,
        !          2420:     -1,    -1,    -1,   552,    -1,   783,    51,    -1,    53,    -1,
        !          2421:     -1,    -1,    -1,    27,    -1,    60,  1102,    31,    -1,    -1,
        !          2422:     65,    35,    36,   940,   941,    -1,    -1,    41,    -1,    -1,
        !          2423:     75,    -1,  1177,  1178,    -1,    -1,    -1,    51,    83,    53,
        !          2424:     -1,    -1,  1155,    88,    -1,    -1,    60,    -1,    -1,    -1,
        !          2425:   1163,    65,    -1,  1166,    -1,   604,   605,    -1,    -1,    -1,
        !          2426:     -1,    75,   611,    -1,    -1,   843,  1179,    -1,    -1,    83,
        !          2427:     -1,  1184,  1185,    -1,    88,    -1,    -1,   855,   856,   857,
        !          2428:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
        !          2429:     -1,  1177,  1178,  1179,    -1,    -1,  1209,    -1,    -1,    -1,
        !          2430:     -1,    -1,    -1,  1216,    -1,    -1,    -1,   259,    -1,    -1,
        !          2431:   1223,    -1,     4,  1226,     6,     7,    -1,    -1,    -1,    -1,
        !          2432:     12,    -1,    -1,    -1,     3,     4,     5,     6,     7,   678,
        !          2433:     -1,    -1,    -1,    12,  1247,    27,    -1,  1250,    -1,    31,
        !          2434:     -1,    -1,    -1,    35,  1257,    -1,    -1,     1,  1163,     3,
        !          2435:      4,     5,     6,     7,    -1,   933,    35,    -1,    12,    51,
        !          2436:     -1,    53,    41,    -1,  1179,    44,    -1,    -1,  1281,  1184,
        !          2437:   1185,    -1,    51,    27,    53,    -1,    -1,    31,    -1,    -1,
        !          2438:     -1,    35,    36,  1296,    -1,    -1,    65,    41,    -1,   341,
        !          2439:    342,    -1,    -1,    -1,  1209,    -1,    75,    51,  1311,    53,
        !          2440:     -1,    -1,    56,    -1,    83,    -1,    60,    -1,    -1,    88,
        !          2441:     -1,    65,    -1,    -1,    -1,  1328,  1329,    -1,  1331,    -1,
        !          2442:    769,    75,   771,    -1,    -1,    -1,    -1,    -1,    -1,    83,
        !          2443:     -1,    -1,    -1,   782,    88,    -1,   388,    -1,   787,   788,
        !          2444:   1018,    -1,    -1,    -1,    -1,    -1,  1163,    -1,    -1,   103,
        !          2445:     -1,    -1,    -1,    -1,    -1,     4,    -1,     6,     7,   411,
        !          2446:   1177,  1178,  1179,    12,    -1,    -1,    -1,  1184,  1185,    -1,
        !          2447:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,
        !          2448:     -1,    -1,    31,    -1,   436,  1063,    35,    -1,   837,   838,
        !          2449:     -1,   840,  1209,    -1,    -1,   844,    -1,   846,   847,     3,
        !          2450:      4,    -1,    51,     7,    53,    54,    -1,    -1,   460,    -1,
        !          2451:     -1,   463,    -1,    -1,   466,   467,  1331,   469,   470,   471,
        !          2452:    472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
        !          2453:    482,   483,   484,   485,   486,   487,    -1,    41,    -1,    88,
        !          2454:     44,   493,    -1,   495,   496,    -1,    -1,    51,    -1,    53,
        !          2455:      3,     4,     5,     6,     7,    -1,    -1,    10,    -1,    12,
        !          2456:     -1,    65,     4,    -1,     6,     7,    -1,    -1,    -1,   521,
        !          2457:     12,    75,    -1,    -1,    27,   527,     4,    -1,    31,    83,
        !          2458:     -1,    85,    35,    -1,    88,    89,    -1,    -1,    41,    -1,
        !          2459:    542,   543,   941,    35,    -1,    -1,    24,    25,    51,    27,
        !          2460:     53,    -1,    44,    -1,    -1,    33,    -1,    -1,    -1,    51,
        !          2461:     -1,    53,    65,    -1,  1331,    -1,    44,    -1,    46,    -1,
        !          2462:     -1,    -1,    75,    65,    -1,    -1,    -1,    -1,    -1,   581,
        !          2463:     83,    -1,    -1,    75,    -1,    88,   588,    -1,    66,    -1,
        !          2464:     93,    -1,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,
        !          2465:    999,  1000,     1,  1002,     3,     4,     5,     6,     7,   611,
        !          2466:     -1,    -1,    -1,    12,    -1,    -1,    -1,    95,    -1,    -1,
        !          2467:    622,    -1,    -1,   101,    -1,   103,    -1,   105,    27,    -1,
        !          2468:    108,   109,    31,    -1,    -1,    -1,    35,    -1,    -1,    -1,
        !          2469:     -1,   119,    41,   121,   122,    -1,    45,    -1,    -1,    -1,
        !          2470:     -1,    -1,    51,    -1,    53,    -1,   658,    56,    -1,    -1,
        !          2471:     -1,   139,   140,   141,    -1,    -1,    65,    -1,    -1,    -1,
        !          2472:     -1,   149,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
        !          2473:     -1,    -1,    -1,    -1,    83,    -1,    -1,   165,    -1,    88,
        !          2474:     -1,   693,    -1,    -1,    -1,    94,     1,    -1,     3,     4,
        !          2475:     -1,     6,     7,     8,     9,   183,    11,    12,    -1,    -1,
        !          2476:     -1,    -1,   714,    -1,    -1,   193,    -1,    -1,    -1,    -1,
        !          2477:     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2478:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
        !          2479:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,   751,
        !          2480:    752,    -1,    -1,    -1,    -1,    60,    -1,    62,    -1,    -1,
        !          2481:     65,    -1,    -1,   765,    -1,   767,    -1,    -1,    73,    74,
        !          2482:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
        !          2483:     -1,    -1,    -1,    88,    -1,    -1,    -1,    92,    -1,    -1,
        !          2484:     -1,    -1,    -1,    -1,   796,    -1,    -1,   275,    -1,   104,
        !          2485:     -1,    -1,    -1,    -1,    -1,   283,   808,   285,    -1,     3,
        !          2486:      4,    -1,     6,     7,     8,     9,    -1,    11,    12,   821,
        !          2487:     -1,   823,    -1,   825,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2488:     -1,    -1,    -1,    27,    28,   313,    -1,    31,   316,    33,
        !          2489:     -1,    35,   320,    37,    38,    -1,    40,    41,    42,    43,
        !          2490:    852,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
        !          2491:     -1,    -1,    -1,    -1,   866,   867,    -1,    -1,    62,    -1,
        !          2492:     -1,    65,    -1,    -1,    -1,    -1,    -1,     3,     4,    73,
        !          2493:     74,    75,   360,   361,   362,   363,    -1,    81,    82,    83,
        !          2494:    368,    -1,    -1,    -1,    88,    -1,   374,    -1,   376,    -1,
        !          2495:    378,   379,   904,   905,    -1,    -1,   908,   385,    -1,    -1,
        !          2496:    104,    -1,    -1,   391,    -1,    41,   394,    -1,     1,    -1,
        !          2497:      3,     4,     5,     6,     7,    51,    -1,    53,    -1,    12,
        !          2498:     -1,     3,     4,    -1,    60,   413,   414,    -1,   416,    65,
        !          2499:     -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,    31,    75,
        !          2500:     -1,    -1,    35,    36,    -1,    -1,    -1,    83,    41,   961,
        !          2501:     -1,    -1,    88,    -1,    -1,    -1,    -1,     4,    51,    41,
        !          2502:     53,   973,    -1,    -1,     3,     4,    -1,    60,     7,    51,
        !          2503:     -1,    53,    65,    -1,    -1,    -1,    -1,    24,    25,    -1,
        !          2504:     27,    -1,    75,    65,    -1,    -1,    33,    -1,    -1,    -1,
        !          2505:     83,    -1,    -1,    75,    -1,    88,    -1,    44,    -1,    46,
        !          2506:     -1,    83,    41,    -1,    -1,    44,    88,    -1,    -1,  1021,
        !          2507:    103,    -1,    51,    -1,    53,     3,     4,     5,     6,     7,
        !          2508:     -1,   509,    10,  1035,    12,    -1,    65,    -1,  1040,    -1,
        !          2509:   1042,    -1,    -1,   521,    -1,    -1,    75,    -1,    -1,    27,
        !          2510:     -1,    -1,    -1,    31,    83,    -1,    85,    35,    95,    88,
        !          2511:     89,    -1,    -1,    41,   101,    -1,    44,    -1,   105,    -1,
        !          2512:     -1,   108,   109,    51,   552,    53,    -1,    -1,    -1,    -1,
        !          2513:     -1,    -1,   119,    -1,   121,   122,    -1,    65,    -1,    -1,
        !          2514:     -1,     4,    -1,     6,     7,    -1,    -1,    75,    -1,    12,
        !          2515:   1102,    -1,   139,   140,   141,    83,    -1,    85,    -1,    -1,
        !          2516:     88,    89,  1114,  1115,    27,    93,    -1,    -1,    31,    -1,
        !          2517:   1122,  1123,    35,    -1,    -1,   603,   604,   605,   165,    -1,
        !          2518:     -1,    -1,    -1,   611,    -1,    -1,    -1,    -1,    51,    -1,
        !          2519:     53,  1143,    -1,    -1,    -1,    -1,   183,    -1,    -1,   627,
        !          2520:    628,    -1,   630,    -1,    -1,    -1,   193,    -1,    -1,    -1,
        !          2521:     -1,    -1,  1164,    68,    69,    70,    71,    72,    73,    74,
        !          2522:     75,    76,    77,    78,    79,    88,    -1,     1,    -1,     3,
        !          2523:      4,   659,     6,     7,     8,     9,  1188,    11,    12,    -1,
        !          2524:     -1,    -1,    -1,  1195,  1196,    -1,    -1,  1199,    -1,    -1,
        !          2525:     -1,    -1,  1204,    27,    28,    29,    30,    31,    -1,    33,
        !          2526:     -1,    35,    -1,    37,    38,   693,    40,    41,    42,    43,
        !          2527:     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
        !          2528:     54,    -1,    -1,    -1,     3,     4,    -1,    -1,    62,    -1,
        !          2529:     -1,    65,    -1,    -1,    -1,    -1,    -1,   284,   285,    73,
        !          2530:     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
        !          2531:     -1,  1263,  1264,  1265,    88,    89,    -1,    -1,    92,    -1,
        !          2532:     -1,    -1,    41,    -1,    -1,    -1,   313,    -1,    -1,   316,
        !          2533:    104,    -1,    51,   320,    53,    -1,    -1,    -1,    -1,    -1,
        !          2534:     27,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,
        !          2535:     -1,    -1,   339,    -1,    -1,    -1,    75,    44,   786,   787,
        !          2536:     -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    88,
        !          2537:     -1,    -1,    -1,   360,   361,   362,   363,    -1,  1330,    -1,
        !          2538:     -1,   368,    -1,    -1,    -1,    -1,    -1,   374,    -1,   376,
        !          2539:     -1,   378,   379,    -1,    -1,    -1,    -1,    -1,   385,    -1,
        !          2540:     -1,    -1,    -1,    -1,   391,    -1,    -1,   394,    95,   837,
        !          2541:    838,   839,   840,    -1,   842,    -1,   844,   845,   846,   847,
        !          2542:     -1,   108,   109,    -1,    -1,    -1,   413,   414,    -1,   416,
        !          2543:     -1,    -1,    -1,    -1,   121,    -1,    -1,    -1,    -1,    -1,
        !          2544:     -1,    -1,    -1,    -1,   872,    -1,    -1,   875,    -1,   877,
        !          2545:     -1,    -1,   139,   140,   141,    -1,    -1,    -1,    -1,    -1,
        !          2546:     -1,    -1,   890,   891,    -1,     1,    -1,     3,     4,     5,
        !          2547:      6,     7,     8,     9,    -1,    11,    12,    13,   165,    15,
        !          2548:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2549:     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2550:     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
        !          2551:     46,    47,    48,    49,    50,    51,   944,    53,    54,    -1,
        !          2552:     56,    -1,    -1,    -1,    -1,   953,    62,    -1,    -1,    65,
        !          2553:     -1,    -1,    -1,    -1,   521,    -1,    -1,    73,    74,    75,
        !          2554:     -1,    -1,    -1,    -1,   231,    81,    82,    83,    -1,    -1,
        !          2555:     -1,    -1,    88,    -1,    90,    -1,    92,   985,   986,   987,
        !          2556:     -1,    -1,    -1,    -1,    -1,   552,    -1,   103,   104,    -1,
        !          2557:     -1,   999,  1000,    -1,  1002,     3,     4,    -1,    -1,     7,
        !          2558:     -1,     4,     5,     6,     7,    -1,    -1,    10,    -1,    12,
        !          2559:    277,   278,   279,    -1,    -1,    -1,    -1,    -1,   285,    -1,
        !          2560:     -1,    -1,  1030,    -1,    27,    -1,    -1,    -1,    31,    -1,
        !          2561:     -1,    -1,    35,    41,    -1,    -1,   603,   604,   605,    -1,
        !          2562:     -1,    44,    -1,    51,   611,    53,    -1,    -1,    51,    -1,
        !          2563:     53,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
        !          2564:    627,   628,    65,   630,    -1,    -1,    -1,    75,    -1,    -1,
        !          2565:     -1,    -1,    75,    -1,    -1,    83,    -1,    -1,    -1,    -1,
        !          2566:     88,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,    -1,
        !          2567:     93,    -1,   659,   360,  1102,   362,   363,   364,    -1,     1,
        !          2568:     -1,     3,     4,     5,     6,     7,    -1,   374,    -1,   376,
        !          2569:     12,   378,   379,    -1,    -1,    -1,     3,     4,   385,    -1,
        !          2570:      7,   277,   278,   279,   391,    27,   693,   394,    -1,    31,
        !          2571:     -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    44,    41,
        !          2572:     -1,    -1,    -1,    -1,    -1,    -1,   413,    -1,    -1,    51,
        !          2573:     -1,    53,    -1,    -1,    41,    -1,    -1,    44,    -1,    -1,
        !          2574:     66,    -1,    -1,    65,    51,    -1,    53,    -1,    -1,  1177,
        !          2575:   1178,  1179,    -1,    75,    -1,    -1,     3,     4,    65,    85,
        !          2576:      7,    83,    -1,    -1,    -1,    -1,    88,    -1,    75,    95,
        !          2577:     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,
        !          2578:     -1,    88,    89,    -1,   360,    -1,   362,   363,   364,    -1,
        !          2579:     -1,    -1,    -1,  1221,    41,   121,    -1,    -1,    -1,   786,
        !          2580:    787,    -1,    -1,    -1,    51,    -1,    53,   794,    -1,    -1,
        !          2581:     -1,    -1,   499,   139,   140,   141,    -1,    -1,    65,    -1,
        !          2582:     -1,    -1,    -1,   149,   511,   512,    -1,   514,    75,    -1,
        !          2583:     -1,    -1,   819,    -1,   521,    -1,    83,    -1,    -1,   165,
        !          2584:     -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2585:    837,   838,   839,   840,    -1,    -1,    -1,   844,   845,   846,
        !          2586:    847,    -1,    -1,    -1,    -1,   552,    -1,    -1,    -1,   195,
        !          2587:     -1,    -1,     4,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2588:     -1,    -1,    -1,    -1,    -1,   872,    -1,    -1,   875,    -1,
        !          2589:    877,    -1,    24,    25,    -1,    -1,    -1,     4,    -1,     6,
        !          2590:      7,    33,    -1,   890,   891,    12,    -1,    -1,    -1,    -1,
        !          2591:     -1,    -1,    -1,    -1,    46,    -1,   603,   604,   605,    -1,
        !          2592:     -1,    -1,    -1,    -1,   611,    -1,    -1,    -1,    35,    -1,
        !          2593:     -1,    -1,    -1,    -1,    -1,   511,   512,    44,   514,    -1,
        !          2594:    627,   628,    -1,   630,    51,   521,    53,    -1,     4,     5,
        !          2595:      6,     7,    -1,    -1,    -1,    -1,    12,   283,    65,   285,
        !          2596:     -1,    -1,    -1,    -1,    -1,    -1,   953,    -1,    75,   101,
        !          2597:     -1,    27,   659,   105,    -1,    31,   552,    -1,    85,    35,
        !          2598:     -1,    88,    89,    -1,    -1,    -1,    -1,   119,    -1,    -1,
        !          2599:    122,   678,     3,     4,    -1,    51,     7,    53,   985,   986,
        !          2600:    987,   688,   689,   690,    -1,    -1,    -1,   139,   140,    -1,
        !          2601:     -1,    -1,   999,  1000,    -1,  1002,    -1,    -1,    -1,    -1,
        !          2602:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   603,   604,   605,
        !          2603:     41,    -1,    -1,    -1,   360,   611,   362,   363,    -1,    -1,
        !          2604:     51,    -1,    53,  1030,    -1,    -1,    -1,    -1,   374,    -1,
        !          2605:    376,   183,   378,   379,    65,    -1,     3,     4,    -1,   385,
        !          2606:      7,   193,    -1,    -1,    75,   391,    -1,    -1,   394,    -1,
        !          2607:     -1,    -1,    83,    -1,    -1,    -1,    12,    88,    -1,    -1,
        !          2608:     -1,    -1,   769,    -1,   771,    -1,    -1,   413,    24,    25,
        !          2609:     -1,    27,    -1,    -1,    41,   782,    -1,    -1,    -1,   786,
        !          2610:    787,   788,   678,    -1,    51,    -1,    53,    -1,    -1,    -1,
        !          2611:     -1,    -1,    -1,    -1,    -1,  1102,    52,    -1,    65,    -1,
        !          2612:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,
        !          2613:     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
        !          2614:     -1,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2615:    837,   838,   839,   840,    -1,    -1,    -1,   844,   845,   846,
        !          2616:    847,    -1,    -1,    -1,    -1,   101,    -1,   103,   104,   105,
        !          2617:     -1,    -1,   108,   109,    -1,     3,     4,    -1,    -1,     7,
        !          2618:     -1,   313,    -1,    -1,   316,   872,    -1,    -1,   320,    -1,
        !          2619:   1177,  1178,  1179,   769,    -1,   771,    -1,    -1,   524,    -1,
        !          2620:     -1,    -1,    -1,    -1,    -1,    -1,   782,    -1,    -1,    -1,
        !          2621:    786,   787,   788,    41,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2622:     -1,    -1,    -1,    51,    -1,    53,   552,    -1,    -1,   361,
        !          2623:     -1,    -1,   919,   920,  1221,   922,   368,    65,    -1,    -1,
        !          2624:     -1,    -1,   374,    -1,   376,    -1,    -1,    75,    -1,    -1,
        !          2625:     -1,    -1,    -1,   940,   941,    83,    -1,   193,    -1,   391,
        !          2626:     88,   837,   838,   839,   840,    -1,    -1,    -1,   844,   845,
        !          2627:    846,   847,    -1,    -1,    -1,    -1,    -1,   603,   604,   605,
        !          2628:     -1,   413,   414,    -1,   416,   611,    -1,    -1,    -1,    -1,
        !          2629:      3,     4,     5,     6,     7,   231,    -1,    -1,   985,    12,
        !          2630:    987,   627,   628,    -1,   630,    -1,    -1,    -1,    -1,    -1,
        !          2631:     -1,    -1,   999,  1000,    27,  1002,    -1,    -1,    31,    -1,
        !          2632:     -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,    -1,
        !          2633:     -1,    44,    -1,   659,    -1,    -1,    -1,    -1,    51,   275,
        !          2634:     53,   277,   278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2635:     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2636:     -1,    -1,    75,    -1,   940,   941,    -1,    -1,    -1,    -1,
        !          2637:     83,   307,    85,    -1,    -1,    88,    89,   313,    -1,    -1,
        !          2638:    316,    -1,    -1,    -1,   320,    63,    64,    65,    66,    67,
        !          2639:     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
        !          2640:     78,    79,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2641:      9,    10,    11,    12,    -1,  1102,    -1,    -1,    -1,    -1,
        !          2642:     -1,    -1,    -1,   999,  1000,    -1,  1002,    -1,    27,    28,
        !          2643:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2644:     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
        !          2645:     49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
        !          2646:     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
        !          2647:     -1,   603,   604,    -1,    73,    74,    75,    -1,    -1,    -1,
        !          2648:     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
        !          2649:   1177,  1178,  1179,    92,    93,   627,   628,   433,   630,    -1,
        !          2650:     -1,    -1,    -1,   102,    -1,   104,    -1,    -1,    -1,    -1,
        !          2651:     -1,   837,   838,   839,   840,    -1,   842,    -1,   844,   845,
        !          2652:    846,   847,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2653:     -1,    -1,    -1,    -1,  1221,    -1,    -1,    -1,    -1,    -1,
        !          2654:     -1,    -1,    -1,    -1,    -1,    -1,   872,    -1,    -1,    -1,
        !          2655:     -1,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
        !          2656:     10,    11,    12,   499,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2657:     -1,    -1,    -1,   509,    -1,   511,   512,    27,    28,    29,
        !          2658:     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
        !          2659:     40,    41,    42,    43,    44,    -1,    46,    47,    48,    49,
        !          2660:     50,    51,    -1,    53,    54,    -1,    -1,    -1,    -1,    -1,
        !          2661:     -1,    -1,    62,    -1,    -1,    65,    -1,   553,   944,    -1,
        !          2662:     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
        !          2663:     -1,    81,    82,    83,    -1,    85,    -1,    -1,    88,    89,
        !          2664:     -1,    -1,    92,    93,    -1,    -1,     3,     4,     5,     6,
        !          2665:      7,    -1,    -1,    -1,   104,    12,    -1,    -1,    -1,   985,
        !          2666:     -1,   987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2667:     -1,    -1,    -1,   999,  1000,    -1,  1002,    -1,    35,    -1,
        !          2668:     -1,    -1,    -1,    -1,    41,    -1,    -1,    44,    -1,    -1,
        !          2669:     -1,    -1,    -1,    -1,    51,    -1,    53,    -1,    -1,    -1,
        !          2670:     -1,    -1,    -1,    -1,    -1,   837,   838,    -1,    65,    -1,
        !          2671:     -1,    -1,   844,    -1,    -1,    -1,    -1,    -1,    75,    -1,
        !          2672:     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,
        !          2673:     -1,    88,    89,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2674:    872,    -1,   678,   875,    -1,   877,    -1,    -1,    -1,    -1,
        !          2675:     -1,    -1,   688,   689,   690,    -1,     1,    -1,     3,     4,
        !          2676:      5,     6,     7,     8,     9,    10,    11,    12,    -1,    -1,
        !          2677:     -1,    -1,    -1,    -1,    -1,    -1,  1102,    -1,    -1,    -1,
        !          2678:     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2679:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
        !          2680:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
        !          2681:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          2682:     65,   953,    -1,    -1,    10,    -1,    -1,    -1,    73,    74,
        !          2683:     75,    -1,    -1,   769,    -1,   771,    81,    82,    83,    -1,
        !          2684:     85,    -1,    -1,    88,    89,    -1,   782,    92,    93,    -1,
        !          2685:     -1,  1177,  1178,  1179,   986,    -1,    -1,    -1,    -1,   104,
        !          2686:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   999,  1000,    -1,
        !          2687:   1002,    57,    58,    59,    60,    61,    62,    63,    64,    65,
        !          2688:     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
        !          2689:     76,    77,    78,    79,    -1,  1221,    -1,    -1,  1030,    -1,
        !          2690:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,    -1,
        !          2691:      3,     4,     5,     6,     7,     8,     9,    -1,    11,    12,
        !          2692:     13,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
        !          2693:     23,    24,    25,    26,    27,    28,    29,    30,    31,   875,
        !          2694:     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
        !          2695:     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
        !          2696:     53,    54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,
        !          2697:     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2698:     73,    74,    75,   919,   920,    -1,   922,    -1,    81,    82,
        !          2699:     83,    -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,
        !          2700:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2701:    103,   104,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2702:      9,    -1,    11,    12,    13,    -1,    15,    16,    17,    18,
        !          2703:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
        !          2704:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2705:     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
        !          2706:     49,    50,    51,    -1,    53,    54,    -1,    56,    -1,    -1,
        !          2707:     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
        !          2708:     -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
        !          2709:     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
        !          2710:     -1,    90,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2711:     -1,    -1,    -1,    -1,   103,   104,     1,    -1,     3,     4,
        !          2712:      5,     6,     7,     8,     9,    -1,    11,    12,    13,    -1,
        !          2713:     15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
        !          2714:     25,    26,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2715:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
        !          2716:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
        !          2717:     -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          2718:     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
        !          2719:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
        !          2720:     -1,    -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,
        !          2721:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,
        !          2722:      1,    -1,     3,     4,     5,     6,     7,     8,     9,    -1,
        !          2723:     11,    12,    13,    -1,    15,    16,    17,    18,    19,    20,
        !          2724:     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
        !          2725:     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
        !          2726:     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
        !          2727:     51,    -1,    53,    54,    -1,    56,    -1,    -1,    -1,    -1,
        !          2728:     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,
        !          2729:     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
        !          2730:     81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,    90,
        !          2731:     -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2732:     -1,    -1,   103,   104,     1,    -1,     3,     4,     5,     6,
        !          2733:      7,     8,     9,    -1,    11,    12,    13,    -1,    15,    16,
        !          2734:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
        !          2735:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2736:     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
        !          2737:     47,    48,    49,    50,    51,    -1,    53,    54,    -1,    56,
        !          2738:     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
        !          2739:     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
        !          2740:     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
        !          2741:     -1,    88,    -1,    90,     1,    92,     3,     4,     5,     6,
        !          2742:      7,     8,     9,    -1,    11,    12,    13,   104,    15,    16,
        !          2743:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
        !          2744:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2745:     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
        !          2746:     47,    48,    49,    50,    51,    -1,    53,    54,    -1,    56,
        !          2747:     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
        !          2748:     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
        !          2749:     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
        !          2750:     -1,    88,    -1,    90,     1,    92,     3,     4,     5,     6,
        !          2751:      7,     8,     9,    -1,    11,    12,    13,   104,    15,    16,
        !          2752:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
        !          2753:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2754:     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
        !          2755:     47,    48,    49,    50,    51,    -1,    53,    54,    -1,    56,
        !          2756:     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
        !          2757:     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
        !          2758:     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
        !          2759:     -1,    88,    -1,    90,     1,    92,     3,     4,     5,     6,
        !          2760:      7,     8,     9,    10,    11,    12,    -1,   104,    -1,    -1,
        !          2761:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2762:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2763:     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
        !          2764:     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
        !          2765:     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
        !          2766:     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
        !          2767:     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
        !          2768:     -1,    88,    -1,    -1,    -1,    92,    93,    -1,    -1,    -1,
        !          2769:     -1,    -1,    -1,    -1,    -1,   102,     1,   104,     3,     4,
        !          2770:     -1,     6,     7,     8,     9,    -1,    11,    12,    66,    67,
        !          2771:     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
        !          2772:     78,    79,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2773:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
        !          2774:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
        !          2775:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          2776:     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
        !          2777:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
        !          2778:     -1,    -1,    -1,    88,    89,    -1,     1,    92,     3,     4,
        !          2779:     -1,     6,     7,     8,     9,    -1,    11,    12,   103,   104,
        !          2780:     -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,
        !          2781:     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2782:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
        !          2783:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
        !          2784:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          2785:     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
        !          2786:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
        !          2787:     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
        !          2788:     -1,     6,     7,     8,     9,    -1,    11,    12,   103,   104,
        !          2789:     -1,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,
        !          2790:     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2791:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
        !          2792:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
        !          2793:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          2794:     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
        !          2795:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
        !          2796:     -1,    -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,
        !          2797:      5,     6,     7,     8,     9,    -1,    11,    12,   103,   104,
        !          2798:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2799:     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2800:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
        !          2801:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
        !          2802:     -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          2803:     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
        !          2804:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,     1,
        !          2805:     -1,    -1,     4,    88,     6,     7,    -1,    92,    -1,    -1,
        !          2806:     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
        !          2807:     -1,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,    31,
        !          2808:     -1,    -1,    -1,    35,    -1,    37,    38,    -1,    -1,    -1,
        !          2809:     -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,    51,
        !          2810:     -1,    53,    -1,    55,    -1,    57,    58,    59,    -1,    61,
        !          2811:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
        !          2812:     72,    73,    74,    75,    76,    77,    78,    -1,    -1,    81,
        !          2813:     82,    83,    -1,     1,    86,     3,     4,    89,     6,     7,
        !          2814:      8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,
        !          2815:     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2816:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2817:     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
        !          2818:     48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
        !          2819:     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
        !          2820:     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
        !          2821:     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
        !          2822:     88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
        !          2823:      8,     9,    -1,    11,    12,    -1,   104,    -1,    -1,    -1,
        !          2824:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2825:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2826:     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
        !          2827:     48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
        !          2828:     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
        !          2829:     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
        !          2830:     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
        !          2831:     88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
        !          2832:      8,     9,    -1,    11,    12,    -1,   104,    -1,    -1,    -1,
        !          2833:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2834:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2835:     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
        !          2836:     48,    49,    50,    51,    -1,    53,    54,    -1,    -1,    -1,
        !          2837:     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
        !          2838:     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
        !          2839:     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
        !          2840:     88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
        !          2841:      8,     9,    -1,    11,    12,    -1,   104,    -1,    -1,    -1,
        !          2842:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2843:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2844:     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
        !          2845:     48,    49,    50,    51,    -1,    53,    -1,    -1,    56,    -1,
        !          2846:     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
        !          2847:     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
        !          2848:     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
        !          2849:     88,    -1,    -1,     1,    92,     3,     4,    -1,     6,     7,
        !          2850:      8,     9,    -1,    11,    12,    -1,   104,    -1,    -1,    -1,
        !          2851:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2852:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2853:     38,    -1,    40,    41,    42,    43,    -1,    -1,    46,    47,
        !          2854:     48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,
        !          2855:     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
        !          2856:     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
        !          2857:     -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,
        !          2858:     88,    -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,    -1,
        !          2859:     -1,    -1,    -1,    -1,   102,     1,   104,     3,     4,    -1,
        !          2860:      6,     7,     8,     9,    -1,    11,    12,    67,    68,    69,
        !          2861:     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
        !          2862:     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2863:     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
        !          2864:     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
        !          2865:     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
        !          2866:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
        !          2867:     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
        !          2868:     -1,    -1,    88,    -1,    -1,     1,    92,     3,     4,    -1,
        !          2869:      6,     7,     8,     9,    -1,    11,    12,    -1,   104,    -1,
        !          2870:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2871:     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2872:     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
        !          2873:     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
        !          2874:     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
        !          2875:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
        !          2876:     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
        !          2877:     -1,    -1,    88,    -1,     3,     4,    92,     6,     7,     8,
        !          2878:      9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,
        !          2879:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
        !          2880:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2881:     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
        !          2882:     49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
        !          2883:     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
        !          2884:     -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
        !          2885:     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
        !          2886:     -1,    -1,    -1,    92,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2887:     -1,    -1,    -1,    -1,    -1,   104,   105,     3,     4,     5,
        !          2888:      6,     7,     8,     9,    -1,    11,    12,    13,    -1,    15,
        !          2889:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2890:     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2891:     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
        !          2892:     46,    47,    48,    49,    50,    51,    -1,    53,    54,    -1,
        !          2893:     56,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
        !          2894:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
        !          2895:     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
        !          2896:     -1,    -1,    88,    -1,    90,    -1,    92,    -1,    -1,    -1,
        !          2897:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,     3,
        !          2898:      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
        !          2899:     -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2900:     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
        !          2901:     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
        !          2902:     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
        !          2903:     54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
        !          2904:     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
        !          2905:     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
        !          2906:     -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,     3,
        !          2907:      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
        !          2908:    104,    15,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2909:     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
        !          2910:     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
        !          2911:     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
        !          2912:     54,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
        !          2913:     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
        !          2914:     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
        !          2915:     -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,     3,
        !          2916:      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
        !          2917:    104,    15,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2918:     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
        !          2919:     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
        !          2920:     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
        !          2921:     -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
        !          2922:     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
        !          2923:     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
        !          2924:     -1,    -1,    -1,    -1,    88,    -1,    90,    -1,    92,     3,
        !          2925:      4,     5,     6,     7,     8,     9,    10,    11,    12,    -1,
        !          2926:    104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2927:     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
        !          2928:     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
        !          2929:     44,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
        !          2930:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,
        !          2931:     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
        !          2932:     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
        !          2933:     -1,    85,    -1,    -1,    88,    89,    -1,    -1,    92,    93,
        !          2934:      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
        !          2935:    104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2936:     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
        !          2937:     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
        !          2938:     43,    44,    -1,    46,    47,    48,    49,    50,    51,    -1,
        !          2939:     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
        !          2940:     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2941:     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
        !          2942:     83,    -1,    85,    -1,    -1,    88,    89,    -1,    -1,    92,
        !          2943:     93,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
        !          2944:     12,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2945:     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
        !          2946:     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
        !          2947:     42,    43,    44,    -1,    46,    47,    48,    49,    50,    51,
        !          2948:     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2949:     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2950:     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
        !          2951:     82,    83,    -1,    85,    -1,    -1,    88,    89,     3,     4,
        !          2952:     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
        !          2953:     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2954:     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2955:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
        !          2956:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
        !          2957:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          2958:     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
        !          2959:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
        !          2960:     85,    -1,    -1,    88,    89,     3,     4,    -1,     6,     7,
        !          2961:      8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,
        !          2962:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2963:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2964:     38,    -1,    40,    41,    42,    43,    44,    -1,    46,    47,
        !          2965:     48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,
        !          2966:     -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,
        !          2967:     -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,
        !          2968:     -1,    -1,    -1,    81,    82,    83,    -1,    85,    -1,    -1,
        !          2969:     88,    89,     3,     4,    -1,     6,     7,     8,     9,    -1,
        !          2970:     11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,
        !          2971:     -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,
        !          2972:     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
        !          2973:     41,    42,    43,    -1,    -1,    46,    47,    48,    49,    50,
        !          2974:     51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2975:     -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    70,
        !          2976:     -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,
        !          2977:     81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,     3,
        !          2978:      4,    92,     6,     7,     8,     9,    -1,    11,    12,    -1,
        !          2979:     -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2980:     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
        !          2981:     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    43,
        !          2982:     -1,    -1,    46,    47,    48,    49,    50,    51,    -1,    53,
        !          2983:     -1,    -1,    56,    -1,    -1,    -1,    -1,    -1,    62,    -1,
        !          2984:     -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,
        !          2985:     74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,
        !          2986:     -1,    -1,    -1,    -1,    88,    -1,     3,     4,    92,     6,
        !          2987:      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
        !          2988:    104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2989:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2990:     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
        !          2991:     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
        !          2992:     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
        !          2993:     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
        !          2994:     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
        !          2995:     -1,    88,    -1,     3,     4,    92,     6,     7,     8,     9,
        !          2996:     -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,
        !          2997:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
        !          2998:     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
        !          2999:     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
        !          3000:     50,    51,    -1,    53,    54,    -1,    -1,    -1,    -1,    -1,
        !          3001:     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
        !          3002:     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
        !          3003:     -1,    81,    82,    83,    -1,    -1,     3,     4,    88,     6,
        !          3004:      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
        !          3005:     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
        !          3006:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          3007:     37,    38,    -1,    40,    41,    42,    43,    -1,    -1,    46,
        !          3008:     47,    48,    49,    50,    51,    -1,    53,    -1,    -1,    -1,
        !          3009:     -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,    -1,
        !          3010:     -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,    -1,
        !          3011:     -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,    -1,
        !          3012:     -1,    88,    89,     3,     4,    -1,     6,     7,     8,     9,
        !          3013:     -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,    -1,
        !          3014:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
        !          3015:     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
        !          3016:     40,    41,    42,    43,    -1,    -1,    46,    47,    48,    49,
        !          3017:     50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3018:     -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,    -1,
        !          3019:     -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,    -1,
        !          3020:     -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,    -1,
        !          3021:      3,     4,    92,     6,     7,     8,     9,    -1,    11,    12,
        !          3022:     -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,
        !          3023:     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
        !          3024:     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
        !          3025:     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
        !          3026:     53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,
        !          3027:     -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3028:     73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,    82,
        !          3029:     83,    -1,    -1,    -1,    -1,    88,    -1,     3,     4,    92,
        !          3030:      6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
        !          3031:     -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3032:     -1,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          3033:     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
        !          3034:     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
        !          3035:     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
        !          3036:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
        !          3037:     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
        !          3038:     -1,    -1,    88,    -1,     3,     4,    92,     6,     7,     8,
        !          3039:      9,    -1,    11,    12,    -1,    -1,    -1,    -1,   104,    -1,
        !          3040:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
        !          3041:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          3042:     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
        !          3043:     49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
        !          3044:     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
        !          3045:     -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
        !          3046:     -1,    -1,    81,    82,    83,    -1,    -1,    -1,    -1,    88,
        !          3047:     -1,     3,     4,    92,     6,     7,     8,     9,    -1,    11,
        !          3048:     12,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
        !          3049:     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
        !          3050:     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
        !          3051:     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
        !          3052:     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3053:     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3054:     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
        !          3055:     82,    83,    -1,    -1,    -1,    -1,    88,    -1,     3,     4,
        !          3056:     92,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
        !          3057:     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3058:     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          3059:     35,    -1,    37,    38,    -1,    40,    41,    42,    43,    -1,
        !          3060:     -1,    46,    47,    48,    49,    50,    51,    -1,    53,    -1,
        !          3061:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,
        !          3062:     65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,
        !          3063:     75,    -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,
        !          3064:     -1,     3,     4,    88,     6,     7,     8,     9,    -1,    11,
        !          3065:     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
        !          3066:     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
        !          3067:     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
        !          3068:     42,    43,    -1,    -1,    46,    47,    48,    49,    50,    51,
        !          3069:     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3070:     62,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3071:     -1,    73,    74,    75,    -1,    -1,    -1,    -1,    -1,    81,
        !          3072:     82,    83,    -1,    -1,     3,     4,    88,     6,     7,     8,
        !          3073:      9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3074:     -1,    -1,   104,    -1,    -1,    -1,    -1,    -1,    27,    28,
        !          3075:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          3076:     -1,    40,    41,    42,    43,    -1,    -1,    46,    47,    48,
        !          3077:     49,    50,    51,    -1,    53,    -1,    -1,    -1,    -1,    -1,
        !          3078:     -1,    -1,    -1,    62,    -1,    -1,    65,    -1,    -1,    -1,
        !          3079:     -1,    -1,    -1,    -1,    73,    74,    75,    -1,    -1,    -1,
        !          3080:     -1,    -1,    81,    82,    83,    -1,    -1,     3,     4,    88,
        !          3081:      6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
        !          3082:     -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,    -1,    -1,
        !          3083:     -1,    27,    28,    -1,    -1,    31,    -1,    33,    -1,    35,
        !          3084:     -1,    37,    38,    -1,    40,    41,    42,    43,    -1,    -1,
        !          3085:     46,    47,    48,    49,    50,    51,    -1,    53,    -1,    -1,
        !          3086:     -1,    -1,    -1,    -1,    -1,    -1,    62,    -1,    -1,    65,
        !          3087:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    73,    74,    75,
        !          3088:     -1,    -1,    -1,    -1,    -1,    81,    82,    83,    -1,    -1,
        !          3089:      3,     4,    88,     6,     7,     8,     9,    -1,    11,    12,
        !          3090:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,
        !          3091:     -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,
        !          3092:     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
        !          3093:     43,    -1,    -1,    46,    47,    48,    49,    50,    51,    -1,
        !          3094:     53,    -1,     3,     4,     5,     6,     7,    -1,    -1,    -1,
        !          3095:     -1,    12,    -1,    -1,    -1,    -1,    -1,     3,     4,     5,
        !          3096:      6,     7,    -1,    -1,    -1,    -1,    12,    -1,    81,    82,
        !          3097:     83,    -1,    -1,    -1,    35,    88,    -1,    -1,    -1,    92,
        !          3098:     41,    27,    -1,    44,    -1,    31,    -1,    -1,    -1,    35,
        !          3099:     51,   104,    53,    -1,    -1,    41,    -1,    -1,    -1,    -1,
        !          3100:     -1,    -1,    -1,    -1,    65,    51,    -1,    53,    -1,    -1,
        !          3101:     56,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    65,
        !          3102:     -1,    -1,    83,    -1,    85,    -1,    -1,    88,    89,    75,
        !          3103:     -1,     3,     4,     5,     6,     7,    -1,    83,    10,    -1,
        !          3104:     12,    -1,    88,    -1,    -1,    -1,    -1,    -1,     3,     4,
        !          3105:      5,     6,     7,    -1,    -1,    27,    -1,    12,    -1,    31,
        !          3106:     -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,
        !          3107:     -1,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,    51,
        !          3108:     35,    53,    -1,    -1,    -1,    -1,    41,    -1,    -1,    -1,
        !          3109:     -1,    -1,    -1,    65,    -1,    -1,    51,    -1,    53,    -1,
        !          3110:     -1,    -1,    -1,    75,    -1,    60,    -1,    -1,    -1,    -1,
        !          3111:     65,    83,    -1,    -1,    -1,    -1,    88,    -1,    -1,    -1,
        !          3112:     75,     3,     4,     5,     6,     7,    -1,    -1,    83,    -1,
        !          3113:     12,    -1,    -1,    88,    -1,    -1,    -1,    -1,     3,     4,
        !          3114:      5,     6,     7,    -1,    -1,    27,    -1,    12,    -1,    31,
        !          3115:     -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    41,
        !          3116:     -1,    -1,    27,    -1,    -1,    -1,    31,    -1,    -1,    51,
        !          3117:     35,    53,    -1,    -1,    56,    -1,    41,    -1,    -1,    -1,
        !          3118:     -1,    -1,     4,    65,     6,     7,    51,    -1,    53,    -1,
        !          3119:     12,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3120:     65,    83,    -1,    -1,    -1,    27,    88,    -1,    -1,    31,
        !          3121:     75,    -1,    -1,    35,    -1,    -1,    -1,    -1,    83,    -1,
        !          3122:     -1,    -1,    44,    88,    -1,    -1,    -1,    -1,    -1,    51,
        !          3123:     -1,    53,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          3124:     57,    58,    59,    65,    61,    62,    63,    64,    65,    66,
        !          3125:     67,    68,    69,    75,    71,    72,    73,    74,    75,    76,
        !          3126:     77,    78,    79,    85,    -1,    -1,    88,    89,    57,    58,
        !          3127:     59,    -1,    61,    62,    63,    64,    65,    66,    67,    68,
        !          3128:     69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
        !          3129:     79,    55,    32,    57,    58,    59,    -1,    61,    62,    63,
        !          3130:     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
        !          3131:     74,    75,    76,    77,    78,    79,   105,    57,    58,    59,
        !          3132:     -1,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          3133:     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
        !          3134:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
        !          3135:     67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
        !          3136:     77,    78,    79,    57,    58,    59,    60,    61,    62,    63,
        !          3137:     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
        !          3138:     74,    75,    76,    77,    78,    79,    57,    58,    59,    -1,
        !          3139:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
        !          3140:     71,    72,    73,    74,    75,    76,    77,    78,    79,    59,
        !          3141:     -1,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          3142:     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
        !          3143:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
        !          3144:     72,    73,    74,    75,    76,    77,    78,    79,    64,    65,
        !          3145:     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
        !          3146:     76,    77,    78,    79,    65,    66,    67,    68,    69,    70,
        !          3147:     71,    72,    73,    74,    75,    76,    77,    78,    79
        !          3148: };
        !          3149: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
        !          3150: #line 3 "/usr/unsupported/lib/bison.simple"
        !          3151: 
        !          3152: /* Skeleton output parser for bison,
        !          3153:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
        !          3154: 
        !          3155:    This program is free software; you can redistribute it and/or modify
        !          3156:    it under the terms of the GNU General Public License as published by
        !          3157:    the Free Software Foundation; either version 1, or (at your option)
        !          3158:    any later version.
        !          3159: 
        !          3160:    This program is distributed in the hope that it will be useful,
        !          3161:    but WITHOUT ANY WARRANTY; without even the implied warranty of
        !          3162:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !          3163:    GNU General Public License for more details.
        !          3164: 
        !          3165:    You should have received a copy of the GNU General Public License
        !          3166:    along with this program; if not, write to the Free Software
        !          3167:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !          3168: 
        !          3169: 
        !          3170: #ifndef alloca
        !          3171: #ifdef __GNUC__
        !          3172: #define alloca __builtin_alloca
        !          3173: #else /* not GNU C.  */
        !          3174: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
        !          3175: #include <alloca.h>
        !          3176: #else /* not sparc */
        !          3177: #if defined (MSDOS) && !defined (__TURBOC__)
        !          3178: #include <malloc.h>
        !          3179: #else /* not MSDOS, or __TURBOC__ */
        !          3180: #if defined(_AIX)
        !          3181: #include <malloc.h>
        !          3182:  #pragma alloca
        !          3183: #else /* not MSDOS, __TURBOC__, or _AIX */
        !          3184: #ifdef __hpux
        !          3185: #ifdef __cplusplus
        !          3186: extern "C" {
        !          3187: void *alloca (unsigned int);
        !          3188: };
        !          3189: #else /* not __cplusplus */
        !          3190: void *alloca ();
        !          3191: #endif /* not __cplusplus */
        !          3192: #endif /* __hpux */
        !          3193: #endif /* not _AIX */
        !          3194: #endif /* not MSDOS, or __TURBOC__ */
        !          3195: #endif /* not sparc.  */
        !          3196: #endif /* not GNU C.  */
        !          3197: #endif /* alloca not defined.  */
        !          3198: 
        !          3199: /* This is the parser code that is written into each bison parser
        !          3200:   when the %semantic_parser declaration is not specified in the grammar.
        !          3201:   It was written by Richard Stallman by simplifying the hairy parser
        !          3202:   used when %semantic_parser is specified.  */
        !          3203: 
        !          3204: /* Note: there must be only one dollar sign in this file.
        !          3205:    It is replaced by the list of actions, each action
        !          3206:    as one case of the switch.  */
        !          3207: 
        !          3208: #define yyerrok                (yyerrstatus = 0)
        !          3209: #define yyclearin      (yychar = YYEMPTY)
        !          3210: #define YYEMPTY                -2
        !          3211: #define YYEOF          0
        !          3212: #define YYACCEPT       return(0)
        !          3213: #define YYABORT        return(1)
        !          3214: #define YYERROR                goto yyerrlab1
        !          3215: /* Like YYERROR except do call yyerror.
        !          3216:    This remains here temporarily to ease the
        !          3217:    transition to the new meaning of YYERROR, for GCC.
        !          3218:    Once GCC version 2 has supplanted version 1, this can go.  */
        !          3219: #define YYFAIL         goto yyerrlab
        !          3220: #define YYRECOVERING()  (!!yyerrstatus)
        !          3221: #define YYBACKUP(token, value) \
        !          3222: do                                                             \
        !          3223:   if (yychar == YYEMPTY && yylen == 1)                         \
        !          3224:     { yychar = (token), yylval = (value);                      \
        !          3225:       yychar1 = YYTRANSLATE (yychar);                          \
        !          3226:       YYPOPSTACK;                                              \
        !          3227:       goto yybackup;                                           \
        !          3228:     }                                                          \
        !          3229:   else                                                         \
        !          3230:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
        !          3231: while (0)
        !          3232: 
        !          3233: #define YYTERROR       1
        !          3234: #define YYERRCODE      256
        !          3235: 
        !          3236: #ifndef YYPURE
        !          3237: #define YYLEX          yylex()
        !          3238: #endif
        !          3239: 
        !          3240: #ifdef YYPURE
        !          3241: #ifdef YYLSP_NEEDED
        !          3242: #define YYLEX          yylex(&yylval, &yylloc)
        !          3243: #else
        !          3244: #define YYLEX          yylex(&yylval)
        !          3245: #endif
        !          3246: #endif
        !          3247: 
        !          3248: /* If nonreentrant, generate the variables here */
        !          3249: 
        !          3250: #ifndef YYPURE
        !          3251: 
        !          3252: int    yychar;                 /*  the lookahead symbol                */
        !          3253: YYSTYPE        yylval;                 /*  the semantic value of the           */
        !          3254:                                /*  lookahead symbol                    */
        !          3255: 
        !          3256: #ifdef YYLSP_NEEDED
        !          3257: YYLTYPE yylloc;                        /*  location data for the lookahead     */
        !          3258:                                /*  symbol                              */
        !          3259: #endif
        !          3260: 
        !          3261: int yynerrs;                   /*  number of parse errors so far       */
        !          3262: #endif  /* not YYPURE */
        !          3263: 
        !          3264: #if YYDEBUG != 0
        !          3265: int yydebug;                   /*  nonzero means print parse trace     */
        !          3266: /* Since this is uninitialized, it does not stop multiple parsers
        !          3267:    from coexisting.  */
        !          3268: #endif
        !          3269: 
        !          3270: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
        !          3271: 
        !          3272: #ifndef        YYINITDEPTH
        !          3273: #define YYINITDEPTH 200
        !          3274: #endif
        !          3275: 
        !          3276: /*  YYMAXDEPTH is the maximum size the stacks can grow to
        !          3277:     (effective only if the built-in stack extension method is used).  */
        !          3278: 
        !          3279: #if YYMAXDEPTH == 0
        !          3280: #undef YYMAXDEPTH
        !          3281: #endif
        !          3282: 
        !          3283: #ifndef YYMAXDEPTH
        !          3284: #define YYMAXDEPTH 10000
        !          3285: #endif
        !          3286: 
        !          3287: /* Prevent warning if -Wstrict-prototypes.  */
        !          3288: #ifdef __GNUC__
        !          3289: int yyparse (void);
        !          3290: #endif
        !          3291: 
        !          3292: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
        !          3293: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
        !          3294: #else                          /* not GNU C or C++ */
        !          3295: #ifndef __cplusplus
        !          3296: 
        !          3297: /* This is the most reliable way to avoid incompatibilities
        !          3298:    in available built-in functions on various systems.  */
        !          3299: static void
        !          3300: __yy_bcopy (from, to, count)
        !          3301:      char *from;
        !          3302:      char *to;
        !          3303:      int count;
        !          3304: {
        !          3305:   register char *f = from;
        !          3306:   register char *t = to;
        !          3307:   register int i = count;
        !          3308: 
        !          3309:   while (i-- > 0)
        !          3310:     *t++ = *f++;
        !          3311: }
        !          3312: 
        !          3313: #else /* __cplusplus */
        !          3314: 
        !          3315: /* This is the most reliable way to avoid incompatibilities
        !          3316:    in available built-in functions on various systems.  */
        !          3317: static void
        !          3318: __yy_bcopy (char *from, char *to, int count)
        !          3319: {
        !          3320:   register char *f = from;
        !          3321:   register char *t = to;
        !          3322:   register int i = count;
        !          3323: 
        !          3324:   while (i-- > 0)
        !          3325:     *t++ = *f++;
        !          3326: }
        !          3327: 
        !          3328: #endif
        !          3329: #endif
        !          3330: 
        !          3331: #line 184 "/usr/unsupported/lib/bison.simple"
        !          3332: int
        !          3333: yyparse()
        !          3334: {
        !          3335:   register int yystate;
        !          3336:   register int yyn;
        !          3337:   register short *yyssp;
        !          3338:   register YYSTYPE *yyvsp;
        !          3339:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
        !          3340:   int yychar1 = 0;             /*  lookahead token as an internal (translated) token number */
        !          3341: 
        !          3342:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
        !          3343:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
        !          3344: 
        !          3345:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
        !          3346:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
        !          3347: 
        !          3348: #ifdef YYLSP_NEEDED
        !          3349:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
        !          3350:   YYLTYPE *yyls = yylsa;
        !          3351:   YYLTYPE *yylsp;
        !          3352: 
        !          3353: #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
        !          3354: #else
        !          3355: #define YYPOPSTACK   (yyvsp--, yyssp--)
        !          3356: #endif
        !          3357: 
        !          3358:   int yystacksize = YYINITDEPTH;
        !          3359: 
        !          3360: #ifdef YYPURE
        !          3361:   int yychar;
        !          3362:   YYSTYPE yylval;
        !          3363:   int yynerrs;
        !          3364: #ifdef YYLSP_NEEDED
        !          3365:   YYLTYPE yylloc;
        !          3366: #endif
        !          3367: #endif
        !          3368: 
        !          3369:   YYSTYPE yyval;               /*  the variable used to return         */
        !          3370:                                /*  semantic values from the action     */
        !          3371:                                /*  routines                            */
        !          3372: 
        !          3373:   int yylen;
        !          3374: 
        !          3375: #if YYDEBUG != 0
        !          3376:   if (yydebug)
        !          3377:     fprintf(stderr, "Starting parse\n");
        !          3378: #endif
        !          3379: 
        !          3380:   yystate = 0;
        !          3381:   yyerrstatus = 0;
        !          3382:   yynerrs = 0;
        !          3383:   yychar = YYEMPTY;            /* Cause a token to be read.  */
        !          3384: 
        !          3385:   /* Initialize stack pointers.
        !          3386:      Waste one element of value and location stack
        !          3387:      so that they stay on the same level as the state stack.
        !          3388:      The wasted elements are never initialized.  */
        !          3389: 
        !          3390:   yyssp = yyss - 1;
        !          3391:   yyvsp = yyvs;
        !          3392: #ifdef YYLSP_NEEDED
        !          3393:   yylsp = yyls;
        !          3394: #endif
        !          3395: 
        !          3396: /* Push a new state, which is found in  yystate  .  */
        !          3397: /* In all cases, when you get here, the value and location stacks
        !          3398:    have just been pushed. so pushing a state here evens the stacks.  */
        !          3399: yynewstate:
        !          3400: 
        !          3401:   *++yyssp = yystate;
        !          3402: 
        !          3403:   if (yyssp >= yyss + yystacksize - 1)
        !          3404:     {
        !          3405:       /* Give user a chance to reallocate the stack */
        !          3406:       /* Use copies of these so that the &'s don't force the real ones into memory. */
        !          3407:       YYSTYPE *yyvs1 = yyvs;
        !          3408:       short *yyss1 = yyss;
        !          3409: #ifdef YYLSP_NEEDED
        !          3410:       YYLTYPE *yyls1 = yyls;
        !          3411: #endif
        !          3412: 
        !          3413:       /* Get the current used size of the three stacks, in elements.  */
        !          3414:       int size = yyssp - yyss + 1;
        !          3415: 
        !          3416: #ifdef yyoverflow
        !          3417:       /* Each stack pointer address is followed by the size of
        !          3418:         the data in use in that stack, in bytes.  */
        !          3419: #ifdef YYLSP_NEEDED
        !          3420:       /* This used to be a conditional around just the two extra args,
        !          3421:         but that might be undefined if yyoverflow is a macro.  */
        !          3422:       yyoverflow("parser stack overflow",
        !          3423:                 &yyss1, size * sizeof (*yyssp),
        !          3424:                 &yyvs1, size * sizeof (*yyvsp),
        !          3425:                 &yyls1, size * sizeof (*yylsp),
        !          3426:                 &yystacksize);
        !          3427: #else
        !          3428:       yyoverflow("parser stack overflow",
        !          3429:                 &yyss1, size * sizeof (*yyssp),
        !          3430:                 &yyvs1, size * sizeof (*yyvsp),
        !          3431:                 &yystacksize);
        !          3432: #endif
        !          3433: 
        !          3434:       yyss = yyss1; yyvs = yyvs1;
        !          3435: #ifdef YYLSP_NEEDED
        !          3436:       yyls = yyls1;
        !          3437: #endif
        !          3438: #else /* no yyoverflow */
        !          3439:       /* Extend the stack our own way.  */
        !          3440:       if (yystacksize >= YYMAXDEPTH)
        !          3441:        {
        !          3442:          yyerror("parser stack overflow");
        !          3443:          return 2;
        !          3444:        }
        !          3445:       yystacksize *= 2;
        !          3446:       if (yystacksize > YYMAXDEPTH)
        !          3447:        yystacksize = YYMAXDEPTH;
        !          3448:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
        !          3449:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
        !          3450:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
        !          3451:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
        !          3452: #ifdef YYLSP_NEEDED
        !          3453:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
        !          3454:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
        !          3455: #endif
        !          3456: #endif /* no yyoverflow */
        !          3457: 
        !          3458:       yyssp = yyss + size - 1;
        !          3459:       yyvsp = yyvs + size - 1;
        !          3460: #ifdef YYLSP_NEEDED
        !          3461:       yylsp = yyls + size - 1;
        !          3462: #endif
        !          3463: 
        !          3464: #if YYDEBUG != 0
        !          3465:       if (yydebug)
        !          3466:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
        !          3467: #endif
        !          3468: 
        !          3469:       if (yyssp >= yyss + yystacksize - 1)
        !          3470:        YYABORT;
        !          3471:     }
        !          3472: 
        !          3473: #if YYDEBUG != 0
        !          3474:   if (yydebug)
        !          3475:     fprintf(stderr, "Entering state %d\n", yystate);
        !          3476: #endif
        !          3477: 
        !          3478:   goto yybackup;
        !          3479:  yybackup:
        !          3480: 
        !          3481: /* Do appropriate processing given the current state.  */
        !          3482: /* Read a lookahead token if we need one and don't already have one.  */
        !          3483: /* yyresume: */
        !          3484: 
        !          3485:   /* First try to decide what to do without reference to lookahead token.  */
        !          3486: 
        !          3487:   yyn = yypact[yystate];
        !          3488:   if (yyn == YYFLAG)
        !          3489:     goto yydefault;
        !          3490: 
        !          3491:   /* Not known => get a lookahead token if don't already have one.  */
        !          3492: 
        !          3493:   /* yychar is either YYEMPTY or YYEOF
        !          3494:      or a valid token in external form.  */
        !          3495: 
        !          3496:   if (yychar == YYEMPTY)
        !          3497:     {
        !          3498: #if YYDEBUG != 0
        !          3499:       if (yydebug)
        !          3500:        fprintf(stderr, "Reading a token: ");
        !          3501: #endif
        !          3502:       yychar = YYLEX;
        !          3503:     }
        !          3504: 
        !          3505:   /* Convert token to internal form (in yychar1) for indexing tables with */
        !          3506: 
        !          3507:   if (yychar <= 0)             /* This means end of input. */
        !          3508:     {
        !          3509:       yychar1 = 0;
        !          3510:       yychar = YYEOF;          /* Don't call YYLEX any more */
        !          3511: 
        !          3512: #if YYDEBUG != 0
        !          3513:       if (yydebug)
        !          3514:        fprintf(stderr, "Now at end of input.\n");
        !          3515: #endif
        !          3516:     }
        !          3517:   else
        !          3518:     {
        !          3519:       yychar1 = YYTRANSLATE(yychar);
        !          3520: 
        !          3521: #if YYDEBUG != 0
        !          3522:       if (yydebug)
        !          3523:        {
        !          3524:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
        !          3525:          /* Give the individual parser a way to print the precise meaning
        !          3526:             of a token, for further debugging info.  */
        !          3527: #ifdef YYPRINT
        !          3528:          YYPRINT (stderr, yychar, yylval);
        !          3529: #endif
        !          3530:          fprintf (stderr, ")\n");
        !          3531:        }
        !          3532: #endif
        !          3533:     }
        !          3534: 
        !          3535:   yyn += yychar1;
        !          3536:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
        !          3537:     goto yydefault;
        !          3538: 
        !          3539:   yyn = yytable[yyn];
        !          3540: 
        !          3541:   /* yyn is what to do for this token type in this state.
        !          3542:      Negative => reduce, -yyn is rule number.
        !          3543:      Positive => shift, yyn is new state.
        !          3544:        New state is final state => don't bother to shift,
        !          3545:        just return success.
        !          3546:      0, or most negative number => error.  */
        !          3547: 
        !          3548:   if (yyn < 0)
        !          3549:     {
        !          3550:       if (yyn == YYFLAG)
        !          3551:        goto yyerrlab;
        !          3552:       yyn = -yyn;
        !          3553:       goto yyreduce;
        !          3554:     }
        !          3555:   else if (yyn == 0)
        !          3556:     goto yyerrlab;
        !          3557: 
        !          3558:   if (yyn == YYFINAL)
        !          3559:     YYACCEPT;
        !          3560: 
        !          3561:   /* Shift the lookahead token.  */
        !          3562: 
        !          3563: #if YYDEBUG != 0
        !          3564:   if (yydebug)
        !          3565:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
        !          3566: #endif
        !          3567: 
        !          3568:   /* Discard the token being shifted unless it is eof.  */
        !          3569:   if (yychar != YYEOF)
        !          3570:     yychar = YYEMPTY;
        !          3571: 
        !          3572:   *++yyvsp = yylval;
        !          3573: #ifdef YYLSP_NEEDED
        !          3574:   *++yylsp = yylloc;
        !          3575: #endif
        !          3576: 
        !          3577:   /* count tokens shifted since error; after three, turn off error status.  */
        !          3578:   if (yyerrstatus) yyerrstatus--;
        !          3579: 
        !          3580:   yystate = yyn;
        !          3581:   goto yynewstate;
        !          3582: 
        !          3583: /* Do the default action for the current state.  */
        !          3584: yydefault:
        !          3585: 
        !          3586:   yyn = yydefact[yystate];
        !          3587:   if (yyn == 0)
        !          3588:     goto yyerrlab;
        !          3589: 
        !          3590: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
        !          3591: yyreduce:
        !          3592:   yylen = yyr2[yyn];
        !          3593:   if (yylen > 0)
        !          3594:     yyval = yyvsp[1-yylen]; /* implement default value of the action */
        !          3595: 
        !          3596: #if YYDEBUG != 0
        !          3597:   if (yydebug)
        !          3598:     {
        !          3599:       int i;
        !          3600: 
        !          3601:       fprintf (stderr, "Reducing via rule %d (line %d), ",
        !          3602:               yyn, yyrline[yyn]);
        !          3603: 
        !          3604:       /* Print the symbols being reduced, and their result.  */
        !          3605:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
        !          3606:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
        !          3607:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
        !          3608:     }
        !          3609: #endif
        !          3610: 
        !          3611: 
        !          3612:   switch (yyn) {
        !          3613: 
        !          3614: case 2:
        !          3615: #line 294 "parse.y"
        !          3616: {
        !          3617:                  /* In case there were missing closebraces,
        !          3618:                     get us back to the global binding level.  */
        !          3619:                  while (! global_bindings_p ())
        !          3620:                    poplevel (0, 0, 0);
        !          3621:                  finish_file ();
        !          3622:                ;
        !          3623:     break;}
        !          3624: case 3:
        !          3625: #line 308 "parse.y"
        !          3626: { yyval.ttype = NULL_TREE; ;
        !          3627:     break;}
        !          3628: case 4:
        !          3629: #line 309 "parse.y"
        !          3630: { yyval.ttype = NULL_TREE; ;
        !          3631:     break;}
        !          3632: case 5:
        !          3633: #line 311 "parse.y"
        !          3634: { yyval.ttype = NULL_TREE; ;
        !          3635:     break;}
        !          3636: case 6:
        !          3637: #line 315 "parse.y"
        !          3638: { have_extern_spec = 1;
        !          3639:                  used_extern_spec = 0;
        !          3640:                  yyval.ttype = NULL_TREE; ;
        !          3641:     break;}
        !          3642: case 7:
        !          3643: #line 320 "parse.y"
        !          3644: { have_extern_spec = 0; ;
        !          3645:     break;}
        !          3646: case 10:
        !          3647: #line 329 "parse.y"
        !          3648: { if (pending_lang_change) do_pending_lang_change(); ;
        !          3649:     break;}
        !          3650: case 11:
        !          3651: #line 331 "parse.y"
        !          3652: { if (! global_bindings_p () && ! pseudo_global_level_p())
        !          3653:              pop_everything (); ;
        !          3654:     break;}
        !          3655: case 12:
        !          3656: #line 337 "parse.y"
        !          3657: { if (pending_inlines) do_pending_inlines (); ;
        !          3658:     break;}
        !          3659: case 13:
        !          3660: #line 339 "parse.y"
        !          3661: { if (pending_inlines) do_pending_inlines (); ;
        !          3662:     break;}
        !          3663: case 14:
        !          3664: #line 341 "parse.y"
        !          3665: { if (pending_inlines) do_pending_inlines (); ;
        !          3666:     break;}
        !          3667: case 16:
        !          3668: #line 344 "parse.y"
        !          3669: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
        !          3670:                  assemble_asm (yyvsp[-2].ttype); ;
        !          3671:     break;}
        !          3672: case 17:
        !          3673: #line 347 "parse.y"
        !          3674: { pop_lang_context (); ;
        !          3675:     break;}
        !          3676: case 18:
        !          3677: #line 349 "parse.y"
        !          3678: { pop_lang_context (); ;
        !          3679:     break;}
        !          3680: case 19:
        !          3681: #line 351 "parse.y"
        !          3682: { if (pending_inlines) do_pending_inlines ();
        !          3683:                  pop_lang_context (); ;
        !          3684:     break;}
        !          3685: case 20:
        !          3686: #line 354 "parse.y"
        !          3687: { if (pending_inlines) do_pending_inlines ();
        !          3688:                  pop_lang_context (); ;
        !          3689:     break;}
        !          3690: case 21:
        !          3691: #line 360 "parse.y"
        !          3692: { push_lang_context (yyvsp[0].ttype); ;
        !          3693:     break;}
        !          3694: case 22:
        !          3695: #line 365 "parse.y"
        !          3696: { begin_template_parm_list (); ;
        !          3697:     break;}
        !          3698: case 23:
        !          3699: #line 367 "parse.y"
        !          3700: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
        !          3701:     break;}
        !          3702: case 24:
        !          3703: #line 372 "parse.y"
        !          3704: { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
        !          3705:     break;}
        !          3706: case 25:
        !          3707: #line 374 "parse.y"
        !          3708: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          3709:     break;}
        !          3710: case 26:
        !          3711: #line 379 "parse.y"
        !          3712: { 
        !          3713:                  yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
        !          3714:                 ttpa:
        !          3715:                  if (TREE_PURPOSE (yyval.ttype) == signature_type_node)
        !          3716:                    sorry ("signature as template type parameter");
        !          3717:                  else if (TREE_PURPOSE (yyval.ttype) != class_type_node)
        !          3718:                    pedwarn ("template type parameters must use the keyword `class'");
        !          3719:                ;
        !          3720:     break;}
        !          3721: case 27:
        !          3722: #line 388 "parse.y"
        !          3723: { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); goto ttpa; ;
        !          3724:     break;}
        !          3725: case 28:
        !          3726: #line 400 "parse.y"
        !          3727: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          3728:     break;}
        !          3729: case 29:
        !          3730: #line 402 "parse.y"
        !          3731: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
        !          3732:     break;}
        !          3733: case 31:
        !          3734: #line 408 "parse.y"
        !          3735: { warning ("use of `overload' is an anachronism"); ;
        !          3736:     break;}
        !          3737: case 32:
        !          3738: #line 412 "parse.y"
        !          3739: { declare_overloaded (yyvsp[0].ttype); ;
        !          3740:     break;}
        !          3741: case 33:
        !          3742: #line 414 "parse.y"
        !          3743: { declare_overloaded (yyvsp[0].ttype); ;
        !          3744:     break;}
        !          3745: case 34:
        !          3746: #line 421 "parse.y"
        !          3747: { yychar = '{'; goto template1; ;
        !          3748:     break;}
        !          3749: case 36:
        !          3750: #line 424 "parse.y"
        !          3751: { yychar = '{'; goto template1; ;
        !          3752:     break;}
        !          3753: case 38:
        !          3754: #line 427 "parse.y"
        !          3755: { yychar = ':'; goto template1; ;
        !          3756:     break;}
        !          3757: case 40:
        !          3758: #line 430 "parse.y"
        !          3759: {
        !          3760:                  yychar = ':';
        !          3761:                template1:
        !          3762:                  if (current_aggr == exception_type_node)
        !          3763:                    error ("template type must define an aggregate or union");
        !          3764:                  else if (current_aggr == signature_type_node)
        !          3765:                    sorry ("template type defining a signature");
        !          3766:                  /* Maybe pedantic warning for union?
        !          3767:                     How about an enum? :-)  */
        !          3768:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 1);
        !          3769:                  reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
        !          3770:                  yychar = YYEMPTY;
        !          3771:                ;
        !          3772:     break;}
        !          3773: case 42:
        !          3774: #line 445 "parse.y"
        !          3775: {
        !          3776:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
        !          3777:                  /* declare $2 as template name with $1 parm list */
        !          3778:                ;
        !          3779:     break;}
        !          3780: case 43:
        !          3781: #line 450 "parse.y"
        !          3782: {
        !          3783:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
        !          3784:                  /* declare $2 as template name with $1 parm list */
        !          3785:                ;
        !          3786:     break;}
        !          3787: case 44:
        !          3788: #line 457 "parse.y"
        !          3789: {
        !          3790:                  tree d;
        !          3791:                  int momentary;
        !          3792:                  int def = (yyvsp[0].itype != ';');
        !          3793:                  momentary = suspend_momentary ();
        !          3794:                  d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/NULL_TREE, 0,
        !          3795:                                  yyvsp[-3].ttype);
        !          3796:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
        !          3797:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
        !          3798:                  end_template_decl (yyvsp[-5].ttype, d, 0, def);
        !          3799:                  if (def)
        !          3800:                    reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-5].ttype, d);
        !          3801:                  resume_momentary (momentary);
        !          3802:                ;
        !          3803:     break;}
        !          3804: case 45:
        !          3805: #line 474 "parse.y"
        !          3806: {
        !          3807:                  tree d;
        !          3808:                  int momentary;
        !          3809:                  int def = (yyvsp[0].itype != ';');
        !          3810: 
        !          3811:                  current_declspecs = yyvsp[-5].ttype;
        !          3812:                  momentary = suspend_momentary ();
        !          3813:                  d = start_decl (yyvsp[-4].ttype, current_declspecs,
        !          3814:                                  0, yyvsp[-3].ttype);
        !          3815:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
        !          3816:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
        !          3817:                  end_template_decl (yyvsp[-6].ttype, d, 0, def);
        !          3818:                  if (def)
        !          3819:                    {
        !          3820:                      reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-6].ttype, d);
        !          3821:                      yychar = YYEMPTY;
        !          3822:                    }
        !          3823:                  note_list_got_semicolon (yyvsp[-5].ttype);
        !          3824:                  resume_momentary (momentary);
        !          3825:                ;
        !          3826:     break;}
        !          3827: case 46:
        !          3828: #line 495 "parse.y"
        !          3829: {
        !          3830:                  int def = (yyvsp[0].itype != ';');
        !          3831:                  tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
        !          3832:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
        !          3833:                  end_template_decl (yyvsp[-3].ttype, d, 0, def);
        !          3834:                  if (def)
        !          3835:                    reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-3].ttype, d);
        !          3836:                ;
        !          3837:     break;}
        !          3838: case 47:
        !          3839: #line 504 "parse.y"
        !          3840: { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
        !          3841:     break;}
        !          3842: case 48:
        !          3843: #line 505 "parse.y"
        !          3844: { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
        !          3845:     break;}
        !          3846: case 49:
        !          3847: #line 508 "parse.y"
        !          3848: { yyval.itype = '{'; ;
        !          3849:     break;}
        !          3850: case 50:
        !          3851: #line 509 "parse.y"
        !          3852: { yyval.itype = ':'; ;
        !          3853:     break;}
        !          3854: case 51:
        !          3855: #line 510 "parse.y"
        !          3856: { yyval.itype = ';'; ;
        !          3857:     break;}
        !          3858: case 52:
        !          3859: #line 511 "parse.y"
        !          3860: { yyval.itype = '='; ;
        !          3861:     break;}
        !          3862: case 53:
        !          3863: #line 512 "parse.y"
        !          3864: { yyval.itype = RETURN; ;
        !          3865:     break;}
        !          3866: case 54:
        !          3867: #line 517 "parse.y"
        !          3868: {;
        !          3869:     break;}
        !          3870: case 55:
        !          3871: #line 519 "parse.y"
        !          3872: {;
        !          3873:     break;}
        !          3874: case 56:
        !          3875: #line 522 "parse.y"
        !          3876: { tree d;
        !          3877:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
        !          3878:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
        !          3879:                ;
        !          3880:     break;}
        !          3881: case 57:
        !          3882: #line 527 "parse.y"
        !          3883: {
        !          3884:                  note_list_got_semicolon (yyval.ttype);
        !          3885:                ;
        !          3886:     break;}
        !          3887: case 58:
        !          3888: #line 532 "parse.y"
        !          3889: { tree d;
        !          3890:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
        !          3891:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
        !          3892:                  note_list_got_semicolon (yyval.ttype);
        !          3893:                ;
        !          3894:     break;}
        !          3895: case 59:
        !          3896: #line 538 "parse.y"
        !          3897: { pedwarn ("empty declaration"); ;
        !          3898:     break;}
        !          3899: case 61:
        !          3900: #line 541 "parse.y"
        !          3901: {
        !          3902:            tree t = yyval.ttype;
        !          3903:            shadow_tag (t);
        !          3904:            if (TREE_CODE (t) == TREE_LIST
        !          3905:                && TREE_PURPOSE (t) == NULL_TREE)
        !          3906:              {
        !          3907:                t = TREE_VALUE (t);
        !          3908:                if (IS_AGGR_TYPE (t)
        !          3909:                    && IDENTIFIER_TEMPLATE (TYPE_IDENTIFIER (t)))
        !          3910:                  {
        !          3911:                    if (CLASSTYPE_USE_TEMPLATE (t) == 0)
        !          3912:                      SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
        !          3913:                    else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
        !          3914:                      error ("override declaration for already-expanded template");
        !          3915:                  }
        !          3916:              }
        !          3917:            note_list_got_semicolon (yyval.ttype);
        !          3918:          ;
        !          3919:     break;}
        !          3920: case 65:
        !          3921: #line 566 "parse.y"
        !          3922: {
        !          3923:                  finish_function (lineno, 1);
        !          3924:                  /* finish_function performs these three statements:
        !          3925: 
        !          3926:                     expand_end_bindings (getdecls (), 1, 0);
        !          3927:                     poplevel (1, 1, 0);
        !          3928: 
        !          3929:                     expand_end_bindings (0, 0, 0);
        !          3930:                     poplevel (0, 0, 1);
        !          3931:                     */
        !          3932:                  if (yyval.ttype) process_next_inline (yyval.ttype);
        !          3933:                ;
        !          3934:     break;}
        !          3935: case 66:
        !          3936: #line 579 "parse.y"
        !          3937: {
        !          3938:                  finish_function (lineno, 1);
        !          3939:                  /* finish_function performs these three statements:
        !          3940: 
        !          3941:                     expand_end_bindings (getdecls (), 1, 0);
        !          3942:                     poplevel (1, 1, 0);
        !          3943: 
        !          3944:                     expand_end_bindings (0, 0, 0);
        !          3945:                     poplevel (0, 0, 1);
        !          3946:                     */
        !          3947:                  if (yyval.ttype) process_next_inline (yyval.ttype);
        !          3948:                ;
        !          3949:     break;}
        !          3950: case 67:
        !          3951: #line 592 "parse.y"
        !          3952: { finish_function (lineno, 0);
        !          3953:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
        !          3954:     break;}
        !          3955: case 68:
        !          3956: #line 595 "parse.y"
        !          3957: { finish_function (lineno, 0);
        !          3958:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
        !          3959:     break;}
        !          3960: case 69:
        !          3961: #line 598 "parse.y"
        !          3962: { finish_function (lineno, 0);
        !          3963:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
        !          3964:     break;}
        !          3965: case 70:
        !          3966: #line 601 "parse.y"
        !          3967: {;
        !          3968:     break;}
        !          3969: case 71:
        !          3970: #line 603 "parse.y"
        !          3971: {;
        !          3972:     break;}
        !          3973: case 72:
        !          3974: #line 605 "parse.y"
        !          3975: {;
        !          3976:     break;}
        !          3977: case 73:
        !          3978: #line 610 "parse.y"
        !          3979: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
        !          3980:                    YYERROR1;
        !          3981:                  reinit_parse_for_function ();
        !          3982:                  yyval.ttype = NULL_TREE; ;
        !          3983:     break;}
        !          3984: case 74:
        !          3985: #line 615 "parse.y"
        !          3986: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
        !          3987:                    YYERROR1;
        !          3988:                  reinit_parse_for_function ();
        !          3989:                  yyval.ttype = NULL_TREE; ;
        !          3990:     break;}
        !          3991: case 75:
        !          3992: #line 620 "parse.y"
        !          3993: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
        !          3994:                    YYERROR1;
        !          3995:                  reinit_parse_for_function ();
        !          3996:                  yyval.ttype = NULL_TREE; ;
        !          3997:     break;}
        !          3998: case 76:
        !          3999: #line 625 "parse.y"
        !          4000: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
        !          4001:                  reinit_parse_for_function (); ;
        !          4002:     break;}
        !          4003: case 77:
        !          4004: #line 633 "parse.y"
        !          4005: {
        !          4006:                  yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-5].ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
        !          4007:                  yyval.ttype = start_method (TREE_CHAIN (yyvsp[-5].ttype), yyval.ttype, yyvsp[0].ttype);
        !          4008:                 rest_of_mdef:
        !          4009:                  if (! yyval.ttype)
        !          4010:                    YYERROR1;
        !          4011:                  if (yychar == YYEMPTY)
        !          4012:                    yychar = YYLEX;
        !          4013:                  reinit_parse_for_method (yychar, yyval.ttype); ;
        !          4014:     break;}
        !          4015: case 78:
        !          4016: #line 643 "parse.y"
        !          4017: {
        !          4018:                  yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-3].ttype),
        !          4019:                                         empty_parms (), yyvsp[-1].ttype);
        !          4020:                  yyval.ttype = start_method (TREE_CHAIN (yyvsp[-3].ttype), yyval.ttype, yyvsp[0].ttype);
        !          4021:                  goto rest_of_mdef;
        !          4022:                ;
        !          4023:     break;}
        !          4024: case 79:
        !          4025: #line 650 "parse.y"
        !          4026: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
        !          4027:     break;}
        !          4028: case 80:
        !          4029: #line 652 "parse.y"
        !          4030: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
        !          4031:     break;}
        !          4032: case 81:
        !          4033: #line 654 "parse.y"
        !          4034: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
        !          4035:     break;}
        !          4036: case 82:
        !          4037: #line 658 "parse.y"
        !          4038: {
        !          4039:                  if (! current_function_parms_stored)
        !          4040:                    store_parm_decls ();
        !          4041:                  yyval.ttype = yyvsp[0].ttype;
        !          4042:                ;
        !          4043:     break;}
        !          4044: case 83:
        !          4045: #line 666 "parse.y"
        !          4046: { store_return_init (yyval.ttype, NULL_TREE); ;
        !          4047:     break;}
        !          4048: case 84:
        !          4049: #line 668 "parse.y"
        !          4050: { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
        !          4051:     break;}
        !          4052: case 85:
        !          4053: #line 670 "parse.y"
        !          4054: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
        !          4055:     break;}
        !          4056: case 86:
        !          4057: #line 672 "parse.y"
        !          4058: { store_return_init (yyval.ttype, NULL_TREE); ;
        !          4059:     break;}
        !          4060: case 87:
        !          4061: #line 677 "parse.y"
        !          4062: {
        !          4063:                  if (yyvsp[0].itype == 0)
        !          4064:                    error ("no base initializers given following ':'");
        !          4065:                  setup_vtbl_ptr ();
        !          4066:                  /* Always keep the BLOCK node associated with the outermost
        !          4067:                     pair of curley braces of a function.  These are needed
        !          4068:                     for correct operation of dwarfout.c.  */
        !          4069:                  keep_next_level ();
        !          4070:                ;
        !          4071:     break;}
        !          4072: case 88:
        !          4073: #line 690 "parse.y"
        !          4074: {
        !          4075:                  if (! current_function_parms_stored)
        !          4076:                    store_parm_decls ();
        !          4077: 
        !          4078:                  /* Flag that we are processing base and member initializers.  */
        !          4079:                  current_vtable_decl = error_mark_node;
        !          4080: 
        !          4081:                  if (DECL_CONSTRUCTOR_P (current_function_decl))
        !          4082:                    {
        !          4083:                      /* Make a contour for the initializer list.  */
        !          4084:                      pushlevel (0);
        !          4085:                      clear_last_expr ();
        !          4086:                      expand_start_bindings (0);
        !          4087:                    }
        !          4088:                  else if (current_class_type == NULL_TREE)
        !          4089:                    error ("base initializers not allowed for non-member functions");
        !          4090:                  else if (! DECL_CONSTRUCTOR_P (current_function_decl))
        !          4091:                    error ("only constructors take base initializers");
        !          4092:                ;
        !          4093:     break;}
        !          4094: case 89:
        !          4095: #line 713 "parse.y"
        !          4096: { yyval.itype = 0; ;
        !          4097:     break;}
        !          4098: case 90:
        !          4099: #line 715 "parse.y"
        !          4100: { yyval.itype = 1; ;
        !          4101:     break;}
        !          4102: case 93:
        !          4103: #line 721 "parse.y"
        !          4104: {
        !          4105:                  if (current_class_name && !flag_traditional)
        !          4106:                    pedwarn ("anachronistic old style base class initializer");
        !          4107:                  expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
        !          4108:                ;
        !          4109:     break;}
        !          4110: case 94:
        !          4111: #line 727 "parse.y"
        !          4112: {
        !          4113:                  if (current_class_name && !flag_traditional)
        !          4114:                    pedwarn ("anachronistic old style base class initializer");
        !          4115:                  expand_member_init (C_C_D, NULL_TREE, void_type_node);
        !          4116:                ;
        !          4117:     break;}
        !          4118: case 95:
        !          4119: #line 733 "parse.y"
        !          4120: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
        !          4121:     break;}
        !          4122: case 96:
        !          4123: #line 735 "parse.y"
        !          4124: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
        !          4125:     break;}
        !          4126: case 97:
        !          4127: #line 737 "parse.y"
        !          4128: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
        !          4129:     break;}
        !          4130: case 98:
        !          4131: #line 739 "parse.y"
        !          4132: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
        !          4133:     break;}
        !          4134: case 99:
        !          4135: #line 742 "parse.y"
        !          4136: {
        !          4137:                  do_member_init (OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
        !          4138:                ;
        !          4139:     break;}
        !          4140: case 100:
        !          4141: #line 746 "parse.y"
        !          4142: {
        !          4143:                  do_member_init (OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), void_type_node);
        !          4144:                ;
        !          4145:     break;}
        !          4146: case 109:
        !          4147: #line 770 "parse.y"
        !          4148: { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, NULL_TREE); ;
        !          4149:     break;}
        !          4150: case 110:
        !          4151: #line 772 "parse.y"
        !          4152: { do_function_instantiation (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE); ;
        !          4153:     break;}
        !          4154: case 111:
        !          4155: #line 774 "parse.y"
        !          4156: { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, yyvsp[-3].ttype); ;
        !          4157:     break;}
        !          4158: case 112:
        !          4159: #line 776 "parse.y"
        !          4160: { do_function_instantiation (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype); ;
        !          4161:     break;}
        !          4162: case 113:
        !          4163: #line 781 "parse.y"
        !          4164: { if (yyvsp[0].ttype) yyval.ttype = yyvsp[0].ttype; ;
        !          4165:     break;}
        !          4166: case 114:
        !          4167: #line 786 "parse.y"
        !          4168: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
        !          4169:     break;}
        !          4170: case 115:
        !          4171: #line 788 "parse.y"
        !          4172: { yyval.ttype = lookup_template_class (yyval.ttype, NULL_TREE, NULL_TREE); ;
        !          4173:     break;}
        !          4174: case 116:
        !          4175: #line 790 "parse.y"
        !          4176: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
        !          4177:     break;}
        !          4178: case 117:
        !          4179: #line 795 "parse.y"
        !          4180: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
        !          4181:     break;}
        !          4182: case 118:
        !          4183: #line 800 "parse.y"
        !          4184: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          4185:     break;}
        !          4186: case 119:
        !          4187: #line 802 "parse.y"
        !          4188: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          4189:     break;}
        !          4190: case 120:
        !          4191: #line 807 "parse.y"
        !          4192: { yyval.ttype = groktypename (yyval.ttype); ;
        !          4193:     break;}
        !          4194: case 122:
        !          4195: #line 813 "parse.y"
        !          4196: {
        !          4197:                  tree t, decl, tmpl;
        !          4198: 
        !          4199:                  tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (yyvsp[-1].ttype));
        !          4200:                  t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, yyvsp[-1].ttype, yyvsp[0].ttype, 0);
        !          4201:                  set_current_level_tags_transparency (1);
        !          4202:                  my_friendly_assert (TREE_CODE (t) == RECORD_TYPE
        !          4203:                                      || TREE_CODE (t) == UNION_TYPE, 257);
        !          4204:                  yyval.ttype = t;
        !          4205: 
        !          4206:                  /* Now, put a copy of the decl in global scope, to avoid
        !          4207:                     recursive expansion.  */
        !          4208:                  decl = IDENTIFIER_LOCAL_VALUE (yyvsp[-1].ttype);
        !          4209:                  if (!decl)
        !          4210:                    decl = IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype);
        !          4211:                  /* Now, put a copy of the decl in global scope, to avoid
        !          4212:                     recursive expansion.  */
        !          4213:                   if (decl)
        !          4214:                     {
        !          4215:                      /* Need to copy it to clear the chain pointer,
        !          4216:                         and need to get it into permanent storage.  */
        !          4217:                       my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
        !          4218:                      push_obstacks (&permanent_obstack, &permanent_obstack);
        !          4219:                       decl = copy_node (decl);
        !          4220:                      if (DECL_LANG_SPECIFIC (decl))
        !          4221:                        copy_lang_decl (decl);
        !          4222:                      pop_obstacks ();
        !          4223:                      pushdecl_top_level (decl);
        !          4224:                    }
        !          4225:                  /* Kludge; see instantiate_class_template.  */
        !          4226:                  TYPE_BEING_DEFINED (t) = 0;
        !          4227:                ;
        !          4228:     break;}
        !          4229: case 123:
        !          4230: #line 846 "parse.y"
        !          4231: {
        !          4232:                  tree t = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0);
        !          4233: 
        !          4234:                  pop_obstacks ();
        !          4235:                  end_template_instantiation (yyvsp[-5].ttype);
        !          4236: 
        !          4237:                   /* Now go after the methods & class data.  */
        !          4238:                   instantiate_member_templates (yyvsp[-5].ttype);
        !          4239: 
        !          4240:                  pop_tinst_level();
        !          4241: 
        !          4242:                  CLASSTYPE_GOT_SEMICOLON (t) = 1;
        !          4243:                ;
        !          4244:     break;}
        !          4245: case 124:
        !          4246: #line 863 "parse.y"
        !          4247: { yyval.ttype = NULL_TREE; ;
        !          4248:     break;}
        !          4249: case 125:
        !          4250: #line 865 "parse.y"
        !          4251: { yyval.ttype = yyvsp[0].ttype; ;
        !          4252:     break;}
        !          4253: case 126:
        !          4254: #line 870 "parse.y"
        !          4255: { yyval.ttype = NULL_TREE; /* never used from here... */;
        !          4256:     break;}
        !          4257: case 127:
        !          4258: #line 872 "parse.y"
        !          4259: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
        !          4260:     break;}
        !          4261: case 128:
        !          4262: #line 876 "parse.y"
        !          4263: { yyval.code = NEGATE_EXPR; ;
        !          4264:     break;}
        !          4265: case 129:
        !          4266: #line 878 "parse.y"
        !          4267: { yyval.code = CONVERT_EXPR; ;
        !          4268:     break;}
        !          4269: case 130:
        !          4270: #line 880 "parse.y"
        !          4271: { yyval.code = PREINCREMENT_EXPR; ;
        !          4272:     break;}
        !          4273: case 131:
        !          4274: #line 882 "parse.y"
        !          4275: { yyval.code = PREDECREMENT_EXPR; ;
        !          4276:     break;}
        !          4277: case 132:
        !          4278: #line 884 "parse.y"
        !          4279: { yyval.code = TRUTH_NOT_EXPR; ;
        !          4280:     break;}
        !          4281: case 133:
        !          4282: #line 888 "parse.y"
        !          4283: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
        !          4284:     break;}
        !          4285: case 135:
        !          4286: #line 894 "parse.y"
        !          4287: { error ("ANSI C++ forbids an empty condition for `%s'",
        !          4288:                         cond_stmt_keyword);
        !          4289:                  yyval.ttype = integer_zero_node; ;
        !          4290:     break;}
        !          4291: case 136:
        !          4292: #line 898 "parse.y"
        !          4293: { yyval.ttype = build1 (CLEANUP_POINT_EXPR, bool_type_node, 
        !          4294:                               bool_truthvalue_conversion (yyvsp[-1].ttype)); ;
        !          4295:     break;}
        !          4296: case 137:
        !          4297: #line 904 "parse.y"
        !          4298: { error ("ANSI C++ forbids an empty condition for `%s'",
        !          4299:                         cond_stmt_keyword);
        !          4300:                  yyval.ttype = integer_zero_node; ;
        !          4301:     break;}
        !          4302: case 138:
        !          4303: #line 908 "parse.y"
        !          4304: { yyval.ttype = build1 (CLEANUP_POINT_EXPR, bool_type_node, 
        !          4305:                               bool_truthvalue_conversion (yyvsp[-1].ttype)); ;
        !          4306:     break;}
        !          4307: case 139:
        !          4308: #line 914 "parse.y"
        !          4309: { yyval.ttype = NULL_TREE; ;
        !          4310:     break;}
        !          4311: case 140:
        !          4312: #line 916 "parse.y"
        !          4313: { yyval.ttype = build1 (CLEANUP_POINT_EXPR, bool_type_node, 
        !          4314:                               bool_truthvalue_conversion (yyval.ttype)); ;
        !          4315:     break;}
        !          4316: case 141:
        !          4317: #line 919 "parse.y"
        !          4318: { yyval.ttype = NULL_TREE; ;
        !          4319:     break;}
        !          4320: case 142:
        !          4321: #line 924 "parse.y"
        !          4322: { {
        !          4323:                  tree d;
        !          4324:                  for (d = getdecls (); d; d = TREE_CHAIN (d))
        !          4325:                    if (TREE_CODE (d) == TYPE_DECL) {
        !          4326:                      tree s = TREE_TYPE (d);
        !          4327:                      if (TREE_CODE (s) == RECORD_TYPE)
        !          4328:                        cp_error ("definition of class `%T' in condition", s);
        !          4329:                      else if (TREE_CODE (s) == ENUMERAL_TYPE)
        !          4330:                        cp_error ("definition of enum `%T' in condition", s);
        !          4331:                    }
        !          4332:                  }
        !          4333:                  current_declspecs = yyvsp[-5].ttype;
        !          4334:                  yyvsp[0].itype = suspend_momentary ();
        !          4335:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          4336:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype);
        !          4337:                ;
        !          4338:     break;}
        !          4339: case 143:
        !          4340: #line 941 "parse.y"
        !          4341: { 
        !          4342:                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 0);
        !          4343:                  resume_momentary (yyvsp[-2].itype);
        !          4344:                  yyval.ttype = yyvsp[-1].ttype; 
        !          4345:                  if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
        !          4346:                    cp_error ("definition of array `%#D' in condition", yyval.ttype); 
        !          4347:                ;
        !          4348:     break;}
        !          4349: case 145:
        !          4350: #line 953 "parse.y"
        !          4351: { finish_stmt (); ;
        !          4352:     break;}
        !          4353: case 146:
        !          4354: #line 955 "parse.y"
        !          4355: { finish_stmt (); ;
        !          4356:     break;}
        !          4357: case 147:
        !          4358: #line 957 "parse.y"
        !          4359: { finish_stmt (); ;
        !          4360:     break;}
        !          4361: case 149:
        !          4362: #line 964 "parse.y"
        !          4363: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
        !          4364:                                  build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          4365:     break;}
        !          4366: case 150:
        !          4367: #line 967 "parse.y"
        !          4368: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
        !          4369:                                  build_tree_list (NULL_TREE, error_mark_node)); ;
        !          4370:     break;}
        !          4371: case 151:
        !          4372: #line 970 "parse.y"
        !          4373: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          4374:     break;}
        !          4375: case 152:
        !          4376: #line 972 "parse.y"
        !          4377: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
        !          4378:     break;}
        !          4379: case 153:
        !          4380: #line 977 "parse.y"
        !          4381: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          4382:     break;}
        !          4383: case 155:
        !          4384: #line 983 "parse.y"
        !          4385: {
        !          4386: #if 0
        !          4387:                  if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
        !          4388:                    yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
        !          4389: #endif
        !          4390:                ;
        !          4391:     break;}
        !          4392: case 156:
        !          4393: #line 991 "parse.y"
        !          4394: { yyvsp[0].itype = pedantic;
        !          4395:                  pedantic = 0; ;
        !          4396:     break;}
        !          4397: case 157:
        !          4398: #line 994 "parse.y"
        !          4399: { yyval.ttype = yyvsp[0].ttype;
        !          4400:                  pedantic = yyvsp[-2].itype; ;
        !          4401:     break;}
        !          4402: case 158:
        !          4403: #line 997 "parse.y"
        !          4404: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
        !          4405:     break;}
        !          4406: case 159:
        !          4407: #line 999 "parse.y"
        !          4408: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
        !          4409:     break;}
        !          4410: case 160:
        !          4411: #line 1001 "parse.y"
        !          4412: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
        !          4413:     break;}
        !          4414: case 161:
        !          4415: #line 1003 "parse.y"
        !          4416: { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
        !          4417:                  if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
        !          4418:                    TREE_NEGATED_INT (yyval.ttype) = 1;
        !          4419:                  overflow_warning (yyval.ttype);
        !          4420:                ;
        !          4421:     break;}
        !          4422: case 162:
        !          4423: #line 1010 "parse.y"
        !          4424: { tree label = lookup_label (yyvsp[0].ttype);
        !          4425:                  if (label == NULL_TREE)
        !          4426:                    yyval.ttype = null_pointer_node;
        !          4427:                  else
        !          4428:                    {
        !          4429:                      TREE_USED (label) = 1;
        !          4430:                      yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
        !          4431:                      TREE_CONSTANT (yyval.ttype) = 1;
        !          4432:                    }
        !          4433:                ;
        !          4434:     break;}
        !          4435: case 163:
        !          4436: #line 1021 "parse.y"
        !          4437: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
        !          4438:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
        !          4439:                    error ("sizeof applied to a bit-field");
        !          4440:                  /* ANSI says arrays and functions are converted inside comma.
        !          4441:                     But we can't really convert them in build_compound_expr
        !          4442:                     because that would break commas in lvalues.
        !          4443:                     So do the conversion here if operand was a comma.  */
        !          4444:                  if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
        !          4445:                      && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
        !          4446:                          || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
        !          4447:                    yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
        !          4448:                  else if (TREE_CODE (yyvsp[0].ttype) == TREE_LIST)
        !          4449:                    {
        !          4450:                      tree t = TREE_VALUE (yyvsp[0].ttype);
        !          4451:                      if (t != NULL_TREE
        !          4452:                          && TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
        !          4453:                        pedwarn ("ANSI C++ forbids using sizeof() on a function");
        !          4454:                    }
        !          4455:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
        !          4456:     break;}
        !          4457: case 164:
        !          4458: #line 1041 "parse.y"
        !          4459: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
        !          4460:     break;}
        !          4461: case 165:
        !          4462: #line 1043 "parse.y"
        !          4463: { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
        !          4464:     break;}
        !          4465: case 166:
        !          4466: #line 1045 "parse.y"
        !          4467: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
        !          4468:     break;}
        !          4469: case 167:
        !          4470: #line 1050 "parse.y"
        !          4471: { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ttype, NULL_TREE, yyvsp[-1].itype); ;
        !          4472:     break;}
        !          4473: case 168:
        !          4474: #line 1052 "parse.y"
        !          4475: { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-2].itype); ;
        !          4476:     break;}
        !          4477: case 169:
        !          4478: #line 1054 "parse.y"
        !          4479: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyvsp[-2].itype); ;
        !          4480:     break;}
        !          4481: case 170:
        !          4482: #line 1056 "parse.y"
        !          4483: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].itype); ;
        !          4484:     break;}
        !          4485: case 171:
        !          4486: #line 1058 "parse.y"
        !          4487: { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ttype),
        !          4488:                                  NULL_TREE, yyvsp[-3].itype); ;
        !          4489:     break;}
        !          4490: case 172:
        !          4491: #line 1061 "parse.y"
        !          4492: { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-4].itype); ;
        !          4493:     break;}
        !          4494: case 173:
        !          4495: #line 1063 "parse.y"
        !          4496: { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ttype), NULL_TREE, yyvsp[-4].itype); ;
        !          4497:     break;}
        !          4498: case 174:
        !          4499: #line 1065 "parse.y"
        !          4500: { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-5].itype); ;
        !          4501:     break;}
        !          4502: case 175:
        !          4503: #line 1068 "parse.y"
        !          4504: { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
        !          4505:     break;}
        !          4506: case 176:
        !          4507: #line 1070 "parse.y"
        !          4508: { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
        !          4509:                  if (yychar == YYEMPTY)
        !          4510:                    yychar = YYLEX; ;
        !          4511:     break;}
        !          4512: case 177:
        !          4513: #line 1074 "parse.y"
        !          4514: { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
        !          4515:                  if (yychar == YYEMPTY)
        !          4516:                    yychar = YYLEX; ;
        !          4517:     break;}
        !          4518: case 178:
        !          4519: #line 1081 "parse.y"
        !          4520: { yyval.ttype = yyvsp[-1].ttype; ;
        !          4521:     break;}
        !          4522: case 179:
        !          4523: #line 1083 "parse.y"
        !          4524: {
        !          4525:                  yyval.ttype = yyvsp[-1].ttype; 
        !          4526:                  pedwarn ("old style placement syntax, use () instead");
        !          4527:                ;
        !          4528:     break;}
        !          4529: case 180:
        !          4530: #line 1091 "parse.y"
        !          4531: { yyval.ttype = yyvsp[-1].ttype; ;
        !          4532:     break;}
        !          4533: case 181:
        !          4534: #line 1093 "parse.y"
        !          4535: { yyval.ttype = NULL_TREE; ;
        !          4536:     break;}
        !          4537: case 182:
        !          4538: #line 1095 "parse.y"
        !          4539: {
        !          4540:                  cp_error ("`%T' is not a valid expression", yyvsp[-1].ttype);
        !          4541:                  yyval.ttype = error_mark_node;
        !          4542:                ;
        !          4543:     break;}
        !          4544: case 183:
        !          4545: #line 1103 "parse.y"
        !          4546: {
        !          4547:                  if (flag_ansi)
        !          4548:                    pedwarn ("ANSI C++ forbids initialization of new expression with `='");
        !          4549:                  yyval.ttype = yyvsp[0].ttype;
        !          4550:                ;
        !          4551:     break;}
        !          4552: case 184:
        !          4553: #line 1113 "parse.y"
        !          4554: { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
        !          4555:                  TREE_PARMLIST (yyvsp[-1].ttype) = 1;
        !          4556:                  yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-1].ttype, 
        !          4557:                                         NULL_TREE); ;
        !          4558:     break;}
        !          4559: case 185:
        !          4560: #line 1118 "parse.y"
        !          4561: { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
        !          4562:                  TREE_PARMLIST (yyvsp[-1].ttype) = 1;
        !          4563:                  yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
        !          4564:     break;}
        !          4565: case 187:
        !          4566: #line 1126 "parse.y"
        !          4567: { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
        !          4568:     break;}
        !          4569: case 188:
        !          4570: #line 1128 "parse.y"
        !          4571: { 
        !          4572:                  tree init = build_nt (CONSTRUCTOR, NULL_TREE,
        !          4573:                                        nreverse (yyvsp[-2].ttype)); 
        !          4574:                  if (flag_ansi)
        !          4575:                    pedwarn ("ANSI C++ forbids constructor-expressions");
        !          4576:                  /* Indicate that this was a GNU C constructor expression.  */
        !          4577:                  TREE_HAS_CONSTRUCTOR (init) = 1;
        !          4578: 
        !          4579:                  yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
        !          4580:                ;
        !          4581:     break;}
        !          4582: case 190:
        !          4583: #line 1143 "parse.y"
        !          4584: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
        !          4585:     break;}
        !          4586: case 191:
        !          4587: #line 1145 "parse.y"
        !          4588: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
        !          4589:     break;}
        !          4590: case 192:
        !          4591: #line 1147 "parse.y"
        !          4592: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
        !          4593:                    {
        !          4594:                      tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
        !          4595:                      if (! IS_SIGNATURE(type))
        !          4596:                        yyval.ttype = CLASSTYPE_DOSSIER (type);
        !          4597:                      else
        !          4598:                        {
        !          4599:                          sorry ("signature name as argument of `classof'");
        !          4600:                          yyval.ttype = error_mark_node;
        !          4601:                        }
        !          4602:                    }
        !          4603:                  else
        !          4604:                    yyval.ttype = error_mark_node;
        !          4605:                ;
        !          4606:     break;}
        !          4607: case 194:
        !          4608: #line 1167 "parse.y"
        !          4609: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
        !          4610:     break;}
        !          4611: case 195:
        !          4612: #line 1169 "parse.y"
        !          4613: { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
        !          4614:     break;}
        !          4615: case 196:
        !          4616: #line 1171 "parse.y"
        !          4617: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4618:     break;}
        !          4619: case 197:
        !          4620: #line 1173 "parse.y"
        !          4621: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4622:     break;}
        !          4623: case 198:
        !          4624: #line 1175 "parse.y"
        !          4625: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4626:     break;}
        !          4627: case 199:
        !          4628: #line 1177 "parse.y"
        !          4629: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4630:     break;}
        !          4631: case 200:
        !          4632: #line 1179 "parse.y"
        !          4633: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4634:     break;}
        !          4635: case 201:
        !          4636: #line 1181 "parse.y"
        !          4637: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4638:     break;}
        !          4639: case 202:
        !          4640: #line 1183 "parse.y"
        !          4641: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4642:     break;}
        !          4643: case 203:
        !          4644: #line 1185 "parse.y"
        !          4645: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4646:     break;}
        !          4647: case 204:
        !          4648: #line 1187 "parse.y"
        !          4649: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
        !          4650:     break;}
        !          4651: case 205:
        !          4652: #line 1189 "parse.y"
        !          4653: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
        !          4654:     break;}
        !          4655: case 206:
        !          4656: #line 1191 "parse.y"
        !          4657: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4658:     break;}
        !          4659: case 207:
        !          4660: #line 1193 "parse.y"
        !          4661: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4662:     break;}
        !          4663: case 208:
        !          4664: #line 1195 "parse.y"
        !          4665: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4666:     break;}
        !          4667: case 209:
        !          4668: #line 1197 "parse.y"
        !          4669: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4670:     break;}
        !          4671: case 210:
        !          4672: #line 1199 "parse.y"
        !          4673: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
        !          4674:     break;}
        !          4675: case 211:
        !          4676: #line 1201 "parse.y"
        !          4677: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
        !          4678:     break;}
        !          4679: case 212:
        !          4680: #line 1203 "parse.y"
        !          4681: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
        !          4682:     break;}
        !          4683: case 213:
        !          4684: #line 1205 "parse.y"
        !          4685: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          4686:     break;}
        !          4687: case 214:
        !          4688: #line 1207 "parse.y"
        !          4689: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
        !          4690:     break;}
        !          4691: case 215:
        !          4692: #line 1209 "parse.y"
        !          4693: { register tree rval;
        !          4694:                  if ((rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
        !          4695:                                             make_node (yyvsp[-1].code))))
        !          4696:                    yyval.ttype = rval;
        !          4697:                  else
        !          4698:                    yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
        !          4699:     break;}
        !          4700: case 216:
        !          4701: #line 1216 "parse.y"
        !          4702: { yyval.ttype = build_throw (NULL_TREE); ;
        !          4703:     break;}
        !          4704: case 217:
        !          4705: #line 1218 "parse.y"
        !          4706: { yyval.ttype = build_throw (yyvsp[0].ttype); ;
        !          4707:     break;}
        !          4708: case 218:
        !          4709: #line 1236 "parse.y"
        !          4710: { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
        !          4711:     break;}
        !          4712: case 226:
        !          4713: #line 1251 "parse.y"
        !          4714: { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
        !          4715:     break;}
        !          4716: case 227:
        !          4717: #line 1253 "parse.y"
        !          4718: { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
        !          4719:     break;}
        !          4720: case 230:
        !          4721: #line 1260 "parse.y"
        !          4722: { push_nested_class (TREE_TYPE (OP0 (yyval.ttype)), 3);
        !          4723:                  TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
        !          4724:     break;}
        !          4725: case 231:
        !          4726: #line 1266 "parse.y"
        !          4727: {
        !          4728:                  if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
        !          4729:                    yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
        !          4730:                  else if (IDENTIFIER_OPNAME_P (yyval.ttype))
        !          4731:                    {
        !          4732:                      tree op = yyval.ttype;
        !          4733:                      yyval.ttype = lookup_name (op, 0);
        !          4734:                      if (yyval.ttype == NULL_TREE)
        !          4735:                        {
        !          4736:                          if (op != ansi_opname[ERROR_MARK])
        !          4737:                            error ("operator %s not defined",
        !          4738:                                   operator_name_string (op));
        !          4739:                          yyval.ttype = error_mark_node;
        !          4740:                        }
        !          4741:                    }
        !          4742:                  else
        !          4743:                    yyval.ttype = do_identifier (yyval.ttype);
        !          4744:                ;
        !          4745:     break;}
        !          4746: case 234:
        !          4747: #line 1287 "parse.y"
        !          4748: { yyval.ttype = combine_strings (yyval.ttype); ;
        !          4749:     break;}
        !          4750: case 235:
        !          4751: #line 1289 "parse.y"
        !          4752: { yyval.ttype = yyvsp[-1].ttype; ;
        !          4753:     break;}
        !          4754: case 236:
        !          4755: #line 1291 "parse.y"
        !          4756: { yyval.ttype = error_mark_node; ;
        !          4757:     break;}
        !          4758: case 237:
        !          4759: #line 1293 "parse.y"
        !          4760: { if (current_function_decl == 0)
        !          4761:                    {
        !          4762:                      error ("braced-group within expression allowed only inside a function");
        !          4763:                      YYERROR;
        !          4764:                    }
        !          4765:                  keep_next_level ();
        !          4766:                  yyval.ttype = expand_start_stmt_expr (); ;
        !          4767:     break;}
        !          4768: case 238:
        !          4769: #line 1301 "parse.y"
        !          4770: { tree rtl_exp;
        !          4771:                  if (flag_ansi)
        !          4772:                    pedwarn ("ANSI C++ forbids braced-groups within expressions");
        !          4773:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
        !          4774:                  /* The statements have side effects, so the group does.  */
        !          4775:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
        !          4776: 
        !          4777:                  if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
        !          4778:                    {
        !          4779:                      /* Make a BIND_EXPR for the BLOCK already made.  */
        !          4780:                      yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
        !          4781:                                  NULL_TREE, rtl_exp, yyvsp[-1].ttype);
        !          4782:                      /* Remove the block from the tree at this point.
        !          4783:                         It gets put back at the proper place
        !          4784:                         when the BIND_EXPR is expanded.  */
        !          4785:                      delete_block (yyvsp[-1].ttype);
        !          4786:                    }
        !          4787:                  else
        !          4788:                    yyval.ttype = yyvsp[-1].ttype;
        !          4789:                ;
        !          4790:     break;}
        !          4791: case 239:
        !          4792: #line 1322 "parse.y"
        !          4793: { /* [eichin:19911016.1902EST] */
        !          4794:                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
        !          4795:                   /* here we instantiate_class_template as needed... */
        !          4796:                   do_pending_templates ();
        !          4797:                 ;
        !          4798:     break;}
        !          4799: case 240:
        !          4800: #line 1326 "parse.y"
        !          4801: {
        !          4802:                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
        !          4803:                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
        !          4804:                    yyval.ttype = require_complete_type (yyvsp[-1].ttype);
        !          4805:                   else
        !          4806:                     yyval.ttype = yyvsp[-1].ttype;
        !          4807:                 ;
        !          4808:     break;}
        !          4809: case 241:
        !          4810: #line 1334 "parse.y"
        !          4811: {
        !          4812:                  yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
        !          4813:                  if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          4814:                      && TREE_TYPE (yyval.ttype) != void_type_node)
        !          4815:                    yyval.ttype = require_complete_type (yyval.ttype);
        !          4816:                 ;
        !          4817:     break;}
        !          4818: case 242:
        !          4819: #line 1341 "parse.y"
        !          4820: { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
        !          4821:     break;}
        !          4822: case 243:
        !          4823: #line 1343 "parse.y"
        !          4824: { /* If we get an OFFSET_REF, turn it into what it really
        !          4825:                     means (e.g., a COMPONENT_REF).  This way if we've got,
        !          4826:                     say, a reference to a static member that's being operated
        !          4827:                     on, we don't end up trying to find a member operator for
        !          4828:                     the class it's in.  */
        !          4829:                  if (TREE_CODE (yyval.ttype) == OFFSET_REF)
        !          4830:                    yyval.ttype = resolve_offset_ref (yyval.ttype);
        !          4831:                  yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
        !          4832:     break;}
        !          4833: case 244:
        !          4834: #line 1352 "parse.y"
        !          4835: { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
        !          4836:                    yyval.ttype = resolve_offset_ref (yyval.ttype);
        !          4837:                  yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
        !          4838:     break;}
        !          4839: case 245:
        !          4840: #line 1357 "parse.y"
        !          4841: { if (current_class_decl)
        !          4842:                    {
        !          4843: #ifdef WARNING_ABOUT_CCD
        !          4844:                      TREE_USED (current_class_decl) = 1;
        !          4845: #endif
        !          4846:                      yyval.ttype = current_class_decl;
        !          4847:                    }
        !          4848:                  else if (current_function_decl
        !          4849:                           && DECL_STATIC_FUNCTION_P (current_function_decl))
        !          4850:                    {
        !          4851:                      error ("`this' is unavailable for static member functions");
        !          4852:                      yyval.ttype = error_mark_node;
        !          4853:                    }
        !          4854:                  else
        !          4855:                    {
        !          4856:                      if (current_function_decl)
        !          4857:                        error ("invalid use of `this' in non-member function");
        !          4858:                      else
        !          4859:                        error ("invalid use of `this' at top level");
        !          4860:                      yyval.ttype = error_mark_node;
        !          4861:                    }
        !          4862:                ;
        !          4863:     break;}
        !          4864: case 246:
        !          4865: #line 1380 "parse.y"
        !          4866: {
        !          4867:                  tree type;
        !          4868:                  tree id = yyval.ttype;
        !          4869: 
        !          4870:                  /* This is a C cast in C++'s `functional' notation.  */
        !          4871:                  if (yyvsp[-1].ttype == error_mark_node)
        !          4872:                    {
        !          4873:                      yyval.ttype = error_mark_node;
        !          4874:                      break;
        !          4875:                    }
        !          4876: #if 0
        !          4877:                  if (yyvsp[-1].ttype == NULL_TREE)
        !          4878:                    {
        !          4879:                      error ("cannot cast null list to type `%s'",
        !          4880:                             IDENTIFIER_POINTER (TYPE_NAME (id)));
        !          4881:                      yyval.ttype = error_mark_node;
        !          4882:                      break;
        !          4883:                    }
        !          4884: #endif
        !          4885: #if 0
        !          4886:                  /* type is not set! (mrs) */
        !          4887:                  if (type == error_mark_node)
        !          4888:                    yyval.ttype = error_mark_node;
        !          4889:                  else
        !          4890: #endif
        !          4891:                    {
        !          4892:                      if (id == ridpointers[(int) RID_CONST])
        !          4893:                        type = build_type_variant (integer_type_node, 1, 0);
        !          4894:                      else if (id == ridpointers[(int) RID_VOLATILE])
        !          4895:                        type = build_type_variant (integer_type_node, 0, 1);
        !          4896: #if 0
        !          4897:                      /* should not be able to get here (mrs) */
        !          4898:                      else if (id == ridpointers[(int) RID_FRIEND])
        !          4899:                        {
        !          4900:                          error ("cannot cast expression to `friend' type");
        !          4901:                          yyval.ttype = error_mark_node;
        !          4902:                          break;
        !          4903:                        }
        !          4904: #endif
        !          4905:                      else my_friendly_abort (79);
        !          4906:                      yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
        !          4907:                    }
        !          4908:                ;
        !          4909:     break;}
        !          4910: case 248:
        !          4911: #line 1425 "parse.y"
        !          4912: { tree type = groktypename (yyvsp[-4].ttype);
        !          4913:                  yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
        !          4914:     break;}
        !          4915: case 249:
        !          4916: #line 1428 "parse.y"
        !          4917: { tree type = groktypename (yyvsp[-4].ttype);
        !          4918:                  yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
        !          4919:     break;}
        !          4920: case 250:
        !          4921: #line 1431 "parse.y"
        !          4922: { tree type = groktypename (yyvsp[-4].ttype);
        !          4923:                  yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
        !          4924:     break;}
        !          4925: case 251:
        !          4926: #line 1434 "parse.y"
        !          4927: { tree type = groktypename (yyvsp[-4].ttype);
        !          4928:                  yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
        !          4929:     break;}
        !          4930: case 252:
        !          4931: #line 1437 "parse.y"
        !          4932: { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
        !          4933:     break;}
        !          4934: case 253:
        !          4935: #line 1439 "parse.y"
        !          4936: { tree type = groktypename (yyvsp[-1].ttype);
        !          4937:                  yyval.ttype = get_typeid (type); ;
        !          4938:     break;}
        !          4939: case 254:
        !          4940: #line 1442 "parse.y"
        !          4941: {
        !          4942:                do_scoped_id:
        !          4943:                  yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
        !          4944:                  if (yychar == YYEMPTY)
        !          4945:                    yychar = YYLEX;
        !          4946:                  if (! yyval.ttype)
        !          4947:                    {
        !          4948:                      if (yychar == '(' || yychar == LEFT_RIGHT)
        !          4949:                        yyval.ttype = implicitly_declare (yyvsp[0].ttype);
        !          4950:                      else
        !          4951:                        {
        !          4952:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
        !          4953:                            error ("undeclared variable `%s' (first use here)",
        !          4954:                                   IDENTIFIER_POINTER (yyvsp[0].ttype));
        !          4955:                          yyval.ttype = error_mark_node;
        !          4956:                          /* Prevent repeated error messages.  */
        !          4957:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
        !          4958:                        }
        !          4959:                    }
        !          4960:                  else
        !          4961:                    {
        !          4962:                      if (TREE_CODE (yyval.ttype) == ADDR_EXPR)
        !          4963:                        assemble_external (TREE_OPERAND (yyval.ttype, 0));
        !          4964:                      else
        !          4965:                        assemble_external (yyval.ttype);
        !          4966:                      TREE_USED (yyval.ttype) = 1;
        !          4967:                    }
        !          4968:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
        !          4969:                    {
        !          4970:                      /* XXX CHS - should we set TREE_USED of the constant? */
        !          4971:                      yyval.ttype = DECL_INITIAL (yyval.ttype);
        !          4972:                      /* This is to prevent an enum whose value is 0
        !          4973:                         from being considered a null pointer constant.  */
        !          4974:                      yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
        !          4975:                      TREE_CONSTANT (yyval.ttype) = 1;
        !          4976:                    }
        !          4977: 
        !          4978:                ;
        !          4979:     break;}
        !          4980: case 255:
        !          4981: #line 1481 "parse.y"
        !          4982: {
        !          4983:                  got_scope = NULL_TREE;
        !          4984:                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
        !          4985:                    goto do_scoped_id;
        !          4986:                  yyval.ttype = yyvsp[0].ttype;
        !          4987:                ;
        !          4988:     break;}
        !          4989: case 256:
        !          4990: #line 1488 "parse.y"
        !          4991: { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
        !          4992:     break;}
        !          4993: case 257:
        !          4994: #line 1490 "parse.y"
        !          4995: { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
        !          4996:     break;}
        !          4997: case 258:
        !          4998: #line 1492 "parse.y"
        !          4999: { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
        !          5000:     break;}
        !          5001: case 259:
        !          5002: #line 1494 "parse.y"
        !          5003: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
        !          5004:     break;}
        !          5005: case 260:
        !          5006: #line 1496 "parse.y"
        !          5007: { yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
        !          5008:     break;}
        !          5009: case 261:
        !          5010: #line 1498 "parse.y"
        !          5011: {
        !          5012: #if 0
        !          5013:                  /* This is a future direction of this code, but because
        !          5014:                     build_x_function_call cannot always undo what is done
        !          5015:                     in build_component_ref entirely yet, we cannot do this. */
        !          5016:                  yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, yyval.ttype);
        !          5017:                  if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          5018:                      && TREE_TYPE (yyval.ttype) != void_type_node)
        !          5019:                    yyval.ttype = require_complete_type (yyval.ttype);
        !          5020: #else
        !          5021:                  yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
        !          5022:                                          (LOOKUP_NORMAL|LOOKUP_AGGR));
        !          5023: #endif
        !          5024:                ;
        !          5025:     break;}
        !          5026: case 262:
        !          5027: #line 1513 "parse.y"
        !          5028: {
        !          5029: #if 0
        !          5030:                  /* This is a future direction of this code, but because
        !          5031:                     build_x_function_call cannot always undo what is done
        !          5032:                     in build_component_ref entirely yet, we cannot do this. */
        !          5033:                  yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, yyval.ttype);
        !          5034:                  if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          5035:                      && TREE_TYPE (yyval.ttype) != void_type_node)
        !          5036:                    yyval.ttype = require_complete_type (yyval.ttype);
        !          5037: #else
        !          5038:                  yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
        !          5039:                                          (LOOKUP_NORMAL|LOOKUP_AGGR));
        !          5040: #endif
        !          5041:                ;
        !          5042:     break;}
        !          5043: case 263:
        !          5044: #line 1528 "parse.y"
        !          5045: {
        !          5046:                  if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-3].ttype))))
        !          5047:                    {
        !          5048:                      warning ("signature name in scope resolution ignored");
        !          5049:                      yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
        !          5050:                                              (LOOKUP_NORMAL|LOOKUP_AGGR));
        !          5051:                    }
        !          5052:                  else
        !          5053:                    yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
        !          5054:                ;
        !          5055:     break;}
        !          5056: case 264:
        !          5057: #line 1539 "parse.y"
        !          5058: {
        !          5059:                  if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-1].ttype))))
        !          5060:                    {
        !          5061:                      warning ("signature name in scope resolution ignored");
        !          5062:                      yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
        !          5063:                                              (LOOKUP_NORMAL|LOOKUP_AGGR));
        !          5064:                    }
        !          5065:                  else
        !          5066:                    yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
        !          5067:                ;
        !          5068:     break;}
        !          5069: case 265:
        !          5070: #line 1551 "parse.y"
        !          5071: { 
        !          5072:                  if (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype)) 
        !          5073:                      != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype))))
        !          5074:                    cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
        !          5075:                  yyval.ttype = convert (void_type_node, yyvsp[-3].ttype);
        !          5076:                ;
        !          5077:     break;}
        !          5078: case 266:
        !          5079: #line 1558 "parse.y"
        !          5080: { 
        !          5081:                  if (yyvsp[-4].ttype != yyvsp[-1].ttype)
        !          5082:                    cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
        !          5083:                  if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
        !          5084:                      != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
        !          5085:                    cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
        !          5086:                  yyval.ttype = convert (void_type_node, yyvsp[-5].ttype);
        !          5087:                ;
        !          5088:     break;}
        !          5089: case 267:
        !          5090: #line 1607 "parse.y"
        !          5091: { yyval.itype = 0; ;
        !          5092:     break;}
        !          5093: case 268:
        !          5094: #line 1609 "parse.y"
        !          5095: { got_scope = NULL_TREE; yyval.itype = 1; ;
        !          5096:     break;}
        !          5097: case 269:
        !          5098: #line 1613 "parse.y"
        !          5099: { yyval.itype = 0; ;
        !          5100:     break;}
        !          5101: case 270:
        !          5102: #line 1615 "parse.y"
        !          5103: { got_scope = NULL_TREE; yyval.itype = 1; ;
        !          5104:     break;}
        !          5105: case 271:
        !          5106: #line 1620 "parse.y"
        !          5107: { yyval.ttype = true_node; ;
        !          5108:     break;}
        !          5109: case 272:
        !          5110: #line 1622 "parse.y"
        !          5111: { yyval.ttype = false_node; ;
        !          5112:     break;}
        !          5113: case 274:
        !          5114: #line 1629 "parse.y"
        !          5115: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
        !          5116:     break;}
        !          5117: case 275:
        !          5118: #line 1634 "parse.y"
        !          5119: {
        !          5120:                  if (! current_function_parms_stored)
        !          5121:                    store_parm_decls ();
        !          5122:                  setup_vtbl_ptr ();
        !          5123:                  /* Always keep the BLOCK node associated with the outermost
        !          5124:                     pair of curley braces of a function.  These are needed
        !          5125:                     for correct operation of dwarfout.c.  */
        !          5126:                  keep_next_level ();
        !          5127:                ;
        !          5128:     break;}
        !          5129: case 277:
        !          5130: #line 1647 "parse.y"
        !          5131: {
        !          5132:                  yyval.ttype = build_x_arrow (yyval.ttype);
        !          5133:                ;
        !          5134:     break;}
        !          5135: case 278:
        !          5136: #line 1655 "parse.y"
        !          5137: { tree d = get_decl_list (yyvsp[-2].ttype);
        !          5138:                  int yes = suspend_momentary ();
        !          5139:                  d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
        !          5140:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
        !          5141:                  resume_momentary (yes);
        !          5142:                  if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
        !          5143:                    note_got_semicolon (yyvsp[-2].ttype);
        !          5144:                ;
        !          5145:     break;}
        !          5146: case 279:
        !          5147: #line 1664 "parse.y"
        !          5148: { tree d = yyvsp[-2].ttype;
        !          5149:                  int yes = suspend_momentary ();
        !          5150:                  d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
        !          5151:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
        !          5152:                  resume_momentary (yes);
        !          5153:                  note_list_got_semicolon (yyvsp[-2].ttype);
        !          5154:                ;
        !          5155:     break;}
        !          5156: case 280:
        !          5157: #line 1672 "parse.y"
        !          5158: {
        !          5159:                  resume_momentary (yyvsp[-1].itype);
        !          5160:                  if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
        !          5161:                    note_got_semicolon (yyvsp[-2].ttype);
        !          5162:                ;
        !          5163:     break;}
        !          5164: case 281:
        !          5165: #line 1678 "parse.y"
        !          5166: {
        !          5167:                  resume_momentary (yyvsp[-1].itype);
        !          5168:                  note_list_got_semicolon (yyvsp[-2].ttype);
        !          5169:                ;
        !          5170:     break;}
        !          5171: case 282:
        !          5172: #line 1683 "parse.y"
        !          5173: { resume_momentary (yyvsp[-1].itype); ;
        !          5174:     break;}
        !          5175: case 283:
        !          5176: #line 1685 "parse.y"
        !          5177: {
        !          5178:                  shadow_tag (yyvsp[-1].ttype);
        !          5179:                  note_list_got_semicolon (yyvsp[-1].ttype);
        !          5180:                ;
        !          5181:     break;}
        !          5182: case 284:
        !          5183: #line 1690 "parse.y"
        !          5184: { warning ("empty declaration"); ;
        !          5185:     break;}
        !          5186: case 287:
        !          5187: #line 1704 "parse.y"
        !          5188: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (),
        !          5189:                                         NULL_TREE); ;
        !          5190:     break;}
        !          5191: case 288:
        !          5192: #line 1707 "parse.y"
        !          5193: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), 
        !          5194:                                         NULL_TREE); ;
        !          5195:     break;}
        !          5196: case 289:
        !          5197: #line 1714 "parse.y"
        !          5198: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
        !          5199:     break;}
        !          5200: case 290:
        !          5201: #line 1716 "parse.y"
        !          5202: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
        !          5203:     break;}
        !          5204: case 291:
        !          5205: #line 1718 "parse.y"
        !          5206: { yyval.ttype = build_decl_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
        !          5207:     break;}
        !          5208: case 292:
        !          5209: #line 1720 "parse.y"
        !          5210: { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
        !          5211:     break;}
        !          5212: case 293:
        !          5213: #line 1722 "parse.y"
        !          5214: { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
        !          5215:     break;}
        !          5216: case 296:
        !          5217: #line 1735 "parse.y"
        !          5218: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          5219:     break;}
        !          5220: case 297:
        !          5221: #line 1737 "parse.y"
        !          5222: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
        !          5223:     break;}
        !          5224: case 298:
        !          5225: #line 1739 "parse.y"
        !          5226: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
        !          5227:     break;}
        !          5228: case 299:
        !          5229: #line 1741 "parse.y"
        !          5230: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
        !          5231:     break;}
        !          5232: case 300:
        !          5233: #line 1743 "parse.y"
        !          5234: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-2].ttype, 
        !          5235:                                       chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype))); ;
        !          5236:     break;}
        !          5237: case 301:
        !          5238: #line 1749 "parse.y"
        !          5239: { if (extra_warnings)
        !          5240:                    warning ("`%s' is not at beginning of declaration",
        !          5241:                             IDENTIFIER_POINTER (yyval.ttype));
        !          5242:                  yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
        !          5243:     break;}
        !          5244: case 302:
        !          5245: #line 1754 "parse.y"
        !          5246: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          5247:     break;}
        !          5248: case 303:
        !          5249: #line 1756 "parse.y"
        !          5250: { if (extra_warnings)
        !          5251:                    warning ("`%s' is not at beginning of declaration",
        !          5252:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
        !          5253:                  yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          5254:     break;}
        !          5255: case 304:
        !          5256: #line 1768 "parse.y"
        !          5257: { TREE_STATIC (yyval.ttype) = 1; ;
        !          5258:     break;}
        !          5259: case 305:
        !          5260: #line 1770 "parse.y"
        !          5261: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
        !          5262:     break;}
        !          5263: case 306:
        !          5264: #line 1772 "parse.y"
        !          5265: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
        !          5266:                  TREE_STATIC (yyval.ttype) = 1; ;
        !          5267:     break;}
        !          5268: case 307:
        !          5269: #line 1775 "parse.y"
        !          5270: { if (extra_warnings && TREE_STATIC (yyval.ttype))
        !          5271:                    warning ("`%s' is not at beginning of declaration",
        !          5272:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
        !          5273:                  yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
        !          5274:                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
        !          5275:     break;}
        !          5276: case 308:
        !          5277: #line 1791 "parse.y"
        !          5278: { yyval.ttype = get_decl_list (yyval.ttype); ;
        !          5279:     break;}
        !          5280: case 309:
        !          5281: #line 1793 "parse.y"
        !          5282: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          5283:     break;}
        !          5284: case 310:
        !          5285: #line 1795 "parse.y"
        !          5286: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
        !          5287:     break;}
        !          5288: case 311:
        !          5289: #line 1797 "parse.y"
        !          5290: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
        !          5291:     break;}
        !          5292: case 312:
        !          5293: #line 1802 "parse.y"
        !          5294: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
        !          5295:     break;}
        !          5296: case 313:
        !          5297: #line 1804 "parse.y"
        !          5298: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          5299:     break;}
        !          5300: case 317:
        !          5301: #line 1815 "parse.y"
        !          5302: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
        !          5303:                  if (flag_ansi)
        !          5304:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
        !          5305:     break;}
        !          5306: case 318:
        !          5307: #line 1819 "parse.y"
        !          5308: { yyval.ttype = groktypename (yyvsp[-1].ttype);
        !          5309:                  if (flag_ansi)
        !          5310:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
        !          5311:     break;}
        !          5312: case 319:
        !          5313: #line 1823 "parse.y"
        !          5314: { tree type = TREE_TYPE (yyvsp[-1].ttype);
        !          5315: 
        !          5316:                  if (IS_AGGR_TYPE (type))
        !          5317:                    {
        !          5318:                      sorry ("sigof type specifier");
        !          5319:                      yyval.ttype = type;
        !          5320:                    }
        !          5321:                  else
        !          5322:                    {
        !          5323:                      error ("`sigof' applied to non-aggregate expression");
        !          5324:                      yyval.ttype = error_mark_node;
        !          5325:                    }
        !          5326:                ;
        !          5327:     break;}
        !          5328: case 320:
        !          5329: #line 1837 "parse.y"
        !          5330: { tree type = groktypename (yyvsp[-1].ttype);
        !          5331: 
        !          5332:                  if (IS_AGGR_TYPE (type))
        !          5333:                    {
        !          5334:                      sorry ("sigof type specifier");
        !          5335:                      yyval.ttype = type;
        !          5336:                    }
        !          5337:                  else
        !          5338:                    {
        !          5339:                      error("`sigof' applied to non-aggregate type");
        !          5340:                      yyval.ttype = error_mark_node;
        !          5341:                    }
        !          5342:                ;
        !          5343:     break;}
        !          5344: case 330:
        !          5345: #line 1876 "parse.y"
        !          5346: { yyval.ttype = NULL_TREE; ;
        !          5347:     break;}
        !          5348: case 331:
        !          5349: #line 1878 "parse.y"
        !          5350: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
        !          5351:     break;}
        !          5352: case 332:
        !          5353: #line 1883 "parse.y"
        !          5354: { current_declspecs = yyvsp[-5].ttype;
        !          5355:                  if (TREE_CODE (current_declspecs) != TREE_LIST)
        !          5356:                    current_declspecs = get_decl_list (current_declspecs);
        !          5357:                  if (have_extern_spec && !used_extern_spec)
        !          5358:                    {
        !          5359:                      current_declspecs = decl_tree_cons
        !          5360:                        (NULL_TREE, get_identifier ("extern"), 
        !          5361:                         current_declspecs);
        !          5362:                      used_extern_spec = 1;
        !          5363:                    }
        !          5364:                  yyvsp[0].itype = suspend_momentary ();
        !          5365:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          5366:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
        !          5367:     break;}
        !          5368: case 333:
        !          5369: #line 1898 "parse.y"
        !          5370: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
        !          5371:                  yyval.itype = yyvsp[-2].itype; ;
        !          5372:     break;}
        !          5373: case 334:
        !          5374: #line 1901 "parse.y"
        !          5375: { tree d;
        !          5376:                  current_declspecs = yyvsp[-4].ttype;
        !          5377:                  if (TREE_CODE (current_declspecs) != TREE_LIST)
        !          5378:                    current_declspecs = get_decl_list (current_declspecs);
        !          5379:                  if (have_extern_spec && !used_extern_spec)
        !          5380:                    {
        !          5381:                      current_declspecs = decl_tree_cons
        !          5382:                        (NULL_TREE, get_identifier ("extern"), 
        !          5383:                         current_declspecs);
        !          5384:                      used_extern_spec = 1;
        !          5385:                    }
        !          5386:                  yyval.itype = suspend_momentary ();
        !          5387:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
        !          5388:                  cplus_decl_attributes (d, yyvsp[0].ttype);
        !          5389:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
        !          5390:     break;}
        !          5391: case 335:
        !          5392: #line 1920 "parse.y"
        !          5393: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          5394:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
        !          5395:     break;}
        !          5396: case 336:
        !          5397: #line 1924 "parse.y"
        !          5398: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
        !          5399:     break;}
        !          5400: case 337:
        !          5401: #line 1926 "parse.y"
        !          5402: { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
        !          5403:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
        !          5404:                  finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 0); ;
        !          5405:     break;}
        !          5406: case 338:
        !          5407: #line 1933 "parse.y"
        !          5408: { current_declspecs = yyvsp[-5].ttype;
        !          5409:                  yyvsp[0].itype = suspend_momentary ();
        !          5410:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          5411:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
        !          5412:     break;}
        !          5413: case 339:
        !          5414: #line 1939 "parse.y"
        !          5415: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
        !          5416:                  yyval.itype = yyvsp[-2].itype; ;
        !          5417:     break;}
        !          5418: case 340:
        !          5419: #line 1942 "parse.y"
        !          5420: { tree d;
        !          5421:                  current_declspecs = yyvsp[-4].ttype;
        !          5422:                  yyval.itype = suspend_momentary ();
        !          5423:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
        !          5424:                  cplus_decl_attributes (d, yyvsp[0].ttype);
        !          5425:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
        !          5426:     break;}
        !          5427: case 341:
        !          5428: #line 1952 "parse.y"
        !          5429: { current_declspecs = NULL_TREE;
        !          5430:                  yyvsp[0].itype = suspend_momentary ();
        !          5431:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          5432:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
        !          5433:     break;}
        !          5434: case 342:
        !          5435: #line 1958 "parse.y"
        !          5436: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
        !          5437:                  yyval.itype = yyvsp[-2].itype; ;
        !          5438:     break;}
        !          5439: case 343:
        !          5440: #line 1961 "parse.y"
        !          5441: { tree d;
        !          5442:                  current_declspecs = NULL_TREE;
        !          5443:                  yyval.itype = suspend_momentary ();
        !          5444:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
        !          5445:                  cplus_decl_attributes (d, yyvsp[0].ttype);
        !          5446:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
        !          5447:     break;}
        !          5448: case 344:
        !          5449: #line 1973 "parse.y"
        !          5450: { yyval.ttype = NULL_TREE; ;
        !          5451:     break;}
        !          5452: case 345:
        !          5453: #line 1975 "parse.y"
        !          5454: { yyval.ttype = yyvsp[0].ttype; ;
        !          5455:     break;}
        !          5456: case 346:
        !          5457: #line 1980 "parse.y"
        !          5458: { yyval.ttype = yyvsp[0].ttype; ;
        !          5459:     break;}
        !          5460: case 347:
        !          5461: #line 1982 "parse.y"
        !          5462: { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          5463:     break;}
        !          5464: case 348:
        !          5465: #line 1987 "parse.y"
        !          5466: { yyval.ttype = yyvsp[-2].ttype; ;
        !          5467:     break;}
        !          5468: case 349:
        !          5469: #line 1992 "parse.y"
        !          5470: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
        !          5471:     break;}
        !          5472: case 350:
        !          5473: #line 1994 "parse.y"
        !          5474: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          5475:     break;}
        !          5476: case 351:
        !          5477: #line 1999 "parse.y"
        !          5478: { yyval.ttype = NULL_TREE; ;
        !          5479:     break;}
        !          5480: case 352:
        !          5481: #line 2001 "parse.y"
        !          5482: { yyval.ttype = yyvsp[0].ttype; ;
        !          5483:     break;}
        !          5484: case 353:
        !          5485: #line 2003 "parse.y"
        !          5486: { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
        !          5487:     break;}
        !          5488: case 354:
        !          5489: #line 2005 "parse.y"
        !          5490: { yyval.ttype = tree_cons (yyvsp[-5].ttype, NULL_TREE, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
        !          5491:     break;}
        !          5492: case 355:
        !          5493: #line 2007 "parse.y"
        !          5494: { yyval.ttype = tree_cons (yyvsp[-3].ttype, NULL_TREE, yyvsp[-1].ttype); ;
        !          5495:     break;}
        !          5496: case 360:
        !          5497: #line 2023 "parse.y"
        !          5498: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
        !          5499:     break;}
        !          5500: case 361:
        !          5501: #line 2025 "parse.y"
        !          5502: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          5503:     break;}
        !          5504: case 363:
        !          5505: #line 2031 "parse.y"
        !          5506: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
        !          5507:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
        !          5508:     break;}
        !          5509: case 364:
        !          5510: #line 2034 "parse.y"
        !          5511: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
        !          5512:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
        !          5513:     break;}
        !          5514: case 365:
        !          5515: #line 2037 "parse.y"
        !          5516: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
        !          5517:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
        !          5518:     break;}
        !          5519: case 366:
        !          5520: #line 2040 "parse.y"
        !          5521: { yyval.ttype = NULL_TREE; ;
        !          5522:     break;}
        !          5523: case 367:
        !          5524: #line 2047 "parse.y"
        !          5525: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          5526:     break;}
        !          5527: case 368:
        !          5528: #line 2049 "parse.y"
        !          5529: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          5530:     break;}
        !          5531: case 369:
        !          5532: #line 2052 "parse.y"
        !          5533: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          5534:     break;}
        !          5535: case 370:
        !          5536: #line 2054 "parse.y"
        !          5537: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
        !          5538:     break;}
        !          5539: case 371:
        !          5540: #line 2056 "parse.y"
        !          5541: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
        !          5542:     break;}
        !          5543: case 372:
        !          5544: #line 2058 "parse.y"
        !          5545: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
        !          5546:     break;}
        !          5547: case 373:
        !          5548: #line 2063 "parse.y"
        !          5549: { yyvsp[0].itype = suspend_momentary ();
        !          5550:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
        !          5551:     break;}
        !          5552: case 374:
        !          5553: #line 2066 "parse.y"
        !          5554: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
        !          5555:                  resume_momentary ((int) yyvsp[-4].itype);
        !          5556:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
        !          5557:     break;}
        !          5558: case 375:
        !          5559: #line 2070 "parse.y"
        !          5560: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
        !          5561:                  check_for_missing_semicolon (yyval.ttype); ;
        !          5562:     break;}
        !          5563: case 376:
        !          5564: #line 2073 "parse.y"
        !          5565: { yyvsp[0].itype = suspend_momentary ();
        !          5566:                  yyval.ttype = start_enum (make_anon_name ()); ;
        !          5567:     break;}
        !          5568: case 377:
        !          5569: #line 2076 "parse.y"
        !          5570: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
        !          5571:                  resume_momentary ((int) yyvsp[-5].itype);
        !          5572:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
        !          5573:     break;}
        !          5574: case 378:
        !          5575: #line 2080 "parse.y"
        !          5576: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
        !          5577:                  check_for_missing_semicolon (yyval.ttype); ;
        !          5578:     break;}
        !          5579: case 379:
        !          5580: #line 2083 "parse.y"
        !          5581: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
        !          5582:     break;}
        !          5583: case 380:
        !          5584: #line 2085 "parse.y"
        !          5585: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 0); ;
        !          5586:     break;}
        !          5587: case 381:
        !          5588: #line 2089 "parse.y"
        !          5589: {
        !          5590:                  int semi;
        !          5591:                  tree id;
        !          5592: 
        !          5593: #if 0
        !          5594:                  /* Need to rework class nesting in the
        !          5595:                     presence of nested classes, etc.  */
        !          5596:                  shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
        !          5597: #endif
        !          5598:                  if (yychar == YYEMPTY)
        !          5599:                    yychar = YYLEX;
        !          5600:                  semi = yychar == ';';
        !          5601:                  /* finish_struct nukes this anyway; if
        !          5602:                     finish_exception does too, then it can go. */
        !          5603:                  if (semi)
        !          5604:                    note_got_semicolon (yyval.ttype);
        !          5605: 
        !          5606:                  if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
        !          5607:                    /* $$ = $1 from default rule.  */;
        !          5608:                  else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
        !          5609:                    {
        !          5610:                    }
        !          5611:                  else
        !          5612:                    {
        !          5613:                      yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi);
        !          5614:                      if (semi) note_got_semicolon (yyval.ttype);
        !          5615:                    }
        !          5616: 
        !          5617:                  pop_obstacks ();
        !          5618: 
        !          5619:                  id = TYPE_IDENTIFIER (yyval.ttype);
        !          5620:                  if (id && IDENTIFIER_TEMPLATE (id))
        !          5621:                    {
        !          5622:                      tree decl;
        !          5623: 
        !          5624:                      /* I don't know if the copying of this TYPE_DECL is
        !          5625:                       * really needed.  However, it's such a small per-
        !          5626:                       * formance penalty that the extra safety is a bargain.
        !          5627:                       * - [email protected]
        !          5628:                       */
        !          5629:                      push_obstacks (&permanent_obstack, &permanent_obstack);
        !          5630:                      decl = copy_node (lookup_name (id, 0));
        !          5631:                      if (DECL_LANG_SPECIFIC (decl))
        !          5632:                        copy_lang_decl (decl);
        !          5633:                      pop_obstacks ();
        !          5634:                      undo_template_name_overload (id, 0);
        !          5635:                      pushdecl_top_level (decl);
        !          5636:                    }
        !          5637:                  if (! semi)
        !          5638:                    check_for_missing_semicolon (yyval.ttype); ;
        !          5639:     break;}
        !          5640: case 382:
        !          5641: #line 2140 "parse.y"
        !          5642: {
        !          5643: #if 0
        !          5644:   /* It's no longer clear what the following error is supposed to
        !          5645:      accomplish.  If it turns out to be needed, add a comment why.  */
        !          5646:                  if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
        !          5647:                    {
        !          5648:                      error ("incomplete definition of type `%s'",
        !          5649:                             TYPE_NAME_STRING (yyval.ttype));
        !          5650:                      yyval.ttype = error_mark_node;
        !          5651:                    }
        !          5652: #endif
        !          5653:                ;
        !          5654:     break;}
        !          5655: case 386:
        !          5656: #line 2162 "parse.y"
        !          5657: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
        !          5658:     break;}
        !          5659: case 388:
        !          5660: #line 2167 "parse.y"
        !          5661: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
        !          5662:     break;}
        !          5663: case 389:
        !          5664: #line 2169 "parse.y"
        !          5665: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
        !          5666:     break;}
        !          5667: case 390:
        !          5668: #line 2171 "parse.y"
        !          5669: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
        !          5670:     break;}
        !          5671: case 391:
        !          5672: #line 2173 "parse.y"
        !          5673: { error ("no body nor ';' separates two class, struct or union declarations"); ;
        !          5674:     break;}
        !          5675: case 392:
        !          5676: #line 2178 "parse.y"
        !          5677: { 
        !          5678:                  yyungetc (';', 1); current_aggr = yyval.ttype; yyval.ttype = yyvsp[-1].ttype; 
        !          5679:                  if (yyvsp[-3].ttype == ridpointers[(int) RID_TEMPLATE])
        !          5680:                    instantiate_class_template (yyval.ttype, 2);
        !          5681:                ;
        !          5682:     break;}
        !          5683: case 393:
        !          5684: #line 2187 "parse.y"
        !          5685: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
        !          5686:     break;}
        !          5687: case 394:
        !          5688: #line 2189 "parse.y"
        !          5689: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
        !          5690:     break;}
        !          5691: case 395:
        !          5692: #line 2191 "parse.y"
        !          5693: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
        !          5694:     break;}
        !          5695: case 396:
        !          5696: #line 2193 "parse.y"
        !          5697: { yyungetc ('{', 1);
        !          5698:                aggr2:
        !          5699:                  current_aggr = yyval.ttype;
        !          5700:                  yyval.ttype = yyvsp[-1].ttype;
        !          5701:                  overload_template_name (yyval.ttype, 0); ;
        !          5702:     break;}
        !          5703: case 397:
        !          5704: #line 2199 "parse.y"
        !          5705: { yyungetc (':', 1); goto aggr2; ;
        !          5706:     break;}
        !          5707: case 399:
        !          5708: #line 2205 "parse.y"
        !          5709: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
        !          5710:     break;}
        !          5711: case 400:
        !          5712: #line 2209 "parse.y"
        !          5713: { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
        !          5714:     break;}
        !          5715: case 401:
        !          5716: #line 2212 "parse.y"
        !          5717: { yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE); ;
        !          5718:     break;}
        !          5719: case 402:
        !          5720: #line 2217 "parse.y"
        !          5721: {
        !          5722:                  if (yyvsp[0].ttype)
        !          5723:                    yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype, 1);
        !          5724:                  else
        !          5725:                    yyval.ttype = yyvsp[-1].ttype;
        !          5726:                ;
        !          5727:     break;}
        !          5728: case 403:
        !          5729: #line 2226 "parse.y"
        !          5730: {
        !          5731:                  if (yyvsp[0].ttype)
        !          5732:                    yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
        !          5733:                  else
        !          5734:                    yyval.ttype = yyvsp[-1].ttype;
        !          5735:                ;
        !          5736:     break;}
        !          5737: case 404:
        !          5738: #line 2235 "parse.y"
        !          5739: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
        !          5740:                  yyungetc ('{', 1); ;
        !          5741:     break;}
        !          5742: case 407:
        !          5743: #line 2243 "parse.y"
        !          5744: { yyval.ttype = NULL_TREE; ;
        !          5745:     break;}
        !          5746: case 408:
        !          5747: #line 2245 "parse.y"
        !          5748: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
        !          5749:     break;}
        !          5750: case 409:
        !          5751: #line 2247 "parse.y"
        !          5752: { yyval.ttype = yyvsp[0].ttype; ;
        !          5753:     break;}
        !          5754: case 411:
        !          5755: #line 2253 "parse.y"
        !          5756: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
        !          5757:     break;}
        !          5758: case 412:
        !          5759: #line 2258 "parse.y"
        !          5760: {
        !          5761:                  tree type;
        !          5762:                 do_base_class1:
        !          5763:                  type = IDENTIFIER_TYPE_VALUE (yyval.ttype);
        !          5764:                  if (! is_aggr_typedef (yyval.ttype, 1))
        !          5765:                    yyval.ttype = NULL_TREE;
        !          5766:                  else if (current_aggr == signature_type_node
        !          5767:                           && (! type) && (! IS_SIGNATURE (type)))
        !          5768:                    {
        !          5769:                      error ("class name not allowed as base signature");
        !          5770:                      yyval.ttype = NULL_TREE;
        !          5771:                    }
        !          5772:                  else if (current_aggr == signature_type_node)
        !          5773:                    {
        !          5774:                      sorry ("signature inheritance, base type `%s' ignored",
        !          5775:                             IDENTIFIER_POINTER (yyval.ttype));
        !          5776:                      yyval.ttype = build_tree_list ((tree)access_public, yyval.ttype);
        !          5777:                    }
        !          5778:                  else if (type && IS_SIGNATURE (type))
        !          5779:                    {
        !          5780:                      error ("signature name not allowed as base class");
        !          5781:                      yyval.ttype = NULL_TREE;
        !          5782:                    }
        !          5783:                  else
        !          5784:                    yyval.ttype = build_tree_list ((tree)access_default, yyval.ttype);
        !          5785:                ;
        !          5786:     break;}
        !          5787: case 413:
        !          5788: #line 2285 "parse.y"
        !          5789: {
        !          5790:                  tree type;
        !          5791:                 do_base_class2:
        !          5792:                  type = IDENTIFIER_TYPE_VALUE (yyvsp[0].ttype);
        !          5793:                  if (current_aggr == signature_type_node)
        !          5794:                    error ("access and source specifiers not allowed in signature");
        !          5795:                  if (! is_aggr_typedef (yyvsp[0].ttype, 1))
        !          5796:                    yyval.ttype = NULL_TREE;
        !          5797:                  else if (current_aggr == signature_type_node
        !          5798:                           && (! type) && (! IS_SIGNATURE (type)))
        !          5799:                    {
        !          5800:                      error ("class name not allowed as base signature");
        !          5801:                      yyval.ttype = NULL_TREE;
        !          5802:                    }
        !          5803:                  else if (current_aggr == signature_type_node)
        !          5804:                    {
        !          5805:                      sorry ("signature inheritance, base type `%s' ignored",
        !          5806:                             IDENTIFIER_POINTER (yyval.ttype));
        !          5807:                      yyval.ttype = build_tree_list ((tree)access_public, yyvsp[0].ttype);
        !          5808:                    }
        !          5809:                  else if (type && IS_SIGNATURE (type))
        !          5810:                    {
        !          5811:                      error ("signature name not allowed as base class");
        !          5812:                      yyval.ttype = NULL_TREE;
        !          5813:                    }
        !          5814:                  else
        !          5815:                    yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype);
        !          5816:                ;
        !          5817:     break;}
        !          5818: case 415:
        !          5819: #line 2318 "parse.y"
        !          5820: {
        !          5821:                  if (current_aggr == signature_type_node)
        !          5822:                    {
        !          5823:                      if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
        !          5824:                        {
        !          5825:                          sorry ("`sigof' as base signature specifier");
        !          5826:                          /* need to return some dummy signature identifier */
        !          5827:                          yyval.ttype = yyvsp[-1].ttype;
        !          5828:                        }
        !          5829:                      else
        !          5830:                        {
        !          5831:                          error ("`sigof' applied to non-aggregate expression");
        !          5832:                          yyval.ttype = error_mark_node;
        !          5833:                        }
        !          5834:                    }
        !          5835:                  else
        !          5836:                    {
        !          5837:                      error ("`sigof' in struct or class declaration");
        !          5838:                      yyval.ttype = error_mark_node;
        !          5839:                    }
        !          5840:                ;
        !          5841:     break;}
        !          5842: case 416:
        !          5843: #line 2340 "parse.y"
        !          5844: {
        !          5845:                  if (current_aggr == signature_type_node)
        !          5846:                    {
        !          5847:                      if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ttype)))
        !          5848:                        {
        !          5849:                          sorry ("`sigof' as base signature specifier");
        !          5850:                          /* need to return some dummy signature identifier */
        !          5851:                          yyval.ttype = yyvsp[-1].ttype;
        !          5852:                        }
        !          5853:                      else
        !          5854:                        {
        !          5855:                          error ("`sigof' applied to non-aggregate expression");
        !          5856:                          yyval.ttype = error_mark_node;
        !          5857:                        }
        !          5858:                    }
        !          5859:                  else
        !          5860:                    {
        !          5861:                      error ("`sigof' in struct or class declaration");
        !          5862:                      yyval.ttype = error_mark_node;
        !          5863:                    }
        !          5864:                ;
        !          5865:     break;}
        !          5866: case 418:
        !          5867: #line 2366 "parse.y"
        !          5868: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
        !          5869:                    sorry ("non-virtual access");
        !          5870:                  yyval.itype = access_default_virtual; ;
        !          5871:     break;}
        !          5872: case 419:
        !          5873: #line 2370 "parse.y"
        !          5874: { int err = 0;
        !          5875:                  if (yyvsp[0].itype == access_protected)
        !          5876:                    {
        !          5877:                      warning ("`protected' access not implemented");
        !          5878:                      yyvsp[0].itype = access_public;
        !          5879:                      err++;
        !          5880:                    }
        !          5881:                  else if (yyvsp[0].itype == access_public)
        !          5882:                    {
        !          5883:                      if (yyvsp[-1].itype == access_private)
        !          5884:                        {
        !          5885:                        mixed:
        !          5886:                          error ("base class cannot be public and private");
        !          5887:                        }
        !          5888:                      else if (yyvsp[-1].itype == access_default_virtual)
        !          5889:                        yyval.itype = access_public_virtual;
        !          5890:                    }
        !          5891:                  else /* $2 == access_private */
        !          5892:                    {
        !          5893:                      if (yyvsp[-1].itype == access_public)
        !          5894:                        goto mixed;
        !          5895:                      else if (yyvsp[-1].itype == access_default_virtual)
        !          5896:                        yyval.itype = access_private_virtual;
        !          5897:                    }
        !          5898:                ;
        !          5899:     break;}
        !          5900: case 420:
        !          5901: #line 2396 "parse.y"
        !          5902: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
        !          5903:                    sorry ("non-virtual access");
        !          5904:                  if (yyval.itype == access_public)
        !          5905:                    yyval.itype = access_public_virtual;
        !          5906:                  else if (yyval.itype == access_private)
        !          5907:                    yyval.itype = access_private_virtual; ;
        !          5908:     break;}
        !          5909: case 421:
        !          5910: #line 2405 "parse.y"
        !          5911: { tree t = yyvsp[-1].ttype;
        !          5912:                  push_obstacks_nochange ();
        !          5913:                  end_temporary_allocation ();
        !          5914: 
        !          5915:                  if (! IS_AGGR_TYPE (t))
        !          5916:                    {
        !          5917:                      t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
        !          5918:                      TYPE_NAME (t) = get_identifier ("erroneous type");
        !          5919:                    }
        !          5920:                  if (TYPE_SIZE (t))
        !          5921:                    duplicate_tag_error (t);
        !          5922:                   if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
        !          5923:                     {
        !          5924:                       t = make_lang_type (TREE_CODE (t));
        !          5925:                       pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
        !          5926:                       yyvsp[-1].ttype = t;
        !          5927:                     }
        !          5928:                  pushclass (t, 0);
        !          5929:                  TYPE_BEING_DEFINED (t) = 1;
        !          5930:                  /* Reset the interface data, at the earliest possible
        !          5931:                     moment, as it might have been set via a class foo;
        !          5932:                     before.  */
        !          5933:                  /* Don't change signatures.  */
        !          5934:                  if (! IS_SIGNATURE (t))
        !          5935:                    {
        !          5936:                      extern tree pending_vtables;
        !          5937:                      int needs_writing;
        !          5938:                      tree name = TYPE_IDENTIFIER (t);
        !          5939: 
        !          5940:                      CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
        !          5941:                      SET_CLASSTYPE_INTERFACE_UNKNOWN_X (t, interface_unknown);
        !          5942: 
        !          5943:                      /* Record how to set the access of this class's
        !          5944:                         virtual functions.  If write_virtuals == 2 or 3, then
        !          5945:                         inline virtuals are ``extern inline''.  */
        !          5946:                      switch (write_virtuals)
        !          5947:                        {
        !          5948:                        case 0:
        !          5949:                        case 1:
        !          5950:                          needs_writing = 1;
        !          5951:                          break;
        !          5952:                        case 2:
        !          5953:                          needs_writing = !! value_member (name, pending_vtables);
        !          5954:                          break;
        !          5955:                        case 3:
        !          5956:                          needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
        !          5957:                            && CLASSTYPE_INTERFACE_KNOWN (t);
        !          5958:                          break;
        !          5959:                        default:
        !          5960:                          needs_writing = 0;
        !          5961:                        }
        !          5962:                      CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
        !          5963:                    }
        !          5964: #if 0
        !          5965:                  t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
        !          5966:                  if (t && IDENTIFIER_TEMPLATE (t))
        !          5967:                    overload_template_name (t, 1);
        !          5968: #endif
        !          5969:                ;
        !          5970:     break;}
        !          5971: case 422:
        !          5972: #line 2468 "parse.y"
        !          5973: { yyval.ttype = NULL_TREE; ;
        !          5974:     break;}
        !          5975: case 423:
        !          5976: #line 2470 "parse.y"
        !          5977: {
        !          5978:                  if (current_aggr == signature_type_node)
        !          5979:                    yyval.ttype = build_tree_list ((tree) access_public, yyval.ttype);
        !          5980:                  else
        !          5981:                    yyval.ttype = build_tree_list ((tree) access_default, yyval.ttype);
        !          5982:                ;
        !          5983:     break;}
        !          5984: case 424:
        !          5985: #line 2477 "parse.y"
        !          5986: {
        !          5987:                  tree visspec = (tree) yyvsp[-2].itype;
        !          5988: 
        !          5989:                  if (current_aggr == signature_type_node)
        !          5990:                    {
        !          5991:                      error ("access specifier not allowed in signature");
        !          5992:                      visspec = (tree) access_public;
        !          5993:                    }
        !          5994:                  yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
        !          5995:                ;
        !          5996:     break;}
        !          5997: case 425:
        !          5998: #line 2488 "parse.y"
        !          5999: {
        !          6000:                  if (current_aggr == signature_type_node)
        !          6001:                    error ("access specifier not allowed in signature");
        !          6002:                ;
        !          6003:     break;}
        !          6004: case 426:
        !          6005: #line 2498 "parse.y"
        !          6006: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; 
        !          6007:                ;
        !          6008:     break;}
        !          6009: case 427:
        !          6010: #line 2501 "parse.y"
        !          6011: { /* In pushdecl, we created a reverse list of names
        !          6012:                     in this binding level.  Make sure that the chain
        !          6013:                     of what we're trying to add isn't the item itself
        !          6014:                     (which can happen with what pushdecl's doing).  */
        !          6015:                  if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
        !          6016:                    {
        !          6017:                      if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
        !          6018:                        yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
        !          6019:                      else
        !          6020:                        yyval.ttype = yyvsp[0].ttype;
        !          6021:                    }
        !          6022:                ;
        !          6023:     break;}
        !          6024: case 430:
        !          6025: #line 2519 "parse.y"
        !          6026: { error ("missing ';' before right brace");
        !          6027:                  yyungetc ('}', 0); ;
        !          6028:     break;}
        !          6029: case 431:
        !          6030: #line 2524 "parse.y"
        !          6031: { yyval.ttype = finish_method (yyval.ttype); ;
        !          6032:     break;}
        !          6033: case 432:
        !          6034: #line 2526 "parse.y"
        !          6035: { yyval.ttype = finish_method (yyval.ttype); ;
        !          6036:     break;}
        !          6037: case 433:
        !          6038: #line 2534 "parse.y"
        !          6039: {
        !          6040:                  yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
        !          6041:                ;
        !          6042:     break;}
        !          6043: case 434:
        !          6044: #line 2538 "parse.y"
        !          6045: { 
        !          6046:                  yyval.ttype = grok_x_components (yyval.ttype, yyvsp[0].ttype);
        !          6047:                ;
        !          6048:     break;}
        !          6049: case 435:
        !          6050: #line 2542 "parse.y"
        !          6051: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
        !          6052:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6053:     break;}
        !          6054: case 436:
        !          6055: #line 2545 "parse.y"
        !          6056: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
        !          6057:     break;}
        !          6058: case 437:
        !          6059: #line 2547 "parse.y"
        !          6060: { yyval.ttype = NULL_TREE; ;
        !          6061:     break;}
        !          6062: case 438:
        !          6063: #line 2558 "parse.y"
        !          6064: { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-4].ttype),
        !          6065:                                         yyvsp[-2].ttype, yyvsp[0].ttype);
        !          6066:                  yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-4].ttype), NULL_TREE, NULL_TREE,
        !          6067:                                  NULL_TREE); ;
        !          6068:     break;}
        !          6069: case 439:
        !          6070: #line 2563 "parse.y"
        !          6071: { yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (yyvsp[-2].ttype),
        !          6072:                                         empty_parms (), yyvsp[0].ttype);
        !          6073:                  yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (yyvsp[-2].ttype), NULL_TREE, NULL_TREE,
        !          6074:                                  NULL_TREE); ;
        !          6075:     break;}
        !          6076: case 440:
        !          6077: #line 2572 "parse.y"
        !          6078: { yyval.ttype = NULL_TREE; ;
        !          6079:     break;}
        !          6080: case 442:
        !          6081: #line 2575 "parse.y"
        !          6082: {
        !          6083:                  /* In this context, void_type_node encodes
        !          6084:                     friends.  They have been recorded elsewhere.  */
        !          6085:                  if (yyval.ttype == void_type_node)
        !          6086:                    yyval.ttype = yyvsp[0].ttype;
        !          6087:                  else
        !          6088:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
        !          6089:                ;
        !          6090:     break;}
        !          6091: case 443:
        !          6092: #line 2587 "parse.y"
        !          6093: { yyval.ttype = NULL_TREE; ;
        !          6094:     break;}
        !          6095: case 445:
        !          6096: #line 2590 "parse.y"
        !          6097: {
        !          6098:                  /* In this context, void_type_node encodes
        !          6099:                     friends.  They have been recorded elsewhere.  */
        !          6100:                  if (yyval.ttype == void_type_node)
        !          6101:                    yyval.ttype = yyvsp[0].ttype;
        !          6102:                  else
        !          6103:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
        !          6104:                ;
        !          6105:     break;}
        !          6106: case 450:
        !          6107: #line 2612 "parse.y"
        !          6108: { current_declspecs = yyvsp[-4].ttype;
        !          6109:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
        !          6110:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6111:     break;}
        !          6112: case 451:
        !          6113: #line 2616 "parse.y"
        !          6114: { current_declspecs = yyvsp[-6].ttype;
        !          6115:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
        !          6116:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
        !          6117:     break;}
        !          6118: case 452:
        !          6119: #line 2620 "parse.y"
        !          6120: { current_declspecs = yyvsp[-4].ttype;
        !          6121:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          6122:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6123:     break;}
        !          6124: case 453:
        !          6125: #line 2627 "parse.y"
        !          6126: { current_declspecs = yyvsp[-4].ttype;
        !          6127:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
        !          6128:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6129:     break;}
        !          6130: case 454:
        !          6131: #line 2631 "parse.y"
        !          6132: { current_declspecs = yyvsp[-6].ttype;
        !          6133:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
        !          6134:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
        !          6135:     break;}
        !          6136: case 455:
        !          6137: #line 2635 "parse.y"
        !          6138: { current_declspecs = yyvsp[-4].ttype;
        !          6139:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          6140:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6141:     break;}
        !          6142: case 456:
        !          6143: #line 2639 "parse.y"
        !          6144: { current_declspecs = yyvsp[-3].ttype;
        !          6145:                  yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
        !          6146:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6147:     break;}
        !          6148: case 457:
        !          6149: #line 2646 "parse.y"
        !          6150: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
        !          6151:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6152:     break;}
        !          6153: case 458:
        !          6154: #line 2649 "parse.y"
        !          6155: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
        !          6156:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
        !          6157:     break;}
        !          6158: case 459:
        !          6159: #line 2652 "parse.y"
        !          6160: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          6161:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6162:     break;}
        !          6163: case 460:
        !          6164: #line 2658 "parse.y"
        !          6165: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
        !          6166:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6167:     break;}
        !          6168: case 461:
        !          6169: #line 2661 "parse.y"
        !          6170: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
        !          6171:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
        !          6172:     break;}
        !          6173: case 462:
        !          6174: #line 2664 "parse.y"
        !          6175: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          6176:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6177:     break;}
        !          6178: case 463:
        !          6179: #line 2667 "parse.y"
        !          6180: { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
        !          6181:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          6182:     break;}
        !          6183: case 465:
        !          6184: #line 2678 "parse.y"
        !          6185: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
        !          6186:     break;}
        !          6187: case 466:
        !          6188: #line 2683 "parse.y"
        !          6189: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
        !          6190:     break;}
        !          6191: case 467:
        !          6192: #line 2685 "parse.y"
        !          6193: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
        !          6194:     break;}
        !          6195: case 468:
        !          6196: #line 2691 "parse.y"
        !          6197: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
        !          6198:     break;}
        !          6199: case 469:
        !          6200: #line 2693 "parse.y"
        !          6201: { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
        !          6202:     break;}
        !          6203: case 470:
        !          6204: #line 2697 "parse.y"
        !          6205: {
        !          6206:                  if (flag_ansi)
        !          6207:                    pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
        !          6208:                  yyval.ttype = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ttype), yyvsp[-1].ttype);
        !          6209:                  yyval.ttype = build_decl_list (TREE_PURPOSE (yyvsp[-4].ttype), yyval.ttype);
        !          6210:                ;
        !          6211:     break;}
        !          6212: case 471:
        !          6213: #line 2707 "parse.y"
        !          6214: { yyval.ttype = NULL_TREE; ;
        !          6215:     break;}
        !          6216: case 472:
        !          6217: #line 2709 "parse.y"
        !          6218: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          6219:     break;}
        !          6220: case 473:
        !          6221: #line 2714 "parse.y"
        !          6222: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
        !          6223:     break;}
        !          6224: case 474:
        !          6225: #line 2716 "parse.y"
        !          6226: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          6227:     break;}
        !          6228: case 475:
        !          6229: #line 2724 "parse.y"
        !          6230: { yyval.itype = suspend_momentary (); ;
        !          6231:     break;}
        !          6232: case 476:
        !          6233: #line 2725 "parse.y"
        !          6234: { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
        !          6235:     break;}
        !          6236: case 477:
        !          6237: #line 2732 "parse.y"
        !          6238: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6239:     break;}
        !          6240: case 478:
        !          6241: #line 2734 "parse.y"
        !          6242: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6243:     break;}
        !          6244: case 479:
        !          6245: #line 2736 "parse.y"
        !          6246: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6247:     break;}
        !          6248: case 480:
        !          6249: #line 2738 "parse.y"
        !          6250: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6251:     break;}
        !          6252: case 481:
        !          6253: #line 2740 "parse.y"
        !          6254: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
        !          6255:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
        !          6256:                ;
        !          6257:     break;}
        !          6258: case 483:
        !          6259: #line 2748 "parse.y"
        !          6260: {
        !          6261:                  /* Remember that this name has been used in the class
        !          6262:                     definition, as per [class.scope0] */
        !          6263:                  if (current_class_type
        !          6264:                      && TYPE_BEING_DEFINED (current_class_type)
        !          6265:                      && ! IDENTIFIER_CLASS_VALUE (yyval.ttype))
        !          6266:                    {
        !          6267:                      tree t = lookup_name (yyval.ttype, -2);
        !          6268:                      if (t)
        !          6269:                        pushdecl_class_level (t);
        !          6270:                    }
        !          6271:                ;
        !          6272:     break;}
        !          6273: case 485:
        !          6274: #line 2765 "parse.y"
        !          6275: { yyval.ttype = yyvsp[0].ttype; ;
        !          6276:     break;}
        !          6277: case 486:
        !          6278: #line 2770 "parse.y"
        !          6279: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          6280:     break;}
        !          6281: case 487:
        !          6282: #line 2772 "parse.y"
        !          6283: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          6284:     break;}
        !          6285: case 488:
        !          6286: #line 2774 "parse.y"
        !          6287: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
        !          6288:     break;}
        !          6289: case 489:
        !          6290: #line 2776 "parse.y"
        !          6291: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
        !          6292:     break;}
        !          6293: case 490:
        !          6294: #line 2778 "parse.y"
        !          6295: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
        !          6296:     break;}
        !          6297: case 491:
        !          6298: #line 2780 "parse.y"
        !          6299: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
        !          6300:     break;}
        !          6301: case 492:
        !          6302: #line 2782 "parse.y"
        !          6303: { yyval.ttype = yyvsp[-1].ttype; ;
        !          6304:     break;}
        !          6305: case 493:
        !          6306: #line 2784 "parse.y"
        !          6307: { push_nested_class (TREE_TYPE (yyval.ttype), 3);
        !          6308:                  yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
        !          6309:                  TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
        !          6310:     break;}
        !          6311: case 495:
        !          6312: #line 2795 "parse.y"
        !          6313: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6314:     break;}
        !          6315: case 496:
        !          6316: #line 2797 "parse.y"
        !          6317: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6318:     break;}
        !          6319: case 497:
        !          6320: #line 2799 "parse.y"
        !          6321: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6322:     break;}
        !          6323: case 498:
        !          6324: #line 2801 "parse.y"
        !          6325: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6326:     break;}
        !          6327: case 499:
        !          6328: #line 2803 "parse.y"
        !          6329: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
        !          6330:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
        !          6331:                ;
        !          6332:     break;}
        !          6333: case 501:
        !          6334: #line 2811 "parse.y"
        !          6335: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6336:     break;}
        !          6337: case 502:
        !          6338: #line 2813 "parse.y"
        !          6339: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6340:     break;}
        !          6341: case 503:
        !          6342: #line 2815 "parse.y"
        !          6343: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6344:     break;}
        !          6345: case 504:
        !          6346: #line 2817 "parse.y"
        !          6347: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6348:     break;}
        !          6349: case 505:
        !          6350: #line 2819 "parse.y"
        !          6351: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
        !          6352:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
        !          6353:                ;
        !          6354:     break;}
        !          6355: case 507:
        !          6356: #line 2827 "parse.y"
        !          6357: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          6358:     break;}
        !          6359: case 508:
        !          6360: #line 2829 "parse.y"
        !          6361: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          6362:     break;}
        !          6363: case 509:
        !          6364: #line 2831 "parse.y"
        !          6365: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
        !          6366:     break;}
        !          6367: case 510:
        !          6368: #line 2833 "parse.y"
        !          6369: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
        !          6370:     break;}
        !          6371: case 511:
        !          6372: #line 2835 "parse.y"
        !          6373: { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
        !          6374:     break;}
        !          6375: case 512:
        !          6376: #line 2837 "parse.y"
        !          6377: { yyval.ttype = yyvsp[-1].ttype; ;
        !          6378:     break;}
        !          6379: case 513:
        !          6380: #line 2839 "parse.y"
        !          6381: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
        !          6382:     break;}
        !          6383: case 514:
        !          6384: #line 2841 "parse.y"
        !          6385: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
        !          6386:     break;}
        !          6387: case 515:
        !          6388: #line 2846 "parse.y"
        !          6389: { got_scope = NULL_TREE;
        !          6390:                  yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
        !          6391:     break;}
        !          6392: case 516:
        !          6393: #line 2852 "parse.y"
        !          6394: { got_scope = NULL_TREE;
        !          6395:                  yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
        !          6396:     break;}
        !          6397: case 518:
        !          6398: #line 2859 "parse.y"
        !          6399: { yyval.ttype = yyvsp[0].ttype; ;
        !          6400:     break;}
        !          6401: case 519:
        !          6402: #line 2864 "parse.y"
        !          6403: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
        !          6404:     break;}
        !          6405: case 520:
        !          6406: #line 2866 "parse.y"
        !          6407: { yyval.ttype = reparse_decl_as_expr (yyval.ttype, yyvsp[-1].ttype); ;
        !          6408:     break;}
        !          6409: case 521:
        !          6410: #line 2868 "parse.y"
        !          6411: { yyval.ttype = reparse_absdcl_as_expr (yyval.ttype, yyvsp[0].ttype); ;
        !          6412:     break;}
        !          6413: case 525:
        !          6414: #line 2879 "parse.y"
        !          6415: { yyval.ttype = yyvsp[0].ttype; ;
        !          6416:     break;}
        !          6417: case 526:
        !          6418: #line 2886 "parse.y"
        !          6419: { got_scope = TREE_TYPE (yyval.ttype); ;
        !          6420:     break;}
        !          6421: case 527:
        !          6422: #line 2888 "parse.y"
        !          6423: { got_scope = TREE_TYPE (yyval.ttype); ;
        !          6424:     break;}
        !          6425: case 529:
        !          6426: #line 2904 "parse.y"
        !          6427: { yyval.ttype = yyvsp[0].ttype; ;
        !          6428:     break;}
        !          6429: case 531:
        !          6430: #line 2910 "parse.y"
        !          6431: { yyval.ttype = yyvsp[0].ttype; ;
        !          6432:     break;}
        !          6433: case 532:
        !          6434: #line 2915 "parse.y"
        !          6435: { got_scope = NULL_TREE; ;
        !          6436:     break;}
        !          6437: case 533:
        !          6438: #line 2917 "parse.y"
        !          6439: { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
        !          6440:     break;}
        !          6441: case 534:
        !          6442: #line 2924 "parse.y"
        !          6443: { got_scope = void_type_node; ;
        !          6444:     break;}
        !          6445: case 535:
        !          6446: #line 2930 "parse.y"
        !          6447: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6448:     break;}
        !          6449: case 536:
        !          6450: #line 2932 "parse.y"
        !          6451: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
        !          6452:     break;}
        !          6453: case 537:
        !          6454: #line 2934 "parse.y"
        !          6455: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6456:     break;}
        !          6457: case 538:
        !          6458: #line 2936 "parse.y"
        !          6459: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
        !          6460:     break;}
        !          6461: case 539:
        !          6462: #line 2938 "parse.y"
        !          6463: { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
        !          6464:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
        !          6465:                ;
        !          6466:     break;}
        !          6467: case 540:
        !          6468: #line 2942 "parse.y"
        !          6469: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
        !          6470:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
        !          6471:                ;
        !          6472:     break;}
        !          6473: case 542:
        !          6474: #line 2951 "parse.y"
        !          6475: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
        !          6476:     break;}
        !          6477: case 543:
        !          6478: #line 2953 "parse.y"
        !          6479: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
        !          6480:     break;}
        !          6481: case 544:
        !          6482: #line 2959 "parse.y"
        !          6483: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6484:     break;}
        !          6485: case 545:
        !          6486: #line 2961 "parse.y"
        !          6487: { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6488:     break;}
        !          6489: case 546:
        !          6490: #line 2963 "parse.y"
        !          6491: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
        !          6492:     break;}
        !          6493: case 547:
        !          6494: #line 2965 "parse.y"
        !          6495: { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
        !          6496:     break;}
        !          6497: case 548:
        !          6498: #line 2967 "parse.y"
        !          6499: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          6500:     break;}
        !          6501: case 549:
        !          6502: #line 2969 "parse.y"
        !          6503: { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
        !          6504:     break;}
        !          6505: case 550:
        !          6506: #line 2971 "parse.y"
        !          6507: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
        !          6508:     break;}
        !          6509: case 551:
        !          6510: #line 2973 "parse.y"
        !          6511: { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
        !          6512:     break;}
        !          6513: case 552:
        !          6514: #line 2975 "parse.y"
        !          6515: { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
        !          6516:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
        !          6517:                ;
        !          6518:     break;}
        !          6519: case 553:
        !          6520: #line 2979 "parse.y"
        !          6521: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
        !          6522:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
        !          6523:                ;
        !          6524:     break;}
        !          6525: case 555:
        !          6526: #line 2988 "parse.y"
        !          6527: { yyval.ttype = yyvsp[-1].ttype; ;
        !          6528:     break;}
        !          6529: case 557:
        !          6530: #line 2992 "parse.y"
        !          6531: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          6532:     break;}
        !          6533: case 558:
        !          6534: #line 2994 "parse.y"
        !          6535: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
        !          6536:     break;}
        !          6537: case 559:
        !          6538: #line 2996 "parse.y"
        !          6539: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
        !          6540:     break;}
        !          6541: case 560:
        !          6542: #line 2998 "parse.y"
        !          6543: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
        !          6544:     break;}
        !          6545: case 561:
        !          6546: #line 3000 "parse.y"
        !          6547: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          6548:     break;}
        !          6549: case 562:
        !          6550: #line 3002 "parse.y"
        !          6551: { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
        !          6552:     break;}
        !          6553: case 563:
        !          6554: #line 3004 "parse.y"
        !          6555: { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
        !          6556:     break;}
        !          6557: case 564:
        !          6558: #line 3006 "parse.y"
        !          6559: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
        !          6560:     break;}
        !          6561: case 565:
        !          6562: #line 3008 "parse.y"
        !          6563: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
        !          6564:     break;}
        !          6565: case 571:
        !          6566: #line 3030 "parse.y"
        !          6567: { emit_line_note (input_filename, lineno);
        !          6568:                  pushlevel (0);
        !          6569:                  clear_last_expr ();
        !          6570:                  push_momentary ();
        !          6571:                  expand_start_bindings (0); ;
        !          6572:     break;}
        !          6573: case 573:
        !          6574: #line 3042 "parse.y"
        !          6575: { if (flag_ansi)
        !          6576:                    pedwarn ("ANSI C++ forbids label declarations"); ;
        !          6577:     break;}
        !          6578: case 576:
        !          6579: #line 3053 "parse.y"
        !          6580: { tree link;
        !          6581:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
        !          6582:                    {
        !          6583:                      tree label = shadow_label (TREE_VALUE (link));
        !          6584:                      C_DECLARED_LABEL_FLAG (label) = 1;
        !          6585:                      declare_nonlocal_label (label);
        !          6586:                    }
        !          6587:                ;
        !          6588:     break;}
        !          6589: case 577:
        !          6590: #line 3067 "parse.y"
        !          6591: {;
        !          6592:     break;}
        !          6593: case 579:
        !          6594: #line 3072 "parse.y"
        !          6595: { expand_end_bindings (getdecls (), kept_level_p(), 1);
        !          6596:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          6597:                  pop_momentary (); ;
        !          6598:     break;}
        !          6599: case 580:
        !          6600: #line 3076 "parse.y"
        !          6601: { expand_end_bindings (getdecls (), kept_level_p(), 1);
        !          6602:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          6603:                  pop_momentary (); ;
        !          6604:     break;}
        !          6605: case 581:
        !          6606: #line 3080 "parse.y"
        !          6607: { expand_end_bindings (getdecls (), kept_level_p(), 1);
        !          6608:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
        !          6609:                  pop_momentary (); ;
        !          6610:     break;}
        !          6611: case 582:
        !          6612: #line 3084 "parse.y"
        !          6613: { expand_end_bindings (getdecls (), kept_level_p(), 1);
        !          6614:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
        !          6615:                  pop_momentary (); ;
        !          6616:     break;}
        !          6617: case 583:
        !          6618: #line 3091 "parse.y"
        !          6619: { cond_stmt_keyword = "if"; ;
        !          6620:     break;}
        !          6621: case 584:
        !          6622: #line 3093 "parse.y"
        !          6623: { emit_line_note (input_filename, lineno);
        !          6624:                  expand_start_cond (yyvsp[0].ttype, 0); ;
        !          6625:     break;}
        !          6626: case 586:
        !          6627: #line 3100 "parse.y"
        !          6628: { finish_stmt (); ;
        !          6629:     break;}
        !          6630: case 587:
        !          6631: #line 3102 "parse.y"
        !          6632: { expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6633:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          6634:                  pop_momentary (); ;
        !          6635:     break;}
        !          6636: case 588:
        !          6637: #line 3109 "parse.y"
        !          6638: { finish_stmt (); ;
        !          6639:     break;}
        !          6640: case 590:
        !          6641: #line 3115 "parse.y"
        !          6642: { finish_stmt (); ;
        !          6643:     break;}
        !          6644: case 591:
        !          6645: #line 3117 "parse.y"
        !          6646: {
        !          6647:                  tree expr = yyvsp[-1].ttype;
        !          6648:                  emit_line_note (input_filename, lineno);
        !          6649:                  /* Do default conversion if safe and possibly important,
        !          6650:                     in case within ({...}).  */
        !          6651:                  if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
        !          6652:                       && lvalue_p (expr))
        !          6653:                      || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
        !          6654:                    expr = default_conversion (expr);
        !          6655:                  cplus_expand_expr_stmt (expr);
        !          6656:                  clear_momentary ();
        !          6657:                  finish_stmt (); ;
        !          6658:     break;}
        !          6659: case 592:
        !          6660: #line 3130 "parse.y"
        !          6661: { expand_start_else (); ;
        !          6662:     break;}
        !          6663: case 593:
        !          6664: #line 3132 "parse.y"
        !          6665: { expand_end_cond ();
        !          6666:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6667:                  poplevel (kept_level_p (), 1, 0);
        !          6668:                  pop_momentary ();
        !          6669:                  finish_stmt (); ;
        !          6670:     break;}
        !          6671: case 594:
        !          6672: #line 3138 "parse.y"
        !          6673: { expand_end_cond ();
        !          6674:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6675:                  poplevel (kept_level_p (), 1, 0);
        !          6676:                  pop_momentary ();
        !          6677:                  finish_stmt (); ;
        !          6678:     break;}
        !          6679: case 595:
        !          6680: #line 3144 "parse.y"
        !          6681: { emit_nop ();
        !          6682:                  emit_line_note (input_filename, lineno);
        !          6683:                  expand_start_loop (1);
        !          6684:                  cond_stmt_keyword = "while"; ;
        !          6685:     break;}
        !          6686: case 596:
        !          6687: #line 3149 "parse.y"
        !          6688: { expand_exit_loop_if_false (0, yyvsp[0].ttype); ;
        !          6689:     break;}
        !          6690: case 597:
        !          6691: #line 3151 "parse.y"
        !          6692: { expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6693:                  poplevel (kept_level_p (), 1, 0);
        !          6694:                  pop_momentary ();
        !          6695:                  expand_end_loop ();
        !          6696:                  finish_stmt (); ;
        !          6697:     break;}
        !          6698: case 598:
        !          6699: #line 3157 "parse.y"
        !          6700: { emit_nop ();
        !          6701:                  emit_line_note (input_filename, lineno);
        !          6702:                  expand_start_loop_continue_elsewhere (1); ;
        !          6703:     break;}
        !          6704: case 599:
        !          6705: #line 3161 "parse.y"
        !          6706: { expand_loop_continue_here ();
        !          6707:                  cond_stmt_keyword = "do"; ;
        !          6708:     break;}
        !          6709: case 600:
        !          6710: #line 3164 "parse.y"
        !          6711: { emit_line_note (input_filename, lineno);
        !          6712:                  expand_exit_loop_if_false (0, yyvsp[-1].ttype);
        !          6713:                  expand_end_loop ();
        !          6714:                  clear_momentary ();
        !          6715:                  finish_stmt (); ;
        !          6716:     break;}
        !          6717: case 601:
        !          6718: #line 3170 "parse.y"
        !          6719: { emit_nop ();
        !          6720:                  emit_line_note (input_filename, lineno);
        !          6721:                  if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
        !          6722:                  expand_start_loop_continue_elsewhere (1); ;
        !          6723:     break;}
        !          6724: case 602:
        !          6725: #line 3175 "parse.y"
        !          6726: { emit_line_note (input_filename, lineno);
        !          6727:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
        !          6728:     break;}
        !          6729: case 603:
        !          6730: #line 3180 "parse.y"
        !          6731: { push_momentary (); ;
        !          6732:     break;}
        !          6733: case 604:
        !          6734: #line 3182 "parse.y"
        !          6735: { emit_line_note (input_filename, lineno);
        !          6736:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6737:                  poplevel (kept_level_p (), 1, 0);
        !          6738:                  pop_momentary ();
        !          6739:                  expand_loop_continue_here ();
        !          6740:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
        !          6741:                  pop_momentary ();
        !          6742:                  expand_end_loop ();
        !          6743:                  finish_stmt (); ;
        !          6744:     break;}
        !          6745: case 605:
        !          6746: #line 3192 "parse.y"
        !          6747: { emit_nop ();
        !          6748:                  emit_line_note (input_filename, lineno);
        !          6749:                  expand_start_loop_continue_elsewhere (1); ;
        !          6750:     break;}
        !          6751: case 606:
        !          6752: #line 3196 "parse.y"
        !          6753: { emit_line_note (input_filename, lineno);
        !          6754:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
        !          6755:     break;}
        !          6756: case 607:
        !          6757: #line 3201 "parse.y"
        !          6758: { push_momentary ();
        !          6759:                  yyvsp[0].itype = lineno; ;
        !          6760:     break;}
        !          6761: case 608:
        !          6762: #line 3204 "parse.y"
        !          6763: { emit_line_note (input_filename, (int) yyvsp[-2].itype);
        !          6764:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6765:                  poplevel (kept_level_p (), 1, 0);
        !          6766:                  pop_momentary ();
        !          6767:                  expand_loop_continue_here ();
        !          6768:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
        !          6769:                  pop_momentary ();
        !          6770:                  expand_end_loop ();
        !          6771:                  finish_stmt ();
        !          6772:                ;
        !          6773:     break;}
        !          6774: case 609:
        !          6775: #line 3215 "parse.y"
        !          6776: { emit_line_note (input_filename, lineno);
        !          6777:                  c_expand_start_case (yyvsp[-1].ttype);
        !          6778:                  /* Don't let the tree nodes for $4 be discarded by
        !          6779:                     clear_momentary during the parsing of the next stmt.  */
        !          6780:                  push_momentary (); ;
        !          6781:     break;}
        !          6782: case 610:
        !          6783: #line 3221 "parse.y"
        !          6784: { expand_end_case (yyvsp[-3].ttype);
        !          6785:                  pop_momentary ();
        !          6786:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6787:                  poplevel (kept_level_p (), 1, 0);
        !          6788:                  pop_momentary ();
        !          6789:                  finish_stmt (); ;
        !          6790:     break;}
        !          6791: case 611:
        !          6792: #line 3228 "parse.y"
        !          6793: { register tree value = check_cp_case_value (yyvsp[-1].ttype);
        !          6794:                  register tree label
        !          6795:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
        !          6796: 
        !          6797:                  if (value != error_mark_node)
        !          6798:                    {
        !          6799:                      tree duplicate;
        !          6800:                      int success = pushcase (value, convert_and_check,
        !          6801:                                              label, &duplicate);
        !          6802:                      if (success == 1)
        !          6803:                        cp_error ("case label `%E' not within a switch statement", yyvsp[-1].ttype);
        !          6804:                      else if (success == 2)
        !          6805:                        {
        !          6806:                          cp_error ("duplicate case value `%E'", yyvsp[-1].ttype);
        !          6807:                          cp_error_at ("`%E' previously used here", duplicate);
        !          6808:                        }
        !          6809:                      else if (success == 3)
        !          6810:                        warning ("case value out of range");
        !          6811:                      else if (success == 5)
        !          6812:                        cp_error ("case label `%E' within scope of cleanup or variable array", yyvsp[-1].ttype);
        !          6813:                    }
        !          6814:                  define_case_label (label);
        !          6815:                ;
        !          6816:     break;}
        !          6817: case 613:
        !          6818: #line 3253 "parse.y"
        !          6819: { register tree value1 = check_cp_case_value (yyvsp[-3].ttype);
        !          6820:                  register tree value2 = check_cp_case_value (yyvsp[-1].ttype);
        !          6821:                  register tree label
        !          6822:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
        !          6823: 
        !          6824:                  if (flag_ansi)
        !          6825:                    pedwarn ("ANSI C++ forbids range expressions in switch statement");
        !          6826:                  if (value1 != error_mark_node
        !          6827:                      && value2 != error_mark_node)
        !          6828:                    {
        !          6829:                      tree duplicate;
        !          6830:                      int success = pushcase_range (value1, value2,
        !          6831:                                                    convert_and_check, label,
        !          6832:                                                    &duplicate);
        !          6833:                      if (success == 1)
        !          6834:                        error ("case label not within a switch statement");
        !          6835:                      else if (success == 2)
        !          6836:                        {
        !          6837:                          error ("duplicate (or overlapping) case value");
        !          6838:                          error_with_decl (duplicate, "this is the first entry overlapping that value");
        !          6839:                        }
        !          6840:                      else if (success == 3)
        !          6841:                        warning ("case value out of range");
        !          6842:                      else if (success == 4)
        !          6843:                        warning ("empty range specified");
        !          6844:                      else if (success == 5)
        !          6845:                        error ("case label within scope of cleanup or variable array");
        !          6846:                    }
        !          6847:                  define_case_label (label);
        !          6848:                ;
        !          6849:     break;}
        !          6850: case 615:
        !          6851: #line 3285 "parse.y"
        !          6852: {
        !          6853:                  tree duplicate;
        !          6854:                  register tree label
        !          6855:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
        !          6856:                  int success = pushcase (NULL_TREE, 0, label, &duplicate);
        !          6857:                  if (success == 1)
        !          6858:                    error ("default label not within a switch statement");
        !          6859:                  else if (success == 2)
        !          6860:                    {
        !          6861:                      error ("multiple default labels in one switch");
        !          6862:                      error_with_decl (duplicate, "this is the first default label");
        !          6863:                    }
        !          6864:                  define_case_label (NULL_TREE);
        !          6865:                ;
        !          6866:     break;}
        !          6867: case 617:
        !          6868: #line 3301 "parse.y"
        !          6869: { emit_line_note (input_filename, lineno);
        !          6870:                  if ( ! expand_exit_something ())
        !          6871:                    error ("break statement not within loop or switch"); ;
        !          6872:     break;}
        !          6873: case 618:
        !          6874: #line 3305 "parse.y"
        !          6875: { emit_line_note (input_filename, lineno);
        !          6876:                  if (! expand_continue_loop (0))
        !          6877:                    error ("continue statement not within a loop"); ;
        !          6878:     break;}
        !          6879: case 619:
        !          6880: #line 3309 "parse.y"
        !          6881: { emit_line_note (input_filename, lineno);
        !          6882:                  c_expand_return (NULL_TREE); ;
        !          6883:     break;}
        !          6884: case 620:
        !          6885: #line 3312 "parse.y"
        !          6886: { emit_line_note (input_filename, lineno);
        !          6887:                  c_expand_return (yyvsp[-1].ttype);
        !          6888:                  finish_stmt ();
        !          6889:                ;
        !          6890:     break;}
        !          6891: case 621:
        !          6892: #line 3317 "parse.y"
        !          6893: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
        !          6894:                  emit_line_note (input_filename, lineno);
        !          6895:                  expand_asm (yyvsp[-2].ttype);
        !          6896:                  finish_stmt ();
        !          6897:                ;
        !          6898:     break;}
        !          6899: case 622:
        !          6900: #line 3324 "parse.y"
        !          6901: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
        !          6902:                  emit_line_note (input_filename, lineno);
        !          6903:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
        !          6904:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
        !          6905:                                         input_filename, lineno);
        !          6906:                  finish_stmt ();
        !          6907:                ;
        !          6908:     break;}
        !          6909: case 623:
        !          6910: #line 3333 "parse.y"
        !          6911: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
        !          6912:                  emit_line_note (input_filename, lineno);
        !          6913:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
        !          6914:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
        !          6915:                                         input_filename, lineno);
        !          6916:                  finish_stmt ();
        !          6917:                ;
        !          6918:     break;}
        !          6919: case 624:
        !          6920: #line 3343 "parse.y"
        !          6921: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
        !          6922:                  emit_line_note (input_filename, lineno);
        !          6923:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
        !          6924:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
        !          6925:                                         input_filename, lineno);
        !          6926:                  finish_stmt ();
        !          6927:                ;
        !          6928:     break;}
        !          6929: case 625:
        !          6930: #line 3351 "parse.y"
        !          6931: { emit_line_note (input_filename, lineno);
        !          6932:                  expand_computed_goto (yyvsp[-1].ttype); ;
        !          6933:     break;}
        !          6934: case 626:
        !          6935: #line 3354 "parse.y"
        !          6936: { tree decl;
        !          6937:                  emit_line_note (input_filename, lineno);
        !          6938:                  decl = lookup_label (yyvsp[-1].ttype);
        !          6939:                  TREE_USED (decl) = 1;
        !          6940:                  expand_goto (decl); ;
        !          6941:     break;}
        !          6942: case 627:
        !          6943: #line 3360 "parse.y"
        !          6944: { finish_stmt (); ;
        !          6945:     break;}
        !          6946: case 628:
        !          6947: #line 3362 "parse.y"
        !          6948: { error ("label must be followed by statement");
        !          6949:                  yyungetc ('}', 0);
        !          6950:                  finish_stmt (); ;
        !          6951:     break;}
        !          6952: case 629:
        !          6953: #line 3366 "parse.y"
        !          6954: { finish_stmt (); ;
        !          6955:     break;}
        !          6956: case 631:
        !          6957: #line 3372 "parse.y"
        !          6958: { expand_start_try_stmts (); ;
        !          6959:     break;}
        !          6960: case 632:
        !          6961: #line 3374 "parse.y"
        !          6962: { expand_end_try_stmts ();
        !          6963:                  expand_start_all_catch (); ;
        !          6964:     break;}
        !          6965: case 633:
        !          6966: #line 3377 "parse.y"
        !          6967: { expand_end_all_catch (); ;
        !          6968:     break;}
        !          6969: case 634:
        !          6970: #line 3385 "parse.y"
        !          6971: { expand_end_bindings (0,1,1);
        !          6972:                  poplevel (2,0,0);
        !          6973:                ;
        !          6974:     break;}
        !          6975: case 635:
        !          6976: #line 3389 "parse.y"
        !          6977: { expand_end_bindings (0,1,1);
        !          6978:                  poplevel (2,0,0);
        !          6979:                ;
        !          6980:     break;}
        !          6981: case 636:
        !          6982: #line 3393 "parse.y"
        !          6983: { expand_end_bindings (0,1,1);
        !          6984:                  poplevel (2,0,0);
        !          6985:                ;
        !          6986:     break;}
        !          6987: case 638:
        !          6988: #line 3401 "parse.y"
        !          6989: { emit_line_note (input_filename, lineno); ;
        !          6990:     break;}
        !          6991: case 639:
        !          6992: #line 3403 "parse.y"
        !          6993: { expand_end_catch_block (); ;
        !          6994:     break;}
        !          6995: case 642:
        !          6996: #line 3413 "parse.y"
        !          6997: { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
        !          6998:     break;}
        !          6999: case 643:
        !          7000: #line 3425 "parse.y"
        !          7001: { expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ttype),
        !          7002:                                            TREE_VALUE (yyvsp[-1].ttype)); ;
        !          7003:     break;}
        !          7004: case 644:
        !          7005: #line 3431 "parse.y"
        !          7006: { tree label;
        !          7007:                do_label:
        !          7008:                  label = define_label (input_filename, lineno, yyvsp[-1].ttype);
        !          7009:                  if (label)
        !          7010:                    expand_label (label);
        !          7011:                ;
        !          7012:     break;}
        !          7013: case 645:
        !          7014: #line 3438 "parse.y"
        !          7015: { goto do_label; ;
        !          7016:     break;}
        !          7017: case 646:
        !          7018: #line 3440 "parse.y"
        !          7019: { goto do_label; ;
        !          7020:     break;}
        !          7021: case 647:
        !          7022: #line 3445 "parse.y"
        !          7023: { yyval.ttype = NULL_TREE; ;
        !          7024:     break;}
        !          7025: case 648:
        !          7026: #line 3447 "parse.y"
        !          7027: { yyval.ttype = yyvsp[-1].ttype; ;
        !          7028:     break;}
        !          7029: case 649:
        !          7030: #line 3449 "parse.y"
        !          7031: { yyval.ttype = NULL_TREE; ;
        !          7032:     break;}
        !          7033: case 650:
        !          7034: #line 3454 "parse.y"
        !          7035: { yyval.itype = 0; ;
        !          7036:     break;}
        !          7037: case 651:
        !          7038: #line 3456 "parse.y"
        !          7039: { yyval.itype = 0; ;
        !          7040:     break;}
        !          7041: case 652:
        !          7042: #line 3458 "parse.y"
        !          7043: { yyval.itype = 1; ;
        !          7044:     break;}
        !          7045: case 653:
        !          7046: #line 3460 "parse.y"
        !          7047: { yyval.itype = -1; ;
        !          7048:     break;}
        !          7049: case 654:
        !          7050: #line 3467 "parse.y"
        !          7051: { emit_line_note (input_filename, lineno);
        !          7052:                  yyval.ttype = NULL_TREE; ;
        !          7053:     break;}
        !          7054: case 655:
        !          7055: #line 3470 "parse.y"
        !          7056: { emit_line_note (input_filename, lineno); ;
        !          7057:     break;}
        !          7058: case 656:
        !          7059: #line 3475 "parse.y"
        !          7060: { yyval.ttype = NULL_TREE; ;
        !          7061:     break;}
        !          7062: case 658:
        !          7063: #line 3478 "parse.y"
        !          7064: { yyval.ttype = NULL_TREE; ;
        !          7065:     break;}
        !          7066: case 659:
        !          7067: #line 3484 "parse.y"
        !          7068: { yyval.ttype = NULL_TREE; ;
        !          7069:     break;}
        !          7070: case 662:
        !          7071: #line 3491 "parse.y"
        !          7072: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
        !          7073:     break;}
        !          7074: case 663:
        !          7075: #line 3496 "parse.y"
        !          7076: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
        !          7077:     break;}
        !          7078: case 664:
        !          7079: #line 3501 "parse.y"
        !          7080: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
        !          7081:     break;}
        !          7082: case 665:
        !          7083: #line 3503 "parse.y"
        !          7084: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
        !          7085:     break;}
        !          7086: case 666:
        !          7087: #line 3513 "parse.y"
        !          7088: {
        !          7089:                  if (strict_prototype)
        !          7090:                    yyval.ttype = void_list_node;
        !          7091:                  else
        !          7092:                    yyval.ttype = NULL_TREE;
        !          7093:                ;
        !          7094:     break;}
        !          7095: case 668:
        !          7096: #line 3521 "parse.y"
        !          7097: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
        !          7098:                  TREE_PARMLIST (yyval.ttype) = 1; ;
        !          7099:     break;}
        !          7100: case 669:
        !          7101: #line 3529 "parse.y"
        !          7102: {
        !          7103:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
        !          7104:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7105:                ;
        !          7106:     break;}
        !          7107: case 670:
        !          7108: #line 3534 "parse.y"
        !          7109: {
        !          7110:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7111:                ;
        !          7112:     break;}
        !          7113: case 671:
        !          7114: #line 3539 "parse.y"
        !          7115: {
        !          7116:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7117:                ;
        !          7118:     break;}
        !          7119: case 672:
        !          7120: #line 3543 "parse.y"
        !          7121: {
        !          7122:                  yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); 
        !          7123:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7124:                ;
        !          7125:     break;}
        !          7126: case 673:
        !          7127: #line 3548 "parse.y"
        !          7128: {
        !          7129:                  /* ARM $8.2.5 has this as a boxed-off comment.  */
        !          7130:                  if (pedantic)
        !          7131:                    warning ("use of `...' without a first argument is non-portable");
        !          7132:                  yyval.ttype = NULL_TREE;
        !          7133:                ;
        !          7134:     break;}
        !          7135: case 674:
        !          7136: #line 3555 "parse.y"
        !          7137: {
        !          7138:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7139:                ;
        !          7140:     break;}
        !          7141: case 675:
        !          7142: #line 3559 "parse.y"
        !          7143: {
        !          7144:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7145:                ;
        !          7146:     break;}
        !          7147: case 676:
        !          7148: #line 3563 "parse.y"
        !          7149: {
        !          7150:                  yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype);
        !          7151:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7152:                ;
        !          7153:     break;}
        !          7154: case 677:
        !          7155: #line 3568 "parse.y"
        !          7156: {
        !          7157:                  /* This helps us recover from really nasty
        !          7158:                     parse errors, for example, a missing right
        !          7159:                     parenthesis.  */
        !          7160:                  yyerror ("possibly missing ')'");
        !          7161:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
        !          7162:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7163:                  yyungetc (':', 0);
        !          7164:                  yychar = ')';
        !          7165:                ;
        !          7166:     break;}
        !          7167: case 678:
        !          7168: #line 3579 "parse.y"
        !          7169: {
        !          7170:                  /* This helps us recover from really nasty
        !          7171:                     parse errors, for example, a missing right
        !          7172:                     parenthesis.  */
        !          7173:                  yyerror ("possibly missing ')'");
        !          7174:                  yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
        !          7175:                  TREE_PARMLIST (yyval.ttype) = 1;
        !          7176:                  yyungetc (':', 0);
        !          7177:                  yychar = ')';
        !          7178:                ;
        !          7179:     break;}
        !          7180: case 679:
        !          7181: #line 3594 "parse.y"
        !          7182: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          7183:     break;}
        !          7184: case 680:
        !          7185: #line 3596 "parse.y"
        !          7186: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
        !          7187:     break;}
        !          7188: case 681:
        !          7189: #line 3598 "parse.y"
        !          7190: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
        !          7191:     break;}
        !          7192: case 682:
        !          7193: #line 3600 "parse.y"
        !          7194: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          7195:     break;}
        !          7196: case 683:
        !          7197: #line 3602 "parse.y"
        !          7198: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
        !          7199:     break;}
        !          7200: case 685:
        !          7201: #line 3608 "parse.y"
        !          7202: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          7203:     break;}
        !          7204: case 686:
        !          7205: #line 3631 "parse.y"
        !          7206: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
        !          7207:     break;}
        !          7208: case 687:
        !          7209: #line 3633 "parse.y"
        !          7210: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
        !          7211:     break;}
        !          7212: case 688:
        !          7213: #line 3635 "parse.y"
        !          7214: { yyval.ttype = build_tree_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
        !          7215:     break;}
        !          7216: case 689:
        !          7217: #line 3637 "parse.y"
        !          7218: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
        !          7219:     break;}
        !          7220: case 690:
        !          7221: #line 3639 "parse.y"
        !          7222: { yyval.ttype = build_tree_list (yyval.ttype, NULL_TREE); ;
        !          7223:     break;}
        !          7224: case 691:
        !          7225: #line 3641 "parse.y"
        !          7226: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
        !          7227:     break;}
        !          7228: case 692:
        !          7229: #line 3646 "parse.y"
        !          7230: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          7231:     break;}
        !          7232: case 693:
        !          7233: #line 3648 "parse.y"
        !          7234: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
        !          7235:     break;}
        !          7236: case 696:
        !          7237: #line 3657 "parse.y"
        !          7238: { see_typename (); ;
        !          7239:     break;}
        !          7240: case 697:
        !          7241: #line 3680 "parse.y"
        !          7242: {
        !          7243:                  warning ("type specifier omitted for parameter");
        !          7244:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-1].ttype)), NULL_TREE);
        !          7245:                ;
        !          7246:     break;}
        !          7247: case 698:
        !          7248: #line 3685 "parse.y"
        !          7249: {
        !          7250:                  warning ("type specifier omitted for parameter");
        !          7251:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
        !          7252:                ;
        !          7253:     break;}
        !          7254: case 699:
        !          7255: #line 3693 "parse.y"
        !          7256: { yyval.ttype = NULL_TREE; ;
        !          7257:     break;}
        !          7258: case 700:
        !          7259: #line 3695 "parse.y"
        !          7260: { yyval.ttype = yyvsp[-1].ttype; ;
        !          7261:     break;}
        !          7262: case 701:
        !          7263: #line 3700 "parse.y"
        !          7264: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
        !          7265:     break;}
        !          7266: case 703:
        !          7267: #line 3706 "parse.y"
        !          7268: {
        !          7269:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
        !          7270:                  yyval.ttype = yyvsp[0].ttype;
        !          7271:                ;
        !          7272:     break;}
        !          7273: case 704:
        !          7274: #line 3714 "parse.y"
        !          7275: { yyval.ttype = NULL_TREE; ;
        !          7276:     break;}
        !          7277: case 705:
        !          7278: #line 3716 "parse.y"
        !          7279: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          7280:     break;}
        !          7281: case 706:
        !          7282: #line 3718 "parse.y"
        !          7283: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          7284:     break;}
        !          7285: case 707:
        !          7286: #line 3720 "parse.y"
        !          7287: { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
        !          7288:                  yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
        !          7289:                ;
        !          7290:     break;}
        !          7291: case 708:
        !          7292: #line 3726 "parse.y"
        !          7293: { got_scope = NULL_TREE; ;
        !          7294:     break;}
        !          7295: case 709:
        !          7296: #line 3731 "parse.y"
        !          7297: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
        !          7298:     break;}
        !          7299: case 710:
        !          7300: #line 3733 "parse.y"
        !          7301: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
        !          7302:     break;}
        !          7303: case 711:
        !          7304: #line 3735 "parse.y"
        !          7305: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
        !          7306:     break;}
        !          7307: case 712:
        !          7308: #line 3737 "parse.y"
        !          7309: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
        !          7310:     break;}
        !          7311: case 713:
        !          7312: #line 3739 "parse.y"
        !          7313: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
        !          7314:     break;}
        !          7315: case 714:
        !          7316: #line 3741 "parse.y"
        !          7317: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
        !          7318:     break;}
        !          7319: case 715:
        !          7320: #line 3743 "parse.y"
        !          7321: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
        !          7322:     break;}
        !          7323: case 716:
        !          7324: #line 3745 "parse.y"
        !          7325: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
        !          7326:     break;}
        !          7327: case 717:
        !          7328: #line 3747 "parse.y"
        !          7329: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
        !          7330:     break;}
        !          7331: case 718:
        !          7332: #line 3749 "parse.y"
        !          7333: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
        !          7334:     break;}
        !          7335: case 719:
        !          7336: #line 3751 "parse.y"
        !          7337: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
        !          7338:     break;}
        !          7339: case 720:
        !          7340: #line 3753 "parse.y"
        !          7341: { yyval.ttype = ansi_opname[LT_EXPR]; ;
        !          7342:     break;}
        !          7343: case 721:
        !          7344: #line 3755 "parse.y"
        !          7345: { yyval.ttype = ansi_opname[GT_EXPR]; ;
        !          7346:     break;}
        !          7347: case 722:
        !          7348: #line 3757 "parse.y"
        !          7349: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
        !          7350:     break;}
        !          7351: case 723:
        !          7352: #line 3759 "parse.y"
        !          7353: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
        !          7354:     break;}
        !          7355: case 724:
        !          7356: #line 3761 "parse.y"
        !          7357: { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
        !          7358:     break;}
        !          7359: case 725:
        !          7360: #line 3763 "parse.y"
        !          7361: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
        !          7362:     break;}
        !          7363: case 726:
        !          7364: #line 3765 "parse.y"
        !          7365: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
        !          7366:     break;}
        !          7367: case 727:
        !          7368: #line 3767 "parse.y"
        !          7369: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
        !          7370:     break;}
        !          7371: case 728:
        !          7372: #line 3769 "parse.y"
        !          7373: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
        !          7374:     break;}
        !          7375: case 729:
        !          7376: #line 3771 "parse.y"
        !          7377: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
        !          7378:     break;}
        !          7379: case 730:
        !          7380: #line 3773 "parse.y"
        !          7381: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
        !          7382:     break;}
        !          7383: case 731:
        !          7384: #line 3775 "parse.y"
        !          7385: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
        !          7386:     break;}
        !          7387: case 732:
        !          7388: #line 3777 "parse.y"
        !          7389: { yyval.ttype = ansi_opname[COND_EXPR]; ;
        !          7390:     break;}
        !          7391: case 733:
        !          7392: #line 3779 "parse.y"
        !          7393: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
        !          7394:     break;}
        !          7395: case 734:
        !          7396: #line 3781 "parse.y"
        !          7397: { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
        !          7398:     break;}
        !          7399: case 735:
        !          7400: #line 3783 "parse.y"
        !          7401: { yyval.ttype = ansi_opname[MEMBER_REF]; ;
        !          7402:     break;}
        !          7403: case 736:
        !          7404: #line 3785 "parse.y"
        !          7405: { yyval.ttype = ansi_opname[CALL_EXPR]; ;
        !          7406:     break;}
        !          7407: case 737:
        !          7408: #line 3787 "parse.y"
        !          7409: { yyval.ttype = ansi_opname[ARRAY_REF]; ;
        !          7410:     break;}
        !          7411: case 738:
        !          7412: #line 3789 "parse.y"
        !          7413: { yyval.ttype = ansi_opname[NEW_EXPR]; ;
        !          7414:     break;}
        !          7415: case 739:
        !          7416: #line 3791 "parse.y"
        !          7417: { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
        !          7418:     break;}
        !          7419: case 740:
        !          7420: #line 3793 "parse.y"
        !          7421: { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
        !          7422:     break;}
        !          7423: case 741:
        !          7424: #line 3795 "parse.y"
        !          7425: { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
        !          7426:     break;}
        !          7427: case 742:
        !          7428: #line 3798 "parse.y"
        !          7429: { yyval.ttype = grokoptypename (yyvsp[-1].ttype, yyvsp[0].ttype); ;
        !          7430:     break;}
        !          7431: case 743:
        !          7432: #line 3800 "parse.y"
        !          7433: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
        !          7434:     break;}
        !          7435: }
        !          7436:    /* the action file gets copied in in place of this dollarsign */
        !          7437: #line 465 "/usr/unsupported/lib/bison.simple"
        !          7438: 
        !          7439:   yyvsp -= yylen;
        !          7440:   yyssp -= yylen;
        !          7441: #ifdef YYLSP_NEEDED
        !          7442:   yylsp -= yylen;
        !          7443: #endif
        !          7444: 
        !          7445: #if YYDEBUG != 0
        !          7446:   if (yydebug)
        !          7447:     {
        !          7448:       short *ssp1 = yyss - 1;
        !          7449:       fprintf (stderr, "state stack now");
        !          7450:       while (ssp1 != yyssp)
        !          7451:        fprintf (stderr, " %d", *++ssp1);
        !          7452:       fprintf (stderr, "\n");
        !          7453:     }
        !          7454: #endif
        !          7455: 
        !          7456:   *++yyvsp = yyval;
        !          7457: 
        !          7458: #ifdef YYLSP_NEEDED
        !          7459:   yylsp++;
        !          7460:   if (yylen == 0)
        !          7461:     {
        !          7462:       yylsp->first_line = yylloc.first_line;
        !          7463:       yylsp->first_column = yylloc.first_column;
        !          7464:       yylsp->last_line = (yylsp-1)->last_line;
        !          7465:       yylsp->last_column = (yylsp-1)->last_column;
        !          7466:       yylsp->text = 0;
        !          7467:     }
        !          7468:   else
        !          7469:     {
        !          7470:       yylsp->last_line = (yylsp+yylen-1)->last_line;
        !          7471:       yylsp->last_column = (yylsp+yylen-1)->last_column;
        !          7472:     }
        !          7473: #endif
        !          7474: 
        !          7475:   /* Now "shift" the result of the reduction.
        !          7476:      Determine what state that goes to,
        !          7477:      based on the state we popped back to
        !          7478:      and the rule number reduced by.  */
        !          7479: 
        !          7480:   yyn = yyr1[yyn];
        !          7481: 
        !          7482:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
        !          7483:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
        !          7484:     yystate = yytable[yystate];
        !          7485:   else
        !          7486:     yystate = yydefgoto[yyn - YYNTBASE];
        !          7487: 
        !          7488:   goto yynewstate;
        !          7489: 
        !          7490: yyerrlab:   /* here on detecting error */
        !          7491: 
        !          7492:   if (! yyerrstatus)
        !          7493:     /* If not already recovering from an error, report this error.  */
        !          7494:     {
        !          7495:       ++yynerrs;
        !          7496: 
        !          7497: #ifdef YYERROR_VERBOSE
        !          7498:       yyn = yypact[yystate];
        !          7499: 
        !          7500:       if (yyn > YYFLAG && yyn < YYLAST)
        !          7501:        {
        !          7502:          int size = 0;
        !          7503:          char *msg;
        !          7504:          int x, count;
        !          7505: 
        !          7506:          count = 0;
        !          7507:          /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
        !          7508:          for (x = (yyn < 0 ? -yyn : 0);
        !          7509:               x < (sizeof(yytname) / sizeof(char *)); x++)
        !          7510:            if (yycheck[x + yyn] == x)
        !          7511:              size += strlen(yytname[x]) + 15, count++;
        !          7512:          msg = (char *) malloc(size + 15);
        !          7513:          if (msg != 0)
        !          7514:            {
        !          7515:              strcpy(msg, "parse error");
        !          7516: 
        !          7517:              if (count < 5)
        !          7518:                {
        !          7519:                  count = 0;
        !          7520:                  for (x = (yyn < 0 ? -yyn : 0);
        !          7521:                       x < (sizeof(yytname) / sizeof(char *)); x++)
        !          7522:                    if (yycheck[x + yyn] == x)
        !          7523:                      {
        !          7524:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
        !          7525:                        strcat(msg, yytname[x]);
        !          7526:                        strcat(msg, "'");
        !          7527:                        count++;
        !          7528:                      }
        !          7529:                }
        !          7530:              yyerror(msg);
        !          7531:              free(msg);
        !          7532:            }
        !          7533:          else
        !          7534:            yyerror ("parse error; also virtual memory exceeded");
        !          7535:        }
        !          7536:       else
        !          7537: #endif /* YYERROR_VERBOSE */
        !          7538:        yyerror("parse error");
        !          7539:     }
        !          7540: 
        !          7541:   goto yyerrlab1;
        !          7542: yyerrlab1:   /* here on error raised explicitly by an action */
        !          7543: 
        !          7544:   if (yyerrstatus == 3)
        !          7545:     {
        !          7546:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
        !          7547: 
        !          7548:       /* return failure if at end of input */
        !          7549:       if (yychar == YYEOF)
        !          7550:        YYABORT;
        !          7551: 
        !          7552: #if YYDEBUG != 0
        !          7553:       if (yydebug)
        !          7554:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
        !          7555: #endif
        !          7556: 
        !          7557:       yychar = YYEMPTY;
        !          7558:     }
        !          7559: 
        !          7560:   /* Else will try to reuse lookahead token
        !          7561:      after shifting the error token.  */
        !          7562: 
        !          7563:   yyerrstatus = 3;             /* Each real token shifted decrements this */
        !          7564: 
        !          7565:   goto yyerrhandle;
        !          7566: 
        !          7567: yyerrdefault:  /* current state does not do anything special for the error token. */
        !          7568: 
        !          7569: #if 0
        !          7570:   /* This is wrong; only states that explicitly want error tokens
        !          7571:      should shift them.  */
        !          7572:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
        !          7573:   if (yyn) goto yydefault;
        !          7574: #endif
        !          7575: 
        !          7576: yyerrpop:   /* pop the current state because it cannot handle the error token */
        !          7577: 
        !          7578:   if (yyssp == yyss) YYABORT;
        !          7579:   yyvsp--;
        !          7580:   yystate = *--yyssp;
        !          7581: #ifdef YYLSP_NEEDED
        !          7582:   yylsp--;
        !          7583: #endif
        !          7584: 
        !          7585: #if YYDEBUG != 0
        !          7586:   if (yydebug)
        !          7587:     {
        !          7588:       short *ssp1 = yyss - 1;
        !          7589:       fprintf (stderr, "Error: state stack now");
        !          7590:       while (ssp1 != yyssp)
        !          7591:        fprintf (stderr, " %d", *++ssp1);
        !          7592:       fprintf (stderr, "\n");
        !          7593:     }
        !          7594: #endif
        !          7595: 
        !          7596: yyerrhandle:
        !          7597: 
        !          7598:   yyn = yypact[yystate];
        !          7599:   if (yyn == YYFLAG)
        !          7600:     goto yyerrdefault;
        !          7601: 
        !          7602:   yyn += YYTERROR;
        !          7603:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
        !          7604:     goto yyerrdefault;
        !          7605: 
        !          7606:   yyn = yytable[yyn];
        !          7607:   if (yyn < 0)
        !          7608:     {
        !          7609:       if (yyn == YYFLAG)
        !          7610:        goto yyerrpop;
        !          7611:       yyn = -yyn;
        !          7612:       goto yyreduce;
        !          7613:     }
        !          7614:   else if (yyn == 0)
        !          7615:     goto yyerrpop;
        !          7616: 
        !          7617:   if (yyn == YYFINAL)
        !          7618:     YYACCEPT;
        !          7619: 
        !          7620: #if YYDEBUG != 0
        !          7621:   if (yydebug)
        !          7622:     fprintf(stderr, "Shifting error token, ");
        !          7623: #endif
        !          7624: 
        !          7625:   *++yyvsp = yylval;
        !          7626: #ifdef YYLSP_NEEDED
        !          7627:   *++yylsp = yylloc;
        !          7628: #endif
        !          7629: 
        !          7630:   yystate = yyn;
        !          7631:   goto yynewstate;
        !          7632: }
        !          7633: #line 3803 "parse.y"
        !          7634: 
        !          7635: 
        !          7636: #ifdef SPEW_DEBUG
        !          7637: const char *
        !          7638: debug_yytranslate (value)
        !          7639:     int value;
        !          7640: {
        !          7641:   return yytname[YYTRANSLATE (value)];
        !          7642: }
        !          7643: 
        !          7644: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.