/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 778 by iliev, Fri Sep 23 06:58:26 2005 UTC revision 1109 by iliev, Thu Mar 22 20:55:17 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 2.0.  */  /* A Bison parser, made by GNU Bison 2.3.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton implementation for Bison's Yacc-like parsers in C
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.  
5       Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6       Free Software Foundation, Inc.
7    
8     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
9     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
# Line 15  Line 17 
17    
18     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
19     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
20     Foundation, Inc., 59 Temple Place - Suite 330,     Foundation, Inc., 51 Franklin Street, Fifth Floor,
21     Boston, MA 02111-1307, USA.  */     Boston, MA 02110-1301, USA.  */
22    
23    /* As a special exception, you may create a larger work that contains
24       part or all of the Bison parser skeleton and distribute that work
25       under terms of your choice, so long as that work isn't itself a
26       parser generator using the skeleton or a modified version thereof
27       as a parser skeleton.  Alternatively, if you modify or redistribute
28       the parser skeleton itself, you may (at your option) remove this
29       special exception, which will cause the skeleton and the resulting
30       Bison output files to be licensed under the GNU General Public
31       License without this special exception.
32    
33  /* As a special exception, when this file is copied by Bison into a     This special exception was added by the Free Software Foundation in
34     Bison output file, you may use that output file without restriction.     version 2.2 of Bison.  */
    This special exception was added by the Free Software Foundation  
    in version 1.24 of Bison.  */  
35    
36  /* Written by Richard Stallman by simplifying the original so called  /* C LALR(1) parser skeleton written by Richard Stallman, by
37     ``semantic'' parser.  */     simplifying the original so-called "semantic" parser.  */
38    
39  /* All symbols defined below should begin with yy or YY, to avoid  /* All symbols defined below should begin with yy or YY, to avoid
40     infringing on user name space.  This should be done even for local     infringing on user name space.  This should be done even for local
# Line 36  Line 46 
46  /* Identify Bison output.  */  /* Identify Bison output.  */
47  #define YYBISON 1  #define YYBISON 1
48    
49    /* Bison version.  */
50    #define YYBISON_VERSION "2.3"
51    
52  /* Skeleton name.  */  /* Skeleton name.  */
53  #define YYSKELETON_NAME "yacc.c"  #define YYSKELETON_NAME "yacc.c"
54    
# Line 50  Line 63 
63    
64    
65    
66    
67  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
68  #line 27 "lscp.y"  #line 31 "lscp.y"
69    
70    
71  #include "lscpparser.h"  #include "lscpparser.h"
# Line 104  int yylex(YYSTYPE* yylval) { Line 118  int yylex(YYSTYPE* yylval) {
118  # define YYERROR_VERBOSE 0  # define YYERROR_VERBOSE 0
119  #endif  #endif
120    
121  #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)  /* Enabling the token table.  */
122    #ifndef YYTOKEN_TABLE
123    # define YYTOKEN_TABLE 0
124    #endif
125    
126    #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127  typedef int YYSTYPE;  typedef int YYSTYPE;
128  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129  # define YYSTYPE_IS_DECLARED 1  # define YYSTYPE_IS_DECLARED 1
# Line 116  typedef int YYSTYPE; Line 135  typedef int YYSTYPE;
135  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
136    
137    
138  /* Line 213 of yacc.c.  */  /* Line 216 of yacc.c.  */
139  #line 121 "y.tab.c"  #line 140 "y.tab.c"
140    
141    #ifdef short
142    # undef short
143    #endif
144    
145    #ifdef YYTYPE_UINT8
146    typedef YYTYPE_UINT8 yytype_uint8;
147    #else
148    typedef unsigned char yytype_uint8;
149    #endif
150    
151    #ifdef YYTYPE_INT8
152    typedef YYTYPE_INT8 yytype_int8;
153    #elif (defined __STDC__ || defined __C99__FUNC__ \
154         || defined __cplusplus || defined _MSC_VER)
155    typedef signed char yytype_int8;
156    #else
157    typedef short int yytype_int8;
158    #endif
159    
160    #ifdef YYTYPE_UINT16
161    typedef YYTYPE_UINT16 yytype_uint16;
162    #else
163    typedef unsigned short int yytype_uint16;
164    #endif
165    
166    #ifdef YYTYPE_INT16
167    typedef YYTYPE_INT16 yytype_int16;
168    #else
169    typedef short int yytype_int16;
170    #endif
171    
172    #ifndef YYSIZE_T
173    # ifdef __SIZE_TYPE__
174    #  define YYSIZE_T __SIZE_TYPE__
175    # elif defined size_t
176    #  define YYSIZE_T size_t
177    # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178         || defined __cplusplus || defined _MSC_VER)
179    #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180    #  define YYSIZE_T size_t
181    # else
182    #  define YYSIZE_T unsigned int
183    # endif
184    #endif
185    
186  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187    
188  # ifndef YYFREE  #ifndef YY_
189  #  define YYFREE free  # if YYENABLE_NLS
190    #  if ENABLE_NLS
191    #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192    #   define YY_(msgid) dgettext ("bison-runtime", msgid)
193    #  endif
194  # endif  # endif
195  # ifndef YYMALLOC  # ifndef YY_
196  #  define YYMALLOC malloc  #  define YY_(msgid) msgid
197  # endif  # endif
198    #endif
199    
200    /* Suppress unused-variable warnings by "using" E.  */
201    #if ! defined lint || defined __GNUC__
202    # define YYUSE(e) ((void) (e))
203    #else
204    # define YYUSE(e) /* empty */
205    #endif
206    
207    /* Identity function, used to suppress warnings about constant conditions.  */
208    #ifndef lint
209    # define YYID(n) (n)
210    #else
211    #if (defined __STDC__ || defined __C99__FUNC__ \
212         || defined __cplusplus || defined _MSC_VER)
213    static int
214    YYID (int i)
215    #else
216    static int
217    YYID (i)
218        int i;
219    #endif
220    {
221      return i;
222    }
223    #endif
224    
225    #if ! defined yyoverflow || YYERROR_VERBOSE
226    
227  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
228    
# Line 134  typedef int YYSTYPE; Line 230  typedef int YYSTYPE;
230  #  if YYSTACK_USE_ALLOCA  #  if YYSTACK_USE_ALLOCA
231  #   ifdef __GNUC__  #   ifdef __GNUC__
232  #    define YYSTACK_ALLOC __builtin_alloca  #    define YYSTACK_ALLOC __builtin_alloca
233    #   elif defined __BUILTIN_VA_ARG_INCR
234    #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235    #   elif defined _AIX
236    #    define YYSTACK_ALLOC __alloca
237    #   elif defined _MSC_VER
238    #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239    #    define alloca _alloca
240  #   else  #   else
241  #    define YYSTACK_ALLOC alloca  #    define YYSTACK_ALLOC alloca
242    #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243         || defined __cplusplus || defined _MSC_VER)
244    #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245    #     ifndef _STDLIB_H
246    #      define _STDLIB_H 1
247    #     endif
248    #    endif
249  #   endif  #   endif
250  #  endif  #  endif
251  # endif  # endif
252    
253  # ifdef YYSTACK_ALLOC  # ifdef YYSTACK_ALLOC
254     /* Pacify GCC's `empty if-body' warning. */     /* Pacify GCC's `empty if-body' warning.  */
255  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)  #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256  # else  #  ifndef YYSTACK_ALLOC_MAXIMUM
257  #  if defined (__STDC__) || defined (__cplusplus)      /* The OS might guarantee only one guard page at the bottom of the stack,
258  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */         and a page size can be as small as 4096 bytes.  So we cannot safely
259  #   define YYSIZE_T size_t         invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
260           to allow for a few compiler-allocated temporary stack slots.  */
261    #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262  #  endif  #  endif
263    # else
264  #  define YYSTACK_ALLOC YYMALLOC  #  define YYSTACK_ALLOC YYMALLOC
265  #  define YYSTACK_FREE YYFREE  #  define YYSTACK_FREE YYFREE
266    #  ifndef YYSTACK_ALLOC_MAXIMUM
267    #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268    #  endif
269    #  if (defined __cplusplus && ! defined _STDLIB_H \
270           && ! ((defined YYMALLOC || defined malloc) \
271                 && (defined YYFREE || defined free)))
272    #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273    #   ifndef _STDLIB_H
274    #    define _STDLIB_H 1
275    #   endif
276    #  endif
277    #  ifndef YYMALLOC
278    #   define YYMALLOC malloc
279    #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280         || defined __cplusplus || defined _MSC_VER)
281    void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282    #   endif
283    #  endif
284    #  ifndef YYFREE
285    #   define YYFREE free
286    #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287         || defined __cplusplus || defined _MSC_VER)
288    void free (void *); /* INFRINGES ON USER NAME SPACE */
289    #   endif
290    #  endif
291  # endif  # endif
292  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293    
294    
295  #if (! defined (yyoverflow) \  #if (! defined yyoverflow \
296       && (! defined (__cplusplus) \       && (! defined __cplusplus \
297           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))           || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298    
299  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
300  union yyalloc  union yyalloc
301  {  {
302    short int yyss;    yytype_int16 yyss;
303    YYSTYPE yyvs;    YYSTYPE yyvs;
304    };    };
305    
# Line 171  union yyalloc Line 309  union yyalloc
309  /* The size of an array large to enough to hold all stacks, each with  /* The size of an array large to enough to hold all stacks, each with
310     N elements.  */     N elements.  */
311  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
312       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
314    
315  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
316     not overlap.  */     not overlap.  */
317  # ifndef YYCOPY  # ifndef YYCOPY
318  #  if defined (__GNUC__) && 1 < __GNUC__  #  if defined __GNUC__ && 1 < __GNUC__
319  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
320        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321  #  else  #  else
322  #   define YYCOPY(To, From, Count)              \  #   define YYCOPY(To, From, Count)              \
323        do                                        \        do                                        \
324          {                                       \          {                                       \
325            register YYSIZE_T yyi;                \            YYSIZE_T yyi;                         \
326            for (yyi = 0; yyi < (Count); yyi++)   \            for (yyi = 0; yyi < (Count); yyi++)   \
327              (To)[yyi] = (From)[yyi];            \              (To)[yyi] = (From)[yyi];            \
328          }                                       \          }                                       \
329        while (0)        while (YYID (0))
330  #  endif  #  endif
331  # endif  # endif
332    
# Line 206  union yyalloc Line 344  union yyalloc
344          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \          yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345          yyptr += yynewbytes / sizeof (*yyptr);                          \          yyptr += yynewbytes / sizeof (*yyptr);                          \
346        }                                                                 \        }                                                                 \
347      while (0)      while (YYID (0))
   
 #endif  
348    
 #if defined (__STDC__) || defined (__cplusplus)  
    typedef signed char yysigned_char;  
 #else  
    typedef short int yysigned_char;  
