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