This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
index/value array slice operation
[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,  1207,  1216,  1227,  1238,
201     1240,  1242,  1247,  1260,  1265,  1270,  1274,  1278,  1282,  1286,
202     1290,  1294,  1298,  1300,  1303,  1307,  1313,  1315,  1320,  1323,
203     1332,  1339,  1338,  1354,  1355,  1356,  1362,  1366,  1374,  1381,
204     1386,  1391,  1393,  1395,  1400,  1402,  1407,  1408,  1414,  1418,
205     1424,  1430,  1436,  1442,  1448,  1455,  1457,  1459,  1462
206 };
207 #endif
208
209 #if YYDEBUG || YYERROR_VERBOSE || 0
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", YY_NULL
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 reduction number in state STATE-NUM.
318    Performed 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 YYTABLE_NINF, syntax error.  */
452 #define YYTABLE_NINF -204
453 static const yytype_int16 yytable[] =
454 {
455       75,    92,    92,   101,   130,   358,   360,    93,   364,   365,
456       57,   221,   152,   232,   269,    14,   270,   103,   220,   164,
457       19,   165,   186,    19,   187,   430,   408,   445,   186,   271,
458      187,   127,   144,   446,   137,   109,   109,   109,   109,   109,
459      239,   109,   109,    74,   193,   346,   142,   143,   111,   112,
460      113,   114,   136,   115,   116,   163,   347,   159,   132,   109,
461      140,    19,    20,    21,   148,   188,   195,   189,   443,   118,
462      133,   134,   461,   309,   397,   119,   367,   130,   202,   326,
463      207,   124,   160,   161,   162,   336,    92,   427,   428,    74,
464       92,    92,   218,   125,   338,   234,   126,   163,   104,   105,
465      419,   185,    74,   204,   192,   412,   130,   272,    19,   307,
466      203,   226,   166,   120,   340,   236,   106,   123,   374,   224,
467      196,   107,   128,   198,   199,   139,   231,    57,   145,   200,
468      151,   379,   153,   154,   155,   156,   157,   160,   161,   162,
469      201,   205,   132,   160,   161,   162,   238,   241,   146,   160,
470      161,   162,   449,   358,   233,   160,   161,   162,   160,   161,
471      162,   246,   247,   248,   400,   250,   251,   253,   290,   291,
472      292,   293,   294,   295,   206,   297,   298,   208,   160,   161,
473      162,   284,   160,   161,   162,   308,   276,   277,   278,   279,
474      280,   281,   282,   283,   210,   160,   161,   162,   299,   190,
475      274,   191,   160,   161,   162,   222,   368,   325,   160,   161,
476      162,   335,   300,   302,   303,   304,   305,   306,   223,   337,
477      381,   225,   339,    57,   351,   341,   354,   227,   160,   161,
478      162,   378,   229,   245,   315,   -81,   317,   319,     1,     2,
479        3,     4,     5,     6,   249,   323,   235,   237,   254,   255,
480      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
481      266,   267,   268,   160,   161,   162,   363,   160,   161,   162,
482      329,   330,   130,   332,    92,   160,   161,   162,   160,   161,
483      162,   160,   161,   162,   242,   406,   244,   160,   161,   162,
484      285,   350,   302,   353,   302,   288,   362,   296,   353,   353,
485      311,   314,   370,   432,   170,   171,   411,   320,   413,   322,
486      357,   416,   417,   386,   437,   438,   388,   181,   182,   183,
487      424,   425,   184,   162,   444,   375,   324,  -204,   434,   170,
488      171,   180,   450,   333,    57,   343,   181,   182,   183,   348,
489      440,   184,    19,   366,   442,   211,   212,   213,   214,   369,
490      170,   130,   215,   376,   216,   179,   180,   382,   383,   384,
491      385,   181,   182,   183,   353,   389,   184,   394,   458,   459,
492      390,   160,   161,   162,  -204,  -204,   396,   180,   184,   160,
493      161,   162,   181,   182,   183,   391,   392,   184,   160,   161,
494      162,   167,   393,   422,   420,   353,   313,   350,   168,   169,
495      170,   171,   395,   398,   -73,   160,   161,   162,   399,   377,
496      401,   402,    92,   321,   439,   160,   161,   162,   172,   173,
497      328,   174,   175,   176,   177,   178,   179,   180,   403,    92,
498      327,   409,   181,   182,   183,   -13,    76,   184,   418,   415,
499      334,   457,   353,   441,    74,   423,    16,    92,    17,    18,
500       19,    20,    21,    22,    23,    77,   431,   433,    24,    25,
501       26,    27,    28,   452,    29,    30,    31,    32,    33,    34,
502       78,    96,    79,    80,    35,    81,    82,    83,    84,    85,
503       86,   455,   453,   456,    87,    88,    89,    90,    36,    97,
504       37,    38,    39,    40,    41,    42,   160,   161,   162,   217,
505       43,    44,    45,    46,    47,    48,    49,   160,   161,   162,
506      160,   161,   162,   180,    50,   160,   161,   162,   181,   182,
507      183,   371,   122,   184,   414,   287,    51,    52,    53,   451,
508       -3,    76,   372,    54,    55,   373,   404,    56,    91,    74,
509      380,    16,   387,    17,    18,    19,    20,    21,    22,    23,
510       77,   149,   150,    24,    25,    26,    27,    28,     0,    29,
511       30,    31,    32,    33,    34,    78,    96,    79,    80,    35,
512       81,    82,    83,    84,    85,    86,     0,     0,     0,    87,
513       88,    89,    90,    36,     0,    37,    38,    39,    40,    41,
514       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
515       48,    49,     0,     0,     0,     0,     0,     0,     0,    50,
516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
517        0,    51,    52,    53,     0,     0,    76,     0,    54,    55,
518        0,     0,    56,    91,    74,   342,    16,     0,    17,    18,
519       19,    20,    21,    22,    23,    77,     0,     0,    24,    25,
520       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
521       78,    96,    79,    80,    35,    81,    82,    83,    84,    85,
522       86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
523       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
524       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
525        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
526        0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
527        0,    76,     0,    54,    55,     0,     0,    56,    91,    74,
528      436,    16,     0,    17,    18,    19,    20,    21,    22,    23,
529       77,     0,     0,    24,    25,    26,    27,    28,     0,    29,
530       30,    31,    32,    33,    34,    78,    96,    79,    80,    35,
531       81,    82,    83,    84,    85,    86,     0,     0,     0,    87,
532       88,    89,    90,    36,     0,    37,    38,    39,    40,    41,
533       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
534       48,    49,     0,     0,     0,     0,     0,     0,     0,    50,
535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
536        0,    51,    52,    53,     0,     0,    76,     0,    54,    55,
537        0,     0,    56,    91,    74,   448,    16,     0,    17,    18,
538       19,    20,    21,    22,    23,    77,     0,     0,    24,    25,
539       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
540       78,    96,    79,    80,    35,    81,    82,    83,    84,    85,
541       86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
542       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
543       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
544        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
545        0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
546        0,    76,     0,    54,    55,     0,     0,    56,    91,    74,
547        0,    16,     0,    17,    18,    19,    20,    21,    22,    23,
548       77,     0,     0,    24,    25,    26,    27,    28,     0,    29,
549       30,    31,    32,    33,    34,    78,    96,    79,    80,    35,
550       81,    82,    83,    84,    85,    86,     0,     0,     0,    87,
551       88,    89,    90,    36,     0,    37,    38,    39,    40,    41,
552       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
553       48,    49,     0,     0,   460,     0,     0,     0,     0,    50,
554        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
555        0,    51,    52,    53,     0,     0,    76,     0,    54,    55,
556        0,     0,    56,    91,    74,     0,    16,     0,    17,    18,
557       19,    20,    21,    22,    23,    77,     0,     0,    24,    25,
558       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
559       78,    96,    79,    80,    35,    81,    82,    83,    84,    85,
560       86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
561       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
562       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
563        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
564        0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
565        0,    76,     0,    54,    55,     0,     0,    56,    91,    74,
566        0,    16,     0,    17,    18,    19,    20,    21,    22,    23,
567       77,     0,     0,    24,    25,    26,    27,    28,     0,    29,
568       30,    31,    32,    33,    34,    78,     0,    79,    80,    35,
569       81,    82,    83,    84,    85,    86,     0,     0,     0,    87,
570       88,    89,    90,    36,     0,    37,    38,    39,    40,    41,
571       42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
572       48,    49,     0,     0,     0,     0,     0,     0,     0,    50,
573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
574        0,    51,    52,    53,    76,     0,     0,     0,    54,    55,
575        0,     0,    56,    91,    16,     0,    17,    18,    19,    20,
576       21,    22,    23,   -68,     0,     0,    24,    25,    26,    27,
577       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
578        0,     0,    35,     0,     0,  -204,     0,     0,     0,     0,
579        0,     0,   168,   169,   170,   171,    36,     0,    37,    38,
580       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
581       45,    46,    47,    48,    49,   174,   175,   176,   177,   178,
582      179,   180,    50,     0,     0,     0,   181,   182,   183,     0,
583        0,   184,     0,     0,    51,    52,    53,    76,     0,     0,
584        0,    54,    55,     0,     0,    56,     0,    16,     0,    17,
585       18,    19,    20,    21,    22,    23,     0,     0,     0,    24,
586       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
587       34,     0,     0,     0,     0,    35,     0,     0,     0,     0,
588        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
589        0,    37,    38,    39,    40,    41,    42,     0,     0,  -169,
590        0,    43,    44,    45,    46,    47,    48,    49,   186,     0,
591      187,  -169,     0,     0,     0,    50,     0,     0,     0,  -169,
592        0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
593      168,   169,   170,   171,    54,    55,     0,   -68,    56,     0,
594        0,  -169,  -169,  -169,  -169,     0,     0,     0,  -169,     0,
595     -169,     0,     0,  -169,     0,   176,   177,   178,   179,   180,
596     -169,  -169,  -169,  -169,   181,   182,   183,     0,     0,   184,
597        0,     0,     0,     0,     0,  -169,  -169,  -169,  -203,  -169,
598     -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,  -169,
599     -203,     0,     0,     0,  -169,  -169,  -169,     0,  -203,  -169,
600     -169,     0,     0,     0,     0,     0,     0,     0,     0,   168,
601      169,   170,   171,     0,     0,     0,     0,     0,     0,     0,
602     -203,  -203,  -203,  -203,     0,     0,     0,  -203,     0,  -203,
603        0,     0,  -203,     0,     0,   177,   178,   179,   180,  -203,
604     -203,  -203,  -203,   181,   182,   183,     0,     0,   184,     0,
605        0,     0,     0,     0,  -203,  -203,  -203,     0,  -203,  -203,
606     -203,  -203,  -203,  -203,  -203,  -203,  -203,  -203,  -203,     0,
607        0,     0,     0,  -203,  -203,  -203,     0,     0,  -203,  -203,
608       74,     0,    16,     0,    17,    18,    19,    20,    21,    22,
609       23,     0,     0,     0,   129,    25,    26,    27,    28,   107,
610       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
611       35,     0,     0,     0,     0,     0,     0,   168,   169,   170,
612      171,     0,     0,     0,    36,     0,    37,    38,    39,    40,
613       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
614       47,    48,    49,     0,   178,   179,   180,     0,     0,     0,
615       50,   181,   182,   183,     0,     0,   184,     0,     0,     0,
616        0,     0,    51,    52,    53,     0,     0,     0,     0,    54,
617       55,     0,    74,    56,    16,     0,    17,    18,    19,    20,
618       21,    22,    23,     0,     0,     0,   135,    25,    26,    27,
619       28,   136,    29,    30,    31,    32,    33,    34,     0,     0,
620        0,     0,    35,     0,     0,     0,     0,     0,     0,   168,
621     -204,   170,   171,     0,     0,     0,    36,     0,    37,    38,
622       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
623       45,    46,    47,    48,    49,     0,     0,   179,   180,     0,
624        0,     0,    50,   181,   182,   183,     0,     0,   184,     0,
625        0,     0,     0,     0,    51,    52,    53,     0,     0,     0,
626        0,    54,    55,     0,    74,    56,    16,     0,    17,    18,
627       19,    20,    21,    22,    23,     0,     0,     0,    24,    25,
628       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
629        0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
630        0,   168,   169,   170,   171,     0,     0,     0,    36,     0,
631       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
632       43,    44,    45,    46,    47,    48,    49,     0,     0,   179,
633      180,     0,     0,     0,    50,   181,   182,   183,     0,     0,
634      184,     0,     0,     0,     0,     0,    51,    52,    53,     0,
635        0,     0,     0,    54,    55,     0,     0,    56,    16,   102,
636       17,    18,    19,    20,    21,    22,    23,     0,     0,     0,
637       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
638       33,    34,     0,     0,     0,     0,    35,     0,     0,     0,
639        0,     0,     0,     0,     0,   170,   171,     0,     0,     0,
640       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
641        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
642        0,   179,   180,     0,     0,     0,    50,   181,   182,   183,
643        0,     0,   184,     0,     0,     0,     0,     0,    51,    52,
644       53,     0,     0,     0,     0,    54,    55,     0,    16,    56,
645       17,    18,    19,    20,    21,    22,    23,   141,     0,     0,
646       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
647       33,    34,     0,     0,     0,     0,    35,   211,   212,   213,
648      214,     0,     0,     0,   215,     0,   216,     0,     0,     0,
649       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
650        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
651        0,   160,   161,   162,     0,     0,    50,     0,     0,     0,
652        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
653       53,     0,     0,     0,     0,    54,    55,     0,    16,    56,
654       17,    18,    19,    20,    21,    22,    23,     0,     0,     0,
655       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
656       33,    34,     0,     0,     0,     0,    35,     0,     0,     0,
657        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
658       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
659        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
660        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
661        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
662       53,     0,     0,     0,     0,    54,    55,     0,   158,    56,
663       16,     0,    17,    18,    19,    20,    21,    22,    23,     0,
664        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
665       31,    32,    33,    34,     0,     0,     0,     0,    35,     0,
666        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
667        0,     0,    36,     0,    37,    38,    39,    40,    41,    42,
668        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
669       49,     0,     0,     0,     0,     0,     0,     0,    50,     0,
670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
671       51,    52,    53,     0,     0,     0,     0,    54,    55,     0,
672      230,    56,    16,     0,    17,    18,    19,    20,    21,    22,
673       23,     0,     0,     0,    24,    25,    26,    27,    28,     0,
674       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
675       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
676        0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
677       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
678       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
679       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
680        0,     0,    51,    52,    53,     0,     0,     0,     0,    54,
681       55,     0,   240,    56,    16,     0,    17,    18,    19,    20,
682       21,    22,    23,     0,     0,     0,    24,    25,    26,    27,
683       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
684        0,     0,    35,     0,     0,     0,     0,     0,     0,     0,
685        0,     0,     0,     0,     0,     0,    36,     0,    37,    38,
686       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
687       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
688        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
689        0,     0,     0,     0,    51,    52,    53,     0,     0,     0,
690        0,    54,    55,     0,   252,    56,    16,     0,    17,    18,
691       19,    20,    21,    22,    23,     0,     0,     0,    24,    25,
692       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
693        0,     0,     0,     0,    35,     0,     0,     0,     0,     0,
694        0,     0,     0,     0,     0,     0,     0,     0,    36,     0,
695       37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
696       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
697        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
698        0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
699        0,     0,     0,    54,    55,     0,   275,    56,    16,     0,
700       17,    18,    19,    20,    21,    22,    23,     0,     0,     0,
701       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
702       33,    34,     0,     0,     0,     0,    35,     0,     0,     0,
703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
704       36,     0,    37,    38,    39,    40,    41,    42,     0,     0,
705        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
706        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
707        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
708       53,     0,     0,     0,     0,    54,    55,     0,   316,    56,
709       16,     0,    17,    18,    19,    20,    21,    22,    23,     0,
710        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
711       31,    32,    33,    34,     0,     0,     0,     0,    35,     0,
712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
713        0,     0,    36,     0,    37,    38,    39,    40,    41,    42,
714        0,     0,     0,     0,    43,    44,    45,    46,    47,    48,
715       49,     0,     0,     0,     0,     0,     0,     0,    50,     0,
716        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
717       51,    52,    53,     0,     0,     0,     0,    54,    55,     0,
718      318,    56,    16,     0,    17,    18,    19,    20,    21,    22,
719       23,     0,     0,     0,    24,    25,    26,    27,    28,     0,
720       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
721       35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
722        0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
723       41,    42,     0,     0,     0,     0,    43,    44,    45,    46,
724       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
725       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
726        0,     0,    51,    52,    53,     0,     0,     0,     0,    54,
727       55,     0,   331,    56,    16,     0,    17,    18,    19,    20,
728       21,    22,    23,     0,     0,     0,    24,    25,    26,    27,
729       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
730        0,     0,    35,     0,     0,     0,     0,     0,     0,     0,
731        0,     0,     0,     0,     0,     0,    36,     0,    37,    38,
732       39,    40,    41,    42,     0,     0,     0,     0,    43,    44,
733       45,    46,    47,    48,    49,     0,   167,     0,     0,     0,
734        0,     0,    50,   168,   169,   170,   171,     0,     0,     0,
735        0,     0,     0,     0,    51,    52,    53,     0,     0,     0,
736        0,    54,    55,   172,   173,    56,   174,   175,   176,   177,
737      178,   179,   180,     0,     0,     0,   167,   181,   182,   183,
738        0,     0,   184,   168,   169,   170,   171,     0,     0,     0,
739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
740        0,     0,     0,     0,   173,     0,   174,   175,   176,   177,
741      178,   179,   180,     0,     0,     0,     0,   181,   182,   183,
742        0,     0,   184
743 };
744
745 #define yypact_value_is_default(Yystate) \
746   (!!((Yystate) == (-387)))
747
748 #define yytable_value_is_error(Yytable_value) \
749   (!!((Yytable_value) == (-204)))
750
751 static const yytype_int16 yycheck[] =
752 {
753       10,    11,    12,    15,    42,   295,   295,    11,   297,   298,
754        9,   115,    50,   126,     9,     0,    11,    16,    12,     9,
755       15,    11,     9,    15,    11,   411,   391,    20,     9,    24,
756       11,    41,    46,    26,    44,    19,    20,    21,    22,    23,
757      144,    25,    26,     9,    74,     9,    45,    23,    20,    21,
758       22,    23,    28,    25,    26,    80,    20,    56,    42,    43,
759       44,    15,    16,    17,    48,     9,    80,    11,   433,    11,
760       42,    43,   458,    12,   363,   102,   101,   115,    70,    12,
761       90,   102,    76,    77,    78,    12,    96,    46,    47,     9,
762      100,   101,    96,   102,    12,   133,   102,    80,    17,    18,
763       20,   102,     9,    87,     9,   394,   144,   102,    15,   222,
764      102,   121,   102,    32,    12,   102,    23,    36,    12,   118,
765       23,    28,    41,   102,   102,    44,   125,   126,    47,   102,
766       49,    12,    51,    52,    53,    54,    55,    76,    77,    78,
767      102,   102,   126,    76,    77,    78,    20,   146,   102,    76,
768       77,    78,   441,   443,   126,    76,    77,    78,    76,    77,
769       78,   160,   161,   162,    12,   164,   165,   166,   198,   199,
770      200,   201,   202,   203,   102,   205,   206,    48,    76,    77,
771       78,   193,    76,    77,    78,   223,   185,   186,   187,   188,
772      189,   190,   191,   192,    20,    76,    77,    78,   208,     9,
773      184,    11,    76,    77,    78,   102,   310,    20,    76,    77,
774       78,    20,   211,   212,   213,   214,   215,   216,   102,    20,
775      333,   101,    20,   222,   291,    20,   293,    26,    76,    77,
776       78,    20,   101,   101,   233,   102,   235,   236,     3,     4,
777        5,     6,     7,     8,   163,   244,   102,    10,   167,   168,
778      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
779      179,   180,   181,    76,    77,    78,   296,    76,    77,    78,
780      269,   270,   310,   272,   284,    76,    77,    78,    76,    77,
781       78,    76,    77,    78,    72,   389,    11,    76,    77,    78,
782       23,   290,   291,   292,   293,    23,   295,   102,   297,   298,
783       72,   101,   312,   413,    63,    64,   393,    10,   395,    26,
784      294,   398,   399,   343,   424,   425,   346,    95,    96,    97,
785      407,   408,   100,    78,   434,   324,    11,    61,   415,    63,
786       64,    90,   442,   102,   333,    21,    95,    96,    97,    23,
787      427,   100,    15,   101,   431,    42,    43,    44,    45,    26,
788       63,   389,    49,    10,    51,    89,    90,    10,    10,    10,
789       10,    95,    96,    97,   363,    23,   100,   102,   455,   456,
790      101,    76,    77,    78,    96,    97,    20,    90,   100,    76,
791       77,    78,    95,    96,    97,   101,   101,   100,    76,    77,
792       78,    54,   101,   405,   404,   394,   101,   396,    61,    62,
793       63,    64,   101,   101,   101,    76,    77,    78,   101,   328,
794       10,   101,   422,   101,   426,    76,    77,    78,    81,    82,
795       83,    84,    85,    86,    87,    88,    89,    90,    20,   439,
796      101,     9,    95,    96,    97,     0,     1,   100,    74,   101,
797      101,   453,   441,   102,     9,    20,    11,   457,    13,    14,
798       15,    16,    17,    18,    19,    20,   101,    20,    23,    24,
799       25,    26,    27,    22,    29,    30,    31,    32,    33,    34,
800       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
801       45,   101,    73,   101,    49,    50,    51,    52,    53,    12,
802       55,    56,    57,    58,    59,    60,    76,    77,    78,    96,
803       65,    66,    67,    68,    69,    70,    71,    76,    77,    78,
804       76,    77,    78,    90,    79,    76,    77,    78,    95,    96,
805       97,   101,    35,   100,   396,   195,    91,    92,    93,   443,
806        0,     1,   101,    98,    99,   101,   387,   102,   103,     9,
807      101,    11,   345,    13,    14,    15,    16,    17,    18,    19,
808       20,    48,    48,    23,    24,    25,    26,    27,    -1,    29,
809       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
810       40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
811       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
812       60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
813       70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
815       -1,    91,    92,    93,    -1,    -1,     1,    -1,    98,    99,
816       -1,    -1,   102,   103,     9,    10,    11,    -1,    13,    14,
817       15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
818       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
819       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
820       45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
821       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
822       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
823       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
824       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
825       -1,     1,    -1,    98,    99,    -1,    -1,   102,   103,     9,
826       10,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
827       20,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
828       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
829       40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
830       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
831       60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
832       70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
834       -1,    91,    92,    93,    -1,    -1,     1,    -1,    98,    99,
835       -1,    -1,   102,   103,     9,    10,    11,    -1,    13,    14,
836       15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
837       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
838       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
839       45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
840       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
841       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
842       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
843       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
844       -1,     1,    -1,    98,    99,    -1,    -1,   102,   103,     9,
845       -1,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
846       20,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
847       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
848       40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
849       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
850       60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
851       70,    71,    -1,    -1,    74,    -1,    -1,    -1,    -1,    79,
852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
853       -1,    91,    92,    93,    -1,    -1,     1,    -1,    98,    99,
854       -1,    -1,   102,   103,     9,    -1,    11,    -1,    13,    14,
855       15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
856       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
857       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
858       45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
859       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
860       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
861       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
862       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
863       -1,     1,    -1,    98,    99,    -1,    -1,   102,   103,     9,
864       -1,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
865       20,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
866       30,    31,    32,    33,    34,    35,    -1,    37,    38,    39,
867       40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
868       50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
869       60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
870       70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
872       -1,    91,    92,    93,     1,    -1,    -1,    -1,    98,    99,
873       -1,    -1,   102,   103,    11,    -1,    13,    14,    15,    16,
874       17,    18,    19,    20,    -1,    -1,    23,    24,    25,    26,
875       27,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
876       -1,    -1,    39,    -1,    -1,    54,    -1,    -1,    -1,    -1,
877       -1,    -1,    61,    62,    63,    64,    53,    -1,    55,    56,
878       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
879       67,    68,    69,    70,    71,    84,    85,    86,    87,    88,
880       89,    90,    79,    -1,    -1,    -1,    95,    96,    97,    -1,
881       -1,   100,    -1,    -1,    91,    92,    93,     1,    -1,    -1,
882       -1,    98,    99,    -1,    -1,   102,    -1,    11,    -1,    13,
883       14,    15,    16,    17,    18,    19,    -1,    -1,    -1,    23,
884       24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
885       34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
887       -1,    55,    56,    57,    58,    59,    60,    -1,    -1,     0,
888       -1,    65,    66,    67,    68,    69,    70,    71,     9,    -1,
889       11,    12,    -1,    -1,    -1,    79,    -1,    -1,    -1,    20,
890       -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
891       61,    62,    63,    64,    98,    99,    -1,   101,   102,    -1,
892       -1,    42,    43,    44,    45,    -1,    -1,    -1,    49,    -1,
893       51,    -1,    -1,    54,    -1,    86,    87,    88,    89,    90,
894       61,    62,    63,    64,    95,    96,    97,    -1,    -1,   100,
895       -1,    -1,    -1,    -1,    -1,    76,    77,    78,     0,    80,
896       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
897       12,    -1,    -1,    -1,    95,    96,    97,    -1,    20,   100,
898      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    61,
899       62,    63,    64,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
900       42,    43,    44,    45,    -1,    -1,    -1,    49,    -1,    51,
901       -1,    -1,    54,    -1,    -1,    87,    88,    89,    90,    61,
902       62,    63,    64,    95,    96,    97,    -1,    -1,   100,    -1,
903       -1,    -1,    -1,    -1,    76,    77,    78,    -1,    80,    81,
904       82,    83,    84,    85,    86,    87,    88,    89,    90,    -1,
905       -1,    -1,    -1,    95,    96,    97,    -1,    -1,   100,   101,
906        9,    -1,    11,    -1,    13,    14,    15,    16,    17,    18,
907       19,    -1,    -1,    -1,    23,    24,    25,    26,    27,    28,
908       29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
909       39,    -1,    -1,    -1,    -1,    -1,    -1,    61,    62,    63,
910       64,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
911       59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,
912       69,    70,    71,    -1,    88,    89,    90,    -1,    -1,    -1,
913       79,    95,    96,    97,    -1,    -1,   100,    -1,    -1,    -1,
914       -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,    98,
915       99,    -1,     9,   102,    11,    -1,    13,    14,    15,    16,
916       17,    18,    19,    -1,    -1,    -1,    23,    24,    25,    26,
917       27,    28,    29,    30,    31,    32,    33,    34,    -1,    -1,
918       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    61,
919       62,    63,    64,    -1,    -1,    -1,    53,    -1,    55,    56,
920       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
921       67,    68,    69,    70,    71,    -1,    -1,    89,    90,    -1,
922       -1,    -1,    79,    95,    96,    97,    -1,    -1,   100,    -1,
923       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,
924       -1,    98,    99,    -1,     9,   102,    11,    -1,    13,    14,
925       15,    16,    17,    18,    19,    -1,    -1,    -1,    23,    24,
926       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
927       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
928       -1,    61,    62,    63,    64,    -1,    -1,    -1,    53,    -1,
929       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
930       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    89,
931       90,    -1,    -1,    -1,    79,    95,    96,    97,    -1,    -1,
932      100,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
933       -1,    -1,    -1,    98,    99,    -1,    -1,   102,    11,    12,
934       13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
935       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
936       33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
937       -1,    -1,    -1,    -1,    -1,    63,    64,    -1,    -1,    -1,
938       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
939       -1,    -1,    65,    66,    67,    68,    69,    70,    71,    -1,
940       -1,    89,    90,    -1,    -1,    -1,    79,    95,    96,    97,
941       -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    91,    92,
942       93,    -1,    -1,    -1,    -1,    98,    99,    -1,    11,   102,
943       13,    14,    15,    16,    17,    18,    19,    20,    -1,    -1,
944       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
945       33,    34,    -1,    -1,    -1,    -1,    39,    42,    43,    44,
946       45,    -1,    -1,    -1,    49,    -1,    51,    -1,    -1,    -1,
947       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
948       -1,    -1,    65,    66,    67,    68,    69,    70,    71,    -1,
949       -1,    76,    77,    78,    -1,    -1,    79,    -1,    -1,    -1,
950       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
951       93,    -1,    -1,    -1,    -1,    98,    99,    -1,    11,   102,
952       13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
953       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
954       33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
956       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
957       -1,    -1,    65,    66,    67,    68,    69,    70,    71,    -1,
958       -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
959       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
960       93,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,   102,
961       11,    -1,    13,    14,    15,    16,    17,    18,    19,    -1,
962       -1,    -1,    23,    24,    25,    26,    27,    -1,    29,    30,
963       31,    32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,
964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
965       -1,    -1,    53,    -1,    55,    56,    57,    58,    59,    60,
966       -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,    70,
967       71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,
968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
969       91,    92,    93,    -1,    -1,    -1,    -1,    98,    99,    -1,
970      101,   102,    11,    -1,    13,    14,    15,    16,    17,    18,
971       19,    -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,
972       29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
973       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
974       -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
975       59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,
976       69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
977       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
978       -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,    98,
979       99,    -1,   101,   102,    11,    -1,    13,    14,    15,    16,
980       17,    18,    19,    -1,    -1,    -1,    23,    24,    25,    26,
981       27,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
982       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
983       -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,
984       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
985       67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,
986       -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
987       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,
988       -1,    98,    99,    -1,   101,   102,    11,    -1,    13,    14,
989       15,    16,    17,    18,    19,    -1,    -1,    -1,    23,    24,
990       25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
991       -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,
993       55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
994       65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
995       -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
996       -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
997       -1,    -1,    -1,    98,    99,    -1,   101,   102,    11,    -1,
998       13,    14,    15,    16,    17,    18,    19,    -1,    -1,    -1,
999       23,    24,    25,    26,    27,    -1,    29,    30,    31,    32,
1000       33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
1001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1002       53,    -1,    55,    56,    57,    58,    59,    60,    -1,    -1,
1003       -1,    -1,    65,    66,    67,    68,    69,    70,    71,    -1,
1004       -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,
1005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,
1006       93,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,   102,
1007       11,    -1,    13,    14,    15,    16,    17,    18,    19,    -1,
1008       -1,    -1,    23,    24,    25,    26,    27,    -1,    29,    30,
1009       31,    32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,
1010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1011       -1,    -1,    53,    -1,    55,    56,    57,    58,    59,    60,
1012       -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,    70,
1013       71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,
1014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1015       91,    92,    93,    -1,    -1,    -1,    -1,    98,    99,    -1,
1016      101,   102,    11,    -1,    13,    14,    15,    16,    17,    18,
1017       19,    -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,
1018       29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
1019       39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1020       -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
1021       59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,
1022       69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1023       79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1024       -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,    98,
1025       99,    -1,   101,   102,    11,    -1,    13,    14,    15,    16,
1026       17,    18,    19,    -1,    -1,    -1,    23,    24,    25,    26,
1027       27,    -1,    29,    30,    31,    32,    33,    34,    -1,    -1,
1028       -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1029       -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,
1030       57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,
1031       67,    68,    69,    70,    71,    -1,    54,    -1,    -1,    -1,
1032       -1,    -1,    79,    61,    62,    63,    64,    -1,    -1,    -1,
1033       -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,
1034       -1,    98,    99,    81,    82,   102,    84,    85,    86,    87,
1035       88,    89,    90,    -1,    -1,    -1,    54,    95,    96,    97,
1036       -1,    -1,   100,    61,    62,    63,    64,    -1,    -1,    -1,
1037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1038       -1,    -1,    -1,    -1,    82,    -1,    84,    85,    86,    87,
1039       88,    89,    90,    -1,    -1,    -1,    -1,    95,    96,    97,
1040       -1,    -1,   100
1041 };
1042
1043 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1044    symbol of state STATE-NUM.  */
1045 static const yytype_uint8 yystos[] =
1046 {
1047        0,     3,     4,     5,     6,     7,     8,   105,   106,   107,
1048      108,   109,   110,   111,     0,   114,    11,    13,    14,    15,
1049       16,    17,    18,    19,    23,    24,    25,    26,    27,    29,
1050       30,    31,    32,    33,    34,    39,    53,    55,    56,    57,
1051       58,    59,    60,    65,    66,    67,    68,    69,    70,    71,
1052       79,    91,    92,    93,    98,    99,   102,   146,   147,   148,
1053      151,   152,   153,   154,   155,   156,   158,   161,   163,   164,
1054      165,   166,   167,   168,     9,   112,     1,    20,    35,    37,
1055       38,    40,    41,    42,    43,    44,    45,    49,    50,    51,
1056       52,   103,   112,   121,   127,   146,    36,   119,   120,   121,
1057      117,   117,    12,   146,   156,   156,    23,    28,   112,   164,
1058      169,   169,   169,   169,   169,   169,   169,   157,    11,   102,
1059      156,   139,   139,   156,   102,   102,   102,   112,   156,    23,
1060      147,   160,   164,   169,   169,    23,    28,   112,   141,   156,
1061      164,    20,   146,    23,   141,   156,   102,   159,   164,   165,
1062      166,   156,   147,   156,   156,   156,   156,   156,   101,   146,
1063       76,    77,    78,    80,     9,    11,   102,    54,    61,    62,
1064       63,    64,    81,    82,    84,    85,    86,    87,    88,    89,
1065       90,    95,    96,    97,   100,   102,     9,    11,     9,    11,
1066        9,    11,     9,   114,   140,   141,    23,   138,   102,   102,
1067      102,   102,    70,   102,   164,   102,   102,   112,    48,   129,
1068       20,    42,    43,    44,    45,    49,    51,   120,   121,   119,
1069       12,   160,   102,   102,   146,   101,   112,    26,   142,   101,
1070      101,   146,   161,   169,   147,   102,   102,    10,    20,   160,
1071      101,   146,    72,   144,    11,   101,   146,   146,   146,   156,
1072      146,   146,   101,   146,   156,   156,   156,   156,   156,   156,
1073      156,   156,   156,   156,   156,   156,   156,   156,   156,     9,
1074       11,    24,   102,   150,   164,   101,   146,   146,   146,   146,
1075      146,   146,   146,   146,   117,    23,   137,   138,    23,   123,
1076      114,   114,   114,   114,   114,   114,   102,   114,   114,   112,
1077      146,   133,   146,   146,   146,   146,   146,   161,   147,    12,
1078      149,    72,   143,   101,   101,   146,   101,   146,   101,   146,
1079       10,   101,    26,   146,    11,    20,    12,   101,    83,   146,
1080      146,   101,   146,   102,   101,    20,    12,    20,    12,    20,
1081       12,    20,    10,    21,   113,   122,     9,    20,    23,   132,
1082      146,   133,   134,   146,   133,   136,   162,   164,   127,   131,
1083      134,   135,   146,   114,   134,   134,   101,   101,   160,    26,
1084      112,   101,   101,   101,    12,   146,    10,   156,    20,    12,
1085      101,   161,    10,    10,    10,    10,   114,   142,   114,    23,
1086      101,   101,   101,   101,   102,   101,    20,   134,   101,   101,
1087       12,    10,   101,    20,   143,   124,   160,   130,   130,     9,
1088      115,   115,   134,   115,   132,   101,   115,   115,    74,    20,
1089      112,   145,   117,    20,   115,   115,   116,    46,    47,   128,
1090      128,   101,   129,    20,   115,   118,    10,   129,   129,   117,
1091      115,   102,   115,   130,   129,    20,    26,   125,    10,   134,
1092      129,   135,    22,    73,   126,   101,   101,   117,   115,   115,
1093       74,   128
1094 };
1095
1096 typedef enum {
1097         toketype_i_tkval, toketype_ival, toketype_opval, toketype_p_tkval
1098 } toketypes;
1099
1100 /* type of each token/terminal */
1101 static const toketypes yy_type_tab[] =
1102 {
1103   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1104   toketype_ival, toketype_ival, toketype_ival, 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, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1106   toketype_i_tkval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1107   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1108   toketype_opval, toketype_p_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1109   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1110   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1111   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1112   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
1113   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival,
1114   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1115   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1116   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1117   toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1118   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
1119   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1120   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1121   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1122   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
1123   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1124   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1125   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1126   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1127   toketype_opval, toketype_opval, toketype_opval
1128 };
1129
1130 /* Generated from:
1131  * 1c6010b3d1651d4fc7cbfc329723c507767b4230ac920ae0ffde8f344f4a0ab4 perly.y
1132  * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
1133  * ex: set ro: */