349  #endif  #endif
350    
351  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state.  */
352  #define YYFINAL  40  #define YYFINAL  46
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4527  #define YYLAST   4543
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  99  #define YYNNTS  143
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  437  #define YYNRULES  539
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1240  #define YYNSTATES  1705
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       218,   219,   220,   221,   222,   223,     1,     2       216,   217,   218,   219,   220,   221,     1,     2
401  };  };
402    
403  #if YYDEBUG  #if YYDEBUG
404  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405     YYRHS.  */     YYRHS.  */
406  static const unsigned short int yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       113,   115,   117,   119,   125,   133,   143,   145,   151,   159,       117,   119,   121,   123,   125,   127,   129,   131,   133,   135,
413       169,   171,   173,   179,   185,   193,   203,   211,   221,   223,       137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
414       229,   237,   243,   249,   255,   259,   261,   263,   271,   281,       157,   159,   161,   163,   165,   167,   169,   171,   173,   175,
415       289,   299,   303,   307,   313,   317,   323,   327,   331,   335,       192,   211,   230,   251,   259,   263,   267,   271,   273,   275,
416       339,   343,   349,   357,   363,   373,   379,   385,   391,   397,       281,   289,   299,   301,   307,   315,   325,   327,   329,   335,
417       403,   409,   415,   419,   425,   427,   429,   431,   433,   435,       341,   349,   359,   367,   377,   379,   385,   393,   399,   405,
418       437,   439,   441,   447,   455,   459,   461,   463,   465,   467,       411,   415,   417,   419,   423,   427,   437,   439,   445,   449,
419       469,   471,   473,   475,   477,   479,   481,   483,   485,   487,       457,   459,   467,   477,   485,   495,   499,   507,   519,   529,
420       491,   493,   497,   501,   503,   505,   507,   509,   511,   514,       539,   543,   547,   553,   557,   563,   567,   573,   581,   585,
421       518,   523,   528,   530,   533,   535,   537,   539,   541,   543,       589,   593,   597,   601,   607,   611,   615,   621,   629,   635,
422       545,   547,   549,   551,   553,   555,   558,   561,   564,   567,       645,   651,   657,   663,   669,   675,   681,   687,   693,   699,
423       570,   573,   576,   579,   582,   584,   586,   588,   590,   592,       705,   706,   709,   713,   719,   721,   723,   725,   727,   729,
424       594,   596,   598,   600,   602,   604,   606,   608,   610,   612,       731,   733,   735,   739,   743,   745,   749,   755,   763,   767,
425       614,   616,   618,   620,   622,   624,   626,   628,   630,   632,       769,   771,   773,   775,   777,   779,   781,   783,   785,   787,
426       634,   636,   638,   640,   642,   644,   646,   648,   650,   652,       789,   791,   793,   795,   797,   799,   801,   803,   805,   807,
427       654,   656,   658,   660,   662,   664,   666,   668,   670,   672,       809,   811,   813,   815,   817,   821,   823,   825,   827,   829,
428       674,   676,   678,   680,   682,   684,   686,   688,   690,   692,       831,   833,   835,   838,   842,   847,   852,   854,   857,   859,
429       694,   696,   698,   700,   702,   704,   706,   708,   710,   712,       861,   863,   865,   867,   869,   871,   873,   875,   877,   879,
430       714,   716,   718,   720,   722,   724,   726,   728,   730,   732,       882,   885,   888,   891,   894,   897,   900,   903,   906,   908,
431       734,   736,   738,   740,   742,   744,   746,   748,   750,   752,       910,   912,   914,   916,   918,   920,   922,   924,   926,   928,
432       754,   756,   758,   760,   762,   764,   766,   768,   770,   772,       930,   932,   934,   936,   938,   940,   942,   944,   946,   948,
433       774,   776,   778,   780,   782,   784,   786,   788,   790,   792,       950,   952,   954,   956,   958,   960,   962,   964,   966,   968,
434       794,   796,   798,   800,   802,   804,   806,   808,   810,   812,       970,   972,   974,   976,   978,   980,   982,   984,   986,   988,
435       814,   816,   818,   820,   822,   824,   826,   828,   830,   832,       990,   992,   994,   996,   998,  1000,  1002,  1004,  1006,  1008,
436       834,   836,   838,   840,   842,   844,   846,   848,   850,   852,      1010,  1012,  1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,
437       854,   856,   858,   860,   862,   864,   866,   868,   870,   872,      1030,  1032,  1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,
438       874,   876,   878,   880,   882,   884,   886,   888,   890,   892,      1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,  1066,  1068,
439       894,   896,   898,   900,   902,   904,   906,   908,   910,   912,      1070,  1072,  1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,
440       914,   916,   918,   920,   922,   924,   926,   928,   930,   932,      1090,  1092,  1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,
441       934,   936,   938,   940,   942,   944,   946,   948,   950,   952,      1110,  1112,  1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,
442       954,   956,   958,   960,   962,   964,   966,   968,   970,   972,      1130,  1132,  1134,  1136,  1138,  1140,  1142,  1144,  1146,  1148,
443       974,   976,   978,   980,   982,   984,   986,   988,   990,   992,      1150,  1152,  1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,
444       994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,      1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,
445      1014,  1016,  1018,  1020,  1022,  1024,  1027,  1030,  1034,  1038,      1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,
446      1040,  1042,  1044,  1048,  1052,  1059,  1067,  1072,  1077,  1081,      1210,  1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,
447      1091,  1098,  1102,  1112,  1124,  1131,  1139,  1157,  1188,  1197,      1230,  1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,
448      1202,  1216,  1229,  1241,  1254,  1266,  1284,  1306,  1317,  1324,      1250,  1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,
449      1354,  1375,  1395,  1425,  1445,  1476,  1497,  1515,  1544,  1572,      1270,  1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,
450      1598,  1617,  1635,  1663,  1681,  1697,  1716,  1732,  1743,  1750,      1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,
451      1757,  1762,  1767,  1773,  1784,  1790,  1804,  1809      1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,
452        1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,
453        1351,  1354,  1358,  1362,  1364,  1366,  1368,  1372,  1376,  1380,
454        1386,  1392,  1399,  1407,  1412,  1417,  1421,  1426,  1434,  1444,
455        1451,  1455,  1465,  1477,  1484,  1492,  1510,  1541,  1550,  1555,
456        1581,  1606,  1630,  1653,  1679,  1704,  1726,  1747,  1761,  1774,
457        1788,  1801,  1813,  1826,  1838,  1856,  1878,  1890,  1901,  1908,
458        1918,  1933,  1944,  1974,  1995,  2015,  2045,  2065,  2096,  2117,
459        2135,  2164,  2192,  2218,  2237,  2255,  2283,  2299,  2316,  2336,
460        2357,  2375,  2391,  2410,  2426,  2437,  2453,  2461,  2470,  2477,
461        2484,  2490,  2495,  2500,  2506,  2517,  2523,  2537,  2542,  2547
462  };  };
463    
464  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
465  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
466  {  {
467       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   284,    -1,   229,   285,   284,    -1,
468        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
469         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   283,    -1,   230,   279,    -1,   230,   275,
470        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   286,   283,   232,    -1,   288,   283,   235,    -1,   289,
471       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       283,   236,    -1,   287,   283,   238,    -1,   291,   283,   240,
472        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   292,   283,   243,    -1,   293,   283,   249,    -1,   294,
473        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       283,   244,    -1,   299,   283,   237,    -1,   300,   283,   239,
474       267,   233,    -1,   282,   267,   265,    -1,   322,   267,   283,        -1,   301,   283,   233,    -1,   302,   283,   234,    -1,   303,
475       267,   252,    -1,   322,    -1,   325,    -1,   288,    -1,   292,       283,   281,    -1,   365,   283,   241,    -1,   290,   283,   242,
476        -1,   291,    -1,   290,    -1,   289,    -1,   323,    -1,   293,        -1,   365,    -1,   369,    -1,   304,    -1,   348,    -1,   348,
477        -1,   288,    -1,   292,    -1,   291,    -1,   290,    -1,   289,       283,   269,    -1,   309,    -1,   310,    -1,   311,    -1,   312,
478        -1,   323,    -1,   293,    -1,   284,    -1,   305,    -1,   311,        -1,   317,    -1,   323,    -1,   322,    -1,   321,    -1,   318,
479       267,   287,   267,   259,    -1,   310,   267,   287,   267,   259,        -1,   319,    -1,   320,    -1,   313,    -1,   314,    -1,   315,
480       267,   259,    -1,   310,   267,   287,   267,   259,   267,   259,        -1,   316,    -1,   366,    -1,   324,    -1,   326,    -1,   309,
481       267,   240,    -1,   285,    -1,   301,   267,   287,   267,   259,        -1,   310,    -1,   311,    -1,   312,    -1,   317,    -1,   323,
482        -1,   300,   267,   287,   267,   259,   267,   259,    -1,   300,        -1,   322,    -1,   321,    -1,   318,    -1,   319,    -1,   320,
483       267,   287,   267,   259,   267,   259,   267,   240,    -1,   298,        -1,   313,    -1,   314,    -1,   315,    -1,   316,    -1,   366,
484        -1,   308,    -1,   299,   267,   287,   267,   263,    -1,   309,        -1,   324,    -1,   326,    -1,   346,   283,   246,   259,   283,
485       267,   287,   267,   263,    -1,   312,   267,   287,   267,   263,       260,   283,   261,   283,   267,   283,   268,   283,   265,   283,
486       267,   263,    -1,   307,   267,   287,   267,   263,   267,   263,       263,    -1,   346,   283,   246,   259,   283,   260,   283,   261,
487       267,   259,    -1,   303,   267,   287,   267,   263,   267,   263,       283,   267,   283,   268,   283,   265,   283,   263,   283,   252,
488        -1,   302,   267,   287,   267,   263,   267,   263,   267,   259,        -1,   346,   283,   246,   259,   283,   260,   283,   261,   283,
489        -1,   286,    -1,   283,   267,   287,   267,   252,    -1,   283,       267,   283,   268,   283,   265,   283,   263,   283,   270,    -1,
490       267,   290,   267,   241,   267,   252,    -1,   283,   267,   291,       346,   283,   246,   259,   283,   260,   283,   261,   283,   267,
491       267,   252,    -1,   283,   267,   292,   267,   252,    -1,   296,       283,   268,   283,   265,   283,   263,   283,   252,   283,   270,
492       267,   287,   267,   254,    -1,   316,   267,   287,    -1,   293,        -1,   346,   283,   259,   283,   260,   283,   261,    -1,   304,
493        -1,   294,    -1,   297,   267,   263,   267,   259,     4,   256,       283,   264,    -1,   348,   283,   259,    -1,   348,   283,   295,
494        -1,   302,   267,   263,   267,   263,   267,   259,     4,   256,        -1,   305,    -1,   340,    -1,   350,   283,   308,   283,   275,
495        -1,   306,   267,   263,   267,   259,     4,   256,    -1,   307,        -1,   345,   283,   308,   283,   275,   283,   275,    -1,   345,
496       267,   263,   267,   263,   267,   259,     4,   256,    -1,   283,       283,   308,   283,   275,   283,   275,   283,   247,    -1,   306,
497       267,   239,    -1,   324,   267,   258,    -1,   299,   267,   259,        -1,   336,   283,   308,   283,   275,    -1,   335,   283,   308,
498       267,   240,    -1,   299,   267,   259,    -1,   309,   267,   259,       283,   275,   283,   275,    -1,   335,   283,   308,   283,   275,
499       267,   240,    -1,   309,   267,   259,    -1,   299,   267,   263,       283,   275,   283,   247,    -1,   333,    -1,   343,    -1,   334,
500        -1,   309,   267,   263,    -1,   295,   267,   243,    -1,   296,       283,   308,   283,   279,    -1,   344,   283,   308,   283,   279,
501       267,   244,    -1,   299,   267,   252,   267,   245,    -1,   303,        -1,   351,   283,   308,   283,   279,   283,   279,    -1,   342,
502       267,   252,   267,   246,   267,   246,    -1,   304,   267,   252,       283,   308,   283,   279,   283,   279,   283,   275,    -1,   338,
503       267,   247,    -1,   315,   267,   252,   267,   245,   267,   248,       283,   308,   283,   279,   283,   279,    -1,   337,   283,   308,
504       267,   249,    -1,   309,   267,   252,   267,   245,    -1,   312,       283,   279,   283,   279,   283,   275,    -1,   307,    -1,   304,
505       267,   252,   267,   248,    -1,   313,   267,   252,   267,   249,       283,   308,   283,   264,    -1,   304,   283,   321,   283,   248,
506        -1,   314,   267,   252,   267,   250,    -1,   317,   267,   252,       283,   264,    -1,   304,   283,   322,   283,   264,    -1,   304,
507       267,   251,    -1,   318,   267,   252,   267,   258,    -1,   319,       283,   323,   283,   264,    -1,   328,   283,   308,   283,   267,
508       267,   252,   267,   258,    -1,   259,     4,   256,    -1,   240,        -1,   358,   283,   308,    -1,   324,    -1,   325,    -1,   347,
509       267,   259,     4,   256,    -1,   320,    -1,   321,    -1,   298,       283,   259,    -1,   347,   283,   295,    -1,   346,   283,   308,
510        -1,   308,    -1,   286,    -1,   284,    -1,   305,    -1,   285,       283,   259,   283,   260,   283,   261,    -1,   349,    -1,   348,
511        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,       283,   308,   283,   259,    -1,   357,   283,   264,    -1,   356,
512       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,       283,   308,   283,   264,   283,   266,    -1,   359,    -1,   332,
513        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,       283,   279,   283,   275,     4,   272,    -1,   337,   283,   279,
514        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,       283,   279,   283,   275,     4,   272,    -1,   341,   283,   279,
515        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,       283,   275,     4,   272,    -1,   342,   283,   279,   283,   279,
516        -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,       283,   275,     4,   272,    -1,   304,   283,   245,    -1,   348,
517        -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,       283,   367,   283,   259,   283,   269,    -1,   356,   283,   338,
518        -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,       283,   264,   283,   266,   283,   254,   283,   254,    -1,   356,
519         8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,       283,   355,   283,   264,   283,   266,   283,   262,    -1,   356,
520       261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,       283,   360,   283,   264,   283,   266,   283,   263,    -1,   368,
521        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,       283,   274,    -1,   359,   283,   263,    -1,   334,   283,   275,
522        -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,       283,   247,    -1,   334,   283,   275,    -1,   344,   283,   275,
523        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,       283,   247,    -1,   344,   283,   275,    -1,   356,   283,   264,
524        17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,       283,   262,    -1,   356,   283,   264,   283,   262,   283,   271,
525       261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,        -1,   304,   283,   264,    -1,   347,   283,   259,    -1,   347,
526        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,       283,   295,    -1,   334,   283,   279,    -1,   344,   283,   279,
527        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,        -1,   356,   283,   264,   283,   266,    -1,   327,   283,   250,
528        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,        -1,   328,   283,   251,    -1,   334,   283,   264,   283,   253,
529        40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,        -1,   338,   283,   264,   283,   254,   283,   254,    -1,   339,
530        45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,       283,   264,   283,   255,    -1,   354,   283,   264,   283,   253,
531        50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,       283,   256,   283,   257,    -1,   344,   283,   264,   283,   253,
532        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,        -1,   351,   283,   264,   283,   256,    -1,   352,   283,   264,
533        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,       283,   257,    -1,   353,   283,   264,   283,   258,    -1,   359,
534        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,       283,   264,   283,   263,    -1,   361,   283,   264,   283,   274,
535        70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,        -1,   362,   283,   264,   283,   274,    -1,   348,   283,   264,
536        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,       283,   259,    -1,   348,   283,   264,   283,   296,    -1,   348,
537        18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,       283,   264,   283,   297,    -1,    -1,   298,   283,    -1,   275,
538        74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,         4,   272,    -1,   247,   283,   275,     4,   272,    -1,   363,
539        79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,        -1,   364,    -1,   333,    -1,   343,    -1,   307,    -1,   305,
540        80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,        -1,   340,    -1,   306,    -1,   347,   283,   259,    -1,   347,
541        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,       283,   295,    -1,   349,    -1,   357,   283,   264,    -1,   268,
542        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,       283,   265,   283,   264,    -1,   298,   283,   268,   283,   265,
543        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,       283,   264,    -1,   267,   283,   264,    -1,   329,    -1,   330,
544        99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,        -1,   331,    -1,   279,    -1,   279,    -1,   275,    -1,   279,
545       104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,        -1,   279,    -1,   295,    -1,   275,    -1,   279,    -1,   279,
546       109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,        -1,   279,    -1,   279,    -1,   276,    -1,   279,    -1,   279,
547       114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,        -1,   279,    -1,   279,    -1,   275,    -1,   282,    -1,   282,
548       119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,        -1,   282,    -1,   282,    -1,   273,    -1,   272,     5,   273,
549       124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,        -1,   275,    -1,   282,    -1,   279,    -1,   276,    -1,   279,
550       129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,        -1,   275,    -1,   280,    -1,   275,   280,    -1,   277,     6,
551       134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,       277,    -1,     7,   277,     6,   277,    -1,     8,   277,     6,
552       139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,       277,    -1,   278,    -1,   277,   278,    -1,     9,    -1,    10,
553       144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
554       149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,        -1,    16,    -1,    17,    -1,    18,    -1,   278,    -1,    10,
555       154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,       277,    -1,    11,   277,    -1,    12,   277,    -1,    13,   277,
556       159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,        -1,    14,   277,    -1,    15,   277,    -1,    16,   277,    -1,
557       164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,        17,   277,    -1,    18,   277,    -1,    19,    -1,    20,    -1,
558       169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
559       174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
560       179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,
561       184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,        36,    -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,
562       189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,        41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,
563       194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,        46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,
564       199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,
565       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
566       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
567       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,        66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
568       219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
569       267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,        14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,
570         6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,        71,    -1,     3,    -1,    72,    -1,    73,    -1,    74,    -1,
571       225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,        75,    -1,    76,    -1,    77,    -1,     7,    -1,     8,    -1,
572        40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,         6,    -1,     5,    -1,    78,    -1,    79,    -1,    80,    -1,
573        25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,
574        40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,
575        -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,
576        -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,
577        40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,
578        25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,
579        29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,
580        -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,
581        42,    21,    29,    32,    21,    22,    32,    25,    91,    25,       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,
582        34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,
583        29,    32,    21,    22,    32,    25,    91,    21,    41,    24,       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,
584        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,
585        24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,
586        21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,
587        35,    -1,    23,    28,    21,    34,    34,    25,    32,    91,       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,
588        23,    35,    41,    34,    40,    -1,    23,    28,    21,    34,       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,
589        34,    25,    32,    91,    29,    34,    26,    35,    -1,    22,       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,
590        41,    26,    26,    25,    38,    91,    26,    29,    32,    32,       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,
591        -1,    39,    40,    38,    25,    21,    33,    91,    23,    35,       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,
592        41,    34,    40,    -1,    42,    35,    29,    23,    25,    91,       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
593        23,    35,    41,    34,    40,    -1,    40,    35,    40,    21,       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,
594        32,    91,    42,    35,    29,    23,    25,    91,    23,    35,       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,
595        41,    34,    40,    -1,    40,    35,    40,    21,    32,    91,       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,
596        42,    35,    29,    23,    25,    91,    23,    35,    41,    34,       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,
597        40,    91,    33,    21,    44,    -1,    29,    34,    39,    40,       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,
598        38,    41,    33,    25,    34,    40,    -1,    25,    34,    27,       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
599        29,    34,    25,    -1,    21,    41,    24,    29,    35,    91,       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
600        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
601        29,    23,    25,    91,    36,    21,    38,    21,    33,    25,       220,    -1,   221,    -1,   283,    -1,   275,    -1,   281,   283,
602        40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,        -1,   281,   275,    -1,   222,   281,   222,    -1,   223,   281,
603        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
604        29,    23,    25,    39,    -1,    21,    41,    24,    29,    35,        22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
605        91,    35,    41,    40,    36,    41,    40,    91,    24,    25,        39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
606        42,    29,    23,    25,    -1,    21,    41,    24,    29,    35,        36,    -1,    21,    36,    23,    19,    38,    23,    -1,    22,
607        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,        23,    37,    38,    36,    33,    43,    -1,    30,    27,    37,
608        29,    42,    25,    38,    91,    36,    21,    38,    21,    33,        38,    -1,    30,    33,    19,    22,    -1,    19,    30,    30,
609        25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,        -1,    32,    33,    32,    23,    -1,    22,    23,    24,    19,
610        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,        39,    30,    38,    -1,    32,    33,    32,    89,    31,    33,
611        29,    42,    25,    38,    -1,    21,    41,    24,    29,    35,        22,    19,    30,    -1,    36,    23,    31,    33,    40,    23,
612        91,    35,    41,    40,    36,    41,    40,    91,    23,    28,        -1,    37,    23,    38,    -1,    37,    39,    20,    37,    21,
613        21,    34,    34,    25,    32,    91,    36,    21,    38,    21,        36,    27,    20,    23,    -1,    39,    32,    37,    39,    20,
614        33,    25,    40,    25,    38,    -1,    21,    41,    24,    29,        37,    21,    36,    27,    20,    23,    -1,    37,    23,    30,
615        35,    91,    35,    41,    40,    36,    41,    40,    91,    23,        23,    21,    38,    -1,    21,    26,    19,    32,    32,    23,
616        28,    21,    34,    34,    25,    32,    -1,    21,    41,    24,        30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
617        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,        23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
618        40,    45,    36,    25,    -1,    21,    42,    21,    29,    32,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
619        21,    22,    32,    25,    91,    33,    29,    24,    29,    91,        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
620        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
621        25,    38,    39,    -1,    33,    29,    24,    29,    91,    29,        -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
622        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,        27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
623        25,    91,    36,    21,    38,    21,    33,    25,    40,    25,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
624        38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
625        41,    40,    91,    36,    35,    38,    40,    91,    36,    21,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
626        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
627        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,        89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
628        25,    42,    29,    23,    25,    39,    -1,    33,    29,    24,        89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
629        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
630        42,    29,    23,    25,    -1,    33,    29,    24,    29,    91,        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
631        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
632        25,    38,    91,    36,    21,    38,    21,    33,    25,    40,        24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
633        25,    38,    -1,    33,    29,    24,    29,    91,    29,    34,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
634        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
635        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,        27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
636        40,    91,    36,    35,    38,    40,    -1,    33,    29,    24,        31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
637        29,    91,    29,    34,    36,    41,    40,    91,    23,    28,        32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
638        21,    34,    34,    25,    32,    -1,    33,    29,    24,    29,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
639        91,    29,    34,    36,    41,    40,    91,    40,    45,    36,        21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
640        25,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
641        41,    40,    -1,    39,    25,    38,    42,    25,    38,    -1,        38,    89,    27,    32,    24,    33,    -1,    21,    26,    19,
642        42,    35,    32,    41,    33,    25,    -1,    33,    41,    40,        32,    32,    23,    30,    89,    21,    33,    39,    32,    38,
643        25,    -1,    39,    35,    32,    35,    -1,    22,    45,    40,        -1,    21,    26,    19,    32,    32,    23,    30,    89,    27,
644        25,    39,    -1,    36,    25,    38,    23,    25,    34,    40,        32,    24,    33,    -1,    24,    42,    89,    37,    23,    32,
645        21,    27,    25,    -1,    38,    25,    39,    25,    40,    -1,        22,    89,    21,    33,    39,    32,    38,    -1,    24,    42,
646        33,    29,    39,    23,    25,    32,    32,    21,    34,    25,        89,    37,    23,    32,    22,    89,    27,    32,    24,    33,
647        35,    41,    39,    -1,    25,    23,    28,    35,    -1,    37,        -1,    20,    39,    24,    24,    23,    36,    89,    24,    27,
648        41,    29,    40,    -1        30,    30,    -1,    37,    38,    36,    23,    19,    31,    89,
649          21,    33,    39,    32,    38,    -1,    40,    33,    27,    21,
650          23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,
651          38,    19,    30,    89,    40,    33,    27,    21,    23,    89,
652          21,    33,    39,    32,    38,    -1,    38,    33,    38,    19,
653          30,    89,    40,    33,    27,    21,    23,    89,    21,    33,
654          39,    32,    38,    89,    31,    19,    42,    -1,    25,    30,
655          33,    20,    19,    30,    89,    27,    32,    24,    33,    -1,
656          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
657          -1,    23,    32,    25,    27,    32,    23,    -1,    33,    32,
658          89,    22,    23,    31,    19,    32,    22,    -1,    33,    32,
659          89,    22,    23,    31,    19,    32,    22,    89,    26,    33,
660          30,    22,    -1,    34,    23,    36,    37,    27,    37,    38,
661          23,    32,    38,    -1,    19,    39,    22,    27,    33,    89,
662          33,    39,    38,    34,    39,    38,    89,    22,    23,    40,
663          27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
664          38,    23,    36,    -1,    19,    39,    22,    27,    33,    89,
665          33,    39,    38,    34,    39,    38,    89,    22,    23,    40,
666          27,    21,    23,    37,    -1,    19,    39,    22,    27,    33,
667          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
668          40,    27,    21,    23,    -1,    19,    39,    22,    27,    33,
669          89,    33,    39,    38,    34,    39,    38,    89,    22,    36,
670          27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
671          23,    38,    23,    36,    -1,    19,    39,    22,    27,    33,
672          89,    33,    39,    38,    34,    39,    38,    89,    22,    36,
673          27,    40,    23,    36,    -1,    19,    39,    22,    27,    33,
674          89,    33,    39,    38,    34,    39,    38,    89,    21,    26,
675          19,    32,    32,    23,    30,    89,    34,    19,    36,    19,
676          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
677          33,    89,    33,    39,    38,    34,    39,    38,    89,    21,
678          26,    19,    32,    32,    23,    30,    -1,    19,    39,    22,
679          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
680          38,    43,    34,    23,    -1,    19,    40,    19,    27,    30,
681          19,    20,    30,    23,    89,    31,    27,    22,    27,    89,
682          27,    32,    34,    39,    38,    89,    22,    36,    27,    40,
683          23,    36,    37,    -1,    31,    27,    22,    27,    89,    27,
684          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
685          23,    89,    34,    19,    36,    19,    31,    23,    38,    23,
686          36,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
687          39,    38,    89,    34,    33,    36,    38,    89,    34,    19,
688          36,    19,    31,    23,    38,    23,    36,    -1,    31,    27,
689          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
690          23,    40,    27,    21,    23,    37,    -1,    31,    27,    22,
691          27,    89,    27,    32,    34,    39,    38,    89,    22,    23,
692          40,    27,    21,    23,    -1,    31,    27,    22,    27,    89,
693          27,    32,    34,    39,    38,    89,    22,    36,    27,    40,
694          23,    36,    89,    34,    19,    36,    19,    31,    23,    38,
695          23,    36,    -1,    31,    27,    22,    27,    89,    27,    32,
696          37,    38,    36,    39,    31,    23,    32,    38,    -1,    31,
697          27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
698          31,    23,    32,    38,    37,    -1,    31,    27,    22,    27,
699          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
700          38,    89,    31,    19,    34,    -1,    31,    27,    22,    27,
701          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
702          38,    89,    31,    19,    34,    37,    -1,    31,    27,    22,
703          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
704          27,    40,    23,    36,    -1,    31,    27,    22,    27,    89,
705          27,    32,    34,    39,    38,    89,    34,    33,    36,    38,
706          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
707          38,    89,    21,    26,    19,    32,    32,    23,    30,    -1,
708          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
709          89,    38,    43,    34,    23,    -1,    31,    27,    22,    27,
710          89,    27,    32,    34,    39,    38,    -1,    31,    27,    22,
711          27,    89,    21,    33,    32,    38,    36,    33,    30,    30,
712          23,    36,    -1,    24,    42,    89,    37,    23,    32,    22,
713          -1,    24,    42,    89,    37,    23,    32,    22,    37,    -1,
714          37,    23,    36,    40,    23,    36,    -1,    40,    33,    30,
715          39,    31,    23,    -1,    30,    23,    40,    23,    30,    -1,
716          31,    39,    38,    23,    -1,    37,    33,    30,    33,    -1,
717          20,    43,    38,    23,    37,    -1,    34,    23,    36,    21,
718          23,    32,    38,    19,    25,    23,    -1,    36,    23,    37,
719          23,    38,    -1,    31,    27,    37,    21,    23,    30,    30,
720          19,    32,    23,    33,    39,    37,    -1,    32,    19,    31,
721          23,    -1,    23,    21,    26,    33,    -1,    35,    39,    27,
722          38,    -1
723  };  };
724    
725  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
726  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
727  {  {
728         0,    90,    90,    91,    94,    95,    96,    97,   100,   101,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
729       102,   103,   104,   107,   108,   109,   110,   111,   112,   113,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
730       114,   115,   116,   117,   118,   119,   120,   123,   124,   125,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
731       126,   127,   128,   129,   132,   133,   134,   135,   136,   137,       133,   134,   135,   138,   139,   140,   141,   142,   143,   144,
732       138,   141,   142,   143,   144,   145,   146,   147,   148,   149,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
733       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       155,   158,   159,   160,   161,   162,   163,   164,   165,   166,
734       160,   161,   162,   163,   164,   165,   166,   169,   170,   171,       167,   168,   169,   170,   171,   172,   173,   174,   175,   178,
735       172,   173,   174,   177,   178,   179,   180,   183,   184,   187,       179,   180,   181,   184,   187,   188,   189,   192,   193,   194,
736       188,   191,   192,   193,   194,   195,   196,   197,   198,   199,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
737       200,   201,   204,   205,   208,   209,   212,   213,   214,   215,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
738       216,   217,   220,   221,   224,   227,   230,   233,   236,   239,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
739       240,   243,   246,   247,   250,   253,   256,   259,   262,   263,       225,   228,   229,   230,   231,   232,   233,   234,   235,   236,
740       266,   267,   268,   269,   270,   278,   279,   282,   283,   286,       237,   238,   241,   242,   243,   244,   245,   246,   249,   252,
741       287,   288,   292,   293,   296,   297,   298,   299,   300,   301,       253,   256,   257,   258,   261,   262,   265,   266,   267,   268,
742       302,   303,   304,   305,   308,   309,   310,   311,   312,   313,       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
743       314,   315,   316,   317,   319,   319,   319,   319,   319,   319,       281,   282,   285,   286,   289,   290,   293,   294,   295,   296,
744       319,   319,   319,   319,   319,   319,   319,   319,   319,   319,       297,   298,   299,   300,   301,   302,   305,   306,   309,   312,
745       319,   319,   319,   319,   319,   319,   319,   319,   319,   319,       313,   314,   317,   320,   323,   326,   329,   330,   333,   336,
746       320,   320,   320,   320,   320,   320,   320,   320,   320,   320,       339,   342,   345,   348,   349,   352,   355,   358,   361,   364,
747       320,   320,   320,   320,   320,   320,   320,   320,   320,   320,       367,   370,   373,   376,   377,   380,   381,   382,   383,   391,
748       320,   320,   320,   320,   320,   320,   321,   321,   321,   321,       392,   395,   396,   399,   400,   401,   405,   406,   409,   410,
749       321,   321,   321,   321,   321,   321,   322,   322,   322,   322,       411,   412,   413,   414,   415,   416,   417,   418,   421,   422,
750       322,   322,   322,   322,   322,   322,   322,   322,   322,   323,       423,   424,   425,   426,   427,   428,   429,   430,   432,   432,
751       323,   323,   323,   323,   323,   323,   324,   324,   324,   324,       432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
752       324,   325,   325,   325,   325,   326,   326,   326,   327,   327,       432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
753       327,   328,   328,   328,   329,   329,   329,   330,   330,   330,       432,   432,   432,   432,   433,   433,   433,   433,   433,   433,
754       331,   331,   331,   332,   332,   332,   333,   333,   333,   334,       433,   433,   433,   433,   433,   433,   433,   433,   433,   433,
755       334,   334,   335,   335,   335,   336,   336,   336,   337,   337,       433,   433,   433,   433,   433,   433,   433,   433,   433,   433,
756       337,   338,   338,   338,   339,   339,   339,   340,   340,   340,       434,   434,   434,   434,   434,   434,   434,   434,   434,   434,
757       341,   341,   341,   342,   342,   342,   343,   343,   343,   344,       435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
758       344,   344,   345,   345,   345,   346,   346,   346,   347,   347,       435,   435,   435,   436,   436,   436,   436,   436,   436,   436,
759       347,   348,   348,   348,   349,   349,   349,   350,   350,   350,       437,   437,   437,   437,   437,   438,   438,   438,   438,   439,
760       351,   351,   351,   352,   352,   352,   353,   353,   353,   354,       439,   439,   440,   440,   440,   441,   441,   441,   442,   442,
761       354,   354,   355,   355,   355,   356,   356,   356,   357,   357,       442,   443,   443,   443,   444,   444,   444,   445,   445,   445,
762       357,   358,   358,   358,   359,   359,   359,   360,   360,   360,       446,   446,   446,   447,   447,   447,   448,   448,   448,   449,
763       361,   361,   361,   362,   362,   362,   363,   363,   363,   364,       449,   449,   450,   450,   450,   451,   451,   451,   452,   452,
764       364,   364,   365,   365,   365,   366,   366,   366,   367,   367,       452,   453,   453,   453,   454,   454,   454,   455,   455,   455,
765       367,   368,   368,   371,   372,   373,   374,   377,   378,   384,       456,   456,   456,   457,   457,   457,   458,   458,   458,   459,
766       387,   390,   393,   396,   399,   402,   405,   408,   411,   414,       459,   459,   460,   460,   460,   461,   461,   461,   462,   462,
767       417,   420,   423,   426,   429,   432,   435,   438,   441,   444,       462,   463,   463,   463,   464,   464,   464,   465,   465,   465,
768       447,   450,   453,   456,   459,   462,   465,   468,   471,   474,       466,   466,   466,   467,   467,   467,   468,   468,   468,   469,
769       477,   480,   483,   486,   489,   492,   495,   498,   501,   504,       469,   469,   470,   470,   470,   471,   471,   471,   472,   472,
770       507,   510,   513,   516,   519,   522,   525,   528,   531,   534,       472,   473,   473,   473,   474,   474,   474,   475,   475,   475,
771       537,   540,   543,   546,   549,   552,   555,   558       476,   476,   476,   477,   477,   477,   478,   478,   478,   479,
772         479,   479,   480,   480,   480,   481,   481,   484,   485,   486,
773         487,   490,   491,   497,   500,   503,   506,   509,   512,   515,
774         518,   521,   524,   527,   530,   533,   536,   539,   542,   545,
775         548,   551,   554,   557,   560,   563,   566,   569,   572,   575,
776         578,   581,   584,   587,   590,   593,   596,   599,   602,   605,
777         608,   611,   614,   617,   620,   623,   626,   629,   632,   635,
778         638,   641,   644,   647,   650,   653,   656,   659,   662,   665,
779         668,   671,   674,   677,   680,   683,   686,   689,   692,   695,
780         698,   701,   704,   707,   710,   713,   716,   719,   722,   725,
781         728,   731,   734,   737,   740,   743,   746,   749,   752,   755
782  };  };
783  #endif  #endif
784    
785  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
786  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
787     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
788  static const char *const yytname[] =  static const char *const yytname[] =
789  {  {
790    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
791    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
792    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
793    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
794    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
795    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
796    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
797    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
798    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
799    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
800    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
801    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
802    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
803    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
804    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
805    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
806    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
807    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
808    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
809    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
810    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
811    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
812    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
813    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
814    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
815    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
816    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
817    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
818    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
819    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
820    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
821    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
822    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
823    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
824    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "get_instruction", "set_instruction", "create_instruction",
825    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "reset_instruction", "clear_instruction", "destroy_instruction",
826    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
827    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "buffer_size_type", "list_instruction", "load_instr_args",
828    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "load_engine_args", "instr_load_mode", "device_index",
829    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
830    "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
831      "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
832      "instrument_index", "fx_send_id", "engine_name", "filename", "map_name",
833      "entry_name", "fx_send_name", "param_val_list", "param_val", "boolean",
834      "string", "dotnum", "digits", "digit", "number", "char", "text",
835      "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
836      "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
837      "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "SELECT",
838      "CHANNEL", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",
839      "CHANNELS", "INFO", "AUDIO_OUTPUT_DEVICE_COUNT",
840      "AUDIO_OUTPUT_DEVICE_INFO", "MIDI_INPUT_DEVICE_COUNT",
841      "MIDI_INPUT_DEVICE_INFO", "MIDI_INSTRUMENT_MAP_COUNT",
842      "MIDI_INSTRUMENT_MAP_INFO", "MIDI_INSTRUMENT_COUNT",
843      "MIDI_INSTRUMENT_INFO", "CHANNEL_COUNT", "CHANNEL_INFO", "FX_SEND_COUNT",
844      "FX_SEND_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
845      "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO",
846      "INSTRUMENT", "ENGINE", "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
847    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
848    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
849    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
850    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",    "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
851    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
852    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
853    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
854    "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER",    "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
855    "VOLUME", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",    "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
856    "MISCELLANEOUS", "ECHO", "QUIT", 0    "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "SERVER", "VOLUME", "LEVEL",
857      "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME",
858      "ECHO", "QUIT", 0
859  };  };
860  #endif  #endif
861    
862  # ifdef YYPRINT  # ifdef YYPRINT
863  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
864     token YYLEX-NUM.  */     token YYLEX-NUM.  */
865  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
866  {  {
867         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
868        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
869        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
870        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
871        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
872       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
873       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
874       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
875        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
876        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
877       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
878       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
879       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
880       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
881       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
882       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
883       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
884       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
885       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
886       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
887       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
888       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
889       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
890  };  };
891  # endif  # endif
892    
893  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
894  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
895  {  {
896         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
897       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
898       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
899       232,   232,   232,   232,   233,   233,   233,   233,   233,   233,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
900         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
901       233,   234,   234,   234,   234,   234,   234,   234,   234,   234,       233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
902       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   235,
903       234,   234,   234,   234,   234,   234,   234,   235,   235,   235,       235,   235,   235,   236,   237,   237,   237,   238,   238,   238,
904       235,   235,   235,   236,   236,   236,   236,   237,   237,   238,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
905         238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
906         238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
907       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,
908       239,   239,   240,   240,   241,   241,   242,   242,   242,   242,       239,   239,   240,   240,   240,   240,   240,   240,   241,   242,
909       242,   242,   243,   243,   244,   245,   246,   247,   248,   249,       242,   243,   243,   243,   244,   244,   245,   245,   245,   245,
910       249,   250,   251,   251,   252,   253,   254,   255,   256,   256,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
911       257,   257,   257,   257,   257,   258,   258,   259,   259,   260,       246,   246,   247,   247,   248,   248,   249,   249,   249,   249,
912       260,   260,   261,   261,   262,   262,   262,   262,   262,   262,       249,   249,   249,   249,   249,   249,   250,   250,   251,   252,
913       262,   262,   262,   262,   263,   263,   263,   263,   263,   263,       252,   252,   253,   254,   255,   256,   257,   257,   258,   259,
914       263,   263,   263,   263,   264,   264,   264,   264,   264,   264,       260,   261,   262,   263,   263,   264,   265,   266,   267,   268,
915       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       269,   270,   271,   272,   272,   273,   273,   273,   273,   274,
916       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       274,   275,   275,   276,   276,   276,   277,   277,   278,   278,
917       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       278,   278,   278,   278,   278,   278,   278,   278,   279,   279,
918       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   280,   280,
919       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
920       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
921       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
922       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
923       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
924       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
925       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
926       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
927       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
928       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
929       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
930       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
931       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
932       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
933       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
934       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
935       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
936       264,   264,   264,   265,   265,   265,   265,   266,   266,   267,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
937       268,   269,   270,   271,   272,   273,   274,   275,   276,   277,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
938       278,   279,   280,   281,   282,   283,   284,   285,   286,   287,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
939       288,   289,   290,   291,   292,   293,   294,   295,   296,   297,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
940       298,   299,   300,   301,   302,   303,   304,   305,   306,   307,       280,   280,   280,   280,   280,   280,   280,   281,   281,   281,
941       308,   309,   310,   311,   312,   313,   314,   315,   316,   317,       281,   282,   282,   283,   284,   285,   286,   287,   288,   289,
942       318,   319,   320,   321,   322,   323,   324,   325       290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
943         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
944         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
945         320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
946         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
947         340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
948         350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
949         360,   361,   362,   363,   364,   365,   366,   367,   368,   369
950  };  };
951    
952  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
953  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
954  {  {
955         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
956         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
957         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
958           1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
959         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     5,     7,     9,     1,     5,     7,     9,  
        1,     1,     5,     5,     7,     9,     7,     9,     1,     5,  
        7,     5,     5,     5,     3,     1,     1,     7,     9,     7,  
        9,     3,     3,     5,     3,     5,     3,     3,     3,     3,  
        3,     5,     7,     5,     9,     5,     5,     5,     5,     5,  
        5,     5,     3,     5,     1,     1,     1,     1,     1,     1,  
        1,     1,     5,     7,     3,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,  
        1,     3,     3,     1,     1,     1,     1,     1,     2,     3,  
        4,     4,     1,     2,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     2,     2,     2,     2,     2,  
        2,     2,     2,     2,     1,     1,     1,     1,     1,     1,  
960         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
961           1,     1,     1,     1,     1,     1,     1,     1,     1,    16,
962          18,    18,    20,     7,     3,     3,     3,     1,     1,     5,
963           7,     9,     1,     5,     7,     9,     1,     1,     5,     5,
964           7,     9,     7,     9,     1,     5,     7,     5,     5,     5,
965           3,     1,     1,     3,     3,     9,     1,     5,     3,     7,
966           1,     7,     9,     7,     9,     3,     7,    11,     9,     9,
967           3,     3,     5,     3,     5,     3,     5,     7,     3,     3,
968           3,     3,     3,     5,     3,     3,     5,     7,     5,     9,
969           5,     5,     5,     5,     5,     5,     5,     5,     5,     5,
970           0,     2,     3,     5,     1,     1,     1,     1,     1,     1,
971           1,     1,     3,     3,     1,     3,     5,     7,     3,     1,
972         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
973         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
974           1,     1,     1,     1,     3,     1,     1,     1,     1,     1,
975           1,     1,     2,     3,     4,     4,     1,     2,     1,     1,
976           1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
977           2,     2,     2,     2,     2,     2,     2,     2,     1,     1,
978         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
979         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
980         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 735  static const unsigned char yyr2[] = Line 993  static const unsigned char yyr2[] =
993         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
994         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
995         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
996         1,     1,     1,     1,     1,     2,     2,     3,     3,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
997         1,     1,     3,     3,     6,     7,     4,     4,     3,     9,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
998         6,     3,     9,    11,     6,     7,    17,    30,     8,     4,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
999        13,    12,    11,    12,    11,    17,    21,    10,     6,    29,         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1000        20,    19,    29,    19,    30,    20,    17,    28,    27,    25,         2,     3,     3,     1,     1,     1,     3,     3,     3,     5,
1001        18,    17,    27,    17,    15,    18,    15,    10,     6,     6,         5,     6,     7,     4,     4,     3,     4,     7,     9,     6,
1002         4,     4,     5,    10,     5,    13,     4,     4         3,     9,    11,     6,     7,    17,    30,     8,     4,    25,
1003          24,    23,    22,    25,    24,    21,    20,    13,    12,    13,
1004          12,    11,    12,    11,    17,    21,    11,    10,     6,     9,
1005          14,    10,    29,    20,    19,    29,    19,    30,    20,    17,
1006          28,    27,    25,    18,    17,    27,    15,    16,    19,    20,
1007          17,    15,    18,    15,    10,    15,     7,     8,     6,     6,
1008           5,     4,     4,     5,    10,     5,    13,     4,     4,     4
1009  };  };
1010    
1011  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1012     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1013     means the default is an error.  */     means the default is an error.  */
1014  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1015  {  {
1016         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1017         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,    25,    26,     0,  
1018         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1019         1,   380,   381,     2,     0,     9,   232,   227,   226,   224,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1020       225,   134,   135,   136,   137,   138,   139,   140,   141,   142,         0,     0,     0,     0,     0,     0,     1,   454,   455,     2,
1021       143,   154,   155,   156,   157,   158,   159,   160,   161,   162,         0,     9,   306,   301,   300,   298,   299,   208,   209,   210,
1022       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,       211,   212,   213,   214,   215,   216,   217,   228,   229,   230,
1023       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1024       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1025       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1026       203,   204,   205,   216,   218,   219,   220,   221,   222,   223,       261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1027       228,   229,   230,   231,   233,   234,   235,   236,   237,   238,       271,   272,   273,   274,   275,   276,   277,   278,   279,   290,
1028       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       292,   293,   294,   295,   296,   297,   302,   303,   304,   305,
1029       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
1030       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1031       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,       327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
1032       279,   280,   281,   282,   283,   284,   285,   286,   287,   288,       337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
1033       289,   290,   291,   292,   293,   294,   295,   296,   297,   298,       347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
1034       299,   300,   301,   302,   303,   304,   305,   306,   307,   308,       357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
1035       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,       367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
1036       319,   320,   321,   322,   323,   324,   325,   326,   327,   328,       377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1037       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,       387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
1038       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,       397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
1039       349,   350,   351,   352,   353,   354,   355,   356,   357,   358,       407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
1040       359,   360,   361,   362,   363,   364,   365,   366,   367,   368,       417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
1041       369,   370,   371,   372,   379,    12,   144,    11,   127,    10,       427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
1042         437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
1043         453,    12,   218,    11,   201,    10,     0,     0,     0,     0,
1044           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1045           0,   456,     0,     0,     0,   457,     0,     0,   458,     0,
1046           0,     0,     0,   470,     0,     0,     0,     3,   208,   209,
1047         210,   211,   212,   213,   214,   215,   216,   217,   219,   206,
1048         220,   221,   222,   223,   224,   225,   226,   227,   291,   280,
1049         281,   282,   283,   284,   285,   286,   287,   288,   289,   202,
1050           0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
1051           0,     0,     0,    16,     0,    77,    82,    94,   101,   102,
1052           0,    86,     0,     0,     0,     0,     0,    78,     0,    87,
1053           0,     0,     0,     0,     0,   106,     0,     0,     0,     0,
1054           0,   110,     0,    14,     0,    15,     0,     0,    27,     0,
1055           0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1056           0,     0,     0,     0,     0,    19,   159,   161,   158,   156,
1057         160,   157,     0,   164,     0,     0,    20,     0,     0,    21,
1058           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
1059           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060           0,     0,     0,     0,    23,    33,    34,    35,    36,    44,
1061          45,    46,    47,    37,    41,    42,    43,    40,    39,    38,
1062          49,    50,    48,    24,    51,    52,    53,    54,    62,    63,
1063          64,    65,    55,    59,    60,    61,    58,    57,    56,    67,
1064          68,    66,   448,    25,   447,    26,     0,     0,     0,     0,
1065         463,   464,   539,     0,     0,     0,     0,     0,     0,   207,
1066           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1067           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1068           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069           0,   150,     0,     0,     0,     0,     0,     0,     0,     0,
1070         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   382,     0,     0,   383,     0,     0,     0,     0,  
        0,     0,   391,     0,     0,     3,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   145,   132,   146,   147,  
      148,   149,   150,   151,   152,   153,   217,   206,   207,   208,  
      209,   210,   211,   212,   213,   214,   215,   128,     0,    13,  
        0,     0,     0,     0,     0,     0,    14,     0,    41,    46,  
       58,    65,    66,     0,    50,     0,     0,     0,     0,     0,  
       42,     0,    51,     0,     0,     0,     0,     0,     0,     0,  
       15,     0,     0,    16,     0,     0,     0,     0,     0,    17,  
       99,   101,    98,    96,   100,    97,     0,    18,     0,     0,  
        0,     0,     0,     0,    20,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,    21,    27,    31,  
       30,    29,    28,    33,    32,    22,    34,    38,    37,    36,  
       35,    40,    39,   374,    23,   373,     0,     0,     0,   386,  
      387,   437,     0,     0,     0,     0,     0,   133,     0,     0,  
1071         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1072         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1073           0,     0,     0,     0,     0,     0,   450,   449,     0,   460,
1074           0,     0,     0,   535,     0,     0,   459,     0,     0,     0,
1075           0,     0,    32,   190,     0,     0,     0,     0,     0,     0,
1076         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1077           0,     0,     0,     0,     0,     0,     0,     0,   209,   210,
1078         211,   212,   213,   214,   215,   216,   217,     0,   103,   179,
1079         104,     0,     0,     0,     0,   108,   185,   100,     0,     0,
1080           0,     0,     0,     0,   129,   130,     0,     0,     0,   123,
1081         125,     0,   131,   132,     0,     0,     0,     0,     0,   162,
1082         163,   165,     0,   134,     0,   189,     0,   135,     0,   188,
1083          74,    75,    76,     0,     0,     0,     0,     0,     0,   115,
1084         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,   376,   375,     0,  
        0,     0,     0,   434,     0,     0,     0,     0,     0,     0,  
1085         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1086           0,     0,     0,     0,     0,     0,   121,   183,     0,   206,
1087         184,   120,   200,   199,     0,     0,     0,     0,     0,     0,
1088           0,     0,     0,     0,   128,   461,     0,   469,   473,     0,
1089         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,    64,     0,     0,    74,    76,   135,   136,   137,   138,  
      139,   140,   141,   142,   143,    77,    78,     0,     0,     0,  
        0,     0,     0,     0,    79,     0,   117,     0,    80,     0,  
      116,    19,   114,     0,     0,     0,     0,     0,     0,     0,  
       71,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,    72,   126,   125,     0,  
        0,     0,     0,     0,     0,    24,   384,     0,   390,   394,  
1090         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1091         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1092           0,     0,     0,     0,     0,     0,     0,   151,     0,     0,
1093         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1094           0,     0,     0,     0,     0,     0,   538,     0,     0,     0,
1095         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   436,     0,     0,     0,     0,     0,     0,     0,     0,  
1096         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   385,  
1097         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1098         0,    59,     0,     0,     0,    94,    95,    61,    62,    63,         0,     0,     0,     0,     0,     0,     0,     0,     0,   462,
1099        52,     0,    47,     0,     0,     0,    53,     0,    43,     0,         0,     0,     0,     0,   451,   452,     0,     0,     0,     0,
1100         0,     0,    73,     0,    75,     0,     0,     0,     0,   377,         0,     0,     0,     0,     0,     0,    95,     0,     0,     0,
1101       378,     0,     0,   115,     0,   104,     0,     0,     0,     0,       154,   155,    97,    98,    99,    88,     0,    83,     0,     0,
1102           0,    89,     0,     0,   465,   107,    79,     0,     0,     0,
1103           0,     0,     0,   180,     0,     0,     0,     0,   122,     0,
1104         124,   126,   182,   133,   187,     0,     0,     0,     0,     0,
1105           0,   186,     0,   168,     0,     0,     0,     0,     0,     0,
1106         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1107         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1108           0,     0,     0,     0,     0,     0,   203,     0,     0,     0,
1109         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1110       408,     0,   428,     0,   399,     0,     0,     0,     0,     0,         0,     0,     0,     0,   498,     0,     0,   528,     0,   529,
1111         478,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1112         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   430,  
      431,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
1113         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114         0,     0,     0,   392,     0,   395,     0,     0,   395,     0,         0,     0,     0,     0,   531,   532,     0,     0,     0,     0,
        0,     0,     0,    60,    48,     0,    56,     0,    44,    54,  
        0,     0,     0,     0,     0,   224,   225,    92,   118,   120,  
      124,     0,   132,   123,     0,     0,     0,     0,     0,   102,  
        0,     0,     0,     0,     0,     0,    81,   105,     0,   106,  
       83,   107,    85,    86,   108,     0,    87,   109,   110,    88,  
      111,     0,     0,     0,    89,   112,   113,    90,    91,    67,  
        0,    69,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,   398,     0,     0,     0,     0,     0,     0,     0,  
1115         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1116         0,     0,     0,     0,     0,     0,     0,     0,     0,   429,         0,     0,   537,     0,     0,     0,     0,     0,     0,     0,
1117         204,   205,     0,     0,     0,     0,     0,     0,     0,     0,
1118           0,     0,   471,     0,   474,     0,     0,     0,   474,   526,
1119           0,     0,     0,     0,    96,    84,     0,    92,     0,    80,
1120           0,    90,   109,     0,     0,     0,    73,   181,     0,     0,
1121         526,     0,     0,   298,   299,   152,   193,   195,   198,   197,
1122         196,   127,   192,     0,     0,     0,     0,     0,   166,     0,
1123           0,     0,     0,     0,   136,   172,     0,   173,   138,   174,
1124         140,     0,     0,   147,   148,   149,   141,   175,   142,   176,
1125         177,   143,   178,     0,   144,   145,   146,   111,     0,   113,
1126           0,   116,     0,   530,     0,     0,     0,     0,     0,     0,
1127         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1128         0,   393,     0,     0,     0,     0,   432,     0,    49,    57,         0,     0,   477,   527,     0,     0,     0,     0,     0,     0,
       55,    45,     0,     0,    93,   121,   122,     0,     0,   119,  
      129,     0,     0,     0,     0,   103,     0,     0,     0,     0,  
       82,   388,     0,    68,    70,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   130,  
      131,     0,     0,   407,     0,     0,     0,     0,     0,     0,  
1129         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,   389,     0,  
        0,     0,     0,    84,   402,     0,     0,     0,     0,     0,  
      404,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,   427,     0,   401,  
        0,   403,     0,     0,     0,     0,     0,     0,     0,     0,  
1130         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   400,   435,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,   433,     0,     0,     0,     0,     0,     0,  
1131         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   424,     0,     0,     0,     0,  
1132         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1133           0,     0,     0,   472,     0,     0,     0,     0,     0,     0,
1134         533,     0,    85,    93,    91,    81,   105,     0,     0,     0,
1135           0,     0,     0,   153,   194,     0,     0,     0,     0,   167,
1136           0,     0,     0,     0,   137,     0,     0,     0,   112,   114,
1137           0,     0,     0,   118,   119,     0,     0,     0,     0,     0,
1138         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1139         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1140         0,     0,     0,     0,     0,     0,     0,   396,     0,   421,         0,     0,     0,     0,   497,     0,     0,     0,     0,     0,
1141       423,     0,   405,     0,   421,     0,     0,     0,     0,     0,       466,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   424,   426,   405,     0,     0,     0,     0,  
        0,   420,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   411,   413,     0,     0,     0,     0,  
        0,   411,     0,     0,     0,     0,     0,   416,     0,   415,  
      410,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,   425,     0,     0,     0,     0,     0,     0,   406,     0,  
1142         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143       415,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   468,     0,
1144         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1145         0,     0,   419,     0,     0,     0,     0,     0,     0,     0,         0,   139,     0,     0,   117,     0,   491,     0,     0,     0,
1146         0,     0,     0,     0,     0,     0,   422,     0,   418,     0,         0,   496,     0,     0,     0,     0,     0,   493,     0,     0,
1147         0,     0,   417,     0,     0,   412,     0,   409,   414,   397         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1148           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1149         524,     0,     0,     0,     0,     0,   488,     0,   490,     0,
1150           0,     0,   492,     0,     0,     0,     0,     0,     0,     0,
1151           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1152           0,     0,     0,     0,     0,     0,     0,     0,   467,     0,
1153           0,     0,   487,   489,     0,     0,   536,     0,     0,     0,
1154           0,     0,     0,     0,     0,     0,     0,     0,     0,   534,
1155           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1156           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1157           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1158           0,   521,   516,     0,   516,     0,     0,     0,     0,     0,
1159           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1161           0,     0,     0,     0,     0,     0,   517,     0,     0,    69,
1162           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1164           0,     0,     0,   475,     0,   514,   520,     0,     0,   494,
1165           0,     0,   514,     0,     0,     0,     0,     0,     0,     0,
1166           0,     0,   521,   523,   525,     0,     0,     0,     0,     0,
1167         494,     0,     0,     0,     0,     0,     0,   513,     0,     0,
1168           0,     0,     0,     0,    70,    71,   191,   169,   170,   171,
1169           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1170           0,     0,     0,     0,   518,     0,   504,   506,     0,     0,
1171           0,     0,   518,     0,     0,     0,     0,   504,     0,     0,
1172           0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
1173           0,     0,   508,   503,     0,     0,     0,     0,     0,   519,
1174           0,     0,     0,    72,     0,     0,     0,     0,   522,     0,
1175           0,     0,     0,   486,     0,     0,     0,     0,     0,     0,
1176           0,   495,     0,     0,     0,     0,     0,     0,     0,     0,
1177           0,   485,     0,     0,     0,     0,     0,     0,     0,     0,
1178           0,     0,     0,     0,   508,     0,     0,     0,   482,     0,
1179           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1180           0,     0,     0,   481,     0,     0,     0,     0,     0,     0,
1181           0,     0,     0,     0,     0,     0,     0,   480,     0,   484,
1182           0,     0,     0,     0,     0,   512,     0,     0,     0,     0,
1183         479,   483,     0,     0,     0,     0,     0,   499,     0,     0,
1184           0,     0,     0,     0,     0,   515,     0,   501,     0,   511,
1185           0,     0,     0,   510,     0,     0,     0,   505,     0,     0,
1186         502,   507,   476,     0,   500
1187  };  };
1188    
1189  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1190  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1191  {  {
1192        -1,    12,    13,    14,    15,   397,   405,   336,   384,   360,        -1,    13,    14,    15,    16,   342,   444,   463,   383,   385,
1193       363,   377,   550,   682,   664,   369,   534,   538,   826,   828,       419,   353,   425,   393,   485,   388,   397,   416,   679,   640,
1194       830,   833,   836,   839,   844,   541,   692,   539,   535,   807,       878,   849,   405,   663,   667,  1524,  1074,  1076,  1078,  1086,
1195       808,   566,   809,   810,   811,   266,   542,   268,   414,   536,      1088,  1091,   628,   872,  1046,   881,   706,   635,   890,   883,
1196       746,    43,    44,    16,    17,    18,    19,    20,    21,   838,       668,   664,   592,  1525,  1061,  1055,  1056,   711,  1057,  1058,
1197       537,    22,    23,    24,    25,    26,   329,   338,   339,   340,       708,   272,   636,   274,   483,  1060,   970,    49,    50,    17,
1198       496,   398,   399,   400,   401,   402,   341,   342,   378,   343,        18,    19,    20,    21,    22,    23,    24,    25,  1090,  1084,
1199       386,   344,   345,   346,   347,   348,   349,   553,   350,   388,      1085,   641,    26,    27,    28,    29,    30,   343,   355,   356,
1200       351,   352,   353,   354,   355,   356,   556,   557,   558,   357,       357,   604,   445,   446,   447,   448,   449,   450,   451,   452,
1201       559,   560,   561,   665,   666,    27,   404,   390,    28       453,   454,   455,   456,   457,   458,   459,   358,   359,   461,
1202         417,   360,  1527,  1528,  1529,   427,   361,   362,   363,   364,
1203         365,   366,   682,   367,   429,   368,   369,   370,   371,   372,
1204         373,   344,   375,   376,   377,   686,   687,   688,   702,   378,
1205         379,   380,   381,   703,   690,   691,   850,   851,    31,   462,
1206         697,   434,    32
1207  };  };
1208    
1209  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1210     STATE-NUM.  */     STATE-NUM.  */
1211  #define YYPACT_NINF -750  #define YYPACT_NINF -1118
1212  static const short int yypact[] =  static const yytype_int16 yypact[] =
1213  {  {
1214        53,  -750,  -750,     7,    -5,    33,    50,     3,    43,   121,        57, -1118, -1118,    19,   165,    48,    74,   223,   115,   126,
1215         0,   104,   150,  -105,  1650,  -750,   -47,   -47,   -47,   -47,       132,    60,   178,   172,   -34,  2124, -1118,    16,    16,    16,
1216       -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,  -750,   187,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1217       206,   193,   209,   194,   229,   222,    76,    -3,   230,   216,        16,    16, -1118,   233,   280,   299,   242,   306,   309,   333,
1218      -750,  -750,  -750,  -750,    31,  -750,  -750,  -750,  -750,  -750,       320,   339,   263,   164,   340,   286, -1118, -1118, -1118, -1118,
1219      -750,  -750,   269,   269,   269,   269,   269,   269,   269,   269,       145, -1118, -1118, -1118, -1118, -1118, -1118, -1118,   489,   489,
1220       269,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,       489,   489,   489,   489,   489,   489,   489, -1118, -1118, -1118,
1221      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1222      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1223      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1224      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1225      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1226      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1227      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1228      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1229      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1230      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1231      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1232      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1233      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1234      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1235      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1236      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1237      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1238      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1239      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1240      -750,  -750,  -750,  -750,  -750,  2757,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1241       234,    72,    65,    65,    80,     5,   234,    85,    39,    39,     -1118,  2789, -1118, -1118, -1118, -1118,   140,   166,   342,   342,
1242      1872,   234,  -750,   238,   221,  -750,   223,   240,   225,   227,       351,   109,   109,   138,   184,   140,    79,    87,    87,  2346,
1243       241,   243,  -750,   231,   228,  -750,  -750,  -750,  -750,  -750,       375, -1118,   379,   381,   366, -1118,   369,   386, -1118,   371,
1244      -750,  -750,  -750,  -750,  -750,  -750,   269,  -750,   269,   269,       377,   398,   410, -1118,   397,   416,   407, -1118, -1118, -1118,
1245       269,   269,   269,   269,   269,   269,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,   489, -1118,
1246      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   244,  -750,       489,   489,   489,   489,   489,   489,   489,   489, -1118, -1118,
1247       122,   245,   237,   246,   265,   256,  -750,   -47,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1248      -750,  -750,  -750,   -47,  -750,   -47,   -47,   -47,   -47,   -47,       411,   420, -1118, -1118,    16,   256,   422,   418,   409,   426,
1249      -750,   -47,  -750,   -47,   -47,   -47,   -47,   -47,   251,   264,       431,   423,   424, -1118,    16, -1118, -1118, -1118, -1118, -1118,
1250      -750,   -47,   -47,  -750,   -47,   -47,   134,   266,   268,  -750,        16, -1118,    16,    16,    16,    16,    16, -1118,    16, -1118,
1251      -750,  -750,  -750,  -750,  -750,  -750,   261,  -750,   -47,   -47,        16,    16,    16,    16,    16, -1118,    16,    16,    16,    16,
1252       -47,   275,   294,   289,  -750,   -47,   -47,   -47,   -47,   -47,        16, -1118,   428, -1118,    16, -1118,    16,   432, -1118,    16,
1253       -47,   278,   292,   293,   281,   288,   290,  -750,  -750,  -750,       419,   421,   434, -1118,    16,    16,    16, -1118,    16,    16,
1254      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,        16,   281,   436,   425,   437, -1118, -1118, -1118, -1118, -1118,
1255      -750,  -750,  -750,  2757,  1872,  -750,   -47,   286,   291,  -750,     -1118, -1118,    16, -1118,    16,   433, -1118,    16,    16, -1118,
1256      -750,  -750,   285,   297,   305,   316,   323,  -750,   325,   326,        16,    16,   430,   449,   445, -1118,    16,    16,    16,    16,
1257       332,   333,   320,   331,   318,   319,    60,   328,   328,   328,        16,    16,    16,    16,    16,   435,   438,   447,   439,   446,
1258       328,   328,   328,   328,   328,   328,   328,   328,   328,   334,       448,   440,   450,   451, -1118, -1118, -1118, -1118, -1118, -1118,
1259       336,  2757,  2757,   295,   295,   337,   341,   339,   329,    21,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1260      2757,   295,   340,   342,   345,    18,   295,   295,   295,   295,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1261      2978,   352,   350,   343,   346,   347,   351,  2757,  -750,   295,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1262       354,   348,   356,  -750,   349,   353,   355,   358,   357,   359,     -1118, -1118,  2789,  2346, -1118, -1118,    16,   444,   452,   453,
1263       361,   364,   367,   360,   369,   363,   -47,   -47,   -47,   -47,     -1118, -1118, -1118,   442,   454,   464,   465,   459,   467, -1118,
1264       -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,       475,   473,   120,   474,   501,   502,   497,   441,   504,   487,
1265       -47,  -750,   370,   371,  1872,  1872,   269,   269,   269,   269,       486,   498,   133,   505,   505,   505,   505,   505,   505,   505,
1266       269,   269,   269,   269,   269,  -750,  -750,   375,   372,   376,       505,   505,   505,   568,   505,   505,   505,   505,   500,   505,
1267       368,  1872,  1872,   374,  -750,   -47,  -750,   -47,  -750,   -47,       507,   495,   500,   509,   568,   511,   456,   513,  2789,  2789,
1268      2757,  -750,  -750,   381,   377,   382,   344,    78,   378,   379,       500,   500,   500,   500,   515,   519,   457,   517,   568,   500,
1269      -750,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,       503,     4,  2789,   500,   568,   520,   521,   526,   101,   500,
1270       -47,   -47,   -47,   -47,   -47,   -47,  -750,  2757,  -750,   389,       500,   500,   500,   522,   144,   255,  3008,   527,   528,   532,
1271       383,   393,   373,   397,   396,  -750,  -750,   380,  -750,  -750,       466,   508,    47,   523,   531,   530,  2789, -1118,   500, -1118,
1272       391,   398,   388,   392,   394,   390,   395,   366,   403,   399,       535,   533,   537, -1118,   534,   529, -1118,   516,   538,   544,
1273       404,   295,    37,   295,   295,  2757,   295,  2757,  2757,   295,      2346,  2346, -1118, -1118,   546,   547,   556,   576,   577,   586,
1274       295,   295,   295,  2757,  2757,   295,   400,   384,  2757,  2757,       580,   602,   583,   591,    16,    16,    16,    16,    16,    16,
1275       401,   407,   385,   405,  1206,  1428,   408,   295,   176,   295,        16,    16,    16,    16,    16,    16,    16,    16,   489,   489,
1276       402,  -750,   386,   409,   410,   406,   412,   413,   295,   295,       489,   489,   489,   489,   489,   489,   489,   594, -1118, -1118,
1277       295,   295,   295,   295,   295,   295,   295,   295,   295,  2757,     -1118,    16,    16,    16,    16, -1118, -1118, -1118,   598,   595,
1278       295,  2757,   295,   422,   414,   424,   411,   418,   426,  -750,       500,    16,    16,   603, -1118, -1118,   604,   592,   605,  2346,
1279       416,   420,   434,   387,   439,   436,   437,   435,   425,   429,      2346,    16, -1118, -1118,    16,   610,   606,   607,   613, -1118,
1280       430,  -750,   421,   442,   -47,  -750,  -750,  -750,  -750,  -750,     -1118, -1118,   608, -1118,    16, -1118,    16, -1118,    16,  2789,
1281      -750,  1872,  2757,   -47,   -47,   -47,  -750,  1872,  2757,   -47,     -1118, -1118, -1118,   614,   612,   616,   609,   159,   617, -1118,
1282       432,   440,   -47,  3199,   -47,   445,   443,   441,   431,  -750,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1283      -750,   446,   -47,  -750,   -47,  -750,   462,   444,   450,   451,        16,    16,    16,    16,    16,    16,   628,    16,   615,   629,
1284       449,   447,   457,   -47,   -47,   -47,   -47,   -47,   -47,   -47,       630,    16,    16,    16,   489,   489, -1118, -1118,   207,    27,
1285       -47,   -47,   -47,   -47,  3420,   -47,  3641,   -47,   433,   456,     -1118, -1118,  2789, -1118,   631,   632,   623,   624,   640,   635,
1286       467,   470,   463,   464,   475,   476,   472,   480,   494,   485,       642,   641,   662,   663, -1118, -1118,   646, -1118, -1118,   658,
1287      -750,   487,  -750,   483,  -750,   516,   519,   295,  2757,   295,       671,   661,   611,  1680,  1902,   664,   665,   666,   667,   673,
1288       295,   295,  2757,   295,   523,   525,  2757,  2094,   526,   528,       618,   678,   672,   674,   670,   500,    89,   500,   500,  2789,
1289       530,   529,   532,   295,   295,   531,   533,   534,   477,  -750,       500,  2789,  2789,   500,   500,   500,   500,  2789,   500,   676,
1290      -750,   537,   295,   295,  2757,   295,   295,   226,  2757,   295,       500,  2789,   500,   500,   619,   677,    16, -1118,   500,   621,
1291       185,  2978,  2978,  2094,  2757,  2094,  2757,   481,   539,   541,       679,   680,   622,  2789,  2789,   500,   500,   681,   683,   690,
1292       484,   535,   551,  -750,   554,  -750,   538,   546,   542,   544,       627,   668,   500,   120,   500,   684, -1118,   633,   698,   699,
1293       548,   559,   566,  -750,  1872,   -47,  -750,   -47,  1872,  -750,       685,   694,   500,   500,   500,   500,   500,   500,   500,   500,
1294       549,   556,  3862,  2757,  2757,   269,   269,   588,  -750,  2757,       500,   500,   500,   500,  2789,   500,  2789,   500,   695,   500,
1295      -750,   114,    10,  -750,   553,   542,   560,   570,   563,  -750,       703,   688,   707,   500,   500,   500,   275,   414,   489,   697,
1296       -47,   558,   564,   513,   576,   581,  -750,  -750,   -47,  -750,       708,   700,   710,   715,   656,   712,   727,   717,   725, -1118,
1297      -750,  2757,  -750,  -750,  -750,   575,  -750,  -750,  -750,  -750,       729,   714,   730,   732, -1118, -1118,   682,   735,   738,   740,
1298      2757,   -47,   269,   269,  -750,  -750,  -750,  -750,  -750,   588,       733,   739,   731,   686,   745,   736, -1118,   737,   749,    16,
1299      4083,   588,  4304,   582,   518,   589,   590,   577,   579,   586,     -1118, -1118, -1118, -1118, -1118, -1118,  2346,  2789,    16,    16,
1300       578,   591,  -750,   574,   592,   580,   595,  2757,  2757,  2757,        16, -1118,  2346,    16, -1118, -1118,  2789,    16,    16,   746,
1301      2757,   583,   584,  2094,  2315,  2536,   154,   173,  2094,   269,       687,   500,    16, -1118,   747,   692,   751,   752,    16,  3227,
1302       587,   593,   596,   598,   295,   597,   594,   601,   599,  -750,        16,    16, -1118, -1118, -1118,   696,   763,   755,   761,   750,
1303       295,   585,   295,  2094,  2094,   600,   118,   604,   605,   602,        16, -1118,    16, -1118,   701,   764,   765,   766,   771,   769,
1304       603,  -750,   606,   550,   607,   609,  -750,   611,   -47,  2757,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1305      2757,   -47,   610,   608,   588,  -750,  -750,   269,   269,  -750,        16,    16,  3446,    16,  3665,    16,   773,    16,   770,   775,
1306       269,   613,   612,   614,   618,  -750,   617,   615,   616,   620,       772,    16,    16,    16,   489,   489,   489,   716,   767,   783,
1307      -750,  -750,   -47,   588,   588,   627,   628,   631,   625,   626,       776,   780,   785,   784,   782,   726,   728,   793,   791,   789,
1308       645,   635,   629,   115,   552,   646,   632,   633,   619,   269,       792,   788,   805,   797, -1118,   806,   798, -1118,   795, -1118,
1309       269,   634,   621,  -750,   641,   636,   622,   638,   639,   226,     -1118,   794,   800,   500,  2789,   500,   500,   500,  2789,   500,
1310       644,   642,   656,   649,   651,   661,   647,   648,   660,   655,       500,   500,   799,   802,    16,   500,   807,   796,   815,   808,
1311       674,    99,   623,   684,   666,   683,   668,   685,  -750,   675,      2789,  2568,   120,   809,   816,   827,   818,   820,   500,   500,
1312       113,   680,   677,  -750,  -750,   686,   687,   678,   681,   637,       821,   823,   825,   778, -1118, -1118,   500,   500,  2789,   500,
1313      -750,   643,   694,   696,   700,    15,   695,   709,   708,   650,       134,   500,   568,  2789,   500,   255,  3008,  3008,  2568,  2789,
1314       711,   652,   713,   653,   714,   707,   704,   659,   706,  -750,      2568,  2789, -1118,   120,   826,   830,   779,   500,   500,   500,
1315       715,  -750,   724,   183,   733,   735,   737,   725,   741,   734,       489,   489,   828,   781,   832,   834,   787,   833,   839,   810,
1316       736,   748,   750,   738,   752,   744,   202,   746,   740,   739,       824,   817, -1118,   851, -1118,   835,   841,   844,   845,   846,
1317        64,  -750,  -750,   754,   755,    58,   756,   758,   699,   764,       102,   848,   855,   863, -1118,  2346,    16, -1118,    16,  2346,
1318       757,   760,   753,  -750,   772,   769,   777,   774,   776,   780,        16, -1118, -1118,   860,   868,   500, -1118, -1118,   866,   865,
1319       779,   766,   718,   782,   783,   775,   770,   793,   781,   790,     -1118,   871,  3884,   489,   489,   904, -1118,  2789, -1118, -1118,
1320       730,   797,   795,   802,   801,   743,   796,   785,   806,   789,     -1118, -1118, -1118,   873,   845,   846,   175,   890, -1118,    16,
1321       812,   815,   798,   814,   743,    12,   818,   803,   807,   808,       875,   211,   829,   888, -1118, -1118,    16, -1118, -1118,  2789,
1322       810,   816,   804,   817,   811,   813,   826,   819,   820,   821,     -1118,   893,   884, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1323       829,   830,   831,   837,   836,   842,   847,   845,   832,   840,     -1118, -1118,  2789,    16, -1118, -1118, -1118,   904,  4103,   904,
1324       835,   856,   846,   848,   862,   863,   850,  -750,   851,   853,      4322, -1118,   831, -1118,   898,    16,    16,    16,   882,   899,
1325       805,   868,   809,   870,  -750,   871,   853,   861,   874,   822,       836,   837,   895,   241,   905,   906,   896,   897,   908,   894,
1326       877,   865,   869,  -750,  -750,  -750,   879,   880,   864,   859,       900,   910, -1118, -1118,   889,   901,   913,   907,   914,  2789,
1327       875,  -750,   873,   884,   878,   881,   892,   893,   898,   888,      2789,  2789,  2789,   500,   903,   920,    16,   909,   912,   915,
1328       896,   902,   908,   903,   895,   852,   900,   897,   917,   920,      2568,  2568,   917,   921,   918,   911,   500,   926,   927,   919,
1329       921,  -750,   895,   912,   855,   926,   914,  -750,   918,   858,       916,   500,   922,   933,   500,  2568,  2568,   935,   936,   500,
1330      -750,   915,   911,   866,   916,   922,   909,   858,   923,   924,       500,   255,   932,   924,   297,   298,   939,   938,   934,   942,
1331       935,  -750,   925,   942,   927,   940,   944,   941,  -750,   947,       945,   948,   940, -1118,   944,   949,   856,   946,   950,   961,
1332       950,   945,   951,   936,   882,   946,   949,   938,   948,   952,     -1118,   953,    16,  2789,  2789,    16, -1118,   951,   971,  2789,
1333      -750,   953,   958,   956,   954,   962,   963,   968,   965,   971,       959,   967,   965,   904, -1118,   970,   974,   969,   976, -1118,
1334       960,   957,   955,   959,   964,   961,   966,   967,   973,   972,       981,   978,   979,   243, -1118,  1000,   930,    16,   904,   904,
1335       978,   979,  -750,   980,   982,   983,   969,   974,   975,   977,       983,   994,    16, -1118, -1118,   993,   998,   996,  1001,  1002,
1336       970,   981,   984,   986,   992,   987,  -750,   993,  -750,   995,      1004,  1010,   999,  1005,  1015,  1007,  1027,  1017,  1011,  1012,
1337       985,   989,  -750,   990,   991,  -750,   994,  -750,  -750,  -750       177,   963,  1014,  1032,  1018,  1019,  1030,    16,  1023,  1025,
1338         968,  1028,   977,  1029, -1118,  1031,   980,  1033,  1034,  1035,
1339       -1118,   568,  1037,  1038,   500,  1040,  1047,  1041,  1057,  1043,
1340        1061,  1053,  1006,  1048,  1055,  1062,  1070,  1058,  1066,  1060,
1341        1063,  1067,  1073,    52,  1072,  1016,  1082,  1075, -1118,   120,
1342        1076,  1071,  1086,  1074,  1088,  1080,  1077,   171,  1083,  1081,
1343        1084, -1118,  1089,  1068, -1118,  1087, -1118,  1090,  1091,  1094,
1344        1097, -1118,  1098,  1096,  1092,  1095,  1045, -1118,  1109,  1049,
1345        1114,  1112,  1117,    54,  1107,  1118,  1123,  1120,  1124,    16,
1346        1125,  1065,  1126,  1078,  1127,  1128,  1079,  1129,  1113,  1116,
1347        1085,  1121,  1130,  1131,  1093,  1122, -1118,  1132, -1118,  1142,
1348        1143,  1136, -1118,  1154,  1144,   354,  1150,  1151,  1152,  1140,
1349        1156,  1145,  1153,  1155,  1161,  1157,   500,  1159,  1165,  1158,
1350        1171,  1160,  1162,   356,  1164,  1163,  1167,    51, -1118,  1168,
1351        1166,  1173, -1118, -1118,  1169,  1170, -1118,  1174,  1172,  1175,
1352         131,  1178,  1180,  1134,  1186,  1176,  1177,  1179,  1181, -1118,
1353        1183,    16,  1187,  1191,  1192,  1195,  1197,  1190,  1203,  1208,
1354        1205,  1196,  1146,  1207,  1204,  1193,  1149,  1209,  1217,  1214,
1355        1210,  1213,  1182,  1227,  1215,  1220,  1188,  1234,  1233,  1240,
1356        1239,  1189,    24,  1231, -1118,   255,  1228,  1224,  1247,  1229,
1357        1249,    28,  1253,  1235,  1255,  1189,    83,  1261,  1245,  1248,
1358        1262,  1263,  1244,  1264,  1198,  1256,  1258,  1259,  1265,  1250,
1359        1260,  1257,  1266,  1272,  1267,  1268, -1118,  1269,  1270,    16,
1360        1274,  1273,  1278,  1283,  1276,  1277,  1284,  1287,  1286,  1271,
1361        1281,  1279,  1292,  1280,  1291,  1296,   137,  1282,  1302,  1290,
1362        1303,  1300,  1288, -1118,  1294,  1289,  1236,  1310,  1311,  1242,
1363           6,  1312, -1118,  1315,  1289,  1313,  1305,  1317,  1251,  1320,
1364        1307,  1314, -1118, -1118, -1118,  1321,  1254,  1316,  1318,  1325,
1365       -1118,  1319,  1322,  1324,  1323,  1326,  1309, -1118,  1327,  1329,
1366        1328,  1332,  1334,  1331,    16, -1118, -1118, -1118, -1118, -1118,
1367        1333,  1337,  1335,  1344,  1345,  1336,  1339,  1349,  1350,  1351,
1368         310,  1338,  1354,  1341, -1118,  1352,  1342,  1295,  1346,  1343,
1369        1364,  1366,  1353,  1367,  1298,  1355,   120, -1118,  1342,  1353,
1370        1358,  1304,  1370,  1360, -1118,  1365,  1308,  1361,  1368,  1369,
1371        1363,  1330,  1340, -1118,  1371,  1359,  1347,  1372,  1373, -1118,
1372        1357,  1380,  1374, -1118,  1340,  1375,  1376,  1383, -1118,   311,
1373        1377,  1379,  1382, -1118,   313,  1381,  1388,  1384,  1391,  1395,
1374        1387, -1118,  1394,  1396,  1399,  1402,  1398,  1392,  1400,  1401,
1375        1393, -1118,  1397,  1403,  1405,  1404,  1348,  1406,  1407,  1408,
1376        1410,  1411,  1409,  1412, -1118,  1413,  1415,  1416, -1118,  1414,
1377        1425,  1419,  1431,  1434,  1430,  1435,  1436,  1441,  1423,  1443,
1378        1442,  1432,  1433, -1118,  1437,  1438,  1448,  1439,  1440,  1428,
1379        1444,  1447,  1445,  1449,  1453,  1450,  1455, -1118,  1457, -1118,
1380        1454,  1451,  1446,  1452,  1456, -1118,  1458,  1459,  1464,  1473,
1381       -1118, -1118,  1474,  1460,  1461,  1463,  1466,  1389,  1462,  1465,
1382        1468,  1467,  1483,  1484,  1471, -1118,  1485, -1118,  1487, -1118,
1383        1489,  1477,  1478, -1118,  1482,  1480,  1481, -1118,  1486,  1488,
1384       -1118, -1118, -1118,  1497, -1118
1385  };  };
1386    
1387  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1388  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1389  {  {
1390      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1391      -750,  -750,  -750,  -593,  -750,  -750,  -750,  -750,  -626,  -467,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1392      -750,  -268,    62,  -750,  -750,  -477,   242,   427,   417,  -749,      -743, -1118, -1118, -1118, -1118, -1118,  -914, -1117, -1118,   197,
1393       147,  -563,   317,   260,    11,   -10,   -14,   298,  -304,  -750,       104, -1118,  -511,  -833,  -991,   192,  -973,  -487,  -955,  -893,
1394       -13,   988,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,      -729,  -782,   518,  -199, -1118,  -941,   290,  -609,   493,  -546,
1395      -750,  -750,  -750,  -750,  -750,  -750,   -23,   762,   763,   765,       -14,   118,     2,   151,  -200,  -484,   -15,  1470, -1118, -1118,
1396      -224,   759,   761,  -258,  -257,  -256,   -49,  -750,  -750,   767,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,  -453, -1118,
1397      -750,   771,  -255,  -750,  -750,   773,   569,  -750,   778,  -750,     -1118,   883, -1118, -1118, -1118, -1118, -1118,  -155,  1241,  1243,
1398       784,   786,  -253,  -750,  -750,   630,  -750,  -750,  -750,  -750,      1246,  -283,  1237,  1252,  1275,  1285,  1293,  1297,  1299,  1301,
1399      -750,  -750,  -750,  -750,  -750,  -750,   768,  -750,  -750      1306,  1356,  1362,  1378,  -258,  -255,  -253,   105, -1118,  1385,
1400       -1118,  1238, -1118, -1118, -1118, -1118,  1386,  -256, -1118, -1118,
1401        1390,  -223, -1118,  1620, -1118,  1838,  2063,  -254, -1118,   116,
1402          50,  -222,  2064, -1118,   972, -1118, -1118, -1118, -1118,    86,
1403        2285, -1118,  -257, -1118, -1118, -1118, -1118, -1118, -1118,  2281,
1404       -1118, -1118, -1118
1405  };  };
1406    
1407  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1408     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1409     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1410     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1411  #define YYTABLE_NINF -145  #define YYTABLE_NINF -219
1412  static const short int yytable[] =  static const yytype_int16 yytable[] =
1413  {  {
1414       267,   269,   575,   270,   271,   272,   273,   274,   275,   276,       275,   892,   276,   277,   278,   279,   280,   281,   282,   283,
1415       277,   278,   279,   280,   281,  -144,   684,   361,   364,   362,       284,   285,   286,   287,   288,   289,   290,   273,   593,   707,
1416       365,   408,   409,   410,   849,    37,   851,   531,   532,   291,       854,   642,  1094,   644,  1069,   394,   398,   395,   399,   433,
1417       332,    29,    33,    30,   376,  1097,  1044,   292,    34,   546,       476,   880,  -218,   477,  1204,   478,   639,   659,   964,  1522,
1418      1017,    38,   307,   307,   307,   307,   307,   307,   307,   307,      1523,    33,  1212,   671,   318,   320,   321,   322,   323,   324,
1419       307,   547,  1098,  1018,     1,   533,     2,   548,    31,   662,       325,   326,   327,   651,  1136,   374,   654,  1097,     1,  1099,
1420       549,   391,   392,   306,   308,   309,   310,   311,   312,   313,         2,  1456,   661,   421,   431,  1456,   670,   665,  1042,   719,
1421       314,   315,   393,   663,     3,    32,     4,     5,   394,   395,       630,    36,  1403,  1322,  1313,  1080,     3,  1349,     4,     5,
1422         6,   396,   391,  1058,    35,     7,   358,  1053,  1000,   495,      1093,   645,     6,    43,   720,  1404,  1314,     7,     8,  1405,
1423         8,     9,    10,   330,    11,   331,  1059,   332,   359,   394,      1350,   724,     9,    10,    11,   660,    12,    37,   422,    44,
1424      1054,   366,   396,   367,  1055,   333,   381,   624,   328,   289,       340,   672,   423,   391,  1468,  1393,   435,   436,   437,   847,
1425       382,   334,   335,   368,   661,   290,   667,   668,   383,   625,       424,   438,   439,  1457,  1105,  1106,  1107,  1464,   440,   352,
1426        41,    42,   879,   995,   914,   296,   297,   298,   299,   300,       676,  1469,   354,   848,   441,   442,  1040,   443,   390,   766,
1427       301,   302,   303,   304,   305,   996,   968,  1004,    39,   832,       420,   426,   677,   391,    40,   486,  1124,  1294,   678,  1125,
1428       969,   936,   695,   841,   933,   934,    36,   937,   970,  1005,       392,   352,  1186,   308,   618,   619,   620,   621,   622,   623,
1429        40,   703,   704,   705,   706,   707,   708,   709,   710,   711,       624,   625,   626,   436,  1414,    42,  1081,   401,  1507,   402,
1430       712,   713,   917,   429,   430,   296,   297,   298,   299,   300,       603,   340,   403,   698,  1508,    41,  1082,  1415,  1509,   404,
1431       301,   302,   303,   304,   305,   455,   430,   264,   497,   498,       441,   341,    46,   443,   699,   700,   319,   319,   319,   319,
1432       499,   918,   531,   532,   296,   297,   298,   299,   300,   301,       319,   319,   319,   319,   319,   345,   789,   346,  1214,   347,
1433       302,   303,   304,   305,   842,   843,   296,   516,   517,   518,       348,    47,    48,  1327,   302,    34,  1270,   349,   790,  1193,
1434       519,   520,   521,   522,   523,   524,  1034,  1035,   847,   848,      1271,    35,   303,   350,   351,  1328,   352,   347,  1272,  1143,
1435       551,   282,   554,   500,   501,   502,   503,   504,   505,   506,        45,   415,  1144,   818,  1208,  1209,   308,   309,   310,   311,
1436       507,   508,   509,   510,   511,  1048,  1049,   614,   615,   403,       312,   313,   314,   315,   316,   317,   590,   591,   590,   591,
1437       411,   283,   284,   286,  -144,  -144,  -144,   296,   516,   517,       608,   609,   610,   611,   612,   613,   614,   615,   616,   617,
1438       518,   519,   520,   521,   522,   523,   524,   835,   337,   285,       270,   631,   632,   633,   634,  1148,   637,   863,  1119,   865,
1439       287,   288,   293,   380,   385,   294,    41,   328,   416,   417,        38,  -218,  -218,  -218,   605,   291,    39,   606,   846,   607,
1440       793,   418,   422,   419,   420,   421,   423,   415,   424,   426,       852,   853,   704,   705,   308,   618,   619,   620,   621,   622,
1441       425,   432,   428,   431,   908,   433,   819,   911,    -4,    -4,       623,   624,   625,   626,   484,  1167,   868,  1248,  1168,   294,
1442       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,      1119,   924,    -4,    -4,   308,   309,   310,   311,   312,   313,
1443       434,   435,   449,   450,   456,   458,   427,   457,   427,   427,       314,   315,   316,   317,   300,   503,   504,   893,   917,   665,
1444       427,   427,   427,   427,   427,   427,   296,   516,   517,   518,       301,   689,   680,   292,   683,   900,   901,   902,   903,   904,
1445       519,   520,   521,   522,   523,   524,   462,   463,   464,   471,       905,   906,   907,   908,   909,   910,   911,   305,  1217,  1219,
1446       472,   474,   473,   475,   436,   476,   480,   482,   484,   481,       544,   504,   293,   306,  1218,  1220,   921,   922,   923,   502,
1447       437,   265,   438,   439,   440,   441,   442,   483,   443,   485,       389,  1567,  1607,   412,  1612,   681,   684,  1568,  1608,   512,
1448       444,   445,   446,   447,   448,   486,   487,   491,   451,   452,      1613,   701,   590,   591,   295,   513,   296,   514,   515,   516,
1449       488,   453,   454,   489,   490,   492,   493,   495,   512,   494,       517,   518,   297,   519,   298,   520,   521,   522,   523,   524,
1450       513,   527,   528,   529,   543,   459,   460,   461,   530,   545,       304,   525,   526,   527,   528,   529,   299,   396,   400,   531,
1451       544,   570,   465,   466,   467,   468,   469,   470,   569,   576,        47,   532,   432,   382,   534,  1379,  1380,  1398,  1399,   538,
1452       574,   578,   571,   577,   572,   623,   583,   573,   584,   579,       539,   540,   387,   541,   542,   543,  1182,  1095,  1096,  1185,
1453       589,   580,   582,   586,   581,   585,   587,   590,   646,   606,       733,   734,   460,   479,   384,   386,   340,   548,   487,   549,
1454       607,   478,   588,   479,   610,   612,   611,   925,   613,   616,       488,  1391,   551,   552,   489,   553,   554,   490,   491,   492,
1455       620,   622,   621,   626,   627,   643,   645,   644,   647,   648,       493,   558,   559,   560,   561,   562,   563,   564,   565,   566,
1456       650,   651,   652,   930,   655,   649,   654,   653,   658,   656,       925,   494,   339,   308,   309,   310,   311,   312,   313,   314,
1457       660,   659,   721,   698,   699,   680,   685,   696,   724,   525,       315,   316,   317,   495,   496,   497,   499,   500,   499,   499,
1458       526,   686,   691,   688,   701,   702,   700,   718,   719,   720,       499,   499,   499,   499,   499,   499,   498,   501,   505,   707,
1459       722,   723,   562,   563,   564,   565,   568,   657,   725,   726,       506,   507,  1459,   508,   509,   530,   510,   511,   535,   533,
1460       728,   729,   730,   732,   731,   734,   735,   736,   749,   745,      1237,   537,   545,   536,   547,   550,  1034,   546,   577,   555,
1461       750,   777,   751,   756,   759,   681,   687,   697,   727,   757,       556,   578,   557,   569,   567,   572,   571,   568,   573,  1083,
1462       758,   778,   760,   591,   592,   593,   594,   595,   596,   597,       579,   570,   582,   574,   575,   584,   585,   587,  1062,   581,
1463       598,   599,   600,   601,   602,   603,   604,   605,   761,   779,       580,  1068,   583,   586,   588,   589,   594,  1319,   308,   309,
1464       783,   608,   609,   780,   785,   784,   307,   307,   307,   307,       310,   311,   312,   313,   314,   315,   316,   317,   271,   308,
1465       307,   307,   307,   307,   307,   786,   787,   788,   415,   415,       618,   619,   620,   621,   622,   623,   624,   625,   626,   593,
1466       733,   789,   617,   744,   618,   790,   619,   306,   308,   309,       595,   596,   597,   600,   601,   629,   599,   639,   602,   638,
1467       310,   311,   312,   313,   314,   315,   748,   752,   628,   629,       598,   643,   603,   646,   629,   648,   629,   655,   656,   658,
1468       630,   631,   632,   633,   634,   635,   636,   637,   638,   639,       662,   718,   673,   652,   653,   647,   657,   674,   675,   714,
1469       640,   641,   642,   755,   781,   782,   791,   792,   800,   801,       629,   716,   715,   730,   696,   717,   629,   723,   725,   721,
1470       815,   814,   817,   327,   816,   818,   821,   822,   824,   823,       727,   692,   693,   694,   695,   729,   726,   710,   713,   722,
1471       825,   854,   853,   855,   858,   856,   859,   857,   861,   860,       731,   732,   728,   735,   736,   484,   484,   308,   618,   619,
1472       863,   862,   670,   864,   865,   673,   674,   675,   676,   866,       620,   621,   622,   623,   624,   625,   626,   627,   737,   745,
1473       871,   679,   872,   878,   880,   882,   881,   413,   883,   885,       746,   747,   748,   749,   750,   751,   752,   753,   754,   755,
1474       886,   478,   478,   693,   887,   888,   889,   891,   895,   896,       756,   757,   758,   738,   318,   320,   321,   322,   323,   324,
1475       897,   901,   899,   898,   900,   904,   903,   931,   902,   906,       325,   326,   327,   740,   739,   707,   760,   761,   762,   763,
1476       907,   905,   924,   912,   932,   913,   715,   921,   717,   935,       741,   742,   743,   744,   759,   764,   767,   768,   765,   771,
1477       923,   940,   945,   929,   922,   927,   928,   926,   938,   954,       769,   770,   772,   339,   773,   774,   775,   777,   778,   776,
1478       939,   943,   942,   971,   941,   946,   947,   944,   948,   951,       780,   785,   629,   787,   779,   786,   781,   808,   788,   782,
1479       963,   737,   952,   955,   953,   956,   958,   957,   738,   960,       791,   783,   811,   784,   810,   821,   820,   812,   819,  1199,
1480       739,   740,   741,   961,   742,   962,   743,   964,   965,   966,       823,   822,   824,   825,   826,   792,   793,   794,   795,   796,
1481       967,   972,   973,   978,   974,   976,   984,   979,   981,   753,       797,   798,   799,   800,   801,   802,   803,   804,   805,   806,
1482       982,   754,   986,   985,   987,   988,   989,   990,   991,   993,       807,   827,   809,   709,   828,   830,   813,   814,   815,   829,
1483       762,   763,   764,   765,   766,   767,   768,   769,   770,   771,       816,   817,   831,   832,   845,   837,   840,   836,   838,   839,
1484       772,   992,   774,   994,   776,   998,   999,  1000,  1001,  1002,       833,   842,   843,   876,   889,   844,   864,   841,   869,   870,
1485       975,   327,   977,   980,   997,  1003,  1006,  1007,  1014,  1010,       874,   877,   875,   887,   885,   886,   888,   894,   577,   577,
1486      1008,  1011,  1009,  1015,  1016,   795,   796,   797,  1012,   799,       896,   897,   895,   898,   899,   918,   916,   339,   919,   920,
1487      1019,   477,  1020,   813,  1013,  1021,  1023,   812,  1025,  1027,       927,   928,   929,   930,   931,   933,   319,   319,   319,   319,
1488       693,  1022,  1028,  1024,  1026,  1029,  1031,  1033,   827,   829,       319,   319,   319,   319,   319,   932,   934,   935,   936,   937,
1489      1030,   827,   834,   837,  1032,   827,   846,   568,   568,   813,       938,   871,   855,   939,   942,   858,   859,   860,   861,   940,
1490       812,   813,  1036,   812,  1037,   812,  1038,  1039,   514,   515,       629,   943,   629,   944,   867,   945,   946,   947,   949,   950,
1491      1040,  1042,  1041,  1043,  1044,   327,  1046,   540,  1051,  1052,       873,   941,   952,   962,   966,   948,   963,   882,   884,   969,
1492      1045,   867,   868,  1057,   869,   870,  1047,   567,  1050,  1056,       951,   967,   482,   968,   891,   973,   974,   975,   976,   977,
1493      1062,  1060,  1061,  1063,  1066,   307,   307,  1067,  1068,  1064,       980,   981,   982,   983,   984,   665,  1002,  1004,  1005,  1006,
1494      1065,   427,  1069,  1070,  1071,  1072,  1074,   884,  1073,  1075,       339,   339,   985,  1013,   926,  1012,  1014,   913,  1015,   915,
1495      1076,  1079,   327,   327,  1080,   890,   876,   877,  1077,  1082,      1016,   629,  1017,  1019,  1018,  1020,  1022,  1021,  1023,  1024,
1496      1078,  1083,  1084,  1081,  1085,  1086,  1087,  1090,   892,  1091,       339,  1026,   319,   319,  1025,  1027,   499,  1028,  1029,  1049,
1497      1089,  1092,   307,   307,  1088,  1093,  1094,  1096,   327,  1099,      1030,  1043,  1032,  1044,   953,  1031,  1033,  1050,  1117,  1048,
1498      1095,  1100,  1102,  1101,  1103,  1104,  1105,  1108,   413,   413,      1051,   954,  1063,   955,   956,   957,  1064,   958,   959,  1065,
1499      1107,  1109,  1106,   876,   877,  1114,  1111,  1110,  1113,   813,      1066,  1067,   960,   961,  1070,  1071,  1111,   965,  1072,  1102,
1500      1115,  1112,  1116,   812,   813,   327,   427,   427,   812,   307,      1103,  1108,  1110,   339,  1116,  1113,   972,  1073,  1104,  1114,
1501      1117,  1118,  1119,  1120,  1122,  1123,   829,  1121,   834,   813,      1109,  1118,  1119,   873,  1121,   978,  1112,   979,  1127,   707,
1502       813,  1124,  1126,   812,   812,  1127,  1125,  1130,  1128,  1133,      1120,  1126,  1122,  1123,  1128,   986,   987,   988,   989,   990,
1503       920,  1129,  1131,  1135,  1136,  1137,  1132,  1138,  1140,  1146,       991,   992,   993,   994,   995,   996,   997,  1134,   999,  1115,
1504      1134,  1141,  1145,  1142,  1143,  1144,  1151,   307,   307,  1148,      1001,  1135,  1003,  1137,  1138,  1139,  1007,  1008,  1009,  1141,
1505       427,  1150,   540,  1139,   671,   672,  1147,  1152,  1153,   959,      1010,  1011,  1142,  1145,  1147,  1150,  1152,  1153,  1149,  1158,
1506       677,   678,  1149,  1154,  1155,   683,   683,  1157,   949,   950,      1157,  1162,  1166,  1163,  1169,  1164,  1165,  1170,  1177,  1171,
1507      1156,   477,   477,  1158,  1160,  1159,  1162,  1163,  1164,   427,      1172,  1173,  1174,  1176,   499,   499,   319,  1181,  1175,  1178,
1508       427,  1165,  1166,  1161,  1167,   837,  1168,  1169,  1170,  1172,      1179,  1187,  1188,  1198,  1180,  1230,  1205,  1190,  1203,  1045,
1509      1171,  1173,  1174,  1178,  1176,  1177,   714,  1175,   716,  1179,      1191,  1216,  1202,  1250,  1192,  1195,  1197,  1036,  1037,  1038,
1510      1181,  1182,  1180,  1183,  1185,  1186,  1187,  1184,  1188,   327,      1196,   873,  1041,   884,  1200,  1206,  1201,  1047,  1210,  1211,
1511       327,  1189,  1191,  1193,  1192,   327,   327,  1190,  1196,  1200,      1215,  1221,  1223,  1059,  1224,  1226,   576,  1222,  1225,  1227,
1512      1201,   327,  1195,  1202,  1194,  1198,  1197,  1203,  1204,  1205,      1228,   891,  1233,  1229,  1231,  1234,  1232,  1235,  1075,  1077,
1513      1206,  1199,  1207,  1208,  1213,  1209,   820,  1210,  1216,  1211,      1236,  1075,   629,  1087,  1089,  1238,  1075,   710,   713,   713,
1514      1215,  1217,  1212,  1218,  1219,  1220,  1214,  1221,  1222,  1223,      1059,  1239,  1059,  1240,  1241,  1243,  1526,   339,   339,   884,
1515      1227,  1230,   327,  1225,   327,  1226,  1224,  1231,  1233,  1228,       884,   884,  1242,   339,  1244,  1245,  1246,   339,  1247,  1249,
1516      1234,   983,   669,  1235,  1229,   919,  1232,  1236,  1237,  1238,      1129,  1130,  1252,  1131,  1132,  1133,  1253,  1255,  1256,  1257,
1517       845,     0,   295,  1239,   552,   694,   370,   371,   406,   372,       339,   649,   650,  1258,  1261,  1259,  1260,  1262,  1264,   816,
1518       407,     0,   379,     0,     0,   373,     0,   412,     0,     0,       817,  1263,   319,   319,   499,   669,  1265,  1047,  1266,  1267,
1519       387,     0,   374,     0,     0,   794,     0,     0,     0,   798,      1268,  1269,  1273,  1274,  1146,  1275,  1276,  1282,  1277,   712,
1520       375,   389,     0,   802,     0,     0,     0,     0,     0,     0,      1278,  1151,  1280,   339,  1281,   339,  1284,  1283,  1285,  1287,
1521         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1286,  1288,  1526,  1289,  1290,  1292,  1293,  1296,  1154,  1295,
1522         0,   831,     0,     0,     0,   840,     0,     0,   567,   567,      1297,  1298,  1299,   482,   482,  1300,  1301,  1303,  1304,   709,
1523         0,   850,   327,   852,     0,   555,   327,     0,     0,     0,      1159,  1160,  1161,  1306,  1305,  1302,  1307,  1308,  1309,  1311,
1524       327,     0,     0,     0,     0,     0,     0,   327,     0,     0,      1312,  1317,  1310,  1315,  1333,  1316,  1318,  1320,  1322,  1321,
1525         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1324,  1325,  1323,   709,  1331,  1326,   709,  1329,   709,  1330,
1526       874,   875,     0,     0,     0,     0,     0,     0,     0,   327,      1339,  1189,  1335,  1332,  1336,  1334,  1337,  1340,   499,   499,
1527         0,     0,     0,     0,     0,     0,     0,     0,   327,     0,      1338,  1341,  1344,  1342,  1343,  1047,  1346,  1347,  1345,  1348,
1528         0,     0,     0,     0,     0,     0,     0,     0,   327,     0,      1351,  1352,  1059,  1059,  1353,  1354,  1365,  1355,  1357,  1359,
1529       327,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1361,  1362,  1364,  1077,  1358,  1366,  1087,  1059,  1059,  1368,
1530         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1372,  1077,   882,   710,  1370,  1374,  1375,  1360,  1363,  1369,
1531         0,     0,   327,   327,     0,     0,     0,     0,     0,     0,      1373,   319,   319,  1376,  1367,  1377,  1378,  1381,  1382,  1383,
1532         0,     0,     0,     0,   683,   909,   910,   683,     0,     0,      1384,  1386,  1371,  1385,  1389,  1387,   339,  1393,  1388,  1390,
1533         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       339,  1392,  1251,  1395,  1397,  1408,  1407,  1254,  1394,  1401,
1534         0,     0,     0,     0,     0,     0,     0,   327,   327,   316,      1396,  1413,  1410,   339,  1400,  1402,  1406,  1411,   339,  1409,
1535        46,    47,   689,     0,    48,    49,    50,   317,   318,   319,      1412,  1416,  1417,  1419,  1427,  1421,  1420,  1422,  1429,  1428,
1536       320,   321,   322,   323,   324,   325,   326,    61,    62,    63,      1423,  1424,  1279,  1418,  1430,  1426,   576,   576,  1431,  1432,
1537        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,       339,  1433,  1434,  1437,  1435,  1436,  1439,  1438,  1440,  1441,
1538        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,      1442,  1443,   669,   339,   856,   857,  1447,  1449,  1444,   339,
1539        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,       862,   339,  1445,  1089,   866,  1448,  1077,  1451,   709,   709,
1540        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,      1452,  1453,  1454,  1458,  1460,  1456,   879,   879,  1461,  1462,
1541       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,      1463,  1446,  1465,   709,   709,  1466,  1467,  1450,  1455,   709,
1542       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,      1470,  1471,  1472,  1468,  1474,  1475,  1473,  1476,  1477,  1478,
1543       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,      1481,  1479,  1480,  1482,  1483,  1485,  1492,   912,  1484,   914,
1544       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,      1488,  1491,  1487,  1486,  1356,  1493,  1494,  1495,  1489,  1496,
1545       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,      1498,  1497,  1499,  1501,  1500,  1503,  1504,  1502,  1505,  1506,
1546       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,      1510,  1511,  1512,  1514,  1513,  1518,  1517,  1515,  1516,  1519,
1547       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,      1520,  1521,  1532,  1530,   339,   339,  1531,  1533,  1534,  1536,
1548       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,      1535,  1537,  1539,  1540,  1543,  1545,  1538,  1546,  1549,  1541,
1549       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,      1542,  1207,  1213,  1544,  1555,  1291,  1557,  1583,   891,  1547,
1550       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,      1558,  1550,  1552,  1553,  1548,  1551,  1554,  1560,  1561,  1559,
1551       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,      1562,  1563,  1564,  1565,  1566,  1571,  1425,  1569,  1570,  1573,
1552       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,      1575,  1576,  1572,  1577,  1574,  1578,  1580,  1581,  1584,  1586,
1553       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,      1579,  1582,  1587,  1585,  1590,  1588,  1593,  1589,  1597,  1601,
1554       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,      1591,  1592,  1602,  1610,  1600,  1596,  1606,  1615,  1599,  1604,
1555       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,      1619,  1603,  1605,  1617,  1618,  1614,  1609,  1620,  1622,  1594,
1556       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,      1611,  1623,  1616,  1621,  1631,  1625,  1628,   710,  1624,  1595,
1557       264,   316,    46,    47,     0,   690,    48,    49,    50,   317,      1629,  1194,  1626,  1627,   666,  1630,  1598,  1633,  1635,  1642,
1558       318,   319,   320,   321,   322,   323,   324,   325,   326,    61,      1632,  1637,  1634,  1640,  1490,  1639,  1636,  1035,  1638,  1645,
1559        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,      1647,  1039,  1641,  1644,  1643,  1646,  1648,  1649,  1650,  1651,
1560        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,      1652,  1653,  1654,  1052,  1656,  1655,  1657,  1660,  1663,  1658,
1561        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,      1661,  1659,  1667,  1674,  1673,  1675,  1662,  1666,  1686,  1676,
1562        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,      1677,  1079,  1664,  1665,  1668,  1672,  1092,  1679,  1669,   712,
1563       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       712,  1678,  1098,  1670,  1100,  1671,  1680,  1681,  1682,  1684,
1564       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,      1687,  1683,  1685,  1688,  1689,  1690,  1691,  1692,  1693,  1556,
1565       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,      1695,  1694,  1696,  1697,  1698,  1699,  1700,  1701,  1703,  1704,
1566       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       307,  1101,   418,  1702,   406,   464,   407,     0,     0,   408,
1567       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       685,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1568       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       465,     0,     0,   709,     0,     0,     0,     0,     0,     0,
1569       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1570       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,         0,     0,     0,   466,     0,     0,     0,     0,     0,     0,
1571       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,         0,     0,     0,   467,     0,     0,     0,     0,     0,     0,
1572       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,         0,   468,     0,     0,     0,   469,     0,   470,     0,   471,
1573       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,         0,     0,     0,     0,   472,     0,     0,     0,     0,     0,
1574       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1575       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1576       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,         0,     0,   879,  1183,  1184,   879,     0,     0,     0,     0,
1577       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1578       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,         0,     0,     0,     0,   473,     0,     0,     0,     0,     0,
1579       262,   263,   264,    45,    46,    47,     0,     0,    48,    49,       474,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1580        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,         0,     0,     0,     0,     0,     0,   475,     0,     0,   409,
1581        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,         0,     0,     0,   480,     0,     0,   428,     0,     0,     0,
1582        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,         0,     0,   669,   328,    52,    53,    54,    55,    56,   329,
1583        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,       330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,  
      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,  
      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,  
      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,  
      260,   261,   262,   263,   264,   316,    46,    47,     0,     0,  
       48,    49,    50,   317,   318,   319,   320,   321,   322,   323,  
      324,   325,   326,    61,    62,    63,    64,    65,    66,    67,  
1584        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1585        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1586        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
# Line 1252  static const short int yytable[] = Line 1600  static const short int yytable[] =
1600       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1601       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1602       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1603       258,   259,   260,   261,   262,   263,   264,   316,    46,    47,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1604       803,   804,    48,   805,   806,    51,    52,    53,    54,    55,       268,   269,   834,   410,   270,   328,    52,    53,    54,    55,
1605        56,    57,    58,    59,    60,    61,    62,    63,    64,    65,        56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1606        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1607        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1608        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1609        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1274  static const short int yytable[] = Line 1622  static const short int yytable[] =
1622       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1623       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1624       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1625       256,   257,   258,   259,   260,   261,   262,   263,   316,    46,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1626        47,   915,     0,    48,    49,    50,   317,   318,   319,   320,       266,   267,   268,   269,   430,   835,   270,    51,    52,    53,
1627       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,  
      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,  
      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,  
      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,  
      255,   256,   257,   258,   259,   260,   261,   262,   263,   316,  
       46,    47,     0,   916,    48,    49,    50,   317,   318,   319,  
      320,   321,   322,   323,   324,   325,   326,    61,    62,    63,  
1628        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1629        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1630        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1319  static const short int yytable[] = Line 1645  static const short int yytable[] =
1645       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1646       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1647       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1648       316,    46,    47,     0,     0,    48,    49,    50,   317,   318,       264,   265,   266,   267,   268,   269,   411,   413,   270,   328,
1649       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,        52,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1650        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,  
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,  
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,  
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,  
      263,   316,    46,    47,     0,     0,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
1651        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1652        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1653        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
# Line 1363  static const short int yytable[] = Line 1667  static const short int yytable[] =
1667       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1668       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1669       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1670       262,   263,   316,   747,    47,     0,     0,    48,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,   414,   481,
1671       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       270,   328,    52,    53,    54,  1053,  1054,    57,    58,    59,
1672        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,  
       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,  
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,  
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,  
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,  
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,  
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,  
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,  
      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,  
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,  
      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,  
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,  
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,  
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,  
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,  
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,  
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,  
      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,  
      261,   262,   263,   316,   773,    47,     0,     0,    48,    49,  
       50,   317,   318,   319,   320,   321,   322,   323,   324,   325,  
      326,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
1673        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1674        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1675        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1407  static const short int yytable[] = Line 1689  static const short int yytable[] =
1689       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1690       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1691       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1692       260,   261,   262,   263,   316,   775,    47,     0,     0,    48,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1693        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       590,   591,   328,    52,    53,    54,    55,    56,   329,   330,
1694       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,       331,   332,   333,   334,   335,   336,   337,   338,    67,    68,
1695        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1696        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1697        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1429  static const short int yytable[] = Line 1711  static const short int yytable[] =
1711       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1712       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1713       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1714       259,   260,   261,   262,   263,   316,   873,    47,     0,     0,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1715        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,       269,   328,    52,    53,    54,    55,    56,    57,    58,    59,
1716       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1717        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1718        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1719        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1720        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1721       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1722       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1723       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1724       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1725       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1726       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1727       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1728       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1729       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1730       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1731       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1732       218,   219,   220,   221,   222,   223,   224,   225,   226,   227,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1733       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1734       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1735       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1736       258,   259,   260,   261,   262,   263,   316,   893,    47,     0,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1737         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,       328,   971,    53,    54,    55,    56,   329,   330,   331,   332,
1738       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,       333,   334,   335,   336,   337,   338,    67,    68,    69,    70,
1739        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1740        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1741        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1742        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1743       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1744       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1745       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1746       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1747       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1748       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1749       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1750       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1751       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1752       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1753       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1754       217,   218,   219,   220,   221,   222,   223,   224,   225,   226,       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1755       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1756       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1757       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1758       257,   258,   259,   260,   261,   262,   263,   316,   894,    47,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1759         0,     0,    48,    49,    50,   317,   318,   319,   320,   321,       998,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1760       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1761        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1762          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1763          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1764         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1765         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1766         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1767         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1768         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1769         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1770         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1771         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1772         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1773         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1774         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1775         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1776         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1777         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1778         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1779         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1780         262,   263,   264,   265,   266,   267,   268,   269,   328,  1000,
1781          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1782         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1783          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1784          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1785          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1786         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1787         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1788         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1789         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1790         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1791         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1792         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1793         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1794         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1795         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1796         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1797         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1798         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1799         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1800         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1801         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1802         263,   264,   265,   266,   267,   268,   269,   328,  1140,    53,
1803          54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1804         336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1805          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1806          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1807          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1808         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1809         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1810         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1811         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1812         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1813         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1814         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1815         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1816         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1817         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1818         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1819         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1820         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1821         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1822         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1823         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1824         264,   265,   266,   267,   268,   269,   328,  1155,    53,    54,
1825          55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1826         337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1827          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1828          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1829          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1830         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1831         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1832         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1833         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1834         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1835         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1836         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1837         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1838         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1839         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1840         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1841         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1842         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1843         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1844         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1845         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1846         265,   266,   267,   268,   269,   328,  1156,    53,    54,    55,
1847          56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1848         338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1849        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1850        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1851        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1495  static const short int yytable[] = Line 1864  static const short int yytable[] =
1864       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1865       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1866       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1867       256,   257,   258,   259,   260,   261,   262,   263       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1868         266,   267,   268,   269
1869  };  };
1870    
1871  static const short int yycheck[] =  static const yytype_int16 yycheck[] =
1872  {  {
1873        14,    14,   479,    16,    17,    18,    19,    20,    21,    22,        15,   783,    17,    18,    19,    20,    21,    22,    23,    24,
1874        23,    24,    25,    26,    27,     5,   609,   272,   273,   272,        25,    26,    27,    28,    29,    30,    31,    15,   502,   565,
1875       273,   279,   279,   279,   773,    25,   775,     6,     7,    32,       749,   532,   995,   534,   979,   281,   282,   281,   282,   286,
1876        25,    24,    29,    38,    29,    23,    24,    40,    35,    21,       288,   774,     5,   288,  1151,   288,    32,   548,   871,    33,
1877        25,    41,    52,    53,    54,    55,    56,    57,    58,    59,        34,    22,  1159,   554,    58,    59,    60,    61,    62,    63,
1878        60,    33,    40,    38,     1,    34,     3,    39,    25,    22,        64,    65,    66,   540,  1045,   277,   543,   998,     1,  1000,
1879        42,    22,    23,    52,    53,    54,    55,    56,    57,    58,         3,    37,   549,   285,   286,    37,   553,   551,   961,    22,
1880        59,    60,    33,    36,    21,    25,    23,    24,    39,    40,       523,    23,    21,    22,    22,   989,    19,    23,    21,    22,
1881        27,    42,    22,    25,    41,    32,    21,    23,    24,    29,       994,   534,    25,    23,    37,    34,    34,    30,    31,    38,
1882        37,    38,    39,    21,    41,    23,    38,    25,    33,    39,        36,   578,    35,    36,    37,   548,    39,    23,    19,    39,
1883        36,    21,    42,    23,    40,    33,    21,    29,    23,    33,        21,   554,    23,    24,    21,    22,    19,    20,    21,    20,
1884        25,    39,    40,    33,   591,    39,   593,   594,    33,    41,        31,    24,    25,    89,  1007,  1008,  1009,    89,    31,    40,
1885       225,   226,     8,    24,   873,    11,    12,    13,    14,    15,        19,    38,   277,    34,    37,    38,   959,    40,    19,   640,
1886        16,    17,    18,    19,    20,    36,    21,    24,    34,   765,       285,   286,    31,    24,    19,   290,    34,  1254,    37,    37,
1887        25,    23,   619,   769,   893,   894,    25,    29,    33,    36,        31,    40,  1133,     9,    10,    11,    12,    13,    14,    15,
1888         0,   628,   629,   630,   631,   632,   633,   634,   635,   636,        16,    17,    18,    20,    23,    23,    22,    19,    21,    21,
1889       637,   638,     8,    41,    42,    11,    12,    13,    14,    15,        27,    21,    24,    19,    27,    39,    32,    36,    31,    31,
1890        16,    17,    18,    19,    20,    41,    42,   224,   436,   436,        37,    31,     0,    40,    30,    31,    58,    59,    60,    61,
1891       436,     8,     6,     7,    11,    12,    13,    14,    15,    16,        62,    63,    64,    65,    66,    19,    27,    21,  1161,    23,
1892        17,    18,    19,    20,     9,    10,    11,    12,    13,    14,        24,   225,   226,    22,    30,    30,    19,    31,    39,  1140,
1893        15,    16,    17,    18,    19,    20,    23,    24,   771,   772,        23,    36,    38,    37,    38,    34,    40,    23,    31,    34,
1894       465,    24,   465,   437,   438,   439,   440,   441,   442,   443,        32,    27,    37,     6,  1155,  1156,     9,    10,    11,    12,
1895       444,   445,   446,   447,   448,    23,    24,   531,   532,   278,        13,    14,    15,    16,    17,    18,   222,   223,   222,   223,
1896       279,    25,    39,    39,   224,   225,   226,    11,    12,    13,       513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
1897        14,    15,    16,    17,    18,    19,    20,    21,   271,    40,       224,   524,   525,   526,   527,    34,   529,   758,    37,   760,
1898        21,    29,    22,   276,   277,    39,   225,    23,   281,    21,        27,   224,   225,   226,   512,    22,    33,   512,   745,   512,
1899       737,    40,    35,    40,    24,    40,    25,   280,    25,    41,       747,   748,     7,     8,     9,    10,    11,    12,    13,    14,
1900        39,    34,    28,    28,   867,    29,   753,   870,   225,   226,        15,    16,    17,    18,   289,    34,   763,    34,    37,    37,
1901        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        37,     6,   225,   226,     9,    10,    11,    12,    13,    14,
1902        25,    35,    41,    29,    28,    34,   306,    29,   308,   309,        15,    16,    17,    18,    31,    39,    40,   784,   809,   783,
1903       310,   311,   312,   313,   314,   315,    11,    12,    13,    14,        37,   558,   558,    23,   558,   792,   793,   794,   795,   796,
1904        15,    16,    17,    18,    19,    20,    41,    23,    29,    41,       797,   798,   799,   800,   801,   802,   803,    31,    21,    21,
1905        28,    40,    29,    35,   337,    35,    40,    42,    23,    38,        39,    40,    23,    37,    27,    27,   813,   814,   815,   344,
1906       343,    14,   345,   346,   347,   348,   349,    40,   351,    23,       280,    21,    21,   283,    21,   558,   558,    27,    27,   354,
1907       353,   354,   355,   356,   357,    22,    21,    27,   361,   362,        27,   564,   222,   223,    38,   360,    37,   362,   363,   364,
1908        24,   364,   365,    21,    21,    24,    38,    29,    24,    40,       365,   366,    19,   368,    34,   370,   371,   372,   373,   374,
1909        24,    24,    21,    24,    24,   378,   379,   380,    39,    24,        20,   376,   377,   378,   379,   380,    27,   281,   282,   384,
1910        28,    21,   385,   386,   387,   388,   389,   390,    26,    25,       225,   386,   286,    31,   389,    21,    22,    21,    22,   394,
1911        29,    25,    39,    35,    38,    41,    29,    40,    29,    40,       395,   396,    31,   398,   399,   400,  1129,   996,   997,  1132,
1912        21,    38,    34,    29,    39,    34,    29,    34,    25,    29,       590,   591,   287,   288,   278,   279,    21,   412,    19,   414,
1913        29,   414,    42,   416,    29,    29,    34,   884,    40,    35,        19,  1356,   417,   418,    38,   420,   421,    38,    22,    38,
1914        29,    29,    35,    35,    35,    26,    23,    34,    21,    23,        33,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1915        29,    23,    34,   890,    34,    45,    32,    35,    25,    34,         6,    23,   271,     9,    10,    11,    12,    13,    14,    15,
1916        26,    32,    21,    24,    24,    35,    35,    35,    22,   453,        16,    17,    18,    23,    37,    19,   318,    26,   320,   321,
1917       454,    34,    34,    38,    32,    32,    40,    25,    34,    25,       322,   323,   324,   325,   326,   327,    39,    27,    26,   995,
1918        32,    25,   466,   467,   468,   469,   470,    91,    38,    25,        32,    42,  1425,    27,    23,    27,    33,    33,    39,    27,
1919        21,    25,    25,    38,    29,    35,    45,    25,    25,    29,      1189,    27,    26,    42,    27,    32,   953,    42,   483,    39,
1920        29,    38,    41,    29,    25,    91,    91,    91,    91,    29,        21,   486,    27,    26,    39,    27,    30,    39,    38,   990,
1921        29,    25,    35,   496,   497,   498,   499,   500,   501,   502,        36,    42,    40,    33,    33,    21,    21,    20,   972,    36,
1922       503,   504,   505,   506,   507,   508,   509,   510,    41,    32,        38,   978,    38,    34,    19,    22,    22,  1279,     9,    10,
1923        25,   514,   515,    33,    32,    29,   516,   517,   518,   519,        11,    12,    13,    14,    15,    16,    17,    18,    15,     9,
1924       520,   521,   522,   523,   524,    35,    22,    32,   531,   532,        10,    11,    12,    13,    14,    15,    16,    17,    18,  1003,
1925        91,    34,   535,    91,   537,    42,   539,   516,   517,   518,        19,    19,    25,    36,    38,   523,    22,    32,    30,    22,
1926       519,   520,   521,   522,   523,   524,    91,    91,   551,   552,        89,    22,    27,    22,   532,    22,   534,    22,    19,    22,
1927       553,   554,   555,   556,   557,   558,   559,   560,   561,   562,        37,    33,    22,   541,   542,    89,    89,    26,    22,    22,
1928       563,   564,   565,    91,    91,    91,    40,    38,    35,    34,       548,    19,    24,    37,    32,    89,   554,    27,    23,    36,
1929        32,    35,    33,   265,    34,    33,    35,    34,    91,    35,        23,   559,   560,   561,   562,    36,    33,   565,   566,    38,
1930        33,    32,    91,    32,    23,    91,    22,    42,    32,    41,        32,    27,    38,    27,    27,   590,   591,     9,    10,    11,
1931        36,    39,   596,    35,    25,   599,   600,   601,   602,    23,        12,    13,    14,    15,    16,    17,    18,    19,    32,   604,
1932        41,   605,    36,     5,    41,    25,    36,   280,    35,    41,       605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1933        36,   614,   615,   617,    91,    29,    25,    32,    26,    91,       615,   616,   617,    27,   618,   619,   620,   621,   622,   623,
1934        21,    25,    35,    23,    35,    41,    25,    32,    40,    39,       624,   625,   626,    27,    37,  1161,   631,   632,   633,   634,
1935        25,    29,    24,    40,   892,    41,   640,    40,   642,    29,        40,    19,    39,    32,    30,    27,   641,   642,    33,    37,
1936        34,    29,    23,    34,    41,    41,    35,    40,    34,    21,        27,    27,    27,   482,   649,   650,   651,    27,    32,   654,
1937        35,    91,    36,    91,    41,    34,    36,    40,    40,    36,        27,    27,   640,    27,    37,    33,    38,    19,    39,   664,
1938        25,   664,    40,    36,    40,    40,    36,    41,   671,    32,        33,   666,    23,   668,    39,    32,    24,    27,    27,  1146,
1939       673,   674,   675,    35,   677,    34,   679,    41,    23,    34,        20,    37,    27,    21,    23,   680,   681,   682,   683,   684,
1940        41,    25,    40,    32,    41,    41,    32,    41,    40,   692,       685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1941        41,   694,    26,    41,    35,    34,    25,    40,    40,    34,       695,    19,   697,   565,    21,    27,   701,   702,   703,    43,
1942       703,   704,   705,   706,   707,   708,   709,   710,   711,   712,       704,   705,    21,    32,    24,    30,    23,    33,    32,    32,
1943       713,    41,   715,    29,   717,    21,    40,    24,    40,    24,        89,    23,    30,    23,    36,    31,    30,    89,    89,    32,
1944        91,   413,    91,    91,    91,    40,    36,    40,    24,    41,        89,    89,    33,    23,    33,    32,    89,    33,   733,   734,
1945        34,    40,    35,    27,    24,   739,   740,   741,    91,   743,        22,    22,    89,    38,    30,    22,    31,   576,    40,    22,
1946        35,   414,    23,   747,    91,    27,    25,   747,    25,    25,        33,    23,    32,    23,    19,    23,   618,   619,   620,   621,
1947       754,    91,    35,    91,    91,    41,    40,    23,   762,   763,       622,   623,   624,   625,   626,    89,    19,    30,    23,    20,
1948        91,   765,   766,   767,    39,   769,   770,   771,   772,   773,        36,   766,   750,    23,    19,   753,   754,   755,   756,    27,
1949       770,   775,    29,   773,    29,   775,    29,    42,   451,   452,       758,    23,   760,    23,   762,    32,    27,    36,    23,    33,
1950        29,    35,    38,    25,    24,   477,    24,   460,    38,    40,       768,    89,    23,    27,    27,    89,    89,   775,   776,    27,
1951        42,   794,   795,    28,   797,   798,    42,   470,    42,    35,        43,    89,   289,    32,   782,    89,    23,    32,    27,    39,
1952        91,    35,    34,    29,    41,   805,   806,    25,    29,    42,        89,    27,    27,    27,    23,  1279,    23,    27,    23,    27,
1953        40,   811,    25,    29,    28,    25,    40,   820,    29,    91,       649,   650,    33,    36,   818,    89,    23,   805,    32,   807,
1954        28,    41,   514,   515,    21,   828,   805,   806,    35,    29,        30,   809,    27,    31,    30,    89,    23,    89,    27,    30,
1955        45,    91,    25,    42,    29,    23,    25,    42,   841,    23,       669,    33,   704,   705,    32,    20,   708,    30,    22,    33,
1956        34,    42,   842,   843,    91,    23,    21,    23,   540,    21,        32,    32,    38,    31,   849,    40,    36,    22,    21,    32,
1957        42,    38,    34,    36,    34,    29,    42,    34,   531,   532,        32,   856,    33,   858,   859,   860,    30,   862,   863,    22,
1958        39,    25,    35,   842,   843,    25,    36,    38,    29,   873,        32,    31,   867,   868,    33,    32,    22,   872,    33,    33,
1959        29,    40,    25,   873,   878,   567,   876,   877,   878,   879,        30,    33,    30,   712,    40,    32,   881,    89,    89,    30,
1960        34,    29,    25,    28,    34,    40,   890,    45,   892,   893,        89,    20,    37,   871,    30,   890,    89,   892,    23,  1425,
1961       894,    25,    34,   893,   894,    23,    40,    36,    25,    21,        39,    33,    37,    37,    21,   900,   901,   902,   903,   904,
1962       879,    41,    39,    23,    23,    34,    91,    23,    21,    40,       905,   906,   907,   908,   909,   910,   911,    37,   913,    89,
1963        91,    36,    38,    34,    25,    25,    25,   917,   918,    36,       915,    33,   917,    37,    39,    34,   921,   922,   923,     5,
1964       920,    33,   595,    91,   597,   598,    41,    25,    25,   932,       924,   925,    39,    23,    39,    27,    23,    33,    89,    21,
1965       603,   604,    38,    25,    36,   608,   609,    25,   917,   918,        89,    39,    27,    24,    19,    89,    89,    21,    39,    33,
1966        34,   614,   615,    25,    39,    32,    36,    40,    21,   949,        33,    23,    38,    23,   816,   817,   818,    23,    38,    38,
1967       950,    21,    21,    91,    32,   959,    91,    21,    34,    91,        27,    38,    22,    32,    37,    89,    24,    38,    32,   964,
1968        32,    36,    41,    44,    38,    33,   639,    91,   641,    36,        38,    27,    33,    23,    39,    38,    38,   955,   956,   957,
1969        25,    36,    38,    21,    24,    21,    25,    40,    21,   671,        39,   959,   960,   961,    38,    32,    39,   965,    33,    33,
1970       672,    21,    21,    91,    38,   677,   678,    32,    40,    21,        38,    32,    38,   971,    32,    27,   483,    39,    33,    39,
1971        24,   683,    33,    29,    38,    33,    38,    25,    25,    21,        36,   979,    21,    34,    38,    32,    36,    36,   986,   987,
1972        25,    38,    21,    33,    33,    38,   754,    42,    25,    40,        19,   989,   990,   991,   992,    36,   994,   995,   996,   997,
1973        33,    29,    38,    25,    25,    25,    40,    25,    25,    40,       998,    34,  1000,    38,    34,    36,  1490,   856,   857,  1007,
1974        40,    25,   714,    38,   716,    38,    42,    25,    25,    38,      1008,  1009,    38,   862,    38,    34,    38,   866,    39,    19,
1975        25,   959,   595,    38,    40,   878,    39,    38,    38,    38,      1035,  1036,    39,  1038,  1039,  1040,    32,    34,    30,    33,
1976       770,    -1,    44,    39,   465,   618,   274,   274,   279,   274,       879,   538,   539,    32,    24,    33,    32,    38,    23,  1053,
1977       279,    -1,   275,    -1,    -1,   274,    -1,   279,    -1,    -1,      1054,    36,   924,   925,   926,   552,    39,  1045,    21,    32,
1978       277,    -1,   274,    -1,    -1,   738,    -1,    -1,    -1,   742,        39,    39,    89,    39,  1069,    23,    38,    89,    39,   566,
1979       274,   277,    -1,   746,    -1,    -1,    -1,    -1,    -1,    -1,        30,  1076,    39,   912,    39,   914,    89,    39,    39,    89,
1980          39,    38,  1556,    39,    39,    38,    38,    30,  1093,    39,
1981          39,    24,    39,   590,   591,    24,    33,    39,    33,   971,
1982        1105,  1106,  1107,    23,    32,    89,    38,    31,    38,    32,
1983          27,    19,    39,    31,    36,    89,    31,    31,    22,    38,
1984          22,    31,    38,   995,    30,    38,   998,    34,  1000,    38,
1985          22,  1136,    32,    34,    33,    38,    32,    31,  1010,  1011,
1986          33,    39,    23,    38,    89,  1133,    22,    25,    89,    22,
1987          33,    23,  1140,  1141,    21,    25,    33,    23,    23,    23,
1988          23,    23,    23,  1151,    89,    39,  1154,  1155,  1156,    38,
1989          38,  1159,  1160,  1161,    33,    23,    23,    89,    89,    39,
1990          38,  1053,  1054,    37,    89,    21,    32,    27,    27,    27,
1991          40,    36,    89,    27,    23,    32,  1035,    22,    33,    32,
1992        1039,    32,  1207,    22,    32,    22,    30,  1212,    40,    36,
1993          40,    26,    32,  1052,    40,    38,    38,    33,  1057,    40,
1994          38,    33,    32,    27,    23,    38,    40,    38,    23,    27,
1995          39,    38,  1237,    89,    27,    38,   733,   734,    38,    26,
1996        1079,    23,    27,    26,    38,    89,    43,    33,    89,    30,
1997          23,    27,   749,  1092,   751,   752,    19,    27,    38,  1098,
1998         757,  1100,    39,  1251,   761,    40,  1254,    23,  1140,  1141,
1999          27,    21,    23,    32,    40,    37,   773,   774,    21,    40,
2000          21,    89,    19,  1155,  1156,    40,    21,    89,    89,  1161,
2001          19,    36,    34,    21,    40,    21,    23,    89,    32,    31,
2002          40,    32,    27,    33,    37,    23,    23,   804,    32,   806,
2003          31,    27,    34,    36,  1319,    27,    23,    31,    38,    32,
2004          23,    27,    26,    32,    43,    23,    36,    38,    27,    23,
2005          38,    19,    32,    23,    21,    89,    37,    39,    34,    19,
2006          19,    89,    19,    21,  1183,  1184,    21,    32,    21,    19,
2007          89,    34,    21,    89,    19,    23,    32,    23,    39,    33,
2008          32,  1154,  1160,    34,    23,  1251,    23,  1556,  1356,    36,
2009          23,    34,    34,    31,    38,    36,    32,    23,    23,    34,
2010          34,    32,    23,    23,    23,    34,  1391,    39,    24,    37,
2011          34,    38,    30,    19,    89,    19,    19,    89,    30,    19,
2012          37,    36,    32,    89,    33,    30,    33,    89,    39,    42,
2013          32,    32,    22,    24,    31,    34,    23,    19,    36,    34,
2014          23,    37,    36,    22,    19,    34,    39,    23,    19,    89,
2015          38,    19,    38,    27,    19,    33,    33,  1425,    30,    89,
2016          33,  1141,    32,    32,   551,    32,    89,    89,    31,    24,
2017          36,    31,    36,    31,  1459,    36,    38,   954,    37,    24,
2018          19,   958,    39,    39,    38,    36,    22,    27,    23,    23,
2019          19,    38,    19,   970,    32,    23,    33,    19,    40,    32,
2020          31,    33,    23,    27,    23,    23,    36,    32,    89,    23,
2021          22,   988,    38,    36,    31,    31,   993,    23,    38,   996,
2022         997,    32,   999,    38,  1001,    38,    23,    23,    38,    36,
2023          38,    40,    36,    38,    36,    38,    23,    23,    37,  1524,
2024          23,    26,    23,    36,    36,    33,    36,    36,    30,    22,
2025          50,  1003,   284,    37,   283,   288,   283,    -1,    -1,   283,
2026         558,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2027         288,    -1,    -1,  1425,    -1,    -1,    -1,    -1,    -1,    -1,
2028        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2029        -1,   764,    -1,    -1,    -1,   768,    -1,    -1,   771,   772,        -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,
2030        -1,   774,   794,   776,    -1,   465,   798,    -1,    -1,    -1,        -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,
2031       802,    -1,    -1,    -1,    -1,    -1,    -1,   809,    -1,    -1,        -1,   288,    -1,    -1,    -1,   288,    -1,   288,    -1,   288,
2032          -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,
2033        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      803,   804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   831,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   840,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,  
      852,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
2034        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2035        -1,    -1,   874,   875,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,  1129,  1130,  1131,  1132,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,   867,   868,   869,   870,    -1,    -1,  
2036        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2037        -1,    -1,    -1,    -1,    -1,    -1,    -1,   909,   910,     3,        -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,
2038         4,     5,     6,    -1,     8,     9,    10,    11,    12,    13,       288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2039        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,   283,
2040        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        -1,    -1,    -1,   288,    -1,    -1,   286,    -1,    -1,    -1,
2041        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        -1,    -1,  1189,     3,     4,     5,     6,     7,     8,     9,
       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,  
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,  
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
      224,     3,     4,     5,    -1,     7,     8,     9,    10,    11,  
       12,    13,    14,    15,    16,    17,    18,    19,    20,    21,  
       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,  
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,  
       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,  
       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,   224,     3,     4,     5,    -1,    -1,     8,     9,  
2042        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2043        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2044        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1687  static const short int yycheck[] = Line 2060  static const short int yycheck[] =
2060       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2061       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2062       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2063       220,   221,   222,   223,   224,     3,     4,     5,    -1,    -1,       220,   221,   222,   283,   224,     3,     4,     5,     6,     7,
2064         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2065        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2066        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1709  static const short int yycheck[] = Line 2082  static const short int yycheck[] =
2082       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2083       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2084       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2085       218,   219,   220,   221,   222,   223,   224,     3,     4,     5,       218,   219,   220,   221,   286,   223,   224,     3,     4,     5,
2086         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2087        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2088        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
# Line 1731  static const short int yycheck[] = Line 2104  static const short int yycheck[] =
2104       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2105       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2106       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2107       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,       216,   217,   218,   219,   220,   221,   283,   283,   224,     3,
2108         5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,  
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,  
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,  
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,  
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,  
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,   222,   223,     3,  
        4,     5,    -1,     7,     8,     9,    10,    11,    12,    13,  
2109        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2110        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2111        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
# Line 1775  static const short int yycheck[] = Line 2126  static const short int yycheck[] =
2126       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2127       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2128       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2129       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       214,   215,   216,   217,   218,   219,   220,   221,   283,   288,
2130         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,  
       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,  
       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,  
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,  
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,  
       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,  
       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,  
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,  
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,  
      223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,  
2131        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2132        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2133        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1820  static const short int yycheck[] = Line 2149  static const short int yycheck[] =
2149       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2150       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2151       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2152       222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,       222,   223,     3,     4,     5,     6,     7,     8,     9,    10,
2153        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2154        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2155        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1842  static const short int yycheck[] = Line 2171  static const short int yycheck[] =
2171       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2172       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2173       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2174       221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2175        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2176        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2177        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2178        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2179        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2180        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2181        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2182        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2183        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2184       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2185       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2186       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2187       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2188       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2189       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2190       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2191       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2192       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2193       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2194       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2195       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2196       220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2197         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2198        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2199        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2200        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2201        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2202        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2203        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2204        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2205        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2206        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2207       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2208       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2209       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2210       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2211       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2212       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2213       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2214       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2215       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2216       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2217       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
2218       219,   220,   221,   222,   223,     3,     4,     5,    -1,    -1,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2219          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2220          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2221          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2222          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2223          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2224          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2225          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2226          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2227          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2228         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2229         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2230         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2231         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2232         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2233         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2234         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2235         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2236         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2237         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2238         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2239         214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2240           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2241          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2242          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2243          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2244          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2245          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2246          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2247          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2248          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2249          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2250         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2251         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2252         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2253         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2254         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2255         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2256         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2257         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2258         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2259         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2260         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2261         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2262           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2263          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2264          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2265          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2266          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2267          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2268          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2269          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2270          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2271          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2272         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2273         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2274         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2275         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2276         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2277         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2278         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2279         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2280         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2281         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2282         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2283         216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2284           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2285          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2286          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2287          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2288          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2289          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2290          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2291          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2292          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2293          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2294         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2295         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2296         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2297         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2298         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2299         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2300         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2301         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2302         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2303         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2304         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2305         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2306         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2307        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2308        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1908  static const short int yycheck[] = Line 2324  static const short int yycheck[] =
2324       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2325       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2326       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2327       218,   219,   220,   221,   222,   223,     3,     4,     5,    -1,       218,   219,   220,   221
       -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,  
       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,  
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,  
       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,  
       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,  
       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,  
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,  
       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,  
       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,  
       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,  
      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,  
      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,  
      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,  
      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,  
      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,  
      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,  
      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,  
      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,  
      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,  
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,  
      217,   218,   219,   220,   221,   222,   223,     3,     4,     5,  
       -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,  
       16,    17,    18,    19,    20,    21,    22,    23,    24,    25,  
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,  
       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,  
       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,  
       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,  
       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223  
2328  };  };
2329    
2330  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2331     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2332  static const unsigned short int yystos[] =  static const yytype_uint16 yystos[] =
2333  {  {
2334         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2335        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,        36,    37,    39,   228,   229,   230,   231,   286,   287,   288,
2336       274,   275,   278,   279,   280,   281,   282,   322,   325,    24,       289,   290,   291,   292,   293,   294,   299,   300,   301,   302,
2337        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,       303,   365,   369,    22,    30,    36,    23,    23,    27,    33,
2338         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,        19,    39,    23,    23,    39,    32,     0,   225,   226,   284,
2339        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,       285,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2340        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2341        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2342        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2343        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2344        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2345        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2346        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2347        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2348       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2349       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2350       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2351       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2352       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2353       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2354       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2355       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2356       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2357       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2358       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2359       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2360       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2361       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       224,   275,   278,   279,   280,   283,   283,   283,   283,   283,
2362       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2363        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,       283,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2364        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        31,    37,    30,    38,    20,    31,    37,   284,     9,    10,
2365       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        11,    12,    13,    14,    15,    16,    17,    18,   277,   278,
2366        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,       277,   277,   277,   277,   277,   277,   277,   277,     3,     9,
2367        21,    23,    25,    33,    39,    40,   234,   283,   284,   285,        10,    11,    12,    13,    14,    15,    16,    17,    18,   280,
2368       286,   293,   294,   296,   298,   299,   300,   301,   302,   303,        21,    31,   232,   304,   348,    19,    21,    23,    24,    31,
2369       305,   307,   308,   309,   310,   311,   312,   316,    21,    33,        37,    38,    40,   238,   304,   305,   306,   307,   324,   325,
2370       236,   299,   309,   237,   299,   309,    21,    23,    33,   242,       328,   333,   334,   335,   336,   337,   338,   340,   342,   343,
2371       284,   285,   286,   298,   305,   308,    29,   238,   295,   296,       344,   345,   346,   347,   348,   349,   350,   351,   356,   357,
2372       283,    21,    25,    33,   235,   283,   297,   302,   306,   307,       358,   359,    31,   235,   346,   236,   346,    31,   242,   347,
2373       324,    22,    23,    33,    39,    40,    42,   232,   288,   289,        19,    24,    31,   240,   334,   344,   356,   243,   334,   344,
2374       290,   291,   292,   293,   323,   233,   288,   289,   290,   291,       356,    19,    21,    24,    31,   249,   305,   306,   307,   333,
2375       292,   293,   323,   259,   265,   267,   283,    21,    40,    40,       340,   343,   347,   349,   357,    27,   244,   327,   328,   237,
2376        24,    40,    35,    25,    25,    39,    41,   262,    28,    41,       304,   348,    19,    23,    31,   239,   304,   332,   337,   341,
2377        42,    28,    34,    29,    25,    35,   267,   267,   267,   267,       342,   348,   356,   359,   368,    19,    20,    21,    24,    25,
2378       267,   267,   267,   267,   267,   267,   267,   267,   267,    41,        31,    37,    38,    40,   233,   309,   310,   311,   312,   313,
2379        29,   267,   267,   267,   267,    41,    28,    29,    34,   267,       314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
2380       267,   267,    41,    23,    29,   267,   267,   267,   267,   267,       324,   326,   366,   234,   309,   310,   311,   312,   313,   314,
2381       267,    41,    28,    29,    40,    35,    35,   259,   267,   267,       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
2382        40,    38,    42,    40,    23,    23,    22,    21,    24,    21,       326,   366,   275,   281,   283,   241,   304,    19,    19,    38,
2383        21,    27,    24,    38,    40,    29,   287,   290,   291,   292,        38,    22,    38,    33,    23,    23,    37,    19,    39,   278,
2384       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,        26,    27,   283,    39,    40,    26,    32,    42,    27,    23,
2385       287,   287,    24,    24,   259,   259,    12,    13,    14,    15,        33,    33,   283,   283,   283,   283,   283,   283,   283,   283,
2386        16,    17,    18,    19,    20,   263,   263,    24,    21,    24,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2387        39,     6,     7,    34,   243,   255,   266,   277,   244,   254,        27,   283,   283,    27,   283,    39,    42,    27,   283,   283,
2388       259,   252,   263,    24,    28,    24,    21,    33,    39,    42,       283,   283,   283,   283,    39,    26,    42,    27,   283,   283,
2389       239,   299,   303,   304,   309,   312,   313,   314,   315,   317,        32,   283,   283,   283,   283,    39,    21,    27,   283,   283,
2390       318,   319,   263,   263,   263,   263,   258,   259,   263,    26,       283,   283,   283,   283,   283,   283,   283,    39,    39,    26,
2391        21,    39,    38,    40,    29,   252,    25,    35,    25,    40,        42,    30,    27,    38,    33,    33,   275,   283,   283,    36,
2392        38,    39,    34,    29,    29,    34,    29,    29,    42,    21,        38,    36,    40,    38,    21,    21,    34,    20,    19,    22,
2393        34,   267,   267,   267,   267,   267,   267,   267,   267,   267,       222,   223,   269,   282,    22,    19,    19,    25,    89,    22,
2394       267,   267,   267,   267,   267,   267,    29,    29,   267,   267,        36,    38,    30,    27,   308,   321,   322,   323,   308,   308,
2395        29,    34,    29,    40,   265,   265,    35,   267,   267,   267,       308,   308,   308,   308,   308,   308,   308,   308,    10,    11,
2396        29,    35,    29,    41,    29,    41,    35,    35,   267,   267,        12,    13,    14,    15,    16,    17,    18,    19,   259,   279,
2397       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       295,   308,   308,   308,   308,   264,   279,   308,    22,    32,
2398       267,   267,   267,    26,    34,    23,    25,    21,    23,    45,       246,   298,   259,    22,   259,   295,    22,    89,    22,   275,
2399        29,    23,    34,    35,    32,    34,    34,    91,    25,    32,       275,   264,   279,   279,   264,    22,    19,    89,    22,   259,
2400        26,   252,    22,    36,   241,   320,   321,   252,   252,   254,       295,   264,    37,   250,   268,   282,   298,   251,   267,   275,
2401       263,   259,   259,   263,   263,   263,   263,   259,   259,   263,       264,   259,   295,    22,    26,    22,    19,    31,    37,   245,
2402        35,    91,   240,   259,   240,    35,    34,    91,    38,     6,       334,   338,   339,   344,   348,   351,   352,   353,   354,   359,
2403         7,    34,   253,   263,   255,   252,    35,    91,    24,    24,       361,   362,   279,   279,   279,   279,    32,   367,    19,    30,
2404        40,    32,    32,   252,   252,   252,   252,   252,   252,   252,        31,   338,   355,   360,     7,     8,   263,   276,   277,   278,
2405       252,   252,   252,   252,   259,   263,   259,   263,    25,    34,       279,   274,   275,   279,    22,    24,    19,    89,    33,    22,
2406        25,    21,    32,    25,    22,    38,    25,    91,    21,    25,        37,    36,    38,    27,   264,    23,    33,    23,    38,    36,
2407        25,    29,    38,    91,    35,    45,    25,   267,   267,   267,        37,    32,    27,   281,   281,    27,    27,    32,    27,    37,
2408       267,   267,   267,   267,    91,    29,   267,     4,    91,    25,        27,    40,    19,    39,    32,   283,   283,   283,   283,   283,
2409        29,    41,    91,   267,   267,    91,    29,    29,    29,    25,       283,   283,   283,   283,   283,   283,   283,   283,   283,    30,
2410        35,    41,   267,   267,   267,   267,   267,   267,   267,   267,       283,   283,   283,   283,    27,    33,   259,   283,   283,    27,
2411       267,   267,   267,     4,   267,     4,   267,    38,    25,    32,        27,    37,    27,   283,   283,   283,   283,    27,    32,    37,
2412        33,    91,    91,    25,    29,    32,    35,    22,    32,    34,        27,    38,   283,   283,   283,    27,    33,    27,    39,    27,
2413        42,    40,    38,   252,   259,   263,   263,   263,   259,   263,        39,    33,   283,   283,   283,   283,   283,   283,   283,   283,
2414        35,    34,   259,     6,     7,     9,    10,   256,   257,   259,       283,   283,   283,   283,   283,   283,   283,   283,    19,   283,
2415       260,   261,   262,   263,    35,    32,    34,    33,    33,   252,        39,    23,    27,   283,   283,   283,   277,   277,     6,    27,
2416       253,    35,    34,    35,    91,    33,   245,   263,   246,   263,        24,    32,    37,    20,    27,    21,    23,    19,    21,    43,
2417       247,   259,   245,   248,   263,    21,   249,   263,   276,   250,        27,    21,    32,    89,   222,   223,    33,    30,    32,    32,
2418       259,   245,     9,    10,   251,   260,   263,   258,   258,   256,        23,    89,    23,    30,    31,    24,   264,    20,    34,   248,
2419       259,   256,   259,    91,    32,    32,    91,    42,    23,    22,       363,   364,   264,   264,   267,   279,   275,   275,   279,   279,
2420        41,    32,    39,    36,    35,    25,    23,   267,   267,   267,       279,   279,   275,   259,    30,   259,   275,   279,   264,    89,
2421       267,    41,    36,     4,   259,   259,   261,   261,     5,     8,        32,   283,   260,   279,    89,    33,    23,    89,   247,   275,
2422        41,    36,    25,    35,   267,    41,    36,    91,    29,    25,       247,   262,   279,   266,   279,    33,    32,    23,    89,    36,
2423       267,    32,   267,     4,     4,    26,    91,    21,    23,    35,       265,   279,   268,   264,    33,    89,    22,    22,    38,    30,
2424        35,    25,    40,    25,    41,    29,    39,    25,   240,   259,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2425       259,   240,    40,    41,   256,     6,     7,     8,     8,   257,       264,   264,   275,   279,   275,   279,    31,   259,    22,    40,
2426       261,    40,    41,    34,    24,   252,    40,    41,    35,    34,        22,   264,   264,   264,     6,     6,   277,    33,    23,    32,
2427       246,    32,   248,   256,   256,    29,    23,    29,    34,    35,        23,    19,    89,    23,    19,    30,    23,    20,    36,    23,
2428        29,    41,    36,    91,    40,    23,    34,    36,    40,   261,        27,    89,    19,    23,    23,    32,    27,    36,    89,    23,
2429       261,    36,    40,    40,    21,    36,    40,    41,    36,   267,        33,    43,    23,   283,   283,   283,   283,   283,   283,   283,
2430        32,    35,    34,    25,    41,    23,    34,    41,    21,    25,       283,   283,    27,    89,   260,   283,    27,    89,    32,    27,
2431        33,    91,    25,    40,    41,    91,    41,    91,    32,    41,       283,     4,   283,    89,    23,    32,    27,    39,   283,   283,
2432        91,    40,    41,   249,    32,    41,    26,    35,    34,    25,        89,    27,    27,    27,    23,    33,   283,   283,   283,   283,
2433        40,    40,    41,    34,    29,    24,    36,    91,    21,    40,       283,   283,   283,   283,   283,   283,   283,   283,     4,   283,
2434        24,    40,    24,    40,    24,    36,    36,    40,    34,    35,         4,   283,    23,   283,    27,    23,    27,   283,   283,   283,
2435        41,    40,    91,    91,    24,    27,    24,    25,    38,    35,       277,   277,    89,    36,    23,    32,    30,    27,    30,    31,
2436        23,    27,    91,    25,    91,    25,    91,    25,    35,    41,        89,    89,    23,    27,    30,    32,    33,    20,    30,    22,
2437        91,    40,    39,    23,    23,    24,    29,    29,    29,    42,        32,    40,    38,    36,   264,   275,   279,   279,   279,   275,
2438        29,    38,    35,    25,    24,    42,    24,    42,    23,    24,       260,   279,   266,    32,    31,   283,   261,   279,    32,    33,
2439        42,    38,    40,    23,    36,    40,    35,    28,    25,    38,        22,    32,   275,     7,     8,   272,   273,   275,   276,   279,
2440        35,    34,    91,    29,    42,    40,    41,    25,    29,    25,       282,   271,   282,    33,    30,    22,    32,    31,   264,   265,
2441        29,    28,    25,    29,    40,    91,    28,    35,    45,    41,        33,    32,    33,    89,   253,   279,   254,   279,   255,   275,
2442        21,    42,    29,    91,    25,    29,    23,    25,    91,    34,       253,    22,    32,   259,   296,   297,   256,   279,   257,   279,
2443        42,    23,    42,    23,    21,    42,    23,    23,    40,    21,       295,   258,   275,   253,   263,   274,   274,   272,   275,   272,
2444        38,    36,    34,    34,    29,    42,    35,    39,    34,    25,       275,   269,    33,    30,    89,   266,   266,   266,    33,    89,
2445        38,    36,    40,    29,    25,    29,    25,    34,    29,    25,        30,    22,    89,    32,    30,    89,    40,    21,    20,    37,
2446        28,    45,    34,    40,    25,    40,    34,    23,    25,    41,        39,    30,    37,    37,    34,    37,    33,    23,    21,   283,
2447        36,    39,    91,    21,    91,    23,    23,    34,    23,    91,       283,   283,   283,   283,    37,    33,   261,    37,    39,    34,
2448        21,    36,    34,    25,    25,    38,    40,    41,    36,    38,         4,     5,    39,    34,    37,    23,   283,    39,    34,    89,
2449        33,    25,    25,    25,    25,    36,    34,    25,    25,    32,        27,   283,    23,    33,   283,     4,     4,    89,    21,   283,
2450        39,    91,    36,    40,    21,    21,    21,    32,    91,    21,       283,   283,    39,    24,    89,    89,    27,    34,    37,    19,
2451        34,    32,    91,    36,    41,    91,    38,    33,    44,    36,        21,    33,    33,    23,    38,    38,    23,    39,    38,    27,
2452        38,    25,    36,    21,    40,    24,    21,    25,    21,    21,        37,    23,   247,   275,   275,   247,   261,    38,    22,   283,
2453        32,    21,    38,    91,    38,    33,    40,    38,    33,    38,        38,    38,    39,   272,   273,    38,    39,    38,    32,   264,
2454        21,    24,    29,    25,    25,    21,    25,    21,    33,    38,        38,    39,    33,    32,   254,    24,    32,   256,   272,   272,
2455        42,    40,    38,    33,    40,    33,    25,    29,    25,    25,        33,    33,   254,   262,   263,    38,    27,    21,    27,    21,
2456        25,    25,    25,    40,    42,    38,    38,    40,    38,    40,        27,    32,    39,    38,    32,    33,    27,    39,    36,    34,
2457        25,    25,    39,    25,    25,    38,    38,    38,    38,    39        89,    38,    36,    21,    32,    36,    19,   267,    36,    34,
2458          38,    34,    38,    36,    38,    34,    38,    39,    34,    19,
2459          23,   283,    39,    32,   283,    34,    30,    33,    32,    33,
2460          32,    24,    38,    36,    23,    39,    21,    32,    39,    39,
2461          19,    23,    31,    89,    39,    23,    38,    39,    30,   283,
2462          39,    39,    89,    39,    89,    39,    39,    89,    38,    39,
2463          39,   257,    38,    38,   254,    39,    30,    39,    24,    39,
2464          24,    33,    89,    39,    33,    32,    23,    38,    31,    38,
2465          39,    32,    27,    22,    34,    31,    89,    19,    31,   268,
2466          31,    38,    22,    38,    22,    31,    38,    22,    34,    34,
2467          38,    30,    34,    36,    38,    32,    33,    32,    33,    22,
2468          31,    39,    38,    89,    23,    89,    22,    25,    22,    23,
2469          36,    33,    23,    21,    25,    23,   283,    23,    89,    23,
2470          89,    23,    23,    89,    23,    33,    39,    89,    38,    39,
2471          33,    89,    38,    38,    23,    23,    37,    21,    32,    21,
2472          22,    27,    27,    27,    40,    27,    36,    32,    33,    23,
2473          32,   265,    32,    22,    40,    22,    40,    32,    21,    22,
2474          40,    36,    38,    21,    34,    38,    38,    30,    22,    40,
2475          32,    33,    38,    26,    23,    36,    33,    32,    89,    27,
2476          40,    38,    38,    39,    38,   283,    38,    23,    27,    23,
2477          27,    38,    26,    23,    27,    38,    89,    26,    33,    43,
2478          89,    30,    23,    27,    38,    39,    89,    19,    40,    27,
2479          89,    23,    27,    21,    23,    89,    37,    89,    32,   263,
2480          40,    21,    40,    21,    89,    19,    40,    21,    21,    38,
2481          19,    36,    34,    23,    40,    21,    89,    32,    31,    32,
2482          27,    40,    33,    37,    32,    23,    36,    34,    31,    38,
2483         283,    27,    23,    27,    23,    31,    32,    27,    23,    26,
2484          43,    32,    38,    23,    36,    27,    23,    21,    27,    31,
2485          38,    19,    32,    21,    23,    39,    34,    37,    89,    19,
2486          19,    89,    33,    34,   252,   270,   282,   329,   330,   331,
2487          21,    21,    19,    32,    21,    89,    19,    34,    32,    21,
2488          89,    33,    32,    19,    34,    23,    23,    36,    38,    39,
2489          34,    36,    34,    31,    32,    23,   283,    23,    23,    34,
2490          23,    23,    34,    32,    23,    23,    23,    21,    27,    39,
2491          24,    34,    30,    37,    89,    34,    38,    19,    19,    37,
2492          19,    89,    36,   270,    30,    89,    19,    32,    30,    89,
2493          33,    32,    32,    33,    89,    89,    34,    39,    89,    36,
2494          31,    42,    22,    37,    34,    36,    23,    21,    27,    39,
2495          24,    38,    21,    27,    34,    19,    38,    22,    19,    23,
2496          23,    27,    19,    19,    30,    33,    32,    32,    33,    33,
2497          32,    19,    36,    89,    36,    31,    38,    31,    37,    36,
2498          31,    39,    24,    38,    39,    24,    36,    19,    22,    27,
2499          23,    23,    19,    38,    19,    23,    32,    33,    32,    33,
2500          19,    31,    36,    40,    38,    36,    32,    23,    31,    38,
2501          38,    38,    31,    23,    27,    23,    23,    22,    32,    23,
2502          23,    23,    38,    40,    36,    36,    89,    38,    38,    36,
2503          38,    23,    23,    37,    26,    23,    23,    36,    36,    33,
2504          36,    36,    37,    30,    22
2505  };  };
2506    
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  
 # define YYSIZE_T __SIZE_TYPE__  
 #endif  
 #if ! defined (YYSIZE_T) && defined (size_t)  
 # define YYSIZE_T size_t  
 #endif  
 #if ! defined (YYSIZE_T)  
 # if defined (__STDC__) || defined (__cplusplus)  
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */  
 #  define YYSIZE_T size_t  
 # endif  
 #endif  
 #if ! defined (YYSIZE_T)  
 # define YYSIZE_T unsigned int  
 #endif  
   
