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