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