2507  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2508  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2509  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 2126  do                                                             \ Line 2529  do                                                             \
2529        yychar = (Token);                                         \        yychar = (Token);                                         \
2530        yylval = (Value);                                         \        yylval = (Value);                                         \
2531        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2532        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2533        goto yybackup;                                            \        goto yybackup;                                            \
2534      }                                                           \      }                                                           \
2535    else                                                          \    else                                                          \
2536      {                                                           \      {                                                           \
2537        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2538        YYERROR;                                                  \        YYERROR;                                                  \
2539      }                                                           \      }                                                           \
2540  while (0)  while (YYID (0))
2541    
2542    
2543  #define YYTERROR        1  #define YYTERROR        1
# Line 2149  while (0) Line 2552  while (0)
2552  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2553  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2554      do                                                                  \      do                                                                  \
2555        if (N)                                                            \        if (YYID (N))                                                    \
2556          {                                                               \          {                                                               \
2557            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2558            (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \            (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
# Line 2163  while (0) Line 2566  while (0)
2566            (Current).first_column = (Current).last_column =              \            (Current).first_column = (Current).last_column =              \
2567              YYRHSLOC (Rhs, 0).last_column;                              \              YYRHSLOC (Rhs, 0).last_column;                              \
2568          }                                                               \          }                                                               \
2569      while (0)      while (YYID (0))
2570  #endif  #endif
2571    
2572    
# Line 2175  while (0) Line 2578  while (0)
2578  # if YYLTYPE_IS_TRIVIAL  # if YYLTYPE_IS_TRIVIAL
2579  #  define YY_LOCATION_PRINT(File, Loc)                  \  #  define YY_LOCATION_PRINT(File, Loc)                  \
2580       fprintf (File, "%d.%d-%d.%d",                      \       fprintf (File, "%d.%d-%d.%d",                      \
2581                (Loc).first_line, (Loc).first_column,     \                (Loc).first_line, (Loc).first_column,     \
2582                (Loc).last_line,  (Loc).last_column)                (Loc).last_line,  (Loc).last_column)
2583  # else  # else
2584  #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)  #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2585  # endif  # endif
# Line 2203  while (0) Line 2606  while (0)
2606  do {                                            \  do {                                            \
2607    if (yydebug)                                  \    if (yydebug)                                  \
2608      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2609  } while (0)  } while (YYID (0))
2610    
2611  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)          \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2612  do {                                                            \  do {                                                                      \
2613    if (yydebug)                                                  \    if (yydebug)                                                            \
2614      {                                                           \      {                                                                     \
2615        YYFPRINTF (stderr, "%s ", Title);                         \        YYFPRINTF (stderr, "%s ", Title);                                   \
2616        yysymprint (stderr,                                       \        yy_symbol_print (stderr,                                            \
2617                    Type, Value); \                    Type, Value); \
2618        YYFPRINTF (stderr, "\n");                                 \        YYFPRINTF (stderr, "\n");                                           \
2619      }                                                           \      }                                                                     \
2620  } while (0)  } while (YYID (0))
2621    
2622    
2623    /*--------------------------------.
2624    | Print this symbol on YYOUTPUT.  |
2625    `--------------------------------*/
2626    
2627    /*ARGSUSED*/
2628    #if (defined __STDC__ || defined __C99__FUNC__ \
2629         || defined __cplusplus || defined _MSC_VER)
2630    static void
2631    yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2632    #else
2633    static void
2634    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2635        FILE *yyoutput;
2636        int yytype;
2637        YYSTYPE const * const yyvaluep;
2638    #endif
2639    {
2640      if (!yyvaluep)
2641        return;
2642    # ifdef YYPRINT
2643      if (yytype < YYNTOKENS)
2644        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2645    # else
2646      YYUSE (yyoutput);
2647    # endif
2648      switch (yytype)
2649        {
2650          default:
2651            break;
2652        }
2653    }
2654    
2655    
2656    /*--------------------------------.
2657    | Print this symbol on YYOUTPUT.  |
2658    `--------------------------------*/
2659    
2660    #if (defined __STDC__ || defined __C99__FUNC__ \
2661         || defined __cplusplus || defined _MSC_VER)
2662    static void
2663    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2664    #else
2665    static void
2666    yy_symbol_print (yyoutput, yytype, yyvaluep)
2667        FILE *yyoutput;
2668        int yytype;
2669        YYSTYPE const * const yyvaluep;
2670    #endif
2671    {
2672      if (yytype < YYNTOKENS)
2673        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2674      else
2675        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2676    
2677      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2678      YYFPRINTF (yyoutput, ")");
2679    }
2680    
2681  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2682  | yy_stack_print -- Print the state stack from its BOTTOM up to its |  | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2683  | TOP (included).                                                   |  | TOP (included).                                                   |
2684  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2685    
2686  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2687         || defined __cplusplus || defined _MSC_VER)
2688  static void  static void
2689  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2690  #else  #else
2691  static void  static void
2692  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2693      short int *bottom;      yytype_int16 *bottom;
2694      short int *top;      yytype_int16 *top;
2695  #endif  #endif
2696  {  {
2697    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2698    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2699      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2700    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2701  }  }
# Line 2241  yy_stack_print (bottom, top) Line 2704  yy_stack_print (bottom, top)
2704  do {                                                            \  do {                                                            \
2705    if (yydebug)                                                  \    if (yydebug)                                                  \
2706      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2707  } while (0)  } while (YYID (0))
2708    
2709    
2710  /*------------------------------------------------.  /*------------------------------------------------.
2711  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2712  `------------------------------------------------*/  `------------------------------------------------*/
2713    
2714  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2715         || defined __cplusplus || defined _MSC_VER)
2716  static void  static void
2717  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2718  #else  #else
2719  static void  static void
2720  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2721        YYSTYPE *yyvsp;
2722      int yyrule;      int yyrule;
2723  #endif  #endif
2724  {  {
2725      int yynrhs = yyr2[yyrule];
2726    int yyi;    int yyi;
2727    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2728    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2729               yyrule - 1, yylno);               yyrule - 1, yylno);
2730    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2731    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2732      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2733    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2734          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2735                           &(yyvsp[(yyi + 1) - (yynrhs)])
2736                                           );
2737          fprintf (stderr, "\n");
2738        }
2739  }  }
2740    
2741  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2742  do {                                    \  do {                                    \
2743    if (yydebug)                          \    if (yydebug)                          \
2744      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2745  } while (0)  } while (YYID (0))
2746    
2747  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2748     multiple parsers can coexist.  */     multiple parsers can coexist.  */
# Line 2293  int yydebug; Line 2764  int yydebug;
2764     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2765    
2766     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2767     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2768     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2769    
2770  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
# Line 2305  int yydebug; Line 2776  int yydebug;
2776  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2777    
2778  # ifndef yystrlen  # ifndef yystrlen
2779  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2780  #   define yystrlen strlen  #   define yystrlen strlen
2781  #  else  #  else
2782  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2783    #if (defined __STDC__ || defined __C99__FUNC__ \
2784         || defined __cplusplus || defined _MSC_VER)
2785  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2786  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2787  #   else  #else
2788    static YYSIZE_T
2789  yystrlen (yystr)  yystrlen (yystr)
2790       const char *yystr;      const char *yystr;
2791  #   endif  #endif
2792  {  {
2793    register const char *yys = yystr;    YYSIZE_T yylen;
2794      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2795      continue;      continue;
2796      return yylen;
   return yys - yystr - 1;  
2797  }  }
2798  #  endif  #  endif
2799  # endif  # endif
2800    
2801  # ifndef yystpcpy  # ifndef yystpcpy
2802  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2803  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2804  #  else  #  else
2805  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2806     YYDEST.  */     YYDEST.  */
2807    #if (defined __STDC__ || defined __C99__FUNC__ \
2808         || defined __cplusplus || defined _MSC_VER)
2809  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2810  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2811  #   else  #else
2812    static char *
2813  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2814       char *yydest;      char *yydest;
2815       const char *yysrc;      const char *yysrc;
2816  #   endif  #endif
2817  {  {
2818    register char *yyd = yydest;    char *yyd = yydest;
2819    register const char *yys = yysrc;    const char *yys = yysrc;
2820    
2821    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2822      continue;      continue;
# Line 2353  yystpcpy (yydest, yysrc) Line 2826  yystpcpy (yydest, yysrc)
2826  #  endif  #  endif
2827  # endif  # endif
2828    
2829  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2830    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2831       quotes and backslashes, so that it's suitable for yyerror.  The
2832       heuristic is that double-quoting is unnecessary unless the string
2833       contains an apostrophe, a comma, or backslash (other than
2834       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2835       null, do not copy; instead, return the length of what the result
2836       would have been.  */
2837    static YYSIZE_T
2838    yytnamerr (char *yyres, const char *yystr)
2839    {
2840      if (*yystr == '"')
2841        {
2842          YYSIZE_T yyn = 0;
2843          char const *yyp = yystr;
2844    
2845          for (;;)
2846            switch (*++yyp)
2847              {
2848              case '\'':
2849              case ',':
2850                goto do_not_strip_quotes;
2851    
2852              case '\\':
2853                if (*++yyp != '\\')
2854                  goto do_not_strip_quotes;
2855                /* Fall through.  */
2856              default:
2857                if (yyres)
2858                  yyres[yyn] = *yyp;
2859                yyn++;
2860                break;
2861    
2862              case '"':
2863                if (yyres)
2864                  yyres[yyn] = '\0';
2865                return yyn;
2866              }
2867        do_not_strip_quotes: ;
2868        }
2869    
2870  #if YYDEBUG    if (! yyres)
2871  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2872    
2873  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2874  static void  }
2875  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2876  #else  
2877  static void  /* Copy into YYRESULT an error message about the unexpected token
2878  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2879      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2880      int yytype;     copy anything; just return the number of bytes that would be
2881      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2882  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2883       size calculation.  */
2884    static YYSIZE_T
2885    yysyntax_error (char *yyresult, int yystate, int yychar)
2886  {  {
2887    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2888    
2889    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2890      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);      return 0;
2891    else    else
2892      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);      {
2893          int yytype = YYTRANSLATE (yychar);
2894          YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2895          YYSIZE_T yysize = yysize0;
2896          YYSIZE_T yysize1;
2897          int yysize_overflow = 0;
2898          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2899          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2900          int yyx;
2901    
2902    # if 0
2903          /* This is so xgettext sees the translatable formats that are
2904             constructed on the fly.  */
2905          YY_("syntax error, unexpected %s");
2906          YY_("syntax error, unexpected %s, expecting %s");
2907          YY_("syntax error, unexpected %s, expecting %s or %s");
2908          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2909          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2910    # endif
2911          char *yyfmt;
2912          char const *yyf;
2913          static char const yyunexpected[] = "syntax error, unexpected %s";
2914          static char const yyexpecting[] = ", expecting %s";
2915          static char const yyor[] = " or %s";
2916          char yyformat[sizeof yyunexpected
2917                        + sizeof yyexpecting - 1
2918                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2919                           * (sizeof yyor - 1))];
2920          char const *yyprefix = yyexpecting;
2921    
2922          /* Start YYX at -YYN if negative to avoid negative indexes in
2923             YYCHECK.  */
2924          int yyxbegin = yyn < 0 ? -yyn : 0;
2925    
2926          /* Stay within bounds of both yycheck and yytname.  */
2927          int yychecklim = YYLAST - yyn + 1;
2928          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2929          int yycount = 1;
2930    
2931          yyarg[0] = yytname[yytype];
2932          yyfmt = yystpcpy (yyformat, yyunexpected);
2933    
2934          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2935            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2936              {
2937                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2938                  {
2939                    yycount = 1;
2940                    yysize = yysize0;
2941                    yyformat[sizeof yyunexpected - 1] = '\0';
2942                    break;
2943                  }
2944                yyarg[yycount++] = yytname[yyx];
2945                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2946                yysize_overflow |= (yysize1 < yysize);
2947                yysize = yysize1;
2948                yyfmt = yystpcpy (yyfmt, yyprefix);
2949                yyprefix = yyor;
2950              }
2951    
2952          yyf = YY_(yyformat);
2953          yysize1 = yysize + yystrlen (yyf);
2954          yysize_overflow |= (yysize1 < yysize);
2955          yysize = yysize1;
2956    
2957          if (yysize_overflow)
2958            return YYSIZE_MAXIMUM;
2959    
2960  # ifdef YYPRINT        if (yyresult)
2961    if (yytype < YYNTOKENS)          {
2962      YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);            /* Avoid sprintf, as that infringes on the user's name space.
2963  # endif               Don't have undefined behavior even if the translation
2964    switch (yytype)               produced a string with the wrong number of "%s"s.  */
2965      {            char *yyp = yyresult;
2966        default:            int yyi = 0;
2967          break;            while ((*yyp = *yyf) != '\0')
2968                {
2969                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2970                    {
2971                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2972                      yyf += 2;
2973                    }
2974                  else
2975                    {
2976                      yyp++;
2977                      yyf++;
2978                    }
2979                }
2980            }
2981          return yysize;
2982      }      }
   YYFPRINTF (yyoutput, ")");  
2983  }  }
2984    #endif /* YYERROR_VERBOSE */
2985    
2986    
 #endif /* ! YYDEBUG */  
2987  /*-----------------------------------------------.  /*-----------------------------------------------.
2988  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
2989  `-----------------------------------------------*/  `-----------------------------------------------*/
2990    
2991  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
2992    #if (defined __STDC__ || defined __C99__FUNC__ \
2993         || defined __cplusplus || defined _MSC_VER)
2994  static void  static void
2995  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2996  #else  #else
# Line 2410  yydestruct (yymsg, yytype, yyvaluep) Line 3001  yydestruct (yymsg, yytype, yyvaluep)
3001      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3002  #endif  #endif
3003  {  {
3004    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
   (void) yyvaluep;  
3005    
3006    if (!yymsg)    if (!yymsg)
3007      yymsg = "Deleting";      yymsg = "Deleting";
# Line 2421  yydestruct (yymsg, yytype, yyvaluep) Line 3011  yydestruct (yymsg, yytype, yyvaluep)
3011      {      {
3012    
3013        default:        default:
3014          break;          break;
3015      }      }
3016  }  }
3017    
# Line 2429  yydestruct (yymsg, yytype, yyvaluep) Line 3019  yydestruct (yymsg, yytype, yyvaluep)
3019  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3020    
3021  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3022  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3023  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3024  # else  #else
3025  int yyparse ();  int yyparse ();
3026  # endif  #endif
3027  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3028  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3029  int yyparse (void);  int yyparse (void);
3030  #else  #else
3031  int yyparse ();  int yyparse ();
# Line 2452  int yyparse (); Line 3042  int yyparse ();
3042  `----------*/  `----------*/
3043    
3044  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3045  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3046  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3047  # else  int
3048  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3049    void *YYPARSE_PARAM;  #else
3050  # endif  int
3051    yyparse (YYPARSE_PARAM)
3052        void *YYPARSE_PARAM;
3053    #endif
3054  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3055  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3056         || defined __cplusplus || defined _MSC_VER)
3057  int  int
3058  yyparse (void)  yyparse (void)
3059  #else  #else
# Line 2478  YYSTYPE yylval; Line 3072  YYSTYPE yylval;
3072  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3073  int yynerrs;  int yynerrs;
3074    
3075    register int yystate;    int yystate;
3076    register int yyn;    int yyn;
3077    int yyresult;    int yyresult;
3078    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3079    int yyerrstatus;    int yyerrstatus;
3080    /* Look-ahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3081    int yytoken = 0;    int yytoken = 0;
3082    #if YYERROR_VERBOSE
3083      /* Buffer for error messages, and its allocated size.  */
3084      char yymsgbuf[128];
3085      char *yymsg = yymsgbuf;
3086      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3087    #endif
3088    
3089    /* Three stacks and their tools:    /* Three stacks and their tools:
3090       `yyss': related to states,       `yyss': related to states,
# Line 2495  int yynerrs; Line 3095  int yynerrs;
3095       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3096    
3097    /* The state stack.  */    /* The state stack.  */
3098    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3099    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3100    register short int *yyssp;    yytype_int16 *yyssp;
3101    
3102    /* The semantic value stack.  */    /* The semantic value stack.  */
3103    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3104    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3105    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3106    
3107    
3108    
3109  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3110    
3111    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3112    
# Line 2515  int yynerrs; Line 3115  int yynerrs;
3115    YYSTYPE yyval;    YYSTYPE yyval;
3116    
3117    
3118    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3119       rule.  */       Keep to zero when no symbol should be popped.  */
3120    int yylen;    int yylen = 0;
3121    
3122    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3123    
# Line 2534  int yynerrs; Line 3134  int yynerrs;
3134    yyssp = yyss;    yyssp = yyss;
3135    yyvsp = yyvs;    yyvsp = yyvs;
3136    
   
   yyvsp[0] = yylval;  
   
