This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_EQUAL_SIGN
[perl5.git] / perly.tab
1 /* -*- buffer-read-only: t -*-
2    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3    This file is built by regen_perly.pl from perly.y.
4    Any changes made here will be lost!
5  */
6
7 #define YYFINAL  16
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   3374
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  112
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  97
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  295
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  573
19
20 #define YYUNDEFTOK  2
21 #define YYMAXUTOK   351
22
23
24 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
25    as returned by yylex, with out-of-bounds checking.  */
26 #define YYTRANSLATE(YYX)                                                \
27   (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
28
29 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
30    as returned by yylex.  */
31 static const yytype_int8 yytranslate[] =
32 {
33        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,    96,     2,     2,   109,    13,    14,     2,
37      108,   107,   110,    11,    81,    10,     2,   111,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,    84,     2,
39        2,     2,     2,    83,    12,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,    97,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
56        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
57        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
58        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
59        5,     6,     7,     8,     9,    15,    16,    17,    18,    19,
60       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
61       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
62       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
63       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
64       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
65       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
66       80,    82,    85,    86,    87,    88,    89,    90,    91,    92,
67       93,    94,    95,    98,    99,   100,   101,   102,   103,   104,
68      105,   106
69 };
70
71 #if YYDEBUG
72   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
73 static const yytype_int16 yyrline[] =
74 {
75        0,   129,   129,   128,   140,   139,   150,   149,   163,   162,
76      176,   175,   189,   188,   199,   198,   211,   219,   227,   231,
77      239,   245,   246,   256,   257,   266,   270,   274,   281,   291,
78      293,   306,   303,   327,   322,   343,   351,   350,   359,   365,
79      371,   376,   378,   380,   387,   395,   397,   394,   414,   419,
80      426,   425,   440,   448,   454,   461,   460,   475,   479,   484,
81      492,   510,   511,   515,   519,   521,   523,   525,   527,   529,
82      531,   534,   540,   541,   546,   557,   558,   564,   570,   571,
83      576,   579,   583,   588,   592,   596,   597,   601,   607,   612,
84      617,   618,   623,   624,   629,   630,   632,   637,   639,   651,
85      652,   657,   659,   663,   683,   684,   686,   692,   757,   759,
86      765,   767,   771,   777,   778,   783,   784,   788,   792,   792,
87      860,   861,   866,   877,   878,   881,   892,   894,   896,   898,
88      902,   904,   909,   913,   917,   921,   927,   932,   938,   944,
89      946,   948,   951,   950,   961,   962,   966,   970,   973,   978,
90      983,   986,   990,   994,  1000,  1008,  1015,  1021,  1023,  1025,
91     1030,  1032,  1034,  1039,  1041,  1043,  1045,  1047,  1049,  1051,
92     1053,  1055,  1057,  1059,  1063,  1065,  1067,  1069,  1073,  1075,
93     1079,  1081,  1083,  1085,  1089,  1091,  1096,  1098,  1101,  1103,
94     1105,  1108,  1111,  1122,  1125,  1132,  1134,  1136,  1138,  1140,
95     1143,  1149,  1151,  1155,  1156,  1157,  1158,  1159,  1161,  1163,
96     1165,  1167,  1169,  1171,  1173,  1175,  1177,  1179,  1181,  1183,
97     1185,  1187,  1197,  1207,  1217,  1227,  1229,  1231,  1234,  1239,
98     1243,  1245,  1247,  1249,  1252,  1254,  1257,  1259,  1261,  1263,
99     1265,  1267,  1269,  1271,  1273,  1276,  1278,  1280,  1282,  1284,
100     1286,  1290,  1293,  1292,  1305,  1306,  1307,  1311,  1313,  1315,
101     1320,  1322,  1325,  1327,  1329,  1334,  1336,  1341,  1342,  1347,
102     1348,  1354,  1358,  1359,  1360,  1363,  1364,  1367,  1368,  1371,
103     1375,  1379,  1385,  1391,  1393,  1397,  1401,  1402,  1406,  1407,
104     1411,  1412,  1417,  1419,  1421,  1424
105 };
106 #endif
107
108 #if YYDEBUG || YYERROR_VERBOSE || 0
109 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
110    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
111 static const char *const yytname[] =
112 {
113   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
114   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE", "'-'",
115   "'+'", "'@'", "'%'", "'&'", "PERLY_BRACE_OPEN", "PERLY_BRACE_CLOSE",
116   "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE", "PERLY_DOT",
117   "PERLY_EQUAL_SIGN", "PERLY_SEMICOLON", "BAREWORD", "METHOD", "FUNCMETH",
118   "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP", "FUNC0SUB",
119   "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL", "FORMAT", "SUB",
120   "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE", "WHILE", "UNTIL",
121   "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN",
122   "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC",
123   "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO", "HASHBRACK",
124   "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR", "FORMLBRACK",
125   "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PREC_LOW", "OROP", "DOROP",
126   "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "OROR", "DORDOR",
127   "ANDAND", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP", "CHRELOP",
128   "NCRELOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "UMINUS", "REFGEN",
129   "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN", "ARROW",
130   "')'", "'('", "'$'", "'*'", "'/'", "$accept", "grammar", "@1", "@2",
131   "@3", "@4", "@5", "@6", "@7", "block", "formblock", "remember", "mblock",
132   "mremember", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt",
133   "barestmt", "$@8", "$@9", "$@10", "$@11", "$@12", "@13", "$@14",
134   "formline", "formarg", "condition", "sideff", "else", "cont", "mintro",
135   "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname", "startsub",
136   "startanonsub", "startformsub", "subname", "proto", "subattrlist",
137   "myattrlist", "sigvarname", "sigslurpsigil", "sigslurpelem",
138   "sigdefault", "sigscalarelem", "sigelem", "siglist", "siglistornull",
139   "optsubsignature", "subsignature", "subsigguts", "$@15", "optsubbody",
140   "subbody", "optsigsubbody", "sigsubbody", "expr", "listexpr", "listop",
141   "@16", "method", "subscripted", "termbinop", "termrelop", "relopchain",
142   "termeqop", "eqopchain", "termunop", "anonymous", "termdo", "term",
143   "@17", "myattrterm", "myterm", "optlistexpr", "optexpr", "optrepl",
144   "my_scalar", "my_var", "refgen_topic", "my_refgen", "amper", "scalar",
145   "ary", "hsh", "arylen", "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
146 };
147 #endif
148
149 # ifdef YYPRINT
150 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
151    (internal) symbol number NUM (which must be that of a token).  */
152 static const yytype_int16 yytoknum[] =
153 {
154        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
155       45,    43,    64,    37,    38,   265,   266,   267,   268,   269,
156      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
157      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
158      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
159      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
160      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
161      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
162      330,    44,   331,    63,    58,   332,   333,   334,   335,   336,
163      337,   338,   339,   340,   341,   342,    33,   126,   343,   344,
164      345,   346,   347,   348,   349,   350,   351,    41,    40,    36,
165       42,    47
166 };
167 # endif
168
169 #define YYPACT_NINF (-487)
170
171 #define yypact_value_is_default(Yyn) \
172   ((Yyn) == YYPACT_NINF)
173
174 #define YYTABLE_NINF (-291)
175
176 #define yytable_value_is_error(Yyn) \
177   ((Yyn) == YYTABLE_NINF)
178
179   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
180      STATE-NUM.  */
181 static const yytype_int16 yypact[] =
182 {
183      733,  -487,  -487,  -487,  -487,  -487,  -487,  -487,    33,  -487,
184     3000,    35,  1584,  1482,  -487,  -487,  -487,  -487,  3000,  3000,
185       52,    52,    52,  1990,  -487,    52,    52,  -487,  -487,    66,
186      -96,  -487,  3000,  -487,  -487,  -487,  -487,  3000,   -46,   -19,
187      -33,  2091,  1889,    52,  2091,  2192,    18,  3000,    -2,  3000,
188     3000,  3000,  3000,  3000,  3000,  3000,  2293,    52,    52,   157,
189       30,  -487,    15,  -487,     3,    10,    55,    25,  -487,  -487,
190     -487,  3176,  -487,  -487,     9,    65,   109,   123,  -487,   127,
191      242,   290,   142,  -487,  -487,  -487,  -487,  -487,  -487,    18,
192       18,   145,  -487,    71,    74,    79,    84,   171,    99,   133,
193       35,   240,   220,  -487,   287,   913,  1482,  -487,  -487,  -487,
194      665,  -487,     5,   768,   337,   337,  -487,  -487,  -487,  -487,
195     -487,  -487,  -487,  -487,    81,  3000,   213,   254,  3000,   231,
196      384,    35,   300,   262,  3176,   249,  2394,  3000,  1889,  -487,
197      384,   557,    30,  -487,   477,  3000,  -487,  -487,   384,   330,
198       26,  -487,  -487,  3000,   384,  3101,  2495,   295,  -487,  -487,
199     -487,   384,    30,   337,   337,   337,   226,   226,   341,   264,
200     -487,  -487,  3000,  3000,  3000,  3000,  3000,  3000,  2596,  -487,
201     -487,  3000,  -487,  -487,  3000,  3000,  3000,  3000,  3000,  3000,
202     3000,  3000,  3000,  3000,  3000,  3000,  3000,  3000,  3000,  3000,
203     3000,  3000,  -487,  -487,  -487,   251,  2697,  3000,  3000,  3000,
204     3000,  3000,  3000,  3000,  -487,   345,  -487,  -487,   346,  -487,
205     -487,  -487,  -487,  -487,   271,    22,  -487,  -487,   267,  -487,
206     -487,  -487,  -487,    35,  -487,  -487,  3000,  3000,  3000,  3000,
207     3000,  3000,  -487,  -487,  -487,  -487,  -487,   352,   352,  -487,
208     -487,  -487,   302,  -487,  -487,  -487,  3000,  3000,    94,  -487,
209     -487,  -487,   262,   364,  -487,  -487,  -487,   323,   315,   286,
210     3000,    30,  -487,   387,  -487,  2798,   337,   295,   176,   241,
211      338,  -487,   403,   379,  -487,  3000,   389,   328,   328,  -487,
212     3176,   167,   107,  -487,   469,   384,   413,  3268,   430,   754,
213     3176,  3130,   363,   363,  1669,  1770,   523,   413,   413,   384,
214      384,   651,   337,   337,   298,   304,   305,  3000,  3000,  -487,
215      307,  2899,    24,   308,   316,  -487,  -487,   472,   239,   117,
216      285,   132,   299,   160,   303,   870,  -487,   408,  -487,  -487,
217       45,   401,  3000,  3000,  3000,  3000,  -487,   320,  -487,  -487,
218      326,  -487,  -487,  -487,  -487,  1686,    12,  -487,  3000,  3000,
219     -487,  -487,   157,  -487,   157,  -487,  -487,  -487,  -487,  -487,
220      353,   353,     5,   331,   -50,  -487,  3000,  -487,  -487,   336,
221     -487,  -487,  -487,  -487,   514,  -487,    -1,   517,  -487,  -487,
222     -487,   172,  3000,   432,  -487,  -487,  3000,  -487,  -487,  -487,
223      319,   194,  -487,  -487,   576,  -487,  -487,  3000,  -487,   448,
224     -487,   449,  -487,   457,  -487,   470,  -487,  -487,  -487,   300,
225      262,  -487,  -487,   463,   386,   157,   390,   392,   157,   393,
226      396,  -487,  -487,  -487,  -487,   394,   490,   342,  -487,  3000,
227      405,   407,  3000,  -487,  -487,  -487,  -487,  3000,   440,  -487,
228      509,  -487,  -487,   511,  -487,  -487,    21,  -487,   225,  -487,
229     3222,   512,  -487,  -487,   424,  -487,  -487,  -487,  -487,   520,
230      262,   522,  -487,  3000,  -487,  -487,   530,   530,  3000,  3000,
231      530,  -487,   445,   431,   530,   530,  3176,   157,  -487,  -487,
232      466,  -487,  -487,  -487,  -487,   501,   566,  -487,  -487,  -487,
233     -487,   568,   530,   530,  -487,   115,   115,   483,   491,   220,
234     3000,  3000,   530,  -487,  -487,   972,  -487,  1074,  -487,  -487,
235     -487,  -487,  1176,  -487,   220,   220,  -487,   530,   489,  -487,
236     -487,   530,   530,  -487,   578,   497,   220,  -487,  -487,    32,
237     -487,  -487,  -487,  1278,  -487,  3000,   220,   220,  -487,   530,
238     -487,   586,   534,  -487,  -487,   503,  -487,  -487,  -487,   220,
239     -487,  -487,  -487,   530,  1788,  -487,  1380,   115,   504,  -487,
240     -487,   530,  -487
241 };
242
243   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
244      Performed when YYTABLE does not specify something else to do.  Zero
245      means the default is an error.  */
246 static const yytype_int16 yydefact[] =
247 {
248        0,     2,     4,     6,     8,    10,    12,    14,     0,    18,
249      267,     0,     0,     0,    21,   118,     1,    21,     0,     0,
250        0,     0,     0,     0,   254,     0,     0,   225,   252,   213,
251      247,   249,   243,    88,   256,    88,    88,   235,   245,     0,
252        0,   238,   265,     0,     0,     0,     0,     0,     0,   241,
253        0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
254      129,   255,   220,   203,   165,   174,   166,   180,   204,   205,
255      206,   132,   210,     5,   226,   215,   218,   217,   219,   216,
256        0,     0,     0,    18,     7,    64,    59,    29,    89,     0,
257        0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
258        0,     0,    75,     9,     0,    65,     0,    11,    26,    25,
259        0,    15,   113,     0,   186,   187,   292,   295,   294,   293,
260      281,   282,   279,   196,     0,   265,     0,     0,     0,     0,
261      244,     0,    92,    94,   236,     0,     0,   267,   267,   239,
262      240,   292,   266,   139,   293,     0,   283,   202,   201,     0,
263        0,    90,    91,   265,   211,     0,     0,   258,   262,   264,
264      263,   242,   237,   188,   189,   208,   193,   194,   214,     0,
265      280,   285,     0,     0,     0,   130,     0,     0,     0,   177,
266      176,     0,   183,   182,     0,     0,     0,     0,     0,     0,
267        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
268        0,     0,   190,   191,   192,     0,     0,     0,     0,     0,
269        0,     0,     0,     0,    21,    86,    87,    87,     0,    36,
270       18,    18,    18,    18,    18,     0,    18,    18,     0,    18,
271       18,    42,    58,     0,    54,    57,     0,     0,     0,     0,
272        0,     0,    28,    27,    22,   101,   102,    99,    99,   109,
273      108,   112,   114,   119,   195,   137,   267,     0,     0,   248,
274      142,    93,    94,    96,    18,   246,   250,     0,     0,     0,
275        0,   133,   198,     0,   229,     0,   209,     0,   215,   218,
276      217,   261,     0,    98,   257,     0,   212,   127,   128,   126,
277      131,     0,     0,   156,     0,   179,   185,   169,   162,   163,
278      160,     0,   171,   172,   170,   168,   167,   184,   181,   178,
279      175,   164,   173,   161,   287,   289,     0,     0,     0,   144,
280        0,     0,     0,   291,   136,   145,   227,     0,     0,     0,
281        0,     0,     0,     0,     0,     0,    85,     0,    31,    33,
282        0,     0,    80,     0,     0,     0,   277,     0,   278,   275,
283        0,   276,   272,   273,   274,     0,     0,    18,     0,     0,
284       76,    68,    63,    69,    82,    66,    67,    70,    71,   100,
285      104,   104,   110,     0,   269,   158,   265,    18,    95,   115,
286      200,   251,   141,   140,     0,   197,   214,     0,   259,   260,
287       97,     0,     0,     0,   149,   155,     0,   231,   232,   233,
288        0,     0,   284,   153,     0,   230,   234,   267,   228,     0,
289      147,     0,   221,     0,   222,     0,    16,    18,    30,    92,
290       94,    18,    35,     0,     0,    81,     0,     0,    83,     0,
291        0,   271,    18,    79,    84,     0,     0,    65,    50,     0,
292        0,     0,   105,   107,   103,   111,   138,     0,     0,   143,
293        0,   199,   118,     0,   116,   134,   212,   159,     0,   152,
294      207,     0,   148,   154,     0,   150,   223,   224,   146,     0,
295       94,    18,    55,   265,    77,    77,     0,     0,     0,     0,
296        0,    45,     0,     0,     0,     0,   106,   270,   253,    21,
297        0,    21,   157,   151,   135,     0,    18,   124,    34,   123,
298       21,     0,     0,     0,    20,    72,    72,     0,     0,    75,
299       80,     0,     0,    40,    41,     0,   117,     0,    23,   121,
300       32,   120,     0,    37,    75,    75,    21,     0,     0,    38,
301       39,     0,     0,    53,     0,     0,    75,   122,   125,     0,
302       56,    43,    44,     0,    73,     0,    75,    75,    46,     0,
303       49,     0,    61,    24,    19,     0,    48,    52,    77,    75,
304       17,    21,    60,     0,     0,    51,     0,    72,     0,    62,
305       74,     0,    47
306 };
307
308   /* YYPGOTO[NTERM-NUM].  */
309 static const yytype_int16 yypgoto[] =
310 {
311     -487,  -487,  -487,  -487,  -487,  -487,  -487,  -487,  -487,    43,
312     -487,    -5,  -158,  -487,   -17,  -487,   595,   516,    16,  -487,
313     -487,  -487,  -487,  -487,  -487,  -487,  -487,  -487,   221,  -341,
314     -486,  -114,  -468,  -487,   120,   282,  -303,    67,  -487,    -3,
315      218,  -487,   193,   214,  -243,   360,   410,  -487,  -487,   288,
316     -487,   284,  -487,  -487,  -487,  -487,   215,  -487,  -487,   173,
317     -487,   199,    -8,   -37,  -487,  -487,  -487,  -487,  -487,  -487,
318     -487,  -487,  -487,  -487,  -487,  -487,   100,  -487,  -487,   518,
319     -124,  -129,  -487,  -487,   318,  -487,  -487,   446,     1,   -45,
320      -42,  -487,  -487,  -487,  -487,  -487,    51
321 };
322
323   /* YYDEFGOTO[NTERM-NUM].  */
324 static const yytype_int16 yydefgoto[] =
325 {
326       -1,     8,     9,    10,    11,    12,    13,    14,    15,   102,
327      418,   379,   505,   526,   110,   539,   244,   108,   109,   419,
328      420,   341,   510,   558,   482,   500,   553,   562,   361,   104,
329      529,   234,   502,   434,   424,   363,   427,   436,   337,   219,
330      131,   215,   153,   262,   264,   284,   370,   248,   249,   443,
331      250,   251,   252,   253,   453,   454,   111,   112,   520,   451,
332      498,   380,   105,    60,    61,   376,   324,    62,    63,    64,
333       65,    66,    67,    68,    69,    70,    71,   127,    72,   157,
334      143,    73,   448,   430,   349,   350,   227,    74,    75,    76,
335       77,    78,    79,    80,    81,    82,   170
336 };
337
338   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
339      positive, shift that token.  If negative, reduce the rule whose
340      number is the opposite.  If YYTABLE_NINF, syntax error.  */
341 static const yytype_int16 yytable[] =
342 {
343      113,   255,    59,   159,    17,   142,   160,   503,   268,   269,
344       20,    21,   129,   162,   433,   124,   285,   245,   246,   377,
345      530,   119,   119,   119,    20,    21,   119,   119,   103,   274,
346      176,   175,   177,    16,    20,    21,    22,   150,   392,    83,
347      151,   137,   429,   144,   119,   152,   116,   273,   169,   158,
348       83,   117,   435,   551,    84,   440,   441,   552,   119,   119,
349      421,   447,   135,   118,   118,   118,   422,    83,   118,   118,
350     -261,   120,   121,   122,   116,   138,   125,   126,   214,   117,
351      207,   570,   208,   128,   139,   118,   118,   147,   142,   136,
352      564,   348,  -260,   145,   146,   179,   180,   155,   228,   254,
353      118,   118,   181,   172,   173,   174,   156,    57,   271,   171,
354      279,   175,   375,   280,   247,   184,   142,   206,   114,   115,
355      258,    57,   243,   178,  -286,   394,  -286,   373,   267,    59,
356       59,    57,   130,    57,   405,   410,   483,   134,  -288,   144,
357     -288,   140,  -290,   231,   148,   182,   183,   154,   282,   161,
358      412,   163,   164,   165,   166,   167,   278,   213,   172,   173,
359      174,    57,   527,   528,   287,   288,   289,   218,   291,   292,
360      294,   172,   173,   174,   260,   507,   508,   471,   414,   220,
361      353,   118,   221,   354,   172,   173,   174,   222,   393,   270,
362      457,   207,   223,   208,   172,   173,   174,   335,   327,   328,
363      329,   330,   331,   332,   333,   334,   325,   229,   535,   172,
364      173,   174,   462,   338,   339,   342,   343,   344,   345,   347,
365      374,   355,   356,   433,   358,   359,   352,   496,   362,   364,
366      362,   362,   362,   362,   172,   173,   174,   172,   173,   174,
367      224,   230,   555,   492,   172,   173,   174,  -262,    59,   172,
368      173,   174,   449,   132,   133,   276,  -286,   209,  -286,   210,
369      409,   232,   384,   314,   315,   316,   317,   387,   318,   233,
370      225,   172,   173,   174,   319,   290,   360,   391,   464,   226,
371       57,   295,   216,   217,   296,   297,   298,   299,   300,   301,
372      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
373      312,   313,   172,   173,   174,   211,   411,   212,   235,   400,
374      401,   353,  -264,   404,   354,   320,   172,   173,   174,   506,
375      413,   256,   509,   119,   415,   261,   513,   514,   257,  -291,
376     -291,  -291,   205,   263,   425,   364,   428,   428,   259,   142,
377      461,   172,   173,   174,   524,   525,   272,   437,   431,   501,
378      428,   428,   439,  -288,   536,  -288,   265,   352,   285,   321,
379      322,   323,   172,   173,   174,   118,   283,   336,   340,   544,
380      346,   286,   450,   546,   547,   357,   172,   173,   174,   369,
381      172,   173,   174,   372,   458,   236,   237,   238,   239,   378,
382      382,   559,   240,   383,   241,   533,   172,   173,   174,    59,
383      172,   173,   174,   385,   390,   567,   392,   174,   397,  -263,
384      541,   542,   469,   572,   398,   399,   472,   402,   406,   172,
385      173,   174,   550,   423,   407,   186,   187,   479,   417,    57,
386      381,   428,   556,   557,   432,   442,   142,   201,   446,   487,
387      202,   203,   204,   205,   452,   565,   186,   187,   459,   -83,
388      192,   193,   194,   195,   196,   197,   198,   199,   200,   365,
389      366,   367,   368,   201,   465,   466,   202,   203,   204,   205,
390      428,   428,   515,   467,   517,   186,   187,  -215,   199,   200,
391      172,   173,   174,   522,   201,   473,   468,   202,   203,   204,
392      205,   450,   207,   474,   208,  -215,   460,   475,  -215,   476,
393      477,   480,   425,   428,   478,   197,   198,   199,   200,   543,
394      389,   481,   484,   201,   485,   488,   202,   203,   204,   205,
395     -215,  -215,  -215,  -215,   489,   200,   491,  -215,   493,  -215,
396      201,   494,  -215,   202,   203,   204,   205,   428,   512,  -215,
397     -215,   495,   486,   497,   566,   504,   172,   173,   174,   172,
398      173,   174,  -215,   511,  -215,  -215,  -215,  -254,  -215,  -215,
399     -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
400     -215,  -215,  -215,   516,   518,  -254,   395,  -215,  -254,   408,
401     -215,  -215,  -215,  -215,  -215,   186,   187,   519,  -215,   523,
402      531,   172,   173,   174,   172,   173,   174,   545,   532,   548,
403     -254,  -254,  -254,  -254,   549,   560,   561,  -254,   107,  -254,
404      563,   571,  -254,   195,   196,   197,   198,   199,   200,  -254,
405     -254,   455,   242,   201,   456,   426,   202,   203,   204,   205,
406      534,   568,  -254,   470,  -254,  -254,  -254,   388,  -254,  -254,
407     -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,
408     -254,  -254,  -254,   172,   173,   174,   445,  -254,   371,   444,
409     -254,  -254,  -254,  -254,  -254,   -13,    85,   490,  -254,   521,
410      499,   351,     0,   277,   438,    18,    19,    20,    21,    22,
411       83,     0,    23,   463,     0,     0,    86,    24,    25,    26,
412       27,    28,     0,    29,    30,    31,    32,    33,    34,    87,
413      106,    88,    89,    90,    35,    36,    91,    92,    93,    94,
414       95,    96,     0,   186,   187,    97,    98,    99,   100,    37,
415        0,   101,    38,    39,    40,    41,    42,     0,     0,    43,
416       44,    45,    46,    47,    48,    49,     1,     2,     3,     4,
417        5,     6,     7,     0,     0,    50,   200,     0,     0,     0,
418        0,   201,     0,     0,   202,   203,   204,   205,     0,     0,
419        0,    51,    52,     0,    53,     0,    54,    55,    -3,    85,
420        0,     0,     0,    56,    57,    58,     0,     0,    18,    19,
421       20,    21,    22,    83,     0,    23,     0,     0,     0,    86,
422       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
423       33,    34,    87,   106,    88,    89,    90,    35,    36,    91,
424       92,    93,    94,    95,    96,     0,   186,     0,    97,    98,
425       99,   100,    37,     0,   101,    38,    39,    40,    41,    42,
426        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
427        0,     0,     0,     0,     0,     0,     0,     0,    50,   200,
428        0,     0,     0,     0,   201,     0,     0,   202,   203,   204,
429      205,     0,     0,     0,    51,    52,     0,    53,     0,    54,
430       55,    85,     0,     0,     0,     0,    56,    57,    58,     0,
431       18,    19,    20,    21,    22,    83,   416,    23,     0,     0,
432        0,    86,    24,    25,    26,    27,    28,     0,    29,    30,
433       31,    32,    33,    34,    87,   106,    88,    89,    90,    35,
434       36,    91,    92,    93,    94,    95,    96,     0,     0,     0,
435       97,    98,    99,   100,    37,     0,   101,    38,    39,    40,
436       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
437       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
438       50,     0,     0,     0,     0,     0,   236,   237,   238,   239,
439        0,     0,     0,   240,     0,   241,    51,    52,     0,    53,
440        0,    54,    55,    85,     0,     0,     0,     0,    56,    57,
441       58,     0,    18,    19,    20,    21,    22,    83,   537,    23,
442      172,   173,   174,    86,    24,    25,    26,    27,    28,     0,
443       29,    30,    31,    32,    33,    34,    87,   106,    88,    89,
444       90,    35,    36,    91,    92,    93,    94,    95,    96,     0,
445        0,     0,    97,    98,    99,   100,    37,     0,   101,    38,
446       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
447       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
448        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
449        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
450        0,    53,     0,    54,    55,    85,     0,     0,     0,     0,
451       56,    57,    58,     0,    18,    19,    20,    21,    22,    83,
452      538,    23,     0,     0,     0,    86,    24,    25,    26,    27,
453       28,     0,    29,    30,    31,    32,    33,    34,    87,   106,
454       88,    89,    90,    35,    36,    91,    92,    93,    94,    95,
455       96,     0,     0,     0,    97,    98,    99,   100,    37,     0,
456      101,    38,    39,    40,    41,    42,     0,     0,    43,    44,
457       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
458        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
459        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
460       51,    52,     0,    53,     0,    54,    55,    85,     0,     0,
461        0,     0,    56,    57,    58,     0,    18,    19,    20,    21,
462       22,    83,   540,    23,     0,     0,     0,    86,    24,    25,
463       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
464       87,   106,    88,    89,    90,    35,    36,    91,    92,    93,
465       94,    95,    96,     0,     0,     0,    97,    98,    99,   100,
466       37,     0,   101,    38,    39,    40,    41,    42,     0,     0,
467       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
468        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
470        0,     0,    51,    52,     0,    53,     0,    54,    55,    85,
471        0,     0,     0,     0,    56,    57,    58,     0,    18,    19,
472       20,    21,    22,    83,   554,    23,     0,     0,     0,    86,
473       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
474       33,    34,    87,   106,    88,    89,    90,    35,    36,    91,
475       92,    93,    94,    95,    96,     0,     0,     0,    97,    98,
476       99,   100,    37,     0,   101,    38,    39,    40,    41,    42,
477        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
478        0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
479        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
480        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
481       55,    85,     0,     0,     0,     0,    56,    57,    58,     0,
482       18,    19,    20,    21,    22,    83,     0,    23,     0,     0,
483        0,    86,    24,    25,    26,    27,    28,     0,    29,    30,
484       31,    32,    33,    34,    87,   106,    88,    89,    90,    35,
485       36,    91,    92,    93,    94,    95,    96,     0,     0,     0,
486       97,    98,    99,   100,    37,     0,   101,    38,    39,    40,
487       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
488       49,     0,     0,   569,     0,     0,     0,     0,     0,     0,
489       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
490        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
491        0,    54,    55,    85,     0,     0,     0,     0,    56,    57,
492       58,     0,    18,    19,    20,    21,    22,    83,     0,    23,
493        0,     0,     0,    86,    24,    25,    26,    27,    28,     0,
494       29,    30,    31,    32,    33,    34,    87,   106,    88,    89,
495       90,    35,    36,    91,    92,    93,    94,    95,    96,     0,
496        0,     0,    97,    98,    99,   100,    37,     0,   101,    38,
497       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
498       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
499        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
500        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
501        0,    53,     0,    54,    55,    85,     0,     0,     0,     0,
502       56,    57,    58,     0,    18,    19,    20,    21,    22,    83,
503        0,    23,     0,     0,     0,    86,    24,    25,    26,    27,
504       28,     0,    29,    30,    31,    32,    33,    34,    87,     0,
505       88,    89,    90,    35,    36,    91,    92,    93,    94,    95,
506       96,     0,     0,     0,    97,    98,    99,   100,    37,     0,
507      101,    38,    39,    40,    41,    42,     0,     0,    43,    44,
508       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
509        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
511       51,    52,     0,    53,     0,    54,    55,    85,     0,     0,
512        0,     0,    56,    57,    58,     0,    18,    19,    20,    21,
513       22,     0,     0,    23,     0,     0,     0,   -78,    24,    25,
514       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
515        0,     0,     0,     0,     0,    35,    36,     0,     0,     0,
516        0,   186,   187,     0,     0,     0,     0,     0,     0,     0,
517       37,     0,     0,    38,    39,    40,    41,    42,     0,     0,
518       43,    44,    45,    46,    47,    48,    49,   193,   194,   195,
519      196,   197,   198,   199,   200,     0,    50,     0,     0,   201,
520        0,     0,   202,   203,   204,   205,     0,     0,     0,     0,
521        0,     0,    51,    52,     0,    53,     0,    54,    55,    85,
522        0,     0,     0,     0,    56,    57,    58,     0,    18,    19,
523       20,    21,    22,     0,     0,    23,     0,     0,     0,     0,
524       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
525       33,    34,     0,     0,     0,     0,     0,    35,    36,     0,
526        0,     0,   186,   187,     0,     0,     0,     0,     0,     0,
527        0,     0,    37,     0,     0,    38,    39,    40,    41,    42,
528        0,     0,    43,    44,    45,    46,    47,    48,    49,   194,
529      195,   196,   197,   198,   199,   200,     0,     0,    50,     0,
530      201,     0,     0,   202,   203,   204,   205,     0,     0,     0,
531        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
532       55,     0,     0,     0,     0,   -78,    56,    57,    58,    18,
533       19,    20,    21,    22,    83,     0,    23,     0,     0,     0,
534        0,   141,    25,    26,    27,    28,   117,    29,    30,    31,
535       32,    33,    34,     0,     0,     0,     0,     0,    35,    36,
536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
537        0,     0,     0,    37,     0,     0,    38,    39,    40,    41,
538       42,     0,     0,    43,    44,    45,    46,    47,    48,    49,
539        0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
541        0,     0,     0,     0,     0,    51,    52,     0,    53,     0,
542       54,    55,     0,     0,     0,     0,     0,    56,    57,    58,
543       18,    19,    20,    21,    22,     0,     0,    23,   123,     0,
544        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
545       31,    32,    33,    34,     0,     0,     0,     0,     0,    35,
546       36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
547        0,     0,     0,     0,    37,     0,     0,    38,    39,    40,
548       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
549       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
550       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
551        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
552        0,    54,    55,     0,     0,     0,     0,     0,    56,    57,
553       58,    18,    19,    20,    21,    22,    83,     0,    23,     0,
554        0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
555       30,    31,    32,    33,    34,     0,     0,     0,     0,     0,
556       35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
557        0,     0,     0,     0,     0,    37,     0,     0,    38,    39,
558       40,    41,    42,     0,     0,    43,    44,    45,    46,    47,
559       48,    49,     0,     0,     0,     0,     0,     0,     0,     0,
560        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
561        0,     0,     0,     0,     0,     0,     0,    51,    52,     0,
562       53,     0,    54,    55,     0,     0,     0,     0,     0,    56,
563       57,    58,    18,    19,    20,    21,    22,     0,     0,    23,
564        0,     0,     0,   149,    24,    25,    26,    27,    28,     0,
565       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
566        0,    35,    36,     0,     0,     0,     0,     0,     0,     0,
567        0,     0,     0,     0,     0,     0,    37,     0,     0,    38,
568       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
569       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
570        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
571        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
572        0,    53,     0,    54,    55,     0,     0,     0,     0,     0,
573       56,    57,    58,    18,    19,    20,    21,    22,     0,     0,
574       23,     0,     0,     0,     0,    24,    25,    26,    27,    28,
575        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
576        0,     0,    35,    36,     0,     0,     0,     0,     0,     0,
577        0,     0,     0,     0,     0,     0,     0,    37,     0,     0,
578       38,    39,    40,    41,    42,     0,     0,    43,    44,    45,
579       46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
580        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
581        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
582       52,     0,    53,     0,    54,    55,     0,     0,     0,     0,
583      168,    56,    57,    58,    18,    19,    20,    21,    22,     0,
584        0,    23,     0,     0,     0,     0,    24,    25,    26,    27,
585       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
586        0,     0,     0,    35,    36,     0,     0,     0,     0,     0,
587        0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
588        0,    38,    39,    40,    41,    42,     0,     0,    43,    44,
589       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
590        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
591        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
592       51,    52,     0,    53,     0,    54,    55,     0,     0,     0,
593        0,   266,    56,    57,    58,    18,    19,    20,    21,    22,
594        0,     0,    23,     0,     0,     0,     0,    24,    25,    26,
595       27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
596        0,     0,     0,     0,    35,    36,     0,     0,     0,     0,
597        0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
598        0,     0,    38,    39,    40,    41,    42,     0,     0,    43,
599       44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
600        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
601        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
602        0,    51,    52,     0,    53,     0,    54,    55,     0,     0,
603        0,     0,   281,    56,    57,    58,    18,    19,    20,    21,
604       22,     0,     0,    23,     0,     0,     0,     0,    24,    25,
605       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
606        0,     0,     0,     0,     0,    35,    36,     0,     0,     0,
607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
608       37,     0,     0,    38,    39,    40,    41,    42,     0,     0,
609       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
610        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
611        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
612        0,     0,    51,    52,     0,    53,     0,    54,    55,     0,
613        0,     0,     0,   293,    56,    57,    58,    18,    19,    20,
614       21,    22,     0,     0,    23,     0,     0,     0,     0,    24,
615       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
616       34,     0,     0,     0,     0,     0,    35,    36,     0,     0,
617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
618        0,    37,     0,     0,    38,    39,    40,    41,    42,     0,
619        0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
620        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
621        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
622        0,     0,     0,    51,    52,     0,    53,     0,    54,    55,
623        0,     0,     0,     0,   326,    56,    57,    58,    18,    19,
624       20,    21,    22,     0,     0,    23,     0,     0,     0,     0,
625       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
626       33,    34,     0,     0,     0,     0,     0,    35,    36,     0,
627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
628        0,     0,    37,     0,     0,    38,    39,    40,    41,    42,
629        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
630        0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
631        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
632        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
633       55,     0,     0,     0,     0,   386,    56,    57,    58,    18,
634       19,    20,    21,    22,     0,     0,    23,     0,     0,     0,
635        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
636       32,    33,    34,     0,     0,     0,     0,     0,    35,    36,
637        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
638        0,     0,     0,    37,     0,     0,    38,    39,    40,    41,
639       42,     0,     0,    43,    44,    45,    46,    47,    48,    49,
640        0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
641        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
642        0,     0,     0,     0,     0,    51,    52,     0,    53,     0,
643       54,    55,     0,     0,     0,     0,   403,    56,    57,    58,
644       18,    19,    20,    21,    22,     0,     0,    23,     0,     0,
645        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
646       31,    32,    33,    34,     0,     0,     0,     0,     0,    35,
647       36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
648        0,     0,     0,     0,    37,     0,     0,    38,    39,    40,
649       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
650       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
651       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
652        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
653        0,    54,    55,     0,     0,     0,     0,     0,    56,    57,
654       58,    18,    19,    20,    21,    22,     0,     0,    23,     0,
655        0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
656       30,    31,    32,    33,    34,     0,     0,     0,     0,     0,
657       35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
658        0,     0,     0,     0,     0,    37,     0,     0,    38,    39,
659       40,    41,    42,     0,     0,    43,    44,    45,    46,    47,
660       48,    49,     0,     0,     0,     0,     0,     0,     0,     0,
661        0,    50,     0,     0,     0,   185,     0,     0,     0,     0,
662        0,     0,   186,   187,     0,     0,     0,    51,    52,     0,
663       53,     0,    54,    55,     0,     0,     0,     0,     0,   275,
664       57,    58,   188,   189,   396,   190,   191,   192,   193,   194,
665      195,   196,   197,   198,   199,   200,     0,     0,     0,     0,
666      201,   185,     0,   202,   203,   204,   205,     0,   186,   187,
667        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
668        0,     0,     0,     0,     0,     0,     0,     0,   188,   189,
669        0,   190,   191,   192,   193,   194,   195,   196,   197,   198,
670      199,   200,     0,     0,     0,     0,   201,   185,     0,   202,
671      203,   204,   205,     0,   186,   187,     0,     0,     0,     0,
672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
673        0,     0,     0,     0,     0,   189,     0,   190,   191,   192,
674      193,   194,   195,   196,   197,   198,   199,   200,     0,     0,
675        0,     0,   201,  -291,     0,   202,   203,   204,   205,     0,
676      186,   187,     0,     0,     0,     0,     0,     0,     0,     0,
677        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
678        0,     0,     0,   190,   191,   192,   193,   194,   195,   196,
679      197,   198,   199,   200,     0,     0,     0,     0,   201,     0,
680        0,   202,   203,   204,   205
681 };
682
683 static const yytype_int16 yycheck[] =
684 {
685       17,   125,    10,    48,     9,    42,    48,   475,   137,   138,
686       12,    13,   108,    50,   355,    23,    17,    12,    13,   262,
687      506,    20,    21,    22,    12,    13,    25,    26,    12,   153,
688       15,    81,    17,     0,    12,    13,    14,    45,    17,    15,
689       22,    74,   345,    42,    43,    27,    22,    21,    56,    48,
690       15,    27,   355,    21,    11,   358,   359,    25,    57,    58,
691       15,   111,   108,    20,    21,    22,    21,    15,    25,    26,
692       71,    20,    21,    22,    22,   108,    25,    26,    83,    27,
693       15,   567,    17,    17,    41,    42,    43,    44,   125,   108,
694      558,    69,    71,    42,    43,    92,    93,    99,    97,    18,
695       57,    58,    92,    77,    78,    79,   108,   109,   145,    58,
696      155,    81,    18,   155,   109,    90,   153,   108,    18,    19,
697      128,   109,   106,   108,    15,    18,    17,   256,   136,   137,
698      138,   109,    32,   109,   110,    18,   439,    37,    15,   138,
699       17,    41,    15,   100,    44,    90,    91,    47,   156,    49,
700       18,    51,    52,    53,    54,    55,   155,    15,    77,    78,
701       79,   109,    47,    48,   172,   173,   174,    22,   176,   177,
702      178,    77,    78,    79,   131,   478,   479,   420,    18,   108,
703      225,   138,   108,   225,    77,    78,    79,   108,    21,   138,
704       18,    15,   108,    17,    77,    78,    79,   214,   206,   207,
705      208,   209,   210,   211,   212,   213,   205,   108,   511,    77,
706       78,    79,    18,   216,   217,   220,   221,   222,   223,   224,
707      257,   226,   227,   564,   229,   230,   225,   470,   236,   237,
708      238,   239,   240,   241,    77,    78,    79,    77,    78,    79,
709       69,   108,   545,    18,    77,    78,    79,    71,   256,    77,
710       78,    79,   376,    35,    36,   155,    15,    15,    17,    17,
711       21,    21,   270,    12,    13,    14,    15,   275,    17,    49,
712       99,    77,    78,    79,    23,   175,   233,   285,   407,   108,
713      109,   181,    89,    90,   184,   185,   186,   187,   188,   189,
714      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
715      200,   201,    77,    78,    79,    15,    21,    17,    21,   317,
716      318,   356,    71,   321,   356,    64,    77,    78,    79,   477,
717       21,   108,   480,   322,    21,    25,   484,   485,    74,   103,
718      104,   105,   106,    71,   342,   343,   344,   345,   107,   376,
719       21,    77,    78,    79,   502,   503,    16,   355,   347,   473,
720      358,   359,   357,    15,   512,    17,   107,   356,    17,   108,
721      109,   110,    77,    78,    79,   322,    71,    22,    22,   527,
722       99,   107,   377,   531,   532,   108,    77,    78,    79,    27,
723       77,    78,    79,    81,   392,    43,    44,    45,    46,    25,
724       75,   549,    50,   107,    52,   509,    77,    78,    79,   407,
725       77,    78,    79,    16,    25,   563,    17,    79,   110,    71,
726      524,   525,   417,   571,   110,   110,   421,   110,   110,    77,
727       78,    79,   536,    22,   108,    62,    63,   432,    20,   109,
728      107,   439,   546,   547,   108,    82,   473,   100,   107,   447,
729      103,   104,   105,   106,   108,   559,    62,    63,    16,   107,
730       87,    88,    89,    90,    91,    92,    93,    94,    95,   238,
731      239,   240,   241,   100,    16,    16,   103,   104,   105,   106,
732      478,   479,   489,    16,   491,    62,    63,     0,    94,    95,
733       77,    78,    79,   500,   100,    22,    16,   103,   104,   105,
734      106,   496,    15,   107,    17,    18,   396,   107,    21,   107,
735      107,   107,   510,   511,   108,    92,    93,    94,    95,   526,
736      107,    21,   107,   100,   107,    75,   103,   104,   105,   106,
737       43,    44,    45,    46,    15,    95,    15,    50,    16,    52,
738      100,   107,    55,   103,   104,   105,   106,   545,   107,    62,
739       63,    21,   442,    21,   561,    15,    77,    78,    79,    77,
740       78,    79,    75,   108,    77,    78,    79,     0,    81,    82,
741       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
742       93,    94,    95,   107,    73,    18,   107,   100,    21,   107,
743      103,   104,   105,   106,   107,    62,    63,    21,   111,    21,
744      107,    77,    78,    79,    77,    78,    79,   108,   107,    21,
745       43,    44,    45,    46,   107,    19,    72,    50,    13,    52,
746      107,   107,    55,    90,    91,    92,    93,    94,    95,    62,
747       63,   107,   106,   100,   107,   343,   103,   104,   105,   106,
748      510,   564,    75,   419,    77,    78,    79,   277,    81,    82,
749       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
750       93,    94,    95,    77,    78,    79,   372,   100,   248,   371,
751      103,   104,   105,   106,   107,     0,     1,   452,   111,   496,
752      471,   225,    -1,   155,   356,    10,    11,    12,    13,    14,
753       15,    -1,    17,   107,    -1,    -1,    21,    22,    23,    24,
754       25,    26,    -1,    28,    29,    30,    31,    32,    33,    34,
755       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
756       45,    46,    -1,    62,    63,    50,    51,    52,    53,    54,
757       -1,    56,    57,    58,    59,    60,    61,    -1,    -1,    64,
758       65,    66,    67,    68,    69,    70,     3,     4,     5,     6,
759        7,     8,     9,    -1,    -1,    80,    95,    -1,    -1,    -1,
760       -1,   100,    -1,    -1,   103,   104,   105,   106,    -1,    -1,
761       -1,    96,    97,    -1,    99,    -1,   101,   102,     0,     1,
762       -1,    -1,    -1,   108,   109,   110,    -1,    -1,    10,    11,
763       12,    13,    14,    15,    -1,    17,    -1,    -1,    -1,    21,
764       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
765       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
766       42,    43,    44,    45,    46,    -1,    62,    -1,    50,    51,
767       52,    53,    54,    -1,    56,    57,    58,    59,    60,    61,
768       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    95,
770       -1,    -1,    -1,    -1,   100,    -1,    -1,   103,   104,   105,
771      106,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
772      102,     1,    -1,    -1,    -1,    -1,   108,   109,   110,    -1,
773       10,    11,    12,    13,    14,    15,    16,    17,    -1,    -1,
774       -1,    21,    22,    23,    24,    25,    26,    -1,    28,    29,
775       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
776       40,    41,    42,    43,    44,    45,    46,    -1,    -1,    -1,
777       50,    51,    52,    53,    54,    -1,    56,    57,    58,    59,
778       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
779       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
780       80,    -1,    -1,    -1,    -1,    -1,    43,    44,    45,    46,
781       -1,    -1,    -1,    50,    -1,    52,    96,    97,    -1,    99,
782       -1,   101,   102,     1,    -1,    -1,    -1,    -1,   108,   109,
783      110,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
784       77,    78,    79,    21,    22,    23,    24,    25,    26,    -1,
785       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
786       38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
787       -1,    -1,    50,    51,    52,    53,    54,    -1,    56,    57,
788       58,    59,    60,    61,    -1,    -1,    64,    65,    66,    67,
789       68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
790       -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
791       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
792       -1,    99,    -1,   101,   102,     1,    -1,    -1,    -1,    -1,
793      108,   109,   110,    -1,    10,    11,    12,    13,    14,    15,
794       16,    17,    -1,    -1,    -1,    21,    22,    23,    24,    25,
795       26,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
796       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
797       46,    -1,    -1,    -1,    50,    51,    52,    53,    54,    -1,
798       56,    57,    58,    59,    60,    61,    -1,    -1,    64,    65,
799       66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
800       -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
802       96,    97,    -1,    99,    -1,   101,   102,     1,    -1,    -1,
803       -1,    -1,   108,   109,   110,    -1,    10,    11,    12,    13,
804       14,    15,    16,    17,    -1,    -1,    -1,    21,    22,    23,
805       24,    25,    26,    -1,    28,    29,    30,    31,    32,    33,
806       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
807       44,    45,    46,    -1,    -1,    -1,    50,    51,    52,    53,
808       54,    -1,    56,    57,    58,    59,    60,    61,    -1,    -1,
809       64,    65,    66,    67,    68,    69,    70,    -1,    -1,    -1,
810       -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,
811       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
812       -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,     1,
813       -1,    -1,    -1,    -1,   108,   109,   110,    -1,    10,    11,
814       12,    13,    14,    15,    16,    17,    -1,    -1,    -1,    21,
815       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
816       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
817       42,    43,    44,    45,    46,    -1,    -1,    -1,    50,    51,
818       52,    53,    54,    -1,    56,    57,    58,    59,    60,    61,
819       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,
821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
822       -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
823      102,     1,    -1,    -1,    -1,    -1,   108,   109,   110,    -1,
824       10,    11,    12,    13,    14,    15,    -1,    17,    -1,    -1,
825       -1,    21,    22,    23,    24,    25,    26,    -1,    28,    29,
826       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
827       40,    41,    42,    43,    44,    45,    46,    -1,    -1,    -1,
828       50,    51,    52,    53,    54,    -1,    56,    57,    58,    59,
829       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
830       70,    -1,    -1,    73,    -1,    -1,    -1,    -1,    -1,    -1,
831       80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
832       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,
833       -1,   101,   102,     1,    -1,    -1,    -1,    -1,   108,   109,
834      110,    -1,    10,    11,    12,    13,    14,    15,    -1,    17,
835       -1,    -1,    -1,    21,    22,    23,    24,    25,    26,    -1,
836       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
837       38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
838       -1,    -1,    50,    51,    52,    53,    54,    -1,    56,    57,
839       58,    59,    60,    61,    -1,    -1,    64,    65,    66,    67,
840       68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
841       -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
843       -1,    99,    -1,   101,   102,     1,    -1,    -1,    -1,    -1,
844      108,   109,   110,    -1,    10,    11,    12,    13,    14,    15,
845       -1,    17,    -1,    -1,    -1,    21,    22,    23,    24,    25,
846       26,    -1,    28,    29,    30,    31,    32,    33,    34,    -1,
847       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
848       46,    -1,    -1,    -1,    50,    51,    52,    53,    54,    -1,
849       56,    57,    58,    59,    60,    61,    -1,    -1,    64,    65,
850       66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
851       -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
853       96,    97,    -1,    99,    -1,   101,   102,     1,    -1,    -1,
854       -1,    -1,   108,   109,   110,    -1,    10,    11,    12,    13,
855       14,    -1,    -1,    17,    -1,    -1,    -1,    21,    22,    23,
856       24,    25,    26,    -1,    28,    29,    30,    31,    32,    33,
857       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
858       -1,    62,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
859       54,    -1,    -1,    57,    58,    59,    60,    61,    -1,    -1,
860       64,    65,    66,    67,    68,    69,    70,    88,    89,    90,
861       91,    92,    93,    94,    95,    -1,    80,    -1,    -1,   100,
862       -1,    -1,   103,   104,   105,   106,    -1,    -1,    -1,    -1,
863       -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,     1,
864       -1,    -1,    -1,    -1,   108,   109,   110,    -1,    10,    11,
865       12,    13,    14,    -1,    -1,    17,    -1,    -1,    -1,    -1,
866       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
867       32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
868       -1,    -1,    62,    63,    -1,    -1,    -1,    -1,    -1,    -1,
869       -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,    61,
870       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    89,
871       90,    91,    92,    93,    94,    95,    -1,    -1,    80,    -1,
872      100,    -1,    -1,   103,   104,   105,   106,    -1,    -1,    -1,
873       -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
874      102,    -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,
875       11,    12,    13,    14,    15,    -1,    17,    -1,    -1,    -1,
876       -1,    22,    23,    24,    25,    26,    27,    28,    29,    30,
877       31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,
878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
879       -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,
880       61,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,
882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
883       -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,
884      101,   102,    -1,    -1,    -1,    -1,    -1,   108,   109,   110,
885       10,    11,    12,    13,    14,    -1,    -1,    17,    18,    -1,
886       -1,    -1,    22,    23,    24,    25,    26,    -1,    28,    29,
887       30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,
888       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
889       -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,
890       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
891       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
892       80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
893       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,
894       -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,   109,
895      110,    10,    11,    12,    13,    14,    15,    -1,    17,    -1,
896       -1,    -1,    -1,    22,    23,    24,    25,    26,    -1,    28,
897       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,
898       39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
899       -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,
900       59,    60,    61,    -1,    -1,    64,    65,    66,    67,    68,
901       69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
902       -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,
904       99,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,
905      109,   110,    10,    11,    12,    13,    14,    -1,    -1,    17,
906       -1,    -1,    -1,    21,    22,    23,    24,    25,    26,    -1,
907       28,    29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,
908       -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
909       -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,
910       58,    59,    60,    61,    -1,    -1,    64,    65,    66,    67,
911       68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
912       -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
914       -1,    99,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,
915      108,   109,   110,    10,    11,    12,    13,    14,    -1,    -1,
916       17,    -1,    -1,    -1,    -1,    22,    23,    24,    25,    26,
917       -1,    28,    29,    30,    31,    32,    33,    -1,    -1,    -1,
918       -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,
919       -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,
920       57,    58,    59,    60,    61,    -1,    -1,    64,    65,    66,
921       67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,
922       -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,
923       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
924       97,    -1,    99,    -1,   101,   102,    -1,    -1,    -1,    -1,
925      107,   108,   109,   110,    10,    11,    12,    13,    14,    -1,
926       -1,    17,    -1,    -1,    -1,    -1,    22,    23,    24,    25,
927       26,    -1,    28,    29,    30,    31,    32,    33,    -1,    -1,
928       -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,
929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,
930       -1,    57,    58,    59,    60,    61,    -1,    -1,    64,    65,
931       66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
932       -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
933       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
934       96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,    -1,
935       -1,   107,   108,   109,   110,    10,    11,    12,    13,    14,
936       -1,    -1,    17,    -1,    -1,    -1,    -1,    22,    23,    24,
937       25,    26,    -1,    28,    29,    30,    31,    32,    33,    -1,
938       -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,
939       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,
940       -1,    -1,    57,    58,    59,    60,    61,    -1,    -1,    64,
941       65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
942       -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,
943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
944       -1,    96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,
945       -1,    -1,   107,   108,   109,   110,    10,    11,    12,    13,
946       14,    -1,    -1,    17,    -1,    -1,    -1,    -1,    22,    23,
947       24,    25,    26,    -1,    28,    29,    30,    31,    32,    33,
948       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
950       54,    -1,    -1,    57,    58,    59,    60,    61,    -1,    -1,
951       64,    65,    66,    67,    68,    69,    70,    -1,    -1,    -1,
952       -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,
953       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
954       -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,    -1,
955       -1,    -1,    -1,   107,   108,   109,   110,    10,    11,    12,
956       13,    14,    -1,    -1,    17,    -1,    -1,    -1,    -1,    22,
957       23,    24,    25,    26,    -1,    28,    29,    30,    31,    32,
958       33,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,
959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
960       -1,    54,    -1,    -1,    57,    58,    59,    60,    61,    -1,
961       -1,    64,    65,    66,    67,    68,    69,    70,    -1,    -1,
962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,
963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
964       -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,
965       -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,    11,
966       12,    13,    14,    -1,    -1,    17,    -1,    -1,    -1,    -1,
967       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
968       32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
969       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
970       -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,    61,
971       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,
973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
974       -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
975      102,    -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,
976       11,    12,    13,    14,    -1,    -1,    17,    -1,    -1,    -1,
977       -1,    22,    23,    24,    25,    26,    -1,    28,    29,    30,
978       31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,
979       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
980       -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,
981       61,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,
983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
984       -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,
985      101,   102,    -1,    -1,    -1,    -1,   107,   108,   109,   110,
986       10,    11,    12,    13,    14,    -1,    -1,    17,    -1,    -1,
987       -1,    -1,    22,    23,    24,    25,    26,    -1,    28,    29,
988       30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,
989       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
990       -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,
991       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
992       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
993       80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
994       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,
995       -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,   109,
996      110,    10,    11,    12,    13,    14,    -1,    -1,    17,    -1,
997       -1,    -1,    -1,    22,    23,    24,    25,    26,    -1,    28,
998       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,
999       39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1000       -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,
1001       59,    60,    61,    -1,    -1,    64,    65,    66,    67,    68,
1002       69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1003       -1,    80,    -1,    -1,    -1,    55,    -1,    -1,    -1,    -1,
1004       -1,    -1,    62,    63,    -1,    -1,    -1,    96,    97,    -1,
1005       99,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,
1006      109,   110,    82,    83,    84,    85,    86,    87,    88,    89,
1007       90,    91,    92,    93,    94,    95,    -1,    -1,    -1,    -1,
1008      100,    55,    -1,   103,   104,   105,   106,    -1,    62,    63,
1009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,
1011       -1,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1012       94,    95,    -1,    -1,    -1,    -1,   100,    55,    -1,   103,
1013      104,   105,   106,    -1,    62,    63,    -1,    -1,    -1,    -1,
1014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1015       -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    86,    87,
1016       88,    89,    90,    91,    92,    93,    94,    95,    -1,    -1,
1017       -1,    -1,   100,    55,    -1,   103,   104,   105,   106,    -1,
1018       62,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1020       -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
1021       92,    93,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,
1022       -1,   103,   104,   105,   106
1023 };
1024
1025   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1026      symbol of state STATE-NUM.  */
1027 static const yytype_uint8 yystos[] =
1028 {
1029        0,     3,     4,     5,     6,     7,     8,     9,   113,   114,
1030      115,   116,   117,   118,   119,   120,     0,   123,    10,    11,
1031       12,    13,    14,    17,    22,    23,    24,    25,    26,    28,
1032       29,    30,    31,    32,    33,    39,    40,    54,    57,    58,
1033       59,    60,    61,    64,    65,    66,    67,    68,    69,    70,
1034       80,    96,    97,    99,   101,   102,   108,   109,   110,   174,
1035      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
1036      187,   188,   190,   193,   199,   200,   201,   202,   203,   204,
1037      205,   206,   207,    15,   121,     1,    21,    34,    36,    37,
1038       38,    41,    42,    43,    44,    45,    46,    50,    51,    52,
1039       53,    56,   121,   130,   141,   174,    35,   128,   129,   130,
1040      126,   168,   169,   126,   188,   188,    22,    27,   121,   200,
1041      208,   208,   208,    18,   174,   208,   208,   189,    17,   108,
1042      188,   152,   152,   152,   188,   108,   108,    74,   108,   121,
1043      188,    22,   175,   192,   200,   208,   208,   121,   188,    21,
1044      174,    22,    27,   154,   188,    99,   108,   191,   200,   201,
1045      202,   188,   175,   188,   188,   188,   188,   188,   107,   174,
1046      208,   208,    77,    78,    79,    81,    15,    17,   108,    92,
1047       93,    92,    90,    91,    90,    55,    62,    63,    82,    83,
1048       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1049       95,   100,   103,   104,   105,   106,   108,    15,    17,    15,
1050       17,    15,    17,    15,   123,   153,   154,   154,    22,   151,
1051      108,   108,   108,   108,    69,    99,   108,   198,   200,   108,
1052      108,   121,    21,    49,   143,    21,    43,    44,    45,    46,
1053       50,    52,   129,   130,   128,    12,    13,   109,   159,   160,
1054      162,   163,   164,   165,    18,   192,   108,    74,   174,   107,
1055      121,    25,   155,    71,   156,   107,   107,   174,   193,   193,
1056      208,   175,    16,    21,   192,   108,   188,   191,   200,   201,
1057      202,   107,   174,    71,   157,    17,   107,   174,   174,   174,
1058      188,   174,   174,   107,   174,   188,   188,   188,   188,   188,
1059      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1060      188,   188,   188,   188,    12,    13,    14,    15,    17,    23,
1061       64,   108,   109,   110,   178,   200,   107,   174,   174,   174,
1062      174,   174,   174,   174,   174,   126,    22,   150,   151,   151,
1063       22,   133,   123,   123,   123,   123,    99,   123,    69,   196,
1064      197,   199,   200,   201,   202,   123,   123,   108,   123,   123,
1065      121,   140,   174,   147,   174,   140,   140,   140,   140,    27,
1066      158,   158,    81,   193,   175,    18,   177,   156,    25,   123,
1067      173,   107,    75,   107,   174,    16,   107,   174,   157,   107,
1068       25,   174,    17,    21,    18,   107,    84,   110,   110,   110,
1069      174,   174,   110,   107,   174,   110,   110,   108,   107,    21,
1070       18,    21,    18,    21,    18,    21,    16,    20,   122,   131,
1071      132,    15,    21,    22,   146,   174,   147,   148,   174,   148,
1072      195,   200,   108,   141,   145,   148,   149,   174,   196,   123,
1073      148,   148,    82,   161,   161,   163,   107,   111,   194,   192,
1074      123,   171,   108,   166,   167,   107,   107,    18,   174,    16,
1075      188,    21,    18,   107,   193,    16,    16,    16,    16,   123,
1076      155,   156,   123,    22,   107,   107,   107,   107,   108,   123,
1077      107,    21,   136,   148,   107,   107,   188,   174,    75,    15,
1078      168,    15,    18,    16,   107,    21,   156,    21,   172,   173,
1079      137,   192,   144,   144,    15,   124,   124,   148,   148,   124,
1080      134,   108,   107,   124,   124,   126,   107,   126,    73,    21,
1081      170,   171,   126,    21,   124,   124,   125,    47,    48,   142,
1082      142,   107,   107,   143,   146,   148,   124,    16,    16,   127,
1083       16,   143,   143,   126,   124,   108,   124,   124,    21,   107,
1084      143,    21,    25,   138,    16,   148,   143,   143,   135,   124,
1085       19,    72,   139,   107,   144,   143,   126,   124,   149,    73,
1086      142,   107,   124
1087 };
1088
1089   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1090 static const yytype_uint8 yyr1[] =
1091 {
1092        0,   112,   114,   113,   115,   113,   116,   113,   117,   113,
1093      118,   113,   119,   113,   120,   113,   121,   122,   123,   124,
1094      125,   126,   126,   127,   127,   128,   128,   129,   129,   130,
1095      130,   131,   130,   132,   130,   130,   133,   130,   130,   130,
1096      130,   130,   130,   130,   130,   134,   135,   130,   130,   130,
1097      136,   130,   130,   130,   130,   137,   130,   130,   130,   130,
1098      138,   139,   139,   140,   141,   141,   141,   141,   141,   141,
1099      141,   141,   142,   142,   142,   143,   143,   144,   145,   145,
1100      146,   146,   147,   148,   149,   150,   150,   151,   152,   153,
1101      154,   154,   155,   155,   156,   156,   156,   157,   157,   158,
1102      158,   159,   159,   160,   161,   161,   161,   162,   163,   163,
1103      164,   164,   164,   165,   165,   166,   166,   167,   169,   168,
1104      170,   170,   171,   172,   172,   173,   174,   174,   174,   174,
1105      175,   175,   175,   176,   176,   176,   176,   176,   176,   176,
1106      176,   176,   177,   176,   178,   178,   179,   179,   179,   179,
1107      179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
1108      180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
1109      180,   180,   180,   180,   181,   181,   181,   181,   182,   182,
1110      183,   183,   183,   183,   184,   184,   185,   185,   185,   185,
1111      185,   185,   185,   185,   185,   186,   186,   186,   186,   186,
1112      186,   187,   187,   188,   188,   188,   188,   188,   188,   188,
1113      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1114      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1115      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1116      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1117      188,   188,   189,   188,   188,   188,   188,   190,   190,   190,
1118      191,   191,   191,   191,   191,   192,   192,   193,   193,   194,
1119      194,   195,   196,   196,   196,   197,   197,   198,   198,   199,
1120      200,   201,   202,   203,   203,   204,   205,   205,   206,   206,
1121      207,   207,   208,   208,   208,   208
1122 };
1123
1124   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1125 static const yytype_int8 yyr2[] =
1126 {
1127        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1128        0,     3,     0,     3,     0,     3,     4,     7,     0,     4,
1129        0,     0,     2,     0,     2,     1,     1,     2,     2,     1,
1130        4,     0,     7,     0,     6,     4,     0,     7,     7,     7,
1131        6,     6,     2,     8,     8,     0,     0,    13,     9,     8,
1132        0,    10,     9,     7,     2,     0,     8,     2,     2,     1,
1133        2,     0,     3,     1,     1,     1,     3,     3,     3,     3,
1134        3,     3,     0,     2,     6,     0,     2,     0,     0,     1,
1135        0,     1,     1,     1,     1,     1,     0,     0,     0,     0,
1136        1,     1,     0,     1,     0,     2,     1,     2,     1,     0,
1137        1,     1,     1,     3,     0,     1,     2,     3,     1,     1,
1138        2,     3,     1,     0,     1,     0,     1,     3,     0,     2,
1139        1,     1,     4,     1,     1,     5,     3,     3,     3,     1,
1140        2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
1141        4,     4,     0,     5,     1,     1,     5,     4,     5,     4,
1142        5,     6,     5,     4,     5,     4,     3,     6,     4,     5,
1143        3,     3,     3,     3,     3,     1,     1,     3,     3,     3,
1144        3,     3,     3,     3,     1,     3,     2,     2,     3,     3,
1145        1,     3,     2,     2,     3,     3,     2,     2,     2,     2,
1146        2,     2,     2,     2,     2,     3,     2,     4,     3,     5,
1147        4,     2,     2,     1,     1,     1,     1,     5,     2,     3,
1148        1,     2,     3,     1,     2,     1,     1,     1,     1,     1,
1149        1,     4,     4,     5,     5,     1,     1,     3,     4,     3,
1150        4,     4,     4,     4,     4,     1,     2,     2,     1,     2,
1151        2,     1,     2,     1,     2,     1,     3,     1,     3,     1,
1152        3,     4,     0,     6,     1,     1,     1,     3,     2,     4,
1153        3,     2,     1,     1,     1,     0,     1,     0,     1,     0,
1154        2,     1,     1,     1,     1,     1,     1,     2,     2,     2,
1155        2,     2,     2,     2,     4,     2,     1,     3,     1,     3,
1156        1,     3,     1,     1,     1,     1
1157 };
1158
1159 typedef enum {
1160         toketype_ival, toketype_opval
1161 } toketypes;
1162
1163 /* type of each token/terminal */
1164 static const toketypes yy_type_tab[] =
1165 {
1166   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1167   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1168   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1169   toketype_ival, toketype_ival, toketype_ival,
1170   toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1171   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1172   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival,
1173   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1174   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1175   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1176   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1177   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1178   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1179   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1180   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1181   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1182   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1183   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1184   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1185   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1186   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1187   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1188   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1189   toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1190   toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1191   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1192   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1193   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1194   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1195   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1196   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1197   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1198   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1199 };
1200
1201 /* Generated from:
1202  * 73ee434ba96b92f48b5072443bb2c4bcd9bdf40ef9685a6c1ec4a8ea8a0ebe8b perly.y
1203  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
1204  * ex: set ro: */