/[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 573 by schoenebeck, Tue May 24 03:18:30 2005 UTC revision 1200 by iliev, Thu May 24 14:04:18 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875d.  */  /* 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 214 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    
229  # ifdef YYSTACK_USE_ALLOCA  # ifdef YYSTACK_USE_ALLOCA
230  #  if YYSTACK_USE_ALLOCA  #  if YYSTACK_USE_ALLOCA
 #   define YYSTACK_ALLOC alloca  
 #  endif  
 # else  
 #  if defined (alloca) || defined (_ALLOCA_H)  
 #   define YYSTACK_ALLOC alloca  
 #  else  
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
241    #    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 175  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 210  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  52
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4524  #define YYLAST   5505
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  95  #define YYNNTS  168
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  427  #define YYNRULES  611
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1181  #define YYNSTATES  2074
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,    95,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        99,   101,   103,   105,   109,   119,   127,   135,   145,   151,
412       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,       159,   161,   165,   167,   169,   171,   173,   175,   177,   179,
413       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,       181,   183,   185,   187,   189,   191,   193,   195,   197,   199,
414       239,   245,   251,   255,   263,   273,   281,   291,   295,   299,       201,   203,   205,   207,   209,   211,   213,   215,   217,   219,
415       305,   309,   315,   319,   323,   327,   331,   335,   341,   349,       221,   223,   225,   227,   229,   231,   233,   235,   237,   239,
416       355,   365,   371,   377,   383,   389,   395,   399,   405,   407,       241,   243,   245,   247,   249,   251,   253,   255,   257,   274,
417       409,   411,   413,   415,   417,   419,   421,   427,   435,   439,       293,   312,   333,   341,   345,   349,   353,   359,   363,   367,
418       441,   443,   445,   447,   449,   451,   453,   455,   457,   459,       369,   371,   377,   385,   395,   397,   403,   411,   421,   423,
419       461,   463,   465,   467,   471,   473,   477,   481,   483,   485,       425,   431,   437,   445,   455,   463,   473,   475,   481,   489,
420       487,   489,   491,   494,   498,   503,   508,   510,   513,   515,       495,   501,   507,   511,   513,   515,   519,   523,   533,   535,
421       517,   519,   521,   523,   525,   527,   529,   531,   533,   535,       541,   545,   553,   559,   563,   569,   575,   579,   585,   591,
422       538,   541,   544,   547,   550,   553,   556,   559,   562,   564,       593,   601,   611,   619,   629,   633,   641,   651,   663,   673,
423       566,   568,   570,   572,   574,   576,   578,   580,   582,   584,       683,   691,   699,   707,   715,   719,   723,   729,   733,   739,
424       586,   588,   590,   592,   594,   596,   598,   600,   602,   604,       743,   749,   757,   761,   765,   769,   777,   783,   791,   797,
425       606,   608,   610,   612,   614,   616,   618,   620,   622,   624,       803,   809,   815,   821,   825,   829,   835,   839,   843,   849,
426       626,   628,   630,   632,   634,   636,   638,   640,   642,   644,       857,   863,   873,   879,   885,   891,   897,   903,   909,   915,
427       646,   648,   650,   652,   654,   656,   658,   660,   662,   664,       921,   927,   933,   934,   937,   941,   947,   949,   951,   953,
428       666,   668,   670,   672,   674,   676,   678,   680,   682,   684,       955,   957,   959,   961,   963,   967,   971,   973,   977,   983,
429       686,   688,   690,   692,   694,   696,   698,   700,   702,   704,       987,   993,   997,  1003,  1011,  1015,  1017,  1019,  1021,  1023,
430       706,   708,   710,   712,   714,   716,   718,   720,   722,   724,      1025,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
431       726,   728,   730,   732,   734,   736,   738,   740,   742,   744,      1045,  1047,  1049,  1051,  1053,  1055,  1057,  1059,  1061,  1063,
432       746,   748,   750,   752,   754,   756,   758,   760,   762,   764,      1065,  1067,  1069,  1073,  1075,  1077,  1079,  1081,  1085,  1091,
433       766,   768,   770,   772,   774,   776,   778,   780,   782,   784,      1093,  1095,  1097,  1099,  1101,  1103,  1105,  1107,  1110,  1114,
434       786,   788,   790,   792,   794,   796,   798,   800,   802,   804,      1119,  1124,  1126,  1129,  1131,  1133,  1135,  1137,  1139,  1141,
435       806,   808,   810,   812,   814,   816,   818,   820,   822,   824,      1143,  1145,  1147,  1149,  1151,  1154,  1157,  1160,  1163,  1166,
436       826,   828,   830,   832,   834,   836,   838,   840,   842,   844,      1169,  1172,  1175,  1178,  1180,  1182,  1184,  1186,  1188,  1190,
437       846,   848,   850,   852,   854,   856,   858,   860,   862,   864,      1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,  1210,
438       866,   868,   870,   872,   874,   876,   878,   880,   882,   884,      1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,  1230,
439       886,   888,   890,   892,   894,   896,   898,   900,   902,   904,      1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,  1250,
440       906,   908,   910,   912,   914,   916,   918,   920,   922,   924,      1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,  1270,
441       926,   928,   930,   932,   934,   936,   938,   940,   942,   944,      1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,  1290,
442       946,   948,   950,   952,   954,   956,   958,   960,   962,   964,      1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,  1310,
443       966,   968,   970,   972,   974,   976,   978,   980,   982,   984,      1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,
444       986,   988,   990,   992,   994,   996,   998,  1000,  1002,  1004,      1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,
445      1007,  1010,  1014,  1018,  1020,  1022,  1024,  1028,  1032,  1039,      1352,  1354,  1356,  1358,  1360,  1362,  1364,  1366,  1368,  1370,
446      1047,  1052,  1057,  1061,  1071,  1078,  1082,  1092,  1104,  1111,      1372,  1374,  1376,  1378,  1380,  1382,  1384,  1386,  1388,  1390,
447      1119,  1137,  1168,  1177,  1182,  1196,  1209,  1221,  1234,  1246,      1392,  1394,  1396,  1398,  1400,  1402,  1404,  1406,  1408,  1410,
448      1257,  1264,  1294,  1315,  1335,  1365,  1385,  1416,  1437,  1455,      1412,  1414,  1416,  1418,  1420,  1422,  1424,  1426,  1428,  1430,
449      1484,  1512,  1538,  1557,  1575,  1603,  1621,  1637,  1656,  1672,      1432,  1434,  1436,  1438,  1440,  1442,  1444,  1446,  1448,  1450,
450      1683,  1690,  1697,  1703,  1714,  1720,  1734,  1739      1452,  1454,  1456,  1458,  1460,  1462,  1464,  1466,  1468,  1470,
451        1472,  1474,  1476,  1478,  1480,  1482,  1484,  1486,  1488,  1490,
452        1492,  1494,  1496,  1498,  1500,  1502,  1504,  1506,  1508,  1510,
453        1512,  1514,  1516,  1518,  1520,  1522,  1524,  1526,  1528,  1530,
454        1532,  1534,  1536,  1538,  1540,  1542,  1544,  1546,  1548,  1550,
455        1552,  1554,  1556,  1558,  1560,  1562,  1564,  1566,  1568,  1570,
456        1572,  1574,  1576,  1578,  1580,  1582,  1584,  1586,  1588,  1590,
457        1592,  1594,  1596,  1598,  1600,  1602,  1604,  1606,  1608,  1610,
458        1612,  1614,  1616,  1618,  1620,  1623,  1626,  1630,  1634,  1636,
459        1638,  1640,  1644,  1648,  1652,  1658,  1664,  1669,  1674,  1679,
460        1686,  1694,  1699,  1704,  1708,  1713,  1721,  1731,  1738,  1742,
461        1752,  1764,  1772,  1790,  1821,  1830,  1835,  1861,  1886,  1910,
462        1933,  1959,  1984,  2006,  2027,  2057,  2086,  2106,  2125,  2149,
463        2163,  2176,  2190,  2203,  2215,  2228,  2240,  2258,  2280,  2292,
464        2303,  2310,  2320,  2335,  2346,  2376,  2397,  2417,  2447,  2467,
465        2498,  2519,  2537,  2566,  2594,  2620,  2639,  2657,  2685,  2701,
466        2718,  2738,  2759,  2777,  2793,  2812,  2828,  2839,  2855,  2863,
467        2872,  2896,  2922,  2937,  2951,  2970,  2982,  2988,  2993,  3003,
468        3017,  3024,  3031,  3037,  3042,  3047,  3053,  3064,  3070,  3084,
469        3089,  3094
470  };  };
471    
472  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
473  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
474  {  {
475       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   292,    -1,   229,   293,   292,    -1,
476        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
477         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   291,    -1,   230,   287,    -1,   230,   283,
478        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   294,   291,   232,    -1,   296,   291,   235,    -1,   297,
479       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       291,   236,    -1,   295,   291,   238,    -1,   302,   291,   240,
480        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   303,   291,   246,    -1,   304,   291,   252,    -1,   305,
481        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       291,   247,    -1,   310,   291,   237,    -1,   311,   291,   239,
482       267,   233,    -1,   282,   267,   265,    -1,   318,   267,   283,        -1,   312,   291,   233,    -1,   313,   291,   234,    -1,   390,
483       267,   252,    -1,   318,    -1,   321,    -1,   288,    -1,   292,       291,   241,    -1,   298,   291,   242,    -1,   299,   291,   243,
484        -1,   291,    -1,   290,    -1,   289,    -1,   319,    -1,   288,        -1,   300,   291,   244,    -1,   301,   291,   245,    -1,   390,
485        -1,   292,    -1,   291,    -1,   290,    -1,   289,    -1,   319,        -1,   394,    -1,   314,    -1,   373,   291,   271,    -1,   375,
486        -1,   284,    -1,   303,    -1,   309,   267,   287,   267,   259,       291,   309,   291,   281,   291,   271,   291,   271,    -1,   375,
487        -1,   308,   267,   287,   267,   259,   267,   259,    -1,   308,       291,   281,   291,   271,   291,   271,    -1,   375,   291,   309,
488       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,       291,   271,   291,   271,    -1,   375,   291,   309,   291,   271,
489        -1,   299,   267,   287,   267,   259,    -1,   298,   267,   287,       291,   271,   291,   268,    -1,   375,   291,   271,   291,   271,
490       267,   259,   267,   259,    -1,   298,   267,   287,   267,   259,        -1,   375,   291,   271,   291,   271,   291,   268,    -1,   363,
491       267,   259,   267,   240,    -1,   296,    -1,   306,    -1,   297,        -1,   363,   291,   274,    -1,   319,    -1,   320,    -1,   321,
492       267,   287,   267,   263,    -1,   307,   267,   287,   267,   263,        -1,   322,    -1,   332,    -1,   338,    -1,   337,    -1,   336,
493        -1,   310,   267,   287,   267,   263,   267,   263,    -1,   305,        -1,   333,    -1,   334,    -1,   335,    -1,   323,    -1,   324,
494       267,   287,   267,   263,   267,   263,   267,   259,    -1,   301,        -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,   329,
495       267,   287,   267,   263,   267,   263,    -1,   300,   267,   287,        -1,   330,    -1,   331,    -1,   391,    -1,   339,    -1,   341,
496       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,        -1,   319,    -1,   320,    -1,   321,    -1,   322,    -1,   332,
497       267,   287,   267,   252,    -1,   283,   267,   290,   267,   241,        -1,   338,    -1,   337,    -1,   336,    -1,   333,    -1,   334,
498       267,   252,    -1,   283,   267,   291,   267,   252,    -1,   283,        -1,   335,    -1,   323,    -1,   324,    -1,   325,    -1,   326,
499       267,   292,   267,   252,    -1,   294,   267,   287,   267,   254,        -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
500        -1,   314,   267,   287,    -1,   295,   267,   263,   267,   259,        -1,   391,    -1,   339,    -1,   341,    -1,   361,   291,   249,
501         4,   256,    -1,   300,   267,   263,   267,   263,   267,   259,       262,   291,   263,   291,   264,   291,   270,   291,   273,   291,
502         4,   256,    -1,   304,   267,   263,   267,   259,     4,   256,       268,   291,   266,    -1,   361,   291,   249,   262,   291,   263,
503        -1,   305,   267,   263,   267,   263,   267,   259,     4,   256,       291,   264,   291,   270,   291,   273,   291,   268,   291,   266,
504        -1,   283,   267,   239,    -1,   320,   267,   258,    -1,   297,       291,   255,    -1,   361,   291,   249,   262,   291,   263,   291,
505       267,   259,   267,   240,    -1,   297,   267,   259,    -1,   307,       264,   291,   270,   291,   273,   291,   268,   291,   266,   291,
506       267,   259,   267,   240,    -1,   307,   267,   259,    -1,   297,       275,    -1,   361,   291,   249,   262,   291,   263,   291,   264,
507       267,   263,    -1,   307,   267,   263,    -1,   293,   267,   243,       291,   270,   291,   273,   291,   268,   291,   266,   291,   255,
508        -1,   294,   267,   244,    -1,   297,   267,   252,   267,   245,       291,   275,    -1,   361,   291,   262,   291,   263,   291,   264,
509        -1,   301,   267,   252,   267,   246,   267,   246,    -1,   302,        -1,   314,   291,   267,    -1,   363,   291,   262,    -1,   363,
510       267,   252,   267,   247,    -1,   313,   267,   252,   267,   245,       291,   306,    -1,   373,   291,   379,   291,   271,    -1,   373,
511       267,   248,   267,   249,    -1,   307,   267,   252,   267,   245,       291,   271,    -1,   376,   291,   271,    -1,   315,    -1,   355,
512        -1,   310,   267,   252,   267,   248,    -1,   311,   267,   252,        -1,   365,   291,   318,   291,   283,    -1,   360,   291,   318,
513       267,   249,    -1,   312,   267,   252,   267,   250,    -1,   315,       291,   283,   291,   283,    -1,   360,   291,   318,   291,   283,
514       267,   252,   267,   251,    -1,   259,     4,   256,    -1,   240,       291,   283,   291,   250,    -1,   316,    -1,   351,   291,   318,
515       267,   259,     4,   256,    -1,   316,    -1,   317,    -1,   296,       291,   283,    -1,   350,   291,   318,   291,   283,   291,   283,
516        -1,   306,    -1,   286,    -1,   284,    -1,   303,    -1,   285,        -1,   350,   291,   318,   291,   283,   291,   283,   291,   250,
517        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,        -1,   348,    -1,   358,    -1,   349,   291,   318,   291,   287,
518       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,        -1,   359,   291,   318,   291,   287,    -1,   366,   291,   318,
519        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,       291,   287,   291,   287,    -1,   357,   291,   318,   291,   287,
520        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,       291,   287,   291,   283,    -1,   353,   291,   318,   291,   287,
521        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,       291,   287,    -1,   352,   291,   318,   291,   287,   291,   287,
522        -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,       291,   283,    -1,   317,    -1,   314,   291,   318,   291,   267,
523        -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,        -1,   314,   291,   336,   291,   251,   291,   267,    -1,   314,
524        -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,       291,   337,   291,   267,    -1,   314,   291,   338,   291,   267,
525         8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,        -1,   343,   291,   318,   291,   270,    -1,   383,   291,   318,
526       261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,        -1,   339,    -1,   340,    -1,   362,   291,   262,    -1,   362,
527        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,       291,   306,    -1,   361,   291,   318,   291,   262,   291,   263,
528        -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,       291,   264,    -1,   364,    -1,   363,   291,   318,   291,   262,
529        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,        -1,   372,   291,   267,    -1,   371,   291,   318,   291,   267,
530        17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,       291,   269,    -1,   374,   291,   381,   291,   271,    -1,   374,
531       261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,       291,   271,    -1,   373,   291,   318,   291,   271,    -1,   375,
532         291,   381,   291,   271,    -1,   375,   291,   271,    -1,   376,
533         291,   318,   291,   271,    -1,   377,   291,   318,   291,   287,
534          -1,   384,    -1,   347,   291,   287,   291,   283,     4,   277,
535          -1,   352,   291,   287,   291,   287,   291,   283,     4,   277,
536          -1,   356,   291,   287,   291,   283,     4,   277,    -1,   357,
537         291,   287,   291,   287,   291,   283,     4,   277,    -1,   314,
538         291,   248,    -1,   363,   291,   392,   291,   262,   291,   274,
539          -1,   371,   291,   392,   291,   267,   291,   269,   291,   276,
540          -1,   371,   291,   353,   291,   267,   291,   269,   291,   257,
541         291,   257,    -1,   371,   291,   370,   291,   267,   291,   269,
542         291,   265,    -1,   371,   291,   385,   291,   267,   291,   269,
543         291,   266,    -1,   373,   291,   392,   291,   271,   291,   272,
544          -1,   373,   291,   378,   291,   271,   291,   290,    -1,   376,
545         291,   392,   291,   271,   291,   272,    -1,   376,   291,   378,
546         291,   271,   291,   290,    -1,   393,   291,   282,    -1,   384,
547         291,   266,    -1,   349,   291,   283,   291,   250,    -1,   349,
548         291,   283,    -1,   359,   291,   283,   291,   250,    -1,   359,
549         291,   283,    -1,   371,   291,   267,   291,   265,    -1,   371,
550         291,   267,   291,   265,   291,   276,    -1,   314,   291,   267,
551          -1,   362,   291,   262,    -1,   362,   291,   306,    -1,   375,
552         291,   382,   291,   271,   291,   279,    -1,   375,   291,   271,
553         291,   279,    -1,   374,   291,   382,   291,   271,   291,   279,
554          -1,   374,   291,   271,   291,   279,    -1,   373,   291,   271,
555         291,   271,    -1,   376,   291,   271,   291,   271,    -1,   373,
556         291,   271,   291,   271,    -1,   376,   291,   271,   291,   271,
557          -1,   349,   291,   287,    -1,   359,   291,   287,    -1,   371,
558         291,   267,   291,   269,    -1,   342,   291,   253,    -1,   343,
559         291,   254,    -1,   349,   291,   267,   291,   256,    -1,   353,
560         291,   267,   291,   257,   291,   257,    -1,   354,   291,   267,
561         291,   258,    -1,   369,   291,   267,   291,   256,   291,   259,
562         291,   260,    -1,   359,   291,   267,   291,   256,    -1,   366,
563         291,   267,   291,   259,    -1,   367,   291,   267,   291,   260,
564          -1,   368,   291,   267,   291,   261,    -1,   384,   291,   267,
565         291,   266,    -1,   386,   291,   267,   291,   282,    -1,   387,
566         291,   267,   291,   282,    -1,   363,   291,   267,   291,   262,
567          -1,   363,   291,   267,   291,   307,    -1,   363,   291,   267,
568         291,   308,    -1,    -1,   309,   291,    -1,   283,     4,   277,
569          -1,   250,   291,   283,     4,   277,    -1,   388,    -1,   389,
570          -1,   348,    -1,   358,    -1,   317,    -1,   315,    -1,   355,
571          -1,   316,    -1,   362,   291,   262,    -1,   362,   291,   306,
572          -1,   364,    -1,   372,   291,   267,    -1,   374,   291,   381,
573         291,   271,    -1,   374,   291,   271,    -1,   375,   291,   381,
574         291,   271,    -1,   375,   291,   271,    -1,   273,   291,   268,
575         291,   267,    -1,   309,   291,   273,   291,   268,   291,   267,
576          -1,   270,   291,   267,    -1,   344,    -1,   345,    -1,   346,
577          -1,   287,    -1,   287,    -1,   283,    -1,   287,    -1,   287,
578          -1,   306,    -1,   283,    -1,   287,    -1,   287,    -1,   287,
579          -1,   287,    -1,   284,    -1,   287,    -1,   287,    -1,   287,
580          -1,   287,    -1,   283,    -1,   290,    -1,   290,    -1,   290,
581          -1,   290,    -1,   290,    -1,   290,    -1,   278,    -1,   277,
582           5,   278,    -1,   283,    -1,   290,    -1,   287,    -1,   284,
583          -1,   283,     4,   280,    -1,   279,   291,   283,     4,   280,
584          -1,   283,    -1,   290,    -1,   381,    -1,   382,    -1,   380,
585          -1,   287,    -1,   283,    -1,   288,    -1,   283,   288,    -1,
586         285,     6,   285,    -1,     7,   285,     6,   285,    -1,     8,
587         285,     6,   285,    -1,   286,    -1,   285,   286,    -1,     9,
588          -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,
589          -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,   286,
590          -1,    10,   285,    -1,    11,   285,    -1,    12,   285,    -1,
591          13,   285,    -1,    14,   285,    -1,    15,   285,    -1,    16,
592         285,    -1,    17,   285,    -1,    18,   285,    -1,    19,    -1,
593          20,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,
594        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,
595        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,
596        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,
# Line 391  static const short int yyrhs[] = Line 600  static const short int yyrhs[] =
600        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,
601        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
602        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,
603        70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,        70,    -1,     9,    -1,    10,    -1,    11,    -1,    12,    -1,
604        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,
605        18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,        18,    -1,    71,    -1,     3,    -1,    72,    -1,    73,    -1,
606        74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,        74,    -1,    75,    -1,    76,    -1,    77,    -1,     7,    -1,
607        79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,         8,    -1,     6,    -1,     5,    -1,    78,    -1,    79,    -1,
608        80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,        80,    -1,    81,    -1,     4,    -1,    82,    -1,    83,    -1,
609        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,
610        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,
611        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,
# Line 424  static const short int yyrhs[] = Line 633  static const short int yyrhs[] =
633       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,
634       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,
635       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,
636       219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,       219,    -1,   220,    -1,   221,    -1,   291,    -1,   283,    -1,
637       267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,       289,   291,    -1,   289,   283,    -1,   222,   289,   222,    -1,
638         6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,       223,   289,   223,    -1,   224,    -1,   225,    -1,   226,    -1,
639       225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,        19,    22,    22,    -1,    25,    23,    38,    -1,    31,    19,
640        40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,        34,    -1,    39,    32,    31,    19,    34,    -1,    21,    30,
641        25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,        23,    19,    36,    -1,    24,    27,    32,    22,    -1,    31,
642        40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,        33,    40,    23,    -1,    21,    33,    34,    43,    -1,    21,
643        -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,        36,    23,    19,    38,    23,    -1,    22,    23,    37,    38,
644        -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,        36,    33,    43,    -1,    30,    27,    37,    38,    -1,    30,
645        40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,        33,    19,    22,    -1,    19,    30,    30,    -1,    32,    33,
646        25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,        32,    23,    -1,    22,    23,    24,    19,    39,    30,    38,
647        29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,        -1,    32,    33,    32,    89,    31,    33,    22,    19,    30,
648        -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,        -1,    36,    23,    31,    33,    40,    23,    -1,    37,    23,
649        42,    21,    29,    32,    21,    22,    32,    25,    91,    25,        38,    -1,    37,    39,    20,    37,    21,    36,    27,    20,
650        34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,        23,    -1,    39,    32,    37,    39,    20,    37,    21,    36,
651        29,    32,    21,    22,    32,    25,    91,    21,    41,    24,        27,    20,    23,    -1,    21,    26,    19,    32,    32,    23,
652        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,        30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
653        24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,        23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
654        21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
655        35,    -1,    23,    28,    21,    34,    34,    25,    32,    91,        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
656        23,    35,    41,    34,    40,    -1,    23,    28,    21,    34,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
657        34,    25,    32,    91,    29,    34,    26,    35,    -1,    22,        -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
658        41,    26,    26,    25,    38,    91,    26,    29,    32,    32,        27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
659        -1,    39,    40,    38,    25,    21,    33,    91,    23,    35,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
660        41,    34,    40,    -1,    42,    35,    29,    23,    25,    91,        40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
661        23,    35,    41,    34,    40,    -1,    29,    34,    39,    40,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
662        38,    41,    33,    25,    34,    40,    -1,    25,    34,    27,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
663        29,    34,    25,    -1,    21,    41,    24,    29,    35,    91,        89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
664        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,        89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
665        29,    23,    25,    91,    36,    21,    38,    21,    33,    25,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
666        40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
667        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,        89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
668        29,    23,    25,    39,    -1,    21,    41,    24,    29,    35,        24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
669        91,    35,    41,    40,    36,    41,    40,    91,    24,    25,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
670        42,    29,    23,    25,    -1,    21,    41,    24,    29,    35,        19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
671        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,        27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
672        29,    42,    25,    38,    91,    36,    21,    38,    21,    33,        31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
673        25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,        32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
674        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
675        29,    42,    25,    38,    -1,    21,    41,    24,    29,    35,        21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
676        91,    35,    41,    40,    36,    41,    40,    91,    23,    28,        89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
677        21,    34,    34,    25,    32,    91,    36,    21,    38,    21,        38,    89,    27,    32,    24,    33,    -1,    22,    20,    89,
678        33,    25,    40,    25,    38,    -1,    21,    41,    24,    29,        27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
679        35,    91,    35,    41,    40,    36,    41,    40,    91,    23,        89,    22,    27,    36,    23,    21,    38,    33,    36,    43,
680        28,    21,    34,    34,    25,    32,    -1,    21,    41,    24,        89,    21,    33,    39,    32,    38,    -1,    22,    20,    89,
681        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,        27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
682        40,    45,    36,    25,    -1,    21,    42,    21,    29,    32,        89,    22,    27,    36,    23,    21,    38,    33,    36,    43,
683        21,    22,    32,    25,    91,    33,    29,    24,    29,    91,        89,    27,    32,    24,    33,    -1,    22,    20,    89,    27,
684        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
685        25,    38,    39,    -1,    33,    29,    24,    29,    91,    29,        21,    33,    39,    32,    38,    -1,    22,    20,    89,    27,
686        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
687        25,    91,    36,    21,    38,    21,    33,    25,    40,    25,        27,    32,    24,    33,    -1,    22,    20,    89,    27,    32,
688        38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        37,    38,    36,    39,    31,    23,    32,    38,    37,    89,
689        41,    40,    91,    36,    35,    38,    40,    91,    36,    21,        28,    33,    20,    89,    27,    32,    24,    33,    -1,    21,
690        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,        26,    19,    32,    32,    23,    30,    89,    21,    33,    39,
691        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,        32,    38,    -1,    21,    26,    19,    32,    32,    23,    30,
692        25,    42,    29,    23,    25,    39,    -1,    33,    29,    24,        89,    27,    32,    24,    33,    -1,    24,    42,    89,    37,
693        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,        23,    32,    22,    89,    21,    33,    39,    32,    38,    -1,
694        42,    29,    23,    25,    -1,    33,    29,    24,    29,    91,        24,    42,    89,    37,    23,    32,    22,    89,    27,    32,
695        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        24,    33,    -1,    20,    39,    24,    24,    23,    36,    89,
696        25,    38,    91,    36,    21,    38,    21,    33,    25,    40,        24,    27,    30,    30,    -1,    37,    38,    36,    23,    19,
697        25,    38,    -1,    33,    29,    24,    29,    91,    29,    34,        31,    89,    21,    33,    39,    32,    38,    -1,    40,    33,
698        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
699        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,        38,    33,    38,    19,    30,    89,    40,    33,    27,    21,
700        40,    91,    36,    35,    38,    40,    -1,    33,    29,    24,        23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,
701        29,    91,    29,    34,    36,    41,    40,    91,    23,    28,        38,    19,    30,    89,    40,    33,    27,    21,    23,    89,
702        21,    34,    34,    25,    32,    -1,    33,    29,    24,    29,        21,    33,    39,    32,    38,    89,    31,    19,    42,    -1,
703        91,    29,    34,    36,    41,    40,    91,    40,    45,    36,        25,    30,    33,    20,    19,    30,    89,    27,    32,    24,
704        25,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        33,    -1,    27,    32,    37,    38,    36,    39,    31,    23,
705        41,    40,    -1,    39,    25,    38,    42,    25,    38,    -1,        32,    38,    -1,    23,    32,    25,    27,    32,    23,    -1,
706        42,    35,    32,    41,    33,    25,    -1,    22,    45,    40,        33,    32,    89,    22,    23,    31,    19,    32,    22,    -1,
707        25,    39,    -1,    36,    25,    38,    23,    25,    34,    40,        33,    32,    89,    22,    23,    31,    19,    32,    22,    89,
708        21,    27,    25,    -1,    38,    25,    39,    25,    40,    -1,        26,    33,    30,    22,    -1,    34,    23,    36,    37,    27,
709        33,    29,    39,    23,    25,    32,    32,    21,    34,    25,        37,    38,    23,    32,    38,    -1,    19,    39,    22,    27,
710        35,    41,    39,    -1,    25,    23,    28,    35,    -1,    37,        33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
711        41,    29,    40,    -1        23,    40,    27,    21,    23,    89,    34,    19,    36,    19,
712          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
713          33,    89,    33,    39,    38,    34,    39,    38,    89,    22,
714          23,    40,    27,    21,    23,    37,    -1,    19,    39,    22,
715          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
716          22,    23,    40,    27,    21,    23,    -1,    19,    39,    22,
717          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
718          22,    36,    27,    40,    23,    36,    89,    34,    19,    36,
719          19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,
720          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
721          22,    36,    27,    40,    23,    36,    -1,    19,    39,    22,
722          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
723          21,    26,    19,    32,    32,    23,    30,    89,    34,    19,
724          36,    19,    31,    23,    38,    23,    36,    -1,    19,    39,
725          22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
726          89,    21,    26,    19,    32,    32,    23,    30,    -1,    19,
727          39,    22,    27,    33,    89,    33,    39,    38,    34,    39,
728          38,    89,    38,    43,    34,    23,    -1,    19,    40,    19,
729          27,    30,    19,    20,    30,    23,    89,    31,    27,    22,
730          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
731          27,    40,    23,    36,    37,    -1,    31,    27,    22,    27,
732          89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
733          27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
734          38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,
735          32,    34,    39,    38,    89,    34,    33,    36,    38,    89,
736          34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
737          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
738          89,    22,    23,    40,    27,    21,    23,    37,    -1,    31,
739          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
740          22,    23,    40,    27,    21,    23,    -1,    31,    27,    22,
741          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
742          27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
743          23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,
744          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
745          -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,
746          36,    39,    31,    23,    32,    38,    37,    -1,    31,    27,
747          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
748          23,    32,    38,    89,    31,    19,    34,    -1,    31,    27,
749          22,    27,    89,    27,    32,    37,    38,    36,    39,    31,
750          23,    32,    38,    89,    31,    19,    34,    37,    -1,    31,
751          27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
752          22,    36,    27,    40,    23,    36,    -1,    31,    27,    22,
753          27,    89,    27,    32,    34,    39,    38,    89,    34,    33,
754          36,    38,    -1,    31,    27,    22,    27,    89,    27,    32,
755          34,    39,    38,    89,    21,    26,    19,    32,    32,    23,
756          30,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
757          39,    38,    89,    38,    43,    34,    23,    -1,    31,    27,
758          22,    27,    89,    27,    32,    34,    39,    38,    -1,    31,
759          27,    22,    27,    89,    21,    33,    32,    38,    36,    33,
760          30,    30,    23,    36,    -1,    24,    42,    89,    37,    23,
761          32,    22,    -1,    24,    42,    89,    37,    23,    32,    22,
762          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
763          39,    31,    23,    32,    38,    89,    22,    27,    36,    23,
764          21,    38,    33,    36,    43,    -1,    22,    20,    89,    27,
765          32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
766          22,    27,    36,    23,    21,    38,    33,    36,    27,    23,
767          37,    -1,    22,    20,    89,    27,    32,    37,    38,    36,
768          39,    31,    23,    32,    38,    37,    -1,    22,    20,    89,
769          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
770          -1,    22,    20,    89,    27,    32,    37,    38,    36,    39,
771          31,    23,    32,    38,    37,    89,    28,    33,    20,    -1,
772          22,    23,    37,    21,    36,    27,    34,    38,    27,    33,
773          32,    -1,    24,    33,    36,    21,    23,    -1,    24,    30,
774          19,    38,    -1,    36,    23,    21,    39,    36,    37,    27,
775          40,    23,    -1,    32,    33,    32,    89,    36,    23,    21,
776          39,    36,    37,    27,    40,    23,    -1,    37,    23,    36,
777          40,    23,    36,    -1,    40,    33,    30,    39,    31,    23,
778          -1,    30,    23,    40,    23,    30,    -1,    31,    39,    38,
779          23,    -1,    37,    33,    30,    33,    -1,    20,    43,    38,
780          23,    37,    -1,    34,    23,    36,    21,    23,    32,    38,
781          19,    25,    23,    -1,    36,    23,    37,    23,    38,    -1,
782          31,    27,    37,    21,    23,    30,    30,    19,    32,    23,
783          33,    39,    37,    -1,    32,    19,    31,    23,    -1,    23,
784          21,    26,    33,    -1,    35,    39,    27,    38,    -1
785  };  };
786    
787  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
788  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
789  {  {
790         0,    90,    90,    91,    94,    95,    96,    97,   100,   101,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
791       102,   103,   104,   107,   108,   109,   110,   111,   112,   113,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
792       114,   115,   116,   117,   118,   119,   120,   123,   124,   125,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
793       126,   127,   128,   131,   132,   133,   134,   135,   136,   139,       131,   132,   135,   136,   137,   138,   139,   140,   141,   142,
794       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       143,   144,   147,   148,   149,   150,   151,   152,   153,   154,
795       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
796       160,   161,   162,   165,   166,   167,   168,   169,   170,   173,       165,   166,   167,   168,   169,   172,   173,   174,   175,   176,
797       174,   175,   176,   179,   180,   183,   184,   187,   188,   189,       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
798       190,   191,   192,   193,   194,   195,   198,   199,   202,   203,       187,   188,   189,   190,   191,   192,   193,   194,   197,   198,
799       206,   207,   208,   209,   210,   211,   214,   215,   218,   221,       199,   200,   203,   206,   207,   208,   209,   210,   211,   214,
800       224,   227,   230,   233,   234,   237,   240,   241,   244,   247,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
801       250,   253,   256,   257,   260,   261,   262,   263,   264,   272,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
802       273,   276,   277,   280,   281,   282,   286,   287,   290,   291,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
803       292,   293,   294,   295,   296,   297,   298,   299,   302,   303,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
804       304,   305,   306,   307,   308,   309,   310,   311,   313,   313,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
805       313,   313,   313,   313,   313,   313,   313,   313,   313,   313,       267,   268,   269,   270,   271,   272,   275,   276,   277,   278,
806       313,   313,   313,   313,   313,   313,   313,   313,   313,   313,       279,   280,   283,   286,   287,   290,   291,   292,   293,   296,
807       313,   313,   313,   313,   314,   314,   314,   314,   314,   314,       297,   300,   301,   304,   305,   306,   309,   310,   313,   314,
808       314,   314,   314,   314,   314,   314,   314,   314,   314,   314,       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
809       314,   314,   314,   314,   314,   314,   314,   314,   314,   314,       325,   326,   329,   330,   333,   334,   337,   338,   341,   342,
810       315,   315,   315,   315,   315,   315,   315,   315,   315,   315,       343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
811       316,   316,   316,   316,   316,   316,   316,   316,   316,   316,       353,   354,   357,   358,   361,   364,   365,   366,   369,   372,
812       316,   316,   316,   317,   317,   317,   317,   317,   317,   317,       375,   378,   381,   382,   385,   388,   391,   394,   397,   400,
813       318,   318,   318,   318,   318,   319,   319,   319,   319,   320,       401,   404,   407,   410,   413,   416,   419,   422,   425,   428,
814       320,   320,   321,   321,   321,   322,   322,   322,   323,   323,       431,   434,   435,   438,   439,   440,   441,   444,   445,   448,
815       323,   324,   324,   324,   325,   325,   325,   326,   326,   326,       449,   452,   453,   454,   462,   463,   466,   467,   470,   471,
816       327,   327,   327,   328,   328,   328,   329,   329,   329,   330,       472,   476,   477,   480,   481,   482,   483,   484,   485,   486,
817       330,   330,   331,   331,   331,   332,   332,   332,   333,   333,       487,   488,   489,   492,   493,   494,   495,   496,   497,   498,
818       333,   334,   334,   334,   335,   335,   335,   336,   336,   336,       499,   500,   501,   503,   503,   503,   503,   503,   503,   503,
819       337,   337,   337,   338,   338,   338,   339,   339,   339,   340,       503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
820       340,   340,   341,   341,   341,   342,   342,   342,   343,   343,       503,   503,   503,   503,   503,   503,   503,   503,   503,   504,
821       343,   344,   344,   344,   345,   345,   345,   346,   346,   346,       504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
822       347,   347,   347,   348,   348,   348,   349,   349,   349,   350,       504,   504,   504,   504,   504,   504,   504,   504,   504,   504,
823       350,   350,   351,   351,   351,   352,   352,   352,   353,   353,       504,   504,   504,   504,   504,   505,   505,   505,   505,   505,
824       353,   354,   354,   354,   355,   355,   355,   356,   356,   356,       505,   505,   505,   505,   505,   506,   506,   506,   506,   506,
825       357,   357,   357,   358,   358,   358,   359,   359,   359,   360,       506,   506,   506,   506,   506,   506,   506,   506,   507,   507,
826       360,   360,   361,   361,   361,   362,   362,   365,   366,   367,       507,   507,   507,   507,   507,   508,   508,   508,   508,   508,
827       368,   371,   372,   378,   381,   384,   387,   390,   393,   396,       509,   509,   509,   509,   510,   510,   510,   511,   511,   511,
828       399,   402,   405,   408,   411,   414,   417,   420,   423,   426,       512,   512,   512,   513,   513,   513,   514,   514,   514,   515,
829       429,   432,   435,   438,   441,   444,   447,   450,   453,   456,       515,   515,   516,   516,   516,   517,   517,   517,   518,   518,
830       459,   462,   465,   468,   471,   474,   477,   480,   483,   486,       518,   519,   519,   519,   520,   520,   520,   521,   521,   521,
831       489,   492,   495,   498,   501,   504,   507,   510,   513,   516,       522,   522,   522,   523,   523,   523,   524,   524,   524,   525,
832       519,   522,   525,   528,   531,   534,   537,   540       525,   525,   526,   526,   526,   527,   527,   527,   528,   528,
833         528,   529,   529,   529,   530,   530,   530,   531,   531,   531,
834         532,   532,   532,   533,   533,   533,   534,   534,   534,   535,
835         535,   535,   536,   536,   536,   537,   537,   537,   538,   538,
836         538,   539,   539,   539,   540,   540,   540,   541,   541,   541,
837         542,   542,   542,   543,   543,   543,   544,   544,   544,   545,
838         545,   545,   546,   546,   546,   547,   547,   547,   548,   548,
839         548,   549,   549,   549,   550,   550,   550,   551,   551,   551,
840         552,   552,   555,   556,   557,   558,   561,   562,   568,   571,
841         574,   577,   580,   583,   586,   589,   592,   595,   598,   601,
842         604,   607,   610,   613,   616,   619,   622,   625,   628,   631,
843         634,   637,   640,   643,   646,   649,   652,   655,   658,   661,
844         664,   667,   670,   673,   676,   679,   682,   685,   688,   691,
845         694,   697,   700,   703,   706,   709,   712,   715,   718,   721,
846         724,   727,   730,   733,   736,   739,   742,   745,   748,   751,
847         754,   757,   760,   763,   766,   769,   772,   775,   778,   781,
848         784,   787,   790,   793,   796,   799,   802,   805,   808,   811,
849         814,   817,   820,   823,   826,   829,   832,   835,   838,   841,
850         844,   847,   850,   853,   856,   859,   862,   865,   868,   871,
851         874,   877
852  };  };
853  #endif  #endif
854    
855  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
856  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
857     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
858  static const char *const yytname[] =  static const char *const yytname[] =
859  {  {
860    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
861    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
862    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
863    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
864    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
865    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
866    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
867    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
868    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
869    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
870    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
871    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
872    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
873    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
874    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
875    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
876    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
877    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
878    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
879    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
880    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
881    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
882    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
883    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
884    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
885    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
886    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
887    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
888    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
889    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
890    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
891    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
892    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
893    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
894    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "get_instruction", "set_instruction", "create_instruction",
895    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "reset_instruction", "clear_instruction", "find_instruction",
896    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "move_instruction", "copy_instruction", "destroy_instruction",
897    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
898    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "buffer_size_type", "list_instruction", "load_instr_args",
899    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "load_engine_args", "instr_load_mode", "device_index",
900    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
901    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
902    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
903    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",    "instrument_index", "fx_send_id", "engine_name", "pathname", "dirname",
904    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",    "filename", "map_name", "entry_name", "fx_send_name", "param_val_list",
905    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",    "param_val", "query_val_list", "query_val", "scan_mode", "boolean",
906    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",    "string", "dotnum", "digits", "digit", "number", "char", "text",
907    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
908    "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER", "VOLUME", "BYTES",    "FIND", "MOVE", "COPY", "CREATE", "DESTROY", "LIST", "LOAD", "ALL",
909    "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
910      "UNSUBSCRIBE", "CHANNEL", "AVAILABLE_ENGINES",
911      "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO",
912      "AUDIO_OUTPUT_DEVICE_COUNT", "AUDIO_OUTPUT_DEVICE_INFO",
913      "MIDI_INPUT_DEVICE_COUNT", "MIDI_INPUT_DEVICE_INFO",
914      "MIDI_INSTRUMENT_MAP_COUNT", "MIDI_INSTRUMENT_MAP_INFO",
915      "MIDI_INSTRUMENT_COUNT", "MIDI_INSTRUMENT_INFO",
916      "DB_INSTRUMENT_DIRECTORY_COUNT", "DB_INSTRUMENT_DIRECTORY_INFO",
917      "DB_INSTRUMENT_COUNT", "DB_INSTRUMENT_INFO", "DB_INSTRUMENTS_JOB_INFO",
918      "CHANNEL_COUNT", "CHANNEL_INFO", "FX_SEND_COUNT", "FX_SEND_INFO",
919      "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "TOTAL_VOICE_COUNT",
920      "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO", "INSTRUMENT", "ENGINE",
921      "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
922      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
923      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
924      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
925      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
926      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
927      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
928      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
929      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
930      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
931      "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "DB_INSTRUMENT_DIRECTORY",
932      "DB_INSTRUMENT_DIRECTORIES", "DB_INSTRUMENTS", "DB_INSTRUMENT",
933      "DB_INSTRUMENTS_JOB", "DESCRIPTION", "FORCE", "FLAT", "RECURSIVE",
934      "NON_RECURSIVE", "SERVER", "VOLUME", "LEVEL", "MUTE", "SOLO", "BYTES",
935      "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
936  };  };
937  #endif  #endif
938    
939  # ifdef YYPRINT  # ifdef YYPRINT
940  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
941     token YYLEX-NUM.  */     token YYLEX-NUM.  */
942  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
943  {  {
944         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
945        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
946        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
947        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
948        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
949       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
950       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
951       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
952        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
953        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
954       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
955       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
956       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
957       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
958       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
959       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
960       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
961       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
962       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
963       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
964       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
965       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
966       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
967  };  };
968  # endif  # endif
969    
970  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
971  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
972  {  {
973         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
974       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
975       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
976       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,       231,   231,   232,   232,   232,   232,   232,   232,   232,   232,
977       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       232,   232,   233,   233,   233,   233,   233,   233,   233,   233,
978         233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
979         233,   233,   233,   233,   233,   234,   234,   234,   234,   234,
980       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
981       234,   234,   234,   235,   235,   235,   235,   235,   235,   236,       234,   234,   234,   234,   234,   234,   234,   234,   235,   235,
982       236,   236,   236,   237,   237,   238,   238,   239,   239,   239,       235,   235,   236,   237,   237,   237,   237,   237,   237,   238,
983       239,   239,   239,   239,   239,   239,   240,   240,   241,   241,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
984       242,   242,   242,   242,   242,   242,   243,   243,   244,   245,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
985       246,   247,   248,   249,   249,   250,   251,   251,   252,   253,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
986       254,   255,   256,   256,   257,   257,   257,   257,   257,   258,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
987       258,   259,   259,   260,   260,   260,   261,   261,   262,   262,       239,   239,   239,   239,   239,   239,   239,   239,   239,   239,
988       262,   262,   262,   262,   262,   262,   262,   262,   263,   263,       239,   239,   239,   239,   239,   239,   240,   240,   240,   240,
989       263,   263,   263,   263,   263,   263,   263,   263,   264,   264,       240,   240,   241,   242,   242,   243,   243,   243,   243,   244,
990       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       244,   245,   245,   246,   246,   246,   247,   247,   248,   248,
991       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
992       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       248,   248,   249,   249,   250,   250,   251,   251,   252,   252,
993       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       252,   252,   252,   252,   252,   252,   252,   252,   252,   252,
994       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       252,   252,   253,   253,   254,   255,   255,   255,   256,   257,
995       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       258,   259,   260,   260,   261,   262,   263,   264,   265,   266,
996       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
997       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       276,   277,   277,   278,   278,   278,   278,   279,   279,   280,
998       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   281,   281,   281,   282,   282,   283,   283,   284,   284,
999       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       284,   285,   285,   286,   286,   286,   286,   286,   286,   286,
1000       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       286,   286,   286,   287,   287,   287,   287,   287,   287,   287,
1001       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       287,   287,   287,   288,   288,   288,   288,   288,   288,   288,
1002       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1003       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1004       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1005       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1006       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1007       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1008       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1009       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1010       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1011       264,   264,   264,   264,   264,   264,   264,   265,   265,   265,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1012       265,   266,   266,   267,   268,   269,   270,   271,   272,   273,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1013       274,   275,   276,   277,   278,   279,   280,   281,   282,   283,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1014       284,   285,   286,   287,   288,   289,   290,   291,   292,   293,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1015       294,   295,   296,   297,   298,   299,   300,   301,   302,   303,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1016       304,   305,   306,   307,   308,   309,   310,   311,   312,   313,       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1017       314,   315,   316,   317,   318,   319,   320,   321       288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1018         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1019         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1020         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1021         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1022         288,   288,   288,   288,   288,   288,   288,   288,   288,   288,
1023         288,   288,   289,   289,   289,   289,   290,   290,   291,   292,
1024         293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
1025         303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1026         313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
1027         323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
1028         333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
1029         343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
1030         353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
1031         363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
1032         373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
1033         383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
1034         393,   394
1035  };  };
1036    
1037  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
1038  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
1039  {  {
1040         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
1041         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
1042         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1043           1,     1,     1,     3,     9,     7,     7,     9,     5,     7,
1044           1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1045           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1046         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1047           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1048           1,     1,     1,     1,     1,     1,     1,     1,    16,    18,
1049          18,    20,     7,     3,     3,     3,     5,     3,     3,     1,
1050         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,
1051         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,
1052         5,     5,     3,     7,     9,     7,     9,     3,     3,     5,         5,     5,     3,     1,     1,     3,     3,     9,     1,     5,
1053         3,     5,     3,     3,     3,     3,     3,     5,     7,     5,         3,     7,     5,     3,     5,     5,     3,     5,     5,     1,
1054         9,     5,     5,     5,     5,     5,     3,     5,     1,     1,         7,     9,     7,     9,     3,     7,     9,    11,     9,     9,
1055         1,     1,     1,     1,     1,     1,     5,     7,     3,     1,         7,     7,     7,     7,     3,     3,     5,     3,     5,     3,
1056           5,     7,     3,     3,     3,     7,     5,     7,     5,     5,
1057           5,     5,     5,     3,     3,     5,     3,     3,     5,     7,
1058           5,     9,     5,     5,     5,     5,     5,     5,     5,     5,
1059           5,     5,     0,     2,     3,     5,     1,     1,     1,     1,
1060           1,     1,     1,     1,     3,     3,     1,     3,     5,     3,
1061           5,     3,     5,     7,     3,     1,     1,     1,     1,     1,
1062           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1063         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1064         1,     1,     1,     3,     1,     3,     3,     1,     1,     1,         1,     1,     3,     1,     1,     1,     1,     3,     5,     1,
1065         1,     1,     2,     3,     4,     4,     1,     2,     1,     1,         1,     1,     1,     1,     1,     1,     1,     2,     3,     4,
1066         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,         4,     1,     2,     1,     1,     1,     1,     1,     1,     1,
1067         2,     2,     2,     2,     2,     2,     2,     2,     1,     1,         1,     1,     1,     1,     2,     2,     2,     2,     2,     2,
1068           2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
1069         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1070         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1071         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 727  static const unsigned char yyr2[] = Line 1087  static const unsigned char yyr2[] =
1087         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1088         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1089         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1090         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,         1,     1,     1,     1,     2,     2,     3,     3,     1,     1,
1091         2,     3,     3,     1,     1,     1,     3,     3,     6,     7,         1,     3,     3,     3,     5,     5,     4,     4,     4,     6,
1092         4,     4,     3,     9,     6,     3,     9,    11,     6,     7,         7,     4,     4,     3,     4,     7,     9,     6,     3,     9,
1093        17,    30,     8,     4,    13,    12,    11,    12,    11,    10,        11,     7,    17,    30,     8,     4,    25,    24,    23,    22,
1094         6,    29,    20,    19,    29,    19,    30,    20,    17,    28,        25,    24,    21,    20,    29,    28,    19,    18,    23,    13,
1095        27,    25,    18,    17,    27,    17,    15,    18,    15,    10,        12,    13,    12,    11,    12,    11,    17,    21,    11,    10,
1096         6,     6,     5,    10,     5,    13,     4,     4         6,     9,    14,    10,    29,    20,    19,    29,    19,    30,
1097          20,    17,    28,    27,    25,    18,    17,    27,    15,    16,
1098          19,    20,    17,    15,    18,    15,    10,    15,     7,     8,
1099          23,    25,    14,    13,    18,    11,     5,     4,     9,    13,
1100           6,     6,     5,     4,     4,     5,    10,     5,    13,     4,
1101           4,     4
1102  };  };
1103    
1104  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1105     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1106     means the default is an error.  */     means the default is an error.  */
1107  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1108  {  {
1109         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1110         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     5,     6,     0,     0,
1111         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1112           0,     0,     0,     0,    30,    31,     0,     0,     0,     0,
1113           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114           0,     0,     1,   509,   510,     2,     0,     9,   361,   356,
1115         355,   353,   354,   263,   264,   265,   266,   267,   268,   269,
1116         270,   271,   272,   283,   284,   285,   286,   287,   288,   289,
1117         290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
1118         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
1119         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
1120         320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
1121         330,   331,   332,   333,   334,   345,   347,   348,   349,   350,
1122         351,   352,   357,   358,   359,   360,   362,   363,   364,   365,
1123         366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
1124         376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
1125         386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
1126         396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
1127         406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
1128         416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
1129         426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
1130         436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
1131         446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
1132         456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
1133         466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
1134         476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
1135         486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
1136         496,   497,   498,   499,   500,   501,   508,    12,   273,    11,
1137         256,    10,     0,     0,     0,     0,     0,     0,     0,     0,
1138           0,     0,     0,     0,     0,     0,     0,     0,     0,   511,
1139           0,     0,     0,     0,     0,   512,     0,     0,   513,     0,
1140           0,     0,     0,   528,     0,     0,     0,     3,   263,   264,
1141         265,   266,   267,   268,   269,   270,   271,   272,   274,   261,
1142         275,   276,   277,   278,   279,   280,   281,   282,   346,   335,
1143         336,   337,   338,   339,   340,   341,   342,   343,   344,   257,
1144           0,     0,     0,    13,    32,    40,     0,     0,     0,     0,
1145           0,     0,     0,     0,     0,     0,     0,    16,     0,    99,
1146         104,   116,   123,   124,     0,   108,     0,     0,     0,     0,
1147           0,   100,     0,   109,     0,     0,     0,     0,     0,   128,
1148           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1149         139,     0,    14,     0,    15,     0,     0,    26,     0,     0,
1150          27,     0,     0,     0,    28,     0,     0,    29,     0,     0,
1151           0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1152           0,     0,     0,     0,     0,    19,   201,   203,   200,   198,
1153         202,   199,     0,   206,     0,     0,     0,     0,    20,     0,
1154           0,    21,     0,     0,     0,     0,     0,     0,     0,    22,
1155           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1156           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1157           0,    23,    42,    43,    44,    45,    53,    54,    55,    56,
1158          57,    58,    59,    60,    61,    46,    50,    51,    52,    49,
1159          48,    47,    63,    64,    62,    24,    65,    66,    67,    68,
1160          76,    77,    78,    79,    80,    81,    82,    83,    84,    69,
1161          73,    74,    75,    72,    71,    70,    86,    87,    85,    25,
1162           0,     0,   518,     0,     0,   516,   521,   522,   517,   611,
1163           0,     0,     0,     0,     0,   262,     0,     0,     0,     0,
1164           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1165           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1166           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1167           0,     0,     0,     0,     0,     0,   192,     0,     0,     0,
1168           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1169           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1170           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1171         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        1,   374,   375,     2,     0,     9,   226,   221,   220,   218,  
      219,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
      137,   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,   210,   212,   213,   214,   215,   216,   217,  
      222,   223,   224,   225,   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,   265,   266,   267,   268,   269,   270,   271,   272,  
      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,  
      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,  
      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,  
      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,  
      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,  
      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,  
      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,  
      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,  
      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,  
      363,   364,   365,   366,   373,    12,   138,    11,   121,    10,  
1172         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1173         0,     0,   376,     0,     0,   377,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,   515,     0,     0,
1174         0,     0,   385,     0,     0,     3,   128,   129,   130,   131,         0,   607,     0,   514,     0,     0,     0,     0,     0,     0,
1175       132,   133,   134,   135,   136,   137,   139,   126,   140,   141,        41,   238,    33,   235,     0,     0,     0,     0,     0,     0,
1176       142,   143,   144,   145,   146,   147,   211,   200,   201,   202,       253,   251,   252,     0,     0,     0,     0,     0,     0,     0,
      203,   204,   205,   206,   207,   208,   209,   122,     0,    13,  
        0,     0,     0,     0,     0,    14,     0,    39,    44,    56,  
        0,    48,     0,     0,     0,     0,     0,    40,     0,    49,  
        0,     0,     0,     0,     0,     0,     0,    15,     0,     0,  
       16,     0,     0,     0,     0,     0,    17,    93,    95,    92,  
       90,    94,    91,     0,    18,     0,     0,     0,     0,     0,  
        0,    20,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,    21,    27,    31,    30,    29,    28,    32,  
       22,    33,    37,    36,    35,    34,    38,   368,    23,   367,  
        0,     0,     0,   380,   381,   427,     0,     0,     0,     0,  
        0,   127,     0,     0,     0,     0,     0,     0,     0,     0,  
1177         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1178           0,     0,     0,     0,     0,     0,     0,     0,   264,   265,
1179         266,   267,   268,   269,   270,   271,   272,     0,   125,   225,
1180         126,     0,     0,     0,     0,   130,   231,     0,   133,     0,
1181         136,     0,     0,     0,   122,     0,     0,     0,     0,     0,
1182           0,   163,   164,     0,     0,     0,     0,     0,     0,     0,
1183           0,     0,     0,     0,     0,     0,     0,   157,   159,     0,
1184         173,   174,     0,     0,     0,     0,     0,   204,   205,   207,
1185         209,     0,   211,     0,     0,   176,     0,   237,     0,   177,
1186           0,   234,    93,    94,    95,     0,    97,     0,    98,     0,
1187           0,     0,     0,     0,     0,   144,     0,     0,     0,     0,
1188         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1189         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1190         0,     0,     0,     0,     0,     0,     0,     0,     0,   370,         0,     0,     0,     0,     0,     0,     0,     0,   155,   229,
1191       369,     0,     0,     0,     0,   424,     0,     0,     0,     0,         0,   261,   230,   154,   255,   254,     0,     0,     0,     0,
1192           0,     0,     0,     0,     0,     0,     0,   162,   519,     0,
1193         527,     0,     0,     0,     0,     0,   503,     0,   502,     0,
1194         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1195         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,    62,     0,     0,    70,    72,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,    73,    74,     0,     0,  
        0,     0,     0,     0,     0,    75,     0,   111,     0,    76,  
        0,   110,    19,   108,     0,     0,     0,     0,     0,     0,  
       67,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,    68,   120,   119,     0,     0,     0,  
        0,     0,    24,   378,     0,   384,   388,     0,     0,     0,  
1196         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1197         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1198           0,     0,     0,     0,   193,     0,     0,     0,     0,     0,
1199         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,   426,     0,     0,  
1200         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1201           0,     0,     0,     0,     0,     0,     0,     0,   610,     0,
1202         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
      379,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,    57,     0,     0,     0,    88,    89,    59,    60,    61,  
       50,     0,    45,     0,     0,     0,    51,     0,    41,     0,  
        0,     0,    69,     0,    71,     0,     0,     0,     0,   371,  
      372,     0,     0,   109,     0,    98,     0,     0,     0,     0,  
1203         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1204         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,   400,     0,   420,   393,     0,  
1205         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1206           0,     0,     0,     0,     0,     0,     0,     0,   520,     0,
1207           0,     0,     0,     0,   506,   505,   504,   507,     0,     0,
1208           0,    38,     0,     0,     0,     0,     0,     0,     0,     0,
1209           0,     0,     0,     0,     0,     0,   117,     0,     0,     0,
1210         196,   197,   119,   120,   121,   110,     0,   105,     0,     0,
1211           0,   111,     0,     0,   523,   129,   101,     0,     0,   134,
1212         132,   135,   137,   138,     0,     0,     0,     0,   226,     0,
1213           0,     0,   168,     0,     0,   166,     0,     0,   169,   170,
1214         171,   172,     0,     0,     0,   156,     0,   158,   160,   228,
1215         175,   233,     0,     0,     0,     0,   208,   210,     0,     0,
1216         232,     0,   214,     0,    96,     0,     0,     0,     0,     0,
1217         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1218         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1219         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1220         0,     0,   386,     0,   389,     0,     0,   389,     0,     0,         0,     0,     0,   258,     0,     0,     0,     0,     0,     0,
        0,    58,    46,     0,    54,     0,    42,    52,     0,     0,  
        0,     0,     0,   218,   219,    86,   112,   114,   118,     0,  
      126,   117,     0,     0,     0,     0,     0,    96,     0,     0,  
        0,     0,     0,     0,    77,    99,     0,   100,    79,   101,  
       81,    82,   102,     0,    83,   103,   104,    84,   105,     0,  
        0,     0,    85,   106,   107,    63,     0,    65,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,   392,     0,     0,  
1221         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1222         597,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1223           0,   560,     0,     0,   600,     0,   601,   535,     0,     0,
1224         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   421,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,   387,     0,     0,     0,   422,     0,  
       47,    55,    53,    43,     0,     0,    87,   115,   116,     0,  
        0,   113,   123,     0,     0,     0,     0,    97,     0,     0,  
        0,     0,    78,   382,     0,    64,    66,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,   124,  
      125,     0,     0,   399,     0,     0,     0,     0,     0,     0,  
1225         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,   383,     0,     0,     0,  
        0,    80,   396,     0,     0,     0,     0,   398,     0,     0,  
1226         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1227         0,     0,     0,   419,     0,   395,     0,   397,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   603,
1228         604,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1229           0,     0,     0,     0,     0,     0,     0,   609,     0,     0,
1230         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1231         0,     0,     0,     0,     0,   394,   425,     0,     0,     0,         0,   259,   260,     0,     0,     0,     0,     0,     0,     0,
1232         0,     0,     0,     0,     0,   423,     0,     0,     0,     0,         0,     0,     0,     0,   529,     0,   531,     0,     0,     0,
1233           0,     0,    39,    35,    36,     0,     0,     0,   531,     0,
1234         588,     0,     0,     0,     0,   118,   106,     0,   114,     0,
1235         102,     0,   112,   131,     0,     0,    92,   227,     0,     0,
1236           0,   247,   249,   250,   167,   165,     0,     0,   588,     0,
1237           0,   353,   354,   194,   241,   243,   246,   245,   244,   161,
1238         240,     0,     0,     0,     0,     0,   212,     0,   596,     0,
1239           0,     0,     0,   178,   218,     0,   219,   180,   220,   182,
1240           0,     0,   189,   190,   191,   183,   221,   184,   222,   223,
1241         185,   224,     0,   186,   187,   188,   140,     0,   142,     0,
1242         145,     0,   602,     0,     0,     0,     0,     0,     0,   151,
1243         150,   236,   153,   152,     0,     0,     0,     0,     0,     0,
1244         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1245         0,     0,     0,     0,     0,     0,   416,     0,     0,     0,         0,     0,     0,     0,     0,   534,     0,   589,     0,     0,
1246         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1247         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1248         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   390,     0,   413,   415,     0,     0,  
      413,     0,     0,     0,     0,     0,     0,     0,     0,   416,  
      418,     0,     0,     0,     0,     0,   412,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,   403,   405,  
        0,     0,     0,     0,   403,     0,     0,     0,     0,     0,  
      408,     0,   407,   402,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,   417,     0,     0,     0,     0,     0,     0,  
1249         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   407,     0,     0,     0,     0,     0,     0,     0,     0,  
1250         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1251         0,     0,     0,   411,     0,     0,     0,     0,     0,     0,         0,     0,   530,     0,     0,     0,     0,     0,    37,    34,
1252         0,     0,     0,     0,     0,     0,     0,   414,     0,   410,         0,     0,     0,     0,     0,     0,   605,     0,   107,   115,
1253         0,     0,     0,   409,     0,     0,   404,     0,   401,   406,       113,   103,   127,     0,     0,     0,     0,   248,     0,     0,
1254       391         0,   195,   242,     0,     0,     0,     0,   213,     0,     0,
1255           0,     0,   179,     0,     0,     0,   141,   143,     0,     0,
1256           0,   148,   149,   146,     0,     0,     0,     0,     0,     0,
1257           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1258           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1259           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1260           0,   559,     0,     0,     0,     0,     0,   524,     0,     0,
1261           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1262           0,     0,     0,     0,     0,     0,     0,     0,     0,   526,
1263           0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
1264           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1265           0,     0,     0,     0,     0,     0,   181,     0,     0,   147,
1266           0,     0,   553,     0,     0,     0,     0,     0,   558,     0,
1267           0,     0,     0,     0,   555,     0,     0,     0,     0,     0,
1268           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1269           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1270           0,     0,   586,     0,     0,     0,     0,     0,     0,   550,
1271           0,     0,   552,     0,     0,     0,   554,     0,     0,     0,
1272           0,     0,     0,     0,     0,   593,     0,     0,     0,     0,
1273           0,     0,     0,     0,     0,     0,   593,     0,     0,     0,
1274           0,     0,     0,     0,     0,     0,     0,   525,     0,     0,
1275         595,     0,   549,     0,   551,     0,     0,   608,     0,   592,
1276           0,     0,     0,     0,     0,     0,     0,     0,   592,     0,
1277           0,     0,     0,     0,     0,   606,     0,     0,     0,     0,
1278           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1279           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1280           0,     0,     0,   599,     0,     0,     0,     0,     0,     0,
1281           0,     0,     0,     0,   583,   578,     0,   578,     0,     0,
1282           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1283           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1284           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1285           0,     0,     0,     0,     0,     0,     0,   579,     0,     0,
1286          88,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1287           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1288           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1289         532,     0,     0,     0,   576,   582,     0,     0,   556,     0,
1290           0,     0,   576,     0,     0,     0,     0,     0,     0,     0,
1291           0,     0,   583,   585,   587,     0,     0,     0,     0,     0,
1292           0,     0,     0,     0,   556,     0,     0,     0,     0,     0,
1293           0,     0,   594,     0,   575,     0,     0,     0,     0,     0,
1294           0,    89,    90,   239,   215,   216,   217,     0,     0,     0,
1295           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1296           0,   547,     0,     0,     0,     0,     0,   580,     0,   566,
1297         568,     0,     0,     0,     0,     0,   580,     0,     0,     0,
1298           0,     0,   566,     0,     0,     0,     0,     0,     0,   571,
1299           0,     0,     0,   546,     0,     0,     0,     0,     0,     0,
1300           0,   570,   565,     0,     0,     0,     0,     0,     0,   581,
1301           0,     0,     0,    91,     0,     0,     0,     0,     0,   584,
1302           0,     0,     0,     0,     0,     0,   543,     0,     0,     0,
1303           0,     0,     0,     0,     0,     0,   557,     0,     0,     0,
1304           0,     0,     0,     0,     0,     0,     0,     0,     0,   542,
1305           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1306           0,     0,     0,     0,     0,   570,     0,     0,     0,     0,
1307           0,   539,     0,     0,   590,     0,     0,     0,     0,     0,
1308           0,     0,     0,     0,     0,     0,     0,     0,   548,     0,
1309         538,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1310           0,     0,     0,     0,     0,   537,     0,     0,   541,     0,
1311           0,     0,     0,   591,     0,   574,     0,     0,     0,     0,
1312         536,     0,     0,   540,     0,     0,     0,     0,     0,   561,
1313           0,     0,     0,     0,     0,     0,     0,     0,     0,   577,
1314           0,   563,     0,   573,     0,     0,     0,     0,     0,   572,
1315           0,     0,     0,   545,     0,   567,     0,     0,   564,   544,
1316         569,   533,     0,   562
1317  };  };
1318    
1319  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1320  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1321  {  {
1322        -1,    12,    13,    14,    15,   393,   400,   335,   381,   357,        -1,    14,    15,    16,    17,   353,   481,   505,   402,   404,
1323       360,   374,   540,   662,   644,   366,   525,   529,   794,   796,       451,   367,   459,   423,   529,   407,   410,   414,   417,   427,
1324       798,   801,   804,   807,   812,   532,   672,   530,   526,   775,       448,   785,   727,  1055,  1009,   435,   765,   769,  1851,  1303,
1325       776,   554,   777,   778,   779,   266,   533,   268,   408,   527,      1305,  1307,  1315,  1317,  1320,   708,  1037,  1266,  1058,   818,
1326       720,    43,    44,    16,    17,    18,    19,    20,    21,   806,       715,  1069,  1060,   770,   662,  1340,   766,   660,  1852,  1289,
1327       528,    22,    23,    24,    25,    26,   329,   337,   338,   339,      1283,  1284,  1042,  1271,   668,   823,  1285,  1286,   820,   278,
1328       487,   394,   395,   396,   397,   398,   375,   340,   383,   341,       716,   280,   847,   663,  1166,    55,    56,    18,    19,    20,
1329       342,   343,   344,   345,   346,   543,   347,   385,   348,   349,        21,    22,    23,    24,    25,    26,    27,    28,    29,  1319,
1330       350,   351,   352,   353,   546,   547,   548,   354,   549,   645,      1313,  1314,   669,    30,    31,    32,    33,   354,   369,   370,
1331       646,    27,   399,   387,    28       371,   684,   482,   483,   484,   485,   486,   487,   488,   489,
1332         490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
1333         500,   501,   372,   373,   503,   449,   374,  1854,  1855,  1856,
1334         461,   375,   376,   377,   378,   379,   380,   788,   381,   463,
1335         382,   383,   384,   385,   386,   387,   355,   389,   390,   391,
1336         792,   793,   794,   808,   392,   393,   356,   395,   357,   397,
1337         398,   812,   777,   670,   671,   672,   399,   400,   809,   796,
1338         797,  1010,  1011,    34,   504,   803,   470,    35
1339  };  };
1340    
1341  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1342     STATE-NUM.  */     STATE-NUM.  */
1343  #define YYPACT_NINF -720  #define YYPACT_NINF -1336
1344  static const short int yypact[] =  static const yytype_int16 yypact[] =
1345  {  {
1346        51,  -720,  -720,    10,    20,    36,    55,     1,    89,   112,        44, -1336, -1336,   110,   317,   138,   158,   188,   106,    81,
1347        61,   131,   142,  -193,  1647,  -720,   -55,   -55,   -55,   -55,       189,   229,    85,   230,   298,   130,  2405, -1336,    48,    48,
1348       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,  -720,   146,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1349       159,   152,   153,   157,   171,   170,    23,    -3,   181,   192,        48,    48,    48,    48,    48, -1336,   296,   311,   302,   325,
1350      -720,  -720,  -720,  -720,     7,  -720,  -720,  -720,  -720,  -720,       336,   354,   360,   369,   412,   447,   400,   465,   125,   496,
1351      -720,  -720,   295,   295,   295,   295,   295,   295,   295,   295,       509,   195, -1336, -1336, -1336, -1336,   314, -1336, -1336, -1336,
1352       295,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336,   495,   495,   495,   495,   495,   495,
1353      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,       495,   495,   495, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1354      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1355      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1356      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1357      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1358      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1359      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1360      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1361      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1362      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1363      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1364      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1365      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1366      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1367      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1368      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1369      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1370      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1371      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1372      -720,  -720,  -720,  -720,  -720,  2754,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1373       210,    74,    73,    73,   165,     6,   210,   164,    54,    54,     -1336, -1336, -1336, -1336, -1336, -1336, -1336,  3291, -1336, -1336,
1374      1869,   210,  -720,   213,   195,  -720,   199,   216,   201,   208,     -1336, -1336,   183,   136,   516,   516,   529,   539,   540,   540,
1375       219,   220,  -720,   207,   206,  -720,  -720,  -720,  -720,  -720,       214,   214,   285,   370,   257,   242,    82,    82,   542, -1336,
1376      -720,  -720,  -720,  -720,  -720,  -720,   295,  -720,   295,   295,       545,   523,   546,   530,   547, -1336,   532,   549, -1336,   544,
1377       295,   295,   295,   295,   295,   295,  -720,  -720,  -720,  -720,       535,   541,   552, -1336,   543,   553,   537, -1336, -1336, -1336,
1378      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,   221,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,   495, -1336,
1379        91,   222,   214,   223,   228,  -720,   -55,  -720,  -720,  -720,       495,   495,   495,   495,   495,   495,   495,   495, -1336, -1336,
1380       -55,  -720,   -55,   -55,   -55,   -55,   -55,  -720,   -55,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1381       -55,   -55,   -55,   -55,   -55,   215,   226,  -720,   -55,   -55,       551,   558,   554, -1336, -1336,    48,    48,    48,   403,   556,
1382      -720,   -55,   -55,    93,   229,   230,  -720,  -720,  -720,  -720,       559,   561,   548,   557,   562,   565,   568, -1336,    48, -1336,
1383      -720,  -720,  -720,   227,  -720,   -55,   -55,   -55,   224,   237,     -1336, -1336, -1336, -1336,    48, -1336,    48,    48,    48,    48,
1384       233,  -720,   -55,   -55,   -55,   -55,   -55,   -55,   225,   235,        48, -1336,    48, -1336,    48,    48,    48,    48,    48, -1336,
1385       239,   231,   234,  -720,  -720,  -720,  -720,  -720,  -720,  -720,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1386      -720,  -720,  -720,  -720,  -720,  -720,  -720,  2754,  1869,  -720,     -1336,   564, -1336,    48, -1336,    48,   567, -1336,    48,   575,
1387       -55,   232,   236,  -720,  -720,  -720,   247,   250,   241,   252,     -1336,    48,    48,   583, -1336,    48,    48, -1336,    48,    48,
1388       248,  -720,   270,   249,   271,   272,   268,   273,   256,    62,       569,   570,   582, -1336,    48,    48,    48, -1336,    48,    48,
1389       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,        48,   417,   584,   571,   589, -1336, -1336, -1336, -1336, -1336,
1390       287,   287,   293,   294,  2754,  2754,   339,   339,   296,   298,     -1336, -1336,    48, -1336,    48,    48,    48,   579, -1336,    48,
1391       297,   283,    21,  2754,   339,   300,   306,   301,    18,   339,        48, -1336,    48,    48,    48,    48,   578,   597,   595, -1336,
1392       339,   339,   339,  2975,   310,   305,   303,   309,   315,  2754,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1393      -720,   339,   318,   325,   336,  -720,   326,   327,   328,   334,        48,   585,   586,   601,   603,   590,   598,   604,   596,   600,
1394       346,   347,   343,   349,   351,   340,   350,   -55,   -55,   -55,       602, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1395       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1396       -55,   -55,  -720,   352,   354,  1869,  1869,   295,   295,   295,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1397       295,   295,   295,   295,   295,   295,  -720,  -720,   356,   353,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1398       357,   348,  1869,  1869,   355,  -720,   -55,  -720,   -55,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1399       -55,  2754,  -720,  -720,   360,   358,   362,   359,   363,   361,        48,   605, -1336,   608,   611, -1336, -1336, -1336, -1336, -1336,
1400      -720,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,       610,   616,   619,   621,   636, -1336,   638,   576,   637,   318,
1401       -55,   -55,   -55,   -55,  -720,  2754,  -720,   368,   364,   376,       318,     7,   642,   639,   647,   593,   667,   613,   645,   657,
1402       377,   378,  -720,  -720,   365,  -720,  -720,   374,   381,   371,       656,   669,    72,   673,   673,   673,   673,   673,   673,   673,
1403       372,   379,   375,   380,   317,   387,   389,   339,    37,   339,       673,   673,   673,   406,   673,   673,   673,   673,   506,   673,
1404       339,  2754,   339,  2754,  2754,   339,   339,   339,   339,  2754,        31,    31,   673,   673,   673,   682,   676,   506,   687,   406,
1405      2754,   339,   382,   322,  2754,  2754,   383,   385,   329,   384,       622,    12,    12,   625,   318,   318,   318,   318,   688,   626,
1406      1203,  1425,   390,   339,   108,   339,   386,  -720,   332,   392,       694,  3291,  3291,   506,   506,   506,   506,   695,   699,   634,
1407       401,   394,   339,   339,   339,   339,   339,   339,   339,   339,       706,   406,   506,    31,    31,   692,    14,  3291,   506,   406,
1408       339,  2754,   339,  2754,   339,   402,   395,   403,   409,   406,        17,   318,   708,   709,   712,   144,   506,   506,   506,   506,
1409      -720,   412,   397,   411,   366,   416,   413,   414,   415,   404,       707,   147,   228,   228,   461,  3510,   716,   717,   721,   653,
1410       405,  -720,   396,   418,   -55,  -720,  -720,  -720,  -720,  -720,       654,   711,   101,   710,   713,   722,   506, -1336,   730,   723,
1411      -720,  1869,  2754,   -55,   -55,   -55,  -720,  1869,  2754,   -55,       732, -1336,   724, -1336,   720,   726,   735,   736,  2627,  2627,
1412       367,   421,   -55,  3196,   -55,   369,   426,   423,   420,  -720,     -1336, -1336, -1336, -1336,   729,   731,   742,    48,    48,    48,
1413      -720,   373,   -55,  -720,   -55,  -720,   398,   424,   425,   427,     -1336, -1336, -1336,   739,   740,   737,   741,   761,   752,   763,
1414       422,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,       755,   781,   765,   773,    48,    48,    48,    48,    48,    48,
1415      3417,   -55,  3638,   -55,   417,   434,   430,   432,   399,   441,        48,    48,    48,    48,    48,    48,    48,    48,   495,   495,
1416       438,   436,   435,   447,   439,  -720,   457,  -720,  -720,   433,       495,   495,   495,   495,   495,   495,   495,   776, -1336, -1336,
1417       456,   339,  2754,   339,   339,   339,  2754,   339,   437,   461,     -1336,    48,    48,    48,    48, -1336, -1336,    48, -1336,    48,
1418      2754,  2091,   471,   464,   473,   475,   478,   339,   339,   477,     -1336,    48,    48,    48, -1336,   780,   775,   506,    48,    48,
1419       480,   481,   450,   494,   339,   339,  2754,   339,   339,   267,       782, -1336, -1336,   783,   778,    48,    48,    48,    48,   785,
1420      2754,   339,   198,  2091,  2754,  2091,  2754,   451,   511,   512,        48,    48,    48,    48,   786,   777,   788,  2627,  2627,    48,
1421       454,   523,  -720,   525,  -720,   507,   517,   513,   370,   526,     -1336, -1336,    48,   789,   787,   784,   790, -1336, -1336, -1336,
1422       527,  -720,  1869,   -55,  -720,   -55,  1869,  -720,   514,   518,     -1336,    48, -1336,    48,   791, -1336,    48, -1336,    48, -1336,
1423      3859,  2754,  2754,   295,   295,   548,  -720,  2754,  -720,   109,        48,  3291, -1336, -1336, -1336,   792, -1336,    48, -1336,   793,
1424        12,  -720,   515,   513,   521,   533,   524,  -720,   -55,   519,       794,   795,   779,   143,   797, -1336,    48,    48,    48,    48,
1425       528,   470,   534,   537,  -720,  -720,   -55,  -720,  -720,  2754,        48,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1426      -720,  -720,  -720,   535,  -720,  -720,  -720,  -720,  2754,   -55,        48,    48,   804,    48,   798,   801,   799,    48,    48,    48,
1427       295,   295,  -720,  -720,  -720,   548,  4080,   548,  4301,   539,        48,   805,    48,    48,    48,    48,   495,   495, -1336, -1336,
1428       479,   545,   546,   540,   551,   538,   554,  -720,   541,   542,       313,    32, -1336, -1336,  3291, -1336,   811,   808,   807,   813,
1429       555,  2754,  2754,  2754,  2754,   543,   544,  2091,  2312,  2533,       806,   821,   815,   823,   822,   827,   826, -1336, -1336,   816,
1430       144,   163,  2091,   295,   550,   552,   557,   560,   339,   556,     -1336,   833,   828,   829,   830,   759,  3291,  1961, -1336,  2183,
1431       558,   562,   561,  -720,   339,   568,   339,  2091,  2091,   563,       844,   832,   845,   318,   318,    54,   834,   835,   836,   837,
1432        56,   567,   569,   564,  -720,   566,   495,   571,  -720,   572,       838,   848,   800,   849,   843,   847,   850,   506,   117,   506,
1433       -55,  2754,  2754,   -55,   573,   574,   548,  -720,  -720,   295,       506,  3291,   506,  3291,  3291,   506,   506,   506,   506,  3291,
1434       295,  -720,   295,   576,   575,   577,   582,  -720,   580,   578,       506,   846,   506,  3291,   506,   506,   318,   318,   318,   318,
1435       579,   583,  -720,  -720,   -55,   548,   548,   581,   586,   588,       506,   802,   851,    48, -1336,   506,   809,   852,   863,  3291,
1436       598,   584,   590,   585,   169,   516,   587,   589,   559,   295,       318,  3291,   318,   864,   318,   318,   318,   318,   842,   856,
1437       295,   591,   565,  -720,   596,   592,   593,   594,   595,   267,       810,  3291,  3291,   506,   506,   870,   865,   857,   817,   318,
1438       597,   602,   609,   604,   603,   605,   607,   608,   614,   622,       318,   868,   506,   318,   506,   871,   318,   875, -1336,   820,
1439        76,   631,   613,   630,   615,   633,  -720,   618,    95,   624,       859,   888,   873,   882,   506,   506,   506,   506,   506,   506,
1440       623,  -720,  -720,   628,   629,   625,   627,  -720,   599,   641,       506,   506,   506,   506,   506,   506,  3291,   506,  3291,   506,
1441       650,   655,     0,   646,   656,   600,   657,   601,   660,   606,       883,   506,   891,   876,   893,   506,   506,   506,   506,   880,
1442       661,   652,   647,   611,   649,  -720,   654,  -720,   117,   665,       318,   318,   318,   318,   449,   485,   495,   885,   896,   889,
1443       666,   667,   662,   669,   668,   680,   684,   670,   685,   671,       890,   897,   906,   839,   903,   908,   900,   910, -1336,   915,
1444       130,   673,   672,   676,    17,  -720,  -720,   689,    78,   683,       901,   913,   902,   911, -1336,  3291, -1336, -1336,   904,   858,
1445       692,   639,   690,   694,   697,  -720,   709,   710,   713,   712,       909,    48,    48,    48,    48,   860,   921,   918,   916,   927,
1446       714,   718,   715,   705,   663,   719,   711,   703,   730,   720,       920,   928,   922,   867,   931,   929, -1336,   917,   940,    48,
1447       726,   674,   731,   728,   737,   736,   675,   729,   745,   732,     -1336, -1336, -1336, -1336, -1336, -1336,  2627,  3291,    48,    48,
1448       747,   751,   734,   750,   675,    58,   757,   741,   744,   748,        48, -1336,  2627,    48, -1336, -1336,  3291,    48,    48, -1336,
1449       752,   746,   754,   753,   756,   761,   749,   755,   764,   769,     -1336, -1336, -1336, -1336,   937,   877,   506,    48, -1336,   938,
1450       766,   772,   765,   774,   773,   776,   760,   775,   767,   781,       930,   881,    48,  3729,    48,    48,    48,   934, -1336, -1336,
1451       777,   785,   787,   778,  -720,   779,   771,   722,   793,   794,     -1336, -1336,   884,   942,   952,    48,  3948,    48,    48, -1336,
1452      -720,   795,   771,   782,   797,   733,   804,   790,   800,  -720,     -1336, -1336,   892,   957,   950,   956, -1336, -1336,   945,    48,
1453      -720,   810,   816,   791,   805,   808,  -720,   814,   813,   821,     -1336,    48, -1336,   964, -1336,   898,   959,   961,   962,   967,
1454       827,   828,   830,   820,   823,   833,   834,   829,   824,   780,       958,    48,    48,    48,    48,    48,    48,    48,    48,    48,
1455       826,   825,   839,   845,  -720,   824,   835,   783,   847,   841,        48,    48,    48,  4167,    48,  4386,    48,   969,    48,   968,
1456      -720,   844,   786,  -720,   837,   838,   789,   840,   849,   786,       971,   970,    48,    48,    48,    48,   975,    48,    48,    48,
1457       848,   851,   858,  -720,   850,   864,   852,   863,   872,   869,        48,   495,   495,   495,   912,   963,   982,   972,   966,   978,
1458       875,   880,   870,   885,   873,   819,   874,   883,   867,   879,       983,   984,   985,   924,   926,   994,   991,   989,   986,   988,
1459       886,  -720,   882,   892,   894,   893,   896,   898,   903,   900,     -1336,   279,   987,   506,   318,   318,   318,   992,  1002,   996,
1460       905,   895,   889,   887,   890,   901,   899,   891,   907,   908,       993, -1336,  1005,   997, -1336,   995, -1336, -1336,   998,  1001,
1461       909,   911,   916,  -720,   917,   918,   919,   906,   910,   912,       506,  3291,   506,   506,   506,  3291,   506,   506,   506,  1000,
1462       913,   914,   915,   920,   922,   923,   924,  -720,   930,  -720,      1003,    48,   506,  1006,  1007,  1004,  3291,  2849,  3291,  3291,
1463       931,   921,   926,  -720,   927,   928,  -720,   929,  -720,  -720,      1009,  1010,  1011,  1012,  3291,  3070,   318,  1015,  1019,  1028,
1464      -720      1020,  1023,   506,   506,  1033,  1018,  1025,  1026,   974, -1336,
1465       -1336,   506,   506,  3291,   506,   132,   506,   406,  3291,   506,
1466         461,  3510,  3510,  3070,  3291,  3070,  3291, -1336,   318,  1027,
1467        1031,   990,   506,   506,   506,   506,  1022,   318,   318,   318,
1468         318,   495,   495,  1044,  1013,  1034,  1043,  1061,  1014,  1052,
1469        1055,  1016,  1050,  1074, -1336,  1078, -1336,  1063,  1064,  1067,
1470        1081,  1069, -1336, -1336,    48,    48,  1068,  1079,  1073,  1075,
1471        1077,    59,  1082,  1096,  1101, -1336,  2627,    48, -1336,    48,
1472        2627,    48, -1336, -1336,  1086,   506, -1336, -1336,  1088,  1090,
1473        4605, -1336,  3291, -1336,    48,    48,  1093,  1091, -1336,  1097,
1474        4824,   495,   495,  1127, -1336,  3291, -1336, -1336, -1336, -1336,
1475       -1336,  1094,  1073,  1077,   175,  1112, -1336,    48, -1336,  1099,
1476         207,  1053,  1114, -1336, -1336,    48, -1336, -1336,  3291, -1336,
1477        1116,  1111, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1478       -1336,  3291,    48, -1336, -1336, -1336,  1127,  5043,  1127,  5262,
1479       -1336,  1058, -1336,  1128,    48,    48,    48,    48,  1121, -1336,
1480       -1336, -1336, -1336, -1336,  1117,  1126,  1062,  1119,  1070,  1130,
1481         237,  1134,  1137,  1132,  1136,  1138,  1131,  1122,  1149,  1152,
1482        1147,   506,   318,  1141,  1153, -1336,  1142, -1336,  1143,  1145,
1483        1148,  1150,  1161,  3291,  3291,  3291,  3291,   506,  1151,    48,
1484        1154,  1155,  2849,  1156,  1158,  1159,  3070,  3070,  1162,  1160,
1485        1165,  1176,   506,  1178,  1175,  1157,  1185,   506,  1164,  1188,
1486         506,  3070,  3070,  1193,  1194,   506,   506,   461,   318,  1163,
1487        1183,  1203,   290,  1192,   367,  1200,  1195,  1197,  1201,  1204,
1488        1209,  1199, -1336,  1208,  1210,  1167,  1211,  1207, -1336, -1336,
1489        1214,  1102,  1218,  1213,  1216,  1232, -1336,  1222,    48,  3291,
1490        3291,    48, -1336,  1219,  3291,  1220,  1226, -1336,  1227,  1225,
1491        1223,  1127, -1336,  1228,  1230,  1224,  1231, -1336,  1236,  1233,
1492        1234,   491, -1336,  1253,  1251,    48,  1127,  1127,  1237,  1245,
1493          48, -1336, -1336, -1336,  1241,  1246,  1252,  1250,  1254,  1256,
1494        1255,  1258,  1260,  1247,  1257,  1268,  1259,  1271,  1262,  1273,
1495        1261,  1267,  1263,  1278,  1264,   236,  1279,  1215,  1266,  1284,
1496        1270,  1272,    48,  1274,  1286,  1287,  1275,  1235,  1276,  1239,
1497        1277, -1336,  1283,  1240,  1285,  1291,  1292, -1336,   406,  1288,
1498        1294,   506,  1298,  1295,  1282,  1296,  1309,  1313,  1299,  1315,
1499        1304,  1265,  1301,  1308,  1310,  1320,  1306,  1314,  1316, -1336,
1500        1311, -1336,  1307,  1312,  1317,  1323,  1321,   149,  1325,  1269,
1501        1340,  1329,   318,  1330,  1332,  1333,  1324,  1345,  1331,  1348,
1502        1341,  1337,   191,  1342,  1339,  1349, -1336,  1344,  1346, -1336,
1503        1347,  1343, -1336,  1351,  1352,  1354,  1356,  1358, -1336,  1362,
1504        1363,  1350,  1357,  1319, -1336,  1361,  1377,  1378,  1334,  1384,
1505        1388,  1387,  1376,   174,  1391,  1398,  1405,  1402,  1406,    48,
1506        1409,  1390,  1397,  1353,  1413,  1355,  1414,  1415,  1359,  1416,
1507        1407,  1404,  1364,  1403,  1408,  1412,  1418,  1366,  1419, -1336,
1508        1421,  1422, -1336,  1423,  1428,  1424, -1336,  1431,    36,  1430,
1509        1426,   522,  1436,  1437,  1453,    39,  1441,  1455,  1447,  1452,
1510        1461,  1462,  1463,   506,  1464,    40,  1410,  1476,  1460,  1479,
1511        1465,  1470,   524,  1466,  1467,  1469,   131, -1336,  1471,  1474,
1512       -1336,  1486, -1336,    45, -1336,  1472,  1478, -1336,  1480, -1336,
1513        1489,  1477,  1493,  1491,   179,  1485,  1487,  1432,  1433,  1498,
1514        1496,  1484,  1488,  1492,  1490, -1336,  1494,    48,  1495,  1503,
1515        1511,  1509,  1514,  1513,  1504,  1515,  1520,  1517,  1507,  1457,
1516        1521,  1516,  1505,  1468,  1522,  1527,  1473,   278,  1524,  1518,
1517        1519,  1528,  1481, -1336,  1541,  1523,  1534,  1482,  1542,  1540,
1518        1544,  1546,  1547,  1551,  1497,    47,  1537, -1336,   461,  1538,
1519        1549,  1539,  1556,  1545,  1557,    51,  1561,  1548,  1560,  1497,
1520          73,  1563,  1553,  1550,  1566,  1567,  1552,  1565,  1558,  1568,
1521        1562,  1575,  1508,  1569,  1564,  1571,  1572,  1576,  1559,  1573,
1522        1570,  1577,  1578,  1574,  1582,  1579,  1580, -1336,  1581,  1583,
1523          48,  1584,  1586,  1585,  1590,  1595,  1588,  1591,  1597,  1599,
1524        1600,  1555,  1593,  1589,  1605,  1594,  1602,  1598,  1596,  1601,
1525        1608,  1610,   281,  1603,  1611,  1617,  1606,  1618,  1619,  1604,
1526       -1336,  1612,  1620,  1621,  1613,  1587,  1626,  1628,  1592,    25,
1527        1625,  1630, -1336,  1631,  1613,  1635,  1623,  1636,  1607,  1637,
1528        1615,  1627, -1336, -1336, -1336,  1639,  1638,  1629,  1640,  1632,
1529        1609,  1633,  1641,  1643, -1336,  1646,  1634,  1649,  1652,  1642,
1530        1644,  1650, -1336,  1648, -1336,  1645,  1647,  1656,  1660,  1662,
1531        1654,    48, -1336, -1336, -1336, -1336, -1336,  1659,  1669,  1672,
1532        1663,  1676,  1677,  1667,  1670,  1680,  1681,  1682,  1622,  1668,
1533        1686, -1336,   380,  1671,  1684,  1675,  1688, -1336,  1683,  1678,
1534        1651,  1685,  1690,  1691,  1695,  1699,  1687,  1703,  1653,  1694,
1535         318,  1696, -1336,  1678,  1687,  1702,  1655,  1714,  1704, -1336,
1536        1705,  1657,  1710, -1336,  1701,  1712,  1715,  1716,  1717,  1664,
1537        1719,  1666, -1336,  1723,  1720,  1673,  1725,  1713,  1729, -1336,
1538        1721,  1739,  1727, -1336,  1732,  1666,  1733,  1730,  1745, -1336,
1539         384,  1737,  1738,  1731,  1748,  1735, -1336,   414,  1740,  1741,
1540        1755,  1742,  1756,  1746,  1758,  1760, -1336,  1761,  1754,  1749,
1541        1767,  1768,  1759,  1757,  1762,  1764,  1763,  1765,  1769, -1336,
1542        1770,  1772,  1750,  1776,  1771,  1707,  1773,    83,  1774,  1753,
1543        1775,  1777,  1781,  1779,  1780, -1336,  1778,  1786,  1783,  1782,
1544        1784, -1336,  1785,  1788, -1336,  1787,  1794,  1796,  1792,  1797,
1545        1798,  1803,  1808,  1790,  1810,  1807,  1799,  1800, -1336,  1743,
1546       -1336,  1802,  1804,  1817,  1809,  1805,  1624,  1801,  1806,  1811,
1547        1813,  1816,  1812,  1814,  1815, -1336,   505,  1818, -1336,  1819,
1548        1823,  1821,  1826, -1336,  1828, -1336,  1820,  1822,  1832,  1834,
1549       -1336,  1825,  1827, -1336,  1837,  1824,  1829,  1830,  1831,  1789,
1550        1833,  1835,  1836,  1838,  1839,  1841,  1842,  1845,  1844, -1336,
1551        1848, -1336,  1847, -1336,  1843,  1849,  1853,  1850,  1851, -1336,
1552        1852,  1854,  1846, -1336,  1855, -1336,  1859,  1858, -1336, -1336,
1553       -1336, -1336,  1861, -1336
1554  };  };
1555    
1556  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1557  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1558  {  {
1559      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1560      -720,  -720,  -720,  -580,  -720,  -720,  -720,  -720,  -632,    80,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,
1561      -720,   101,    26,  -720,  -720,  -469,   242,   388,   345,  -719,     -1336, -1336, -1336,  -883, -1336, -1336, -1336, -1336, -1336,  -848,
1562       116,  -720,   314,   238,    11,   -10,   -14,   333,  -355,  -720,     -1335, -1336,   401,   343, -1336,  -547,  -988, -1205,   458, -1180,
1563       -13,   932,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,       534, -1112, -1097,  -852,  -300,   677,  -922,   681,     8,   492,
1564      -720,  -720,  -720,  -720,  -720,  -720,   -76,   687,   688,   693,     -1118,   512,  -879,   520,  1048,  -652,   519,  -604,   -15,   152,
1565      -211,   695,   696,  -263,  -257,  -256,  -720,   698,  -720,   704,        10,   471,  1248,  -274,   -16,  1856, -1336, -1336, -1336, -1336,
1566      -254,  -720,  -720,   700,   529,  -720,   707,  -720,   702,   708,     -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336, -1336,  -484,
1567      -252,  -720,  -720,   530,  -720,  -720,  -720,  -720,  -720,  -720,     -1336, -1336,  -495, -1336, -1336, -1336, -1336,   -52,  1614,  1616,
1568      -720,  -720,   716,  -720,  -720      1658,  -376,  1661,  1665,  1887,  2108,  2330,  2331,  2552,  2553,
1569        5187,  5188,  5189,  5190,  5191,  5192,  5193,  5194,  5195,  -269,
1570        -261,  -259,   255, -1336,  5196, -1336,  5201, -1336, -1336, -1336,
1571       -1336,  5203,  -266, -1336, -1336,  5202,   -98, -1336,  5204, -1336,
1572        5205,  5206,  -258, -1336,   272,   244,  -260,  5207, -1336,  1280,
1573       -1336, -1336, -1336, -1336,   247,  5209,    49,   140,    62,    96,
1574       -1336,  1281, -1336, -1336,  -483,   -33, -1336,  -268, -1336, -1336,
1575       -1336, -1336, -1336, -1336,  5208,  -346, -1336, -1336
1576  };  };
1577    
1578  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1579     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1580     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1581     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1582  #define YYTABLE_NINF -139  #define YYTABLE_NINF -274
1583  static const short int yytable[] =  static const yytype_int16 yytable[] =
1584  {  {
1585       267,   269,   562,   270,   271,   272,   273,   274,   275,   276,       281,  1071,   282,   283,   284,   285,   286,   287,   288,   289,
1586       277,   278,   279,   280,   281,   664,   403,  -138,   358,   361,       290,   291,   292,   293,   294,   295,   296,   297,   298,  1014,
1587       359,   362,   404,   405,   815,   972,   817,   522,   523,   291,      1323,  1242,  1045,   388,   424,   428,   279,   469,   523,  1057,
1588        33,   332,    41,    42,    29,   373,    34,   292,   973,   537,       819,   664,   425,   429,   453,   465,   524,  -273,   525,   665,
1589      1005,   956,   307,   307,   307,   307,   307,   307,   307,   307,       729,   775,   731,   666,   734,     1,   726,     2,  1161,   328,
1590       307,   538,     1,  1006,     2,   524,   289,  1007,    30,   642,       330,   331,   332,   333,   334,   335,   336,   337,  1849,  1850,
1591       539,    31,   290,   306,   308,   309,   310,   311,   312,   313,      1379,  1263,  1462,     3,   757,     4,     5,   666,     6,     7,
1592       314,   315,     3,   643,     4,     5,   388,   389,     6,   898,      1470,  1297,   773,  1669,     8,     9,  1678,  1669,   664,    10,
1593        32,  1045,   996,     7,   388,   899,    37,   390,     8,     9,        11,    12,  1706,    13,  1767,  1326,   734,  1328,  1767,   710,
1594        10,   486,    11,   391,   355,   330,   392,   331,  1046,   332,       666,   728,   472,  1368,  1780,  1690,  1369,   719,   721,   683,
1595       952,   391,    38,  1009,   392,   800,   356,   333,   641,   809,        45,   471,   472,   473,   474,   732,   475,   476,    49,   478,
1596       647,   648,   953,   334,   522,   523,  1010,   843,   876,   960,      1989,  1781,   480,   477,    46,  1334,  1335,  1336,  1337,   478,
1597       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       479,   768,   480,   832,    50,  1670,  1984,   758,  1679,  1689,
1598        35,   961,   423,   424,   448,   424,   675,    36,   895,   896,       761,   763,    36,    43,  1707,   774,  1768,  1007,   833,    44,
1599       987,   988,    40,   681,   682,   683,   684,   685,   686,   687,      1776,   318,   698,   699,   700,   701,   702,   703,   704,   705,
1600       688,   689,   879,  1000,  1001,   296,   297,   298,   299,   300,       706,  1008,  1700,  1604,  1310,   358,   311,   359,   360,   361,
1601       301,   302,   303,   304,   305,    39,   488,   600,   601,   264,       362,    40,   312,   782,  1311,  1701,   804,   363,  1261,  1702,
1602       282,   880,   489,   490,   296,   297,   298,   299,   300,   301,       931,  1593,  1442,   364,   365,   783,   366,   805,   806,   802,
1603       302,   303,   304,   305,   283,   378,   363,   328,   364,   379,       893,   784,   932,  1594,   366,    41,  1569,   688,   689,   690,
1604       927,   284,   287,   285,   928,   336,   286,   380,   365,   288,       691,   692,   693,   694,   695,   696,   697,  1636,   711,   712,
1605       377,   382,   929,   293,   541,   410,   544,   810,   811,   296,       713,   714,  1715,   717,   350,   351,   722,   723,   724,  1389,
1606       507,   508,   509,   510,   511,   512,   513,   514,   515,   491,      1637,    42,  1390,  1609,   352,  1716,   329,   329,   329,   329,
1607       492,   493,   494,   495,   496,   497,   498,   499,   500,   501,       329,   329,   329,   329,   329,  1610,   315,  1472,    47,   658,
1608       502,   294,    41,   328,   411,   412,  -138,  -138,  -138,   413,       659,   368,   316,   420,   658,   659,   658,   659,   421,   658,
1609       414,   415,   761,   416,   417,   418,   419,   420,   426,   422,       659,  1394,   452,   460,  1357,   422,   530,   658,   659,  1428,
1610       425,   870,   427,   428,   873,   443,   442,   449,   787,   450,       811,   667,    48,   658,   659,  1543,  -273,  -273,  -273,  1544,
1611       456,   451,   457,   465,   476,   455,   464,   409,   466,   468,       802,   456,    51,   350,   413,   457,   421,  1545,  1451,    -4,
1612       478,   467,   472,   480,   473,   477,    -4,    -4,   296,   507,        -4,  1416,   276,   458,  1417,   661,   658,   659,   350,   413,
1613       508,   509,   510,   511,   512,   513,   514,   515,   803,   474,       718,   720,   366,  1466,  1467,   810,   813,   815,   352,  1274,
1614       475,   479,   481,   482,   485,   483,   421,   484,   421,   421,      1275,   735,   737,   685,   740,   741,   742,   743,    52,  1748,
1615       421,   421,   421,   421,   421,   421,   296,   297,   298,   299,      1749,   686,  1831,   687,   431,  1750,   432,   409,  1832,   433,
1616       300,   301,   302,   303,   304,   305,   486,   503,   504,   519,      1239,  1477,  1833,   760,   762,  1240,   434,  1478,   299,   966,
1617       518,   520,   521,   429,   534,   536,   558,   430,   265,   431,       776,   778,   318,   319,   320,   321,   322,   323,   324,   325,
1618       432,   433,   434,   435,   535,   436,   557,   437,   438,   439,       326,   327,   394,  1023,   300,  1025,   301,   415,   418,   549,
1619       440,   441,   559,   563,   561,   444,   445,   560,   446,   447,       550,   551,   767,   454,   467,   396,  1309,    37,   302,   412,
1620       296,   507,   508,   509,   510,   511,   512,   513,   514,   515,        38,  1322,   562,    39,   446,    53,    54,   795,   563,   786,
1621       564,   565,   452,   453,   454,   567,   566,   568,   569,   458,       564,   565,   566,   567,   568,   790,   569,   789,   570,   571,
1622       459,   460,   461,   462,   463,   570,   571,   572,   573,   887,       572,   573,   574,   303,   575,   576,   577,   578,   579,   580,
1623       574,   592,   575,   593,   576,   596,   598,   597,   599,   606,       581,   582,   583,   584,   416,   419,   304,   586,  1480,   587,
1624       602,   608,   610,   607,   625,   470,   611,   471,   626,   627,       455,   468,   589,   361,  1481,   591,   592,   447,   305,   594,
1625       609,   629,   628,   631,   632,   633,   828,   634,   638,   636,       595,  1905,   596,   597,  1098,  1953,   306,  1906,   601,   602,
1626       630,   635,   639,   661,   637,   640,   678,   660,   665,   666,       603,  1954,   604,   605,   606,   318,   698,   699,   700,   701,
1627       667,   676,   668,   677,   671,   679,   680,   694,   696,   695,       702,   703,   704,   705,   706,   707,   611,   411,   612,   613,
1628       697,   698,   516,   517,   699,   700,   701,   703,   704,   705,       614,   307,   445,   616,   617,  1960,   618,   619,   620,   621,
1629       708,   709,   707,   710,   706,   550,   551,   552,   553,   556,       309,  1961,   552,   553,   625,   626,   627,   628,   629,   630,
1630       719,   723,   724,   730,   731,   747,   732,   702,   718,   748,       631,   632,   633,   634,   635,  1111,   607,   553,   318,   319,
1631       722,   725,   749,   733,   726,   750,   752,   753,   754,   756,       320,   321,   322,   323,   324,   325,   326,   327,   816,   817,
1632       755,   757,   768,   759,   577,   578,   579,   580,   581,   582,       318,   698,   699,   700,   701,   702,   703,   704,   705,   706,
1633       583,   584,   585,   586,   587,   588,   589,   590,   591,   729,       545,   308,   545,   545,   545,   545,   545,   545,   545,   545,
1634       751,   758,   594,   595,   760,   769,   783,   307,   307,   307,      1438,  1112,   310,  1441,   318,   319,   320,   321,   322,   323,
1635       307,   307,   307,   307,   307,   307,   782,   784,   785,   409,       324,   325,   326,   327,   318,   319,   320,   321,   322,   323,
1636       409,   786,   789,   603,   790,   604,   791,   605,   306,   308,       324,   325,   326,   327,   646,   318,   698,   699,   700,   701,
1637       309,   310,   311,   312,   313,   314,   315,   793,   612,   613,       702,   703,   704,   705,   706,  1515,  2031,   787,  1357,   314,
1638       614,   615,   616,   617,   618,   619,   620,   621,   622,   623,       408,  1687,  2032,   807,   313,   277,   442,   426,   430,    53,
1639       624,   792,   819,   820,   821,   822,   823,   824,   825,   826,       658,   659,   466,  1673,  1674,  1695,  1696,   401,  1770,  1324,
1640       830,   829,   827,   842,   836,   835,   844,   845,   846,   847,      1325,   502,   526,   991,   992,   993,   403,   405,   736,   738,
1641       849,   851,   853,   852,   850,   859,   861,   855,   650,   862,       406,   409,   413,   350,   531,   533,   532,   538,   534,   535,
1642       860,   653,   654,   655,   656,   863,   864,   659,   865,   866,       536,   537,   543,   539,   540,   541,   544,   546,   547,   555,
1643       869,   868,   867,   874,   886,   875,   904,   470,   470,   673,       542,   548,   554,   709,   558,   559,  1029,  1030,  1031,  1032,
1644       883,   885,   897,   884,   407,   891,   888,   890,   327,   889,       557,   585,  1502,   556,   588,   590,   819,   709,   560,   709,
1645       893,   900,   903,   914,   901,   902,   906,   930,   691,   907,      1044,   561,  1046,   593,  1048,  1049,  1050,  1051,   598,   600,
1646       693,   905,   911,   920,   908,   912,   915,   913,   916,   918,       608,   615,   599,   609,   750,   751,   610,   622,   623,  1066,
1647       917,   921,   922,   923,   925,   924,   926,   931,   936,   942,      1067,   709,   624,   639,   636,   637,  1074,   638,   641,   709,
1648       932,   711,   934,   937,   939,   944,   940,   946,   712,   945,      1599,   642,   640,   644,   643,   645,   798,   799,   800,   801,
1649       713,   714,   715,   943,   716,   947,   717,   948,   950,   949,       652,   647,   848,   848,   822,   825,   648,   649,  1312,   767,
1650       933,   951,   954,   955,   956,   957,   935,   958,   959,   727,       650,   853,   854,   855,   651,   653,   654,   655,   674,   657,
1651       962,   728,   964,   963,   965,   969,   966,   967,   734,   735,      1107,  1108,  1109,  1110,   673,   656,   675,   679,   867,   868,
1652       736,   737,   738,   739,   740,   741,   742,   970,   744,   971,       869,   870,   871,   872,   873,   874,   875,   876,   877,   878,
1653       746,   974,   977,   975,   938,   979,   981,   982,   983,   985,       879,   880,   676,   328,   330,   331,   332,   333,   334,   335,
1654       968,   976,   978,   986,   989,   990,   991,   980,   993,   763,       336,   337,   677,   680,   681,   882,   883,   884,   885,   682,
1655       764,   765,   984,   767,   992,   995,   994,   781,   996,   998,       683,   886,   678,   887,   725,   888,   889,   890,   726,   730,
1656      1003,   780,   997,   999,   673,  1002,  1004,  1008,  1011,  1014,       744,   733,   894,   895,   739,   745,   746,   753,   754,   899,
1657       795,   797,   469,   795,   802,   805,  1012,   795,   814,   781,       900,   901,   902,   755,   904,   905,   906,   907,   756,   764,
1658      1013,   781,   780,   780,  1017,   780,  1015,  1016,  1019,  1018,       779,   911,   912,   913,   781,   780,   914,   709,   826,   802,
1659       327,  1020,  1021,  1022,  1023,  1024,  1027,  1026,  1028,   831,       828,   827,   829,   830,   831,   919,   834,   920,   349,   836,
1660       832,  1029,   833,   834,  1025,  1031,  1033,  1034,   505,   506,       922,   835,   923,   838,   924,   840,   839,   842,   843,   850,
1661      1035,  1036,  1030,   307,   307,  1032,  1037,   531,  1039,   421,       841,   926,   844,   845,   851,   852,   856,   857,   859,   858,
1662      1041,  1038,  1042,  1044,  1040,   848,  1043,   555,  1047,  1048,       934,   935,   936,   937,   938,   939,   940,   941,   942,   943,
1663      1049,  1051,  1050,   854,   840,   841,  1056,  1057,  1052,  1053,       944,   945,   946,   947,   948,   949,   821,   951,   860,   861,
1664      1055,  1058,  1054,  1059,  1060,  1061,   856,  1062,  1065,  1063,       862,   955,   956,   957,   958,   863,   960,   961,   962,   963,
1665       307,   307,   327,  1064,  1066,  1067,  1070,  1069,  1072,  1068,       864,   964,   965,   819,   865,   866,   881,   891,   892,   896,
1666      1076,  1071,  1073,  1077,  1078,  1075,  1081,  1079,  1080,  1074,       897,   898,   903,   908,   909,   910,   915,   918,   930,   916,
1667      1082,   840,   841,   781,  1083,  1084,  1085,   780,   781,  1089,       927,   917,   929,   950,   953,   925,   954,   928,   959,   921,
1668       421,   421,   780,   307,  1086,  1087,   407,   407,   327,   327,       933,   986,   968,   986,  1243,  1244,  1245,   952,   967,   969,
1669       797,  1088,   802,   781,   781,  1090,  1094,   780,   780,  1091,       970,   972,   973,   971,   974,   975,   976,   977,   983,   980,
1670      1092,  1093,  1095,  1096,   882,  1097,  1098,  1099,  1100,  1101,       329,   329,   329,   329,   329,   329,   329,   329,   329,   978,
1671      1107,  1102,  1105,  1103,   327,  1106,  1108,  1109,  1111,   307,       979,   981,   982,   988,   989,   996,   990,   995,   997,   998,
1672       307,  1104,   421,  1115,  1110,  1112,  1113,  1114,  1118,  1116,       999,  1000,  1002,  1003,  1005,  1052,  1024,  1036,  1004,  1053,
1673      1117,   919,  1119,  1122,  1120,  1124,  1123,  1126,   327,  1121,      1064,  1077,  1015,  1035,  1040,  1018,  1019,  1020,  1021,  1001,
1674       909,   910,  1125,  1127,  1128,   531,  1129,   651,   652,   421,       709,  1034,   709,  1273,  1027,  1041,  1047,  1063,  1039,  1054,
1675       421,  1130,  1131,   657,   658,   805,  1132,  1137,   663,   663,      1033,  1288,  1290,  1062,  1068,  1038,  1065,  1073,  1075,  1076,
1676      1134,  1133,  1135,  1141,   469,   469,  1136,  1138,  1142,  1139,      1078,  1079,  1080,  1099,  1097,  1101,  1100,  1106,  1114,  1115,
1677      1140,  1144,  1143,  1145,  1146,  1147,  1148,  1150,  1149,  1151,      1118,  1116,  1117,  1059,  1061,  1119,  1121,  1122,  1120,  1288,
1678      1152,  1155,  1154,  1157,   892,   690,  1159,   692,  1158,  1153,      1123,  1288,  1070,  1124,   661,  1125,  1127,  1126,  1129,  1128,
1679      1156,  1160,  1161,  1162,  1163,   941,  1164,  1171,  1172,   674,      1138,  1139,  1130,  1339,  1341,  1342,  1341,  1131,  1132,  1137,
1680      1166,  1167,  1165,  1169,  1168,  1174,  1175,   894,   881,  1176,      1141,  1113,  1142,  1140,  1146,  1143,  1145,  1094,  1144,  1096,
1681      1170,   367,   368,  1173,  1177,  1178,  1179,   369,  1180,   649,      1148,   709,  1147,  1149,  1159,  1163,  1160,  1164,   329,   329,
1682       788,     0,     0,   376,   401,   402,   295,   384,   370,   386,      1165,  1170,   545,  1171,  1172,  1133,  1134,  1135,  1136,  1173,
1683       813,   371,   372,     0,   327,   327,     0,   542,   545,     0,      1178,  1177,  1179,  1180,  1181,  1184,  1186,  1185,  1187,  1188,
1684       327,   327,     0,     0,     0,   406,   327,     0,     0,     0,      1189,  1190,  1207,  1150,  1210,  1209,  1216,  1211,  1227,  1224,
1685         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1151,  1223,  1152,  1153,  1154,  1225,  1155,  1156,  1228,  1226,
1686         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1229,  1157,  1158,  1232,  1230,  1233,  1231,  1234,  1235,  1236,
1687         0,     0,     0,   327,     0,   327,   762,     0,     0,     0,      1238,  1162,  1247,  1241,  1237,  1246,  1248,  1250,  1168,  1251,
1688       766,     0,     0,     0,   770,     0,     0,     0,     0,     0,      1169,  1249,  1264,  1278,  1239,  1252,  1253,  1254,  1268,  1174,
1689         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1240,  1174,  1176,  1277,  1279,  1269,  1038,  1276,  1291,  1292,
1690       799,     0,     0,     0,   808,     0,     0,     0,   816,     0,      1293,  1299,  1294,  1182,  1295,  1183,  1298,  1300,  1338,  1301,
1691       818,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1331,  1332,  1429,  1302,  1346,  1191,  1192,  1193,  1194,  1195,
1692         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1196,  1197,  1198,  1199,  1200,  1201,  1202,  1344,  1204,  1333,
1693         0,     0,     0,     0,     0,   838,   839,     0,     0,     0,      1206,  1347,  1208,  1348,  1350,  1351,  1212,  1213,  1214,  1215,
1694         0,     0,     0,     0,     0,   327,     0,     0,     0,   327,      1353,  1217,  1218,  1219,  1220,  1354,  1221,  1222,  1355,  1356,
1695         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,      1358,  1357,  1345,  1349,  1359,  1352,  1360,  1363,  1273,  1364,
1696       327,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1365,  1366,  1288,  1288,  1367,  1370,   545,   545,   329,  1371,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       747,   748,  1372,  1378,   819,  1380,  1381,  1288,  1288,  1383,
1698         0,     0,   327,     0,     0,     0,     0,     0,     0,     0,      1384,  1385,  1387,  1388,  1290,  1391,   771,   749,  1393,  1398,
1699         0,   327,     0,     0,     0,   663,   871,   872,   663,   327,       752,  1396,  1395,  1070,  1399,  1265,   759,  1403,  1409,  1404,
1700         0,   327,     0,     0,     0,     0,     0,     0,     0,     0,      1411,  1412,   772,  1418,   824,  1413,  1410,  1415,  1419,  1414,
1701         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1424,  1422,  1257,  1258,  1259,  1420,  1038,  1262,  1061,  1421,
1702         0,   327,   327,     0,     0,     0,     0,     0,     0,     0,      1423,  1425,  1267,  1426,  1427,  1435,  1431,   846,   846,  1430,
1703         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       837,  1432,  1433,  1434,  1437,  1287,  1491,  1436,  1463,  1443,
1704         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1460,  1495,  1445,  1070,  1446,  1448,  1449,  1474,  1450,  1454,
1705         0,     0,     0,     0,   327,   327,   316,    46,    47,   669,      1453,  1304,  1306,  1455,  1304,   709,  1316,  1318,  1456,  1304,
1706         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,       822,   825,   825,  1287,  1459,  1287,  1458,  1461,   349,   349,
1707       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,      1464,  1475,  1061,  1061,  1061,  1061,  1468,  1469,  1361,  1362,
1708        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,      1476,  1479,  1482,  1485,  1483,  1484,  1487,  1486,  1488,  1489,
1709        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,      1373,  1374,   349,  1375,  1376,  1377,  1490,  1493,  1494,  1496,
1710        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,      1492,  1497,  1498,  1499,  1500,  1501,  1503,  1504,  1505,  1506,
1711        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,      1510,  1507,  1508,   329,   329,   545,   964,   965,  1509,  1511,
1712       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,      1512,  1513,  1516,  1514,  1517,  1267,  1519,  1520,   767,  1522,
1713       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,      1523,  1392,  1524,  1525,  1530,  1531,  1526,  1527,  1528,  1397,
1714       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,      1529,  1533,  1535,  1532,  1536,   349,  1537,  1539,  1534,  1540,
1715       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,      1538,  1541,  1546,  1542,  1547,  1548,  1400,  1549,  1550,  1554,
1716       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,      1555,  1551,  1572,  1553,  1556,  1558,  1560,   349,  1405,  1406,
1717       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,      1407,  1408,  1561,  1563,  1557,  1570,  1567,   821,  1559,  1562,
1718       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,      1564,  1565,  1568,  1574,  1571,  1573,  1575,  1578,  1576,  1577,
1719       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,      1580,  1581,  1582,  1583,  1584,  1588,  1585,  1586,  1587,  1590,
1720       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,      1591,  1589,   821,  1592,  1579,   821,  1595,   821,  1596,  1597,
1721       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,      1598,  1600,  1603,  1444,  1601,  1602,   985,  1604,   985,  1605,
1722       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,      1606,  1070,  1607,   545,   545,  1608,  1611,  1612,  1614,  1613,
1723       217,   218,   219,   220,   221,   222,   223,   224,   225,   226,      1616,  1617,  1615,  1618,  1623,  1619,  1620,  1267,  1621,  1625,
1724       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       771,  1622,  1016,  1017,  1624,  1626,  1287,  1287,  1022,  1628,
1725       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,      1629,  1006,  1026,  1012,  1013,  1630,  1632,  1306,  1627,  1634,
1726       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,      1316,  1287,  1287,  1633,  1635,  1306,  1059,   822,  1043,  1028,
1727       257,   258,   259,   260,   261,   262,   263,   264,   316,    46,      1043,  1639,  1174,  1631,  1638,  1174,  1640,  1641,  1645,  1642,
1728        47,     0,   670,    48,    49,    50,   317,   318,   319,   320,      1056,  1056,  1644,   329,   329,  1646,  1648,  1650,  1651,  1653,
1729       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,      1654,  1657,  1647,  1655,  1649,  1659,  1665,  1658,  1652,  1518,
1730        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,      1660,  1666,  1668,  1656,  1521,  1661,   349,  1662,  1072,  1663,
1731        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,      1664,  1667,  1671,  1675,  1676,  1093,  1672,  1095,  1081,  1082,
1732        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,      1083,  1084,  1085,  1086,  1087,  1088,  1089,  1090,  1091,  1092,
1733        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,      1677,  1680,  1681,  1682,  1683,  1685,  1552,   349,   349,  1102,
1734       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,      1103,  1104,  1105,   349,  1684,  1686,  1688,   349,  1690,  1670,
1735       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,      1691,  1692,  1694,  1698,  1704,  1693,  1697,  1699,  1705,  1703,
1736       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,      1709,  1711,  1708,  1710,   349,  1712,  1713,  1714,  1717,  1718,
1737       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,      1721,  1719,  1720,  1722,  1723,  1730,  1724,   349,  1318,  1726,
1738       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,      1725,  1306,  1727,  1729,  1731,  1853,  1732,  1733,   821,   821,
1739       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,      1734,  1736,  1735,  1737,  1738,  1739,  1740,  1741,  1743,  1742,
1740       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,      1746,  1751,  1745,   821,   821,  1754,  1752,  1744,  1753,   821,
1741       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,      1756,  1758,  1747,  1757,   349,  1760,   349,  1761,  1764,  1769,
1742       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,      1755,  1759,  1762,  1763,  1765,  1767,  1771,  1773,  1775,  1772,
1743       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,      1777,  1779,  1782,  1643,  1784,  1774,  1766,  1780,  1778,  1783,
1744       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,      1785,  1788,  1786,  1787,  1790,  1789,  1791,  1792,  1820,  1798,
1745       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,      1794,  1793,  1795,  1797,  1796,  1804,  1799,  1800,  1812,  1801,
1746       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,      1803,  1802,  1807,  1811,  1806,  1805,  1853,  1813,  1814,  1815,
1747       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,      1810,  1808,  1818,  1816,  1817,  1821,  1819,  1822,  1823,  1825,
1748       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,      1824,  1826,  1829,  1830,  1835,  1827,  1836,  1828,  1837,  1838,
1749       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,      1842,  1834,  1839,  1840,  1843,  1846,  1841,  1847,  1857,  1865,
1750        45,    46,    47,     0,     0,    48,    49,    50,    51,    52,      1844,  1858,  1859,  1070,  1860,  1861,  1864,  1862,  1868,  1866,
1751        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,      1867,  1869,  1875,  1870,  2022,  1871,  1873,  1876,  1877,  1883,
1752        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,      1256,  1728,  1878,  1874,  1260,  1879,  1845,  1889,  1880,  1884,
1753        1891,  1848,  1881,  1885,  1255,  1270,  1272,  1043,  1043,  1882,
1754        1886,  1887,  1892,  1280,  1888,  1893,  1863,  1894,  1872,  1895,
1755        1896,  1897,  1898,  1899,  1900,  1901,  1903,  1904,  1908,  1909,
1756        1907,  1902,  1308,  1911,  1917,  1912,  1296,  1321,  1918,  1914,
1757         824,   824,  1920,  1327,  1919,  1329,  1910,   349,  1915,  1916,
1758        1922,   349,  1925,  1927,  1924,  1929,  1928,  1931,   822,  1932,
1759        1913,   349,  1921,   349,  1926,  1933,  1930,  1934,  1935,  1944,
1760        1936,   349,  1938,  1937,  1809,  1939,   349,  1940,  1943,  1941,
1761        1945,  1947,  1942,  1946,  1948,  1949,  1951,  1950,  1952,  1955,
1762        1957,  1956,  1958,  1959,  1964,  1963,  1962,  1968,  1966,   349,
1763        1965,  1971,  1967,  1969,  1970,  1972,  1973,  1974,  1978,  1975,
1764        1976,  1991,   349,  1984,  1977,  1985,  1987,  1980,   349,  1979,
1765         349,  1465,  1981,  1982,  1983,  1990,  1992,  1986,  1989,  1988,
1766        1997,  1995,  2002,  2004,  1993,  1994,  1998,  1996,  2005,  2006,
1767        2007,  2008,  2000,  2003,  2001,  1999,  2009,  2010,  2011,  2012,
1768        2013,  2014,  2016,  2015,  2017,  1890,  2019,  2018,  2023,  2027,
1769        2020,  2021,  2039,  2028,  2024,  2026,  2035,  2025,  2036,  2037,
1770        2034,  2038,  2029,  2030,  2040,  2041,  2033,  2042,  2043,  2044,
1771        2045,  1566,  2046,  2055,  1471,  2057,  2048,  2049,  2058,  2047,
1772        2061,  2051,  2053,  2052,  2060,  2062,  2064,  2054,  2050,  2056,
1773         821,  2059,  2063,  2073,  2069,  2067,  2065,  2066,  2072,  1330,
1774        2068,  2070,  1056,  1439,  1440,  1056,  2071,  1343,  1923,  1452,
1775        1473,  1272,  1447,   994,     0,   791,   436,   849,   437,     0,
1776         349,   349,   317,     0,   814,     0,     0,     0,     0,     0,
1777           0,     0,     0,     0,     0,     0,  1457,     0,     0,     0,
1778           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1779           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1780         438,     0,     0,     0,     0,     0,     0,     0,   506,     0,
1781           0,     0,   507,   771,   338,    58,    59,    60,    61,    62,
1782         339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1783        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1784        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1785        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1212  static const short int yytable[] = Line 1799  static const short int yytable[] =
1799       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1800       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1801       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1802       263,   264,   316,    46,    47,     0,     0,    48,    49,    50,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1803       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       273,   274,   275,   984,   508,   276,   338,    58,    59,    60,
1804        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        61,    62,   339,   340,   341,   342,   343,   344,   345,   346,
1805        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,       347,   348,    73,    74,    75,    76,    77,    78,    79,    80,
1806        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1807        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1808       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
# Line 1234  static const short int yytable[] = Line 1821  static const short int yytable[] =
1821       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1822       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1823       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1824       261,   262,   263,   264,   316,    46,    47,   771,   772,    48,       261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1825       773,   774,    51,    52,    53,    54,    55,    56,    57,    58,       271,   272,   273,   274,   275,   509,   987,   276,    57,    58,
1826        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1827        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1828        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
# Line 1256  static const short int yytable[] = Line 1843  static const short int yytable[] =
1843       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1844       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1845       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1846       259,   260,   261,   262,   263,   316,    46,    47,   877,     0,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1847        48,    49,    50,   317,   318,   319,   320,   321,   322,   323,       269,   270,   271,   272,   273,   274,   275,   510,   511,   276,
1848       324,   325,   326,    61,    62,    63,    64,    65,    66,    67,       338,    58,    59,    60,    61,    62,   339,   340,   341,   342,
1849        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,       343,   344,   345,   346,   347,   348,    73,    74,    75,    76,
       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,  
      878,    48,    49,    50,   317,   318,   319,   320,   321,   322,  
      323,   324,   325,   326,    61,    62,    63,    64,    65,    66,  
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,  
1850        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1851        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1852        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
# Line 1300  static const short int yytable[] = Line 1865  static const short int yytable[] =
1865       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1866       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1867       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1868       257,   258,   259,   260,   261,   262,   263,   316,    46,    47,       257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1869         0,     0,    48,    49,    50,   317,   318,   319,   320,   321,       267,   268,   269,   270,   271,   272,   273,   274,   275,   512,
1870       322,   323,   324,   325,   326,    61,    62,    63,    64,    65,       513,   276,   338,    58,    59,    60,    61,    62,   339,   340,
1871        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,       341,   342,   343,   344,   345,   346,   347,   348,    73,    74,
       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,    72,    73,    74,  
1872        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1873        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1874        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
# Line 1344  static const short int yytable[] = Line 1887  static const short int yytable[] =
1887       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1888       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1889       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1890       255,   256,   257,   258,   259,   260,   261,   262,   263,   316,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1891       721,    47,     0,     0,    48,    49,    50,   317,   318,   319,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1892       320,   321,   322,   323,   324,   325,   326,    61,    62,    63,       275,   658,   659,   338,    58,    59,    60,  1281,  1282,    63,
1893        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1894        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1895        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1367  static const short int yytable[] = Line 1910  static const short int yytable[] =
1910       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1911       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1912       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1913       316,   743,    47,     0,     0,    48,    49,    50,   317,   318,       264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
1914       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,       274,   275,   658,   659,   338,    58,    59,    60,    61,    62,
1915        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
1916        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1917        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1918        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
# Line 1389  static const short int yytable[] = Line 1932  static const short int yytable[] =
1932       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1933       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1934       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1935       263,   316,   745,    47,     0,     0,    48,    49,    50,   317,       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1936       318,   319,   320,   321,   322,   323,   324,   325,   326,    61,       273,   274,   275,   338,    58,    59,    60,    61,    62,    63,
1937        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1938        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1939        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1940        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1941       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1942       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1943       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1944       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1945       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1946       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1947       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1948       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1949       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1950       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1951       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1952       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1953       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1954       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1955       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1956       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1957       262,   263,   316,   837,    47,     0,     0,    48,    49,    50,       264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
1958       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       274,   275,   338,  1167,    59,    60,    61,    62,   339,   340,
1959        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,       341,   342,   343,   344,   345,   346,   347,   348,    73,    74,
1960        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1961        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1962        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1963       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1964       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1965       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1966       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1967       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1968       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1969       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1970       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1971       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1972       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1973       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1974       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1975       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1976       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1977       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1978       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1979       261,   262,   263,   316,   857,    47,     0,     0,    48,    49,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1980        50,   317,   318,   319,   320,   321,   322,   323,   324,   325,       275,   338,  1175,    59,    60,    61,    62,   339,   340,   341,
1981       326,    61,    62,    63,    64,    65,    66,    67,    68,    69,       342,   343,   344,   345,   346,   347,   348,    73,    74,    75,
1982        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1983        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1984        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1985       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1986       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1987       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1988       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1989       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1990       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1991       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1992       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1993       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1994       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1995       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1996       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1997       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1998       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1999       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
2000       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
2001       260,   261,   262,   263,   316,   858,    47,     0,     0,    48,       266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2002        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       338,  1203,    59,    60,    61,    62,   339,   340,   341,   342,
2003       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,       343,   344,   345,   346,   347,   348,    73,    74,    75,    76,
2004        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2005          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2006          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2007         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2008         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2009         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2010         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2011         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2012         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2013         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2014         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2015         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2016         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2017         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2018         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
2019         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
2020         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
2021         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2022         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2023         267,   268,   269,   270,   271,   272,   273,   274,   275,   338,
2024        1205,    59,    60,    61,    62,   339,   340,   341,   342,   343,
2025         344,   345,   346,   347,   348,    73,    74,    75,    76,    77,
2026          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2027          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2028          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2029         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2030         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2031         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2032         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2033         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2034         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2035         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2036         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2037         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2038         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2039         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2040         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
2041         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
2042         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
2043         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
2044         258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
2045         268,   269,   270,   271,   272,   273,   274,   275,   338,  1382,
2046          59,    60,    61,    62,   339,   340,   341,   342,   343,   344,
2047         345,   346,   347,   348,    73,    74,    75,    76,    77,    78,
2048        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2049        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2050        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
# Line 1477  static const short int yytable[] = Line 2063  static const short int yytable[] =
2063       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
2064       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2065       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
2066       259,   260,   261,   262,   263       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
2067  };       269,   270,   271,   272,   273,   274,   275,   338,  1386,    59,
2068          60,    61,    62,   339,   340,   341,   342,   343,   344,   345,
2069  static const short int yycheck[] =       346,   347,   348,    73,    74,    75,    76,    77,    78,    79,
2070  {        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2071        14,    14,   471,    16,    17,    18,    19,    20,    21,    22,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2072        23,    24,    25,    26,    27,   595,   279,     5,   272,   273,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2073       272,   273,   279,   279,   743,    25,   745,     6,     7,    32,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2074        29,    25,   225,   226,    24,    29,    35,    40,    38,    21,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
2075        23,    24,    52,    53,    54,    55,    56,    57,    58,    59,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2076        60,    33,     1,    36,     3,    34,    33,    40,    38,    22,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2077        42,    25,    39,    52,    53,    54,    55,    56,    57,    58,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2078        59,    60,    21,    36,    23,    24,    22,    23,    27,    23,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2079        25,    23,    24,    32,    22,    29,    25,    33,    37,    38,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2080        39,    29,    41,    39,    21,    21,    42,    23,    40,    25,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
2081        24,    39,    41,    25,    42,   737,    33,    33,   577,   741,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2082       579,   580,    36,    39,     6,     7,    38,     8,   837,    24,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2083        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2084        41,    36,    41,    42,    41,    42,   605,    25,   857,   858,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
2085        23,    24,     0,   612,   613,   614,   615,   616,   617,   618,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
2086       619,   620,     8,    23,    24,    11,    12,    13,    14,    15,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
2087        16,    17,    18,    19,    20,    34,   429,   522,   523,   224,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
2088        24,     8,   429,   429,    11,    12,    13,    14,    15,    16,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
2089        17,    18,    19,    20,    25,    21,    21,    23,    23,    25,       270,   271,   272,   273,   274,   275,   338,  1401,    59,    60,
2090        21,    39,    21,    40,    25,   271,    39,    33,    33,    29,        61,    62,   339,   340,   341,   342,   343,   344,   345,   346,
2091       276,   277,    33,    22,   458,   281,   458,     9,    10,    11,       347,   348,    73,    74,    75,    76,    77,    78,    79,    80,
       12,    13,    14,    15,    16,    17,    18,    19,    20,   430,  
      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,  
      441,    39,   225,    23,    21,    40,   224,   225,   226,    40,  
       24,    40,   711,    35,    25,    25,    39,    41,    34,    28,  
       28,   831,    29,    25,   834,    29,    41,    28,   727,    29,  
       23,    34,    29,    28,    23,    41,    41,   280,    29,    35,  
       22,    40,    40,    24,    38,    23,   225,   226,    11,    12,  
       13,    14,    15,    16,    17,    18,    19,    20,    21,    42,  
       40,    21,    21,    21,    38,    27,   306,    24,   308,   309,  
      310,   311,   312,   313,   314,   315,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    29,    24,    24,    21,  
       24,    24,    39,   336,    24,    24,    21,   340,    14,   342,  
      343,   344,   345,   346,    28,   348,    26,   350,   351,   352,  
      353,   354,    39,    25,    29,   358,   359,    38,   361,   362,  
       11,    12,    13,    14,    15,    16,    17,    18,    19,    20,  
       35,    25,   375,   376,   377,    38,    40,    39,    34,   382,  
      383,   384,   385,   386,   387,    29,    29,    34,    29,   848,  
       29,    29,    42,    29,    34,    29,    29,    34,    40,    29,  
       35,    29,    29,    35,    26,   408,    35,   410,    34,    23,  
       41,    23,    25,    29,    23,    34,    36,    35,    91,    34,  
       45,    32,    25,    91,    34,    26,    24,    35,    35,    34,  
       91,    35,    38,    91,    34,    24,    32,    25,    25,    34,  
       21,    25,   446,   447,    22,    38,    25,    21,    25,    25,  
       35,    45,    38,    25,    29,   459,   460,   461,   462,   463,  
       29,    25,    29,    29,    29,    38,    29,    91,    91,    25,  
       91,    41,    32,    41,    91,    33,    25,    29,    32,    22,  
       35,    32,    35,    40,   487,   488,   489,   490,   491,   492,  
      493,   494,   495,   496,   497,   498,   499,   500,   501,    91,  
       91,    34,   505,   506,    38,    34,    32,   507,   508,   509,  
      510,   511,   512,   513,   514,   515,    35,    34,    33,   522,  
      523,    33,    35,   526,    34,   528,    35,   530,   507,   508,  
      509,   510,   511,   512,   513,   514,   515,    33,   541,   542,  
      543,   544,   545,   546,   547,   548,   549,   550,   551,   552,  
      553,    91,    91,    32,    32,    91,    23,    22,    41,    32,  
       23,    25,    39,     5,    36,    41,    41,    36,    25,    35,  
       41,    91,    25,    29,    36,    26,    21,    32,   582,    23,  
       91,   585,   586,   587,   588,    35,    25,   591,    40,    25,  
       25,    39,    41,    40,    24,    41,    91,   600,   601,   603,  
       40,    34,    29,    41,   280,    34,    40,    35,   265,    41,  
       32,    34,    36,    21,    35,    41,    34,    91,   622,    36,  
      624,    40,    36,    32,    40,    40,    36,    40,    40,    36,  
       41,    35,    34,    25,    34,    41,    41,    40,    32,    32,  
       41,   644,    41,    41,    40,    26,    41,    34,   651,    35,  
      653,   654,   655,    41,   657,    40,   659,    40,    34,    41,  
       91,    29,    21,    40,    24,    40,    91,    24,    40,   672,  
       36,   674,    34,    40,    35,    24,    41,    40,   681,   682,  
      683,   684,   685,   686,   687,   688,   689,    27,   691,    24,  
      693,    35,    25,    27,    91,    25,    25,    35,    41,    40,  
       91,    91,    91,    39,    29,    29,    29,    91,    29,   713,  
      714,   715,    91,   717,    42,    25,    38,   721,    24,    24,  
       38,   721,    42,    42,   728,    42,    40,    28,    35,    29,  
      734,   735,   408,   737,   738,   739,    34,   741,   742,   743,  
       91,   745,   742,   743,    25,   745,    42,    40,    25,    29,  
      407,    29,    28,    25,    29,    40,    35,    28,    45,   762,  
      763,    21,   765,   766,    91,    29,    25,    29,   444,   445,  
       23,    25,    42,   773,   774,    91,    91,   453,    23,   779,  
       23,    42,    21,    23,    42,   788,    42,   463,    21,    38,  
       36,    29,    34,   796,   773,   774,    25,    38,    42,    35,  
       34,    36,    39,    29,    25,    29,   809,    25,    25,    34,  
      810,   811,   469,    29,    28,    45,    25,    40,    23,    34,  
       39,    34,    25,    91,    21,    36,    34,    23,    23,    41,  
       23,   810,   811,   837,    91,    21,    36,   837,   842,    38,  
      840,   841,   842,   843,    34,    25,   522,   523,   505,   506,  
      854,    25,   856,   857,   858,    40,    25,   857,   858,    41,  
       36,    38,    25,    25,   843,    25,    36,    34,    25,    25,  
       21,    32,    36,    39,   531,    40,    21,    32,    21,   879,  
      880,    91,   882,    36,    91,    34,    32,    91,    38,    41,  
       91,   894,    33,    25,    36,    21,    36,    24,   555,    38,  
      879,   880,    40,    21,    25,   581,    21,   583,   584,   909,  
      910,    21,    32,   589,   590,   919,    21,    40,   594,   595,  
       91,    38,    38,    21,   600,   601,    33,    38,    24,    33,  
       38,    25,    29,    25,    21,    25,    21,    38,    33,    42,  
       40,    40,    33,    25,   854,   621,    25,   623,    29,    38,  
       33,    25,    25,    25,    25,   919,    40,    25,    25,   604,  
       38,    38,    42,    38,    40,    25,    25,   856,   842,    38,  
       40,   274,   274,    39,    38,    38,    38,   274,    39,   581,  
      728,    -1,    -1,   275,   279,   279,    44,   277,   274,   277,  
      742,   274,   274,    -1,   651,   652,    -1,   458,   458,    -1,  
      657,   658,    -1,    -1,    -1,   279,   663,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,   690,    -1,   692,   712,    -1,    -1,    -1,  
      716,    -1,    -1,    -1,   720,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
      736,    -1,    -1,    -1,   740,    -1,    -1,    -1,   744,    -1,  
      746,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   771,   772,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,   762,    -1,    -1,    -1,   766,  
       -1,    -1,    -1,   770,    -1,    -1,    -1,    -1,    -1,    -1,  
      777,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,   799,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,   808,    -1,    -1,    -1,   831,   832,   833,   834,   816,  
       -1,   818,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,   838,   839,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,    -1,    -1,    -1,   871,   872,     3,     4,     5,     6,  
       -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,   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,    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,    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,  
2092        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2093        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2094       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
# Line 1691  static const short int yycheck[] = Line 2103  static const short int yycheck[] =
2103       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2104       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2105       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2106       221,   222,   223,   224,     3,     4,     5,     6,     7,     8,       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
2107         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
2108         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
2109         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
2110         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
2111         271,   272,   273,   274,   275,   338,  1402,    59,    60,    61,
2112          62,   339,   340,   341,   342,   343,   344,   345,   346,   347,
2113         348,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2114          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2115          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2116         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2117         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2118         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2119         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2120         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2121         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2122         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2123         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2124         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2125         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2126         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2127         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2128         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
2129         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
2130         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
2131         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
2132         262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
2133         272,   273,   274,   275,   514,   515,   516,   517,   518,   519,
2134         520,   521,   522,   527,   450,   439,   440,   462,   441,   443,
2135         464,   444,     0,     0,     0,   528
2136    };
2137    
2138    static const yytype_int16 yycheck[] =
2139    {
2140          16,   923,    18,    19,    20,    21,    22,    23,    24,    25,
2141          26,    27,    28,    29,    30,    31,    32,    33,    34,   871,
2142        1200,  1133,   901,   283,   290,   291,    16,   295,   297,   912,
2143         634,    24,   290,   291,   294,   295,   297,     5,   297,    32,
2144         587,    24,   589,    36,    32,     1,    32,     3,  1036,    64,
2145          65,    66,    67,    68,    69,    70,    71,    72,    33,    34,
2146        1265,  1158,  1397,    19,   611,    21,    22,    36,    24,    25,
2147        1405,  1183,   619,    37,    30,    31,    37,    37,    24,    35,
2148          36,    37,    37,    39,    37,  1203,    32,  1205,    37,   573,
2149          36,   586,    20,    34,    21,    22,    37,   580,   581,    27,
2150          19,    19,    20,    21,    22,   589,    24,    25,    23,    37,
2151          27,    38,    40,    31,    33,  1212,  1213,  1214,  1215,    37,
2152          38,   616,    40,    22,    39,    89,    43,   611,    89,    89,
2153         613,   614,    22,    27,    89,   619,    89,    20,    37,    33,
2154          89,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2155          18,    34,    21,    22,    22,    19,    31,    21,    22,    23,
2156          24,    23,    37,    19,    32,    34,    19,    31,  1156,    38,
2157          27,    22,  1377,    37,    38,    31,    40,    30,    31,    32,
2158         727,    37,    39,    34,    40,    27,  1521,   563,   564,   565,
2159         566,   567,   568,   569,   570,   571,   572,    23,   574,   575,
2160         576,   577,    23,   579,    21,    22,   582,   583,   584,    34,
2161          36,    23,    37,    22,    31,    36,    64,    65,    66,    67,
2162          68,    69,    70,    71,    72,    34,    31,  1407,    39,   222,
2163         223,   283,    37,    19,   222,   223,   222,   223,    24,   222,
2164         223,    34,   294,   295,    37,    31,   298,   222,   223,  1361,
2165          22,   551,    23,   222,   223,    19,   224,   225,   226,    23,
2166          32,    19,    32,    21,    22,    23,    24,    31,  1386,   225,
2167         226,    34,   224,    31,    37,   549,   222,   223,    21,    22,
2168         580,   581,    40,  1401,  1402,   631,   632,   633,    31,  1168,
2169        1169,   591,   592,   562,   594,   595,   596,   597,     0,    21,
2170          22,   562,    21,   562,    19,    27,    21,    22,    27,    24,
2171          31,    21,    31,   613,   614,    36,    31,    27,    22,     6,
2172         620,   621,     9,    10,    11,    12,    13,    14,    15,    16,
2173          17,    18,   283,   880,    23,   882,    34,   288,   289,   355,
2174         356,   357,   616,   294,   295,   283,  1194,    30,    23,   287,
2175          33,  1199,   368,    36,   292,   225,   226,   625,   374,   625,
2176         376,   377,   378,   379,   380,   625,   382,   625,   384,   385,
2177         386,   387,   388,    37,   390,   391,   392,   393,   394,   395,
2178         396,   397,   398,   399,   288,   289,    32,   403,    21,   405,
2179         294,   295,   408,    23,    27,   411,   412,    27,    38,   415,
2180         416,    21,   418,   419,   951,    21,    37,    27,   424,   425,
2181         426,    27,   428,   429,   430,     9,    10,    11,    12,    13,
2182          14,    15,    16,    17,    18,    19,   442,   287,   444,   445,
2183         446,    19,   292,   449,   450,    21,   452,   453,   454,   455,
2184          40,    27,    39,    40,   460,   461,   462,   463,   464,   465,
2185         466,   467,   468,   469,   470,     6,    39,    40,     9,    10,
2186          11,    12,    13,    14,    15,    16,    17,    18,     7,     8,
2187           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2188         328,    34,   330,   331,   332,   333,   334,   335,   336,   337,
2189        1373,     6,    27,  1376,     9,    10,    11,    12,    13,    14,
2190          15,    16,    17,    18,     9,    10,    11,    12,    13,    14,
2191          15,    16,    17,    18,   530,     9,    10,    11,    12,    13,
2192          14,    15,    16,    17,    18,    34,    21,   625,    37,    20,
2193         286,  1643,    27,   631,    38,    16,   292,   290,   291,   225,
2194         222,   223,   295,    21,    22,    21,    22,    31,  1728,  1201,
2195        1202,   296,   297,   853,   854,   855,   284,   285,   591,   592,
2196          31,    22,    22,    21,    19,    19,    43,    23,    38,    22,
2197          38,    22,    19,    38,    33,    23,    39,    26,    20,    20,
2198          37,    27,    26,   573,    27,    23,   886,   887,   888,   889,
2199          42,    27,  1444,    32,    27,    20,  1200,   587,    33,   589,
2200         900,    33,   902,    20,   904,   905,   906,   907,    39,    27,
2201          26,    32,    42,    42,   604,   605,    27,    39,    21,   919,
2202         920,   611,    27,    20,    39,    39,   926,    26,    30,   619,
2203        1552,    27,    42,    33,    38,    33,   626,   627,   628,   629,
2204          21,    36,   658,   659,   634,   635,    38,    36,  1195,   923,
2205          40,   667,   668,   669,    38,    34,    20,    19,    19,    22,
2206         960,   961,   962,   963,    22,    89,    19,    22,   684,   685,
2207         686,   687,   688,   689,   690,   691,   692,   693,   694,   695,
2208         696,   697,    89,   698,   699,   700,   701,   702,   703,   704,
2209         705,   706,    25,    36,    38,   711,   712,   713,   714,    30,
2210          27,   717,    89,   719,    22,   721,   722,   723,    32,    22,
2211          22,    89,   728,   729,    89,    89,    22,    22,    19,   735,
2212         736,   737,   738,    89,   740,   741,   742,   743,    22,    37,
2213          22,   747,   748,   749,    22,    26,   752,   727,    22,    32,
2214          19,    24,    89,    89,    33,   761,    36,   763,   277,    27,
2215         766,    38,   768,    23,   770,    23,    33,    37,    32,    30,
2216          36,   777,    27,    27,    33,    23,    27,    27,    27,    32,
2217         786,   787,   788,   789,   790,   791,   792,   793,   794,   795,
2218         796,   797,   798,   799,   800,   801,   634,   803,    27,    37,
2219          27,   807,   808,   809,   810,    40,   812,   813,   814,   815,
2220          19,   816,   817,  1407,    39,    32,    30,    27,    33,    27,
2221          27,    33,    27,    27,    37,    27,    27,    27,    39,    32,
2222          27,    37,    27,    19,    23,    33,    27,    33,    23,    38,
2223          33,   847,    24,   849,  1134,  1135,  1136,    39,    27,    32,
2224          27,    20,    27,    37,    21,    23,    19,    21,    89,    21,
2225         698,   699,   700,   701,   702,   703,   704,   705,   706,    43,
2226          27,    32,    32,    19,    32,    30,    21,    33,    32,    32,
2227          32,    23,    23,    30,    24,    33,    30,   893,    31,    23,
2228          23,    22,   872,    32,    32,   875,   876,   877,   878,    89,
2229         880,    89,   882,  1167,   884,    32,    32,    32,    89,    89,
2230         890,  1175,  1176,    33,    36,   895,    89,    36,    33,    89,
2231          22,    38,    30,    22,    31,    22,    40,    37,    33,    23,
2232          23,    32,    32,   913,   914,    19,    23,    19,    89,  1203,
2233          30,  1205,   922,    23,  1208,    20,    23,    36,    27,    37,
2234          19,    23,    38,  1217,  1218,  1219,  1220,    89,    39,    89,
2235          23,   966,    32,    37,    23,    27,    89,   947,    36,   949,
2236          43,   951,    33,    23,    27,    27,    89,    37,   816,   817,
2237          89,    37,   820,    89,    32,   991,   992,   993,   994,    27,
2238          23,    89,    32,    27,    39,    21,    27,    89,    27,    27,
2239          23,    33,    23,  1009,    23,    27,    21,    27,    32,    36,
2240        1016,    89,  1018,  1019,  1020,    23,  1022,  1023,    30,    37,
2241          27,  1027,  1028,    89,    30,    89,    31,    23,    27,    30,
2242          32,  1037,    20,    36,    38,    33,    30,    22,  1044,    32,
2243        1046,    38,    32,    22,    31,    40,    38,    36,    32,  1055,
2244          36,  1057,  1058,    33,    32,    38,  1036,    38,    33,    30,
2245          22,    33,    32,  1069,    31,  1071,    23,    32,    36,    33,
2246          33,    30,  1362,    89,    30,  1081,  1082,  1083,  1084,  1085,
2247        1086,  1087,  1088,  1089,  1090,  1091,  1092,    33,  1094,    89,
2248        1096,    38,  1098,    22,    32,    30,  1102,  1103,  1104,  1105,
2249          40,  1107,  1108,  1109,  1110,    21,  1111,  1112,    20,    36,
2250          33,    37,    89,    89,    23,    89,    37,    39,  1382,    30,
2251          37,    36,  1386,  1387,    37,    33,   964,   965,   966,    23,
2252         601,   602,    21,    37,  1728,    37,    36,  1401,  1402,    36,
2253          39,    34,     5,    39,  1408,    23,   617,   603,    39,    23,
2254         606,    27,    89,  1133,    33,  1161,   612,    89,    27,    21,
2255          24,    89,   618,    19,   635,    36,    39,    27,    21,    89,
2256          38,    23,  1152,  1153,  1154,    33,  1156,  1157,  1158,    33,
2257          39,    22,  1162,    21,    27,    27,    23,   658,   659,    38,
2258         646,    39,    39,    38,    23,  1175,    19,    37,    24,    38,
2259          33,    89,    38,  1183,    39,    39,    38,    34,    39,    39,
2260          38,  1191,  1192,    38,  1194,  1195,  1196,  1197,    32,  1199,
2261        1200,  1201,  1202,  1203,    39,  1205,    38,    32,   747,   748,
2262          32,    38,  1212,  1213,  1214,  1215,    33,    33,  1244,  1245,
2263          27,    39,    32,    32,    39,    38,    27,    33,    39,    31,
2264        1256,  1257,   771,  1259,  1260,  1261,    36,    40,    34,    31,
2265          39,    38,    36,    21,    32,    36,    36,    31,    31,    34,
2266          36,    38,    34,  1111,  1112,  1113,  1281,  1282,    38,    38,
2267          34,    38,    19,    39,    23,  1265,    39,    32,  1552,    38,
2268          34,  1297,    30,    33,    24,    38,    32,    31,    33,  1305,
2269          32,    23,    21,    36,    32,   824,    23,    30,    39,    36,
2270          39,    23,    23,    39,    89,    39,  1322,    23,    38,    23,
2271          23,    39,    30,    39,    39,    39,    39,   846,  1334,  1335,
2272        1336,  1337,    39,    38,    89,    27,    38,  1175,    89,    89,
2273          39,    39,    38,    24,    39,    39,    23,    33,    39,    24,
2274          39,    33,    32,    23,    38,    38,    32,    31,    37,    32,
2275          27,    39,  1200,    32,    89,  1203,    31,  1205,    89,    19,
2276          31,    31,    38,  1379,    32,    32,   847,    22,   849,    38,
2277          22,  1361,    31,  1221,  1222,    38,    34,    38,    34,    30,
2278          33,    38,    36,    32,    22,    33,    32,  1377,    32,    39,
2279         871,    33,   873,   874,    31,    38,  1386,  1387,   879,    38,
2280          23,   867,   883,   869,   870,    27,    22,  1397,    89,    22,
2281        1400,  1401,  1402,    25,    38,  1405,  1406,  1407,   899,   885,
2282         901,    23,  1438,    89,    33,  1441,    21,    25,    38,    23,
2283         911,   912,    23,  1281,  1282,    38,    23,    23,    23,    23,
2284          33,    38,    89,    39,    89,    33,    23,    39,    89,  1465,
2285          32,    23,    21,    89,  1470,    89,   985,    38,   924,    38,
2286          38,    37,    32,    27,    27,   946,    40,   948,   934,   935,
2287         936,   937,   938,   939,   940,   941,   942,   943,   944,   945,
2288          27,    40,    27,    36,    32,    23,  1502,  1016,  1017,   955,
2289         956,   957,   958,  1022,    33,    32,    32,  1026,    22,    89,
2290          40,    22,    32,    36,    30,    40,    40,    38,    22,    38,
2291          32,    22,    40,    33,  1043,    38,    23,    26,    33,    32,
2292          22,    89,    89,    27,    40,    22,    38,  1056,  1518,    39,
2293          38,  1521,    38,    38,    23,  1809,    27,    23,  1386,  1387,
2294          27,    26,    38,    23,    27,    38,    89,    26,    43,    33,
2295          23,    27,    30,  1401,  1402,    27,    38,    89,    39,  1407,
2296          19,    27,    89,    40,  1093,    23,  1095,    27,    21,    32,
2297          89,    89,    28,    27,    23,    37,    27,    21,    21,    40,
2298          19,    21,    19,  1599,    34,    40,    89,    21,    40,    36,
2299          23,    33,    40,    28,    32,    27,    21,    89,    43,    40,
2300          36,    32,    31,    27,    32,    23,    33,    37,    23,    32,
2301          36,    33,    31,    27,    34,    36,  1890,    27,    23,    31,
2302          36,    38,    23,    32,    27,    32,    26,    38,    23,    27,
2303          36,    33,    24,    23,    23,    39,    19,    36,    32,    21,
2304          20,    38,    23,    39,    23,    19,    34,    19,    23,    34,
2305          37,    21,    21,  1643,    19,    32,    19,    21,    20,    32,
2306          21,    32,    19,    23,    40,    33,    33,    21,    34,    21,
2307        1151,  1687,    23,    32,  1155,    23,    89,    23,    36,    34,
2308          21,    89,    38,    36,  1150,  1166,  1167,  1168,  1169,    39,
2309          34,    31,    23,  1174,    32,    23,    89,    34,    89,    23,
2310          23,    34,    32,    23,    23,    23,    38,    21,    24,    34,
2311          39,    89,  1193,    30,    19,    37,  1182,  1198,    19,    34,
2312        1201,  1202,    19,  1204,    37,  1206,    38,  1256,    38,    38,
2313          36,  1260,    30,    19,    38,    30,    32,    27,  1728,    38,
2314          89,  1270,    89,  1272,    89,    33,    89,    32,    32,    36,
2315          33,  1280,    33,    89,  1770,    89,  1285,    34,    33,    39,
2316          31,    22,    89,    42,    37,    33,    36,    34,    23,    32,
2317          39,    33,    24,    38,    19,    34,    36,    19,    22,  1308,
2318          38,    27,    36,    23,    23,    36,    19,    19,    24,    30,
2319          33,    38,  1321,    43,    32,    19,    89,    32,  1327,    36,
2320        1329,  1400,    33,    33,    32,    31,    31,    36,    27,    36,
2321          24,    31,    24,    19,    37,    36,    33,    39,    22,    27,
2322          23,    23,    38,    36,    39,    43,    23,    19,    38,    19,
2323          23,    32,    89,    33,    32,  1851,    19,    33,    37,    23,
2324          31,    36,    22,    31,    38,    32,    23,    36,    27,    23,
2325          31,    23,    38,    38,    32,    23,    38,    23,    33,    32,
2326          23,  1518,    38,    24,  1406,    23,    36,    36,    23,    40,
2327          23,    38,    36,    38,    26,    32,    23,    39,    89,    38,
2328        1728,    37,    33,    22,    38,    33,    36,    36,    30,  1208,
2329          36,    36,  1373,  1374,  1375,  1376,    37,  1220,  1890,  1387,
2330        1408,  1382,  1382,   855,    -1,   625,   292,   659,   292,    -1,
2331        1439,  1440,    56,    -1,   633,    -1,    -1,    -1,    -1,    -1,
2332          -1,    -1,    -1,    -1,    -1,    -1,  1392,    -1,    -1,    -1,
2333          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2334          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2335         292,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   297,    -1,
2336          -1,    -1,   297,  1444,     3,     4,     5,     6,     7,     8,
2337         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2338        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2339        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1713  static const short int yycheck[] = Line 2355  static const short int yycheck[] =
2355       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2356       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2357       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2358       219,   220,   221,   222,   223,     3,     4,     5,     6,    -1,       219,   220,   221,   222,   297,   224,     3,     4,     5,     6,
        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,  
2359         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2360        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,        17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2361        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,        27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
# Line 1757  static const short int yycheck[] = Line 2377  static const short int yycheck[] =
2377       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2378       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2379       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2380       217,   218,   219,   220,   221,   222,   223,     3,     4,     5,       217,   218,   219,   220,   221,   297,   223,   224,     3,     4,
2381        -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
       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,  
2382        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2383        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2384        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
# Line 1801  static const short int yycheck[] = Line 2399  static const short int yycheck[] =
2399       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2400       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2401       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2402       215,   216,   217,   218,   219,   220,   221,   222,   223,     3,       215,   216,   217,   218,   219,   220,   221,   297,   297,   224,
2403         4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
       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,  
2404        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2405        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2406        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
# Line 1845  static const short int yycheck[] = Line 2421  static const short int yycheck[] =
2421       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2422       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2423       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2424       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,       213,   214,   215,   216,   217,   218,   219,   220,   221,   297,
2425       223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,       297,   224,     3,     4,     5,     6,     7,     8,     9,    10,
       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,  
2426        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2427        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2428        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1890  static const short int yycheck[] = Line 2444  static const short int yycheck[] =
2444       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2445       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2446       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2447       221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,       221,   222,   223,     3,     4,     5,     6,     7,     8,     9,
2448        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2449        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2450        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1912  static const short int yycheck[] = Line 2466  static const short int yycheck[] =
2466       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2467       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2468       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2469       220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,       220,   221,   222,   223,     3,     4,     5,     6,     7,     8,
2470         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2471        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2472        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
# Line 1934  static const short int yycheck[] = Line 2488  static const short int yycheck[] =
2488       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2489       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2490       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2491       219,   220,   221,   222,   223       219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
 };  
   
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  
    symbol of state STATE-NUM.  */  
 static const unsigned short int yystos[] =  
 {  
        0,     1,     3,    21,    23,    24,    27,    32,    37,    38,  
       39,    41,   228,   229,   230,   231,   270,   271,   272,   273,  
      274,   275,   278,   279,   280,   281,   282,   318,   321,    24,  
       38,    25,    25,    29,    35,    41,    25,    25,    41,    34,  
        0,   225,   226,   268,   269,     3,     4,     5,     8,     9,  
2492        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2493        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2494        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
# Line 1967  static const unsigned short int yystos[] Line 2510  static const unsigned short int yystos[]
2510       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2511       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2512       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2513       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
2514       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2515       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2516        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
2517        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
2518       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
2519        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
2520        21,    23,    25,    33,    39,   234,   283,   284,   285,   286,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
2521       294,   296,   297,   298,   299,   300,   301,   303,   305,   306,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
2522       307,   308,   309,   310,   314,    21,    33,   236,   297,   307,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
2523       237,   297,   307,    21,    23,    33,   242,   284,   285,   286,       101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
2524       296,   303,   306,    29,   238,   293,   294,   283,    21,    25,       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
2525        33,   235,   283,   295,   300,   304,   305,   320,    22,    23,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
2526        33,    39,    42,   232,   288,   289,   290,   291,   292,   319,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
2527       233,   288,   289,   290,   291,   292,   319,   259,   265,   267,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
2528       283,    21,    40,    40,    24,    40,    35,    25,    25,    39,       151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
2529        41,   262,    28,    41,    42,    28,    34,    29,    25,   267,       161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
2530       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
2531       267,   267,    41,    29,   267,   267,   267,   267,    41,    28,       181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
2532        29,    34,   267,   267,   267,    41,    23,    29,   267,   267,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2533       267,   267,   267,   267,    41,    28,    29,    40,    35,   259,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2534       267,   267,    40,    38,    42,    40,    23,    23,    22,    21,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2535        24,    21,    21,    27,    24,    38,    29,   287,   290,   291,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2536       292,   287,   287,   287,   287,   287,   287,   287,   287,   287,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2537       287,   287,   287,    24,    24,   259,   259,    12,    13,    14,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2538        15,    16,    17,    18,    19,    20,   263,   263,    24,    21,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2539        24,    39,     6,     7,    34,   243,   255,   266,   277,   244,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2540       254,   259,   252,   263,    24,    28,    24,    21,    33,    42,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2541       239,   297,   301,   302,   307,   310,   311,   312,   313,   315,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2542       263,   263,   263,   263,   258,   259,   263,    26,    21,    39,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2543        38,    29,   252,    25,    35,    25,    40,    38,    39,    34,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2544        29,    29,    34,    29,    29,    42,    34,   267,   267,   267,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2545       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2546       267,   267,    29,    29,   267,   267,    29,    34,    29,    40,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2547       265,   265,    35,   267,   267,   267,    29,    35,    29,    41,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2548        29,    35,   267,   267,   267,   267,   267,   267,   267,   267,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2549       267,   267,   267,   267,   267,    26,    34,    23,    25,    23,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2550        45,    29,    23,    34,    35,    32,    34,    34,    91,    25,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2551        26,   252,    22,    36,   241,   316,   317,   252,   252,   254,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2552       263,   259,   259,   263,   263,   263,   263,   259,   259,   263,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2553        35,    91,   240,   259,   240,    35,    34,    91,    38,     6,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2554         7,    34,   253,   263,   255,   252,    35,    91,    24,    24,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2555        32,   252,   252,   252,   252,   252,   252,   252,   252,   252,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2556       259,   263,   259,   263,    25,    34,    25,    21,    25,    22,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2557        38,    25,    91,    21,    25,    25,    29,    38,    35,    45,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2558        25,   267,   267,   267,   267,   267,   267,   267,    91,    29,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2559       267,     4,    91,    25,    29,    41,    91,   267,   267,    91,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2560        29,    29,    29,    41,   267,   267,   267,   267,   267,   267,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2561       267,   267,   267,     4,   267,     4,   267,    38,    25,    32,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2562        33,    91,    25,    29,    32,    35,    22,    32,    34,    40,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2563        38,   252,   259,   263,   263,   263,   259,   263,    35,    34,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2564       259,     6,     7,     9,    10,   256,   257,   259,   260,   261,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2565       262,   263,    35,    32,    34,    33,    33,   252,   253,    35,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2566        34,    35,    91,    33,   245,   263,   246,   263,   247,   259,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2567       245,   248,   263,    21,   249,   263,   276,   250,   259,   245,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2568         9,    10,   251,   260,   263,   256,   259,   256,   259,    91,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2569        32,    32,    91,    23,    22,    41,    32,    39,    36,    25,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2570        23,   267,   267,   267,   267,    41,    36,     4,   259,   259,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2571       261,   261,     5,     8,    41,    36,    25,    35,   267,    41,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2572        36,    91,    29,    25,   267,    32,   267,     4,     4,    26,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2573        91,    21,    23,    35,    25,    40,    25,    41,    39,    25,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2574       240,   259,   259,   240,    40,    41,   256,     6,     7,     8,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2575         8,   257,   261,    40,    41,    34,    24,   252,    40,    41,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2576        35,    34,   246,    32,   248,   256,   256,    29,    23,    29,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2577        34,    35,    41,    36,    91,    40,    34,    36,    40,   261,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2578       261,    36,    40,    40,    21,    36,    40,    41,    36,   267,       213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
2579        32,    35,    34,    25,    41,    34,    41,    21,    25,    33,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2580        91,    40,    41,    91,    41,    91,    32,    41,    91,    40,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2581        41,   249,    32,    41,    26,    35,    34,    40,    40,    41,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2582        34,    29,    24,    36,    21,    40,    24,    40,    24,    40,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2583        24,    36,    36,    40,    34,    35,    41,    40,    91,    24,        44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2584        27,    24,    25,    38,    35,    27,    91,    25,    91,    25,        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2585        91,    25,    35,    41,    91,    40,    39,    23,    24,    29,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2586        29,    29,    42,    29,    38,    25,    24,    42,    24,    42,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2587        23,    24,    42,    38,    40,    23,    36,    40,    28,    25,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2588        38,    35,    34,    91,    29,    42,    40,    25,    29,    25,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2589        29,    28,    25,    29,    40,    91,    28,    35,    45,    21,       104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2590        42,    29,    91,    25,    29,    23,    25,    91,    42,    23,       114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2591        42,    23,    21,    42,    23,    23,    40,    21,    38,    36,       124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2592        34,    29,    42,    35,    39,    34,    25,    38,    36,    29,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2593        25,    29,    25,    34,    29,    25,    28,    45,    34,    40,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2594        25,    34,    23,    25,    41,    36,    39,    91,    21,    23,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2595        23,    34,    23,    91,    21,    36,    34,    25,    25,    38,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2596        40,    41,    36,    38,    25,    25,    25,    25,    36,    34,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2597        25,    25,    32,    39,    91,    36,    40,    21,    21,    32,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2598        91,    21,    34,    32,    91,    36,    41,    91,    38,    33,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2599        36,    38,    25,    36,    21,    40,    24,    21,    25,    21,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2600        21,    32,    21,    38,    91,    38,    33,    40,    38,    33,       214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2601        38,    21,    24,    29,    25,    25,    21,    25,    21,    33,         5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2602        38,    42,    40,    38,    33,    40,    33,    25,    29,    25,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2603        25,    25,    25,    25,    40,    42,    38,    38,    40,    38,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2604        40,    25,    25,    39,    25,    25,    38,    38,    38,    38,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2605        39        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2606          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2607          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2608          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2609          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2610          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2611         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2612         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2613         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2614         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2615         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2616         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2617         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2618         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2619         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2620         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2621         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2622         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2623           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2624          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2625          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2626          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2627          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2628          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2629          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2630          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2631          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2632          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2633         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2634         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2635         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2636         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2637         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2638         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2639         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2640         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2641         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2642         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2643         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2644         216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2645           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2646          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2647          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2648          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2649          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2650          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2651          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2652          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2653          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2654          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2655         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2656         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2657         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2658         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2659         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2660         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2661         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2662         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2663         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2664         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2665         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2666         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2667           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2668          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2669          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2670          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2671          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2672          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2673          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2674          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2675          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2676          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2677         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2678         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2679         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2680         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2681         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2682         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2683         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2684         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2685         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2686         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2687         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2688         218,   219,   220,   221,   297,   297,   297,   297,   297,   297,
2689         297,   297,   297,   297,   293,   292,   292,   295,   292,   292,
2690         295,   292,    -1,    -1,    -1,   297
2691  };  };
2692    
2693  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2694  # define YYSIZE_T __SIZE_TYPE__     symbol of state STATE-NUM.  */
2695  #endif  static const yytype_uint16 yystos[] =
2696  #if ! defined (YYSIZE_T) && defined (size_t)  {
2697  # define YYSIZE_T size_t         0,     1,     3,    19,    21,    22,    24,    25,    30,    31,
2698  #endif        35,    36,    37,    39,   228,   229,   230,   231,   294,   295,
2699  #if ! defined (YYSIZE_T)       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2700  # if defined (__STDC__) || defined (__cplusplus)       310,   311,   312,   313,   390,   394,    22,    30,    33,    36,
2701  #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */        23,    27,    23,    27,    33,    19,    33,    39,    23,    23,
2702  #  define YYSIZE_T size_t        39,    32,     0,   225,   226,   292,   293,     3,     4,     5,
2703  # endif         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2704  #endif        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2705  #if ! defined (YYSIZE_T)        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2706  # define YYSIZE_T unsigned int        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2707  #endif        46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2708          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2709          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2710          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2711          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2712          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2713         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2714         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2715         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2716         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2717         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2718         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2719         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2720         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2721         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2722         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2723         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2724         216,   217,   218,   219,   220,   221,   224,   283,   286,   287,
2725         288,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2726         291,   291,   291,   291,   291,   291,   291,   291,   291,    22,
2727          23,    34,    23,    37,    32,    38,    37,    19,    34,    40,
2728          27,    31,    37,    38,    20,    31,    37,   292,     9,    10,
2729          11,    12,    13,    14,    15,    16,    17,    18,   285,   286,
2730         285,   285,   285,   285,   285,   285,   285,   285,     3,     9,
2731          10,    11,    12,    13,    14,    15,    16,    17,    18,   288,
2732          21,    22,    31,   232,   314,   363,   373,   375,    19,    21,
2733          22,    23,    24,    31,    37,    38,    40,   238,   314,   315,
2734         316,   317,   339,   340,   343,   348,   349,   350,   351,   352,
2735         353,   355,   357,   358,   359,   360,   361,   362,   363,   364,
2736         365,   366,   371,   372,   373,   374,   375,   376,   377,   383,
2737         384,    31,   235,   361,   236,   361,    31,   242,   362,    22,
2738         243,   374,   375,    22,   244,   373,   376,   245,   373,   376,
2739          19,    24,    31,   240,   349,   359,   371,   246,   349,   359,
2740         371,    19,    21,    24,    31,   252,   315,   316,   317,   348,
2741         355,   358,   362,   364,   372,   374,   375,    27,   247,   342,
2742         343,   237,   314,   363,   373,   376,    19,    23,    31,   239,
2743         314,   347,   352,   356,   357,   363,   371,   373,   376,   384,
2744         393,    19,    20,    21,    22,    24,    25,    31,    37,    38,
2745          40,   233,   319,   320,   321,   322,   323,   324,   325,   326,
2746         327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
2747         337,   338,   339,   341,   391,   234,   319,   320,   321,   322,
2748         323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
2749         333,   334,   335,   336,   337,   338,   339,   341,   391,   241,
2750         314,    19,    43,    19,    38,    22,    38,    22,    23,    38,
2751          33,    23,    37,    19,    39,   286,    26,    20,    27,   291,
2752         291,   291,    39,    40,    26,    20,    32,    42,    27,    23,
2753          33,    33,   291,   291,   291,   291,   291,   291,   291,   291,
2754         291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2755         291,   291,   291,   291,   291,    27,   291,   291,    27,   291,
2756          20,   291,   291,    20,   291,   291,   291,   291,    39,    42,
2757          27,   291,   291,   291,   291,   291,   291,    39,    26,    42,
2758          27,   291,   291,   291,   291,    32,   291,   291,   291,   291,
2759         291,   291,    39,    21,    27,   291,   291,   291,   291,   291,
2760         291,   291,   291,   291,   291,   291,    39,    39,    26,    20,
2761          42,    30,    27,    38,    33,    33,   291,    36,    38,    36,
2762          40,    38,    21,    34,    20,    19,    89,    22,   222,   223,
2763         274,   290,   271,   290,    24,    32,    36,   271,   281,   309,
2764         380,   381,   382,    22,    19,    19,    89,    25,    89,    22,
2765          36,    38,    30,    27,   318,   336,   337,   338,   318,   318,
2766         318,   318,   318,   318,   318,   318,   318,   318,    10,    11,
2767          12,    13,    14,    15,    16,    17,    18,    19,   262,   287,
2768         306,   318,   318,   318,   318,   267,   287,   318,   271,   381,
2769         271,   381,   318,   318,   318,    22,    32,   249,   309,   262,
2770          22,   262,   306,    89,    32,   271,   382,   271,   382,    89,
2771         271,   271,   271,   271,    22,    89,    22,   283,   283,   267,
2772         287,   287,   267,    22,    19,    89,    22,   262,   306,   267,
2773         271,   381,   271,   381,    37,   253,   273,   290,   309,   254,
2774         270,   283,   267,   262,   306,    24,   271,   379,   271,    22,
2775          26,    22,    19,    31,    37,   248,   349,   353,   354,   359,
2776         363,   366,   367,   368,   369,   384,   386,   387,   287,   287,
2777         287,   287,    32,   392,    19,    30,    31,   353,   370,   385,
2778         392,    22,   378,   392,   378,   392,     7,     8,   266,   284,
2779         285,   286,   287,   282,   283,   287,    22,    24,    19,    89,
2780          89,    33,    22,    37,    36,    38,    27,   267,    23,    33,
2781          23,    36,    37,    32,    27,    27,   283,   289,   291,   289,
2782          30,    33,    23,   291,   291,   291,    27,    27,    32,    27,
2783          27,    37,    27,    40,    19,    39,    32,   291,   291,   291,
2784         291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2785         291,    30,   291,   291,   291,   291,   291,   291,   291,   291,
2786         291,    27,    33,   262,   291,   291,    27,    27,    33,   291,
2787         291,   291,   291,    27,   291,   291,   291,   291,    27,    37,
2788          27,   291,   291,   291,   291,    27,    32,    37,    27,   291,
2789         291,    38,   291,   291,   291,    33,   291,    27,    33,    27,
2790          39,    27,    39,    33,   291,   291,   291,   291,   291,   291,
2791         291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2792          19,   291,    39,    23,    27,   291,   291,   291,   291,    23,
2793         291,   291,   291,   291,   285,   285,     6,    27,    24,    32,
2794          27,    37,    20,    27,    21,    23,    19,    21,    43,    27,
2795          21,    32,    32,    89,   222,   283,   291,   223,    19,    32,
2796          21,   271,   271,   271,   281,    33,    30,    32,    32,    32,
2797          23,    89,    23,    30,    31,    24,   267,    20,    34,   251,
2798         388,   389,   267,   267,   270,   287,   283,   283,   287,   287,
2799         287,   287,   283,   262,    30,   262,   283,   287,   267,   271,
2800         271,   271,   271,   287,    89,    32,   291,   263,   287,    89,
2801          32,    32,   279,   283,   271,   279,   271,    32,   271,   271,
2802         271,   271,    33,    23,    89,   250,   283,   250,   265,   287,
2803         269,   287,    33,    32,    23,    89,   271,   271,    36,   268,
2804         287,   273,   267,    36,   271,    33,    89,    22,    22,    38,
2805          30,   267,   267,   267,   267,   267,   267,   267,   267,   267,
2806         267,   267,   267,   283,   287,   283,   287,    31,   262,    22,
2807          40,    22,   267,   267,   267,   267,    37,   271,   271,   271,
2808         271,     6,     6,   285,    33,    23,    32,    32,    23,    19,
2809          89,    23,    19,    30,    23,    20,    36,    23,    37,    27,
2810          38,    89,    39,   291,   291,   291,   291,    89,    19,    23,
2811          37,    23,    32,    27,    36,    89,    23,    33,    43,    23,
2812         291,   291,   291,   291,   291,   291,   291,   291,   291,    27,
2813          89,   263,   291,    27,    37,    89,   291,     4,   291,   291,
2814          37,    89,    32,    27,   291,     4,   291,    89,    23,    32,
2815          27,    39,   291,   291,    21,    89,    27,    27,    27,    23,
2816          33,   291,   291,   291,   291,   291,   291,   291,   291,   291,
2817         291,   291,   291,     4,   291,     4,   291,    23,   291,    27,
2818          23,    27,   291,   291,   291,   291,    21,   291,   291,   291,
2819         291,   285,   285,    89,    36,    23,    37,    32,    30,    27,
2820          30,    31,    89,    89,    23,    27,    30,    38,    32,    31,
2821          36,    36,   268,   271,   271,   271,    33,    20,    30,    38,
2822          22,    32,    40,    38,    36,   267,   283,   287,   287,   287,
2823         283,   263,   287,   269,    32,   291,   264,   287,    32,    38,
2824         283,   280,   283,   290,   279,   279,    38,    33,    22,    32,
2825         283,     7,     8,   277,   278,   283,   284,   287,   290,   276,
2826         290,    33,    30,    22,    32,    31,   267,   268,    23,    33,
2827          32,    33,    89,   256,   287,   257,   287,   258,   283,   256,
2828          22,    32,   262,   307,   308,   259,   287,   260,   287,   306,
2829         261,   283,   256,   266,   282,   282,   277,   283,   277,   283,
2830         274,    33,    30,    89,   269,   269,   269,   269,    36,   290,
2831         272,   290,   290,   272,    33,    89,    30,    38,    22,    89,
2832          32,    30,    89,    40,    21,    20,    36,    37,    33,    23,
2833          37,   291,   291,    39,    30,    37,    36,    37,    34,    37,
2834          33,    23,    21,   291,   291,   291,   291,   291,    37,   264,
2835          37,    36,     4,    36,    39,    34,     4,     5,    39,    34,
2836          37,    23,   291,    39,    34,    89,    27,   291,    23,    33,
2837         291,     4,     4,    89,    21,   291,   291,   291,   291,    27,
2838          39,    24,    89,    36,    89,    27,    34,    37,    19,    21,
2839          33,    33,    23,    39,    38,    22,    21,    27,   268,   271,
2840          38,    23,    39,    39,    38,    27,    37,    23,   250,   283,
2841         283,   250,   264,    38,   291,    38,    39,   280,    39,    38,
2842          39,   277,   278,    38,    39,    38,    32,   267,    38,    39,
2843          33,    32,   257,    24,    32,   259,   277,   277,    33,    33,
2844         257,   265,   266,   276,    34,    38,    27,    21,    27,    39,
2845          21,    27,    32,    39,    38,    32,    33,    27,    39,    31,
2846          36,    19,    39,    40,    34,    89,    31,    38,    36,    21,
2847          32,    36,   270,    36,    31,    31,    34,    38,    34,    38,
2848          36,    38,    34,    38,    39,    34,    19,    23,   291,    39,
2849          32,   291,    38,    34,    30,    33,    32,    31,    33,    32,
2850          24,    38,    36,    23,    39,    21,    32,    23,    39,    30,
2851          36,    23,    39,    19,    23,    31,    23,    89,    39,    23,
2852          38,    39,   291,    39,    23,    23,    39,    89,    39,    89,
2853          39,    39,    89,    38,    39,    39,   260,    38,    38,   257,
2854          27,    39,    30,    39,    24,    23,    39,    24,    33,    89,
2855          39,    33,    32,    23,    38,    32,    31,    37,    38,    39,
2856          32,    27,    32,    22,    34,    31,    89,    19,    31,   273,
2857          31,    32,    32,    38,    22,    38,    22,    31,    38,    22,
2858          34,    34,    38,    30,    34,    36,    33,    38,    32,    33,
2859          32,    32,    33,    22,    31,    39,    38,    89,    38,    23,
2860          27,    89,    22,    25,    22,    38,    23,    36,    33,    23,
2861          21,    25,    23,   291,    23,    38,    38,    89,    23,    89,
2862          23,    23,    89,    23,    33,    39,    89,    38,    39,    33,
2863          32,    89,    38,    38,    38,    23,    23,    37,    21,    37,
2864          89,    32,    40,    21,    22,    27,    27,    27,    37,    89,
2865          40,    27,    36,    32,    33,    23,    32,   268,    32,    89,
2866          22,    40,    22,    40,    32,    21,    22,    40,    36,    38,
2867          21,    34,    38,    38,    30,    22,    37,    89,    40,    32,
2868          33,    22,    38,    23,    26,    23,    36,    33,    32,    89,
2869          89,    22,    27,    40,    38,    38,    39,    38,   291,    38,
2870          22,    23,    27,    23,    27,    38,    26,    23,    27,    38,
2871          89,    26,    33,    43,    89,    30,    23,    89,    21,    22,
2872          27,    27,    38,    39,    27,    89,    19,    40,    27,    89,
2873          23,    27,    28,    27,    21,    23,    89,    37,    89,    32,
2874         266,    27,    40,    21,    40,    21,    89,    19,    40,    21,
2875          21,    38,    19,    36,    34,    23,    40,    28,    33,    27,
2876          32,    21,    89,    32,    36,    31,    32,    27,    40,    33,
2877          37,    32,    33,    36,    23,    36,    34,    31,    38,   291,
2878          36,    27,    23,    27,    23,    31,    32,    27,    23,    26,
2879          43,    32,    38,    23,    36,    27,    33,    39,    36,    24,
2880          23,    21,    27,    31,    38,    23,    19,    32,    21,    23,
2881          39,    34,    20,    23,    37,    89,    19,    19,    89,    33,
2882          34,   255,   275,   290,   344,   345,   346,    23,    21,    21,
2883          19,    32,    21,    89,    19,    34,    32,    21,    20,    32,
2884          23,    33,    89,    33,    32,    19,    21,    34,    23,    23,
2885          36,    38,    39,    21,    34,    36,    34,    31,    32,    23,
2886         291,    21,    23,    23,    34,    23,    23,    34,    32,    23,
2887          23,    23,    89,    38,    21,    21,    27,    39,    24,    34,
2888          38,    30,    37,    89,    34,    38,    38,    19,    19,    37,
2889          19,    89,    36,   275,    38,    30,    89,    19,    32,    30,
2890          89,    27,    38,    33,    32,    32,    33,    89,    33,    89,
2891          34,    39,    89,    33,    36,    31,    42,    22,    37,    33,
2892          34,    36,    23,    21,    27,    32,    33,    39,    24,    38,
2893          21,    27,    36,    34,    19,    38,    22,    36,    19,    23,
2894          23,    27,    36,    19,    19,    30,    33,    32,    24,    36,
2895          32,    33,    33,    32,    43,    19,    36,    89,    36,    27,
2896          31,    38,    31,    37,    36,    31,    39,    24,    33,    43,
2897          38,    39,    24,    36,    19,    22,    27,    23,    23,    23,
2898          19,    38,    19,    23,    32,    33,    89,    32,    33,    19,
2899          31,    36,    40,    37,    38,    36,    32,    23,    31,    38,
2900          38,    21,    27,    38,    31,    23,    27,    23,    23,    22,
2901          32,    23,    23,    33,    32,    23,    38,    40,    36,    36,
2902          89,    38,    38,    36,    39,    24,    38,    23,    23,    37,
2903          26,    23,    32,    33,    23,    36,    36,    33,    36,    38,
2904          36,    37,    30,    22
2905    };
2906    
2907  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2908  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
# Line 2103  do                                                             \ Line 2929  do                                                             \
2929        yychar = (Token);                                         \        yychar = (Token);                                         \
2930        yylval = (Value);                                         \        yylval = (Value);                                         \
2931        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2932        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2933        goto yybackup;                                            \        goto yybackup;                                            \
2934      }                                                           \      }                                                           \
2935    else                                                          \    else                                                          \
2936      {                                                           \      {                                                           \
2937        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2938        YYERROR;                                                  \        YYERROR;                                                  \
2939      }                                                           \      }                                                           \
2940  while (0)  while (YYID (0))
2941    
2942    
2943  #define YYTERROR        1  #define YYTERROR        1
2944  #define YYERRCODE       256  #define YYERRCODE       256
2945    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2946    
2947    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2948       If N is 0, then set CURRENT to the empty location which ends
2949       the previous symbol: RHS[0] (always defined).  */
2950    
2951    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2952  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2953  # define YYLLOC_DEFAULT(Current, Rhs, N)                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2954     ((Current).first_line   = (Rhs)[1].first_line,       \      do                                                                  \
2955      (Current).first_column = (Rhs)[1].first_column,     \        if (YYID (N))                                                    \
2956      (Current).last_line    = (Rhs)[N].last_line,        \          {                                                               \
2957      (Current).last_column  = (Rhs)[N].last_column)            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2958              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2959              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2960              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2961            }                                                               \
2962          else                                                              \
2963            {                                                               \
2964              (Current).first_line   = (Current).last_line   =              \
2965                YYRHSLOC (Rhs, 0).last_line;                                \
2966              (Current).first_column = (Current).last_column =              \
2967                YYRHSLOC (Rhs, 0).last_column;                              \
2968            }                                                               \
2969        while (YYID (0))
2970    #endif
2971    
2972    
2973    /* YY_LOCATION_PRINT -- Print the location on the stream.
2974       This macro was not mandated originally: define only if we know
2975       we won't break user code: when these are the locations we know.  */
2976    
2977    #ifndef YY_LOCATION_PRINT
2978    # if YYLTYPE_IS_TRIVIAL
2979    #  define YY_LOCATION_PRINT(File, Loc)                  \
2980         fprintf (File, "%d.%d-%d.%d",                      \
2981                  (Loc).first_line, (Loc).first_column,     \
2982                  (Loc).last_line,  (Loc).last_column)
2983    # else
2984    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2985    # endif
2986  #endif  #endif
2987    
2988    
2989  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2990    
2991  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2147  while (0) Line 3006  while (0)
3006  do {                                            \  do {                                            \
3007    if (yydebug)                                  \    if (yydebug)                                  \
3008      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
3009  } while (0)  } while (YYID (0))
3010    
3011  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
3012  do {                                            \  do {                                                                      \
3013    if (yydebug)                                  \    if (yydebug)                                                            \
3014      yysymprint Args;                            \      {                                                                     \
3015  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
3016          yy_symbol_print (stderr,                                            \
3017                      Type, Value); \
3018          YYFPRINTF (stderr, "\n");                                           \
3019        }                                                                     \
3020    } while (YYID (0))
3021    
3022  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
3023  do {                                                            \  /*--------------------------------.
3024    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
3025      {                                                           \  `--------------------------------*/
3026        YYFPRINTF (stderr, "%s ", Title);                         \  
3027        yysymprint (stderr,                                       \  /*ARGSUSED*/
3028                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
3029        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
3030      }                                                           \  static void
3031  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3032    #else
3033    static void
3034    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
3035        FILE *yyoutput;
3036        int yytype;
3037        YYSTYPE const * const yyvaluep;
3038    #endif
3039    {
3040      if (!yyvaluep)
3041        return;
3042    # ifdef YYPRINT
3043      if (yytype < YYNTOKENS)
3044        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3045    # else
3046      YYUSE (yyoutput);
3047    # endif
3048      switch (yytype)
3049        {
3050          default:
3051            break;
3052        }
3053    }
3054    
3055    
3056    /*--------------------------------.
3057    | Print this symbol on YYOUTPUT.  |
3058    `--------------------------------*/
3059    
3060    #if (defined __STDC__ || defined __C99__FUNC__ \
3061         || defined __cplusplus || defined _MSC_VER)
3062    static void
3063    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
3064    #else
3065    static void
3066    yy_symbol_print (yyoutput, yytype, yyvaluep)
3067        FILE *yyoutput;
3068        int yytype;
3069        YYSTYPE const * const yyvaluep;
3070    #endif
3071    {
3072      if (yytype < YYNTOKENS)
3073        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3074      else
3075        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3076    
3077      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
3078      YYFPRINTF (yyoutput, ")");
3079    }
3080    
3081  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
3082  | 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 |
3083  | TOP (included).                                                   |  | TOP (included).                                                   |
3084  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
3085    
3086  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3087         || defined __cplusplus || defined _MSC_VER)
3088  static void  static void
3089  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3090  #else  #else
3091  static void  static void
3092  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
3093      short int *bottom;      yytype_int16 *bottom;
3094      short int *top;      yytype_int16 *top;
3095  #endif  #endif
3096  {  {
3097    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
3098    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
3099      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
3100    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
3101  }  }
# Line 2191  yy_stack_print (bottom, top) Line 3104  yy_stack_print (bottom, top)
3104  do {                                                            \  do {                                                            \
3105    if (yydebug)                                                  \    if (yydebug)                                                  \
3106      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
3107  } while (0)  } while (YYID (0))
3108    
3109    
3110  /*------------------------------------------------.  /*------------------------------------------------.
3111  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
3112  `------------------------------------------------*/  `------------------------------------------------*/
3113    
3114  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3115         || defined __cplusplus || defined _MSC_VER)
3116  static void  static void
3117  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
3118  #else  #else
3119  static void  static void
3120  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
3121        YYSTYPE *yyvsp;
3122      int yyrule;      int yyrule;
3123  #endif  #endif
3124  {  {
3125      int yynrhs = yyr2[yyrule];
3126    int yyi;    int yyi;
3127    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
3128    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3129               yyrule - 1, yylno);               yyrule - 1, yylno);
3130    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
3131    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
3132      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
3133    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
3134          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3135                           &(yyvsp[(yyi + 1) - (yynrhs)])
3136                                           );
3137          fprintf (stderr, "\n");
3138        }
3139  }  }
3140    
3141  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
3142  do {                                    \  do {                                    \
3143    if (yydebug)                          \    if (yydebug)                          \
3144      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
3145  } while (0)  } while (YYID (0))
3146    
3147  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
3148     multiple parsers can coexist.  */     multiple parsers can coexist.  */
3149  int yydebug;  int yydebug;
3150  #else /* !YYDEBUG */  #else /* !YYDEBUG */
3151  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
3152  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
3153  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
3154  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
3155  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2244  int yydebug; Line 3164  int yydebug;
3164     if the built-in stack extension method is used).     if the built-in stack extension method is used).
3165    
3166     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
3167     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3168     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
3169    
 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
3170  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
3171  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
3172  #endif  #endif
# Line 2260  int yydebug; Line 3176  int yydebug;
3176  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
3177    
3178  # ifndef yystrlen  # ifndef yystrlen
3179  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
3180  #   define yystrlen strlen  #   define yystrlen strlen
3181  #  else  #  else
3182  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
3183    #if (defined __STDC__ || defined __C99__FUNC__ \
3184         || defined __cplusplus || defined _MSC_VER)
3185  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
3186  yystrlen (const char *yystr)  yystrlen (const char *yystr)
3187  #   else  #else
3188    static YYSIZE_T
3189  yystrlen (yystr)  yystrlen (yystr)
3190       const char *yystr;      const char *yystr;
3191  #   endif  #endif
3192  {  {
3193    register const char *yys = yystr;    YYSIZE_T yylen;
3194      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
3195      continue;      continue;
3196      return yylen;
   return yys - yystr - 1;  
3197  }  }
3198  #  endif  #  endif
3199  # endif  # endif
3200    
3201  # ifndef yystpcpy  # ifndef yystpcpy
3202  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3203  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
3204  #  else  #  else
3205  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3206     YYDEST.  */     YYDEST.  */
3207    #if (defined __STDC__ || defined __C99__FUNC__ \
3208         || defined __cplusplus || defined _MSC_VER)
3209  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
3210  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
3211  #   else  #else
3212    static char *
3213  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
3214       char *yydest;      char *yydest;
3215       const char *yysrc;      const char *yysrc;
3216  #   endif  #endif
3217  {  {
3218    register char *yyd = yydest;    char *yyd = yydest;
3219    register const char *yys = yysrc;    const char *yys = yysrc;
3220    
3221    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
3222      continue;      continue;
# Line 2308  yystpcpy (yydest, yysrc) Line 3226  yystpcpy (yydest, yysrc)
3226  #  endif  #  endif
3227  # endif  # endif
3228    
3229  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
3230    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3231       quotes and backslashes, so that it's suitable for yyerror.  The
3232       heuristic is that double-quoting is unnecessary unless the string
3233       contains an apostrophe, a comma, or backslash (other than
3234       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
3235       null, do not copy; instead, return the length of what the result
3236       would have been.  */
3237    static YYSIZE_T
3238    yytnamerr (char *yyres, const char *yystr)
3239    {
3240      if (*yystr == '"')
3241        {
3242          YYSIZE_T yyn = 0;
3243          char const *yyp = yystr;
3244    
3245          for (;;)
3246            switch (*++yyp)
3247              {
3248              case '\'':
3249              case ',':
3250                goto do_not_strip_quotes;
3251    
3252              case '\\':
3253                if (*++yyp != '\\')
3254                  goto do_not_strip_quotes;
3255                /* Fall through.  */
3256              default:
3257                if (yyres)
3258                  yyres[yyn] = *yyp;
3259                yyn++;
3260                break;
3261    
3262              case '"':
3263                if (yyres)
3264                  yyres[yyn] = '\0';
3265                return yyn;
3266              }
3267        do_not_strip_quotes: ;
3268        }
3269    
3270  #if YYDEBUG    if (! yyres)
3271  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
3272    
3273  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
3274  static void  }
3275  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
3276  #else  
3277  static void  /* Copy into YYRESULT an error message about the unexpected token
3278  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
3279      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
3280      int yytype;     copy anything; just return the number of bytes that would be
3281      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
3282  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
3283       size calculation.  */
3284    static YYSIZE_T
3285    yysyntax_error (char *yyresult, int yystate, int yychar)
3286  {  {
3287    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
3288    
3289    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3290        return 0;
3291      else
3292      {      {
3293        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
3294  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3295        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
3296          YYSIZE_T yysize1;
3297          int yysize_overflow = 0;
3298          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3299          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3300          int yyx;
3301    
3302    # if 0
3303          /* This is so xgettext sees the translatable formats that are
3304             constructed on the fly.  */
3305          YY_("syntax error, unexpected %s");
3306          YY_("syntax error, unexpected %s, expecting %s");
3307          YY_("syntax error, unexpected %s, expecting %s or %s");
3308          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3309          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3310  # endif  # endif
3311      }        char *yyfmt;
3312    else        char const *yyf;
3313      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
3314          static char const yyexpecting[] = ", expecting %s";
3315          static char const yyor[] = " or %s";
3316          char yyformat[sizeof yyunexpected
3317                        + sizeof yyexpecting - 1
3318                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3319                           * (sizeof yyor - 1))];
3320          char const *yyprefix = yyexpecting;
3321    
3322          /* Start YYX at -YYN if negative to avoid negative indexes in
3323             YYCHECK.  */
3324          int yyxbegin = yyn < 0 ? -yyn : 0;
3325    
3326          /* Stay within bounds of both yycheck and yytname.  */
3327          int yychecklim = YYLAST - yyn + 1;
3328          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3329          int yycount = 1;
3330    
3331          yyarg[0] = yytname[yytype];
3332          yyfmt = yystpcpy (yyformat, yyunexpected);
3333    
3334          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3335            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3336              {
3337                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3338                  {
3339                    yycount = 1;
3340                    yysize = yysize0;
3341                    yyformat[sizeof yyunexpected - 1] = '\0';
3342                    break;
3343                  }
3344                yyarg[yycount++] = yytname[yyx];
3345                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3346                yysize_overflow |= (yysize1 < yysize);
3347                yysize = yysize1;
3348                yyfmt = yystpcpy (yyfmt, yyprefix);
3349                yyprefix = yyor;
3350              }
3351    
3352          yyf = YY_(yyformat);
3353          yysize1 = yysize + yystrlen (yyf);
3354          yysize_overflow |= (yysize1 < yysize);
3355          yysize = yysize1;
3356    
3357    switch (yytype)        if (yysize_overflow)
3358      {          return YYSIZE_MAXIMUM;
3359        default:  
3360          break;        if (yyresult)
3361            {
3362              /* Avoid sprintf, as that infringes on the user's name space.
3363                 Don't have undefined behavior even if the translation
3364                 produced a string with the wrong number of "%s"s.  */
3365              char *yyp = yyresult;
3366              int yyi = 0;
3367              while ((*yyp = *yyf) != '\0')
3368                {
3369                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3370                    {
3371                      yyp += yytnamerr (yyp, yyarg[yyi++]);
3372                      yyf += 2;
3373                    }
3374                  else
3375                    {
3376                      yyp++;
3377                      yyf++;
3378                    }
3379                }
3380            }
3381          return yysize;
3382      }      }
   YYFPRINTF (yyoutput, ")");  
3383  }  }
3384    #endif /* YYERROR_VERBOSE */
3385    
3386    
 #endif /* ! YYDEBUG */  
3387  /*-----------------------------------------------.  /*-----------------------------------------------.
3388  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
3389  `-----------------------------------------------*/  `-----------------------------------------------*/
3390    
3391  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
3392    #if (defined __STDC__ || defined __C99__FUNC__ \
3393         || defined __cplusplus || defined _MSC_VER)
3394  static void  static void
3395  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3396  #else  #else
3397  static void  static void
3398  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
3399        const char *yymsg;
3400      int yytype;      int yytype;
3401      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3402  #endif  #endif
3403  {  {
3404    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3405    (void) yyvaluep;  
3406      if (!yymsg)
3407        yymsg = "Deleting";
3408      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3409    
3410    switch (yytype)    switch (yytype)
3411      {      {
3412    
3413        default:        default:
3414          break;          break;
3415      }      }
3416  }  }
3417    
# Line 2379  yydestruct (yytype, yyvaluep) Line 3419  yydestruct (yytype, yyvaluep)
3419  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3420    
3421  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3422  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3423  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3424  # else  #else
3425  int yyparse ();  int yyparse ();
3426  # endif  #endif
3427  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3428  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3429  int yyparse (void);  int yyparse (void);
3430  #else  #else
3431  int yyparse ();  int yyparse ();
# Line 2402  int yyparse (); Line 3442  int yyparse ();
3442  `----------*/  `----------*/
3443    
3444  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3445  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3446  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3447  # else  int
3448  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3449    void *YYPARSE_PARAM;  #else
3450  # endif  int
3451    yyparse (YYPARSE_PARAM)
3452        void *YYPARSE_PARAM;
3453    #endif
3454  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3455  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3456         || defined __cplusplus || defined _MSC_VER)
3457  int  int
3458  yyparse (void)  yyparse (void)
3459  #else  #else
# Line 2419  yyparse () Line 3463  yyparse ()
3463  #endif  #endif
3464  #endif  #endif
3465  {  {
3466    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3467  int yychar;  int yychar;
3468    
3469  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3470  YYSTYPE yylval;  YYSTYPE yylval;
3471    
3472  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3473  int yynerrs;  int yynerrs;
3474    
3475    register int yystate;    int yystate;
3476    register int yyn;    int yyn;
3477    int yyresult;    int yyresult;
3478    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3479    int yyerrstatus;    int yyerrstatus;
3480    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3481    int yytoken = 0;    int yytoken = 0;
3482    #if YYERROR_VERBOSE
3483      /* Buffer for error messages, and its allocated size.  */
3484      char yymsgbuf[128];
3485      char *yymsg = yymsgbuf;
3486      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3487    #endif
3488    
3489    /* Three stacks and their tools:    /* Three stacks and their tools:
3490       `yyss': related to states,       `yyss': related to states,
# Line 2445  int yynerrs; Line 3495  int yynerrs;
3495       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3496    
3497    /* The state stack.  */    /* The state stack.  */
3498    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3499    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3500    register short int *yyssp;    yytype_int16 *yyssp;
3501    
3502    /* The semantic value stack.  */    /* The semantic value stack.  */
3503    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3504    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3505    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3506    
3507    
3508    
3509  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3510    
3511    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3512    
# Line 2465  int yynerrs; Line 3515  int yynerrs;
3515    YYSTYPE yyval;    YYSTYPE yyval;
3516    
3517    
3518    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3519       rule.  */       Keep to zero when no symbol should be popped.  */
3520    int yylen;    int yylen = 0;
3521    
3522    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3523    
# Line 2484  int yynerrs; Line 3534  int yynerrs;
3534    yyssp = yyss;    yyssp = yyss;
3535    yyvsp = yyvs;    yyvsp = yyvs;
3536    
   