3137    goto yysetstate;    goto yysetstate;
3138    
3139  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2544  int yynerrs; Line 3141  int yynerrs;
3141  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3142   yynewstate:   yynewstate:
3143    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3144       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3145    yyssp++;    yyssp++;
3146    
3147   yysetstate:   yysetstate:
# Line 2558  int yynerrs; Line 3154  int yynerrs;
3154    
3155  #ifdef yyoverflow  #ifdef yyoverflow
3156        {        {
3157          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3158             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3159             memory.  */             memory.  */
3160          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3161          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3162    
3163    
3164          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3165             data in use in that stack, in bytes.  This used to be a             data in use in that stack, in bytes.  This used to be a
3166             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3167             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3168          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3169                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3170                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3171    
# Line 2580  int yynerrs; Line 3176  int yynerrs;
3176        }        }
3177  #else /* no yyoverflow */  #else /* no yyoverflow */
3178  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3179        goto yyoverflowlab;        goto yyexhaustedlab;
3180  # else  # else
3181        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3182        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3183          goto yyoverflowlab;          goto yyexhaustedlab;
3184        yystacksize *= 2;        yystacksize *= 2;
3185        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3186          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3187    
3188        {        {
3189          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3190          union yyalloc *yyptr =          union yyalloc *yyptr =
3191            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3192          if (! yyptr)          if (! yyptr)
3193            goto yyoverflowlab;            goto yyexhaustedlab;
3194          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3195          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3196    
# Line 2625  int yynerrs; Line 3221  int yynerrs;
3221  `-----------*/  `-----------*/
3222  yybackup:  yybackup:
3223    
3224  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3225  /* Read a look-ahead token if we need one and don't already have one.  */       look-ahead token if we need one and don't already have one.  */
 /* yyresume: */  
3226    
3227    /* First try to decide what to do without reference to look-ahead token.  */    /* First try to decide what to do without reference to look-ahead token.  */
   
3228    yyn = yypact[yystate];    yyn = yypact[yystate];
3229    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3230      goto yydefault;      goto yydefault;
# Line 2672  yybackup: Line 3266  yybackup:
3266    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3267      YYACCEPT;      YYACCEPT;
3268    
3269      /* Count tokens shifted since error; after three, turn off error
3270         status.  */
3271      if (yyerrstatus)
3272        yyerrstatus--;
3273    
3274    /* Shift the look-ahead token.  */    /* Shift the look-ahead token.  */
3275    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3276    
3277    /* Discard the token being shifted unless it is eof.  */    /* Discard the shifted token unless it is eof.  */
3278    if (yychar != YYEOF)    if (yychar != YYEOF)
3279      yychar = YYEMPTY;      yychar = YYEMPTY;
3280    
3281      yystate = yyn;
3282    *++yyvsp = yylval;    *++yyvsp = yylval;
3283    
   
   /* Count tokens shifted since error; after three, turn off error  
      status.  */  
   if (yyerrstatus)  
     yyerrstatus--;  
   
   yystate = yyn;  
3284    goto yynewstate;    goto yynewstate;
3285    
3286    
# Line 2723  yyreduce: Line 3316  yyreduce:
3316    switch (yyn)    switch (yyn)
3317      {      {
3318          case 4:          case 4:
3319  #line 94 "lscp.y"  #line 101 "lscp.y"
3320      { return LSCP_DONE; }      { return LSCP_DONE; }
3321      break;      break;
3322    
3323    case 5:    case 5:
3324  #line 95 "lscp.y"  #line 102 "lscp.y"
3325      { return LSCP_DONE; }      { return LSCP_DONE; }
3326      break;      break;
3327    
3328    case 6:    case 6:
3329  #line 96 "lscp.y"  #line 103 "lscp.y"
3330      { LSCPSERVER->AnswerClient((yyvsp[0].String)); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3331      break;      break;
3332    
3333    case 7:    case 7:
3334  #line 97 "lscp.y"  #line 104 "lscp.y"
3335      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3336      break;      break;
3337    
3338    case 13:    case 13:
3339  #line 107 "lscp.y"  #line 114 "lscp.y"
3340      { (yyval.String) = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3341      break;      break;
3342    
3343    case 14:    case 14:
3344  #line 108 "lscp.y"  #line 115 "lscp.y"
3345      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3346      break;      break;
3347    
3348    case 15:    case 15:
3349  #line 109 "lscp.y"  #line 116 "lscp.y"
3350      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3351      break;      break;
3352    
3353    case 16:    case 16:
3354  #line 110 "lscp.y"  #line 117 "lscp.y"
3355      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3356      break;      break;
3357    
3358    case 17:    case 17:
3359  #line 111 "lscp.y"  #line 118 "lscp.y"
3360      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3361      break;      break;
3362    
3363    case 18:    case 18:
3364  #line 112 "lscp.y"  #line 119 "lscp.y"
3365      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3366      break;      break;
3367    
3368    case 19:    case 19:
3369  #line 113 "lscp.y"  #line 120 "lscp.y"
3370      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[0].Number));                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3371      break;      break;
3372    
3373    case 20:    case 20:
3374  #line 114 "lscp.y"  #line 121 "lscp.y"
3375      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3376      break;      break;
3377    
3378    case 21:    case 21:
3379  #line 115 "lscp.y"  #line 122 "lscp.y"
3380      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3381      break;      break;
3382    
3383    case 22:    case 22:
3384  #line 116 "lscp.y"  #line 123 "lscp.y"
3385      { (yyval.String) = (yyvsp[0].String);                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3386      break;      break;
3387    
3388    case 23:    case 23:
3389  #line 117 "lscp.y"  #line 124 "lscp.y"
3390      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[0].String));                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3391      break;      break;
3392    
3393    case 24:    case 24:
3394  #line 118 "lscp.y"  #line 125 "lscp.y"
3395      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[0].Number));                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3396      break;      break;
3397    
3398    case 25:    case 25:
3399  #line 119 "lscp.y"  #line 126 "lscp.y"
3400      { (yyval.String) = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3401      break;      break;
3402    
3403    case 26:    case 26:
3404  #line 120 "lscp.y"  #line 127 "lscp.y"
3405      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3406      break;      break;
3407    
3408    case 27:    case 27:
3409  #line 123 "lscp.y"  #line 128 "lscp.y"
3410      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3411      break;      break;
3412    
3413    case 28:    case 28:
3414  #line 124 "lscp.y"  #line 129 "lscp.y"
3415      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3416      break;      break;
3417    
3418    case 29:    case 29:
3419  #line 125 "lscp.y"  #line 130 "lscp.y"
3420      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3421      break;      break;
3422    
3423    case 30:    case 30:
3424  #line 126 "lscp.y"  #line 133 "lscp.y"
3425      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3426      break;      break;
3427    
3428    case 31:    case 31:
3429  #line 127 "lscp.y"  #line 134 "lscp.y"
3430      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3431      break;      break;
3432    
3433    case 32:    case 32:
3434  #line 128 "lscp.y"  #line 135 "lscp.y"
3435      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3436      break;      break;
3437    
3438    case 33:    case 33:
3439  #line 129 "lscp.y"  #line 138 "lscp.y"
3440      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3441      break;      break;
3442    
3443    case 34:    case 34:
3444  #line 132 "lscp.y"  #line 139 "lscp.y"
3445      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3446      break;      break;
3447    
3448    case 35:    case 35:
3449  #line 133 "lscp.y"  #line 140 "lscp.y"
3450      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3451      break;      break;
3452    
3453    case 36:    case 36:
3454  #line 134 "lscp.y"  #line 141 "lscp.y"
3455      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3456      break;      break;
3457    
3458    case 37:    case 37:
3459  #line 135 "lscp.y"  #line 142 "lscp.y"
3460      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3461      break;      break;
3462    
3463    case 38:    case 38:
3464  #line 136 "lscp.y"  #line 143 "lscp.y"
3465      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3466      break;      break;
3467    
3468    case 39:    case 39:
3469  #line 137 "lscp.y"  #line 144 "lscp.y"
3470      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3471      break;      break;
3472    
3473    case 40:    case 40:
3474  #line 138 "lscp.y"  #line 145 "lscp.y"
3475      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3476      break;      break;
3477    
3478    case 41:    case 41:
3479  #line 141 "lscp.y"  #line 146 "lscp.y"
3480      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3481      break;      break;
3482    
3483    case 42:    case 42:
3484  #line 142 "lscp.y"  #line 147 "lscp.y"
3485      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3486      break;      break;
3487    
3488    case 43:    case 43:
3489  #line 143 "lscp.y"  #line 148 "lscp.y"
3490      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[0].String));                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3491      break;      break;
3492    
3493    case 44:    case 44:
3494  #line 144 "lscp.y"  #line 149 "lscp.y"
3495      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3496      break;      break;
3497    
3498    case 45:    case 45:
3499  #line 145 "lscp.y"  #line 150 "lscp.y"
3500      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3501      break;      break;
3502    
3503    case 46:    case 46:
3504  #line 146 "lscp.y"  #line 151 "lscp.y"
3505      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3506      break;      break;
3507    
3508    case 47:    case 47:
3509  #line 147 "lscp.y"  #line 152 "lscp.y"
3510      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[0].String));                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3511      break;      break;
3512    
3513    case 48:    case 48:
3514  #line 148 "lscp.y"  #line 153 "lscp.y"
3515      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3516      break;      break;
3517    
3518    case 49:    case 49:
3519  #line 149 "lscp.y"  #line 154 "lscp.y"
3520      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3521      break;      break;
3522    
3523    case 50:    case 50:
3524  #line 150 "lscp.y"  #line 155 "lscp.y"
3525      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3526      break;      break;
3527    
3528    case 51:    case 51:
3529  #line 151 "lscp.y"  #line 158 "lscp.y"
3530      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3531      break;      break;
3532    
3533    case 52:    case 52:
3534  #line 152 "lscp.y"  #line 159 "lscp.y"
3535      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[0].Number));                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3536      break;      break;
3537    
3538    case 53:    case 53:
3539  #line 153 "lscp.y"  #line 160 "lscp.y"
3540      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[0].Number));                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3541      break;      break;
3542    
3543    case 54:    case 54:
3544  #line 154 "lscp.y"  #line 161 "lscp.y"
3545      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[-2].Number), (yyvsp[0].Number));                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3546      break;      break;
3547    
3548    case 55:    case 55:
3549  #line 155 "lscp.y"  #line 162 "lscp.y"
3550      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3551      break;      break;
3552    
3553    case 56:    case 56:
3554  #line 156 "lscp.y"  #line 163 "lscp.y"
3555      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[-2].Number), (yyvsp[0].Number));              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3556      break;      break;
3557    
3558    case 57:    case 57:
3559  #line 157 "lscp.y"  #line 164 "lscp.y"
3560      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3561      break;      break;
3562    
3563    case 58:    case 58:
3564  #line 158 "lscp.y"  #line 165 "lscp.y"
3565      { (yyval.String) = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3566      break;      break;
3567    
3568    case 59:    case 59:
3569  #line 159 "lscp.y"  #line 166 "lscp.y"
3570      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[0].Number));                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3571      break;      break;
3572    
3573    case 60:    case 60:
3574  #line 160 "lscp.y"  #line 167 "lscp.y"
3575      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[-2].FillResponse), (yyvsp[0].Number));                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
3576      break;      break;
3577    
3578    case 61:    case 61:
3579  #line 161 "lscp.y"  #line 168 "lscp.y"
3580      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[0].Number));                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
3581      break;      break;
3582    
3583    case 62:    case 62:
3584  #line 162 "lscp.y"  #line 169 "lscp.y"
3585      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[0].Number));                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3586      break;      break;
3587    
3588    case 63:    case 63:
3589  #line 163 "lscp.y"  #line 170 "lscp.y"
3590      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[0].String));                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3591      break;      break;
3592    
3593    case 64:    case 64:
3594  #line 164 "lscp.y"  #line 171 "lscp.y"
3595      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3596      break;      break;
3597    
3598    case 65:    case 65:
3599  #line 165 "lscp.y"  #line 172 "lscp.y"
3600      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3601      break;      break;
3602    
3603    case 66:    case 66:
3604  #line 166 "lscp.y"  #line 173 "lscp.y"
3605      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3606      break;      break;
3607    
3608    case 67:    case 67:
3609  #line 169 "lscp.y"  #line 174 "lscp.y"
3610      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3611      break;      break;
3612    
3613    case 68:    case 68:
3614  #line 170 "lscp.y"  #line 175 "lscp.y"
3615      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
3616      break;      break;
3617    
3618    case 69:    case 69:
3619  #line 171 "lscp.y"  #line 178 "lscp.y"
3620      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));        }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
3621      break;      break;
3622    
3623    case 70:    case 70:
3624  #line 172 "lscp.y"  #line 179 "lscp.y"
3625      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
3626      break;      break;
3627    
3628    case 71:    case 71:
3629  #line 173 "lscp.y"  #line 180 "lscp.y"
3630      { (yyval.String) = (yyvsp[0].String);                                                         }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
3631      break;      break;
3632    
3633    case 72:    case 72:
3634  #line 174 "lscp.y"  #line 181 "lscp.y"
3635      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[0].Dotnum));  }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
3636      break;      break;
3637    
3638    case 73:    case 73:
3639  #line 177 "lscp.y"  #line 184 "lscp.y"
3640      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList)); }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3641      break;      break;
3642    
3643    case 74:    case 74:
3644  #line 178 "lscp.y"  #line 187 "lscp.y"
3645      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[0].String));    }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3646      break;      break;
3647    
3648    case 75:    case 75:
3649  #line 179 "lscp.y"  #line 188 "lscp.y"
3650      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList));   }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3651      break;      break;
3652    
3653    case 76:    case 76:
3654  #line 180 "lscp.y"  #line 189 "lscp.y"
3655      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[0].String));      }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3656      break;      break;
3657    
3658    case 77:    case 77:
3659  #line 183 "lscp.y"  #line 192 "lscp.y"
3660      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[0].Number)); }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3661      break;      break;
3662    
3663    case 78:    case 78:
3664  #line 184 "lscp.y"  #line 193 "lscp.y"
3665      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[0].Number));   }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3666      break;      break;
3667    
3668    case 79:    case 79:
3669  #line 187 "lscp.y"  #line 194 "lscp.y"
3670      { (yyval.String) = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3671      break;      break;
3672    
3673    case 80:    case 80:
3674  #line 188 "lscp.y"  #line 195 "lscp.y"
3675      { (yyval.String) = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3676      break;      break;
3677    
3678    case 81:    case 81:
3679  #line 191 "lscp.y"  #line 196 "lscp.y"
3680      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[0].Number), (yyvsp[-2].Number));      }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3681      break;      break;
3682    
3683    case 82:    case 82:
3684  #line 192 "lscp.y"  #line 197 "lscp.y"
3685      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-4].Number)); }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3686      break;      break;
3687    
3688    case 83:    case 83:
3689  #line 193 "lscp.y"  #line 198 "lscp.y"
3690      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[0].String), (yyvsp[-2].Number));        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3691      break;      break;
3692    
3693    case 84:    case 84:
3694  #line 194 "lscp.y"  #line 199 "lscp.y"
3695      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-6].Number));      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3696      break;      break;
3697    
3698    case 85:    case 85:
3699  #line 195 "lscp.y"  #line 200 "lscp.y"
3700      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[0].Number), (yyvsp[-2].Number));        }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3701      break;      break;
3702    
3703    case 86:    case 86:
3704  #line 196 "lscp.y"  #line 201 "lscp.y"
3705      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[0].Number), (yyvsp[-2].Number));          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3706      break;      break;
3707    
3708    case 87:    case 87:
3709  #line 197 "lscp.y"  #line 202 "lscp.y"
3710      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[0].Number), (yyvsp[-2].Number));       }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3711      break;      break;
3712    
3713    case 88:    case 88:
3714  #line 198 "lscp.y"  #line 203 "lscp.y"
3715      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[0].String), (yyvsp[-2].Number));          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3716      break;      break;
3717    
3718    case 89:    case 89:
3719  #line 199 "lscp.y"  #line 204 "lscp.y"
3720      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[0].Dotnum), (yyvsp[-2].Number));                 }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3721      break;      break;
3722    
3723    case 90:    case 90:
3724  #line 200 "lscp.y"  #line 205 "lscp.y"
3725      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3726      break;      break;
3727    
3728    case 91:    case 91:
3729  #line 201 "lscp.y"  #line 206 "lscp.y"
3730      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3731      break;      break;
3732    
3733    case 92:    case 92:
3734  #line 204 "lscp.y"  #line 207 "lscp.y"
3735      { (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String);          }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3736      break;      break;
3737    
3738    case 93:    case 93:
3739  #line 205 "lscp.y"  #line 208 "lscp.y"
3740      { (yyval.KeyValList) = (yyvsp[-4].KeyValList); (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3741      break;      break;
3742    
3743    case 94:    case 94:
3744  #line 208 "lscp.y"  #line 209 "lscp.y"
3745      { (yyval.FillResponse) = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3746      break;      break;
3747    
3748    case 95:    case 95:
3749  #line 209 "lscp.y"  #line 210 "lscp.y"
3750      { (yyval.FillResponse) = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3751      break;      break;
3752    
3753    case 96:    case 96:
3754  #line 212 "lscp.y"  #line 211 "lscp.y"
3755      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3756      break;      break;
3757    
3758    case 97:    case 97:
3759  #line 213 "lscp.y"  #line 212 "lscp.y"
3760      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3761      break;      break;
3762    
3763    case 98:    case 98:
3764  #line 214 "lscp.y"  #line 213 "lscp.y"
3765      { (yyval.String) = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3766      break;      break;
3767    
3768    case 99:    case 99:
3769  #line 215 "lscp.y"  #line 214 "lscp.y"
3770      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3771      break;      break;
3772    
3773    case 100:    case 100:
3774  #line 216 "lscp.y"  #line 215 "lscp.y"
3775      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3776      break;      break;
3777    
3778    case 101:    case 101:
3779  #line 217 "lscp.y"  #line 216 "lscp.y"
3780      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3781      break;      break;
3782    
3783    case 102:    case 102:
3784  #line 220 "lscp.y"  #line 217 "lscp.y"
3785      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number));       }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3786      break;      break;
3787    
3788    case 103:    case 103:
3789  #line 221 "lscp.y"  #line 218 "lscp.y"
3790      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number), true); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3791      break;      break;
3792    
3793    case 104:    case 104:
3794    #line 219 "lscp.y"
3795        { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3796        break;
3797    
3798      case 105:
3799    #line 220 "lscp.y"
3800        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3801        break;
3802    
3803      case 106:
3804    #line 221 "lscp.y"
3805        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3806        break;
3807    
3808      case 107:
3809    #line 222 "lscp.y"
3810        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3811        break;
3812    
3813      case 108:
3814    #line 223 "lscp.y"
3815        { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
3816        break;
3817    
3818      case 109:
3819  #line 224 "lscp.y"  #line 224 "lscp.y"
3820      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[-2].String), (yyvsp[0].Number)); }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
3821      break;      break;
3822    
3823    case 110:    case 110:
3824  #line 240 "lscp.y"  #line 225 "lscp.y"
3825      { (yyval.Number) = 16; }      { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
3826        break;
3827    
3828      case 111:
3829    #line 228 "lscp.y"
3830        { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3831        break;
3832    
3833      case 112:
3834    #line 229 "lscp.y"
3835        { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3836      break;      break;
3837    
3838    case 113:    case 113:
3839  #line 247 "lscp.y"  #line 230 "lscp.y"
3840      { (yyval.Dotnum) = (yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3841        break;
3842    
3843      case 114:
3844    #line 231 "lscp.y"
3845        { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3846        break;
3847    
3848      case 115:
3849    #line 232 "lscp.y"
3850        { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3851        break;
3852    
3853      case 116:
3854    #line 233 "lscp.y"
3855        { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3856        break;
3857    
3858      case 117:
3859    #line 234 "lscp.y"
3860        { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
3861        break;
3862    
3863      case 118:
3864    #line 235 "lscp.y"
3865        { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
3866      break;      break;
3867    
3868    case 119:    case 119:
3869  #line 263 "lscp.y"  #line 236 "lscp.y"
3870      { (yyval.String) = (yyvsp[-2].String) + "," + (yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
3871        break;
3872    
3873      case 120:
3874    #line 237 "lscp.y"
3875        { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3876      break;      break;
3877    
3878    case 121:    case 121:
3879  #line 267 "lscp.y"  #line 238 "lscp.y"
3880      { (yyval.String) = "\'" + (yyvsp[-1].String) + "\'"; }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
3881      break;      break;
3882    
3883    case 122:    case 122:
3884  #line 268 "lscp.y"  #line 241 "lscp.y"
3885      { (yyval.String) = "\"" + (yyvsp[-1].String) + "\""; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3886      break;      break;
3887    
3888    case 123:    case 123:
3889  #line 269 "lscp.y"  #line 242 "lscp.y"
3890      { std::stringstream ss; ss << "\'" << (yyvsp[0].Number) << "\'"; (yyval.String) = ss.str(); }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3891      break;      break;
3892    
3893    case 124:    case 124:
3894  #line 270 "lscp.y"  #line 243 "lscp.y"
3895      { std::stringstream ss; ss << "\'" << (yyvsp[0].Dotnum) << "\'"; (yyval.String) = ss.str(); }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3896      break;      break;
3897    
3898    case 125:    case 125:
3899  #line 278 "lscp.y"  #line 244 "lscp.y"
3900      { (yyval.Dotnum) = (yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3901      break;      break;
3902    
3903    case 126:    case 126:
3904  #line 279 "lscp.y"  #line 245 "lscp.y"
3905      { (yyval.Dotnum) = -1; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
3906      break;      break;
3907    
3908    case 127:    case 127:
3909  #line 282 "lscp.y"  #line 246 "lscp.y"
3910      { std::string s; s = (yyvsp[0].Char); (yyval.String) = s; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
3911      break;      break;
3912    
3913    case 128:    case 128:
3914  #line 283 "lscp.y"  #line 249 "lscp.y"
3915      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char);                  }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3916      break;      break;
3917    
3918    case 129:    case 129:
3919  #line 286 "lscp.y"  #line 252 "lscp.y"
3920      { (yyval.Dotnum) = atof(String((yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                         }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3921      break;      break;
3922    
3923    case 130:    case 130:
3924  #line 287 "lscp.y"  #line 253 "lscp.y"
3925      { String s = "+"; s += (yyvsp[-2].String); s += "."; s += (yyvsp[0].String); (yyval.Dotnum) = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3926      break;      break;
3927    
3928    case 131:    case 131:
3929  #line 288 "lscp.y"  #line 256 "lscp.y"
3930      { (yyval.Dotnum) = atof(String("-" + (yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                   }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3931      break;      break;
3932    
3933    case 132:    case 132:
3934  #line 292 "lscp.y"  #line 257 "lscp.y"
3935      { (yyval.String) = (yyvsp[0].Char);      }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3936      break;      break;
3937    
3938    case 133:    case 133:
3939  #line 293 "lscp.y"  #line 258 "lscp.y"
3940      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char); }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
3941      break;      break;
3942    
3943    case 134:    case 134:
3944  #line 296 "lscp.y"  #line 261 "lscp.y"
3945      { (yyval.Char) = '0'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3946      break;      break;
3947    
3948    case 135:    case 135:
3949  #line 297 "lscp.y"  #line 262 "lscp.y"
3950      { (yyval.Char) = '1'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3951      break;      break;
3952    
3953    case 136:    case 136:
3954  #line 298 "lscp.y"  #line 265 "lscp.y"
3955      { (yyval.Char) = '2'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3956      break;      break;
3957    
3958    case 137:    case 137:
3959  #line 299 "lscp.y"  #line 266 "lscp.y"
3960      { (yyval.Char) = '3'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3961      break;      break;
3962    
3963    case 138:    case 138:
3964  #line 300 "lscp.y"  #line 267 "lscp.y"
3965      { (yyval.Char) = '4'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3966      break;      break;
3967    
3968    case 139:    case 139:
3969  #line 301 "lscp.y"  #line 268 "lscp.y"
3970      { (yyval.Char) = '5'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3971      break;      break;
3972    
3973    case 140:    case 140:
3974  #line 302 "lscp.y"  #line 269 "lscp.y"
3975      { (yyval.Char) = '6'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3976      break;      break;
3977    
3978    case 141:    case 141:
3979  #line 303 "lscp.y"  #line 270 "lscp.y"
3980      { (yyval.Char) = '7'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3981      break;      break;
3982    
3983    case 142:    case 142:
3984  #line 304 "lscp.y"  #line 271 "lscp.y"
3985      { (yyval.Char) = '8'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3986      break;      break;
3987    
3988    case 143:    case 143:
3989  #line 305 "lscp.y"  #line 272 "lscp.y"
3990      { (yyval.Char) = '9'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3991      break;      break;
3992    
3993    case 144:    case 144:
3994  #line 308 "lscp.y"  #line 273 "lscp.y"
3995      { (yyval.Number) = atoi(String(1, (yyvsp[0].Char)).c_str());      }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3996      break;      break;
3997    
3998    case 145:    case 145:
3999  #line 309 "lscp.y"  #line 274 "lscp.y"
4000      { (yyval.Number) = atoi(String(String("1") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4001      break;      break;
4002    
4003    case 146:    case 146:
4004  #line 310 "lscp.y"  #line 275 "lscp.y"
4005      { (yyval.Number) = atoi(String(String("2") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4006      break;      break;
4007    
4008    case 147:    case 147:
4009  #line 311 "lscp.y"  #line 276 "lscp.y"
4010      { (yyval.Number) = atoi(String(String("3") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4011      break;      break;
4012    
4013    case 148:    case 148:
4014  #line 312 "lscp.y"  #line 277 "lscp.y"
4015      { (yyval.Number) = atoi(String(String("4") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4016      break;      break;
4017    
4018    case 149:    case 149:
4019  #line 313 "lscp.y"  #line 278 "lscp.y"
4020      { (yyval.Number) = atoi(String(String("5") + (yyvsp[0].String)).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4021      break;      break;
4022    
4023    case 150:    case 150:
4024  #line 314 "lscp.y"  #line 281 "lscp.y"
4025      { (yyval.Number) = atoi(String(String("6") + (yyvsp[0].String)).c_str()); }      { (yyval.Bool) = true;  }
4026      break;      break;
4027    
4028    case 151:    case 151:
4029  #line 315 "lscp.y"  #line 282 "lscp.y"
4030      { (yyval.Number) = atoi(String(String("7") + (yyvsp[0].String)).c_str()); }      { (yyval.Bool) = false; }
4031      break;      break;
4032    
4033    case 152:    case 152:
4034  #line 316 "lscp.y"  #line 285 "lscp.y"
4035      { (yyval.Number) = atoi(String(String("8") + (yyvsp[0].String)).c_str()); }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4036      break;      break;
4037    
4038    case 153:    case 153:
4039  #line 317 "lscp.y"  #line 286 "lscp.y"
4040      { (yyval.Number) = atoi(String(String("9") + (yyvsp[0].String)).c_str()); }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4041      break;      break;
4042    
4043    case 154:    case 154:
4044  #line 319 "lscp.y"  #line 289 "lscp.y"
4045      { (yyval.Char) = 'A'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4046      break;      break;
4047    
4048    case 155:    case 155:
4049  #line 319 "lscp.y"  #line 290 "lscp.y"
4050      { (yyval.Char) = 'B'; }      { (yyval.FillResponse) = fill_response_percentage; }
4051      break;      break;
4052    
4053    case 156:    case 156:
4054  #line 319 "lscp.y"  #line 293 "lscp.y"
4055      { (yyval.Char) = 'C'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
4056      break;      break;
4057    
4058    case 157:    case 157:
4059  #line 319 "lscp.y"  #line 294 "lscp.y"
4060      { (yyval.Char) = 'D'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4061      break;      break;
4062    
4063    case 158:    case 158:
4064  #line 319 "lscp.y"  #line 295 "lscp.y"
4065      { (yyval.Char) = 'E'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
4066      break;      break;
4067    
4068    case 159:    case 159:
4069  #line 319 "lscp.y"  #line 296 "lscp.y"
4070      { (yyval.Char) = 'F'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4071      break;      break;
4072    
4073    case 160:    case 160:
4074  #line 319 "lscp.y"  #line 297 "lscp.y"
4075      { (yyval.Char) = 'G'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4076      break;      break;
4077    
4078    case 161:    case 161:
4079  #line 319 "lscp.y"  #line 298 "lscp.y"
4080      { (yyval.Char) = 'H'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4081      break;      break;
4082    
4083    case 162:    case 162:
4084  #line 319 "lscp.y"  #line 299 "lscp.y"
4085      { (yyval.Char) = 'I'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4086      break;      break;
4087    
4088    case 163:    case 163:
4089  #line 319 "lscp.y"  #line 300 "lscp.y"
4090      { (yyval.Char) = 'J'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4091      break;      break;
4092    
4093    case 164:    case 164:
4094  #line 319 "lscp.y"  #line 301 "lscp.y"
4095      { (yyval.Char) = 'K'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4096      break;      break;
4097    
4098    case 165:    case 165:
4099  #line 319 "lscp.y"  #line 302 "lscp.y"
4100      { (yyval.Char) = 'L'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4101      break;      break;
4102    
4103    case 166:    case 166:
4104  #line 319 "lscp.y"  #line 305 "lscp.y"
4105      { (yyval.Char) = 'M'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4106      break;      break;
4107    
4108    case 167:    case 167:
4109  #line 319 "lscp.y"  #line 306 "lscp.y"
4110      { (yyval.Char) = 'N'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4111      break;      break;
4112    
4113    case 168:    case 168:
4114  #line 319 "lscp.y"  #line 309 "lscp.y"
4115      { (yyval.Char) = 'O'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4116      break;      break;
4117    
4118    case 169:    case 169:
4119  #line 319 "lscp.y"  #line 312 "lscp.y"
4120      { (yyval.Char) = 'P'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4121      break;      break;
4122    
4123    case 170:    case 170:
4124  #line 319 "lscp.y"  #line 313 "lscp.y"
4125      { (yyval.Char) = 'Q'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4126      break;      break;
4127    
4128    case 171:    case 171:
4129  #line 319 "lscp.y"  #line 314 "lscp.y"
4130        { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
4131        break;
4132    
4133      case 177:
4134    #line 330 "lscp.y"
4135        { (yyval.Number) = 16; }
4136        break;
4137    
4138      case 184:
4139    #line 349 "lscp.y"
4140        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4141        break;
4142    
4143      case 194:
4144    #line 377 "lscp.y"
4145        { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
4146        break;
4147    
4148      case 197:
4149    #line 382 "lscp.y"
4150        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4151        break;
4152    
4153      case 198:
4154    #line 383 "lscp.y"
4155        { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4156        break;
4157    
4158      case 199:
4159    #line 391 "lscp.y"
4160        { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4161        break;
4162    
4163      case 200:
4164    #line 392 "lscp.y"
4165        { (yyval.Dotnum) = -1; }
4166        break;
4167    
4168      case 201:
4169    #line 395 "lscp.y"
4170        { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4171        break;
4172    
4173      case 202:
4174    #line 396 "lscp.y"
4175        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4176        break;
4177    
4178      case 203:
4179    #line 399 "lscp.y"
4180        { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4181        break;
4182    
4183      case 204:
4184    #line 400 "lscp.y"
4185        { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4186        break;
4187    
4188      case 205:
4189    #line 401 "lscp.y"
4190        { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4191        break;
4192    
4193      case 206:
4194    #line 405 "lscp.y"
4195        { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4196        break;
4197    
4198      case 207:
4199    #line 406 "lscp.y"
4200        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4201        break;
4202    
4203      case 208:
4204    #line 409 "lscp.y"
4205        { (yyval.Char) = '0'; }
4206        break;
4207    
4208      case 209:
4209    #line 410 "lscp.y"
4210        { (yyval.Char) = '1'; }
4211        break;
4212    
4213      case 210:
4214    #line 411 "lscp.y"
4215        { (yyval.Char) = '2'; }
4216        break;
4217    
4218      case 211:
4219    #line 412 "lscp.y"
4220        { (yyval.Char) = '3'; }
4221        break;
4222    
4223      case 212:
4224    #line 413 "lscp.y"
4225        { (yyval.Char) = '4'; }
4226        break;
4227    
4228      case 213:
4229    #line 414 "lscp.y"
4230        { (yyval.Char) = '5'; }
4231        break;
4232    
4233      case 214:
4234    #line 415 "lscp.y"
4235        { (yyval.Char) = '6'; }
4236        break;
4237    
4238      case 215:
4239    #line 416 "lscp.y"
4240        { (yyval.Char) = '7'; }
4241        break;
4242    
4243      case 216:
4244    #line 417 "lscp.y"
4245        { (yyval.Char) = '8'; }
4246        break;
4247    
4248      case 217:
4249    #line 418 "lscp.y"
4250        { (yyval.Char) = '9'; }
4251        break;
4252    
4253      case 218:
4254    #line 421 "lscp.y"
4255        { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4256        break;
4257    
4258      case 219:
4259    #line 422 "lscp.y"
4260        { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4261        break;
4262    
4263      case 220:
4264    #line 423 "lscp.y"
4265        { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4266        break;
4267    
4268      case 221:
4269    #line 424 "lscp.y"
4270        { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4271        break;
4272    
4273      case 222:
4274    #line 425 "lscp.y"
4275        { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4276        break;
4277    
4278      case 223:
4279    #line 426 "lscp.y"
4280        { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4281        break;
4282    
4283      case 224:
4284    #line 427 "lscp.y"
4285        { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4286        break;
4287    
4288      case 225:
4289    #line 428 "lscp.y"
4290        { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4291        break;
4292    
4293      case 226:
4294    #line 429 "lscp.y"
4295        { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4296        break;
4297    
4298      case 227:
4299    #line 430 "lscp.y"
4300        { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4301        break;
4302    
4303      case 228:
4304    #line 432 "lscp.y"
4305        { (yyval.Char) = 'A'; }
4306        break;
4307    
4308      case 229:
4309    #line 432 "lscp.y"
4310        { (yyval.Char) = 'B'; }
4311        break;
4312    
4313      case 230:
4314    #line 432 "lscp.y"
4315        { (yyval.Char) = 'C'; }
4316        break;
4317    
4318      case 231:
4319    #line 432 "lscp.y"
4320        { (yyval.Char) = 'D'; }
4321        break;
4322    
4323      case 232:
4324    #line 432 "lscp.y"
4325        { (yyval.Char) = 'E'; }
4326        break;
4327    
4328      case 233:
4329    #line 432 "lscp.y"
4330        { (yyval.Char) = 'F'; }
4331        break;
4332    
4333      case 234:
4334    #line 432 "lscp.y"
4335        { (yyval.Char) = 'G'; }
4336        break;
4337    
4338      case 235:
4339    #line 432 "lscp.y"
4340        { (yyval.Char) = 'H'; }
4341        break;
4342    
4343      case 236:
4344    #line 432 "lscp.y"
4345        { (yyval.Char) = 'I'; }
4346        break;
4347    
4348      case 237:
4349    #line 432 "lscp.y"
4350        { (yyval.Char) = 'J'; }
4351        break;
4352    
4353      case 238:
4354    #line 432 "lscp.y"
4355        { (yyval.Char) = 'K'; }
4356        break;
4357    
4358      case 239:
4359    #line 432 "lscp.y"
4360        { (yyval.Char) = 'L'; }
4361        break;
4362    
4363      case 240:
4364    #line 432 "lscp.y"
4365        { (yyval.Char) = 'M'; }
4366        break;
4367    
4368      case 241:
4369    #line 432 "lscp.y"
4370        { (yyval.Char) = 'N'; }
4371        break;
4372    
4373      case 242:
4374    #line 432 "lscp.y"
4375        { (yyval.Char) = 'O'; }
4376        break;
4377    
4378      case 243:
4379    #line 432 "lscp.y"
4380        { (yyval.Char) = 'P'; }
4381        break;
4382    
4383      case 244:
4384    #line 432 "lscp.y"
4385        { (yyval.Char) = 'Q'; }
4386        break;
4387    
4388      case 245:
4389    #line 432 "lscp.y"
4390      { (yyval.Char) = 'R'; }      { (yyval.Char) = 'R'; }
4391      break;      break;
4392    
4393    case 172:    case 246:
4394  #line 319 "lscp.y"  #line 432 "lscp.y"
4395      { (yyval.Char) = 'S'; }      { (yyval.Char) = 'S'; }
4396      break;      break;
4397    
4398    case 173:    case 247:
4399  #line 319 "lscp.y"  #line 432 "lscp.y"
4400      { (yyval.Char) = 'T'; }      { (yyval.Char) = 'T'; }
4401      break;      break;
4402    
4403    case 174:    case 248:
4404  #line 319 "lscp.y"  #line 432 "lscp.y"
4405      { (yyval.Char) = 'U'; }      { (yyval.Char) = 'U'; }
4406      break;      break;
4407    
4408    case 175:    case 249:
4409  #line 319 "lscp.y"  #line 432 "lscp.y"
4410      { (yyval.Char) = 'V'; }      { (yyval.Char) = 'V'; }
4411      break;      break;
4412    
4413    case 176:    case 250:
4414  #line 319 "lscp.y"  #line 432 "lscp.y"
4415      { (yyval.Char) = 'W'; }      { (yyval.Char) = 'W'; }
4416      break;      break;
4417    
4418    case 177:    case 251:
4419  #line 319 "lscp.y"  #line 432 "lscp.y"
4420      { (yyval.Char) = 'X'; }      { (yyval.Char) = 'X'; }
4421      break;      break;
4422    
4423    case 178:    case 252:
4424  #line 319 "lscp.y"  #line 432 "lscp.y"
4425      { (yyval.Char) = 'Y'; }      { (yyval.Char) = 'Y'; }
4426      break;      break;
4427    
4428    case 179:    case 253:
4429  #line 319 "lscp.y"  #line 432 "lscp.y"
4430      { (yyval.Char) = 'Z'; }      { (yyval.Char) = 'Z'; }
4431      break;      break;
4432    
4433    case 180:    case 254:
4434  #line 320 "lscp.y"  #line 433 "lscp.y"
4435      { (yyval.Char) = 'a'; }      { (yyval.Char) = 'a'; }
4436      break;      break;
4437    
4438    case 181:    case 255:
4439  #line 320 "lscp.y"  #line 433 "lscp.y"
4440      { (yyval.Char) = 'b'; }      { (yyval.Char) = 'b'; }
4441      break;      break;
4442    
4443    case 182:    case 256:
4444  #line 320 "lscp.y"  #line 433 "lscp.y"
4445      { (yyval.Char) = 'c'; }      { (yyval.Char) = 'c'; }
4446      break;      break;
4447    
4448    case 183:    case 257:
4449  #line 320 "lscp.y"  #line 433 "lscp.y"
4450      { (yyval.Char) = 'd'; }      { (yyval.Char) = 'd'; }
4451      break;      break;
4452    
4453    case 184:    case 258:
4454  #line 320 "lscp.y"  #line 433 "lscp.y"
4455      { (yyval.Char) = 'e'; }      { (yyval.Char) = 'e'; }
4456      break;      break;
4457    
4458    case 185:    case 259:
4459  #line 320 "lscp.y"  #line 433 "lscp.y"
4460      { (yyval.Char) = 'f'; }      { (yyval.Char) = 'f'; }
4461      break;      break;
4462    
4463    case 186:    case 260:
4464  #line 320 "lscp.y"  #line 433 "lscp.y"
4465      { (yyval.Char) = 'g'; }      { (yyval.Char) = 'g'; }
4466      break;      break;
4467    
4468    case 187:    case 261:
4469  #line 320 "lscp.y"  #line 433 "lscp.y"
4470      { (yyval.Char) = 'h'; }      { (yyval.Char) = 'h'; }
4471      break;      break;
4472    
4473    case 188:    case 262:
4474  #line 320 "lscp.y"  #line 433 "lscp.y"
4475      { (yyval.Char) = 'i'; }      { (yyval.Char) = 'i'; }
4476      break;      break;
4477    
4478    case 189:    case 263:
4479  #line 320 "lscp.y"  #line 433 "lscp.y"
4480      { (yyval.Char) = 'j'; }      { (yyval.Char) = 'j'; }
4481      break;      break;
4482    
4483    case 190:    case 264:
4484  #line 320 "lscp.y"  #line 433 "lscp.y"
4485      { (yyval.Char) = 'k'; }      { (yyval.Char) = 'k'; }
4486      break;      break;
4487    
4488    case 191:    case 265:
4489  #line 320 "lscp.y"  #line 433 "lscp.y"
4490      { (yyval.Char) = 'l'; }      { (yyval.Char) = 'l'; }
4491      break;      break;
4492    
4493    case 192:    case 266:
4494  #line 320 "lscp.y"  #line 433 "lscp.y"
4495      { (yyval.Char) = 'm'; }      { (yyval.Char) = 'm'; }
4496      break;      break;
4497    
4498    case 193:    case 267:
4499  #line 320 "lscp.y"  #line 433 "lscp.y"
4500      { (yyval.Char) = 'n'; }      { (yyval.Char) = 'n'; }
4501      break;      break;
4502    
4503    case 194:    case 268:
4504  #line 320 "lscp.y"  #line 433 "lscp.y"
4505      { (yyval.Char) = 'o'; }      { (yyval.Char) = 'o'; }
4506      break;      break;
4507    
4508    case 195:    case 269:
4509  #line 320 "lscp.y"  #line 433 "lscp.y"
4510      { (yyval.Char) = 'p'; }      { (yyval.Char) = 'p'; }
4511      break;      break;
4512    
4513    case 196:    case 270:
4514  #line 320 "lscp.y"  #line 433 "lscp.y"
4515      { (yyval.Char) = 'q'; }      { (yyval.Char) = 'q'; }
4516      break;      break;
4517    
4518    case 197:    case 271:
4519  #line 320 "lscp.y"  #line 433 "lscp.y"
4520      { (yyval.Char) = 'r'; }      { (yyval.Char) = 'r'; }
4521      break;      break;
4522    
4523    case 198:    case 272:
4524  #line 320 "lscp.y"  #line 433 "lscp.y"
4525      { (yyval.Char) = 's'; }      { (yyval.Char) = 's'; }
4526      break;      break;
4527    
4528    case 199:    case 273:
4529  #line 320 "lscp.y"  #line 433 "lscp.y"
4530      { (yyval.Char) = 't'; }      { (yyval.Char) = 't'; }
4531      break;      break;
4532    
4533    case 200:    case 274:
4534  #line 320 "lscp.y"  #line 433 "lscp.y"
4535      { (yyval.Char) = 'u'; }      { (yyval.Char) = 'u'; }
4536      break;      break;
4537    
4538    case 201:    case 275:
4539  #line 320 "lscp.y"  #line 433 "lscp.y"
4540      { (yyval.Char) = 'v'; }      { (yyval.Char) = 'v'; }
4541      break;      break;
4542    
4543    case 202:    case 276:
4544  #line 320 "lscp.y"  #line 433 "lscp.y"
4545      { (yyval.Char) = 'w'; }      { (yyval.Char) = 'w'; }
4546      break;      break;
4547    
4548    case 203:    case 277:
4549  #line 320 "lscp.y"  #line 433 "lscp.y"
4550      { (yyval.Char) = 'x'; }      { (yyval.Char) = 'x'; }
4551      break;      break;
4552    
4553    case 204:    case 278:
4554  #line 320 "lscp.y"  #line 433 "lscp.y"
4555      { (yyval.Char) = 'y'; }      { (yyval.Char) = 'y'; }
4556      break;      break;
4557    
4558    case 205:    case 279:
4559  #line 320 "lscp.y"  #line 433 "lscp.y"
4560      { (yyval.Char) = 'z'; }      { (yyval.Char) = 'z'; }
4561      break;      break;
4562    
4563    case 206:    case 280:
4564  #line 321 "lscp.y"  #line 434 "lscp.y"
4565      { (yyval.Char) = '0'; }      { (yyval.Char) = '0'; }
4566      break;      break;
4567    
4568    case 207:    case 281:
4569  #line 321 "lscp.y"  #line 434 "lscp.y"
4570      { (yyval.Char) = '1'; }      { (yyval.Char) = '1'; }
4571      break;      break;
4572    
4573    case 208:    case 282:
4574  #line 321 "lscp.y"  #line 434 "lscp.y"
4575      { (yyval.Char) = '2'; }      { (yyval.Char) = '2'; }
4576      break;      break;
4577    
4578    case 209:    case 283:
4579  #line 321 "lscp.y"  #line 434 "lscp.y"
4580      { (yyval.Char) = '3'; }      { (yyval.Char) = '3'; }
4581      break;      break;
4582    
4583    case 210:    case 284:
4584  #line 321 "lscp.y"  #line 434 "lscp.y"
4585      { (yyval.Char) = '4'; }      { (yyval.Char) = '4'; }
4586      break;      break;
4587    
4588    case 211:    case 285:
4589  #line 321 "lscp.y"  #line 434 "lscp.y"
4590      { (yyval.Char) = '5'; }      { (yyval.Char) = '5'; }
4591      break;      break;
4592    
4593    case 212:    case 286:
4594  #line 321 "lscp.y"  #line 434 "lscp.y"
4595      { (yyval.Char) = '6'; }      { (yyval.Char) = '6'; }
4596      break;      break;
4597    
4598    case 213:    case 287:
4599  #line 321 "lscp.y"  #line 434 "lscp.y"
4600      { (yyval.Char) = '7'; }      { (yyval.Char) = '7'; }
4601      break;      break;
4602    
4603    case 214:    case 288:
4604  #line 321 "lscp.y"  #line 434 "lscp.y"
4605      { (yyval.Char) = '8'; }      { (yyval.Char) = '8'; }
4606      break;      break;
4607    
4608    case 215:    case 289:
4609  #line 321 "lscp.y"  #line 434 "lscp.y"
4610      { (yyval.Char) = '9'; }      { (yyval.Char) = '9'; }
4611      break;      break;
4612    
4613    case 216:    case 290:
4614  #line 322 "lscp.y"  #line 435 "lscp.y"
4615      { (yyval.Char) = '!'; }      { (yyval.Char) = '!'; }
4616      break;      break;
4617    
4618    case 217:    case 291:
4619  #line 322 "lscp.y"  #line 435 "lscp.y"
4620      { (yyval.Char) = '#'; }      { (yyval.Char) = '#'; }
4621      break;      break;
4622    
4623    case 218:    case 292:
4624  #line 322 "lscp.y"  #line 435 "lscp.y"
4625      { (yyval.Char) = '$'; }      { (yyval.Char) = '$'; }
4626      break;      break;
4627    
4628    case 219:    case 293:
4629  #line 322 "lscp.y"  #line 435 "lscp.y"
4630      { (yyval.Char) = '%'; }      { (yyval.Char) = '%'; }
4631      break;      break;
4632    
4633    case 220:    case 294:
4634  #line 322 "lscp.y"  #line 435 "lscp.y"
4635      { (yyval.Char) = '&'; }      { (yyval.Char) = '&'; }
4636      break;      break;
4637    
4638    case 221:    case 295:
4639  #line 322 "lscp.y"  #line 435 "lscp.y"
4640      { (yyval.Char) = '('; }      { (yyval.Char) = '('; }
4641      break;      break;
4642    
4643    case 222:    case 296:
4644  #line 322 "lscp.y"  #line 435 "lscp.y"
4645      { (yyval.Char) = ')'; }      { (yyval.Char) = ')'; }
4646      break;      break;
4647    
4648    case 223:    case 297:
4649  #line 322 "lscp.y"  #line 435 "lscp.y"
4650      { (yyval.Char) = '*'; }      { (yyval.Char) = '*'; }
4651      break;      break;
4652    
4653    case 224:    case 298:
4654  #line 322 "lscp.y"  #line 435 "lscp.y"
4655      { (yyval.Char) = '+'; }      { (yyval.Char) = '+'; }
4656      break;      break;
4657    
4658    case 225:    case 299:
4659  #line 322 "lscp.y"  #line 435 "lscp.y"
4660      { (yyval.Char) = '-'; }      { (yyval.Char) = '-'; }
4661      break;      break;
4662    
4663    case 226:    case 300:
4664  #line 322 "lscp.y"  #line 435 "lscp.y"
4665      { (yyval.Char) = '.'; }      { (yyval.Char) = '.'; }
4666      break;      break;
4667    
4668    case 227:    case 301:
4669  #line 322 "lscp.y"  #line 435 "lscp.y"
4670      { (yyval.Char) = ','; }      { (yyval.Char) = ','; }
4671      break;      break;
4672    
4673    case 228:    case 302:
4674  #line 322 "lscp.y"  #line 435 "lscp.y"
4675      { (yyval.Char) = '/'; }      { (yyval.Char) = '/'; }
4676      break;      break;
4677    
4678    case 229:    case 303:
4679  #line 323 "lscp.y"  #line 436 "lscp.y"
4680      { (yyval.Char) = ':'; }      { (yyval.Char) = ':'; }
4681      break;      break;
4682    
4683    case 230:    case 304:
4684  #line 323 "lscp.y"  #line 436 "lscp.y"
4685      { (yyval.Char) = ';'; }      { (yyval.Char) = ';'; }
4686      break;      break;
4687    
4688    case 231:    case 305:
4689  #line 323 "lscp.y"  #line 436 "lscp.y"
4690      { (yyval.Char) = '<'; }      { (yyval.Char) = '<'; }
4691      break;      break;
4692    
4693    case 232:    case 306:
4694  #line 323 "lscp.y"  #line 436 "lscp.y"
4695      { (yyval.Char) = '='; }      { (yyval.Char) = '='; }
4696      break;      break;
4697    
4698    case 233:    case 307:
4699  #line 323 "lscp.y"  #line 436 "lscp.y"
4700      { (yyval.Char) = '>'; }      { (yyval.Char) = '>'; }
4701      break;      break;
4702    
4703    case 234:    case 308:
4704  #line 323 "lscp.y"  #line 436 "lscp.y"
4705      { (yyval.Char) = '?'; }      { (yyval.Char) = '?'; }
4706      break;      break;
4707    
4708    case 235:    case 309:
4709  #line 323 "lscp.y"  #line 436 "lscp.y"
4710      { (yyval.Char) = '@'; }      { (yyval.Char) = '@'; }
4711      break;      break;
4712    
4713    case 236:    case 310:
4714  #line 324 "lscp.y"  #line 437 "lscp.y"
4715      { (yyval.Char) = '['; }      { (yyval.Char) = '['; }
4716      break;      break;
4717    
4718    case 237:    case 311:
4719  #line 324 "lscp.y"  #line 437 "lscp.y"
4720      { (yyval.Char) = '\\'; }      { (yyval.Char) = '\\'; }
4721      break;      break;
4722    
4723    case 238:    case 312:
4724  #line 324 "lscp.y"  #line 437 "lscp.y"
4725      { (yyval.Char) = ']'; }      { (yyval.Char) = ']'; }
4726      break;      break;
4727    
4728    case 239:    case 313:
4729  #line 324 "lscp.y"  #line 437 "lscp.y"
4730      { (yyval.Char) = '^'; }      { (yyval.Char) = '^'; }
4731      break;      break;
4732    
4733    case 240:    case 314:
4734  #line 324 "lscp.y"  #line 437 "lscp.y"
4735      { (yyval.Char) = '_'; }      { (yyval.Char) = '_'; }
4736      break;      break;
4737    
4738    case 241:    case 315:
4739  #line 325 "lscp.y"  #line 438 "lscp.y"
4740      { (yyval.Char) = '{'; }      { (yyval.Char) = '{'; }
4741      break;      break;
4742    
4743    case 242:    case 316:
4744  #line 325 "lscp.y"  #line 438 "lscp.y"
4745      { (yyval.Char) = '|'; }      { (yyval.Char) = '|'; }
4746      break;      break;
4747    
4748    case 243:    case 317:
4749  #line 325 "lscp.y"  #line 438 "lscp.y"
4750      { (yyval.Char) = '}'; }      { (yyval.Char) = '}'; }
4751      break;      break;
4752    
4753    case 244:    case 318:
4754  #line 325 "lscp.y"  #line 438 "lscp.y"
4755      { (yyval.Char) = '~'; }      { (yyval.Char) = '~'; }
4756      break;      break;
4757    
4758    case 245:    case 319:
4759  #line 326 "lscp.y"  #line 439 "lscp.y"
4760      { (yyval.Char) = '\200'; }      { (yyval.Char) = '\200'; }
4761      break;      break;
4762    
4763    case 246:    case 320:
4764  #line 326 "lscp.y"  #line 439 "lscp.y"
4765      { (yyval.Char) = '\201'; }      { (yyval.Char) = '\201'; }
4766      break;      break;
4767    
4768    case 247:    case 321:
4769  #line 326 "lscp.y"  #line 439 "lscp.y"
4770      { (yyval.Char) = '\202'; }      { (yyval.Char) = '\202'; }
4771      break;      break;
4772    
4773    case 248:    case 322:
4774  #line 327 "lscp.y"  #line 440 "lscp.y"
4775      { (yyval.Char) = '\203'; }      { (yyval.Char) = '\203'; }
4776      break;      break;
4777    
4778    case 249:    case 323:
4779  #line 327 "lscp.y"  #line 440 "lscp.y"
4780      { (yyval.Char) = '\204'; }      { (yyval.Char) = '\204'; }
4781      break;      break;
4782    
4783    case 250:    case 324:
4784  #line 327 "lscp.y"  #line 440 "lscp.y"
4785      { (yyval.Char) = '\205'; }      { (yyval.Char) = '\205'; }
4786      break;      break;
4787    
4788    case 251:    case 325:
4789  #line 328 "lscp.y"  #line 441 "lscp.y"
4790      { (yyval.Char) = '\206'; }      { (yyval.Char) = '\206'; }
4791      break;      break;
4792    
4793    case 252:    case 326:
4794  #line 328 "lscp.y"  #line 441 "lscp.y"
4795      { (yyval.Char) = '\207'; }      { (yyval.Char) = '\207'; }
4796      break;      break;
4797    
4798    case 253:    case 327:
4799  #line 328 "lscp.y"  #line 441 "lscp.y"
4800      { (yyval.Char) = '\210'; }      { (yyval.Char) = '\210'; }
4801      break;      break;
4802    
4803    case 254:    case 328:
4804  #line 329 "lscp.y"  #line 442 "lscp.y"
4805      { (yyval.Char) = '\211'; }      { (yyval.Char) = '\211'; }
4806      break;      break;
4807    
4808    case 255:    case 329:
4809  #line 329 "lscp.y"  #line 442 "lscp.y"
4810      { (yyval.Char) = '\212'; }      { (yyval.Char) = '\212'; }
4811      break;      break;
4812    
4813    case 256:    case 330:
4814  #line 329 "lscp.y"  #line 442 "lscp.y"
4815      { (yyval.Char) = '\213'; }      { (yyval.Char) = '\213'; }
4816      break;      break;
4817    
4818    case 257:    case 331:
4819  #line 330 "lscp.y"  #line 443 "lscp.y"
4820      { (yyval.Char) = '\214'; }      { (yyval.Char) = '\214'; }
4821      break;      break;
4822    
4823    case 258:    case 332:
4824  #line 330 "lscp.y"  #line 443 "lscp.y"
4825      { (yyval.Char) = '\215'; }      { (yyval.Char) = '\215'; }
4826      break;      break;
4827    
4828    case 259:    case 333:
4829  #line 330 "lscp.y"  #line 443 "lscp.y"
4830      { (yyval.Char) = '\216'; }      { (yyval.Char) = '\216'; }
4831      break;      break;
4832    
4833    case 260:    case 334:
4834  #line 331 "lscp.y"  #line 444 "lscp.y"
4835      { (yyval.Char) = '\217'; }      { (yyval.Char) = '\217'; }
4836      break;      break;
4837    
4838    case 261:    case 335:
4839  #line 331 "lscp.y"  #line 444 "lscp.y"
4840      { (yyval.Char) = '\220'; }      { (yyval.Char) = '\220'; }
4841      break;      break;
4842    
4843    case 262:    case 336:
4844  #line 331 "lscp.y"  #line 444 "lscp.y"
4845      { (yyval.Char) = '\221'; }      { (yyval.Char) = '\221'; }
4846      break;      break;
4847    
4848    case 263:    case 337:
4849  #line 332 "lscp.y"  #line 445 "lscp.y"
4850      { (yyval.Char) = '\222'; }      { (yyval.Char) = '\222'; }
4851      break;      break;
4852    
4853    case 264:    case 338:
4854  #line 332 "lscp.y"  #line 445 "lscp.y"
4855      { (yyval.Char) = '\223'; }      { (yyval.Char) = '\223'; }
4856      break;      break;
4857    
4858    case 265:    case 339:
4859  #line 332 "lscp.y"  #line 445 "lscp.y"
4860      { (yyval.Char) = '\224'; }      { (yyval.Char) = '\224'; }
4861      break;      break;
4862    
4863    case 266:    case 340:
4864  #line 333 "lscp.y"  #line 446 "lscp.y"
4865      { (yyval.Char) = '\225'; }      { (yyval.Char) = '\225'; }
4866      break;      break;
4867    
4868    case 267:    case 341:
4869  #line 333 "lscp.y"  #line 446 "lscp.y"
4870      { (yyval.Char) = '\226'; }      { (yyval.Char) = '\226'; }
4871      break;      break;
4872    
4873    case 268:    case 342:
4874  #line 333 "lscp.y"  #line 446 "lscp.y"
4875      { (yyval.Char) = '\227'; }      { (yyval.Char) = '\227'; }
4876      break;      break;
4877    
4878    case 269:    case 343:
4879  #line 334 "lscp.y"  #line 447 "lscp.y"
4880      { (yyval.Char) = '\230'; }      { (yyval.Char) = '\230'; }
4881      break;      break;
4882    
4883    case 270:    case 344:
4884  #line 334 "lscp.y"  #line 447 "lscp.y"
4885      { (yyval.Char) = '\231'; }      { (yyval.Char) = '\231'; }
4886      break;      break;
4887    
4888    case 271:    case 345:
4889  #line 334 "lscp.y"  #line 447 "lscp.y"
4890      { (yyval.Char) = '\232'; }      { (yyval.Char) = '\232'; }
4891      break;      break;
4892    
4893    case 272:    case 346:
4894  #line 335 "lscp.y"  #line 448 "lscp.y"
4895      { (yyval.Char) = '\233'; }      { (yyval.Char) = '\233'; }
4896      break;      break;
4897    
4898    case 273:    case 347:
4899  #line 335 "lscp.y"  #line 448 "lscp.y"
4900      { (yyval.Char) = '\234'; }      { (yyval.Char) = '\234'; }
4901      break;      break;
4902    
4903    case 274:    case 348:
4904  #line 335 "lscp.y"  #line 448 "lscp.y"
4905      { (yyval.Char) = '\235'; }      { (yyval.Char) = '\235'; }
4906      break;      break;
4907    
4908    case 275:    case 349:
4909  #line 336 "lscp.y"  #line 449 "lscp.y"
4910      { (yyval.Char) = '\236'; }      { (yyval.Char) = '\236'; }
4911      break;      break;
4912    
4913    case 276:    case 350:
4914  #line 336 "lscp.y"  #line 449 "lscp.y"
4915      { (yyval.Char) = '\237'; }      { (yyval.Char) = '\237'; }
4916      break;      break;
4917    
4918    case 277:    case 351:
4919  #line 336 "lscp.y"  #line 449 "lscp.y"
4920      { (yyval.Char) = '\240'; }      { (yyval.Char) = '\240'; }
4921      break;      break;
4922    
4923    case 278:    case 352:
4924  #line 337 "lscp.y"  #line 450 "lscp.y"
4925      { (yyval.Char) = '\241'; }      { (yyval.Char) = '\241'; }
4926      break;      break;
4927    
4928    case 279:    case 353:
4929  #line 337 "lscp.y"  #line 450 "lscp.y"
4930      { (yyval.Char) = '\242'; }      { (yyval.Char) = '\242'; }
4931      break;      break;
4932    
4933    case 280:    case 354:
4934  #line 337 "lscp.y"  #line 450 "lscp.y"
4935      { (yyval.Char) = '\243'; }      { (yyval.Char) = '\243'; }
4936      break;      break;
4937    
4938    case 281:    case 355:
4939  #line 338 "lscp.y"  #line 451 "lscp.y"
4940      { (yyval.Char) = '\244'; }      { (yyval.Char) = '\244'; }
4941      break;      break;
4942    
4943    case 282:    case 356:
4944  #line 338 "lscp.y"  #line 451 "lscp.y"
4945      { (yyval.Char) = '\245'; }      { (yyval.Char) = '\245'; }
4946      break;      break;
4947    
4948    case 283:    case 357:
4949  #line 338 "lscp.y"  #line 451 "lscp.y"
4950      { (yyval.Char) = '\246'; }      { (yyval.Char) = '\246'; }
4951      break;      break;
4952    
4953    case 284:    case 358:
4954  #line 339 "lscp.y"  #line 452 "lscp.y"
4955      { (yyval.Char) = '\247'; }      { (yyval.Char) = '\247'; }
4956      break;      break;
4957    
4958    case 285:    case 359:
4959  #line 339 "lscp.y"  #line 452 "lscp.y"
4960      { (yyval.Char) = '\250'; }      { (yyval.Char) = '\250'; }
4961      break;      break;
4962    
4963    case 286:    case 360:
4964  #line 339 "lscp.y"  #line 452 "lscp.y"
4965      { (yyval.Char) = '\251'; }      { (yyval.Char) = '\251'; }
4966      break;      break;
4967    
4968    case 287:    case 361:
4969  #line 340 "lscp.y"  #line 453 "lscp.y"
4970      { (yyval.Char) = '\252'; }      { (yyval.Char) = '\252'; }
4971      break;      break;
4972    
4973    case 288:    case 362:
4974  #line 340 "lscp.y"  #line 453 "lscp.y"
4975      { (yyval.Char) = '\253'; }      { (yyval.Char) = '\253'; }
4976      break;      break;
4977    
4978    case 289:    case 363:
4979  #line 340 "lscp.y"  #line 453 "lscp.y"
4980      { (yyval.Char) = '\254'; }      { (yyval.Char) = '\254'; }
4981      break;      break;
4982    
4983    case 290:    case 364:
4984  #line 341 "lscp.y"  #line 454 "lscp.y"
4985      { (yyval.Char) = '\255'; }      { (yyval.Char) = '\255'; }
4986      break;      break;
4987    
4988    case 291:    case 365:
4989  #line 341 "lscp.y"  #line 454 "lscp.y"
4990      { (yyval.Char) = '\256'; }      { (yyval.Char) = '\256'; }
4991      break;      break;
4992    
4993    case 292:    case 366:
4994  #line 341 "lscp.y"  #line 454 "lscp.y"
4995      { (yyval.Char) = '\257'; }      { (yyval.Char) = '\257'; }
4996      break;      break;
4997    
4998    case 293:    case 367:
4999  #line 342 "lscp.y"  #line 455 "lscp.y"
5000      { (yyval.Char) = '\260'; }      { (yyval.Char) = '\260'; }
5001      break;      break;
5002    
5003    case 294:    case 368:
5004  #line 342 "lscp.y"  #line 455 "lscp.y"
5005      { (yyval.Char) = '\261'; }      { (yyval.Char) = '\261'; }
5006      break;      break;
5007    
5008    case 295:    case 369:
5009  #line 342 "lscp.y"  #line 455 "lscp.y"
5010      { (yyval.Char) = '\262'; }      { (yyval.Char) = '\262'; }
5011      break;      break;
5012    
5013    case 296:    case 370:
5014  #line 343 "lscp.y"  #line 456 "lscp.y"
5015      { (yyval.Char) = '\263'; }      { (yyval.Char) = '\263'; }
5016      break;      break;
5017    
5018    case 297:    case 371:
5019  #line 343 "lscp.y"  #line 456 "lscp.y"
5020      { (yyval.Char) = '\264'; }      { (yyval.Char) = '\264'; }
5021      break;      break;
5022    
5023    case 298:    case 372:
5024  #line 343 "lscp.y"  #line 456 "lscp.y"
5025      { (yyval.Char) = '\265'; }      { (yyval.Char) = '\265'; }
5026      break;      break;
5027    
5028    case 299:    case 373:
5029  #line 344 "lscp.y"  #line 457 "lscp.y"
5030      { (yyval.Char) = '\266'; }      { (yyval.Char) = '\266'; }
5031      break;      break;
5032    
5033    case 300:    case 374:
5034  #line 344 "lscp.y"  #line 457 "lscp.y"
5035      { (yyval.Char) = '\267'; }      { (yyval.Char) = '\267'; }
5036      break;      break;
5037    
5038    case 301:    case 375:
5039  #line 344 "lscp.y"  #line 457 "lscp.y"
5040      { (yyval.Char) = '\270'; }      { (yyval.Char) = '\270'; }
5041      break;      break;
5042    
5043    case 302:    case 376:
5044  #line 345 "lscp.y"  #line 458 "lscp.y"
5045      { (yyval.Char) = '\271'; }      { (yyval.Char) = '\271'; }
5046      break;      break;
5047    
5048    case 303:    case 377:
5049  #line 345 "lscp.y"  #line 458 "lscp.y"
5050      { (yyval.Char) = '\272'; }      { (yyval.Char) = '\272'; }
5051      break;      break;
5052    
5053    case 304:    case 378:
5054  #line 345 "lscp.y"  #line 458 "lscp.y"
5055      { (yyval.Char) = '\273'; }      { (yyval.Char) = '\273'; }
5056      break;      break;
5057    
5058    case 305:    case 379:
5059  #line 346 "lscp.y"  #line 459 "lscp.y"
5060      { (yyval.Char) = '\274'; }      { (yyval.Char) = '\274'; }
5061      break;      break;
5062    
5063    case 306:    case 380:
5064  #line 346 "lscp.y"  #line 459 "lscp.y"
5065      { (yyval.Char) = '\275'; }      { (yyval.Char) = '\275'; }
5066      break;      break;
5067    
5068    case 307:    case 381:
5069  #line 346 "lscp.y"  #line 459 "lscp.y"
5070      { (yyval.Char) = '\276'; }      { (yyval.Char) = '\276'; }
5071      break;      break;
5072    
5073    case 308:    case 382:
5074  #line 347 "lscp.y"  #line 460 "lscp.y"
5075      { (yyval.Char) = '\277'; }      { (yyval.Char) = '\277'; }
5076      break;      break;
5077    
5078    case 309:    case 383:
5079  #line 347 "lscp.y"  #line 460 "lscp.y"
5080      { (yyval.Char) = '\300'; }      { (yyval.Char) = '\300'; }
5081      break;      break;
5082    
5083    case 310:    case 384:
5084  #line 347 "lscp.y"  #line 460 "lscp.y"
5085      { (yyval.Char) = '\301'; }      { (yyval.Char) = '\301'; }
5086      break;      break;
5087    
5088    case 311:    case 385:
5089  #line 348 "lscp.y"  #line 461 "lscp.y"
5090      { (yyval.Char) = '\302'; }      { (yyval.Char) = '\302'; }
5091      break;      break;
5092    
5093    case 312:    case 386:
5094  #line 348 "lscp.y"  #line 461 "lscp.y"
5095      { (yyval.Char) = '\303'; }      { (yyval.Char) = '\303'; }
5096      break;      break;
5097    
5098    case 313:    case 387:
5099  #line 348 "lscp.y"  #line 461 "lscp.y"
5100      { (yyval.Char) = '\304'; }      { (yyval.Char) = '\304'; }
5101      break;      break;
5102    
5103    case 314:    case 388:
5104  #line 349 "lscp.y"  #line 462 "lscp.y"
5105      { (yyval.Char) = '\305'; }      { (yyval.Char) = '\305'; }
5106      break;      break;
5107    
5108    case 315:    case 389:
5109  #line 349 "lscp.y"  #line 462 "lscp.y"
5110      { (yyval.Char) = '\306'; }      { (yyval.Char) = '\306'; }
5111      break;      break;
5112    
5113    case 316:    case 390:
5114  #line 349 "lscp.y"  #line 462 "lscp.y"
5115      { (yyval.Char) = '\307'; }      { (yyval.Char) = '\307'; }
5116      break;      break;
5117    
5118    case 317:    case 391:
5119  #line 350 "lscp.y"  #line 463 "lscp.y"
5120      { (yyval.Char) = '\310'; }      { (yyval.Char) = '\310'; }
5121      break;      break;
5122    
5123    case 318:    case 392:
5124  #line 350 "lscp.y"  #line 463 "lscp.y"
5125      { (yyval.Char) = '\311'; }      { (yyval.Char) = '\311'; }
5126      break;      break;
5127    
5128    case 319:    case 393:
5129  #line 350 "lscp.y"  #line 463 "lscp.y"
5130      { (yyval.Char) = '\312'; }      { (yyval.Char) = '\312'; }
5131      break;      break;
5132    
5133    case 320:    case 394:
5134  #line 351 "lscp.y"  #line 464 "lscp.y"
5135      { (yyval.Char) = '\313'; }      { (yyval.Char) = '\313'; }
5136      break;      break;
5137    
5138    case 321:    case 395:
5139  #line 351 "lscp.y"  #line 464 "lscp.y"
5140      { (yyval.Char) = '\314'; }      { (yyval.Char) = '\314'; }
5141      break;      break;
5142    
5143    case 322:    case 396:
5144  #line 351 "lscp.y"  #line 464 "lscp.y"
5145      { (yyval.Char) = '\315'; }      { (yyval.Char) = '\315'; }
5146      break;      break;
5147    
5148    case 323:    case 397:
5149  #line 352 "lscp.y"  #line 465 "lscp.y"
5150      { (yyval.Char) = '\316'; }      { (yyval.Char) = '\316'; }
5151      break;      break;
5152    
5153    case 324:    case 398:
5154  #line 352 "lscp.y"  #line 465 "lscp.y"
5155      { (yyval.Char) = '\317'; }      { (yyval.Char) = '\317'; }
5156      break;      break;
5157    
5158    case 325:    case 399:
5159  #line 352 "lscp.y"  #line 465 "lscp.y"
5160      { (yyval.Char) = '\320'; }      { (yyval.Char) = '\320'; }
5161      break;      break;
5162    
5163    case 326:    case 400:
5164  #line 353 "lscp.y"  #line 466 "lscp.y"
5165      { (yyval.Char) = '\321'; }      { (yyval.Char) = '\321'; }
5166      break;      break;
5167    
5168    case 327:    case 401:
5169  #line 353 "lscp.y"  #line 466 "lscp.y"
5170      { (yyval.Char) = '\322'; }      { (yyval.Char) = '\322'; }
5171      break;      break;
5172    
5173    case 328:    case 402:
5174  #line 353 "lscp.y"  #line 466 "lscp.y"
5175      { (yyval.Char) = '\323'; }      { (yyval.Char) = '\323'; }
5176      break;      break;
5177    
5178    case 329:    case 403:
5179  #line 354 "lscp.y"  #line 467 "lscp.y"
5180      { (yyval.Char) = '\324'; }      { (yyval.Char) = '\324'; }
5181      break;      break;
5182    
5183    case 330:    case 404:
5184  #line 354 "lscp.y"  #line 467 "lscp.y"
5185      { (yyval.Char) = '\325'; }      { (yyval.Char) = '\325'; }
5186      break;      break;
5187    
5188    case 331:    case 405:
5189  #line 354 "lscp.y"  #line 467 "lscp.y"
5190      { (yyval.Char) = '\326'; }      { (yyval.Char) = '\326'; }
5191      break;      break;
5192    
5193    case 332:    case 406:
5194  #line 355 "lscp.y"  #line 468 "lscp.y"
5195      { (yyval.Char) = '\327'; }      { (yyval.Char) = '\327'; }
5196      break;      break;
5197    
5198    case 333:    case 407:
5199  #line 355 "lscp.y"  #line 468 "lscp.y"
5200      { (yyval.Char) = '\330'; }      { (yyval.Char) = '\330'; }
5201      break;      break;
5202    
5203    case 334:    case 408:
5204  #line 355 "lscp.y"  #line 468 "lscp.y"
5205      { (yyval.Char) = '\331'; }      { (yyval.Char) = '\331'; }
5206      break;      break;
5207    
5208    case 335:    case 409:
5209  #line 356 "lscp.y"  #line 469 "lscp.y"
5210      { (yyval.Char) = '\332'; }      { (yyval.Char) = '\332'; }
5211      break;      break;
5212    
5213    case 336:    case 410:
5214  #line 356 "lscp.y"  #line 469 "lscp.y"
5215      { (yyval.Char) = '\333'; }      { (yyval.Char) = '\333'; }
5216      break;      break;
5217    
5218    case 337:    case 411:
5219  #line 356 "lscp.y"  #line 469 "lscp.y"
5220      { (yyval.Char) = '\334'; }      { (yyval.Char) = '\334'; }
5221      break;      break;
5222    
5223    case 338:    case 412:
5224  #line 357 "lscp.y"  #line 470 "lscp.y"
5225      { (yyval.Char) = '\335'; }      { (yyval.Char) = '\335'; }
5226      break;      break;
5227    
5228    case 339:    case 413:
5229  #line 357 "lscp.y"  #line 470 "lscp.y"
5230      { (yyval.Char) = '\336'; }      { (yyval.Char) = '\336'; }
5231      break;      break;
5232    
5233    case 340:    case 414:
5234  #line 357 "lscp.y"  #line 470 "lscp.y"
5235      { (yyval.Char) = '\337'; }      { (yyval.Char) = '\337'; }
5236      break;      break;
5237    
5238    case 341:    case 415:
5239  #line 358 "lscp.y"  #line 471 "lscp.y"
5240      { (yyval.Char) = '\340'; }      { (yyval.Char) = '\340'; }
5241      break;      break;
5242    
5243    case 342:    case 416:
5244  #line 358 "lscp.y"  #line 471 "lscp.y"
5245      { (yyval.Char) = '\341'; }      { (yyval.Char) = '\341'; }
5246      break;      break;
5247    
5248    case 343:    case 417:
5249  #line 358 "lscp.y"  #line 471 "lscp.y"
5250      { (yyval.Char) = '\342'; }      { (yyval.Char) = '\342'; }
5251      break;      break;
5252    
5253    case 344:    case 418:
5254  #line 359 "lscp.y"  #line 472 "lscp.y"
5255      { (yyval.Char) = '\343'; }      { (yyval.Char) = '\343'; }
5256      break;      break;
5257    
5258    case 345:    case 419:
5259  #line 359 "lscp.y"  #line 472 "lscp.y"
5260      { (yyval.Char) = '\344'; }      { (yyval.Char) = '\344'; }
5261      break;      break;
5262    
5263    case 346:    case 420:
5264  #line 359 "lscp.y"  #line 472 "lscp.y"
5265      { (yyval.Char) = '\345'; }      { (yyval.Char) = '\345'; }
5266      break;      break;
5267    
5268    case 347:    case 421:
5269  #line 360 "lscp.y"  #line 473 "lscp.y"
5270      { (yyval.Char) = '\346'; }      { (yyval.Char) = '\346'; }
5271      break;      break;
5272    
5273    case 348:    case 422:
5274  #line 360 "lscp.y"  #line 473 "lscp.y"
5275      { (yyval.Char) = '\347'; }      { (yyval.Char) = '\347'; }
5276      break;      break;
5277    
5278    case 349:    case 423:
5279  #line 360 "lscp.y"  #line 473 "lscp.y"
5280      { (yyval.Char) = '\350'; }      { (yyval.Char) = '\350'; }
5281      break;      break;
5282    
5283    case 350:    case 424:
5284  #line 361 "lscp.y"  #line 474 "lscp.y"
5285      { (yyval.Char) = '\351'; }      { (yyval.Char) = '\351'; }
5286      break;      break;
5287    
5288    case 351:    case 425:
5289  #line 361 "lscp.y"  #line 474 "lscp.y"
5290      { (yyval.Char) = '\352'; }      { (yyval.Char) = '\352'; }
5291      break;      break;
5292    
5293    case 352:    case 426:
5294  #line 361 "lscp.y"  #line 474 "lscp.y"
5295      { (yyval.Char) = '\353'; }      { (yyval.Char) = '\353'; }
5296      break;      break;
5297    
5298    case 353:    case 427:
5299  #line 362 "lscp.y"  #line 475 "lscp.y"
5300      { (yyval.Char) = '\354'; }      { (yyval.Char) = '\354'; }
5301      break;      break;
5302    
5303    case 354:    case 428:
5304  #line 362 "lscp.y"  #line 475 "lscp.y"
5305      { (yyval.Char) = '\355'; }      { (yyval.Char) = '\355'; }
5306      break;      break;
5307    
5308    case 355:    case 429:
5309  #line 362 "lscp.y"  #line 475 "lscp.y"
5310      { (yyval.Char) = '\356'; }      { (yyval.Char) = '\356'; }
5311      break;      break;
5312    
5313    case 356:    case 430:
5314  #line 363 "lscp.y"  #line 476 "lscp.y"
5315      { (yyval.Char) = '\357'; }      { (yyval.Char) = '\357'; }
5316      break;      break;
5317    
5318    case 357:    case 431:
5319  #line 363 "lscp.y"  #line 476 "lscp.y"
5320      { (yyval.Char) = '\360'; }      { (yyval.Char) = '\360'; }
5321      break;      break;
5322    
5323    case 358:    case 432:
5324  #line 363 "lscp.y"  #line 476 "lscp.y"
5325      { (yyval.Char) = '\361'; }      { (yyval.Char) = '\361'; }
5326      break;      break;
5327    
5328    case 359:    case 433:
5329  #line 364 "lscp.y"  #line 477 "lscp.y"
5330      { (yyval.Char) = '\362'; }      { (yyval.Char) = '\362'; }
5331      break;      break;
5332    
5333    case 360:    case 434:
5334  #line 364 "lscp.y"  #line 477 "lscp.y"
5335      { (yyval.Char) = '\363'; }      { (yyval.Char) = '\363'; }
5336      break;      break;
5337    
5338    case 361:    case 435:
5339  #line 364 "lscp.y"  #line 477 "lscp.y"
5340      { (yyval.Char) = '\364'; }      { (yyval.Char) = '\364'; }
5341      break;      break;
5342    
5343    case 362:    case 436:
5344  #line 365 "lscp.y"  #line 478 "lscp.y"
5345      { (yyval.Char) = '\365'; }      { (yyval.Char) = '\365'; }
5346      break;      break;
5347    
5348    case 363:    case 437:
5349  #line 365 "lscp.y"  #line 478 "lscp.y"
5350      { (yyval.Char) = '\366'; }      { (yyval.Char) = '\366'; }
5351      break;      break;
5352    
5353    case 364:    case 438:
5354  #line 365 "lscp.y"  #line 478 "lscp.y"
5355      { (yyval.Char) = '\367'; }      { (yyval.Char) = '\367'; }
5356      break;      break;
5357    
5358    case 365:    case 439:
5359  #line 366 "lscp.y"  #line 479 "lscp.y"
5360      { (yyval.Char) = '\370'; }      { (yyval.Char) = '\370'; }
5361      break;      break;
5362    
5363    case 366:    case 440:
5364  #line 366 "lscp.y"  #line 479 "lscp.y"
5365      { (yyval.Char) = '\371'; }      { (yyval.Char) = '\371'; }
5366      break;      break;
5367    
5368    case 367:    case 441:
5369  #line 366 "lscp.y"  #line 479 "lscp.y"
5370      { (yyval.Char) = '\372'; }      { (yyval.Char) = '\372'; }
5371      break;      break;
5372    
5373    case 368:    case 442:
5374  #line 367 "lscp.y"  #line 480 "lscp.y"
5375      { (yyval.Char) = '\373'; }      { (yyval.Char) = '\373'; }
5376      break;      break;
5377    
5378    case 369:    case 443:
5379  #line 367 "lscp.y"  #line 480 "lscp.y"
5380      { (yyval.Char) = '\374'; }      { (yyval.Char) = '\374'; }
5381      break;      break;
5382    
5383    case 370:    case 444:
5384  #line 367 "lscp.y"  #line 480 "lscp.y"
5385      { (yyval.Char) = '\375'; }      { (yyval.Char) = '\375'; }
5386      break;      break;
5387    
5388    case 371:    case 445:
5389  #line 368 "lscp.y"  #line 481 "lscp.y"
5390      { (yyval.Char) = '\376'; }      { (yyval.Char) = '\376'; }
5391      break;      break;
5392    
5393    case 372:    case 446:
5394  #line 368 "lscp.y"  #line 481 "lscp.y"
5395      { (yyval.Char) = '\377'; }      { (yyval.Char) = '\377'; }
5396      break;      break;
5397    
5398    case 373:    case 447:
5399  #line 371 "lscp.y"  #line 484 "lscp.y"
5400      { (yyval.String) = " ";      }      { (yyval.String) = " ";      }
5401      break;      break;
5402    
5403    case 375:    case 449:
5404  #line 373 "lscp.y"  #line 486 "lscp.y"
5405      { (yyval.String) = (yyvsp[-1].String) + " "; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5406      break;      break;
5407    
5408    case 376:    case 450:
5409  #line 374 "lscp.y"  #line 487 "lscp.y"
5410      { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].String);  }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5411      break;      break;
5412    
5413    case 377:    case 451:
5414  #line 377 "lscp.y"  #line 490 "lscp.y"
5415      { (yyval.String) = (yyvsp[-1].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
5416      break;      break;
5417    
5418    case 378:    case 452:
5419  #line 378 "lscp.y"  #line 491 "lscp.y"
5420      { (yyval.String) = (yyvsp[-1].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
5421      break;      break;
5422    
5423    
5424    /* Line 1267 of yacc.c.  */
5425    #line 5426 "y.tab.c"
5426          default: break;
5427      }      }
5428      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5429    
5430  /* Line 1037 of yacc.c.  */    YYPOPSTACK (yylen);
5431  #line 4510 "y.tab.c"    yylen = 0;
   
   yyvsp -= yylen;  
   yyssp -= yylen;  
   
   
5432    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5433    
5434    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4540  yyerrlab: Line 5457  yyerrlab:
5457    if (!yyerrstatus)    if (!yyerrstatus)
5458      {      {
5459        ++yynerrs;        ++yynerrs;
5460  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5461        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5462    #else
5463        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5464          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5465            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5466            int yytype = YYTRANSLATE (yychar);            {
5467            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
5468            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5469            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
5470                if (yymsg != yymsgbuf)
5471            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
5472               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5473            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
5474                  yymsg_alloc = yyalloc;
5475            /* Stay within bounds of both yycheck and yytname.  */              else
           int yychecklim = YYLAST - yyn;  
           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;  
           int yycount = 0;  
   
           yyprefix = ", expecting ";  
           for (yyx = yyxbegin; yyx < yyxend; ++yyx)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
5476                {                {
5477                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
5478                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
5479                }                }
5480            yysize += (sizeof ("syntax error, unexpected ")            }
                      + yystrlen (yytname[yytype]));  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
5481    
5482                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
5483                  {            {
5484                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
5485                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
5486                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
5487                        {          else
5488                          yyp = yystpcpy (yyp, yyprefix);            {
5489                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
5490                          yyprefix = " or ";              if (yysize != 0)
5491                        }                goto yyexhaustedlab;
5492                  }            }
5493                yyerror (yymsg);        }
5494                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
5495      }      }
5496    
5497    
# Line 4610  yyerrlab: Line 5502  yyerrlab:
5502           error, discard it.  */           error, discard it.  */
5503    
5504        if (yychar <= YYEOF)        if (yychar <= YYEOF)
5505          {          {
5506            /* If at end of input, pop the error token,            /* Return failure if at end of input.  */
              then the rest of the stack, then return failure.  */  
5507            if (yychar == YYEOF)            if (yychar == YYEOF)
5508               for (;;)              YYABORT;
5509                 {          }
   
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  yydestruct ("Error: popping",  
                              yystos[*yyssp], yyvsp);  
                }  
         }  
5510        else        else
5511          {          {
5512            yydestruct ("Error: discarding", yytoken, &yylval);            yydestruct ("Error: discarding",
5513                          yytoken, &yylval);
5514            yychar = YYEMPTY;            yychar = YYEMPTY;
5515          }          }
5516      }      }
# Line 4641  yyerrlab: Line 5525  yyerrlab:
5525  `---------------------------------------------------*/  `---------------------------------------------------*/
5526  yyerrorlab:  yyerrorlab:
5527    
5528  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
5529    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
5530       yyerrorlab therefore never appears in user code.  */       code.  */
5531    if (0)    if (/*CONSTCOND*/ 0)
5532       goto yyerrorlab;       goto yyerrorlab;
 #endif  
5533    
5534  yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
5535    yyssp -= yylen;       this YYERROR.  */
5536      YYPOPSTACK (yylen);
5537      yylen = 0;
5538      YY_STACK_PRINT (yyss, yyssp);
5539    yystate = *yyssp;    yystate = *yyssp;
5540    goto yyerrlab1;    goto yyerrlab1;
5541    
# Line 4679  yyerrlab1: Line 5565  yyerrlab1:
5565          YYABORT;          YYABORT;
5566    
5567    
5568        yydestruct ("Error: popping", yystos[yystate], yyvsp);        yydestruct ("Error: popping",
5569        YYPOPSTACK;                    yystos[yystate], yyvsp);
5570          YYPOPSTACK (1);
5571        yystate = *yyssp;        yystate = *yyssp;
5572        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5573      }      }
# Line 4691  yyerrlab1: Line 5578  yyerrlab1:
5578    *++yyvsp = yylval;    *++yyvsp = yylval;
5579    
5580    
5581    /* Shift the error token. */    /* Shift the error token.  */
5582    YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);    YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5583    
5584    yystate = yyn;    yystate = yyn;
# Line 4709  yyacceptlab: Line 5596  yyacceptlab:
5596  | yyabortlab -- YYABORT comes here.  |  | yyabortlab -- YYABORT comes here.  |
5597  `-----------------------------------*/  `-----------------------------------*/
5598  yyabortlab:  yyabortlab:
   yydestruct ("Error: discarding lookahead",  
               yytoken, &yylval);  
   yychar = YYEMPTY;  
5599    yyresult = 1;    yyresult = 1;
5600    goto yyreturn;    goto yyreturn;
5601    
5602  #ifndef yyoverflow  #ifndef yyoverflow
5603  /*----------------------------------------------.  /*-------------------------------------------------.
5604  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5605  `----------------------------------------------*/  `-------------------------------------------------*/
5606  yyoverflowlab:  yyexhaustedlab:
5607    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5608    yyresult = 2;    yyresult = 2;
5609    /* Fall through.  */    /* Fall through.  */
5610  #endif  #endif
5611    
5612  yyreturn:  yyreturn:
5613      if (yychar != YYEOF && yychar != YYEMPTY)
5614         yydestruct ("Cleanup: discarding lookahead",
5615                     yytoken, &yylval);
5616      /* Do not reclaim the symbols of the rule which action triggered
5617         this YYABORT or YYACCEPT.  */
5618      YYPOPSTACK (yylen);
5619      YY_STACK_PRINT (yyss, yyssp);
5620      while (yyssp != yyss)
5621        {
5622          yydestruct ("Cleanup: popping",
5623                      yystos[*yyssp], yyvsp);
5624          YYPOPSTACK (1);
5625        }
5626  #ifndef yyoverflow  #ifndef yyoverflow
5627    if (yyss != yyssa)    if (yyss != yyssa)
5628      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5629  #endif  #endif
5630    return yyresult;  #if YYERROR_VERBOSE
5631      if (yymsg != yymsgbuf)
5632        YYSTACK_FREE (yymsg);
5633    #endif
5634      /* Make sure YYID is used.  */
5635      return YYID (yyresult);
5636  }  }
5637    
5638    
5639  #line 561 "lscp.y"  #line 758 "lscp.y"
5640    
5641    
5642  /**  /**
# Line 4752  void restart(yyparse_param_t* pparam, in Line 5654  void restart(yyparse_param_t* pparam, in
5654      ptr   = 0;      ptr   = 0;
5655  }  }
5656    
   

Legend:
Removed from v.778  
changed lines
  Added in v.1109

  ViewVC Help
Powered by ViewVC