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