3537    goto yysetstate;    goto yysetstate;
3538    
3539  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2492  int yynerrs; Line 3541  int yynerrs;
3541  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3542   yynewstate:   yynewstate:
3543    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3544       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3545    yyssp++;    yyssp++;
3546    
3547   yysetstate:   yysetstate:
# Line 2506  int yynerrs; Line 3554  int yynerrs;
3554    
3555  #ifdef yyoverflow  #ifdef yyoverflow
3556        {        {
3557          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3558             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3559             memory.  */             memory.  */
3560          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3561          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3562    
3563    
3564          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3565             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
3566             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3567             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3568          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3569                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3570                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3571    
# Line 2528  int yynerrs; Line 3576  int yynerrs;
3576        }        }
3577  #else /* no yyoverflow */  #else /* no yyoverflow */
3578  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3579        goto yyoverflowlab;        goto yyexhaustedlab;
3580  # else  # else
3581        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3582        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3583          goto yyoverflowlab;          goto yyexhaustedlab;
3584        yystacksize *= 2;        yystacksize *= 2;
3585        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3586          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3587    
3588        {        {
3589          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3590          union yyalloc *yyptr =          union yyalloc *yyptr =
3591            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3592          if (! yyptr)          if (! yyptr)
3593            goto yyoverflowlab;            goto yyexhaustedlab;
3594          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3595          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3596    
# Line 2573  int yynerrs; Line 3621  int yynerrs;
3621  `-----------*/  `-----------*/
3622  yybackup:  yybackup:
3623    
3624  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3625  /* Read a lookahead 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: */  
   
   /* First try to decide what to do without reference to lookahead token.  */  
3626    
3627      /* First try to decide what to do without reference to look-ahead token.  */
3628    yyn = yypact[yystate];    yyn = yypact[yystate];
3629    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3630      goto yydefault;      goto yydefault;
3631    
3632    /* Not known => get a lookahead token if don't already have one.  */    /* Not known => get a look-ahead token if don't already have one.  */
3633    
3634    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3635    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3636      {      {
3637        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2600  yybackup: Line 3646  yybackup:
3646    else    else
3647      {      {
3648        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3649        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3650      }      }
3651    
3652    /* If the proper action on seeing token YYTOKEN is to reduce or to    /* If the proper action on seeing token YYTOKEN is to reduce or to
# Line 2620  yybackup: Line 3666  yybackup:
3666    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3667      YYACCEPT;      YYACCEPT;
3668    
   /* Shift the lookahead token.  */  
   YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));  
   
   /* Discard the token being shifted unless it is eof.  */  
   if (yychar != YYEOF)  
     yychar = YYEMPTY;  
   
   *++yyvsp = yylval;  
   
   
3669    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3670       status.  */       status.  */
3671    if (yyerrstatus)    if (yyerrstatus)
3672      yyerrstatus--;      yyerrstatus--;
3673    
3674      /* Shift the look-ahead token.  */
3675      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3676    
3677      /* Discard the shifted token unless it is eof.  */
3678      if (yychar != YYEOF)
3679        yychar = YYEMPTY;
3680    
3681    yystate = yyn;    yystate = yyn;
3682      *++yyvsp = yylval;
3683    
3684    goto yynewstate;    goto yynewstate;
3685    
3686    
# Line 2671  yyreduce: Line 3716  yyreduce:
3716    switch (yyn)    switch (yyn)
3717      {      {
3718          case 4:          case 4:
3719  #line 94 "lscp.y"  #line 101 "lscp.y"
3720      { return LSCP_DONE; }      { return LSCP_DONE; }
3721      break;      break;
3722    
3723    case 5:    case 5:
3724  #line 95 "lscp.y"  #line 102 "lscp.y"
3725      { return LSCP_DONE; }      { return LSCP_DONE; }
3726      break;      break;
3727    
3728    case 6:    case 6:
3729  #line 96 "lscp.y"  #line 103 "lscp.y"
3730      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3731      break;      break;
3732    
3733    case 7:    case 7:
3734  #line 97 "lscp.y"  #line 104 "lscp.y"
3735      { 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; }
3736      break;      break;
3737    
3738    case 13:    case 13:
3739  #line 107 "lscp.y"  #line 114 "lscp.y"
3740      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3741      break;      break;
3742    
3743    case 14:    case 14:
3744  #line 108 "lscp.y"  #line 115 "lscp.y"
3745      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3746      break;      break;
3747    
3748    case 15:    case 15:
3749  #line 109 "lscp.y"  #line 116 "lscp.y"
3750      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3751      break;      break;
3752    
3753    case 16:    case 16:
3754  #line 110 "lscp.y"  #line 117 "lscp.y"
3755      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3756      break;      break;
3757    
3758    case 17:    case 17:
3759  #line 111 "lscp.y"  #line 118 "lscp.y"
3760      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3761      break;      break;
3762    
3763    case 18:    case 18:
3764  #line 112 "lscp.y"  #line 119 "lscp.y"
3765      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3766      break;      break;
3767    
3768    case 19:    case 19:
3769  #line 113 "lscp.y"  #line 120 "lscp.y"
3770      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3771      break;      break;
3772    
3773    case 20:    case 20:
3774  #line 114 "lscp.y"  #line 121 "lscp.y"
3775      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3776      break;      break;
3777    
3778    case 21:    case 21:
3779  #line 115 "lscp.y"  #line 122 "lscp.y"
3780      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3781      break;      break;
3782    
3783    case 22:    case 22:
3784  #line 116 "lscp.y"  #line 123 "lscp.y"
3785      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3786      break;      break;
3787    
3788    case 23:    case 23:
3789  #line 117 "lscp.y"  #line 124 "lscp.y"
3790      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3791      break;      break;
3792    
3793    case 24:    case 24:
3794  #line 118 "lscp.y"  #line 125 "lscp.y"
3795      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3796      break;      break;
3797    
3798    case 25:    case 25:
3799  #line 119 "lscp.y"  #line 126 "lscp.y"
3800      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3801      break;      break;
3802    
3803    case 26:    case 26:
3804  #line 120 "lscp.y"  #line 127 "lscp.y"
3805      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3806      break;      break;
3807    
3808    case 27:    case 27:
3809  #line 123 "lscp.y"  #line 128 "lscp.y"
3810      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3811      break;      break;
3812    
3813    case 28:    case 28:
3814  #line 124 "lscp.y"  #line 129 "lscp.y"
3815      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3816      break;      break;
3817    
3818    case 29:    case 29:
3819  #line 125 "lscp.y"  #line 130 "lscp.y"
3820      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3821      break;      break;
3822    
3823    case 30:    case 30:
3824  #line 126 "lscp.y"  #line 131 "lscp.y"
3825      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3826      break;      break;
3827    
3828    case 31:    case 31:
3829  #line 127 "lscp.y"  #line 132 "lscp.y"
3830      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3831      break;      break;
3832    
3833    case 32:    case 32:
3834  #line 128 "lscp.y"  #line 135 "lscp.y"
3835      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3836      break;      break;
3837    
3838    case 33:    case 33:
3839  #line 131 "lscp.y"  #line 136 "lscp.y"
3840      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = LSCPSERVER->AddDbInstrumentDirectory((yyvsp[(3) - (3)].String));          }
3841      break;      break;
3842    
3843    case 34:    case 34:
3844  #line 132 "lscp.y"  #line 137 "lscp.y"
3845      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (9)].String),(yyvsp[(7) - (9)].String),(yyvsp[(9) - (9)].String), true);  }
3846      break;      break;
3847    
3848    case 35:    case 35:
3849  #line 133 "lscp.y"  #line 138 "lscp.y"
3850      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));        }
3851      break;      break;
3852    
3853    case 36:    case 36:
3854  #line 134 "lscp.y"  #line 139 "lscp.y"
3855      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String), -1, true); }
3856      break;      break;
3857    
3858    case 37:    case 37:
3859  #line 135 "lscp.y"  #line 140 "lscp.y"
3860      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(5) - (9)].String),(yyvsp[(7) - (9)].String),(yyvsp[(9) - (9)].Number), true);  }
3861      break;      break;
3862    
3863    case 38:    case 38:
3864  #line 136 "lscp.y"  #line 141 "lscp.y"
3865      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));           }
3866      break;      break;
3867    
3868    case 39:    case 39:
3869  #line 139 "lscp.y"  #line 142 "lscp.y"
3870      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->AddDbInstruments((yyvsp[(3) - (7)].String),(yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].Number));        }
3871      break;      break;
3872    
3873    case 40:    case 40:
3874  #line 140 "lscp.y"  #line 143 "lscp.y"
3875      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3876      break;      break;
3877    
3878    case 41:    case 41:
3879  #line 141 "lscp.y"  #line 144 "lscp.y"
3880      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3881      break;      break;
3882    
3883    case 42:    case 42:
3884  #line 142 "lscp.y"  #line 147 "lscp.y"
3885      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3886      break;      break;
3887    
3888    case 43:    case 43:
3889  #line 143 "lscp.y"  #line 148 "lscp.y"
3890      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3891      break;      break;
3892    
3893    case 44:    case 44:
3894  #line 144 "lscp.y"  #line 149 "lscp.y"
3895      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3896      break;      break;
3897    
3898    case 45:    case 45:
3899  #line 145 "lscp.y"  #line 150 "lscp.y"
3900      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3901      break;      break;
3902    
3903    case 46:    case 46:
3904  #line 146 "lscp.y"  #line 151 "lscp.y"
3905      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3906      break;      break;
3907    
3908    case 47:    case 47:
3909  #line 147 "lscp.y"  #line 152 "lscp.y"
3910      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3911      break;      break;
3912    
3913    case 48:    case 48:
3914  #line 148 "lscp.y"  #line 153 "lscp.y"
3915      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3916      break;      break;
3917    
3918    case 49:    case 49:
3919  #line 149 "lscp.y"  #line 154 "lscp.y"
3920      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3921      break;      break;
3922    
3923    case 50:    case 50:
3924  #line 150 "lscp.y"  #line 155 "lscp.y"
3925      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3926      break;      break;
3927    
3928    case 51:    case 51:
3929  #line 151 "lscp.y"  #line 156 "lscp.y"
3930      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3931      break;      break;
3932    
3933    case 52:    case 52:
3934  #line 152 "lscp.y"  #line 157 "lscp.y"
3935      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3936      break;      break;
3937    
3938    case 53:    case 53:
3939  #line 153 "lscp.y"  #line 158 "lscp.y"
3940      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3941      break;      break;
3942    
3943    case 54:    case 54:
3944  #line 154 "lscp.y"  #line 159 "lscp.y"
3945      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3946      break;      break;
3947    
3948    case 55:    case 55:
3949  #line 155 "lscp.y"  #line 160 "lscp.y"
3950      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3951      break;      break;
3952    
3953    case 56:    case 56:
3954  #line 156 "lscp.y"  #line 161 "lscp.y"
3955      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3956      break;      break;
3957    
3958    case 57:    case 57:
3959  #line 157 "lscp.y"  #line 162 "lscp.y"
3960      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
3961      break;      break;
3962    
3963    case 58:    case 58:
3964  #line 158 "lscp.y"  #line 163 "lscp.y"
3965      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
3966      break;      break;
3967    
3968    case 59:    case 59:
3969  #line 159 "lscp.y"  #line 164 "lscp.y"
3970      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_count);       }
3971      break;      break;
3972    
3973    case 60:    case 60:
3974  #line 160 "lscp.y"  #line 165 "lscp.y"
3975      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instr_info);        }
3976      break;      break;
3977    
3978    case 61:    case 61:
3979  #line 161 "lscp.y"  #line 166 "lscp.y"
3980      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_db_instrs_job_info);   }
3981      break;      break;
3982    
3983    case 62:    case 62:
3984  #line 162 "lscp.y"  #line 167 "lscp.y"
3985      { yyval.String = LSCPSERVER->GetServerInfo();                                }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3986      break;      break;
3987    
3988    case 63:    case 63:
3989  #line 165 "lscp.y"  #line 168 "lscp.y"
3990      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3991      break;      break;
3992    
3993    case 64:    case 64:
3994  #line 166 "lscp.y"  #line 169 "lscp.y"
3995      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3996      break;      break;
3997    
3998    case 65:    case 65:
3999  #line 167 "lscp.y"  #line 172 "lscp.y"
4000      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
4001      break;      break;
4002    
4003    case 66:    case 66:
4004  #line 168 "lscp.y"  #line 173 "lscp.y"
4005      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
4006      break;      break;
4007    
4008    case 67:    case 67:
4009  #line 169 "lscp.y"  #line 174 "lscp.y"
4010      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
4011      break;      break;
4012    
4013    case 68:    case 68:
4014  #line 170 "lscp.y"  #line 175 "lscp.y"
4015      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
4016      break;      break;
4017    
4018    case 69:    case 69:
4019  #line 173 "lscp.y"  #line 176 "lscp.y"
4020      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
4021      break;      break;
4022    
4023    case 70:    case 70:
4024  #line 174 "lscp.y"  #line 177 "lscp.y"
4025      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
4026      break;      break;
4027    
4028    case 71:    case 71:
4029  #line 175 "lscp.y"  #line 178 "lscp.y"
4030      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
4031      break;      break;
4032    
4033    case 72:    case 72:
4034  #line 176 "lscp.y"  #line 179 "lscp.y"
4035      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
4036      break;      break;
4037    
4038    case 73:    case 73:
4039  #line 179 "lscp.y"  #line 180 "lscp.y"
4040      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
4041      break;      break;
4042    
4043    case 74:    case 74:
4044  #line 180 "lscp.y"  #line 181 "lscp.y"
4045      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
4046      break;      break;
4047    
4048    case 75:    case 75:
4049  #line 183 "lscp.y"  #line 182 "lscp.y"
4050      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
4051      break;      break;
4052    
4053    case 76:    case 76:
4054  #line 184 "lscp.y"  #line 183 "lscp.y"
4055      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
4056      break;      break;
4057    
4058    case 77:    case 77:
4059  #line 187 "lscp.y"  #line 184 "lscp.y"
4060      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
4061      break;      break;
4062    
4063    case 78:    case 78:
4064  #line 188 "lscp.y"  #line 185 "lscp.y"
4065      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
4066      break;      break;
4067    
4068    case 79:    case 79:
4069  #line 189 "lscp.y"  #line 186 "lscp.y"
4070      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
4071      break;      break;
4072    
4073    case 80:    case 80:
4074  #line 190 "lscp.y"  #line 187 "lscp.y"
4075      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_count);   }
4076      break;      break;
4077    
4078    case 81:    case 81:
4079  #line 191 "lscp.y"  #line 188 "lscp.y"
4080      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_dir_info);    }
4081      break;      break;
4082    
4083    case 82:    case 82:
4084  #line 192 "lscp.y"  #line 189 "lscp.y"
4085      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_count);       }
4086      break;      break;
4087    
4088    case 83:    case 83:
4089  #line 193 "lscp.y"  #line 190 "lscp.y"
4090      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instr_info);        }
4091      break;      break;
4092    
4093    case 84:    case 84:
4094  #line 194 "lscp.y"  #line 191 "lscp.y"
4095      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_db_instrs_job_info);   }
4096      break;      break;
4097    
4098    case 85:    case 85:
4099  #line 195 "lscp.y"  #line 192 "lscp.y"
4100      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
4101      break;      break;
4102    
4103    case 86:    case 86:
4104  #line 198 "lscp.y"  #line 193 "lscp.y"
4105      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
4106      break;      break;
4107    
4108    case 87:    case 87:
4109  #line 199 "lscp.y"  #line 194 "lscp.y"
4110      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
4111      break;      break;
4112    
4113    case 88:    case 88:
4114  #line 202 "lscp.y"  #line 197 "lscp.y"
4115      { yyval.FillResponse = fill_response_bytes;      }      { (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)); }
4116      break;      break;
4117    
4118    case 89:    case 89:
4119  #line 203 "lscp.y"  #line 198 "lscp.y"
4120      { yyval.FillResponse = fill_response_percentage; }      { (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)); }
4121      break;      break;
4122    
4123    case 90:    case 90:
4124  #line 206 "lscp.y"  #line 199 "lscp.y"
4125      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }      { (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)); }
4126      break;      break;
4127    
4128    case 91:    case 91:
4129  #line 207 "lscp.y"  #line 200 "lscp.y"
4130      { yyval.String = LSCPSERVER->GetMidiInputDevices();             }      { (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)); }
4131      break;      break;
4132    
4133    case 92:    case 92:
4134  #line 208 "lscp.y"  #line 203 "lscp.y"
4135      { yyval.String = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
4136      break;      break;
4137    
4138    case 93:    case 93:
4139  #line 209 "lscp.y"  #line 206 "lscp.y"
4140      { yyval.String = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));                     }
4141      break;      break;
4142    
4143    case 94:    case 94:
4144  #line 210 "lscp.y"  #line 207 "lscp.y"
4145      { yyval.String = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));           }
4146      break;      break;
4147    
4148    case 95:    case 95:
4149  #line 211 "lscp.y"  #line 208 "lscp.y"
4150      { yyval.String = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps();         }
4151      break;      break;
4152    
4153    case 96:    case 96:
4154  #line 214 "lscp.y"  #line 209 "lscp.y"
4155      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(5) - (5)].String), true); }
4156      break;      break;
4157    
4158    case 97:    case 97:
4159  #line 215 "lscp.y"  #line 210 "lscp.y"
4160      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->RemoveDbInstrumentDirectory((yyvsp[(3) - (3)].String));       }
4161      break;      break;
4162    
4163    case 98:    case 98:
4164    #line 211 "lscp.y"
4165        { (yyval.String) = LSCPSERVER->RemoveDbInstrument((yyvsp[(3) - (3)].String));                }
4166        break;
4167    
4168      case 99:
4169    #line 214 "lscp.y"
4170        { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
4171        break;
4172    
4173      case 100:
4174    #line 215 "lscp.y"
4175        { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
4176        break;
4177    
4178      case 101:
4179    #line 216 "lscp.y"
4180        { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
4181        break;
4182    
4183      case 102:
4184    #line 217 "lscp.y"
4185        { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4186        break;
4187    
4188      case 103:
4189  #line 218 "lscp.y"  #line 218 "lscp.y"
4190      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
4191      break;      break;
4192    
4193    case 104:    case 104:
4194  #line 234 "lscp.y"  #line 219 "lscp.y"
4195      { yyval.Number = 16; }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
4196        break;
4197    
4198      case 105:
4199    #line 220 "lscp.y"
4200        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
4201        break;
4202    
4203      case 106:
4204    #line 221 "lscp.y"
4205        { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4206      break;      break;
4207    
4208    case 107:    case 107:
4209  #line 241 "lscp.y"  #line 222 "lscp.y"
4210      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
4211        break;
4212    
4213      case 108:
4214    #line 223 "lscp.y"
4215        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
4216        break;
4217    
4218      case 109:
4219    #line 224 "lscp.y"
4220        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
4221        break;
4222    
4223      case 110:
4224    #line 225 "lscp.y"
4225        { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
4226        break;
4227    
4228      case 111:
4229    #line 226 "lscp.y"
4230        { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
4231        break;
4232    
4233      case 112:
4234    #line 227 "lscp.y"
4235        { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
4236      break;      break;
4237    
4238    case 113:    case 113:
4239  #line 257 "lscp.y"  #line 228 "lscp.y"
4240      { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
4241        break;
4242    
4243      case 114:
4244    #line 229 "lscp.y"
4245        { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
4246      break;      break;
4247    
4248    case 115:    case 115:
4249  #line 261 "lscp.y"  #line 230 "lscp.y"
4250      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
4251      break;      break;
4252    
4253    case 116:    case 116:
4254  #line 262 "lscp.y"  #line 231 "lscp.y"
4255      { yyval.String = "\"" + yyvsp[-1].String + "\""; }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
4256      break;      break;
4257    
4258    case 117:    case 117:
4259  #line 263 "lscp.y"  #line 232 "lscp.y"
4260      { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
4261      break;      break;
4262    
4263    case 118:    case 118:
4264  #line 264 "lscp.y"  #line 233 "lscp.y"
4265      { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
4266      break;      break;
4267    
4268    case 119:    case 119:
4269  #line 272 "lscp.y"  #line 234 "lscp.y"
4270      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
4271      break;      break;
4272    
4273    case 120:    case 120:
4274  #line 273 "lscp.y"  #line 235 "lscp.y"
4275      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
4276      break;      break;
4277    
4278    case 121:    case 121:
4279  #line 276 "lscp.y"  #line 236 "lscp.y"
4280      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
4281      break;      break;
4282    
4283    case 122:    case 122:
4284  #line 277 "lscp.y"  #line 237 "lscp.y"
4285      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
4286      break;      break;
4287    
4288    case 123:    case 123:
4289  #line 280 "lscp.y"  #line 238 "lscp.y"
4290      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                           }
4291      break;      break;
4292    
4293    case 124:    case 124:
4294  #line 281 "lscp.y"  #line 239 "lscp.y"
4295      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
4296      break;      break;
4297    
4298    case 125:    case 125:
4299  #line 282 "lscp.y"  #line 240 "lscp.y"
4300      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
4301      break;      break;
4302    
4303    case 126:    case 126:
4304  #line 286 "lscp.y"  #line 241 "lscp.y"
4305      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
4306      break;      break;
4307    
4308    case 127:    case 127:
4309  #line 287 "lscp.y"  #line 242 "lscp.y"
4310      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
4311      break;      break;
4312    
4313    case 128:    case 128:
4314  #line 290 "lscp.y"  #line 243 "lscp.y"
4315      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
4316      break;      break;
4317    
4318    case 129:    case 129:
4319  #line 291 "lscp.y"  #line 244 "lscp.y"
4320      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
4321      break;      break;
4322    
4323    case 130:    case 130:
4324  #line 292 "lscp.y"  #line 245 "lscp.y"
4325      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
4326      break;      break;
4327    
4328    case 131:    case 131:
4329  #line 293 "lscp.y"  #line 246 "lscp.y"
4330      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
4331      break;      break;
4332    
4333    case 132:    case 132:
4334  #line 294 "lscp.y"  #line 247 "lscp.y"
4335      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(5) - (5)].String), true);        }
4336      break;      break;
4337    
4338    case 133:    case 133:
4339  #line 295 "lscp.y"  #line 248 "lscp.y"
4340      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryCount((yyvsp[(3) - (3)].String), false);       }
4341      break;      break;
4342    
4343    case 134:    case 134:
4344  #line 296 "lscp.y"  #line 249 "lscp.y"
4345      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectoryInfo((yyvsp[(5) - (5)].String));               }
4346      break;      break;
4347    
4348    case 135:    case 135:
4349  #line 297 "lscp.y"  #line 250 "lscp.y"
4350      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(5) - (5)].String), true);                 }
4351      break;      break;
4352    
4353    case 136:    case 136:
4354  #line 298 "lscp.y"  #line 251 "lscp.y"
4355      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentCount((yyvsp[(3) - (3)].String), false);                }
4356      break;      break;
4357    
4358    case 137:    case 137:
4359  #line 299 "lscp.y"  #line 252 "lscp.y"
4360      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentInfo((yyvsp[(5) - (5)].String));                        }
4361      break;      break;
4362    
4363    case 138:    case 138:
4364  #line 302 "lscp.y"  #line 253 "lscp.y"
4365      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->GetDbInstrumentsJobInfo((yyvsp[(5) - (5)].Number));                    }
4366      break;      break;
4367    
4368    case 139:    case 139:
4369  #line 303 "lscp.y"  #line 254 "lscp.y"
4370      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
4371      break;      break;
4372    
4373    case 140:    case 140:
4374  #line 304 "lscp.y"  #line 257 "lscp.y"
4375      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
4376      break;      break;
4377    
4378    case 141:    case 141:
4379  #line 305 "lscp.y"  #line 258 "lscp.y"
4380      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
4381      break;      break;
4382    
4383    case 142:    case 142:
4384  #line 306 "lscp.y"  #line 259 "lscp.y"
4385      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
4386      break;      break;
4387    
4388    case 143:    case 143:
4389  #line 307 "lscp.y"  #line 260 "lscp.y"
4390      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
4391      break;      break;
4392    
4393    case 144:    case 144:
4394  #line 308 "lscp.y"  #line 261 "lscp.y"
4395      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
4396      break;      break;
4397    
4398    case 145:    case 145:
4399  #line 309 "lscp.y"  #line 262 "lscp.y"
4400      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
4401      break;      break;
4402    
4403    case 146:    case 146:
4404  #line 310 "lscp.y"  #line 263 "lscp.y"
4405      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendName((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].String));                        }
4406      break;      break;
4407    
4408    case 147:    case 147:
4409  #line 311 "lscp.y"  #line 264 "lscp.y"
4410      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
4411      break;      break;
4412    
4413    case 148:    case 148:
4414  #line 313 "lscp.y"  #line 265 "lscp.y"
4415      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
4416      break;      break;
4417    
4418    case 149:    case 149:
4419  #line 313 "lscp.y"  #line 266 "lscp.y"
4420      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
4421      break;      break;
4422    
4423    case 150:    case 150:
4424  #line 313 "lscp.y"  #line 267 "lscp.y"
4425      { yyval.Char = 'C'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));            }
4426      break;      break;
4427    
4428    case 151:    case 151:
4429  #line 313 "lscp.y"  #line 268 "lscp.y"
4430      { yyval.Char = 'D'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDirectoryDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));     }
4431      break;      break;
4432    
4433    case 152:    case 152:
4434  #line 313 "lscp.y"  #line 269 "lscp.y"
4435      { yyval.Char = 'E'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentName((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));                     }
4436      break;      break;
4437    
4438    case 153:    case 153:
4439  #line 313 "lscp.y"  #line 270 "lscp.y"
4440      { yyval.Char = 'F'; }      { (yyval.String) = LSCPSERVER->SetDbInstrumentDescription((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].String));              }
4441      break;      break;
4442    
4443    case 154:    case 154:
4444  #line 313 "lscp.y"  #line 271 "lscp.y"
4445      { yyval.Char = 'G'; }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
4446      break;      break;
4447    
4448    case 155:    case 155:
4449  #line 313 "lscp.y"  #line 272 "lscp.y"
4450      { yyval.Char = 'H'; }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
4451      break;      break;
4452    
4453    case 156:    case 156:
4454  #line 313 "lscp.y"  #line 275 "lscp.y"
4455      { yyval.Char = 'I'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
4456      break;      break;
4457    
4458    case 157:    case 157:
4459  #line 313 "lscp.y"  #line 276 "lscp.y"
4460      { yyval.Char = 'J'; }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
4461      break;      break;
4462    
4463    case 158:    case 158:
4464  #line 313 "lscp.y"  #line 277 "lscp.y"
4465      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
4466      break;      break;
4467    
4468    case 159:    case 159:
4469  #line 313 "lscp.y"  #line 278 "lscp.y"
4470      { yyval.Char = 'L'; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
4471      break;      break;
4472    
4473    case 160:    case 160:
4474  #line 313 "lscp.y"  #line 279 "lscp.y"
4475      { yyval.Char = 'M'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
4476      break;      break;
4477    
4478    case 161:    case 161:
4479  #line 313 "lscp.y"  #line 280 "lscp.y"
4480      { yyval.Char = 'N'; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
4481      break;      break;
4482    
4483    case 162:    case 162:
4484  #line 313 "lscp.y"  #line 283 "lscp.y"
4485      { yyval.Char = 'O'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
4486      break;      break;
4487    
4488    case 163:    case 163:
4489  #line 313 "lscp.y"  #line 286 "lscp.y"
4490      { yyval.Char = 'P'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
4491      break;      break;
4492    
4493    case 164:    case 164:
4494  #line 313 "lscp.y"  #line 287 "lscp.y"
4495      { yyval.Char = 'Q'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
4496      break;      break;
4497    
4498    case 165:    case 165:
4499  #line 313 "lscp.y"  #line 290 "lscp.y"
4500      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false);           }
4501      break;      break;
4502    
4503    case 166:    case 166:
4504  #line 313 "lscp.y"  #line 291 "lscp.y"
4505      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->FindDbInstruments((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);            }
4506      break;      break;
4507    
4508    case 167:    case 167:
4509  #line 313 "lscp.y"  #line 292 "lscp.y"
4510      { yyval.Char = 'T'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(5) - (7)].String),(yyvsp[(7) - (7)].KeyValList), false); }
4511      break;      break;
4512    
4513    case 168:    case 168:
4514  #line 313 "lscp.y"  #line 293 "lscp.y"
4515      { yyval.Char = 'U'; }      { (yyval.String) = LSCPSERVER->FindDbInstrumentDirectories((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList), true);  }
4516      break;      break;
4517    
4518    case 169:    case 169:
4519  #line 313 "lscp.y"  #line 296 "lscp.y"
4520      { yyval.Char = 'V'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4521      break;      break;
4522    
4523    case 170:    case 170:
4524  #line 313 "lscp.y"  #line 297 "lscp.y"
4525      { yyval.Char = 'W'; }      { (yyval.String) = LSCPSERVER->MoveDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4526      break;      break;
4527    
4528    case 171:    case 171:
4529  #line 313 "lscp.y"  #line 300 "lscp.y"
4530      { yyval.Char = 'X'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrumentDirectory((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String)); }
4531      break;      break;
4532    
4533    case 172:    case 172:
4534  #line 313 "lscp.y"  #line 301 "lscp.y"
4535      { yyval.Char = 'Y'; }      { (yyval.String) = LSCPSERVER->CopyDbInstrument((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].String));          }
4536      break;      break;
4537    
4538    case 173:    case 173:
4539  #line 313 "lscp.y"  #line 304 "lscp.y"
4540      { yyval.Char = 'Z'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
4541      break;      break;
4542    
4543    case 174:    case 174:
4544  #line 314 "lscp.y"  #line 305 "lscp.y"
4545      { yyval.Char = 'a'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
4546      break;      break;
4547    
4548    case 175:    case 175:
4549  #line 314 "lscp.y"  #line 306 "lscp.y"
4550      { yyval.Char = 'b'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
4551      break;      break;
4552    
4553    case 176:    case 176:
4554  #line 314 "lscp.y"  #line 309 "lscp.y"
4555      { yyval.Char = 'c'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4556      break;      break;
4557    
4558    case 177:    case 177:
4559  #line 314 "lscp.y"  #line 310 "lscp.y"
4560      { yyval.Char = 'd'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
4561      break;      break;
4562    
4563    case 178:    case 178:
4564  #line 314 "lscp.y"  #line 313 "lscp.y"
4565      { yyval.Char = 'e'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
4566      break;      break;
4567    
4568    case 179:    case 179:
4569  #line 314 "lscp.y"  #line 314 "lscp.y"
4570      { yyval.Char = 'f'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
4571      break;      break;
4572    
4573    case 180:    case 180:
4574  #line 314 "lscp.y"  #line 315 "lscp.y"
4575      { yyval.Char = 'g'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
4576      break;      break;
4577    
4578    case 181:    case 181:
4579  #line 314 "lscp.y"  #line 316 "lscp.y"
4580      { yyval.Char = 'h'; }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
4581      break;      break;
4582    
4583    case 182:    case 182:
4584  #line 314 "lscp.y"  #line 317 "lscp.y"
4585      { yyval.Char = 'i'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
4586      break;      break;
4587    
4588    case 183:    case 183:
4589  #line 314 "lscp.y"  #line 318 "lscp.y"
4590      { yyval.Char = 'j'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
4591      break;      break;
4592    
4593    case 184:    case 184:
4594  #line 314 "lscp.y"  #line 319 "lscp.y"
4595      { yyval.Char = 'k'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
4596      break;      break;
4597    
4598    case 185:    case 185:
4599  #line 314 "lscp.y"  #line 320 "lscp.y"
4600      { yyval.Char = 'l'; }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
4601      break;      break;
4602    
4603    case 186:    case 186:
4604  #line 314 "lscp.y"  #line 321 "lscp.y"
4605      { yyval.Char = 'm'; }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
4606      break;      break;
4607    
4608    case 187:    case 187:
4609  #line 314 "lscp.y"  #line 322 "lscp.y"
4610      { yyval.Char = 'n'; }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4611      break;      break;
4612    
4613    case 188:    case 188:
4614  #line 314 "lscp.y"  #line 323 "lscp.y"
4615      { yyval.Char = 'o'; }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4616      break;      break;
4617    
4618    case 189:    case 189:
4619  #line 314 "lscp.y"  #line 324 "lscp.y"
4620      { yyval.Char = 'p'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4621      break;      break;
4622    
4623    case 190:    case 190:
4624  #line 314 "lscp.y"  #line 325 "lscp.y"
4625      { yyval.Char = 'q'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4626      break;      break;
4627    
4628    case 191:    case 191:
4629  #line 314 "lscp.y"  #line 326 "lscp.y"
4630      { yyval.Char = 'r'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4631      break;      break;
4632    
4633    case 192:    case 192:
4634  #line 314 "lscp.y"  #line 329 "lscp.y"
4635      { yyval.Char = 's'; }      { (yyval.Bool) = true;  }
4636      break;      break;
4637    
4638    case 193:    case 193:
4639  #line 314 "lscp.y"  #line 330 "lscp.y"
4640      { yyval.Char = 't'; }      { (yyval.Bool) = false; }
4641      break;      break;
4642    
4643    case 194:    case 194:
4644  #line 314 "lscp.y"  #line 333 "lscp.y"
4645      { yyval.Char = 'u'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4646      break;      break;
4647    
4648    case 195:    case 195:
4649  #line 314 "lscp.y"  #line 334 "lscp.y"
4650      { yyval.Char = 'v'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4651      break;      break;
4652    
4653    case 196:    case 196:
4654  #line 314 "lscp.y"  #line 337 "lscp.y"
4655      { yyval.Char = 'w'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4656      break;      break;
4657    
4658    case 197:    case 197:
4659  #line 314 "lscp.y"  #line 338 "lscp.y"
4660      { yyval.Char = 'x'; }      { (yyval.FillResponse) = fill_response_percentage; }
4661      break;      break;
4662    
4663    case 198:    case 198:
4664  #line 314 "lscp.y"  #line 341 "lscp.y"
4665      { yyval.Char = 'y'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();              }
4666      break;      break;
4667    
4668    case 199:    case 199:
4669  #line 314 "lscp.y"  #line 342 "lscp.y"
4670      { yyval.Char = 'z'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();                }
4671      break;      break;
4672    
4673    case 200:    case 200:
4674  #line 315 "lscp.y"  #line 343 "lscp.y"
4675      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->ListChannels();                       }
4676      break;      break;
4677    
4678    case 201:    case 201:
4679  #line 315 "lscp.y"  #line 344 "lscp.y"
4680      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();               }
4681      break;      break;
4682    
4683    case 202:    case 202:
4684  #line 315 "lscp.y"  #line 345 "lscp.y"
4685      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();      }
4686      break;      break;
4687    
4688    case 203:    case 203:
4689  #line 315 "lscp.y"  #line 346 "lscp.y"
4690      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers();    }
4691      break;      break;
4692    
4693    case 204:    case 204:
4694  #line 315 "lscp.y"  #line 347 "lscp.y"
4695      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));       }
4696      break;      break;
4697    
4698    case 205:    case 205:
4699  #line 315 "lscp.y"  #line 348 "lscp.y"
4700      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();      }
4701      break;      break;
4702    
4703    case 206:    case 206:
4704  #line 315 "lscp.y"  #line 349 "lscp.y"
4705      { yyval.Char = '6'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();             }
4706      break;      break;
4707    
4708    case 207:    case 207:
4709  #line 315 "lscp.y"  #line 350 "lscp.y"
4710      { yyval.Char = '7'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                      }
4711      break;      break;
4712    
4713    case 208:    case 208:
4714  #line 315 "lscp.y"  #line 351 "lscp.y"
4715      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(5) - (5)].String), true); }
4716      break;      break;
4717    
4718    case 209:    case 209:
4719  #line 315 "lscp.y"  #line 352 "lscp.y"
4720      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->GetDbInstrumentDirectories((yyvsp[(3) - (3)].String));       }
4721      break;      break;
4722    
4723    case 210:    case 210:
4724  #line 316 "lscp.y"  #line 353 "lscp.y"
4725      { yyval.Char = '!'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(5) - (5)].String), true);           }
4726      break;      break;
4727    
4728    case 211:    case 211:
4729  #line 316 "lscp.y"  #line 354 "lscp.y"
4730      { yyval.Char = '#'; }      { (yyval.String) = LSCPSERVER->GetDbInstruments((yyvsp[(3) - (3)].String));                 }
4731      break;      break;
4732    
4733    case 212:    case 212:
4734  #line 316 "lscp.y"  #line 357 "lscp.y"
4735      { yyval.Char = '$'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4736      break;      break;
4737    
4738    case 213:    case 213:
4739  #line 316 "lscp.y"  #line 358 "lscp.y"
4740      { yyval.Char = '%'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4741      break;      break;
4742    
4743    case 214:    case 214:
4744  #line 316 "lscp.y"  #line 361 "lscp.y"
4745      { yyval.Char = '&'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4746      break;      break;
4747    
4748    case 215:    case 215:
4749  #line 316 "lscp.y"  #line 364 "lscp.y"
4750      { yyval.Char = '('; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4751      break;      break;
4752    
4753    case 216:    case 216:
4754  #line 316 "lscp.y"  #line 365 "lscp.y"
4755      { yyval.Char = ')'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4756      break;      break;
4757    
4758    case 217:    case 217:
4759  #line 316 "lscp.y"  #line 366 "lscp.y"
4760      { yyval.Char = '*'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 218:  
 #line 316 "lscp.y"  
     { yyval.Char = '+'; }  
     break;  
   
   case 219:  
 #line 316 "lscp.y"  
     { yyval.Char = '-'; }  
     break;  
   
   case 220:  
 #line 316 "lscp.y"  
     { yyval.Char = '.'; }  
     break;  
   
   case 221:  
 #line 316 "lscp.y"  
     { yyval.Char = ','; }  
     break;  
   
   case 222:  
 #line 316 "lscp.y"  
     { yyval.Char = '/'; }  
4761      break;      break;
4762    
4763    case 223:    case 223:
4764  #line 317 "lscp.y"  #line 382 "lscp.y"
4765      { yyval.Char = ':'; }      { (yyval.Number) = 16; }
     break;  
   
   case 224:  
 #line 317 "lscp.y"  
     { yyval.Char = ';'; }  
     break;  
   
   case 225:  
 #line 317 "lscp.y"  
     { yyval.Char = '<'; }  
     break;  
   
   case 226:  
 #line 317 "lscp.y"  
     { yyval.Char = '='; }  
     break;  
   
   case 227:  
 #line 317 "lscp.y"  
     { yyval.Char = '>'; }  
     break;  
   
   case 228:  
 #line 317 "lscp.y"  
     { yyval.Char = '?'; }  
     break;  
   
   case 229:  
 #line 317 "lscp.y"  
     { yyval.Char = '@'; }  
4766      break;      break;
4767    
4768    case 230:    case 230:
4769  #line 318 "lscp.y"  #line 401 "lscp.y"
4770      { yyval.Char = '['; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 231:  
 #line 318 "lscp.y"  
     { yyval.Char = '\\'; }  
     break;  
   
   case 232:  
 #line 318 "lscp.y"  
     { yyval.Char = ']'; }  
     break;  
   
   case 233:  
 #line 318 "lscp.y"  
     { yyval.Char = '^'; }  
     break;  
   
   case 234:  
 #line 318 "lscp.y"  
     { yyval.Char = '_'; }  
     break;  
   
   case 235:  
 #line 319 "lscp.y"  
     { yyval.Char = '{'; }  
     break;  
   
   case 236:  
 #line 319 "lscp.y"  
     { yyval.Char = '|'; }  
     break;  
   
   case 237:  
 #line 319 "lscp.y"  
     { yyval.Char = '}'; }  
     break;  
   
   case 238:  
 #line 319 "lscp.y"  
     { yyval.Char = '~'; }  
     break;  
   
   case 239:  
 #line 320 "lscp.y"  
     { yyval.Char = '\200'; }  
     break;  
   
   case 240:  
 #line 320 "lscp.y"  
     { yyval.Char = '\201'; }  
     break;  
   
   case 241:  
 #line 320 "lscp.y"  
     { yyval.Char = '\202'; }  
4771      break;      break;
4772    
4773    case 242:    case 242:
4774  #line 321 "lscp.y"  #line 435 "lscp.y"
4775      { yyval.Char = '\203'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 243:  
 #line 321 "lscp.y"  
     { yyval.Char = '\204'; }  
     break;  
   
   case 244:  
 #line 321 "lscp.y"  
     { yyval.Char = '\205'; }  
4776      break;      break;
4777    
4778    case 245:    case 245:
4779  #line 322 "lscp.y"  #line 440 "lscp.y"
4780      { yyval.Char = '\206'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4781      break;      break;
4782    
4783    case 246:    case 246:
4784  #line 322 "lscp.y"  #line 441 "lscp.y"
4785      { yyval.Char = '\207'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4786      break;      break;
4787    
4788    case 247:    case 247:
4789  #line 322 "lscp.y"  #line 444 "lscp.y"
4790      { yyval.Char = '\210'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4791      break;      break;
4792    
4793    case 248:    case 248:
4794  #line 323 "lscp.y"  #line 445 "lscp.y"
4795      { yyval.Char = '\211'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
     break;  
   
   case 249:  
 #line 323 "lscp.y"  
     { yyval.Char = '\212'; }  
     break;  
   
   case 250:  
 #line 323 "lscp.y"  
     { yyval.Char = '\213'; }  
4796      break;      break;
4797    
4798    case 251:    case 251:
4799  #line 324 "lscp.y"  #line 452 "lscp.y"
4800      { yyval.Char = '\214'; }      { (yyval.String) = "RECURSIVE"; }
4801      break;      break;
4802    
4803    case 252:    case 252:
4804  #line 324 "lscp.y"  #line 453 "lscp.y"
4805      { yyval.Char = '\215'; }      { (yyval.String) = "NON_RECURSIVE"; }
4806      break;      break;
4807    
4808    case 253:    case 253:
4809  #line 324 "lscp.y"  #line 454 "lscp.y"
4810      { yyval.Char = '\216'; }      { (yyval.String) = "FLAT"; }
4811      break;      break;
4812    
4813    case 254:    case 254:
4814  #line 325 "lscp.y"  #line 462 "lscp.y"
4815      { yyval.Char = '\217'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4816      break;      break;
4817    
4818    case 255:    case 255:
4819  #line 325 "lscp.y"  #line 463 "lscp.y"
4820      { yyval.Char = '\220'; }      { (yyval.Dotnum) = -1; }
4821      break;      break;
4822    
4823    case 256:    case 256:
4824  #line 325 "lscp.y"  #line 466 "lscp.y"
4825      { yyval.Char = '\221'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4826      break;      break;
4827    
4828    case 257:    case 257:
4829  #line 326 "lscp.y"  #line 467 "lscp.y"
4830      { yyval.Char = '\222'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4831      break;      break;
4832    
4833    case 258:    case 258:
4834  #line 326 "lscp.y"  #line 470 "lscp.y"
4835      { yyval.Char = '\223'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4836      break;      break;
4837    
4838    case 259:    case 259:
4839  #line 326 "lscp.y"  #line 471 "lscp.y"
4840      { yyval.Char = '\224'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4841      break;      break;
4842    
4843    case 260:    case 260:
4844  #line 327 "lscp.y"  #line 472 "lscp.y"
4845      { yyval.Char = '\225'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4846      break;      break;
4847    
4848    case 261:    case 261:
4849  #line 327 "lscp.y"  #line 476 "lscp.y"
4850      { yyval.Char = '\226'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4851      break;      break;
4852    
4853    case 262:    case 262:
4854  #line 327 "lscp.y"  #line 477 "lscp.y"
4855      { yyval.Char = '\227'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4856      break;      break;
4857    
4858    case 263:    case 263:
4859  #line 328 "lscp.y"  #line 480 "lscp.y"
4860      { yyval.Char = '\230'; }      { (yyval.Char) = '0'; }
4861      break;      break;
4862    
4863    case 264:    case 264:
4864  #line 328 "lscp.y"  #line 481 "lscp.y"
4865      { yyval.Char = '\231'; }      { (yyval.Char) = '1'; }
4866      break;      break;
4867    
4868    case 265:    case 265:
4869  #line 328 "lscp.y"  #line 482 "lscp.y"
4870      { yyval.Char = '\232'; }      { (yyval.Char) = '2'; }
4871      break;      break;
4872    
4873    case 266:    case 266:
4874  #line 329 "lscp.y"  #line 483 "lscp.y"
4875      { yyval.Char = '\233'; }      { (yyval.Char) = '3'; }
4876      break;      break;
4877    
4878    case 267:    case 267:
4879  #line 329 "lscp.y"  #line 484 "lscp.y"
4880      { yyval.Char = '\234'; }      { (yyval.Char) = '4'; }
4881      break;      break;
4882    
4883    case 268:    case 268:
4884  #line 329 "lscp.y"  #line 485 "lscp.y"
4885      { yyval.Char = '\235'; }      { (yyval.Char) = '5'; }
4886      break;      break;
4887    
4888    case 269:    case 269:
4889  #line 330 "lscp.y"  #line 486 "lscp.y"
4890      { yyval.Char = '\236'; }      { (yyval.Char) = '6'; }
4891      break;      break;
4892    
4893    case 270:    case 270:
4894  #line 330 "lscp.y"  #line 487 "lscp.y"
4895      { yyval.Char = '\237'; }      { (yyval.Char) = '7'; }
4896      break;      break;
4897    
4898    case 271:    case 271:
4899  #line 330 "lscp.y"  #line 488 "lscp.y"
4900      { yyval.Char = '\240'; }      { (yyval.Char) = '8'; }
4901      break;      break;
4902    
4903    case 272:    case 272:
4904  #line 331 "lscp.y"  #line 489 "lscp.y"
4905      { yyval.Char = '\241'; }      { (yyval.Char) = '9'; }
4906      break;      break;
4907    
4908    case 273:    case 273:
4909  #line 331 "lscp.y"  #line 492 "lscp.y"
4910      { yyval.Char = '\242'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4911      break;      break;
4912    
4913    case 274:    case 274:
4914  #line 331 "lscp.y"  #line 493 "lscp.y"
4915      { yyval.Char = '\243'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4916      break;      break;
4917    
4918    case 275:    case 275:
4919  #line 332 "lscp.y"  #line 494 "lscp.y"
4920      { yyval.Char = '\244'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4921      break;      break;
4922    
4923    case 276:    case 276:
4924  #line 332 "lscp.y"  #line 495 "lscp.y"
4925      { yyval.Char = '\245'; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4926      break;      break;
4927    
4928    case 277:    case 277:
4929  #line 332 "lscp.y"  #line 496 "lscp.y"
4930      { yyval.Char = '\246'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4931      break;      break;
4932    
4933    case 278:    case 278:
4934  #line 333 "lscp.y"  #line 497 "lscp.y"
4935      { yyval.Char = '\247'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4936      break;      break;
4937    
4938    case 279:    case 279:
4939  #line 333 "lscp.y"  #line 498 "lscp.y"
4940      { yyval.Char = '\250'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4941      break;      break;
4942    
4943    case 280:    case 280:
4944  #line 333 "lscp.y"  #line 499 "lscp.y"
4945      { yyval.Char = '\251'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4946      break;      break;
4947    
4948    case 281:    case 281:
4949  #line 334 "lscp.y"  #line 500 "lscp.y"
4950      { yyval.Char = '\252'; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4951      break;      break;
4952    
4953    case 282:    case 282:
4954  #line 334 "lscp.y"  #line 501 "lscp.y"
4955      { yyval.Char = '\253'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4956      break;      break;
4957    
4958    case 283:    case 283:
4959  #line 334 "lscp.y"  #line 503 "lscp.y"
4960      { yyval.Char = '\254'; }      { (yyval.Char) = 'A'; }
4961      break;      break;
4962    
4963    case 284:    case 284:
4964  #line 335 "lscp.y"  #line 503 "lscp.y"
4965      { yyval.Char = '\255'; }      { (yyval.Char) = 'B'; }
4966      break;      break;
4967    
4968    case 285:    case 285:
4969  #line 335 "lscp.y"  #line 503 "lscp.y"
4970      { yyval.Char = '\256'; }      { (yyval.Char) = 'C'; }
4971      break;      break;
4972    
4973    case 286:    case 286:
4974  #line 335 "lscp.y"  #line 503 "lscp.y"
4975      { yyval.Char = '\257'; }      { (yyval.Char) = 'D'; }
4976      break;      break;
4977    
4978    case 287:    case 287:
4979  #line 336 "lscp.y"  #line 503 "lscp.y"
4980      { yyval.Char = '\260'; }      { (yyval.Char) = 'E'; }
4981      break;      break;
4982    
4983    case 288:    case 288:
4984  #line 336 "lscp.y"  #line 503 "lscp.y"
4985      { yyval.Char = '\261'; }      { (yyval.Char) = 'F'; }
4986      break;      break;
4987    
4988    case 289:    case 289:
4989  #line 336 "lscp.y"  #line 503 "lscp.y"
4990      { yyval.Char = '\262'; }      { (yyval.Char) = 'G'; }
4991      break;      break;
4992    
4993    case 290:    case 290:
4994  #line 337 "lscp.y"  #line 503 "lscp.y"
4995      { yyval.Char = '\263'; }      { (yyval.Char) = 'H'; }
4996      break;      break;
4997    
4998    case 291:    case 291:
4999  #line 337 "lscp.y"  #line 503 "lscp.y"
5000      { yyval.Char = '\264'; }      { (yyval.Char) = 'I'; }
5001      break;      break;
5002    
5003    case 292:    case 292:
5004  #line 337 "lscp.y"  #line 503 "lscp.y"
5005      { yyval.Char = '\265'; }      { (yyval.Char) = 'J'; }
5006      break;      break;
5007    
5008    case 293:    case 293:
5009  #line 338 "lscp.y"  #line 503 "lscp.y"
5010      { yyval.Char = '\266'; }      { (yyval.Char) = 'K'; }
5011      break;      break;
5012    
5013    case 294:    case 294:
5014  #line 338 "lscp.y"  #line 503 "lscp.y"
5015      { yyval.Char = '\267'; }      { (yyval.Char) = 'L'; }
5016      break;      break;
5017    
5018    case 295:    case 295:
5019  #line 338 "lscp.y"  #line 503 "lscp.y"
5020      { yyval.Char = '\270'; }      { (yyval.Char) = 'M'; }
5021      break;      break;
5022    
5023    case 296:    case 296:
5024  #line 339 "lscp.y"  #line 503 "lscp.y"
5025      { yyval.Char = '\271'; }      { (yyval.Char) = 'N'; }
5026      break;      break;
5027    
5028    case 297:    case 297:
5029  #line 339 "lscp.y"  #line 503 "lscp.y"
5030      { yyval.Char = '\272'; }      { (yyval.Char) = 'O'; }
5031      break;      break;
5032    
5033    case 298:    case 298:
5034  #line 339 "lscp.y"  #line 503 "lscp.y"
5035      { yyval.Char = '\273'; }      { (yyval.Char) = 'P'; }
5036      break;      break;
5037    
5038    case 299:    case 299:
5039  #line 340 "lscp.y"  #line 503 "lscp.y"
5040      { yyval.Char = '\274'; }      { (yyval.Char) = 'Q'; }
5041      break;      break;
5042    
5043    case 300:    case 300:
5044  #line 340 "lscp.y"  #line 503 "lscp.y"
5045      { yyval.Char = '\275'; }      { (yyval.Char) = 'R'; }
5046      break;      break;
5047    
5048    case 301:    case 301:
5049  #line 340 "lscp.y"  #line 503 "lscp.y"
5050      { yyval.Char = '\276'; }      { (yyval.Char) = 'S'; }
5051      break;      break;
5052    
5053    case 302:    case 302:
5054  #line 341 "lscp.y"  #line 503 "lscp.y"
5055      { yyval.Char = '\277'; }      { (yyval.Char) = 'T'; }
5056      break;      break;
5057    
5058    case 303:    case 303:
5059  #line 341 "lscp.y"  #line 503 "lscp.y"
5060      { yyval.Char = '\300'; }      { (yyval.Char) = 'U'; }
5061      break;      break;
5062    
5063    case 304:    case 304:
5064  #line 341 "lscp.y"  #line 503 "lscp.y"
5065      { yyval.Char = '\301'; }      { (yyval.Char) = 'V'; }
5066      break;      break;
5067    
5068    case 305:    case 305:
5069  #line 342 "lscp.y"  #line 503 "lscp.y"
5070      { yyval.Char = '\302'; }      { (yyval.Char) = 'W'; }
5071      break;      break;
5072    
5073    case 306:    case 306:
5074  #line 342 "lscp.y"  #line 503 "lscp.y"
5075      { yyval.Char = '\303'; }      { (yyval.Char) = 'X'; }
5076      break;      break;
5077    
5078    case 307:    case 307:
5079  #line 342 "lscp.y"  #line 503 "lscp.y"
5080      { yyval.Char = '\304'; }      { (yyval.Char) = 'Y'; }
5081      break;      break;
5082    
5083    case 308:    case 308:
5084  #line 343 "lscp.y"  #line 503 "lscp.y"
5085      { yyval.Char = '\305'; }      { (yyval.Char) = 'Z'; }
5086      break;      break;
5087    
5088    case 309:    case 309:
5089  #line 343 "lscp.y"  #line 504 "lscp.y"
5090      { yyval.Char = '\306'; }      { (yyval.Char) = 'a'; }
5091      break;      break;
5092    
5093    case 310:    case 310:
5094  #line 343 "lscp.y"  #line 504 "lscp.y"
5095      { yyval.Char = '\307'; }      { (yyval.Char) = 'b'; }
5096      break;      break;
5097    
5098    case 311:    case 311:
5099  #line 344 "lscp.y"  #line 504 "lscp.y"
5100      { yyval.Char = '\310'; }      { (yyval.Char) = 'c'; }
5101      break;      break;
5102    
5103    case 312:    case 312:
5104  #line 344 "lscp.y"  #line 504 "lscp.y"
5105      { yyval.Char = '\311'; }      { (yyval.Char) = 'd'; }
5106      break;      break;
5107    
5108    case 313:    case 313:
5109  #line 344 "lscp.y"  #line 504 "lscp.y"
5110      { yyval.Char = '\312'; }      { (yyval.Char) = 'e'; }
5111      break;      break;
5112    
5113    case 314:    case 314:
5114  #line 345 "lscp.y"  #line 504 "lscp.y"
5115      { yyval.Char = '\313'; }      { (yyval.Char) = 'f'; }
5116      break;      break;
5117    
5118    case 315:    case 315:
5119  #line 345 "lscp.y"  #line 504 "lscp.y"
5120      { yyval.Char = '\314'; }      { (yyval.Char) = 'g'; }
5121      break;      break;
5122    
5123    case 316:    case 316:
5124  #line 345 "lscp.y"  #line 504 "lscp.y"
5125      { yyval.Char = '\315'; }      { (yyval.Char) = 'h'; }
5126      break;      break;
5127    
5128    case 317:    case 317:
5129  #line 346 "lscp.y"  #line 504 "lscp.y"
5130      { yyval.Char = '\316'; }      { (yyval.Char) = 'i'; }
5131      break;      break;
5132    
5133    case 318:    case 318:
5134  #line 346 "lscp.y"  #line 504 "lscp.y"
5135      { yyval.Char = '\317'; }      { (yyval.Char) = 'j'; }
5136      break;      break;
5137    
5138    case 319:    case 319:
5139  #line 346 "lscp.y"  #line 504 "lscp.y"
5140      { yyval.Char = '\320'; }      { (yyval.Char) = 'k'; }
5141      break;      break;
5142    
5143    case 320:    case 320:
5144  #line 347 "lscp.y"  #line 504 "lscp.y"
5145      { yyval.Char = '\321'; }      { (yyval.Char) = 'l'; }
5146      break;      break;
5147    
5148    case 321:    case 321:
5149  #line 347 "lscp.y"  #line 504 "lscp.y"
5150      { yyval.Char = '\322'; }      { (yyval.Char) = 'm'; }
5151      break;      break;
5152    
5153    case 322:    case 322:
5154  #line 347 "lscp.y"  #line 504 "lscp.y"
5155      { yyval.Char = '\323'; }      { (yyval.Char) = 'n'; }
5156      break;      break;
5157    
5158    case 323:    case 323:
5159  #line 348 "lscp.y"  #line 504 "lscp.y"
5160      { yyval.Char = '\324'; }      { (yyval.Char) = 'o'; }
5161      break;      break;
5162    
5163    case 324:    case 324:
5164  #line 348 "lscp.y"  #line 504 "lscp.y"
5165      { yyval.Char = '\325'; }      { (yyval.Char) = 'p'; }
5166      break;      break;
5167    
5168    case 325:    case 325:
5169  #line 348 "lscp.y"  #line 504 "lscp.y"
5170      { yyval.Char = '\326'; }      { (yyval.Char) = 'q'; }
5171      break;      break;
5172    
5173    case 326:    case 326:
5174  #line 349 "lscp.y"  #line 504 "lscp.y"
5175      { yyval.Char = '\327'; }      { (yyval.Char) = 'r'; }
5176      break;      break;
5177    
5178    case 327:    case 327:
5179  #line 349 "lscp.y"  #line 504 "lscp.y"
5180      { yyval.Char = '\330'; }      { (yyval.Char) = 's'; }
5181      break;      break;
5182    
5183    case 328:    case 328:
5184  #line 349 "lscp.y"  #line 504 "lscp.y"
5185      { yyval.Char = '\331'; }      { (yyval.Char) = 't'; }
5186      break;      break;
5187    
5188    case 329:    case 329:
5189  #line 350 "lscp.y"  #line 504 "lscp.y"
5190      { yyval.Char = '\332'; }      { (yyval.Char) = 'u'; }
5191      break;      break;
5192    
5193    case 330:    case 330:
5194  #line 350 "lscp.y"  #line 504 "lscp.y"
5195      { yyval.Char = '\333'; }      { (yyval.Char) = 'v'; }
5196      break;      break;
5197    
5198    case 331:    case 331:
5199  #line 350 "lscp.y"  #line 504 "lscp.y"
5200      { yyval.Char = '\334'; }      { (yyval.Char) = 'w'; }
5201      break;      break;
5202    
5203    case 332:    case 332:
5204  #line 351 "lscp.y"  #line 504 "lscp.y"
5205      { yyval.Char = '\335'; }      { (yyval.Char) = 'x'; }
5206      break;      break;
5207    
5208    case 333:    case 333:
5209  #line 351 "lscp.y"  #line 504 "lscp.y"
5210      { yyval.Char = '\336'; }      { (yyval.Char) = 'y'; }
5211      break;      break;
5212    
5213    case 334:    case 334:
5214  #line 351 "lscp.y"  #line 504 "lscp.y"
5215      { yyval.Char = '\337'; }      { (yyval.Char) = 'z'; }
5216      break;      break;
5217    
5218    case 335:    case 335:
5219  #line 352 "lscp.y"  #line 505 "lscp.y"
5220      { yyval.Char = '\340'; }      { (yyval.Char) = '0'; }
5221      break;      break;
5222    
5223    case 336:    case 336:
5224  #line 352 "lscp.y"  #line 505 "lscp.y"
5225      { yyval.Char = '\341'; }      { (yyval.Char) = '1'; }
5226      break;      break;
5227    
5228    case 337:    case 337:
5229  #line 352 "lscp.y"  #line 505 "lscp.y"
5230      { yyval.Char = '\342'; }      { (yyval.Char) = '2'; }
5231      break;      break;
5232    
5233    case 338:    case 338:
5234  #line 353 "lscp.y"  #line 505 "lscp.y"
5235      { yyval.Char = '\343'; }      { (yyval.Char) = '3'; }
5236      break;      break;
5237    
5238    case 339:    case 339:
5239  #line 353 "lscp.y"  #line 505 "lscp.y"
5240      { yyval.Char = '\344'; }      { (yyval.Char) = '4'; }
5241      break;      break;
5242    
5243    case 340:    case 340:
5244  #line 353 "lscp.y"  #line 505 "lscp.y"
5245      { yyval.Char = '\345'; }      { (yyval.Char) = '5'; }
5246      break;      break;
5247    
5248    case 341:    case 341:
5249  #line 354 "lscp.y"  #line 505 "lscp.y"
5250      { yyval.Char = '\346'; }      { (yyval.Char) = '6'; }
5251      break;      break;
5252    
5253    case 342:    case 342:
5254  #line 354 "lscp.y"  #line 505 "lscp.y"
5255      { yyval.Char = '\347'; }      { (yyval.Char) = '7'; }
5256      break;      break;
5257    
5258    case 343:    case 343:
5259  #line 354 "lscp.y"  #line 505 "lscp.y"
5260      { yyval.Char = '\350'; }      { (yyval.Char) = '8'; }
5261      break;      break;
5262    
5263    case 344:    case 344:
5264  #line 355 "lscp.y"  #line 505 "lscp.y"
5265      { yyval.Char = '\351'; }      { (yyval.Char) = '9'; }
5266      break;      break;
5267    
5268    case 345:    case 345:
5269  #line 355 "lscp.y"  #line 506 "lscp.y"
5270      { yyval.Char = '\352'; }      { (yyval.Char) = '!'; }
5271      break;      break;
5272    
5273    case 346:    case 346:
5274  #line 355 "lscp.y"  #line 506 "lscp.y"
5275      { yyval.Char = '\353'; }      { (yyval.Char) = '#'; }
5276      break;      break;
5277    
5278    case 347:    case 347:
5279  #line 356 "lscp.y"  #line 506 "lscp.y"
5280      { yyval.Char = '\354'; }      { (yyval.Char) = '$'; }
5281      break;      break;
5282    
5283    case 348:    case 348:
5284  #line 356 "lscp.y"  #line 506 "lscp.y"
5285      { yyval.Char = '\355'; }      { (yyval.Char) = '%'; }
5286      break;      break;
5287    
5288    case 349:    case 349:
5289  #line 356 "lscp.y"  #line 506 "lscp.y"
5290      { yyval.Char = '\356'; }      { (yyval.Char) = '&'; }
5291      break;      break;
5292    
5293    case 350:    case 350:
5294  #line 357 "lscp.y"  #line 506 "lscp.y"
5295      { yyval.Char = '\357'; }      { (yyval.Char) = '('; }
5296      break;      break;
5297    
5298    case 351:    case 351:
5299  #line 357 "lscp.y"  #line 506 "lscp.y"
5300      { yyval.Char = '\360'; }      { (yyval.Char) = ')'; }
5301      break;      break;
5302    
5303    case 352:    case 352:
5304  #line 357 "lscp.y"  #line 506 "lscp.y"
5305      { yyval.Char = '\361'; }      { (yyval.Char) = '*'; }
5306      break;      break;
5307    
5308    case 353:    case 353:
5309  #line 358 "lscp.y"  #line 506 "lscp.y"
5310      { yyval.Char = '\362'; }      { (yyval.Char) = '+'; }
5311      break;      break;
5312    
5313    case 354:    case 354:
5314  #line 358 "lscp.y"  #line 506 "lscp.y"
5315      { yyval.Char = '\363'; }      { (yyval.Char) = '-'; }
5316      break;      break;
5317    
5318    case 355:    case 355:
5319  #line 358 "lscp.y"  #line 506 "lscp.y"
5320      { yyval.Char = '\364'; }      { (yyval.Char) = '.'; }
5321      break;      break;
5322    
5323    case 356:    case 356:
5324  #line 359 "lscp.y"  #line 506 "lscp.y"
5325      { yyval.Char = '\365'; }      { (yyval.Char) = ','; }
5326      break;      break;
5327    
5328    case 357:    case 357:
5329  #line 359 "lscp.y"  #line 506 "lscp.y"
5330      { yyval.Char = '\366'; }      { (yyval.Char) = '/'; }
5331      break;      break;
5332    
5333    case 358:    case 358:
5334  #line 359 "lscp.y"  #line 507 "lscp.y"
5335      { yyval.Char = '\367'; }      { (yyval.Char) = ':'; }
5336      break;      break;
5337    
5338    case 359:    case 359:
5339  #line 360 "lscp.y"  #line 507 "lscp.y"
5340      { yyval.Char = '\370'; }      { (yyval.Char) = ';'; }
5341      break;      break;
5342    
5343    case 360:    case 360:
5344  #line 360 "lscp.y"  #line 507 "lscp.y"
5345      { yyval.Char = '\371'; }      { (yyval.Char) = '<'; }
5346      break;      break;
5347    
5348    case 361:    case 361:
5349  #line 360 "lscp.y"  #line 507 "lscp.y"
5350      { yyval.Char = '\372'; }      { (yyval.Char) = '='; }
5351      break;      break;
5352    
5353    case 362:    case 362:
5354  #line 361 "lscp.y"  #line 507 "lscp.y"
5355      { yyval.Char = '\373'; }      { (yyval.Char) = '>'; }
5356      break;      break;
5357    
5358    case 363:    case 363:
5359  #line 361 "lscp.y"  #line 507 "lscp.y"
5360      { yyval.Char = '\374'; }      { (yyval.Char) = '?'; }
5361      break;      break;
5362    
5363    case 364:    case 364:
5364  #line 361 "lscp.y"  #line 507 "lscp.y"
5365      { yyval.Char = '\375'; }      { (yyval.Char) = '@'; }
5366      break;      break;
5367    
5368    case 365:    case 365:
5369  #line 362 "lscp.y"  #line 508 "lscp.y"
5370      { yyval.Char = '\376'; }      { (yyval.Char) = '['; }
5371      break;      break;
5372    
5373    case 366:    case 366:
5374  #line 362 "lscp.y"  #line 508 "lscp.y"
5375      { yyval.Char = '\377'; }      { (yyval.Char) = '\\'; }
5376      break;      break;
5377    
5378    case 367:    case 367:
5379  #line 365 "lscp.y"  #line 508 "lscp.y"
5380      { yyval.String = " ";      }      { (yyval.Char) = ']'; }
5381        break;
5382    
5383      case 368:
5384    #line 508 "lscp.y"
5385        { (yyval.Char) = '^'; }
5386      break;      break;
5387    
5388    case 369:    case 369:
5389  #line 367 "lscp.y"  #line 508 "lscp.y"
5390      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '_'; }
5391      break;      break;
5392    
5393    case 370:    case 370:
5394  #line 368 "lscp.y"  #line 509 "lscp.y"
5395      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '{'; }
5396      break;      break;
5397    
5398    case 371:    case 371:
5399  #line 371 "lscp.y"  #line 509 "lscp.y"
5400      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '|'; }
5401      break;      break;
5402    
5403    case 372:    case 372:
5404  #line 372 "lscp.y"  #line 509 "lscp.y"
5405      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '}'; }
5406      break;      break;
5407    
5408      case 373:
5409    #line 509 "lscp.y"
5410        { (yyval.Char) = '~'; }
5411        break;
5412    
5413      }    case 374:
5414    #line 510 "lscp.y"
5415        { (yyval.Char) = '\200'; }
5416        break;
5417    
5418  /* Line 1010 of yacc.c.  */    case 375:
5419  #line 4428 "y.tab.c"  #line 510 "lscp.y"
5420        { (yyval.Char) = '\201'; }
5421    yyvsp -= yylen;      break;
5422    yyssp -= yylen;  
5423      case 376:
5424    #line 510 "lscp.y"
5425        { (yyval.Char) = '\202'; }
5426        break;
5427    
5428      case 377:
5429    #line 511 "lscp.y"
5430        { (yyval.Char) = '\203'; }
5431        break;
5432    
5433      case 378:
5434    #line 511 "lscp.y"
5435        { (yyval.Char) = '\204'; }
5436        break;
5437    
5438      case 379:
5439    #line 511 "lscp.y"
5440        { (yyval.Char) = '\205'; }
5441        break;
5442    
5443      case 380:
5444    #line 512 "lscp.y"
5445        { (yyval.Char) = '\206'; }
5446        break;
5447    
5448      case 381:
5449    #line 512 "lscp.y"
5450        { (yyval.Char) = '\207'; }
5451        break;
5452    
5453      case 382:
5454    #line 512 "lscp.y"
5455        { (yyval.Char) = '\210'; }
5456        break;
5457    
5458      case 383:
5459    #line 513 "lscp.y"
5460        { (yyval.Char) = '\211'; }
5461        break;
5462    
5463      case 384:
5464    #line 513 "lscp.y"
5465        { (yyval.Char) = '\212'; }
5466        break;
5467    
5468      case 385:
5469    #line 513 "lscp.y"
5470        { (yyval.Char) = '\213'; }
5471        break;
5472    
5473      case 386:
5474    #line 514 "lscp.y"
5475        { (yyval.Char) = '\214'; }
5476        break;
5477    
5478      case 387:
5479    #line 514 "lscp.y"
5480        { (yyval.Char) = '\215'; }
5481        break;
5482    
5483      case 388:
5484    #line 514 "lscp.y"
5485        { (yyval.Char) = '\216'; }
5486        break;
5487    
5488      case 389:
5489    #line 515 "lscp.y"
5490        { (yyval.Char) = '\217'; }
5491        break;
5492    
5493      case 390:
5494    #line 515 "lscp.y"
5495        { (yyval.Char) = '\220'; }
5496        break;
5497    
5498      case 391:
5499    #line 515 "lscp.y"
5500        { (yyval.Char) = '\221'; }
5501        break;
5502    
5503      case 392:
5504    #line 516 "lscp.y"
5505        { (yyval.Char) = '\222'; }
5506        break;
5507    
5508      case 393:
5509    #line 516 "lscp.y"
5510        { (yyval.Char) = '\223'; }
5511        break;
5512    
5513      case 394:
5514    #line 516 "lscp.y"
5515        { (yyval.Char) = '\224'; }
5516        break;
5517    
5518      case 395:
5519    #line 517 "lscp.y"
5520        { (yyval.Char) = '\225'; }
5521        break;
5522    
5523      case 396:
5524    #line 517 "lscp.y"
5525        { (yyval.Char) = '\226'; }
5526        break;
5527    
5528      case 397:
5529    #line 517 "lscp.y"
5530        { (yyval.Char) = '\227'; }
5531        break;
5532    
5533      case 398:
5534    #line 518 "lscp.y"
5535        { (yyval.Char) = '\230'; }
5536        break;
5537    
5538      case 399:
5539    #line 518 "lscp.y"
5540        { (yyval.Char) = '\231'; }
5541        break;
5542    
5543      case 400:
5544    #line 518 "lscp.y"
5545        { (yyval.Char) = '\232'; }
5546        break;
5547    
5548      case 401:
5549    #line 519 "lscp.y"
5550        { (yyval.Char) = '\233'; }
5551        break;
5552    
5553      case 402:
5554    #line 519 "lscp.y"
5555        { (yyval.Char) = '\234'; }
5556        break;
5557    
5558      case 403:
5559    #line 519 "lscp.y"
5560        { (yyval.Char) = '\235'; }
5561        break;
5562    
5563      case 404:
5564    #line 520 "lscp.y"
5565        { (yyval.Char) = '\236'; }
5566        break;
5567    
5568      case 405:
5569    #line 520 "lscp.y"
5570        { (yyval.Char) = '\237'; }
5571        break;
5572    
5573      case 406:
5574    #line 520 "lscp.y"
5575        { (yyval.Char) = '\240'; }
5576        break;
5577    
5578      case 407:
5579    #line 521 "lscp.y"
5580        { (yyval.Char) = '\241'; }
5581        break;
5582    
5583      case 408:
5584    #line 521 "lscp.y"
5585        { (yyval.Char) = '\242'; }
5586        break;
5587    
5588      case 409:
5589    #line 521 "lscp.y"
5590        { (yyval.Char) = '\243'; }
5591        break;
5592    
5593      case 410:
5594    #line 522 "lscp.y"
5595        { (yyval.Char) = '\244'; }
5596        break;
5597    
5598      case 411:
5599    #line 522 "lscp.y"
5600        { (yyval.Char) = '\245'; }
5601        break;
5602    
5603      case 412:
5604    #line 522 "lscp.y"
5605        { (yyval.Char) = '\246'; }
5606        break;
5607    
5608      case 413:
5609    #line 523 "lscp.y"
5610        { (yyval.Char) = '\247'; }
5611        break;
5612    
5613      case 414:
5614    #line 523 "lscp.y"
5615        { (yyval.Char) = '\250'; }
5616        break;
5617    
5618      case 415:
5619    #line 523 "lscp.y"
5620        { (yyval.Char) = '\251'; }
5621        break;
5622    
5623      case 416:
5624    #line 524 "lscp.y"
5625        { (yyval.Char) = '\252'; }
5626        break;
5627    
5628      case 417:
5629    #line 524 "lscp.y"
5630        { (yyval.Char) = '\253'; }
5631        break;
5632    
5633      case 418:
5634    #line 524 "lscp.y"
5635        { (yyval.Char) = '\254'; }
5636        break;
5637    
5638      case 419:
5639    #line 525 "lscp.y"
5640        { (yyval.Char) = '\255'; }
5641        break;
5642    
5643      case 420:
5644    #line 525 "lscp.y"
5645        { (yyval.Char) = '\256'; }
5646        break;
5647    
5648      case 421:
5649    #line 525 "lscp.y"
5650        { (yyval.Char) = '\257'; }
5651        break;
5652    
5653      case 422:
5654    #line 526 "lscp.y"
5655        { (yyval.Char) = '\260'; }
5656        break;
5657    
5658      case 423:
5659    #line 526 "lscp.y"
5660        { (yyval.Char) = '\261'; }
5661        break;
5662    
5663      case 424:
5664    #line 526 "lscp.y"
5665        { (yyval.Char) = '\262'; }
5666        break;
5667    
5668      case 425:
5669    #line 527 "lscp.y"
5670        { (yyval.Char) = '\263'; }
5671        break;
5672    
5673      case 426:
5674    #line 527 "lscp.y"
5675        { (yyval.Char) = '\264'; }
5676        break;
5677    
5678      case 427:
5679    #line 527 "lscp.y"
5680        { (yyval.Char) = '\265'; }
5681        break;
5682    
5683      case 428:
5684    #line 528 "lscp.y"
5685        { (yyval.Char) = '\266'; }
5686        break;
5687    
5688      case 429:
5689    #line 528 "lscp.y"
5690        { (yyval.Char) = '\267'; }
5691        break;
5692    
5693      case 430:
5694    #line 528 "lscp.y"
5695        { (yyval.Char) = '\270'; }
5696        break;
5697    
5698      case 431:
5699    #line 529 "lscp.y"
5700        { (yyval.Char) = '\271'; }
5701        break;
5702    
5703      case 432:
5704    #line 529 "lscp.y"
5705        { (yyval.Char) = '\272'; }
5706        break;
5707    
5708      case 433:
5709    #line 529 "lscp.y"
5710        { (yyval.Char) = '\273'; }
5711        break;
5712    
5713      case 434:
5714    #line 530 "lscp.y"
5715        { (yyval.Char) = '\274'; }
5716        break;
5717    
5718      case 435:
5719    #line 530 "lscp.y"
5720        { (yyval.Char) = '\275'; }
5721        break;
5722    
5723      case 436:
5724    #line 530 "lscp.y"
5725        { (yyval.Char) = '\276'; }
5726        break;
5727    
5728      case 437:
5729    #line 531 "lscp.y"
5730        { (yyval.Char) = '\277'; }
5731        break;
5732    
5733      case 438:
5734    #line 531 "lscp.y"
5735        { (yyval.Char) = '\300'; }
5736        break;
5737    
5738      case 439:
5739    #line 531 "lscp.y"
5740        { (yyval.Char) = '\301'; }
5741        break;
5742    
5743      case 440:
5744    #line 532 "lscp.y"
5745        { (yyval.Char) = '\302'; }
5746        break;
5747    
5748      case 441:
5749    #line 532 "lscp.y"
5750        { (yyval.Char) = '\303'; }
5751        break;
5752    
5753      case 442:
5754    #line 532 "lscp.y"
5755        { (yyval.Char) = '\304'; }
5756        break;
5757    
5758      case 443:
5759    #line 533 "lscp.y"
5760        { (yyval.Char) = '\305'; }
5761        break;
5762    
5763      case 444:
5764    #line 533 "lscp.y"
5765        { (yyval.Char) = '\306'; }
5766        break;
5767    
5768      case 445:
5769    #line 533 "lscp.y"
5770        { (yyval.Char) = '\307'; }
5771        break;
5772    
5773      case 446:
5774    #line 534 "lscp.y"
5775        { (yyval.Char) = '\310'; }
5776        break;
5777    
5778      case 447:
5779    #line 534 "lscp.y"
5780        { (yyval.Char) = '\311'; }
5781        break;
5782    
5783      case 448:
5784    #line 534 "lscp.y"
5785        { (yyval.Char) = '\312'; }
5786        break;
5787    
5788      case 449:
5789    #line 535 "lscp.y"
5790        { (yyval.Char) = '\313'; }
5791        break;
5792    
5793      case 450:
5794    #line 535 "lscp.y"
5795        { (yyval.Char) = '\314'; }
5796        break;
5797    
5798      case 451:
5799    #line 535 "lscp.y"
5800        { (yyval.Char) = '\315'; }
5801        break;
5802    
5803      case 452:
5804    #line 536 "lscp.y"
5805        { (yyval.Char) = '\316'; }
5806        break;
5807    
5808      case 453:
5809    #line 536 "lscp.y"
5810        { (yyval.Char) = '\317'; }
5811        break;
5812    
5813      case 454:
5814    #line 536 "lscp.y"
5815        { (yyval.Char) = '\320'; }
5816        break;
5817    
5818      case 455:
5819    #line 537 "lscp.y"
5820        { (yyval.Char) = '\321'; }
5821        break;
5822    
5823      case 456:
5824    #line 537 "lscp.y"
5825        { (yyval.Char) = '\322'; }
5826        break;
5827    
5828      case 457:
5829    #line 537 "lscp.y"
5830        { (yyval.Char) = '\323'; }
5831        break;
5832    
5833      case 458:
5834    #line 538 "lscp.y"
5835        { (yyval.Char) = '\324'; }
5836        break;
5837    
5838      case 459:
5839    #line 538 "lscp.y"
5840        { (yyval.Char) = '\325'; }
5841        break;
5842    
5843      case 460:
5844    #line 538 "lscp.y"
5845        { (yyval.Char) = '\326'; }
5846        break;
5847    
5848      case 461:
5849    #line 539 "lscp.y"
5850        { (yyval.Char) = '\327'; }
5851        break;
5852    
5853      case 462:
5854    #line 539 "lscp.y"
5855        { (yyval.Char) = '\330'; }
5856        break;
5857    
5858      case 463:
5859    #line 539 "lscp.y"
5860        { (yyval.Char) = '\331'; }
5861        break;
5862    
5863      case 464:
5864    #line 540 "lscp.y"
5865        { (yyval.Char) = '\332'; }
5866        break;
5867    
5868      case 465:
5869    #line 540 "lscp.y"
5870        { (yyval.Char) = '\333'; }
5871        break;
5872    
5873      case 466:
5874    #line 540 "lscp.y"
5875        { (yyval.Char) = '\334'; }
5876        break;
5877    
5878      case 467:
5879    #line 541 "lscp.y"
5880        { (yyval.Char) = '\335'; }
5881        break;
5882    
5883      case 468:
5884    #line 541 "lscp.y"
5885        { (yyval.Char) = '\336'; }
5886        break;
5887    
5888      case 469:
5889    #line 541 "lscp.y"
5890        { (yyval.Char) = '\337'; }
5891        break;
5892    
5893      case 470:
5894    #line 542 "lscp.y"
5895        { (yyval.Char) = '\340'; }
5896        break;
5897    
5898      case 471:
5899    #line 542 "lscp.y"
5900        { (yyval.Char) = '\341'; }
5901        break;
5902    
5903      case 472:
5904    #line 542 "lscp.y"
5905        { (yyval.Char) = '\342'; }
5906        break;
5907    
5908      case 473:
5909    #line 543 "lscp.y"
5910        { (yyval.Char) = '\343'; }
5911        break;
5912    
5913      case 474:
5914    #line 543 "lscp.y"
5915        { (yyval.Char) = '\344'; }
5916        break;
5917    
5918      case 475:
5919    #line 543 "lscp.y"
5920        { (yyval.Char) = '\345'; }
5921        break;
5922    
5923      case 476:
5924    #line 544 "lscp.y"
5925        { (yyval.Char) = '\346'; }
5926        break;
5927    
5928      case 477:
5929    #line 544 "lscp.y"
5930        { (yyval.Char) = '\347'; }
5931        break;
5932    
5933      case 478:
5934    #line 544 "lscp.y"
5935        { (yyval.Char) = '\350'; }
5936        break;
5937    
5938      case 479:
5939    #line 545 "lscp.y"
5940        { (yyval.Char) = '\351'; }
5941        break;
5942    
5943      case 480:
5944    #line 545 "lscp.y"
5945        { (yyval.Char) = '\352'; }
5946        break;
5947    
5948      case 481:
5949    #line 545 "lscp.y"
5950        { (yyval.Char) = '\353'; }
5951        break;
5952    
5953      case 482:
5954    #line 546 "lscp.y"
5955        { (yyval.Char) = '\354'; }
5956        break;
5957    
5958      case 483:
5959    #line 546 "lscp.y"
5960        { (yyval.Char) = '\355'; }
5961        break;
5962    
5963      case 484:
5964    #line 546 "lscp.y"
5965        { (yyval.Char) = '\356'; }
5966        break;
5967    
5968      case 485:
5969    #line 547 "lscp.y"
5970        { (yyval.Char) = '\357'; }
5971        break;
5972    
5973      case 486:
5974    #line 547 "lscp.y"
5975        { (yyval.Char) = '\360'; }
5976        break;
5977    
5978      case 487:
5979    #line 547 "lscp.y"
5980        { (yyval.Char) = '\361'; }
5981        break;
5982    
5983      case 488:
5984    #line 548 "lscp.y"
5985        { (yyval.Char) = '\362'; }
5986        break;
5987    
5988      case 489:
5989    #line 548 "lscp.y"
5990        { (yyval.Char) = '\363'; }
5991        break;
5992    
5993      case 490:
5994    #line 548 "lscp.y"
5995        { (yyval.Char) = '\364'; }
5996        break;
5997    
5998      case 491:
5999    #line 549 "lscp.y"
6000        { (yyval.Char) = '\365'; }
6001        break;
6002    
6003      case 492:
6004    #line 549 "lscp.y"
6005        { (yyval.Char) = '\366'; }
6006        break;
6007    
6008      case 493:
6009    #line 549 "lscp.y"
6010        { (yyval.Char) = '\367'; }
6011        break;
6012    
6013      case 494:
6014    #line 550 "lscp.y"
6015        { (yyval.Char) = '\370'; }
6016        break;
6017    
6018      case 495:
6019    #line 550 "lscp.y"
6020        { (yyval.Char) = '\371'; }
6021        break;
6022    
6023      case 496:
6024    #line 550 "lscp.y"
6025        { (yyval.Char) = '\372'; }
6026        break;
6027    
6028      case 497:
6029    #line 551 "lscp.y"
6030        { (yyval.Char) = '\373'; }
6031        break;
6032    
6033      case 498:
6034    #line 551 "lscp.y"
6035        { (yyval.Char) = '\374'; }
6036        break;
6037    
6038      case 499:
6039    #line 551 "lscp.y"
6040        { (yyval.Char) = '\375'; }
6041        break;
6042    
6043      case 500:
6044    #line 552 "lscp.y"
6045        { (yyval.Char) = '\376'; }
6046        break;
6047    
6048      case 501:
6049    #line 552 "lscp.y"
6050        { (yyval.Char) = '\377'; }
6051        break;
6052    
6053      case 502:
6054    #line 555 "lscp.y"
6055        { (yyval.String) = " ";      }
6056        break;
6057    
6058      case 504:
6059    #line 557 "lscp.y"
6060        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
6061        break;
6062    
6063      case 505:
6064    #line 558 "lscp.y"
6065        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
6066        break;
6067    
6068      case 506:
6069    #line 561 "lscp.y"
6070        { (yyval.String) = (yyvsp[(2) - (3)].String); }
6071        break;
6072    
6073      case 507:
6074    #line 562 "lscp.y"
6075        { (yyval.String) = (yyvsp[(2) - (3)].String); }
6076        break;
6077    
6078    
6079    /* Line 1267 of yacc.c.  */
6080    #line 6081 "y.tab.c"
6081          default: break;
6082        }
6083      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6084    
6085      YYPOPSTACK (yylen);
6086      yylen = 0;
6087    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
6088    
6089    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4458  yyerrlab: Line 6112  yyerrlab:
6112    if (!yyerrstatus)    if (!yyerrstatus)
6113      {      {
6114        ++yynerrs;        ++yynerrs;
6115  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
6116        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
6117    #else
6118        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
6119          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6120            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6121            int yytype = YYTRANSLATE (yychar);            {
6122            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
6123            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6124            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
6125                if (yymsg != yymsgbuf)
6126            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
6127               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6128            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
6129                  yymsg_alloc = yyalloc;
6130            /* 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)  
6131                {                {
6132                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
6133                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
6134                }                }
6135            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]);  
6136    
6137                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
6138                  {            {
6139                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
6140                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
6141                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
6142                        {          else
6143                          yyp = yystpcpy (yyp, yyprefix);            {
6144                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
6145                          yyprefix = " or ";              if (yysize != 0)
6146                        }                goto yyexhaustedlab;
6147                  }            }
6148                yyerror (yymsg);        }
6149                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
6150      }      }
6151    
6152    
6153    
6154    if (yyerrstatus == 3)    if (yyerrstatus == 3)
6155      {      {
6156        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
6157           error, discard it.  */           error, discard it.  */
6158    
6159        if (yychar <= YYEOF)        if (yychar <= YYEOF)
6160          {          {
6161            /* 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.  */  
6162            if (yychar == YYEOF)            if (yychar == YYEOF)
6163               for (;;)              YYABORT;
6164                 {          }
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
                  yydestruct (yystos[*yyssp], yyvsp);  
                }  
         }  
6165        else        else
6166          {          {
6167            YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);            yydestruct ("Error: discarding",
6168            yydestruct (yytoken, &yylval);                        yytoken, &yylval);
6169            yychar = YYEMPTY;            yychar = YYEMPTY;
   
6170          }          }
6171      }      }
6172    
6173    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
6174       token.  */       token.  */
6175    goto yyerrlab1;    goto yyerrlab1;
6176    
# Line 4560  yyerrlab: Line 6180  yyerrlab:
6180  `---------------------------------------------------*/  `---------------------------------------------------*/
6181  yyerrorlab:  yyerrorlab:
6182    
6183  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
6184    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
6185       yyerrorlab therefore never appears in user code.  */       code.  */
6186    if (0)    if (/*CONSTCOND*/ 0)
6187       goto yyerrorlab;       goto yyerrorlab;
 #endif  
6188    
6189    yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
6190    yyssp -= yylen;       this YYERROR.  */
6191      YYPOPSTACK (yylen);
6192      yylen = 0;
6193      YY_STACK_PRINT (yyss, yyssp);
6194    yystate = *yyssp;    yystate = *yyssp;
6195    goto yyerrlab1;    goto yyerrlab1;
6196    
# Line 4597  yyerrlab1: Line 6219  yyerrlab1:
6219        if (yyssp == yyss)        if (yyssp == yyss)
6220          YYABORT;          YYABORT;
6221    
6222        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
6223        yydestruct (yystos[yystate], yyvsp);        yydestruct ("Error: popping",
6224        YYPOPSTACK;                    yystos[yystate], yyvsp);
6225          YYPOPSTACK (1);
6226        yystate = *yyssp;        yystate = *yyssp;
6227        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
6228      }      }
# Line 4607  yyerrlab1: Line 6230  yyerrlab1:
6230    if (yyn == YYFINAL)    if (yyn == YYFINAL)
6231      YYACCEPT;      YYACCEPT;
6232    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
6233    *++yyvsp = yylval;    *++yyvsp = yylval;
6234    
6235    
6236      /* Shift the error token.  */
6237      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
6238    
6239    yystate = yyn;    yystate = yyn;
6240    goto yynewstate;    goto yynewstate;
6241    
# Line 4631  yyabortlab: Line 6255  yyabortlab:
6255    goto yyreturn;    goto yyreturn;
6256    
6257  #ifndef yyoverflow  #ifndef yyoverflow
6258  /*----------------------------------------------.  /*-------------------------------------------------.
6259  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
6260  `----------------------------------------------*/  `-------------------------------------------------*/
6261  yyoverflowlab:  yyexhaustedlab:
6262    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
6263    yyresult = 2;    yyresult = 2;
6264    /* Fall through.  */    /* Fall through.  */
6265  #endif  #endif
6266    
6267  yyreturn:  yyreturn:
6268      if (yychar != YYEOF && yychar != YYEMPTY)
6269         yydestruct ("Cleanup: discarding lookahead",
6270                     yytoken, &yylval);
6271      /* Do not reclaim the symbols of the rule which action triggered
6272         this YYABORT or YYACCEPT.  */
6273      YYPOPSTACK (yylen);
6274      YY_STACK_PRINT (yyss, yyssp);
6275      while (yyssp != yyss)
6276        {
6277          yydestruct ("Cleanup: popping",
6278                      yystos[*yyssp], yyvsp);
6279          YYPOPSTACK (1);
6280        }
6281  #ifndef yyoverflow  #ifndef yyoverflow
6282    if (yyss != yyssa)    if (yyss != yyssa)
6283      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
6284  #endif  #endif
6285    return yyresult;  #if YYERROR_VERBOSE
6286      if (yymsg != yymsgbuf)
6287        YYSTACK_FREE (yymsg);
6288    #endif
6289      /* Make sure YYID is used.  */
6290      return YYID (yyresult);
6291  }  }
6292    
6293    
6294  #line 543 "lscp.y"  #line 880 "lscp.y"
6295    
6296    
6297  /**  /**
# Line 4667  void restart(yyparse_param_t* pparam, in Line 6309  void restart(yyparse_param_t* pparam, in
6309      ptr   = 0;      ptr   = 0;
6310  }  }
6311    
   

Legend:
Removed from v.573  
changed lines
  Added in v.1200

  ViewVC Help
Powered by ViewVC