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