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