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