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