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