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