/[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 563 by schoenebeck, Sun May 22 20:43:32 2005 UTC revision 1109 by iliev, Thu Mar 22 20:55:17 2007 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 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  46
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4524  #define YYLAST   4543
355    
356  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  95  #define YYNNTS  143
360  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  427  #define YYNRULES  539
362  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1181  #define YYNSTATES  1705
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
367  #define YYMAXUTOK   257  #define YYMAXUTOK   257
368    
369  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
370    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371    
372  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
373  static const unsigned char yytranslate[] =  static const yytype_uint8 yytranslate[] =
374  {  {
375         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
376       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,       225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
377         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
378         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,         2,     2,   224,    71,   223,     3,    72,    73,    74,   222,
379        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,        75,    76,    77,     7,     5,     8,     6,    78,     9,    10,
380        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,        11,    12,    13,    14,    15,    16,    17,    18,    79,    80,
381        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,        81,     4,    82,    83,    84,    19,    20,    21,    22,    23,
382        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
383        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
384        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,        44,    85,    86,    87,    88,    89,     2,    45,    46,    47,
385        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
386        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
387        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,        68,    69,    70,    90,    91,    92,    93,     2,    94,    95,
388        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
389       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
390       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
391       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
392       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
393       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
394       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
395       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
396       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
397       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
398       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
399       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
400       218,   219,   220,   221,   222,   223,     1,     2       216,   217,   218,   219,   220,   221,     1,     2
401  };  };
402    
403  #if YYDEBUG  #if YYDEBUG
404  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in  /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405     YYRHS.  */     YYRHS.  */
406  static const unsigned short int yyprhs[] =  static const yytype_uint16 yyprhs[] =
407  {  {
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,       117,   119,   121,   123,   125,   127,   129,   131,   133,   135,
413       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,       137,   139,   141,   143,   145,   147,   149,   151,   153,   155,
414       239,   245,   251,   255,   263,   273,   281,   291,   295,   299,       157,   159,   161,   163,   165,   167,   169,   171,   173,   175,
415       305,   309,   315,   319,   323,   327,   331,   335,   341,   349,       192,   211,   230,   251,   259,   263,   267,   271,   273,   275,
416       355,   365,   371,   377,   383,   389,   395,   399,   405,   407,       281,   289,   299,   301,   307,   315,   325,   327,   329,   335,
417       409,   411,   413,   415,   417,   419,   421,   427,   435,   439,       341,   349,   359,   367,   377,   379,   385,   393,   399,   405,
418       441,   443,   445,   447,   449,   451,   453,   455,   457,   459,       411,   415,   417,   419,   423,   427,   437,   439,   445,   449,
419       461,   463,   465,   467,   471,   473,   477,   481,   483,   485,       457,   459,   467,   477,   485,   495,   499,   507,   519,   529,
420       487,   489,   491,   494,   498,   503,   508,   510,   513,   515,       539,   543,   547,   553,   557,   563,   567,   573,   581,   585,
421       517,   519,   521,   523,   525,   527,   529,   531,   533,   535,       589,   593,   597,   601,   607,   611,   615,   621,   629,   635,
422       538,   541,   544,   547,   550,   553,   556,   559,   562,   564,       645,   651,   657,   663,   669,   675,   681,   687,   693,   699,
423       566,   568,   570,   572,   574,   576,   578,   580,   582,   584,       705,   706,   709,   713,   719,   721,   723,   725,   727,   729,
424       586,   588,   590,   592,   594,   596,   598,   600,   602,   604,       731,   733,   735,   739,   743,   745,   749,   755,   763,   767,
425       606,   608,   610,   612,   614,   616,   618,   620,   622,   624,       769,   771,   773,   775,   777,   779,   781,   783,   785,   787,
426       626,   628,   630,   632,   634,   636,   638,   640,   642,   644,       789,   791,   793,   795,   797,   799,   801,   803,   805,   807,
427       646,   648,   650,   652,   654,   656,   658,   660,   662,   664,       809,   811,   813,   815,   817,   821,   823,   825,   827,   829,
428       666,   668,   670,   672,   674,   676,   678,   680,   682,   684,       831,   833,   835,   838,   842,   847,   852,   854,   857,   859,
429       686,   688,   690,   692,   694,   696,   698,   700,   702,   704,       861,   863,   865,   867,   869,   871,   873,   875,   877,   879,
430       706,   708,   710,   712,   714,   716,   718,   720,   722,   724,       882,   885,   888,   891,   894,   897,   900,   903,   906,   908,
431       726,   728,   730,   732,   734,   736,   738,   740,   742,   744,       910,   912,   914,   916,   918,   920,   922,   924,   926,   928,
432       746,   748,   750,   752,   754,   756,   758,   760,   762,   764,       930,   932,   934,   936,   938,   940,   942,   944,   946,   948,
433       766,   768,   770,   772,   774,   776,   778,   780,   782,   784,       950,   952,   954,   956,   958,   960,   962,   964,   966,   968,
434       786,   788,   790,   792,   794,   796,   798,   800,   802,   804,       970,   972,   974,   976,   978,   980,   982,   984,   986,   988,
435       806,   808,   810,   812,   814,   816,   818,   820,   822,   824,       990,   992,   994,   996,   998,  1000,  1002,  1004,  1006,  1008,
436       826,   828,   830,   832,   834,   836,   838,   840,   842,   844,      1010,  1012,  1014,  1016,  1018,  1020,  1022,  1024,  1026,  1028,
437       846,   848,   850,   852,   854,   856,   858,   860,   862,   864,      1030,  1032,  1034,  1036,  1038,  1040,  1042,  1044,  1046,  1048,
438       866,   868,   870,   872,   874,   876,   878,   880,   882,   884,      1050,  1052,  1054,  1056,  1058,  1060,  1062,  1064,  1066,  1068,
439       886,   888,   890,   892,   894,   896,   898,   900,   902,   904,      1070,  1072,  1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,
440       906,   908,   910,   912,   914,   916,   918,   920,   922,   924,      1090,  1092,  1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,
441       926,   928,   930,   932,   934,   936,   938,   940,   942,   944,      1110,  1112,  1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,
442       946,   948,   950,   952,   954,   956,   958,   960,   962,   964,      1130,  1132,  1134,  1136,  1138,  1140,  1142,  1144,  1146,  1148,
443       966,   968,   970,   972,   974,   976,   978,   980,   982,   984,      1150,  1152,  1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,
444       986,   988,   990,   992,   994,   996,   998,  1000,  1002,  1004,      1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,
445      1007,  1010,  1014,  1018,  1020,  1022,  1024,  1028,  1032,  1039,      1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,
446      1047,  1052,  1057,  1061,  1071,  1078,  1082,  1092,  1104,  1111,      1210,  1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,
447      1119,  1137,  1168,  1177,  1182,  1196,  1209,  1221,  1234,  1246,      1230,  1232,  1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,
448      1257,  1264,  1294,  1315,  1335,  1365,  1385,  1416,  1437,  1455,      1250,  1252,  1254,  1256,  1258,  1260,  1262,  1264,  1266,  1268,
449      1484,  1512,  1538,  1557,  1575,  1603,  1621,  1637,  1656,  1672,      1270,  1272,  1274,  1276,  1278,  1280,  1282,  1284,  1286,  1288,
450      1683,  1690,  1697,  1703,  1714,  1720,  1734,  1739      1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,  1306,  1308,
451        1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,
452        1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,
453        1351,  1354,  1358,  1362,  1364,  1366,  1368,  1372,  1376,  1380,
454        1386,  1392,  1399,  1407,  1412,  1417,  1421,  1426,  1434,  1444,
455        1451,  1455,  1465,  1477,  1484,  1492,  1510,  1541,  1550,  1555,
456        1581,  1606,  1630,  1653,  1679,  1704,  1726,  1747,  1761,  1774,
457        1788,  1801,  1813,  1826,  1838,  1856,  1878,  1890,  1901,  1908,
458        1918,  1933,  1944,  1974,  1995,  2015,  2045,  2065,  2096,  2117,
459        2135,  2164,  2192,  2218,  2237,  2255,  2283,  2299,  2316,  2336,
460        2357,  2375,  2391,  2410,  2426,  2437,  2453,  2461,  2470,  2477,
461        2484,  2490,  2495,  2500,  2506,  2517,  2523,  2537,  2542,  2547
462  };  };
463    
464  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
465  static const short int yyrhs[] =  static const yytype_int16 yyrhs[] =
466  {  {
467       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,       228,     0,    -1,   229,   284,    -1,   229,   285,   284,    -1,
468        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
469         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,         3,    -1,   230,   283,    -1,   230,   279,    -1,   230,   275,
470        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,        -1,   286,   283,   232,    -1,   288,   283,   235,    -1,   289,
471       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,       283,   236,    -1,   287,   283,   238,    -1,   291,   283,   240,
472        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,        -1,   292,   283,   243,    -1,   293,   283,   249,    -1,   294,
473        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,       283,   244,    -1,   299,   283,   237,    -1,   300,   283,   239,
474       267,   233,    -1,   282,   267,   265,    -1,   318,   267,   283,        -1,   301,   283,   233,    -1,   302,   283,   234,    -1,   303,
475       267,   252,    -1,   318,    -1,   321,    -1,   288,    -1,   292,       283,   281,    -1,   365,   283,   241,    -1,   290,   283,   242,
476        -1,   291,    -1,   290,    -1,   289,    -1,   319,    -1,   288,        -1,   365,    -1,   369,    -1,   304,    -1,   348,    -1,   348,
477        -1,   292,    -1,   291,    -1,   290,    -1,   289,    -1,   319,       283,   269,    -1,   309,    -1,   310,    -1,   311,    -1,   312,
478        -1,   284,    -1,   303,    -1,   309,   267,   287,   267,   259,        -1,   317,    -1,   323,    -1,   322,    -1,   321,    -1,   318,
479        -1,   308,   267,   287,   267,   259,   267,   259,    -1,   308,        -1,   319,    -1,   320,    -1,   313,    -1,   314,    -1,   315,
480       267,   287,   267,   259,   267,   259,   267,   240,    -1,   285,        -1,   316,    -1,   366,    -1,   324,    -1,   326,    -1,   309,
481        -1,   299,   267,   287,   267,   259,    -1,   298,   267,   287,        -1,   310,    -1,   311,    -1,   312,    -1,   317,    -1,   323,
482       267,   259,   267,   259,    -1,   298,   267,   287,   267,   259,        -1,   322,    -1,   321,    -1,   318,    -1,   319,    -1,   320,
483       267,   259,   267,   240,    -1,   296,    -1,   306,    -1,   297,        -1,   313,    -1,   314,    -1,   315,    -1,   316,    -1,   366,
484       267,   287,   267,   263,    -1,   307,   267,   287,   267,   263,        -1,   324,    -1,   326,    -1,   346,   283,   246,   259,   283,
485        -1,   310,   267,   287,   267,   263,   267,   263,    -1,   305,       260,   283,   261,   283,   267,   283,   268,   283,   265,   283,
486       267,   287,   267,   263,   267,   263,   267,   259,    -1,   301,       263,    -1,   346,   283,   246,   259,   283,   260,   283,   261,
487       267,   287,   267,   263,   267,   263,    -1,   300,   267,   287,       283,   267,   283,   268,   283,   265,   283,   263,   283,   252,
488       267,   263,   267,   263,   267,   259,    -1,   286,    -1,   283,        -1,   346,   283,   246,   259,   283,   260,   283,   261,   283,
489       267,   287,   267,   252,    -1,   283,   267,   290,   267,   241,       267,   283,   268,   283,   265,   283,   263,   283,   270,    -1,
490       267,   252,    -1,   283,   267,   291,   267,   252,    -1,   283,       346,   283,   246,   259,   283,   260,   283,   261,   283,   267,
491       267,   292,   267,   252,    -1,   294,   267,   287,   267,   254,       283,   268,   283,   265,   283,   263,   283,   252,   283,   270,
492        -1,   314,   267,   287,    -1,   295,   267,   263,   267,   259,        -1,   346,   283,   259,   283,   260,   283,   261,    -1,   304,
493         4,   256,    -1,   300,   267,   263,   267,   263,   267,   259,       283,   264,    -1,   348,   283,   259,    -1,   348,   283,   295,
494         4,   256,    -1,   304,   267,   263,   267,   259,     4,   256,        -1,   305,    -1,   340,    -1,   350,   283,   308,   283,   275,
495        -1,   305,   267,   263,   267,   263,   267,   259,     4,   256,        -1,   345,   283,   308,   283,   275,   283,   275,    -1,   345,
496        -1,   283,   267,   239,    -1,   320,   267,   258,    -1,   297,       283,   308,   283,   275,   283,   275,   283,   247,    -1,   306,
497       267,   259,   267,   240,    -1,   297,   267,   259,    -1,   307,        -1,   336,   283,   308,   283,   275,    -1,   335,   283,   308,
498       267,   259,   267,   240,    -1,   307,   267,   259,    -1,   297,       283,   275,   283,   275,    -1,   335,   283,   308,   283,   275,
499       267,   263,    -1,   307,   267,   263,    -1,   293,   267,   243,       283,   275,   283,   247,    -1,   333,    -1,   343,    -1,   334,
500        -1,   294,   267,   244,    -1,   297,   267,   252,   267,   245,       283,   308,   283,   279,    -1,   344,   283,   308,   283,   279,
501        -1,   301,   267,   252,   267,   246,   267,   246,    -1,   302,        -1,   351,   283,   308,   283,   279,   283,   279,    -1,   342,
502       267,   252,   267,   247,    -1,   313,   267,   252,   267,   245,       283,   308,   283,   279,   283,   279,   283,   275,    -1,   338,
503       267,   248,   267,   249,    -1,   307,   267,   252,   267,   245,       283,   308,   283,   279,   283,   279,    -1,   337,   283,   308,
504        -1,   310,   267,   252,   267,   248,    -1,   311,   267,   252,       283,   279,   283,   279,   283,   275,    -1,   307,    -1,   304,
505       267,   249,    -1,   312,   267,   252,   267,   250,    -1,   315,       283,   308,   283,   264,    -1,   304,   283,   321,   283,   248,
506       267,   252,   267,   251,    -1,   259,     4,   256,    -1,   240,       283,   264,    -1,   304,   283,   322,   283,   264,    -1,   304,
507       267,   259,     4,   256,    -1,   316,    -1,   317,    -1,   296,       283,   323,   283,   264,    -1,   328,   283,   308,   283,   267,
508        -1,   306,    -1,   286,    -1,   284,    -1,   303,    -1,   285,        -1,   358,   283,   308,    -1,   324,    -1,   325,    -1,   347,
509        -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,       283,   259,    -1,   347,   283,   295,    -1,   346,   283,   308,
510       267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,       283,   259,   283,   260,   283,   261,    -1,   349,    -1,   348,
511        -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,       283,   308,   283,   259,    -1,   357,   283,   264,    -1,   356,
512        -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,       283,   308,   283,   264,   283,   266,    -1,   359,    -1,   332,
513        -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,       283,   279,   283,   275,     4,   272,    -1,   337,   283,   279,
514        -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,       283,   279,   283,   275,     4,   272,    -1,   341,   283,   279,
515        -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,       283,   275,     4,   272,    -1,   342,   283,   279,   283,   279,
516        -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,       283,   275,     4,   272,    -1,   304,   283,   245,    -1,   348,
517         8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,       283,   367,   283,   259,   283,   269,    -1,   356,   283,   338,
518       261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,       283,   264,   283,   266,   283,   254,   283,   254,    -1,   356,
519        -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,       283,   355,   283,   264,   283,   266,   283,   262,    -1,   356,
520        -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,       283,   360,   283,   264,   283,   266,   283,   263,    -1,   368,
521        -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,       283,   274,    -1,   359,   283,   263,    -1,   334,   283,   275,
522        17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,       283,   247,    -1,   334,   283,   275,    -1,   344,   283,   275,
523       261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,       283,   247,    -1,   344,   283,   275,    -1,   356,   283,   264,
524        25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,       283,   262,    -1,   356,   283,   264,   283,   262,   283,   271,
525        30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,        -1,   304,   283,   264,    -1,   347,   283,   259,    -1,   347,
526        35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,       283,   295,    -1,   334,   283,   279,    -1,   344,   283,   279,
527        40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,        -1,   356,   283,   264,   283,   266,    -1,   327,   283,   250,
528        45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,        -1,   328,   283,   251,    -1,   334,   283,   264,   283,   253,
529        50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,        -1,   338,   283,   264,   283,   254,   283,   254,    -1,   339,
530        55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,       283,   264,   283,   255,    -1,   354,   283,   264,   283,   253,
531        60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,       283,   256,   283,   257,    -1,   344,   283,   264,   283,   253,
532        65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,        -1,   351,   283,   264,   283,   256,    -1,   352,   283,   264,
533        70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,       283,   257,    -1,   353,   283,   264,   283,   258,    -1,   359,
534        13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,       283,   264,   283,   263,    -1,   361,   283,   264,   283,   274,
535        18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,        -1,   362,   283,   264,   283,   274,    -1,   348,   283,   264,
536        74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,       283,   259,    -1,   348,   283,   264,   283,   296,    -1,   348,
537        79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,       283,   264,   283,   297,    -1,    -1,   298,   283,    -1,   275,
538        80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,         4,   272,    -1,   247,   283,   275,     4,   272,    -1,   363,
539        84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,        -1,   364,    -1,   333,    -1,   343,    -1,   307,    -1,   305,
540        89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,        -1,   340,    -1,   306,    -1,   347,   283,   259,    -1,   347,
541        94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,       283,   295,    -1,   349,    -1,   357,   283,   264,    -1,   268,
542        99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,       283,   265,   283,   264,    -1,   298,   283,   268,   283,   265,
543       104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,       283,   264,    -1,   267,   283,   264,    -1,   329,    -1,   330,
544       109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,        -1,   331,    -1,   279,    -1,   279,    -1,   275,    -1,   279,
545       114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,        -1,   279,    -1,   295,    -1,   275,    -1,   279,    -1,   279,
546       119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,        -1,   279,    -1,   279,    -1,   276,    -1,   279,    -1,   279,
547       124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,        -1,   279,    -1,   279,    -1,   275,    -1,   282,    -1,   282,
548       129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,        -1,   282,    -1,   282,    -1,   273,    -1,   272,     5,   273,
549       134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,        -1,   275,    -1,   282,    -1,   279,    -1,   276,    -1,   279,
550       139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,        -1,   275,    -1,   280,    -1,   275,   280,    -1,   277,     6,
551       144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,       277,    -1,     7,   277,     6,   277,    -1,     8,   277,     6,
552       149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,       277,    -1,   278,    -1,   277,   278,    -1,     9,    -1,    10,
553       154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,        -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,
554       159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,        -1,    16,    -1,    17,    -1,    18,    -1,   278,    -1,    10,
555       164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,       277,    -1,    11,   277,    -1,    12,   277,    -1,    13,   277,
556       169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,        -1,    14,   277,    -1,    15,   277,    -1,    16,   277,    -1,
557       174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,        17,   277,    -1,    18,   277,    -1,    19,    -1,    20,    -1,
558       179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,        21,    -1,    22,    -1,    23,    -1,    24,    -1,    25,    -1,
559       184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,        26,    -1,    27,    -1,    28,    -1,    29,    -1,    30,    -1,
560       189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,        31,    -1,    32,    -1,    33,    -1,    34,    -1,    35,    -1,
561       194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,        36,    -1,    37,    -1,    38,    -1,    39,    -1,    40,    -1,
562       199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,        41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1,
563       204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,        46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1,
564       209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,        51,    -1,    52,    -1,    53,    -1,    54,    -1,    55,    -1,
565       214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,        56,    -1,    57,    -1,    58,    -1,    59,    -1,    60,    -1,
566       219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,        61,    -1,    62,    -1,    63,    -1,    64,    -1,    65,    -1,
567       267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,        66,    -1,    67,    -1,    68,    -1,    69,    -1,    70,    -1,
568         6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,         9,    -1,    10,    -1,    11,    -1,    12,    -1,    13,    -1,
569       225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,        14,    -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,
570        40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,        71,    -1,     3,    -1,    72,    -1,    73,    -1,    74,    -1,
571        25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,        75,    -1,    76,    -1,    77,    -1,     7,    -1,     8,    -1,
572        40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,         6,    -1,     5,    -1,    78,    -1,    79,    -1,    80,    -1,
573        -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,        81,    -1,     4,    -1,    82,    -1,    83,    -1,    84,    -1,
574        -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,        85,    -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,
575        40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,        90,    -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,
576        25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,        95,    -1,    96,    -1,    97,    -1,    98,    -1,    99,    -1,
577        29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,       100,    -1,   101,    -1,   102,    -1,   103,    -1,   104,    -1,
578        -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,       105,    -1,   106,    -1,   107,    -1,   108,    -1,   109,    -1,
579        42,    21,    29,    32,    21,    22,    32,    25,    91,    25,       110,    -1,   111,    -1,   112,    -1,   113,    -1,   114,    -1,
580        34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,       115,    -1,   116,    -1,   117,    -1,   118,    -1,   119,    -1,
581        29,    32,    21,    22,    32,    25,    91,    21,    41,    24,       120,    -1,   121,    -1,   122,    -1,   123,    -1,   124,    -1,
582        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,       125,    -1,   126,    -1,   127,    -1,   128,    -1,   129,    -1,
583        24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,       130,    -1,   131,    -1,   132,    -1,   133,    -1,   134,    -1,
584        21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,       135,    -1,   136,    -1,   137,    -1,   138,    -1,   139,    -1,
585        35,    -1,    23,    28,    21,    34,    34,    25,    32,    91,       140,    -1,   141,    -1,   142,    -1,   143,    -1,   144,    -1,
586        23,    35,    41,    34,    40,    -1,    23,    28,    21,    34,       145,    -1,   146,    -1,   147,    -1,   148,    -1,   149,    -1,
587        34,    25,    32,    91,    29,    34,    26,    35,    -1,    22,       150,    -1,   151,    -1,   152,    -1,   153,    -1,   154,    -1,
588        41,    26,    26,    25,    38,    91,    26,    29,    32,    32,       155,    -1,   156,    -1,   157,    -1,   158,    -1,   159,    -1,
589        -1,    39,    40,    38,    25,    21,    33,    91,    23,    35,       160,    -1,   161,    -1,   162,    -1,   163,    -1,   164,    -1,
590        41,    34,    40,    -1,    42,    35,    29,    23,    25,    91,       165,    -1,   166,    -1,   167,    -1,   168,    -1,   169,    -1,
591        23,    35,    41,    34,    40,    -1,    29,    34,    39,    40,       170,    -1,   171,    -1,   172,    -1,   173,    -1,   174,    -1,
592        38,    41,    33,    25,    34,    40,    -1,    25,    34,    27,       175,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
593        29,    34,    25,    -1,    21,    41,    24,    29,    35,    91,       180,    -1,   181,    -1,   182,    -1,   183,    -1,   184,    -1,
594        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,       185,    -1,   186,    -1,   187,    -1,   188,    -1,   189,    -1,
595        29,    23,    25,    91,    36,    21,    38,    21,    33,    25,       190,    -1,   191,    -1,   192,    -1,   193,    -1,   194,    -1,
596        40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,       195,    -1,   196,    -1,   197,    -1,   198,    -1,   199,    -1,
597        35,    41,    40,    36,    41,    40,    91,    24,    25,    42,       200,    -1,   201,    -1,   202,    -1,   203,    -1,   204,    -1,
598        29,    23,    25,    39,    -1,    21,    41,    24,    29,    35,       205,    -1,   206,    -1,   207,    -1,   208,    -1,   209,    -1,
599        91,    35,    41,    40,    36,    41,    40,    91,    24,    25,       210,    -1,   211,    -1,   212,    -1,   213,    -1,   214,    -1,
600        42,    29,    23,    25,    -1,    21,    41,    24,    29,    35,       215,    -1,   216,    -1,   217,    -1,   218,    -1,   219,    -1,
601        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,       220,    -1,   221,    -1,   283,    -1,   275,    -1,   281,   283,
602        29,    42,    25,    38,    91,    36,    21,    38,    21,    33,        -1,   281,   275,    -1,   222,   281,   222,    -1,   223,   281,
603        25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,       223,    -1,   224,    -1,   225,    -1,   226,    -1,    19,    22,
604        91,    35,    41,    40,    36,    41,    40,    91,    24,    38,        22,    -1,    25,    23,    38,    -1,    31,    19,    34,    -1,
605        29,    42,    25,    38,    -1,    21,    41,    24,    29,    35,        39,    32,    31,    19,    34,    -1,    21,    30,    23,    19,
606        91,    35,    41,    40,    36,    41,    40,    91,    23,    28,        36,    -1,    21,    36,    23,    19,    38,    23,    -1,    22,
607        21,    34,    34,    25,    32,    91,    36,    21,    38,    21,        23,    37,    38,    36,    33,    43,    -1,    30,    27,    37,
608        33,    25,    40,    25,    38,    -1,    21,    41,    24,    29,        38,    -1,    30,    33,    19,    22,    -1,    19,    30,    30,
609        35,    91,    35,    41,    40,    36,    41,    40,    91,    23,        -1,    32,    33,    32,    23,    -1,    22,    23,    24,    19,
610        28,    21,    34,    34,    25,    32,    -1,    21,    41,    24,        39,    30,    38,    -1,    32,    33,    32,    89,    31,    33,
611        29,    35,    91,    35,    41,    40,    36,    41,    40,    91,        22,    19,    30,    -1,    36,    23,    31,    33,    40,    23,
612        40,    45,    36,    25,    -1,    21,    42,    21,    29,    32,        -1,    37,    23,    38,    -1,    37,    39,    20,    37,    21,
613        21,    22,    32,    25,    91,    33,    29,    24,    29,    91,        36,    27,    20,    23,    -1,    39,    32,    37,    39,    20,
614        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        37,    21,    36,    27,    20,    23,    -1,    37,    23,    30,
615        25,    38,    39,    -1,    33,    29,    24,    29,    91,    29,        23,    21,    38,    -1,    21,    26,    19,    32,    32,    23,
616        34,    36,    41,    40,    91,    24,    25,    42,    29,    23,        30,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
617        25,    91,    36,    21,    38,    21,    33,    25,    40,    25,        23,    89,    23,    32,    25,    27,    32,    23,    37,    -1,
618        38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
619        41,    40,    91,    36,    35,    38,    40,    91,    36,    21,        19,    39,    22,    27,    33,    89,    33,    39,    38,    34,
620        38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,        39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
621        24,    29,    91,    29,    34,    36,    41,    40,    91,    24,        -1,    21,    26,    19,    32,    32,    23,    30,    37,    -1,
622        25,    42,    29,    23,    25,    39,    -1,    33,    29,    24,        27,    32,    24,    33,    -1,    19,    39,    22,    27,    33,
623        29,    91,    29,    34,    36,    41,    40,    91,    24,    25,        89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
624        42,    29,    23,    25,    -1,    33,    29,    24,    29,    91,        40,    27,    21,    23,    89,    21,    33,    39,    32,    38,
625        29,    34,    36,    41,    40,    91,    24,    38,    29,    42,        -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
626        25,    38,    91,    36,    21,    38,    21,    33,    25,    40,        34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
627        25,    38,    -1,    33,    29,    24,    29,    91,    29,    34,        89,    27,    32,    24,    33,    -1,    31,    27,    22,    27,
628        36,    41,    40,    91,    24,    38,    29,    42,    25,    38,        89,    27,    32,    34,    39,    38,    89,    22,    23,    40,
629        -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,        27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,
630        40,    91,    36,    35,    38,    40,    -1,    33,    29,    24,        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
631        29,    91,    29,    34,    36,    41,    40,    91,    23,    28,        89,    22,    23,    40,    27,    21,    23,    89,    27,    32,
632        21,    34,    34,    25,    32,    -1,    33,    29,    24,    29,        24,    33,    -1,    31,    27,    22,    27,    89,    27,    32,
633        91,    29,    34,    36,    41,    40,    91,    40,    45,    36,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
634        25,    -1,    33,    29,    24,    29,    91,    29,    34,    36,        19,    34,    89,    21,    33,    39,    32,    38,    -1,    31,
635        41,    40,    -1,    39,    25,    38,    42,    25,    38,    -1,        27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
636        42,    35,    32,    41,    33,    25,    -1,    22,    45,    40,        31,    23,    32,    38,    89,    31,    19,    34,    89,    27,
637        25,    39,    -1,    36,    25,    38,    23,    25,    34,    40,        32,    24,    33,    -1,    31,    27,    22,    27,    89,    27,
638        21,    27,    25,    -1,    38,    25,    39,    25,    40,    -1,        32,    37,    38,    36,    39,    31,    23,    32,    38,    89,
639        33,    29,    39,    23,    25,    32,    32,    21,    34,    25,        21,    33,    39,    32,    38,    -1,    31,    27,    22,    27,
640        35,    41,    39,    -1,    25,    23,    28,    35,    -1,    37,        89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
641        41,    29,    40,    -1        38,    89,    27,    32,    24,    33,    -1,    21,    26,    19,
642          32,    32,    23,    30,    89,    21,    33,    39,    32,    38,
643          -1,    21,    26,    19,    32,    32,    23,    30,    89,    27,
644          32,    24,    33,    -1,    24,    42,    89,    37,    23,    32,
645          22,    89,    21,    33,    39,    32,    38,    -1,    24,    42,
646          89,    37,    23,    32,    22,    89,    27,    32,    24,    33,
647          -1,    20,    39,    24,    24,    23,    36,    89,    24,    27,
648          30,    30,    -1,    37,    38,    36,    23,    19,    31,    89,
649          21,    33,    39,    32,    38,    -1,    40,    33,    27,    21,
650          23,    89,    21,    33,    39,    32,    38,    -1,    38,    33,
651          38,    19,    30,    89,    40,    33,    27,    21,    23,    89,
652          21,    33,    39,    32,    38,    -1,    38,    33,    38,    19,
653          30,    89,    40,    33,    27,    21,    23,    89,    21,    33,
654          39,    32,    38,    89,    31,    19,    42,    -1,    25,    30,
655          33,    20,    19,    30,    89,    27,    32,    24,    33,    -1,
656          27,    32,    37,    38,    36,    39,    31,    23,    32,    38,
657          -1,    23,    32,    25,    27,    32,    23,    -1,    33,    32,
658          89,    22,    23,    31,    19,    32,    22,    -1,    33,    32,
659          89,    22,    23,    31,    19,    32,    22,    89,    26,    33,
660          30,    22,    -1,    34,    23,    36,    37,    27,    37,    38,
661          23,    32,    38,    -1,    19,    39,    22,    27,    33,    89,
662          33,    39,    38,    34,    39,    38,    89,    22,    23,    40,
663          27,    21,    23,    89,    34,    19,    36,    19,    31,    23,
664          38,    23,    36,    -1,    19,    39,    22,    27,    33,    89,
665          33,    39,    38,    34,    39,    38,    89,    22,    23,    40,
666          27,    21,    23,    37,    -1,    19,    39,    22,    27,    33,
667          89,    33,    39,    38,    34,    39,    38,    89,    22,    23,
668          40,    27,    21,    23,    -1,    19,    39,    22,    27,    33,
669          89,    33,    39,    38,    34,    39,    38,    89,    22,    36,
670          27,    40,    23,    36,    89,    34,    19,    36,    19,    31,
671          23,    38,    23,    36,    -1,    19,    39,    22,    27,    33,
672          89,    33,    39,    38,    34,    39,    38,    89,    22,    36,
673          27,    40,    23,    36,    -1,    19,    39,    22,    27,    33,
674          89,    33,    39,    38,    34,    39,    38,    89,    21,    26,
675          19,    32,    32,    23,    30,    89,    34,    19,    36,    19,
676          31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,
677          33,    89,    33,    39,    38,    34,    39,    38,    89,    21,
678          26,    19,    32,    32,    23,    30,    -1,    19,    39,    22,
679          27,    33,    89,    33,    39,    38,    34,    39,    38,    89,
680          38,    43,    34,    23,    -1,    19,    40,    19,    27,    30,
681          19,    20,    30,    23,    89,    31,    27,    22,    27,    89,
682          27,    32,    34,    39,    38,    89,    22,    36,    27,    40,
683          23,    36,    37,    -1,    31,    27,    22,    27,    89,    27,
684          32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
685          23,    89,    34,    19,    36,    19,    31,    23,    38,    23,
686          36,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
687          39,    38,    89,    34,    33,    36,    38,    89,    34,    19,
688          36,    19,    31,    23,    38,    23,    36,    -1,    31,    27,
689          22,    27,    89,    27,    32,    34,    39,    38,    89,    22,
690          23,    40,    27,    21,    23,    37,    -1,    31,    27,    22,
691          27,    89,    27,    32,    34,    39,    38,    89,    22,    23,
692          40,    27,    21,    23,    -1,    31,    27,    22,    27,    89,
693          27,    32,    34,    39,    38,    89,    22,    36,    27,    40,
694          23,    36,    89,    34,    19,    36,    19,    31,    23,    38,
695          23,    36,    -1,    31,    27,    22,    27,    89,    27,    32,
696          37,    38,    36,    39,    31,    23,    32,    38,    -1,    31,
697          27,    22,    27,    89,    27,    32,    37,    38,    36,    39,
698          31,    23,    32,    38,    37,    -1,    31,    27,    22,    27,
699          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
700          38,    89,    31,    19,    34,    -1,    31,    27,    22,    27,
701          89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
702          38,    89,    31,    19,    34,    37,    -1,    31,    27,    22,
703          27,    89,    27,    32,    34,    39,    38,    89,    22,    36,
704          27,    40,    23,    36,    -1,    31,    27,    22,    27,    89,
705          27,    32,    34,    39,    38,    89,    34,    33,    36,    38,
706          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
707          38,    89,    21,    26,    19,    32,    32,    23,    30,    -1,
708          31,    27,    22,    27,    89,    27,    32,    34,    39,    38,
709          89,    38,    43,    34,    23,    -1,    31,    27,    22,    27,
710          89,    27,    32,    34,    39,    38,    -1,    31,    27,    22,
711          27,    89,    21,    33,    32,    38,    36,    33,    30,    30,
712          23,    36,    -1,    24,    42,    89,    37,    23,    32,    22,
713          -1,    24,    42,    89,    37,    23,    32,    22,    37,    -1,
714          37,    23,    36,    40,    23,    36,    -1,    40,    33,    30,
715          39,    31,    23,    -1,    30,    23,    40,    23,    30,    -1,
716          31,    39,    38,    23,    -1,    37,    33,    30,    33,    -1,
717          20,    43,    38,    23,    37,    -1,    34,    23,    36,    21,
718          23,    32,    38,    19,    25,    23,    -1,    36,    23,    37,
719          23,    38,    -1,    31,    27,    37,    21,    23,    30,    30,
720          19,    32,    23,    33,    39,    37,    -1,    32,    19,    31,
721          23,    -1,    23,    21,    26,    33,    -1,    35,    39,    27,
722          38,    -1
723  };  };
724    
725  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
726  static const unsigned short int yyrline[] =  static const yytype_uint16 yyrline[] =
727  {  {
728         0,    82,    82,    83,    86,    87,    88,    89,    92,    93,         0,    97,    97,    98,   101,   102,   103,   104,   107,   108,
729        94,    95,    96,    99,   100,   101,   102,   103,   104,   105,       109,   110,   111,   114,   115,   116,   117,   118,   119,   120,
730       106,   107,   108,   109,   110,   111,   112,   115,   116,   117,       121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
731       118,   119,   120,   123,   124,   125,   126,   127,   128,   131,       133,   134,   135,   138,   139,   140,   141,   142,   143,   144,
732       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
733       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       155,   158,   159,   160,   161,   162,   163,   164,   165,   166,
734       152,   153,   154,   157,   158,   159,   160,   161,   162,   165,       167,   168,   169,   170,   171,   172,   173,   174,   175,   178,
735       166,   167,   168,   171,   172,   175,   176,   179,   180,   181,       179,   180,   181,   184,   187,   188,   189,   192,   193,   194,
736       182,   183,   184,   185,   186,   187,   190,   191,   194,   195,       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
737       198,   199,   200,   201,   202,   203,   206,   207,   210,   213,       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
738       216,   219,   222,   225,   226,   229,   232,   233,   236,   239,       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
739       242,   245,   248,   249,   252,   253,   254,   255,   256,   262,       225,   228,   229,   230,   231,   232,   233,   234,   235,   236,
740       263,   266,   267,   270,   271,   272,   276,   277,   280,   281,       237,   238,   241,   242,   243,   244,   245,   246,   249,   252,
741       282,   283,   284,   285,   286,   287,   288,   289,   292,   293,       253,   256,   257,   258,   261,   262,   265,   266,   267,   268,
742       294,   295,   296,   297,   298,   299,   300,   301,   303,   303,       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
743       303,   303,   303,   303,   303,   303,   303,   303,   303,   303,       281,   282,   285,   286,   289,   290,   293,   294,   295,   296,
744       303,   303,   303,   303,   303,   303,   303,   303,   303,   303,       297,   298,   299,   300,   301,   302,   305,   306,   309,   312,
745       303,   303,   303,   303,   304,   304,   304,   304,   304,   304,       313,   314,   317,   320,   323,   326,   329,   330,   333,   336,
746       304,   304,   304,   304,   304,   304,   304,   304,   304,   304,       339,   342,   345,   348,   349,   352,   355,   358,   361,   364,
747       304,   304,   304,   304,   304,   304,   304,   304,   304,   304,       367,   370,   373,   376,   377,   380,   381,   382,   383,   391,
748       305,   305,   305,   305,   305,   305,   305,   305,   305,   305,       392,   395,   396,   399,   400,   401,   405,   406,   409,   410,
749       306,   306,   306,   306,   306,   306,   306,   306,   306,   306,       411,   412,   413,   414,   415,   416,   417,   418,   421,   422,
750       306,   306,   306,   307,   307,   307,   307,   307,   307,   307,       423,   424,   425,   426,   427,   428,   429,   430,   432,   432,
751       308,   308,   308,   308,   308,   309,   309,   309,   309,   310,       432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
752       310,   310,   311,   311,   311,   312,   312,   312,   313,   313,       432,   432,   432,   432,   432,   432,   432,   432,   432,   432,
753       313,   314,   314,   314,   315,   315,   315,   316,   316,   316,       432,   432,   432,   432,   433,   433,   433,   433,   433,   433,
754       317,   317,   317,   318,   318,   318,   319,   319,   319,   320,       433,   433,   433,   433,   433,   433,   433,   433,   433,   433,
755       320,   320,   321,   321,   321,   322,   322,   322,   323,   323,       433,   433,   433,   433,   433,   433,   433,   433,   433,   433,
756       323,   324,   324,   324,   325,   325,   325,   326,   326,   326,       434,   434,   434,   434,   434,   434,   434,   434,   434,   434,
757       327,   327,   327,   328,   328,   328,   329,   329,   329,   330,       435,   435,   435,   435,   435,   435,   435,   435,   435,   435,
758       330,   330,   331,   331,   331,   332,   332,   332,   333,   333,       435,   435,   435,   436,   436,   436,   436,   436,   436,   436,
759       333,   334,   334,   334,   335,   335,   335,   336,   336,   336,       437,   437,   437,   437,   437,   438,   438,   438,   438,   439,
760       337,   337,   337,   338,   338,   338,   339,   339,   339,   340,       439,   439,   440,   440,   440,   441,   441,   441,   442,   442,
761       340,   340,   341,   341,   341,   342,   342,   342,   343,   343,       442,   443,   443,   443,   444,   444,   444,   445,   445,   445,
762       343,   344,   344,   344,   345,   345,   345,   346,   346,   346,       446,   446,   446,   447,   447,   447,   448,   448,   448,   449,
763       347,   347,   347,   348,   348,   348,   349,   349,   349,   350,       449,   449,   450,   450,   450,   451,   451,   451,   452,   452,
764       350,   350,   351,   351,   351,   352,   352,   355,   356,   357,       452,   453,   453,   453,   454,   454,   454,   455,   455,   455,
765       358,   361,   362,   368,   371,   374,   377,   380,   383,   386,       456,   456,   456,   457,   457,   457,   458,   458,   458,   459,
766       389,   392,   395,   398,   401,   404,   407,   410,   413,   416,       459,   459,   460,   460,   460,   461,   461,   461,   462,   462,
767       419,   422,   425,   428,   431,   434,   437,   440,   443,   446,       462,   463,   463,   463,   464,   464,   464,   465,   465,   465,
768       449,   452,   455,   458,   461,   464,   467,   470,   473,   476,       466,   466,   466,   467,   467,   467,   468,   468,   468,   469,
769       479,   482,   485,   488,   491,   494,   497,   500,   503,   506,       469,   469,   470,   470,   470,   471,   471,   471,   472,   472,
770       509,   512,   515,   518,   521,   524,   527,   530       472,   473,   473,   473,   474,   474,   474,   475,   475,   475,
771         476,   476,   476,   477,   477,   477,   478,   478,   478,   479,
772         479,   479,   480,   480,   480,   481,   481,   484,   485,   486,
773         487,   490,   491,   497,   500,   503,   506,   509,   512,   515,
774         518,   521,   524,   527,   530,   533,   536,   539,   542,   545,
775         548,   551,   554,   557,   560,   563,   566,   569,   572,   575,
776         578,   581,   584,   587,   590,   593,   596,   599,   602,   605,
777         608,   611,   614,   617,   620,   623,   626,   629,   632,   635,
778         638,   641,   644,   647,   650,   653,   656,   659,   662,   665,
779         668,   671,   674,   677,   680,   683,   686,   689,   692,   695,
780         698,   701,   704,   707,   710,   713,   716,   719,   722,   725,
781         728,   731,   734,   737,   740,   743,   746,   749,   752,   755
782  };  };
783  #endif  #endif
784    
785  #if YYDEBUG || YYERROR_VERBOSE  #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
786  /* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.  /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
787     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
788  static const char *const yytname[] =  static const char *const yytname[] =
789  {  {
790    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",    "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
791    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",    "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
792    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",    "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
793    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",    "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
794    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",    "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
795    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",    "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
796    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",    "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
797    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",    "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
798    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
799    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
800    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
801    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
802    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
803    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
804    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
805    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",    "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
806    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",    "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
807    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",    "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
808    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",    "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
809    "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",    "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
810    "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",    "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
811    "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",    "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
812    "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",    "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
813    "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",    "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
814    "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",    "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
815    "$accept", "input", "line", "comment", "command", "subscribe_event",    "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
816    "unsubscribe_event", "get_instruction", "set_instruction",    "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
817    "create_instruction", "destroy_instruction", "load_instruction",    "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
818    "set_chan_instruction", "key_val_list", "buffer_size_type",    "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
819    "list_instruction", "load_instr_args", "load_engine_args",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
820    "device_index", "audio_channel_index", "audio_output_type_name",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
821    "midi_input_port_index", "midi_input_channel_index",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
822    "midi_input_type_name", "volume_value", "sampler_channel",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
823    "instrument_index", "engine_name", "filename", "param_val_list",    "map_instruction", "unmap_instruction", "remove_instruction",
824    "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",    "get_instruction", "set_instruction", "create_instruction",
825    "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",    "reset_instruction", "clear_instruction", "destroy_instruction",
826    "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",    "load_instruction", "set_chan_instruction", "modal_arg", "key_val_list",
827    "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "buffer_size_type", "list_instruction", "load_instr_args",
828    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "load_engine_args", "instr_load_mode", "device_index",
829    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
830    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
831    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE",    "midi_bank", "midi_prog", "midi_ctrl", "volume_value", "sampler_channel",
832    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "instrument_index", "fx_send_id", "engine_name", "filename", "map_name",
833    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_CHANNEL",    "entry_name", "fx_send_name", "param_val_list", "param_val", "boolean",
834    "AUDIO_OUTPUT_TYPE", "AVAILABLE_MIDI_INPUT_DRIVERS",    "string", "dotnum", "digits", "digit", "number", "char", "text",
835    "MIDI_INPUT_DEVICE_PARAMETER", "MIDI_INPUT_PORT_PARAMETER",    "stringval", "SP", "LF", "CR", "ADD", "GET", "MAP", "UNMAP", "CLEAR",
836    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE", "MIDI_INPUT_DRIVER_PARAMETER",    "CREATE", "DESTROY", "LIST", "LOAD", "ALL", "NONE", "DEFAULT",
837    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "SELECT",
838    "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER", "VOLUME", "BYTES",    "CHANNEL", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",
839    "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "CHANNELS", "INFO", "AUDIO_OUTPUT_DEVICE_COUNT",
840      "AUDIO_OUTPUT_DEVICE_INFO", "MIDI_INPUT_DEVICE_COUNT",
841      "MIDI_INPUT_DEVICE_INFO", "MIDI_INSTRUMENT_MAP_COUNT",
842      "MIDI_INSTRUMENT_MAP_INFO", "MIDI_INSTRUMENT_COUNT",
843      "MIDI_INSTRUMENT_INFO", "CHANNEL_COUNT", "CHANNEL_INFO", "FX_SEND_COUNT",
844      "FX_SEND_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
845      "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "GLOBAL_INFO",
846      "INSTRUMENT", "ENGINE", "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
847      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
848      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
849      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
850      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
851      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
852      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
853      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
854      "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
855      "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
856      "MIDI_CONTROLLER", "FX_SEND", "FX_SENDS", "SERVER", "VOLUME", "LEVEL",
857      "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "NAME",
858      "ECHO", "QUIT", 0
859  };  };
860  #endif  #endif
861    
862  # ifdef YYPRINT  # ifdef YYPRINT
863  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
864     token YYLEX-NUM.  */     token YYLEX-NUM.  */
865  static const unsigned short int yytoknum[] =  static const yytype_uint16 yytoknum[] =
866  {  {
867         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,         0,   256,   257,    35,    61,    44,    46,    43,    45,    48,
868        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,        49,    50,    51,    52,    53,    54,    55,    56,    57,    65,
869        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,        66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
870        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
871        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,        86,    87,    88,    89,    90,    97,    98,    99,   100,   101,
872       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
873       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
874       120,   121,   122,    33,    36,    37,    38,    40,    41,    42,       122,    33,    36,    37,    38,    40,    41,    42,    47,    58,
875        47,    58,    59,    60,    62,    63,    64,    91,    92,    93,        59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
876        94,    95,   123,   124,   125,   126,   128,   129,   130,   131,       123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
877       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,       134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
878       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,       144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
879       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,       154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
880       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
881       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
882       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
883       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
884       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
885       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
886       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,       224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
887       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
888       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
889       252,   253,   254,   255,    32,    10,    13       254,   255,    39,    34,    32,    10,    13
890  };  };
891  # endif  # endif
892    
893  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
894  static const unsigned short int yyr1[] =  static const yytype_uint16 yyr1[] =
895  {  {
896         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
897       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
898       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
899       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
900       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       233,   233,   233,   233,   233,   233,   233,   233,   233,   233,
901       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,       233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
902       234,   234,   234,   235,   235,   235,   235,   235,   235,   236,       234,   234,   234,   234,   234,   234,   234,   234,   234,   235,
903       236,   236,   236,   237,   237,   238,   238,   239,   239,   239,       235,   235,   235,   236,   237,   237,   237,   238,   238,   238,
904       239,   239,   239,   239,   239,   239,   240,   240,   241,   241,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
905       242,   242,   242,   242,   242,   242,   243,   243,   244,   245,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
906       246,   247,   248,   249,   249,   250,   251,   251,   252,   253,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
907       254,   255,   256,   256,   257,   257,   257,   257,   257,   258,       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,
908       258,   259,   259,   260,   260,   260,   261,   261,   262,   262,       239,   239,   240,   240,   240,   240,   240,   240,   241,   242,
909       262,   262,   262,   262,   262,   262,   262,   262,   263,   263,       242,   243,   243,   243,   244,   244,   245,   245,   245,   245,
910       263,   263,   263,   263,   263,   263,   263,   263,   264,   264,       245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
911       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       246,   246,   247,   247,   248,   248,   249,   249,   249,   249,
912       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       249,   249,   249,   249,   249,   249,   250,   250,   251,   252,
913       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       252,   252,   253,   254,   255,   256,   257,   257,   258,   259,
914       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       260,   261,   262,   263,   263,   264,   265,   266,   267,   268,
915       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       269,   270,   271,   272,   272,   273,   273,   273,   273,   274,
916       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       274,   275,   275,   276,   276,   276,   277,   277,   278,   278,
917       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       278,   278,   278,   278,   278,   278,   278,   278,   279,   279,
918       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       279,   279,   279,   279,   279,   279,   279,   279,   280,   280,
919       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
920       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
921       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
922       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
923       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
924       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
925       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
926       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
927       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
928       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
929       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
930       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
931       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
932       264,   264,   264,   264,   264,   264,   264,   265,   265,   265,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
933       265,   266,   266,   267,   268,   269,   270,   271,   272,   273,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
934       274,   275,   276,   277,   278,   279,   280,   281,   282,   283,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
935       284,   285,   286,   287,   288,   289,   290,   291,   292,   293,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
936       294,   295,   296,   297,   298,   299,   300,   301,   302,   303,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
937       304,   305,   306,   307,   308,   309,   310,   311,   312,   313,       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
938       314,   315,   316,   317,   318,   319,   320,   321       280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
939         280,   280,   280,   280,   280,   280,   280,   280,   280,   280,
940         280,   280,   280,   280,   280,   280,   280,   281,   281,   281,
941         281,   282,   282,   283,   284,   285,   286,   287,   288,   289,
942         290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
943         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
944         310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
945         320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
946         330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
947         340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
948         350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
949         360,   361,   362,   363,   364,   365,   366,   367,   368,   369
950  };  };
951    
952  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
953  static const unsigned char yyr2[] =  static const yytype_uint8 yyr2[] =
954  {  {
955         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
956         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
957         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
958           1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
959           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
960         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
961         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,    16,
962         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,        18,    18,    20,     7,     3,     3,     3,     1,     1,     5,
963         5,     5,     3,     7,     9,     7,     9,     3,     3,     5,         7,     9,     1,     5,     7,     9,     1,     1,     5,     5,
964         3,     5,     3,     3,     3,     3,     3,     5,     7,     5,         7,     9,     7,     9,     1,     5,     7,     5,     5,     5,
965         9,     5,     5,     5,     5,     5,     3,     5,     1,     1,         3,     1,     1,     3,     3,     9,     1,     5,     3,     7,
966         1,     1,     1,     1,     1,     1,     5,     7,     3,     1,         1,     7,     9,     7,     9,     3,     7,    11,     9,     9,
967           3,     3,     5,     3,     5,     3,     5,     7,     3,     3,
968           3,     3,     3,     5,     3,     3,     5,     7,     5,     9,
969           5,     5,     5,     5,     5,     5,     5,     5,     5,     5,
970           0,     2,     3,     5,     1,     1,     1,     1,     1,     1,
971           1,     1,     3,     3,     1,     3,     5,     7,     3,     1,
972         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
973         1,     1,     1,     3,     1,     3,     3,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
974           1,     1,     1,     1,     3,     1,     1,     1,     1,     1,
975         1,     1,     2,     3,     4,     4,     1,     2,     1,     1,         1,     1,     2,     3,     4,     4,     1,     2,     1,     1,
976         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
977         2,     2,     2,     2,     2,     2,     2,     2,     1,     1,         2,     2,     2,     2,     2,     2,     2,     2,     1,     1,
# Line 728  static const unsigned char yyr2[] = Line 997  static const unsigned char yyr2[] =
997         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
998         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
999         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,         1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1000         2,     3,     3,     1,     1,     1,     3,     3,     6,     7,         2,     3,     3,     1,     1,     1,     3,     3,     3,     5,
1001         4,     4,     3,     9,     6,     3,     9,    11,     6,     7,         5,     6,     7,     4,     4,     3,     4,     7,     9,     6,
1002        17,    30,     8,     4,    13,    12,    11,    12,    11,    10,         3,     9,    11,     6,     7,    17,    30,     8,     4,    25,
1003         6,    29,    20,    19,    29,    19,    30,    20,    17,    28,        24,    23,    22,    25,    24,    21,    20,    13,    12,    13,
1004        27,    25,    18,    17,    27,    17,    15,    18,    15,    10,        12,    11,    12,    11,    17,    21,    11,    10,     6,     9,
1005         6,     6,     5,    10,     5,    13,     4,     4        14,    10,    29,    20,    19,    29,    19,    30,    20,    17,
1006          28,    27,    25,    18,    17,    27,    15,    16,    19,    20,
1007          17,    15,    18,    15,    10,    15,     7,     8,     6,     6,
1008           5,     4,     4,     5,    10,     5,    13,     4,     4,     4
1009  };  };
1010    
1011  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1012     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1013     means the default is an error.  */     means the default is an error.  */
1014  static const unsigned short int yydefact[] =  static const yytype_uint16 yydefact[] =
1015  {  {
1016         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
1017         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
1018         0,     0,     0,     0,     0,     0,     0,    25,    26,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1019           0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
1020           0,     0,     0,     0,     0,     0,     1,   454,   455,     2,
1021           0,     9,   306,   301,   300,   298,   299,   208,   209,   210,
1022         211,   212,   213,   214,   215,   216,   217,   228,   229,   230,
1023         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1024         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1025         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1026         261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1027         271,   272,   273,   274,   275,   276,   277,   278,   279,   290,
1028         292,   293,   294,   295,   296,   297,   302,   303,   304,   305,
1029         307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
1030         317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1031         327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
1032         337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
1033         347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
1034         357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
1035         367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
1036         377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
1037         387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
1038         397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
1039         407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
1040         417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
1041         427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
1042         437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
1043         453,    12,   218,    11,   201,    10,     0,     0,     0,     0,
1044           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1045           0,   456,     0,     0,     0,   457,     0,     0,   458,     0,
1046           0,     0,     0,   470,     0,     0,     0,     3,   208,   209,
1047         210,   211,   212,   213,   214,   215,   216,   217,   219,   206,
1048         220,   221,   222,   223,   224,   225,   226,   227,   291,   280,
1049         281,   282,   283,   284,   285,   286,   287,   288,   289,   202,
1050           0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
1051           0,     0,     0,    16,     0,    77,    82,    94,   101,   102,
1052           0,    86,     0,     0,     0,     0,     0,    78,     0,    87,
1053           0,     0,     0,     0,     0,   106,     0,     0,     0,     0,
1054           0,   110,     0,    14,     0,    15,     0,     0,    27,     0,
1055           0,     0,     0,    17,     0,     0,     0,    18,     0,     0,
1056           0,     0,     0,     0,     0,    19,   159,   161,   158,   156,
1057         160,   157,     0,   164,     0,     0,    20,     0,     0,    21,
1058           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
1059           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060           0,     0,     0,     0,    23,    33,    34,    35,    36,    44,
1061          45,    46,    47,    37,    41,    42,    43,    40,    39,    38,
1062          49,    50,    48,    24,    51,    52,    53,    54,    62,    63,
1063          64,    65,    55,    59,    60,    61,    58,    57,    56,    67,
1064          68,    66,   448,    25,   447,    26,     0,     0,     0,     0,
1065         463,   464,   539,     0,     0,     0,     0,     0,     0,   207,
1066           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1067           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1068           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069           0,   150,     0,     0,     0,     0,     0,     0,     0,     0,
1070         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        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,  
1071         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,   376,     0,     0,   377,     0,     0,     0,     0,  
        0,     0,   385,     0,     0,     3,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   139,   126,   140,   141,  
      142,   143,   144,   145,   146,   147,   211,   200,   201,   202,  
      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,  
1072         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1073           0,     0,     0,     0,     0,     0,   450,   449,     0,   460,
1074           0,     0,     0,   535,     0,     0,   459,     0,     0,     0,
1075           0,     0,    32,   190,     0,     0,     0,     0,     0,     0,
1076         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1077           0,     0,     0,     0,     0,     0,     0,     0,   209,   210,
1078         211,   212,   213,   214,   215,   216,   217,     0,   103,   179,
1079         104,     0,     0,     0,     0,   108,   185,   100,     0,     0,
1080           0,     0,     0,     0,   129,   130,     0,     0,     0,   123,
1081         125,     0,   131,   132,     0,     0,     0,     0,     0,   162,
1082         163,   165,     0,   134,     0,   189,     0,   135,     0,   188,
1083          74,    75,    76,     0,     0,     0,     0,     0,     0,   115,
1084         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   370,  
      369,     0,     0,     0,     0,   424,     0,     0,     0,     0,  
1085         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1086           0,     0,     0,     0,     0,     0,   121,   183,     0,   206,
1087         184,   120,   200,   199,     0,     0,     0,     0,     0,     0,
1088           0,     0,     0,     0,   128,   461,     0,   469,   473,     0,
1089         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     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,  
1090         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1091         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1092           0,     0,     0,     0,     0,     0,     0,   151,     0,     0,
1093         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1094         0,     0,     0,     0,     0,     0,     0,   426,     0,     0,         0,     0,     0,     0,     0,     0,   538,     0,     0,     0,
1095         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1096         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,  
1097         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1098           0,     0,     0,     0,     0,     0,     0,     0,     0,   462,
1099           0,     0,     0,     0,   451,   452,     0,     0,     0,     0,
1100           0,     0,     0,     0,     0,     0,    95,     0,     0,     0,
1101         154,   155,    97,    98,    99,    88,     0,    83,     0,     0,
1102           0,    89,     0,     0,   465,   107,    79,     0,     0,     0,
1103           0,     0,     0,   180,     0,     0,     0,     0,   122,     0,
1104         124,   126,   182,   133,   187,     0,     0,     0,     0,     0,
1105           0,   186,     0,   168,     0,     0,     0,     0,     0,     0,
1106         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   400,     0,   420,   393,     0,  
1107         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1108           0,     0,     0,     0,     0,     0,   203,     0,     0,     0,
1109         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1110           0,     0,     0,     0,   498,     0,     0,   528,     0,   529,
1111         478,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1112         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1113         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114         0,     0,   386,     0,   389,     0,     0,   389,     0,     0,         0,     0,     0,     0,   531,   532,     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,  
1115         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1116           0,     0,   537,     0,     0,     0,     0,     0,     0,     0,
1117         204,   205,     0,     0,     0,     0,     0,     0,     0,     0,
1118           0,     0,   471,     0,   474,     0,     0,     0,   474,   526,
1119           0,     0,     0,     0,    96,    84,     0,    92,     0,    80,
1120           0,    90,   109,     0,     0,     0,    73,   181,     0,     0,
1121         526,     0,     0,   298,   299,   152,   193,   195,   198,   197,
1122         196,   127,   192,     0,     0,     0,     0,     0,   166,     0,
1123           0,     0,     0,     0,   136,   172,     0,   173,   138,   174,
1124         140,     0,     0,   147,   148,   149,   141,   175,   142,   176,
1125         177,   143,   178,     0,   144,   145,   146,   111,     0,   113,
1126           0,   116,     0,   530,     0,     0,     0,     0,     0,     0,
1127         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1128         0,     0,     0,   421,     0,     0,     0,     0,     0,     0,         0,     0,   477,   527,     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,  
1129         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,   383,     0,     0,     0,  
        0,    80,   396,     0,     0,     0,     0,   398,     0,     0,  
1130         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   419,     0,   395,     0,   397,     0,     0,  
1131         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   394,   425,     0,     0,     0,  
        0,     0,     0,     0,     0,   423,     0,     0,     0,     0,  
1132         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1133         0,     0,     0,     0,     0,     0,   416,     0,     0,     0,         0,     0,     0,   472,     0,     0,     0,     0,     0,     0,
1134         533,     0,    85,    93,    91,    81,   105,     0,     0,     0,
1135           0,     0,     0,   153,   194,     0,     0,     0,     0,   167,
1136           0,     0,     0,     0,   137,     0,     0,     0,   112,   114,
1137           0,     0,     0,   118,   119,     0,     0,     0,     0,     0,
1138         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1139         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1140           0,     0,     0,     0,   497,     0,     0,     0,     0,     0,
1141         466,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1142         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1143         0,     0,     0,     0,   390,     0,   413,   415,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,   468,     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,  
1144         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1145         0,   407,     0,     0,     0,     0,     0,     0,     0,     0,         0,   139,     0,     0,   117,     0,   491,     0,     0,     0,
1146           0,   496,     0,     0,     0,     0,     0,   493,     0,     0,
1147         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1148         0,     0,     0,   411,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1149         0,     0,     0,     0,     0,     0,     0,   414,     0,   410,       524,     0,     0,     0,     0,     0,   488,     0,   490,     0,
1150         0,     0,     0,   409,     0,     0,   404,     0,   401,   406,         0,     0,   492,     0,     0,     0,     0,     0,     0,     0,
1151       391         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1152           0,     0,     0,     0,     0,     0,     0,     0,   467,     0,
1153           0,     0,   487,   489,     0,     0,   536,     0,     0,     0,
1154           0,     0,     0,     0,     0,     0,     0,     0,     0,   534,
1155           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1156           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1157           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1158           0,   521,   516,     0,   516,     0,     0,     0,     0,     0,
1159           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1160           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1161           0,     0,     0,     0,     0,     0,   517,     0,     0,    69,
1162           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1164           0,     0,     0,   475,     0,   514,   520,     0,     0,   494,
1165           0,     0,   514,     0,     0,     0,     0,     0,     0,     0,
1166           0,     0,   521,   523,   525,     0,     0,     0,     0,     0,
1167         494,     0,     0,     0,     0,     0,     0,   513,     0,     0,
1168           0,     0,     0,     0,    70,    71,   191,   169,   170,   171,
1169           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1170           0,     0,     0,     0,   518,     0,   504,   506,     0,     0,
1171           0,     0,   518,     0,     0,     0,     0,   504,     0,     0,
1172           0,     0,     0,     0,   509,     0,     0,     0,     0,     0,
1173           0,     0,   508,   503,     0,     0,     0,     0,     0,   519,
1174           0,     0,     0,    72,     0,     0,     0,     0,   522,     0,
1175           0,     0,     0,   486,     0,     0,     0,     0,     0,     0,
1176           0,   495,     0,     0,     0,     0,     0,     0,     0,     0,
1177           0,   485,     0,     0,     0,     0,     0,     0,     0,     0,
1178           0,     0,     0,     0,   508,     0,     0,     0,   482,     0,
1179           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1180           0,     0,     0,   481,     0,     0,     0,     0,     0,     0,
1181           0,     0,     0,     0,     0,     0,     0,   480,     0,   484,
1182           0,     0,     0,     0,     0,   512,     0,     0,     0,     0,
1183         479,   483,     0,     0,     0,     0,     0,   499,     0,     0,
1184           0,     0,     0,     0,     0,   515,     0,   501,     0,   511,
1185           0,     0,     0,   510,     0,     0,     0,   505,     0,     0,
1186         502,   507,   476,     0,   500
1187  };  };
1188    
1189  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM].  */
1190  static const short int yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1191  {  {
1192        -1,    12,    13,    14,    15,   393,   400,   335,   381,   357,        -1,    13,    14,    15,    16,   342,   444,   463,   383,   385,
1193       360,   374,   540,   662,   644,   366,   525,   529,   794,   796,       419,   353,   425,   393,   485,   388,   397,   416,   679,   640,
1194       798,   801,   804,   807,   812,   532,   672,   530,   526,   775,       878,   849,   405,   663,   667,  1524,  1074,  1076,  1078,  1086,
1195       776,   554,   777,   778,   779,   266,   533,   268,   408,   527,      1088,  1091,   628,   872,  1046,   881,   706,   635,   890,   883,
1196       720,    43,    44,    16,    17,    18,    19,    20,    21,   806,       668,   664,   592,  1525,  1061,  1055,  1056,   711,  1057,  1058,
1197       528,    22,    23,    24,    25,    26,   329,   337,   338,   339,       708,   272,   636,   274,   483,  1060,   970,    49,    50,    17,
1198       487,   394,   395,   396,   397,   398,   375,   340,   383,   341,        18,    19,    20,    21,    22,    23,    24,    25,  1090,  1084,
1199       342,   343,   344,   345,   346,   543,   347,   385,   348,   349,      1085,   641,    26,    27,    28,    29,    30,   343,   355,   356,
1200       350,   351,   352,   353,   546,   547,   548,   354,   549,   645,       357,   604,   445,   446,   447,   448,   449,   450,   451,   452,
1201       646,    27,   399,   387,    28       453,   454,   455,   456,   457,   458,   459,   358,   359,   461,
1202         417,   360,  1527,  1528,  1529,   427,   361,   362,   363,   364,
1203         365,   366,   682,   367,   429,   368,   369,   370,   371,   372,
1204         373,   344,   375,   376,   377,   686,   687,   688,   702,   378,
1205         379,   380,   381,   703,   690,   691,   850,   851,    31,   462,
1206         697,   434,    32
1207  };  };
1208    
1209  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1210     STATE-NUM.  */     STATE-NUM.  */
1211  #define YYPACT_NINF -720  #define YYPACT_NINF -1118
1212  static const short int yypact[] =  static const yytype_int16 yypact[] =
1213  {  {
1214        51,  -720,  -720,    10,    20,    36,    55,     1,    89,   112,        57, -1118, -1118,    19,   165,    48,    74,   223,   115,   126,
1215        61,   131,   142,  -193,  1647,  -720,   -55,   -55,   -55,   -55,       132,    60,   178,   172,   -34,  2124, -1118,    16,    16,    16,
1216       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,  -720,   146,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1217       159,   152,   153,   157,   171,   170,    23,    -3,   181,   192,        16,    16, -1118,   233,   280,   299,   242,   306,   309,   333,
1218      -720,  -720,  -720,  -720,     7,  -720,  -720,  -720,  -720,  -720,       320,   339,   263,   164,   340,   286, -1118, -1118, -1118, -1118,
1219      -720,  -720,   295,   295,   295,   295,   295,   295,   295,   295,       145, -1118, -1118, -1118, -1118, -1118, -1118, -1118,   489,   489,
1220       295,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,       489,   489,   489,   489,   489,   489,   489, -1118, -1118, -1118,
1221      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1222      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1223      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1224      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1225      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1226      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1227      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1228      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1229      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1230      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1231      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1232      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1233      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1234      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1235      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1236      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1237      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1238      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1239      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1240      -720,  -720,  -720,  -720,  -720,  2754,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1241       210,    74,    73,    73,   165,     6,   210,   164,    54,    54,     -1118,  2789, -1118, -1118, -1118, -1118,   140,   166,   342,   342,
1242      1869,   210,  -720,   213,   195,  -720,   199,   216,   201,   208,       351,   109,   109,   138,   184,   140,    79,    87,    87,  2346,
1243       219,   220,  -720,   207,   206,  -720,  -720,  -720,  -720,  -720,       375, -1118,   379,   381,   366, -1118,   369,   386, -1118,   371,
1244      -720,  -720,  -720,  -720,  -720,  -720,   295,  -720,   295,   295,       377,   398,   410, -1118,   397,   416,   407, -1118, -1118, -1118,
1245       295,   295,   295,   295,   295,   295,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,   489, -1118,
1246      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,   221,  -720,       489,   489,   489,   489,   489,   489,   489,   489, -1118, -1118,
1247        91,   222,   214,   223,   228,  -720,   -55,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1248       -55,  -720,   -55,   -55,   -55,   -55,   -55,  -720,   -55,  -720,       411,   420, -1118, -1118,    16,   256,   422,   418,   409,   426,
1249       -55,   -55,   -55,   -55,   -55,   215,   226,  -720,   -55,   -55,       431,   423,   424, -1118,    16, -1118, -1118, -1118, -1118, -1118,
1250      -720,   -55,   -55,    93,   229,   230,  -720,  -720,  -720,  -720,        16, -1118,    16,    16,    16,    16,    16, -1118,    16, -1118,
1251      -720,  -720,  -720,   227,  -720,   -55,   -55,   -55,   224,   237,        16,    16,    16,    16,    16, -1118,    16,    16,    16,    16,
1252       233,  -720,   -55,   -55,   -55,   -55,   -55,   -55,   225,   235,        16, -1118,   428, -1118,    16, -1118,    16,   432, -1118,    16,
1253       239,   231,   234,  -720,  -720,  -720,  -720,  -720,  -720,  -720,       419,   421,   434, -1118,    16,    16,    16, -1118,    16,    16,
1254      -720,  -720,  -720,  -720,  -720,  -720,  -720,  2754,  1869,  -720,        16,   281,   436,   425,   437, -1118, -1118, -1118, -1118, -1118,
1255       -55,   232,   236,  -720,  -720,  -720,   247,   250,   241,   252,     -1118, -1118,    16, -1118,    16,   433, -1118,    16,    16, -1118,
1256       248,  -720,   270,   249,   271,   272,   268,   273,   256,    62,        16,    16,   430,   449,   445, -1118,    16,    16,    16,    16,
1257       287,   287,   287,   287,   287,   287,   287,   287,   287,   287,        16,    16,    16,    16,    16,   435,   438,   447,   439,   446,
1258       287,   287,   293,   294,  2754,  2754,   339,   339,   296,   298,       448,   440,   450,   451, -1118, -1118, -1118, -1118, -1118, -1118,
1259       297,   283,    21,  2754,   339,   300,   306,   301,    18,   339,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1260       339,   339,   339,  2975,   310,   305,   303,   309,   315,  2754,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1261      -720,   339,   318,   325,   336,  -720,   326,   327,   328,   334,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1262       346,   347,   343,   349,   351,   340,   350,   -55,   -55,   -55,     -1118, -1118,  2789,  2346, -1118, -1118,    16,   444,   452,   453,
1263       -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,     -1118, -1118, -1118,   442,   454,   464,   465,   459,   467, -1118,
1264       -55,   -55,  -720,   352,   354,  1869,  1869,   295,   295,   295,       475,   473,   120,   474,   501,   502,   497,   441,   504,   487,
1265       295,   295,   295,   295,   295,   295,  -720,  -720,   356,   353,       486,   498,   133,   505,   505,   505,   505,   505,   505,   505,
1266       357,   348,  1869,  1869,   355,  -720,   -55,  -720,   -55,  -720,       505,   505,   505,   568,   505,   505,   505,   505,   500,   505,
1267       -55,  2754,  -720,  -720,   360,   358,   362,   359,   363,   361,       507,   495,   500,   509,   568,   511,   456,   513,  2789,  2789,
1268      -720,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,       500,   500,   500,   500,   515,   519,   457,   517,   568,   500,
1269       -55,   -55,   -55,   -55,  -720,  2754,  -720,   368,   364,   376,       503,     4,  2789,   500,   568,   520,   521,   526,   101,   500,
1270       377,   378,  -720,  -720,   365,  -720,  -720,   374,   381,   371,       500,   500,   500,   522,   144,   255,  3008,   527,   528,   532,
1271       372,   379,   375,   380,   317,   387,   389,   339,    37,   339,       466,   508,    47,   523,   531,   530,  2789, -1118,   500, -1118,
1272       339,  2754,   339,  2754,  2754,   339,   339,   339,   339,  2754,       535,   533,   537, -1118,   534,   529, -1118,   516,   538,   544,
1273      2754,   339,   382,   322,  2754,  2754,   383,   385,   329,   384,      2346,  2346, -1118, -1118,   546,   547,   556,   576,   577,   586,
1274      1203,  1425,   390,   339,   108,   339,   386,  -720,   332,   392,       580,   602,   583,   591,    16,    16,    16,    16,    16,    16,
1275       401,   394,   339,   339,   339,   339,   339,   339,   339,   339,        16,    16,    16,    16,    16,    16,    16,    16,   489,   489,
1276       339,  2754,   339,  2754,   339,   402,   395,   403,   409,   406,       489,   489,   489,   489,   489,   489,   489,   594, -1118, -1118,
1277      -720,   412,   397,   411,   366,   416,   413,   414,   415,   404,     -1118,    16,    16,    16,    16, -1118, -1118, -1118,   598,   595,
1278       405,  -720,   396,   418,   -55,  -720,  -720,  -720,  -720,  -720,       500,    16,    16,   603, -1118, -1118,   604,   592,   605,  2346,
1279      -720,  1869,  2754,   -55,   -55,   -55,  -720,  1869,  2754,   -55,      2346,    16, -1118, -1118,    16,   610,   606,   607,   613, -1118,
1280       367,   421,   -55,  3196,   -55,   369,   426,   423,   420,  -720,     -1118, -1118,   608, -1118,    16, -1118,    16, -1118,    16,  2789,
1281      -720,   373,   -55,  -720,   -55,  -720,   398,   424,   425,   427,     -1118, -1118, -1118,   614,   612,   616,   609,   159,   617, -1118,
1282       422,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,   -55,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1283      3417,   -55,  3638,   -55,   417,   434,   430,   432,   399,   441,        16,    16,    16,    16,    16,    16,   628,    16,   615,   629,
1284       438,   436,   435,   447,   439,  -720,   457,  -720,  -720,   433,       630,    16,    16,    16,   489,   489, -1118, -1118,   207,    27,
1285       456,   339,  2754,   339,   339,   339,  2754,   339,   437,   461,     -1118, -1118,  2789, -1118,   631,   632,   623,   624,   640,   635,
1286      2754,  2091,   471,   464,   473,   475,   478,   339,   339,   477,       642,   641,   662,   663, -1118, -1118,   646, -1118, -1118,   658,
1287       480,   481,   450,   494,   339,   339,  2754,   339,   339,   267,       671,   661,   611,  1680,  1902,   664,   665,   666,   667,   673,
1288      2754,   339,   198,  2091,  2754,  2091,  2754,   451,   511,   512,       618,   678,   672,   674,   670,   500,    89,   500,   500,  2789,
1289       454,   523,  -720,   525,  -720,   507,   517,   513,   370,   526,       500,  2789,  2789,   500,   500,   500,   500,  2789,   500,   676,
1290       527,  -720,  1869,   -55,  -720,   -55,  1869,  -720,   514,   518,       500,  2789,   500,   500,   619,   677,    16, -1118,   500,   621,
1291      3859,  2754,  2754,   295,   295,   548,  -720,  2754,  -720,   109,       679,   680,   622,  2789,  2789,   500,   500,   681,   683,   690,
1292        12,  -720,   515,   513,   521,   533,   524,  -720,   -55,   519,       627,   668,   500,   120,   500,   684, -1118,   633,   698,   699,
1293       528,   470,   534,   537,  -720,  -720,   -55,  -720,  -720,  2754,       685,   694,   500,   500,   500,   500,   500,   500,   500,   500,
1294      -720,  -720,  -720,   535,  -720,  -720,  -720,  -720,  2754,   -55,       500,   500,   500,   500,  2789,   500,  2789,   500,   695,   500,
1295       295,   295,  -720,  -720,  -720,   548,  4080,   548,  4301,   539,       703,   688,   707,   500,   500,   500,   275,   414,   489,   697,
1296       479,   545,   546,   540,   551,   538,   554,  -720,   541,   542,       708,   700,   710,   715,   656,   712,   727,   717,   725, -1118,
1297       555,  2754,  2754,  2754,  2754,   543,   544,  2091,  2312,  2533,       729,   714,   730,   732, -1118, -1118,   682,   735,   738,   740,
1298       144,   163,  2091,   295,   550,   552,   557,   560,   339,   556,       733,   739,   731,   686,   745,   736, -1118,   737,   749,    16,
1299       558,   562,   561,  -720,   339,   568,   339,  2091,  2091,   563,     -1118, -1118, -1118, -1118, -1118, -1118,  2346,  2789,    16,    16,
1300        56,   567,   569,   564,  -720,   566,   495,   571,  -720,   572,        16, -1118,  2346,    16, -1118, -1118,  2789,    16,    16,   746,
1301       -55,  2754,  2754,   -55,   573,   574,   548,  -720,  -720,   295,       687,   500,    16, -1118,   747,   692,   751,   752,    16,  3227,
1302       295,  -720,   295,   576,   575,   577,   582,  -720,   580,   578,        16,    16, -1118, -1118, -1118,   696,   763,   755,   761,   750,
1303       579,   583,  -720,  -720,   -55,   548,   548,   581,   586,   588,        16, -1118,    16, -1118,   701,   764,   765,   766,   771,   769,
1304       598,   584,   590,   585,   169,   516,   587,   589,   559,   295,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1305       295,   591,   565,  -720,   596,   592,   593,   594,   595,   267,        16,    16,  3446,    16,  3665,    16,   773,    16,   770,   775,
1306       597,   602,   609,   604,   603,   605,   607,   608,   614,   622,       772,    16,    16,    16,   489,   489,   489,   716,   767,   783,
1307        76,   631,   613,   630,   615,   633,  -720,   618,    95,   624,       776,   780,   785,   784,   782,   726,   728,   793,   791,   789,
1308       623,  -720,  -720,   628,   629,   625,   627,  -720,   599,   641,       792,   788,   805,   797, -1118,   806,   798, -1118,   795, -1118,
1309       650,   655,     0,   646,   656,   600,   657,   601,   660,   606,     -1118,   794,   800,   500,  2789,   500,   500,   500,  2789,   500,
1310       661,   652,   647,   611,   649,  -720,   654,  -720,   117,   665,       500,   500,   799,   802,    16,   500,   807,   796,   815,   808,
1311       666,   667,   662,   669,   668,   680,   684,   670,   685,   671,      2789,  2568,   120,   809,   816,   827,   818,   820,   500,   500,
1312       130,   673,   672,   676,    17,  -720,  -720,   689,    78,   683,       821,   823,   825,   778, -1118, -1118,   500,   500,  2789,   500,
1313       692,   639,   690,   694,   697,  -720,   709,   710,   713,   712,       134,   500,   568,  2789,   500,   255,  3008,  3008,  2568,  2789,
1314       714,   718,   715,   705,   663,   719,   711,   703,   730,   720,      2568,  2789, -1118,   120,   826,   830,   779,   500,   500,   500,
1315       726,   674,   731,   728,   737,   736,   675,   729,   745,   732,       489,   489,   828,   781,   832,   834,   787,   833,   839,   810,
1316       747,   751,   734,   750,   675,    58,   757,   741,   744,   748,       824,   817, -1118,   851, -1118,   835,   841,   844,   845,   846,
1317       752,   746,   754,   753,   756,   761,   749,   755,   764,   769,       102,   848,   855,   863, -1118,  2346,    16, -1118,    16,  2346,
1318       766,   772,   765,   774,   773,   776,   760,   775,   767,   781,        16, -1118, -1118,   860,   868,   500, -1118, -1118,   866,   865,
1319       777,   785,   787,   778,  -720,   779,   771,   722,   793,   794,     -1118,   871,  3884,   489,   489,   904, -1118,  2789, -1118, -1118,
1320      -720,   795,   771,   782,   797,   733,   804,   790,   800,  -720,     -1118, -1118, -1118,   873,   845,   846,   175,   890, -1118,    16,
1321      -720,   810,   816,   791,   805,   808,  -720,   814,   813,   821,       875,   211,   829,   888, -1118, -1118,    16, -1118, -1118,  2789,
1322       827,   828,   830,   820,   823,   833,   834,   829,   824,   780,     -1118,   893,   884, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1323       826,   825,   839,   845,  -720,   824,   835,   783,   847,   841,     -1118, -1118,  2789,    16, -1118, -1118, -1118,   904,  4103,   904,
1324      -720,   844,   786,  -720,   837,   838,   789,   840,   849,   786,      4322, -1118,   831, -1118,   898,    16,    16,    16,   882,   899,
1325       848,   851,   858,  -720,   850,   864,   852,   863,   872,   869,       836,   837,   895,   241,   905,   906,   896,   897,   908,   894,
1326       875,   880,   870,   885,   873,   819,   874,   883,   867,   879,       900,   910, -1118, -1118,   889,   901,   913,   907,   914,  2789,
1327       886,  -720,   882,   892,   894,   893,   896,   898,   903,   900,      2789,  2789,  2789,   500,   903,   920,    16,   909,   912,   915,
1328       905,   895,   889,   887,   890,   901,   899,   891,   907,   908,      2568,  2568,   917,   921,   918,   911,   500,   926,   927,   919,
1329       909,   911,   916,  -720,   917,   918,   919,   906,   910,   912,       916,   500,   922,   933,   500,  2568,  2568,   935,   936,   500,
1330       913,   914,   915,   920,   922,   923,   924,  -720,   930,  -720,       500,   255,   932,   924,   297,   298,   939,   938,   934,   942,
1331       931,   921,   926,  -720,   927,   928,  -720,   929,  -720,  -720,       945,   948,   940, -1118,   944,   949,   856,   946,   950,   961,
1332      -720     -1118,   953,    16,  2789,  2789,    16, -1118,   951,   971,  2789,
1333         959,   967,   965,   904, -1118,   970,   974,   969,   976, -1118,
1334         981,   978,   979,   243, -1118,  1000,   930,    16,   904,   904,
1335         983,   994,    16, -1118, -1118,   993,   998,   996,  1001,  1002,
1336        1004,  1010,   999,  1005,  1015,  1007,  1027,  1017,  1011,  1012,
1337         177,   963,  1014,  1032,  1018,  1019,  1030,    16,  1023,  1025,
1338         968,  1028,   977,  1029, -1118,  1031,   980,  1033,  1034,  1035,
1339       -1118,   568,  1037,  1038,   500,  1040,  1047,  1041,  1057,  1043,
1340        1061,  1053,  1006,  1048,  1055,  1062,  1070,  1058,  1066,  1060,
1341        1063,  1067,  1073,    52,  1072,  1016,  1082,  1075, -1118,   120,
1342        1076,  1071,  1086,  1074,  1088,  1080,  1077,   171,  1083,  1081,
1343        1084, -1118,  1089,  1068, -1118,  1087, -1118,  1090,  1091,  1094,
1344        1097, -1118,  1098,  1096,  1092,  1095,  1045, -1118,  1109,  1049,
1345        1114,  1112,  1117,    54,  1107,  1118,  1123,  1120,  1124,    16,
1346        1125,  1065,  1126,  1078,  1127,  1128,  1079,  1129,  1113,  1116,
1347        1085,  1121,  1130,  1131,  1093,  1122, -1118,  1132, -1118,  1142,
1348        1143,  1136, -1118,  1154,  1144,   354,  1150,  1151,  1152,  1140,
1349        1156,  1145,  1153,  1155,  1161,  1157,   500,  1159,  1165,  1158,
1350        1171,  1160,  1162,   356,  1164,  1163,  1167,    51, -1118,  1168,
1351        1166,  1173, -1118, -1118,  1169,  1170, -1118,  1174,  1172,  1175,
1352         131,  1178,  1180,  1134,  1186,  1176,  1177,  1179,  1181, -1118,
1353        1183,    16,  1187,  1191,  1192,  1195,  1197,  1190,  1203,  1208,
1354        1205,  1196,  1146,  1207,  1204,  1193,  1149,  1209,  1217,  1214,
1355        1210,  1213,  1182,  1227,  1215,  1220,  1188,  1234,  1233,  1240,
1356        1239,  1189,    24,  1231, -1118,   255,  1228,  1224,  1247,  1229,
1357        1249,    28,  1253,  1235,  1255,  1189,    83,  1261,  1245,  1248,
1358        1262,  1263,  1244,  1264,  1198,  1256,  1258,  1259,  1265,  1250,
1359        1260,  1257,  1266,  1272,  1267,  1268, -1118,  1269,  1270,    16,
1360        1274,  1273,  1278,  1283,  1276,  1277,  1284,  1287,  1286,  1271,
1361        1281,  1279,  1292,  1280,  1291,  1296,   137,  1282,  1302,  1290,
1362        1303,  1300,  1288, -1118,  1294,  1289,  1236,  1310,  1311,  1242,
1363           6,  1312, -1118,  1315,  1289,  1313,  1305,  1317,  1251,  1320,
1364        1307,  1314, -1118, -1118, -1118,  1321,  1254,  1316,  1318,  1325,
1365       -1118,  1319,  1322,  1324,  1323,  1326,  1309, -1118,  1327,  1329,
1366        1328,  1332,  1334,  1331,    16, -1118, -1118, -1118, -1118, -1118,
1367        1333,  1337,  1335,  1344,  1345,  1336,  1339,  1349,  1350,  1351,
1368         310,  1338,  1354,  1341, -1118,  1352,  1342,  1295,  1346,  1343,
1369        1364,  1366,  1353,  1367,  1298,  1355,   120, -1118,  1342,  1353,
1370        1358,  1304,  1370,  1360, -1118,  1365,  1308,  1361,  1368,  1369,
1371        1363,  1330,  1340, -1118,  1371,  1359,  1347,  1372,  1373, -1118,
1372        1357,  1380,  1374, -1118,  1340,  1375,  1376,  1383, -1118,   311,
1373        1377,  1379,  1382, -1118,   313,  1381,  1388,  1384,  1391,  1395,
1374        1387, -1118,  1394,  1396,  1399,  1402,  1398,  1392,  1400,  1401,
1375        1393, -1118,  1397,  1403,  1405,  1404,  1348,  1406,  1407,  1408,
1376        1410,  1411,  1409,  1412, -1118,  1413,  1415,  1416, -1118,  1414,
1377        1425,  1419,  1431,  1434,  1430,  1435,  1436,  1441,  1423,  1443,
1378        1442,  1432,  1433, -1118,  1437,  1438,  1448,  1439,  1440,  1428,
1379        1444,  1447,  1445,  1449,  1453,  1450,  1455, -1118,  1457, -1118,
1380        1454,  1451,  1446,  1452,  1456, -1118,  1458,  1459,  1464,  1473,
1381       -1118, -1118,  1474,  1460,  1461,  1463,  1466,  1389,  1462,  1465,
1382        1468,  1467,  1483,  1484,  1471, -1118,  1485, -1118,  1487, -1118,
1383        1489,  1477,  1478, -1118,  1482,  1480,  1481, -1118,  1486,  1488,
1384       -1118, -1118, -1118,  1497, -1118
1385  };  };
1386    
1387  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1388  static const short int yypgoto[] =  static const yytype_int16 yypgoto[] =
1389  {  {
1390      -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1391      -720,  -720,  -720,  -580,  -720,  -720,  -720,  -720,  -632,    80,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,
1392      -720,   101,    26,  -720,  -720,  -469,   242,   388,   345,  -719,      -743, -1118, -1118, -1118, -1118, -1118,  -914, -1117, -1118,   197,
1393       116,  -720,   314,   238,    11,   -10,   -14,   333,  -355,  -720,       104, -1118,  -511,  -833,  -991,   192,  -973,  -487,  -955,  -893,
1394       -13,   932,  -720,  -720,  -720,  -720,  -720,  -720,  -720,  -720,      -729,  -782,   518,  -199, -1118,  -941,   290,  -609,   493,  -546,
1395      -720,  -720,  -720,  -720,  -720,  -720,   -76,   687,   688,   693,       -14,   118,     2,   151,  -200,  -484,   -15,  1470, -1118, -1118,
1396      -211,   695,   696,  -263,  -257,  -256,  -720,   698,  -720,   704,     -1118, -1118, -1118, -1118, -1118, -1118, -1118, -1118,  -453, -1118,
1397      -254,  -720,  -720,   700,   529,  -720,   707,  -720,   702,   708,     -1118,   883, -1118, -1118, -1118, -1118, -1118,  -155,  1241,  1243,
1398      -252,  -720,  -720,   530,  -720,  -720,  -720,  -720,  -720,  -720,      1246,  -283,  1237,  1252,  1275,  1285,  1293,  1297,  1299,  1301,
1399      -720,  -720,   716,  -720,  -720      1306,  1356,  1362,  1378,  -258,  -255,  -253,   105, -1118,  1385,
1400       -1118,  1238, -1118, -1118, -1118, -1118,  1386,  -256, -1118, -1118,
1401        1390,  -223, -1118,  1620, -1118,  1838,  2063,  -254, -1118,   116,
1402          50,  -222,  2064, -1118,   972, -1118, -1118, -1118, -1118,    86,
1403        2285, -1118,  -257, -1118, -1118, -1118, -1118, -1118, -1118,  2281,
1404       -1118, -1118, -1118
1405  };  };
1406    
1407  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1408     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1409     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1410     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1411  #define YYTABLE_NINF -139  #define YYTABLE_NINF -219
1412  static const short int yytable[] =  static const yytype_int16 yytable[] =
1413  {  {
1414       267,   269,   562,   270,   271,   272,   273,   274,   275,   276,       275,   892,   276,   277,   278,   279,   280,   281,   282,   283,
1415       277,   278,   279,   280,   281,   664,   403,  -138,   358,   361,       284,   285,   286,   287,   288,   289,   290,   273,   593,   707,
1416       359,   362,   404,   405,   815,   972,   817,   522,   523,   291,       854,   642,  1094,   644,  1069,   394,   398,   395,   399,   433,
1417        33,   332,    41,    42,    29,   373,    34,   292,   973,   537,       476,   880,  -218,   477,  1204,   478,   639,   659,   964,  1522,
1418      1005,   956,   307,   307,   307,   307,   307,   307,   307,   307,      1523,    33,  1212,   671,   318,   320,   321,   322,   323,   324,
1419       307,   538,     1,  1006,     2,   524,   289,  1007,    30,   642,       325,   326,   327,   651,  1136,   374,   654,  1097,     1,  1099,
1420       539,    31,   290,   306,   308,   309,   310,   311,   312,   313,         2,  1456,   661,   421,   431,  1456,   670,   665,  1042,   719,
1421       314,   315,     3,   643,     4,     5,   388,   389,     6,   898,       630,    36,  1403,  1322,  1313,  1080,     3,  1349,     4,     5,
1422        32,  1045,   996,     7,   388,   899,    37,   390,     8,     9,      1093,   645,     6,    43,   720,  1404,  1314,     7,     8,  1405,
1423        10,   486,    11,   391,   355,   330,   392,   331,  1046,   332,      1350,   724,     9,    10,    11,   660,    12,    37,   422,    44,
1424       952,   391,    38,  1009,   392,   800,   356,   333,   641,   809,       340,   672,   423,   391,  1468,  1393,   435,   436,   437,   847,
1425       647,   648,   953,   334,   522,   523,  1010,   843,   876,   960,       424,   438,   439,  1457,  1105,  1106,  1107,  1464,   440,   352,
1426       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,       676,  1469,   354,   848,   441,   442,  1040,   443,   390,   766,
1427        35,   961,   423,   424,   448,   424,   675,    36,   895,   896,       420,   426,   677,   391,    40,   486,  1124,  1294,   678,  1125,
1428       987,   988,    40,   681,   682,   683,   684,   685,   686,   687,       392,   352,  1186,   308,   618,   619,   620,   621,   622,   623,
1429       688,   689,   879,  1000,  1001,   296,   297,   298,   299,   300,       624,   625,   626,   436,  1414,    42,  1081,   401,  1507,   402,
1430       301,   302,   303,   304,   305,    39,   488,   600,   601,   264,       603,   340,   403,   698,  1508,    41,  1082,  1415,  1509,   404,
1431       282,   880,   489,   490,   296,   297,   298,   299,   300,   301,       441,   341,    46,   443,   699,   700,   319,   319,   319,   319,
1432       302,   303,   304,   305,   283,   378,   363,   328,   364,   379,       319,   319,   319,   319,   319,   345,   789,   346,  1214,   347,
1433       927,   284,   287,   285,   928,   336,   286,   380,   365,   288,       348,    47,    48,  1327,   302,    34,  1270,   349,   790,  1193,
1434       377,   382,   929,   293,   541,   410,   544,   810,   811,   296,      1271,    35,   303,   350,   351,  1328,   352,   347,  1272,  1143,
1435       507,   508,   509,   510,   511,   512,   513,   514,   515,   491,        45,   415,  1144,   818,  1208,  1209,   308,   309,   310,   311,
1436       492,   493,   494,   495,   496,   497,   498,   499,   500,   501,       312,   313,   314,   315,   316,   317,   590,   591,   590,   591,
1437       502,   294,    41,   328,   411,   412,  -138,  -138,  -138,   413,       608,   609,   610,   611,   612,   613,   614,   615,   616,   617,
1438       414,   415,   761,   416,   417,   418,   419,   420,   426,   422,       270,   631,   632,   633,   634,  1148,   637,   863,  1119,   865,
1439       425,   870,   427,   428,   873,   443,   442,   449,   787,   450,        38,  -218,  -218,  -218,   605,   291,    39,   606,   846,   607,
1440       456,   451,   457,   465,   476,   455,   464,   409,   466,   468,       852,   853,   704,   705,   308,   618,   619,   620,   621,   622,
1441       478,   467,   472,   480,   473,   477,    -4,    -4,   296,   507,       623,   624,   625,   626,   484,  1167,   868,  1248,  1168,   294,
1442       508,   509,   510,   511,   512,   513,   514,   515,   803,   474,      1119,   924,    -4,    -4,   308,   309,   310,   311,   312,   313,
1443       475,   479,   481,   482,   485,   483,   421,   484,   421,   421,       314,   315,   316,   317,   300,   503,   504,   893,   917,   665,
1444       421,   421,   421,   421,   421,   421,   296,   297,   298,   299,       301,   689,   680,   292,   683,   900,   901,   902,   903,   904,
1445       300,   301,   302,   303,   304,   305,   486,   503,   504,   519,       905,   906,   907,   908,   909,   910,   911,   305,  1217,  1219,
1446       518,   520,   521,   429,   534,   536,   558,   430,   265,   431,       544,   504,   293,   306,  1218,  1220,   921,   922,   923,   502,
1447       432,   433,   434,   435,   535,   436,   557,   437,   438,   439,       389,  1567,  1607,   412,  1612,   681,   684,  1568,  1608,   512,
1448       440,   441,   559,   563,   561,   444,   445,   560,   446,   447,      1613,   701,   590,   591,   295,   513,   296,   514,   515,   516,
1449       296,   507,   508,   509,   510,   511,   512,   513,   514,   515,       517,   518,   297,   519,   298,   520,   521,   522,   523,   524,
1450       564,   565,   452,   453,   454,   567,   566,   568,   569,   458,       304,   525,   526,   527,   528,   529,   299,   396,   400,   531,
1451       459,   460,   461,   462,   463,   570,   571,   572,   573,   887,        47,   532,   432,   382,   534,  1379,  1380,  1398,  1399,   538,
1452       574,   592,   575,   593,   576,   596,   598,   597,   599,   606,       539,   540,   387,   541,   542,   543,  1182,  1095,  1096,  1185,
1453       602,   608,   610,   607,   625,   470,   611,   471,   626,   627,       733,   734,   460,   479,   384,   386,   340,   548,   487,   549,
1454       609,   629,   628,   631,   632,   633,   828,   634,   638,   636,       488,  1391,   551,   552,   489,   553,   554,   490,   491,   492,
1455       630,   635,   639,   661,   637,   640,   678,   660,   665,   666,       493,   558,   559,   560,   561,   562,   563,   564,   565,   566,
1456       667,   676,   668,   677,   671,   679,   680,   694,   696,   695,       925,   494,   339,   308,   309,   310,   311,   312,   313,   314,
1457       697,   698,   516,   517,   699,   700,   701,   703,   704,   705,       315,   316,   317,   495,   496,   497,   499,   500,   499,   499,
1458       708,   709,   707,   710,   706,   550,   551,   552,   553,   556,       499,   499,   499,   499,   499,   499,   498,   501,   505,   707,
1459       719,   723,   724,   730,   731,   747,   732,   702,   718,   748,       506,   507,  1459,   508,   509,   530,   510,   511,   535,   533,
1460       722,   725,   749,   733,   726,   750,   752,   753,   754,   756,      1237,   537,   545,   536,   547,   550,  1034,   546,   577,   555,
1461       755,   757,   768,   759,   577,   578,   579,   580,   581,   582,       556,   578,   557,   569,   567,   572,   571,   568,   573,  1083,
1462       583,   584,   585,   586,   587,   588,   589,   590,   591,   729,       579,   570,   582,   574,   575,   584,   585,   587,  1062,   581,
1463       751,   758,   594,   595,   760,   769,   783,   307,   307,   307,       580,  1068,   583,   586,   588,   589,   594,  1319,   308,   309,
1464       307,   307,   307,   307,   307,   307,   782,   784,   785,   409,       310,   311,   312,   313,   314,   315,   316,   317,   271,   308,
1465       409,   786,   789,   603,   790,   604,   791,   605,   306,   308,       618,   619,   620,   621,   622,   623,   624,   625,   626,   593,
1466       309,   310,   311,   312,   313,   314,   315,   793,   612,   613,       595,   596,   597,   600,   601,   629,   599,   639,   602,   638,
1467       614,   615,   616,   617,   618,   619,   620,   621,   622,   623,       598,   643,   603,   646,   629,   648,   629,   655,   656,   658,
1468       624,   792,   819,   820,   821,   822,   823,   824,   825,   826,       662,   718,   673,   652,   653,   647,   657,   674,   675,   714,
1469       830,   829,   827,   842,   836,   835,   844,   845,   846,   847,       629,   716,   715,   730,   696,   717,   629,   723,   725,   721,
1470       849,   851,   853,   852,   850,   859,   861,   855,   650,   862,       727,   692,   693,   694,   695,   729,   726,   710,   713,   722,
1471       860,   653,   654,   655,   656,   863,   864,   659,   865,   866,       731,   732,   728,   735,   736,   484,   484,   308,   618,   619,
1472       869,   868,   867,   874,   886,   875,   904,   470,   470,   673,       620,   621,   622,   623,   624,   625,   626,   627,   737,   745,
1473       883,   885,   897,   884,   407,   891,   888,   890,   327,   889,       746,   747,   748,   749,   750,   751,   752,   753,   754,   755,
1474       893,   900,   903,   914,   901,   902,   906,   930,   691,   907,       756,   757,   758,   738,   318,   320,   321,   322,   323,   324,
1475       693,   905,   911,   920,   908,   912,   915,   913,   916,   918,       325,   326,   327,   740,   739,   707,   760,   761,   762,   763,
1476       917,   921,   922,   923,   925,   924,   926,   931,   936,   942,       741,   742,   743,   744,   759,   764,   767,   768,   765,   771,
1477       932,   711,   934,   937,   939,   944,   940,   946,   712,   945,       769,   770,   772,   339,   773,   774,   775,   777,   778,   776,
1478       713,   714,   715,   943,   716,   947,   717,   948,   950,   949,       780,   785,   629,   787,   779,   786,   781,   808,   788,   782,
1479       933,   951,   954,   955,   956,   957,   935,   958,   959,   727,       791,   783,   811,   784,   810,   821,   820,   812,   819,  1199,
1480       962,   728,   964,   963,   965,   969,   966,   967,   734,   735,       823,   822,   824,   825,   826,   792,   793,   794,   795,   796,
1481       736,   737,   738,   739,   740,   741,   742,   970,   744,   971,       797,   798,   799,   800,   801,   802,   803,   804,   805,   806,
1482       746,   974,   977,   975,   938,   979,   981,   982,   983,   985,       807,   827,   809,   709,   828,   830,   813,   814,   815,   829,
1483       968,   976,   978,   986,   989,   990,   991,   980,   993,   763,       816,   817,   831,   832,   845,   837,   840,   836,   838,   839,
1484       764,   765,   984,   767,   992,   995,   994,   781,   996,   998,       833,   842,   843,   876,   889,   844,   864,   841,   869,   870,
1485      1003,   780,   997,   999,   673,  1002,  1004,  1008,  1011,  1014,       874,   877,   875,   887,   885,   886,   888,   894,   577,   577,
1486       795,   797,   469,   795,   802,   805,  1012,   795,   814,   781,       896,   897,   895,   898,   899,   918,   916,   339,   919,   920,
1487      1013,   781,   780,   780,  1017,   780,  1015,  1016,  1019,  1018,       927,   928,   929,   930,   931,   933,   319,   319,   319,   319,
1488       327,  1020,  1021,  1022,  1023,  1024,  1027,  1026,  1028,   831,       319,   319,   319,   319,   319,   932,   934,   935,   936,   937,
1489       832,  1029,   833,   834,  1025,  1031,  1033,  1034,   505,   506,       938,   871,   855,   939,   942,   858,   859,   860,   861,   940,
1490      1035,  1036,  1030,   307,   307,  1032,  1037,   531,  1039,   421,       629,   943,   629,   944,   867,   945,   946,   947,   949,   950,
1491      1041,  1038,  1042,  1044,  1040,   848,  1043,   555,  1047,  1048,       873,   941,   952,   962,   966,   948,   963,   882,   884,   969,
1492      1049,  1051,  1050,   854,   840,   841,  1056,  1057,  1052,  1053,       951,   967,   482,   968,   891,   973,   974,   975,   976,   977,
1493      1055,  1058,  1054,  1059,  1060,  1061,   856,  1062,  1065,  1063,       980,   981,   982,   983,   984,   665,  1002,  1004,  1005,  1006,
1494       307,   307,   327,  1064,  1066,  1067,  1070,  1069,  1072,  1068,       339,   339,   985,  1013,   926,  1012,  1014,   913,  1015,   915,
1495      1076,  1071,  1073,  1077,  1078,  1075,  1081,  1079,  1080,  1074,      1016,   629,  1017,  1019,  1018,  1020,  1022,  1021,  1023,  1024,
1496      1082,   840,   841,   781,  1083,  1084,  1085,   780,   781,  1089,       339,  1026,   319,   319,  1025,  1027,   499,  1028,  1029,  1049,
1497       421,   421,   780,   307,  1086,  1087,   407,   407,   327,   327,      1030,  1043,  1032,  1044,   953,  1031,  1033,  1050,  1117,  1048,
1498       797,  1088,   802,   781,   781,  1090,  1094,   780,   780,  1091,      1051,   954,  1063,   955,   956,   957,  1064,   958,   959,  1065,
1499      1092,  1093,  1095,  1096,   882,  1097,  1098,  1099,  1100,  1101,      1066,  1067,   960,   961,  1070,  1071,  1111,   965,  1072,  1102,
1500      1107,  1102,  1105,  1103,   327,  1106,  1108,  1109,  1111,   307,      1103,  1108,  1110,   339,  1116,  1113,   972,  1073,  1104,  1114,
1501       307,  1104,   421,  1115,  1110,  1112,  1113,  1114,  1118,  1116,      1109,  1118,  1119,   873,  1121,   978,  1112,   979,  1127,   707,
1502      1117,   919,  1119,  1122,  1120,  1124,  1123,  1126,   327,  1121,      1120,  1126,  1122,  1123,  1128,   986,   987,   988,   989,   990,
1503       909,   910,  1125,  1127,  1128,   531,  1129,   651,   652,   421,       991,   992,   993,   994,   995,   996,   997,  1134,   999,  1115,
1504       421,  1130,  1131,   657,   658,   805,  1132,  1137,   663,   663,      1001,  1135,  1003,  1137,  1138,  1139,  1007,  1008,  1009,  1141,
1505      1134,  1133,  1135,  1141,   469,   469,  1136,  1138,  1142,  1139,      1010,  1011,  1142,  1145,  1147,  1150,  1152,  1153,  1149,  1158,
1506      1140,  1144,  1143,  1145,  1146,  1147,  1148,  1150,  1149,  1151,      1157,  1162,  1166,  1163,  1169,  1164,  1165,  1170,  1177,  1171,
1507      1152,  1155,  1154,  1157,   892,   690,  1159,   692,  1158,  1153,      1172,  1173,  1174,  1176,   499,   499,   319,  1181,  1175,  1178,
1508      1156,  1160,  1161,  1162,  1163,   941,  1164,  1171,  1172,   674,      1179,  1187,  1188,  1198,  1180,  1230,  1205,  1190,  1203,  1045,
1509      1166,  1167,  1165,  1169,  1168,  1174,  1175,   894,   881,  1176,      1191,  1216,  1202,  1250,  1192,  1195,  1197,  1036,  1037,  1038,
1510      1170,   367,   368,  1173,  1177,  1178,  1179,   369,  1180,   649,      1196,   873,  1041,   884,  1200,  1206,  1201,  1047,  1210,  1211,
1511       788,     0,     0,   376,   401,   402,   295,   384,   370,   386,      1215,  1221,  1223,  1059,  1224,  1226,   576,  1222,  1225,  1227,
1512       813,   371,   372,     0,   327,   327,     0,   542,   545,     0,      1228,   891,  1233,  1229,  1231,  1234,  1232,  1235,  1075,  1077,
1513       327,   327,     0,     0,     0,   406,   327,     0,     0,     0,      1236,  1075,   629,  1087,  1089,  1238,  1075,   710,   713,   713,
1514         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1059,  1239,  1059,  1240,  1241,  1243,  1526,   339,   339,   884,
1515         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       884,   884,  1242,   339,  1244,  1245,  1246,   339,  1247,  1249,
1516         0,     0,     0,   327,     0,   327,   762,     0,     0,     0,      1129,  1130,  1252,  1131,  1132,  1133,  1253,  1255,  1256,  1257,
1517       766,     0,     0,     0,   770,     0,     0,     0,     0,     0,       339,   649,   650,  1258,  1261,  1259,  1260,  1262,  1264,   816,
1518         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       817,  1263,   319,   319,   499,   669,  1265,  1047,  1266,  1267,
1519       799,     0,     0,     0,   808,     0,     0,     0,   816,     0,      1268,  1269,  1273,  1274,  1146,  1275,  1276,  1282,  1277,   712,
1520       818,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1278,  1151,  1280,   339,  1281,   339,  1284,  1283,  1285,  1287,
1521         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1286,  1288,  1526,  1289,  1290,  1292,  1293,  1296,  1154,  1295,
1522         0,     0,     0,     0,     0,   838,   839,     0,     0,     0,      1297,  1298,  1299,   482,   482,  1300,  1301,  1303,  1304,   709,
1523         0,     0,     0,     0,     0,   327,     0,     0,     0,   327,      1159,  1160,  1161,  1306,  1305,  1302,  1307,  1308,  1309,  1311,
1524         0,     0,     0,   327,     0,     0,     0,     0,     0,     0,      1312,  1317,  1310,  1315,  1333,  1316,  1318,  1320,  1322,  1321,
1525       327,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1324,  1325,  1323,   709,  1331,  1326,   709,  1329,   709,  1330,
1526         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1339,  1189,  1335,  1332,  1336,  1334,  1337,  1340,   499,   499,
1527         0,     0,   327,     0,     0,     0,     0,     0,     0,     0,      1338,  1341,  1344,  1342,  1343,  1047,  1346,  1347,  1345,  1348,
1528         0,   327,     0,     0,     0,   663,   871,   872,   663,   327,      1351,  1352,  1059,  1059,  1353,  1354,  1365,  1355,  1357,  1359,
1529         0,   327,     0,     0,     0,     0,     0,     0,     0,     0,      1361,  1362,  1364,  1077,  1358,  1366,  1087,  1059,  1059,  1368,
1530         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1372,  1077,   882,   710,  1370,  1374,  1375,  1360,  1363,  1369,
1531         0,   327,   327,     0,     0,     0,     0,     0,     0,     0,      1373,   319,   319,  1376,  1367,  1377,  1378,  1381,  1382,  1383,
1532         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1384,  1386,  1371,  1385,  1389,  1387,   339,  1393,  1388,  1390,
1533         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       339,  1392,  1251,  1395,  1397,  1408,  1407,  1254,  1394,  1401,
1534         0,     0,     0,     0,   327,   327,   316,    46,    47,   669,      1396,  1413,  1410,   339,  1400,  1402,  1406,  1411,   339,  1409,
1535         0,    48,    49,    50,   317,   318,   319,   320,   321,   322,      1412,  1416,  1417,  1419,  1427,  1421,  1420,  1422,  1429,  1428,
1536       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,      1423,  1424,  1279,  1418,  1430,  1426,   576,   576,  1431,  1432,
1537        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,       339,  1433,  1434,  1437,  1435,  1436,  1439,  1438,  1440,  1441,
1538        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,      1442,  1443,   669,   339,   856,   857,  1447,  1449,  1444,   339,
1539        87,    88,    89,    90,    91,    92,    93,    94,    95,    96,       862,   339,  1445,  1089,   866,  1448,  1077,  1451,   709,   709,
1540        97,    98,    99,   100,   101,   102,   103,   104,   105,   106,      1452,  1453,  1454,  1458,  1460,  1456,   879,   879,  1461,  1462,
1541       107,   108,   109,   110,   111,   112,   113,   114,   115,   116,      1463,  1446,  1465,   709,   709,  1466,  1467,  1450,  1455,   709,
1542       117,   118,   119,   120,   121,   122,   123,   124,   125,   126,      1470,  1471,  1472,  1468,  1474,  1475,  1473,  1476,  1477,  1478,
1543       127,   128,   129,   130,   131,   132,   133,   134,   135,   136,      1481,  1479,  1480,  1482,  1483,  1485,  1492,   912,  1484,   914,
1544       137,   138,   139,   140,   141,   142,   143,   144,   145,   146,      1488,  1491,  1487,  1486,  1356,  1493,  1494,  1495,  1489,  1496,
1545       147,   148,   149,   150,   151,   152,   153,   154,   155,   156,      1498,  1497,  1499,  1501,  1500,  1503,  1504,  1502,  1505,  1506,
1546       157,   158,   159,   160,   161,   162,   163,   164,   165,   166,      1510,  1511,  1512,  1514,  1513,  1518,  1517,  1515,  1516,  1519,
1547       167,   168,   169,   170,   171,   172,   173,   174,   175,   176,      1520,  1521,  1532,  1530,   339,   339,  1531,  1533,  1534,  1536,
1548       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,      1535,  1537,  1539,  1540,  1543,  1545,  1538,  1546,  1549,  1541,
1549       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,      1542,  1207,  1213,  1544,  1555,  1291,  1557,  1583,   891,  1547,
1550       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,      1558,  1550,  1552,  1553,  1548,  1551,  1554,  1560,  1561,  1559,
1551       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,      1562,  1563,  1564,  1565,  1566,  1571,  1425,  1569,  1570,  1573,
1552       217,   218,   219,   220,   221,   222,   223,   224,   225,   226,      1575,  1576,  1572,  1577,  1574,  1578,  1580,  1581,  1584,  1586,
1553       227,   228,   229,   230,   231,   232,   233,   234,   235,   236,      1579,  1582,  1587,  1585,  1590,  1588,  1593,  1589,  1597,  1601,
1554       237,   238,   239,   240,   241,   242,   243,   244,   245,   246,      1591,  1592,  1602,  1610,  1600,  1596,  1606,  1615,  1599,  1604,
1555       247,   248,   249,   250,   251,   252,   253,   254,   255,   256,      1619,  1603,  1605,  1617,  1618,  1614,  1609,  1620,  1622,  1594,
1556       257,   258,   259,   260,   261,   262,   263,   264,   316,    46,      1611,  1623,  1616,  1621,  1631,  1625,  1628,   710,  1624,  1595,
1557        47,     0,   670,    48,    49,    50,   317,   318,   319,   320,      1629,  1194,  1626,  1627,   666,  1630,  1598,  1633,  1635,  1642,
1558       321,   322,   323,   324,   325,   326,    61,    62,    63,    64,      1632,  1637,  1634,  1640,  1490,  1639,  1636,  1035,  1638,  1645,
1559        65,    66,    67,    68,    69,    70,    71,    72,    73,    74,      1647,  1039,  1641,  1644,  1643,  1646,  1648,  1649,  1650,  1651,
1560        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,      1652,  1653,  1654,  1052,  1656,  1655,  1657,  1660,  1663,  1658,
1561        85,    86,    87,    88,    89,    90,    91,    92,    93,    94,      1661,  1659,  1667,  1674,  1673,  1675,  1662,  1666,  1686,  1676,
1562        95,    96,    97,    98,    99,   100,   101,   102,   103,   104,      1677,  1079,  1664,  1665,  1668,  1672,  1092,  1679,  1669,   712,
1563       105,   106,   107,   108,   109,   110,   111,   112,   113,   114,       712,  1678,  1098,  1670,  1100,  1671,  1680,  1681,  1682,  1684,
1564       115,   116,   117,   118,   119,   120,   121,   122,   123,   124,      1687,  1683,  1685,  1688,  1689,  1690,  1691,  1692,  1693,  1556,
1565       125,   126,   127,   128,   129,   130,   131,   132,   133,   134,      1695,  1694,  1696,  1697,  1698,  1699,  1700,  1701,  1703,  1704,
1566       135,   136,   137,   138,   139,   140,   141,   142,   143,   144,       307,  1101,   418,  1702,   406,   464,   407,     0,     0,   408,
1567       145,   146,   147,   148,   149,   150,   151,   152,   153,   154,       685,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1568       155,   156,   157,   158,   159,   160,   161,   162,   163,   164,       465,     0,     0,   709,     0,     0,     0,     0,     0,     0,
1569       165,   166,   167,   168,   169,   170,   171,   172,   173,   174,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1570       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,         0,     0,     0,   466,     0,     0,     0,     0,     0,     0,
1571       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,         0,     0,     0,   467,     0,     0,     0,     0,     0,     0,
1572       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,         0,   468,     0,     0,     0,   469,     0,   470,     0,   471,
1573       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,         0,     0,     0,     0,   472,     0,     0,     0,     0,     0,
1574       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1575       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1576       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,         0,     0,   879,  1183,  1184,   879,     0,     0,     0,     0,
1577       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1578       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,         0,     0,     0,     0,   473,     0,     0,     0,     0,     0,
1579        45,    46,    47,     0,     0,    48,    49,    50,    51,    52,       474,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1580        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,         0,     0,     0,     0,     0,     0,   475,     0,     0,   409,
1581        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,         0,     0,     0,   480,     0,     0,   428,     0,     0,     0,
1582        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,         0,     0,   669,   328,    52,    53,    54,    55,    56,   329,
1583        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,       330,   331,   332,   333,   334,   335,   336,   337,   338,    67,
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,  
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,  
      263,   264,   316,    46,    47,     0,     0,    48,    49,    50,  
      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,  
       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,  
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,  
       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,  
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,  
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,  
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,  
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,  
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,  
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,  
      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,  
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,  
      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,  
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,  
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,  
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,  
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,  
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,  
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,  
      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,  
      261,   262,   263,   264,   316,    46,    47,   771,   772,    48,  
      773,   774,    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,   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,   877,     0,  
       48,    49,    50,   317,   318,   319,   320,   321,   322,   323,  
      324,   325,   326,    61,    62,    63,    64,    65,    66,    67,  
1584        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1585        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1586        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
# Line 1278  static const short int yytable[] = Line 1600  static const short int yytable[] =
1600       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,       228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1601       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,       238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1602       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,       248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1603       258,   259,   260,   261,   262,   263,   316,    46,    47,     0,       258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
1604       878,    48,    49,    50,   317,   318,   319,   320,   321,   322,       268,   269,   834,   410,   270,   328,    52,    53,    54,    55,
1605       323,   324,   325,   326,    61,    62,    63,    64,    65,    66,        56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1606        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,       338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
       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,   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,  
1607        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1608        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,        86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1609        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
# Line 1322  static const short int yytable[] = Line 1622  static const short int yytable[] =
1622       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,       226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1623       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1624       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1625       256,   257,   258,   259,   260,   261,   262,   263,   316,    46,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1626        47,     0,     0,    48,    49,    50,    51,    52,    53,    54,       266,   267,   268,   269,   430,   835,   270,    51,    52,    53,
1627        55,    56,    57,    58,    59,    60,    61,    62,    63,    64,        54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,  
      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,  
      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,  
      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,  
      255,   256,   257,   258,   259,   260,   261,   262,   263,   316,  
      721,    47,     0,     0,    48,    49,    50,   317,   318,   319,  
      320,   321,   322,   323,   324,   325,   326,    61,    62,    63,  
1628        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,        64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1629        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1630        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,        84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
# Line 1367  static const short int yytable[] = Line 1645  static const short int yytable[] =
1645       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1646       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1647       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1648       316,   743,    47,     0,     0,    48,    49,    50,   317,   318,       264,   265,   266,   267,   268,   269,   411,   413,   270,   328,
1649       319,   320,   321,   322,   323,   324,   325,   326,    61,    62,        52,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1650        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,  
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,  
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,  
      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,  
      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,  
      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,  
      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,  
      263,   316,   745,    47,     0,     0,    48,    49,    50,   317,  
      318,   319,   320,   321,   322,   323,   324,   325,   326,    61,  
       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,  
1651        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1652        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1653        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
# Line 1411  static const short int yytable[] = Line 1667  static const short int yytable[] =
1667       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1668       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1669       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1670       262,   263,   316,   837,    47,     0,     0,    48,    49,    50,       262,   263,   264,   265,   266,   267,   268,   269,   414,   481,
1671       317,   318,   319,   320,   321,   322,   323,   324,   325,   326,       270,   328,    52,    53,    54,  1053,  1054,    57,    58,    59,
1672        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,  
       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,  
       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,  
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,  
      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,  
      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,  
      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,  
      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,  
      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,  
      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,  
      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,  
      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,  
      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,  
      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,  
      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,  
      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,  
      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,  
      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,  
      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,  
      261,   262,   263,   316,   857,    47,     0,     0,    48,    49,  
       50,   317,   318,   319,   320,   321,   322,   323,   324,   325,  
      326,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
1673        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1674        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1675        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1455  static const short int yytable[] = Line 1689  static const short int yytable[] =
1689       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1690       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1691       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1692       260,   261,   262,   263,   316,   858,    47,     0,     0,    48,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1693        49,    50,   317,   318,   319,   320,   321,   322,   323,   324,       590,   591,   328,    52,    53,    54,    55,    56,   329,   330,
1694       325,   326,    61,    62,    63,    64,    65,    66,    67,    68,       331,   332,   333,   334,   335,   336,   337,   338,    67,    68,
1695        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1696        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1697        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
# Line 1477  static const short int yytable[] = Line 1711  static const short int yytable[] =
1711       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,       229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1712       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1713       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1714       259,   260,   261,   262,   263       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1715  };       269,   328,    52,    53,    54,    55,    56,    57,    58,    59,
1716          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1717  static const short int yycheck[] =        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1718  {        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1719        14,    14,   471,    16,    17,    18,    19,    20,    21,    22,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1720        23,    24,    25,    26,    27,   595,   279,     5,   272,   273,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1721       272,   273,   279,   279,   743,    25,   745,     6,     7,    32,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1722        29,    25,   225,   226,    24,    29,    35,    40,    38,    21,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1723        23,    24,    52,    53,    54,    55,    56,    57,    58,    59,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1724        60,    33,     1,    36,     3,    34,    33,    40,    38,    22,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1725        42,    25,    39,    52,    53,    54,    55,    56,    57,    58,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1726        59,    60,    21,    36,    23,    24,    22,    23,    27,    23,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1727        25,    23,    24,    32,    22,    29,    25,    33,    37,    38,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1728        39,    29,    41,    39,    21,    21,    42,    23,    40,    25,       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1729        24,    39,    41,    25,    42,   737,    33,    33,   577,   741,       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1730       579,   580,    36,    39,     6,     7,    38,     8,   837,    24,       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1731        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1732        41,    36,    41,    42,    41,    42,   605,    25,   857,   858,       220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1733        23,    24,     0,   612,   613,   614,   615,   616,   617,   618,       230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1734       619,   620,     8,    23,    24,    11,    12,    13,    14,    15,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1735        16,    17,    18,    19,    20,    34,   429,   522,   523,   224,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1736        24,     8,   429,   429,    11,    12,    13,    14,    15,    16,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1737        17,    18,    19,    20,    25,    21,    21,    23,    23,    25,       328,   971,    53,    54,    55,    56,   329,   330,   331,   332,
1738        21,    39,    21,    40,    25,   271,    39,    33,    33,    29,       333,   334,   335,   336,   337,   338,    67,    68,    69,    70,
      276,   277,    33,    22,   458,   281,   458,     9,    10,    11,  
       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,  
1739        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1740        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1741        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
# Line 1691  static const short int yycheck[] = Line 1751  static const short int yycheck[] =
1751       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1752       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1753       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1754       221,   222,   223,   224,     3,     4,     5,     6,     7,     8,       221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1755         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,       231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1756        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1757        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1758        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1759        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,       998,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1760        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1761        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1762        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1763        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1764        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1765       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1766       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1767       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1768       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1769       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1770       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1771       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1772       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1773       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1774       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1775       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1776       219,   220,   221,   222,   223,     3,     4,     5,     6,    -1,       222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1777         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1778         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1779         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1780         262,   263,   264,   265,   266,   267,   268,   269,   328,  1000,
1781          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1782         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1783          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1784          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1785          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1786         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1787         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1788         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1789         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1790         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1791         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1792         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1793         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1794         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1795         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1796         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1797         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1798         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1799         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1800         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1801         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1802         263,   264,   265,   266,   267,   268,   269,   328,  1140,    53,
1803          54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1804         336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1805          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1806          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1807          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1808         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1809         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1810         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1811         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1812         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1813         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1814         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1815         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1816         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1817         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1818         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1819         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1820         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1821         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1822         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1823         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1824         264,   265,   266,   267,   268,   269,   328,  1155,    53,    54,
1825          55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1826         337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1827          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1828          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1829          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1830         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1831         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1832         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1833         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1834         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1835         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1836         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1837         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1838         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1839         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1840         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1841         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1842         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1843         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1844         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1845         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1846         265,   266,   267,   268,   269,   328,  1156,    53,    54,    55,
1847          56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1848         338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1849          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1850          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1851          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1852         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1853         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1854         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1855         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1856         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1857         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1858         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1859         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1860         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1861         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1862         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1863         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1864         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1865         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1866         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1867         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1868         266,   267,   268,   269
1869    };
1870    
1871    static const yytype_int16 yycheck[] =
1872    {
1873          15,   783,    17,    18,    19,    20,    21,    22,    23,    24,
1874          25,    26,    27,    28,    29,    30,    31,    15,   502,   565,
1875         749,   532,   995,   534,   979,   281,   282,   281,   282,   286,
1876         288,   774,     5,   288,  1151,   288,    32,   548,   871,    33,
1877          34,    22,  1159,   554,    58,    59,    60,    61,    62,    63,
1878          64,    65,    66,   540,  1045,   277,   543,   998,     1,  1000,
1879           3,    37,   549,   285,   286,    37,   553,   551,   961,    22,
1880         523,    23,    21,    22,    22,   989,    19,    23,    21,    22,
1881         994,   534,    25,    23,    37,    34,    34,    30,    31,    38,
1882          36,   578,    35,    36,    37,   548,    39,    23,    19,    39,
1883          21,   554,    23,    24,    21,    22,    19,    20,    21,    20,
1884          31,    24,    25,    89,  1007,  1008,  1009,    89,    31,    40,
1885          19,    38,   277,    34,    37,    38,   959,    40,    19,   640,
1886         285,   286,    31,    24,    19,   290,    34,  1254,    37,    37,
1887          31,    40,  1133,     9,    10,    11,    12,    13,    14,    15,
1888          16,    17,    18,    20,    23,    23,    22,    19,    21,    21,
1889          27,    21,    24,    19,    27,    39,    32,    36,    31,    31,
1890          37,    31,     0,    40,    30,    31,    58,    59,    60,    61,
1891          62,    63,    64,    65,    66,    19,    27,    21,  1161,    23,
1892          24,   225,   226,    22,    30,    30,    19,    31,    39,  1140,
1893          23,    36,    38,    37,    38,    34,    40,    23,    31,    34,
1894          32,    27,    37,     6,  1155,  1156,     9,    10,    11,    12,
1895          13,    14,    15,    16,    17,    18,   222,   223,   222,   223,
1896         513,   514,   515,   516,   517,   518,   519,   520,   521,   522,
1897         224,   524,   525,   526,   527,    34,   529,   758,    37,   760,
1898          27,   224,   225,   226,   512,    22,    33,   512,   745,   512,
1899         747,   748,     7,     8,     9,    10,    11,    12,    13,    14,
1900          15,    16,    17,    18,   289,    34,   763,    34,    37,    37,
1901          37,     6,   225,   226,     9,    10,    11,    12,    13,    14,
1902          15,    16,    17,    18,    31,    39,    40,   784,   809,   783,
1903          37,   558,   558,    23,   558,   792,   793,   794,   795,   796,
1904         797,   798,   799,   800,   801,   802,   803,    31,    21,    21,
1905          39,    40,    23,    37,    27,    27,   813,   814,   815,   344,
1906         280,    21,    21,   283,    21,   558,   558,    27,    27,   354,
1907          27,   564,   222,   223,    38,   360,    37,   362,   363,   364,
1908         365,   366,    19,   368,    34,   370,   371,   372,   373,   374,
1909          20,   376,   377,   378,   379,   380,    27,   281,   282,   384,
1910         225,   386,   286,    31,   389,    21,    22,    21,    22,   394,
1911         395,   396,    31,   398,   399,   400,  1129,   996,   997,  1132,
1912         590,   591,   287,   288,   278,   279,    21,   412,    19,   414,
1913          19,  1356,   417,   418,    38,   420,   421,    38,    22,    38,
1914          33,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1915           6,    23,   271,     9,    10,    11,    12,    13,    14,    15,
1916          16,    17,    18,    23,    37,    19,   318,    26,   320,   321,
1917         322,   323,   324,   325,   326,   327,    39,    27,    26,   995,
1918          32,    42,  1425,    27,    23,    27,    33,    33,    39,    27,
1919        1189,    27,    26,    42,    27,    32,   953,    42,   483,    39,
1920          21,   486,    27,    26,    39,    27,    30,    39,    38,   990,
1921          36,    42,    40,    33,    33,    21,    21,    20,   972,    36,
1922          38,   978,    38,    34,    19,    22,    22,  1279,     9,    10,
1923          11,    12,    13,    14,    15,    16,    17,    18,    15,     9,
1924          10,    11,    12,    13,    14,    15,    16,    17,    18,  1003,
1925          19,    19,    25,    36,    38,   523,    22,    32,    30,    22,
1926          89,    22,    27,    22,   532,    22,   534,    22,    19,    22,
1927          37,    33,    22,   541,   542,    89,    89,    26,    22,    22,
1928         548,    19,    24,    37,    32,    89,   554,    27,    23,    36,
1929          23,   559,   560,   561,   562,    36,    33,   565,   566,    38,
1930          32,    27,    38,    27,    27,   590,   591,     9,    10,    11,
1931          12,    13,    14,    15,    16,    17,    18,    19,    32,   604,
1932         605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1933         615,   616,   617,    27,   618,   619,   620,   621,   622,   623,
1934         624,   625,   626,    27,    37,  1161,   631,   632,   633,   634,
1935          40,    19,    39,    32,    30,    27,   641,   642,    33,    37,
1936          27,    27,    27,   482,   649,   650,   651,    27,    32,   654,
1937          27,    27,   640,    27,    37,    33,    38,    19,    39,   664,
1938          33,   666,    23,   668,    39,    32,    24,    27,    27,  1146,
1939          20,    37,    27,    21,    23,   680,   681,   682,   683,   684,
1940         685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1941         695,    19,   697,   565,    21,    27,   701,   702,   703,    43,
1942         704,   705,    21,    32,    24,    30,    23,    33,    32,    32,
1943          89,    23,    30,    23,    36,    31,    30,    89,    89,    32,
1944          89,    89,    33,    23,    33,    32,    89,    33,   733,   734,
1945          22,    22,    89,    38,    30,    22,    31,   576,    40,    22,
1946          33,    23,    32,    23,    19,    23,   618,   619,   620,   621,
1947         622,   623,   624,   625,   626,    89,    19,    30,    23,    20,
1948          36,   766,   750,    23,    19,   753,   754,   755,   756,    27,
1949         758,    23,   760,    23,   762,    32,    27,    36,    23,    33,
1950         768,    89,    23,    27,    27,    89,    89,   775,   776,    27,
1951          43,    89,   289,    32,   782,    89,    23,    32,    27,    39,
1952          89,    27,    27,    27,    23,  1279,    23,    27,    23,    27,
1953         649,   650,    33,    36,   818,    89,    23,   805,    32,   807,
1954          30,   809,    27,    31,    30,    89,    23,    89,    27,    30,
1955         669,    33,   704,   705,    32,    20,   708,    30,    22,    33,
1956          32,    32,    38,    31,   849,    40,    36,    22,    21,    32,
1957          32,   856,    33,   858,   859,   860,    30,   862,   863,    22,
1958          32,    31,   867,   868,    33,    32,    22,   872,    33,    33,
1959          30,    33,    30,   712,    40,    32,   881,    89,    89,    30,
1960          89,    20,    37,   871,    30,   890,    89,   892,    23,  1425,
1961          39,    33,    37,    37,    21,   900,   901,   902,   903,   904,
1962         905,   906,   907,   908,   909,   910,   911,    37,   913,    89,
1963         915,    33,   917,    37,    39,    34,   921,   922,   923,     5,
1964         924,   925,    39,    23,    39,    27,    23,    33,    89,    21,
1965          89,    39,    27,    24,    19,    89,    89,    21,    39,    33,
1966          33,    23,    38,    23,   816,   817,   818,    23,    38,    38,
1967          27,    38,    22,    32,    37,    89,    24,    38,    32,   964,
1968          38,    27,    33,    23,    39,    38,    38,   955,   956,   957,
1969          39,   959,   960,   961,    38,    32,    39,   965,    33,    33,
1970          38,    32,    38,   971,    32,    27,   483,    39,    33,    39,
1971          36,   979,    21,    34,    38,    32,    36,    36,   986,   987,
1972          19,   989,   990,   991,   992,    36,   994,   995,   996,   997,
1973         998,    34,  1000,    38,    34,    36,  1490,   856,   857,  1007,
1974        1008,  1009,    38,   862,    38,    34,    38,   866,    39,    19,
1975        1035,  1036,    39,  1038,  1039,  1040,    32,    34,    30,    33,
1976         879,   538,   539,    32,    24,    33,    32,    38,    23,  1053,
1977        1054,    36,   924,   925,   926,   552,    39,  1045,    21,    32,
1978          39,    39,    89,    39,  1069,    23,    38,    89,    39,   566,
1979          30,  1076,    39,   912,    39,   914,    89,    39,    39,    89,
1980          39,    38,  1556,    39,    39,    38,    38,    30,  1093,    39,
1981          39,    24,    39,   590,   591,    24,    33,    39,    33,   971,
1982        1105,  1106,  1107,    23,    32,    89,    38,    31,    38,    32,
1983          27,    19,    39,    31,    36,    89,    31,    31,    22,    38,
1984          22,    31,    38,   995,    30,    38,   998,    34,  1000,    38,
1985          22,  1136,    32,    34,    33,    38,    32,    31,  1010,  1011,
1986          33,    39,    23,    38,    89,  1133,    22,    25,    89,    22,
1987          33,    23,  1140,  1141,    21,    25,    33,    23,    23,    23,
1988          23,    23,    23,  1151,    89,    39,  1154,  1155,  1156,    38,
1989          38,  1159,  1160,  1161,    33,    23,    23,    89,    89,    39,
1990          38,  1053,  1054,    37,    89,    21,    32,    27,    27,    27,
1991          40,    36,    89,    27,    23,    32,  1035,    22,    33,    32,
1992        1039,    32,  1207,    22,    32,    22,    30,  1212,    40,    36,
1993          40,    26,    32,  1052,    40,    38,    38,    33,  1057,    40,
1994          38,    33,    32,    27,    23,    38,    40,    38,    23,    27,
1995          39,    38,  1237,    89,    27,    38,   733,   734,    38,    26,
1996        1079,    23,    27,    26,    38,    89,    43,    33,    89,    30,
1997          23,    27,   749,  1092,   751,   752,    19,    27,    38,  1098,
1998         757,  1100,    39,  1251,   761,    40,  1254,    23,  1140,  1141,
1999          27,    21,    23,    32,    40,    37,   773,   774,    21,    40,
2000          21,    89,    19,  1155,  1156,    40,    21,    89,    89,  1161,
2001          19,    36,    34,    21,    40,    21,    23,    89,    32,    31,
2002          40,    32,    27,    33,    37,    23,    23,   804,    32,   806,
2003          31,    27,    34,    36,  1319,    27,    23,    31,    38,    32,
2004          23,    27,    26,    32,    43,    23,    36,    38,    27,    23,
2005          38,    19,    32,    23,    21,    89,    37,    39,    34,    19,
2006          19,    89,    19,    21,  1183,  1184,    21,    32,    21,    19,
2007          89,    34,    21,    89,    19,    23,    32,    23,    39,    33,
2008          32,  1154,  1160,    34,    23,  1251,    23,  1556,  1356,    36,
2009          23,    34,    34,    31,    38,    36,    32,    23,    23,    34,
2010          34,    32,    23,    23,    23,    34,  1391,    39,    24,    37,
2011          34,    38,    30,    19,    89,    19,    19,    89,    30,    19,
2012          37,    36,    32,    89,    33,    30,    33,    89,    39,    42,
2013          32,    32,    22,    24,    31,    34,    23,    19,    36,    34,
2014          23,    37,    36,    22,    19,    34,    39,    23,    19,    89,
2015          38,    19,    38,    27,    19,    33,    33,  1425,    30,    89,
2016          33,  1141,    32,    32,   551,    32,    89,    89,    31,    24,
2017          36,    31,    36,    31,  1459,    36,    38,   954,    37,    24,
2018          19,   958,    39,    39,    38,    36,    22,    27,    23,    23,
2019          19,    38,    19,   970,    32,    23,    33,    19,    40,    32,
2020          31,    33,    23,    27,    23,    23,    36,    32,    89,    23,
2021          22,   988,    38,    36,    31,    31,   993,    23,    38,   996,
2022         997,    32,   999,    38,  1001,    38,    23,    23,    38,    36,
2023          38,    40,    36,    38,    36,    38,    23,    23,    37,  1524,
2024          23,    26,    23,    36,    36,    33,    36,    36,    30,    22,
2025          50,  1003,   284,    37,   283,   288,   283,    -1,    -1,   283,
2026         558,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2027         288,    -1,    -1,  1425,    -1,    -1,    -1,    -1,    -1,    -1,
2028          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2029          -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,
2030          -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,
2031          -1,   288,    -1,    -1,    -1,   288,    -1,   288,    -1,   288,
2032          -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,
2033          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2034          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2035          -1,    -1,  1129,  1130,  1131,  1132,    -1,    -1,    -1,    -1,
2036          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2037          -1,    -1,    -1,    -1,   288,    -1,    -1,    -1,    -1,    -1,
2038         288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2039          -1,    -1,    -1,    -1,    -1,    -1,   288,    -1,    -1,   283,
2040          -1,    -1,    -1,   288,    -1,    -1,   286,    -1,    -1,    -1,
2041          -1,    -1,  1189,     3,     4,     5,     6,     7,     8,     9,
2042          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
2043          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
2044          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
2045          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
2046          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
2047          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
2048          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
2049          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
2050          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
2051         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
2052         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
2053         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
2054         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
2055         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
2056         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
2057         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
2058         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
2059         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
2060         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
2061         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
2062         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
2063         220,   221,   222,   283,   224,     3,     4,     5,     6,     7,
2064         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2065        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2066        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
# Line 1735  static const short int yycheck[] = Line 2082  static const short int yycheck[] =
2082       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2083       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2084       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2085       218,   219,   220,   221,   222,   223,     3,     4,     5,    -1,       218,   219,   220,   221,   286,   223,   224,     3,     4,     5,
2086         7,     8,     9,    10,    11,    12,    13,    14,    15,    16,         6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,  
       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,  
       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,  
       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,  
       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,  
       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,  
       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,  
       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,  
       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,  
      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,  
      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,  
      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,  
      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,  
      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,  
      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,  
      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,  
      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,  
      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,  
      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,  
      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,  
      217,   218,   219,   220,   221,   222,   223,     3,     4,     5,  
       -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,  
2087        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,        16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2088        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2089        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
# Line 1779  static const short int yycheck[] = Line 2104  static const short int yycheck[] =
2104       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2105       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2106       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2107       216,   217,   218,   219,   220,   221,   222,   223,     3,     4,       216,   217,   218,   219,   220,   221,   283,   283,   224,     3,
2108         5,    -1,    -1,     8,     9,    10,    11,    12,    13,    14,         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,  
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,  
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,  
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,  
       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,  
       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,  
       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,  
       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,  
       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,  
      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,  
      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,  
      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,  
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,  
      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,  
      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,  
      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,  
      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,  
      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,  
      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,  
      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,  
      215,   216,   217,   218,   219,   220,   221,   222,   223,     3,  
        4,     5,    -1,    -1,     8,     9,    10,    11,    12,    13,  
2109        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,        14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2110        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,        24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2111        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,        34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
# Line 1823  static const short int yycheck[] = Line 2126  static const short int yycheck[] =
2126       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2127       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,       194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2128       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,       204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2129       214,   215,   216,   217,   218,   219,   220,   221,   222,   223,       214,   215,   216,   217,   218,   219,   220,   221,   283,   288,
2130         3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,       224,     3,     4,     5,     6,     7,     8,     9,    10,    11,
       13,    14,    15,    16,    17,    18,    19,    20,    21,    22,  
       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,  
       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,  
       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,  
       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,  
       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,  
       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,  
       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,  
       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,  
      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,  
      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,  
      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,  
      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,  
      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,  
      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,  
      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,  
      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,  
      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,  
      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,  
      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,  
      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,  
      223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,  
2131        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2132        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2133        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 1868  static const short int yycheck[] = Line 2149  static const short int yycheck[] =
2149       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2150       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2151       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2152       222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,       222,   223,     3,     4,     5,     6,     7,     8,     9,    10,
2153        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
2154        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
2155        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1890  static const short int yycheck[] = Line 2171  static const short int yycheck[] =
2171       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
2172       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
2173       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
2174       221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2175        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2176        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2177        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2178        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2179        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2180        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2181        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2182        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2183        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2184       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2185       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2186       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2187       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2188       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2189       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2190       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2191       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2192       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2193       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2194       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2195       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2196       220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,         3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
2197         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,        13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
2198        19,    20,    21,    22,    23,    24,    25,    26,    27,    28,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
2199        29,    30,    31,    32,    33,    34,    35,    36,    37,    38,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
2200        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,        43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
2201        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,        53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
2202        59,    60,    61,    62,    63,    64,    65,    66,    67,    68,        63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
2203        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
2204        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
2205        89,    90,    91,    92,    93,    94,    95,    96,    97,    98,        93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
2206        99,   100,   101,   102,   103,   104,   105,   106,   107,   108,       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
2207       109,   110,   111,   112,   113,   114,   115,   116,   117,   118,       113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
2208       119,   120,   121,   122,   123,   124,   125,   126,   127,   128,       123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
2209       129,   130,   131,   132,   133,   134,   135,   136,   137,   138,       133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
2210       139,   140,   141,   142,   143,   144,   145,   146,   147,   148,       143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
2211       149,   150,   151,   152,   153,   154,   155,   156,   157,   158,       153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
2212       159,   160,   161,   162,   163,   164,   165,   166,   167,   168,       163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
2213       169,   170,   171,   172,   173,   174,   175,   176,   177,   178,       173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
2214       179,   180,   181,   182,   183,   184,   185,   186,   187,   188,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
2215       189,   190,   191,   192,   193,   194,   195,   196,   197,   198,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
2216       199,   200,   201,   202,   203,   204,   205,   206,   207,   208,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
2217       209,   210,   211,   212,   213,   214,   215,   216,   217,   218,       213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
2218       219,   220,   221,   222,   223         4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
2219          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
2220          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
2221          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
2222          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
2223          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
2224          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
2225          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
2226          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
2227          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
2228         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
2229         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
2230         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
2231         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
2232         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
2233         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
2234         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
2235         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
2236         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
2237         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
2238         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
2239         214,   215,   216,   217,   218,   219,   220,   221,     3,     4,
2240           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
2241          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
2242          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
2243          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
2244          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
2245          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
2246          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
2247          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
2248          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
2249          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
2250         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
2251         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
2252         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
2253         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
2254         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
2255         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
2256         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
2257         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
2258         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
2259         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
2260         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
2261         215,   216,   217,   218,   219,   220,   221,     3,     4,     5,
2262           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
2263          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
2264          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
2265          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
2266          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
2267          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
2268          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
2269          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
2270          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
2271          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
2272         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
2273         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
2274         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
2275         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
2276         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
2277         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
2278         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
2279         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
2280         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
2281         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
2282         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
2283         216,   217,   218,   219,   220,   221,     3,     4,     5,     6,
2284           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
2285          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
2286          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
2287          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
2288          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
2289          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
2290          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
2291          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
2292          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
2293          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
2294         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
2295         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
2296         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
2297         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
2298         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
2299         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
2300         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
2301         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
2302         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
2303         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
2304         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
2305         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
2306           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
2307          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
2308          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
2309          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
2310          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
2311          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
2312          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
2313          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
2314          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
2315          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
2316         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
2317         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
2318         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
2319         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
2320         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
2321         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
2322         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
2323         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
2324         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2325         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2326         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2327         218,   219,   220,   221
2328  };  };
2329    
2330  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2331     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
2332  static const unsigned short int yystos[] =  static const yytype_uint16 yystos[] =
2333  {  {
2334         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2335        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,        36,    37,    39,   228,   229,   230,   231,   286,   287,   288,
2336       274,   275,   278,   279,   280,   281,   282,   318,   321,    24,       289,   290,   291,   292,   293,   294,   299,   300,   301,   302,
2337        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,       303,   365,   369,    22,    30,    36,    23,    23,    27,    33,
2338         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,        19,    39,    23,    23,    39,    32,     0,   225,   226,   284,
2339        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,       285,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2340        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2341        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2342        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
2343        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
2344        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,        52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
2345        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
2346        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
2347        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
2348       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,        92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
2349       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
2350       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,       112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
2351       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,       122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
2352       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,       132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
2353       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,       142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
2354       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,       152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
2355       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
2356       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
2357       190,   191,   192,   193,   194,   195,   196,   197,   198,   199,       182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
2358       200,   201,   202,   203,   204,   205,   206,   207,   208,   209,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2359       210,   211,   212,   213,   214,   215,   216,   217,   218,   219,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2360       220,   221,   222,   223,   224,   259,   262,   263,   264,   267,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2361       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       224,   275,   278,   279,   280,   283,   283,   283,   283,   283,
2362       267,   267,    24,    25,    39,    40,    39,    21,    29,    33,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2363        39,    32,    40,    22,    39,   268,    11,    12,    13,    14,       283,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2364        15,    16,    17,    18,    19,    20,   261,   262,   261,   261,        31,    37,    30,    38,    20,    31,    37,   284,     9,    10,
2365       261,   261,   261,   261,   261,   261,     3,    11,    12,    13,        11,    12,    13,    14,    15,    16,    17,    18,   277,   278,
2366        14,    15,    16,    17,    18,    19,    20,   264,    23,   283,       277,   277,   277,   277,   277,   277,   277,   277,     3,     9,
2367        21,    23,    25,    33,    39,   234,   283,   284,   285,   286,        10,    11,    12,    13,    14,    15,    16,    17,    18,   280,
2368       294,   296,   297,   298,   299,   300,   301,   303,   305,   306,        21,    31,   232,   304,   348,    19,    21,    23,    24,    31,
2369       307,   308,   309,   310,   314,    21,    33,   236,   297,   307,        37,    38,    40,   238,   304,   305,   306,   307,   324,   325,
2370       237,   297,   307,    21,    23,    33,   242,   284,   285,   286,       328,   333,   334,   335,   336,   337,   338,   340,   342,   343,
2371       296,   303,   306,    29,   238,   293,   294,   283,    21,    25,       344,   345,   346,   347,   348,   349,   350,   351,   356,   357,
2372        33,   235,   283,   295,   300,   304,   305,   320,    22,    23,       358,   359,    31,   235,   346,   236,   346,    31,   242,   347,
2373        33,    39,    42,   232,   288,   289,   290,   291,   292,   319,        19,    24,    31,   240,   334,   344,   356,   243,   334,   344,
2374       233,   288,   289,   290,   291,   292,   319,   259,   265,   267,       356,    19,    21,    24,    31,   249,   305,   306,   307,   333,
2375       283,    21,    40,    40,    24,    40,    35,    25,    25,    39,       340,   343,   347,   349,   357,    27,   244,   327,   328,   237,
2376        41,   262,    28,    41,    42,    28,    34,    29,    25,   267,       304,   348,    19,    23,    31,   239,   304,   332,   337,   341,
2377       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,       342,   348,   356,   359,   368,    19,    20,    21,    24,    25,
2378       267,   267,    41,    29,   267,   267,   267,   267,    41,    28,        31,    37,    38,    40,   233,   309,   310,   311,   312,   313,
2379        29,    34,   267,   267,   267,    41,    23,    29,   267,   267,       314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
2380       267,   267,   267,   267,    41,    28,    29,    40,    35,   259,       324,   326,   366,   234,   309,   310,   311,   312,   313,   314,
2381       267,   267,    40,    38,    42,    40,    23,    23,    22,    21,       315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
2382        24,    21,    21,    27,    24,    38,    29,   287,   290,   291,       326,   366,   275,   281,   283,   241,   304,    19,    19,    38,
2383       292,   287,   287,   287,   287,   287,   287,   287,   287,   287,        38,    22,    38,    33,    23,    23,    37,    19,    39,   278,
2384       287,   287,   287,    24,    24,   259,   259,    12,    13,    14,        26,    27,   283,    39,    40,    26,    32,    42,    27,    23,
2385        15,    16,    17,    18,    19,    20,   263,   263,    24,    21,        33,    33,   283,   283,   283,   283,   283,   283,   283,   283,
2386        24,    39,     6,     7,    34,   243,   255,   266,   277,   244,       283,   283,   283,   283,   283,   283,   283,   283,   283,   283,
2387       254,   259,   252,   263,    24,    28,    24,    21,    33,    42,        27,   283,   283,    27,   283,    39,    42,    27,   283,   283,
2388       239,   297,   301,   302,   307,   310,   311,   312,   313,   315,       283,   283,   283,   283,    39,    26,    42,    27,   283,   283,
2389       263,   263,   263,   263,   258,   259,   263,    26,    21,    39,        32,   283,   283,   283,   283,    39,    21,    27,   283,   283,
2390        38,    29,   252,    25,    35,    25,    40,    38,    39,    34,       283,   283,   283,   283,   283,   283,   283,    39,    39,    26,
2391        29,    29,    34,    29,    29,    42,    34,   267,   267,   267,        42,    30,    27,    38,    33,    33,   275,   283,   283,    36,
2392       267,   267,   267,   267,   267,   267,   267,   267,   267,   267,        38,    36,    40,    38,    21,    21,    34,    20,    19,    22,
2393       267,   267,    29,    29,   267,   267,    29,    34,    29,    40,       222,   223,   269,   282,    22,    19,    19,    25,    89,    22,
2394       265,   265,    35,   267,   267,   267,    29,    35,    29,    41,        36,    38,    30,    27,   308,   321,   322,   323,   308,   308,
2395        29,    35,   267,   267,   267,   267,   267,   267,   267,   267,       308,   308,   308,   308,   308,   308,   308,   308,    10,    11,
2396       267,   267,   267,   267,   267,    26,    34,    23,    25,    23,        12,    13,    14,    15,    16,    17,    18,    19,   259,   279,
2397        45,    29,    23,    34,    35,    32,    34,    34,    91,    25,       295,   308,   308,   308,   308,   264,   279,   308,    22,    32,
2398        26,   252,    22,    36,   241,   316,   317,   252,   252,   254,       246,   298,   259,    22,   259,   295,    22,    89,    22,   275,
2399       263,   259,   259,   263,   263,   263,   263,   259,   259,   263,       275,   264,   279,   279,   264,    22,    19,    89,    22,   259,
2400        35,    91,   240,   259,   240,    35,    34,    91,    38,     6,       295,   264,    37,   250,   268,   282,   298,   251,   267,   275,
2401         7,    34,   253,   263,   255,   252,    35,    91,    24,    24,       264,   259,   295,    22,    26,    22,    19,    31,    37,   245,
2402        32,   252,   252,   252,   252,   252,   252,   252,   252,   252,       334,   338,   339,   344,   348,   351,   352,   353,   354,   359,
2403       259,   263,   259,   263,    25,    34,    25,    21,    25,    22,       361,   362,   279,   279,   279,   279,    32,   367,    19,    30,
2404        38,    25,    91,    21,    25,    25,    29,    38,    35,    45,        31,   338,   355,   360,     7,     8,   263,   276,   277,   278,
2405        25,   267,   267,   267,   267,   267,   267,   267,    91,    29,       279,   274,   275,   279,    22,    24,    19,    89,    33,    22,
2406       267,     4,    91,    25,    29,    41,    91,   267,   267,    91,        37,    36,    38,    27,   264,    23,    33,    23,    38,    36,
2407        29,    29,    29,    41,   267,   267,   267,   267,   267,   267,        37,    32,    27,   281,   281,    27,    27,    32,    27,    37,
2408       267,   267,   267,     4,   267,     4,   267,    38,    25,    32,        27,    40,    19,    39,    32,   283,   283,   283,   283,   283,
2409        33,    91,    25,    29,    32,    35,    22,    32,    34,    40,       283,   283,   283,   283,   283,   283,   283,   283,   283,    30,
2410        38,   252,   259,   263,   263,   263,   259,   263,    35,    34,       283,   283,   283,   283,    27,    33,   259,   283,   283,    27,
2411       259,     6,     7,     9,    10,   256,   257,   259,   260,   261,        27,    37,    27,   283,   283,   283,   283,    27,    32,    37,
2412       262,   263,    35,    32,    34,    33,    33,   252,   253,    35,        27,    38,   283,   283,   283,    27,    33,    27,    39,    27,
2413        34,    35,    91,    33,   245,   263,   246,   263,   247,   259,        39,    33,   283,   283,   283,   283,   283,   283,   283,   283,
2414       245,   248,   263,    21,   249,   263,   276,   250,   259,   245,       283,   283,   283,   283,   283,   283,   283,   283,    19,   283,
2415         9,    10,   251,   260,   263,   256,   259,   256,   259,    91,        39,    23,    27,   283,   283,   283,   277,   277,     6,    27,
2416        32,    32,    91,    23,    22,    41,    32,    39,    36,    25,        24,    32,    37,    20,    27,    21,    23,    19,    21,    43,
2417        23,   267,   267,   267,   267,    41,    36,     4,   259,   259,        27,    21,    32,    89,   222,   223,    33,    30,    32,    32,
2418       261,   261,     5,     8,    41,    36,    25,    35,   267,    41,        23,    89,    23,    30,    31,    24,   264,    20,    34,   248,
2419        36,    91,    29,    25,   267,    32,   267,     4,     4,    26,       363,   364,   264,   264,   267,   279,   275,   275,   279,   279,
2420        91,    21,    23,    35,    25,    40,    25,    41,    39,    25,       279,   279,   275,   259,    30,   259,   275,   279,   264,    89,
2421       240,   259,   259,   240,    40,    41,   256,     6,     7,     8,        32,   283,   260,   279,    89,    33,    23,    89,   247,   275,
2422         8,   257,   261,    40,    41,    34,    24,   252,    40,    41,       247,   262,   279,   266,   279,    33,    32,    23,    89,    36,
2423        35,    34,   246,    32,   248,   256,   256,    29,    23,    29,       265,   279,   268,   264,    33,    89,    22,    22,    38,    30,
2424        34,    35,    41,    36,    91,    40,    34,    36,    40,   261,       264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2425       261,    36,    40,    40,    21,    36,    40,    41,    36,   267,       264,   264,   275,   279,   275,   279,    31,   259,    22,    40,
2426        32,    35,    34,    25,    41,    34,    41,    21,    25,    33,        22,   264,   264,   264,     6,     6,   277,    33,    23,    32,
2427        91,    40,    41,    91,    41,    91,    32,    41,    91,    40,        23,    19,    89,    23,    19,    30,    23,    20,    36,    23,
2428        41,   249,    32,    41,    26,    35,    34,    40,    40,    41,        27,    89,    19,    23,    23,    32,    27,    36,    89,    23,
2429        34,    29,    24,    36,    21,    40,    24,    40,    24,    40,        33,    43,    23,   283,   283,   283,   283,   283,   283,   283,
2430        24,    36,    36,    40,    34,    35,    41,    40,    91,    24,       283,   283,    27,    89,   260,   283,    27,    89,    32,    27,
2431        27,    24,    25,    38,    35,    27,    91,    25,    91,    25,       283,     4,   283,    89,    23,    32,    27,    39,   283,   283,
2432        91,    25,    35,    41,    91,    40,    39,    23,    24,    29,        89,    27,    27,    27,    23,    33,   283,   283,   283,   283,
2433        29,    29,    42,    29,    38,    25,    24,    42,    24,    42,       283,   283,   283,   283,   283,   283,   283,   283,     4,   283,
2434        23,    24,    42,    38,    40,    23,    36,    40,    28,    25,         4,   283,    23,   283,    27,    23,    27,   283,   283,   283,
2435        38,    35,    34,    91,    29,    42,    40,    25,    29,    25,       277,   277,    89,    36,    23,    32,    30,    27,    30,    31,
2436        29,    28,    25,    29,    40,    91,    28,    35,    45,    21,        89,    89,    23,    27,    30,    32,    33,    20,    30,    22,
2437        42,    29,    91,    25,    29,    23,    25,    91,    42,    23,        32,    40,    38,    36,   264,   275,   279,   279,   279,   275,
2438        42,    23,    21,    42,    23,    23,    40,    21,    38,    36,       260,   279,   266,    32,    31,   283,   261,   279,    32,    33,
2439        34,    29,    42,    35,    39,    34,    25,    38,    36,    29,        22,    32,   275,     7,     8,   272,   273,   275,   276,   279,
2440        25,    29,    25,    34,    29,    25,    28,    45,    34,    40,       282,   271,   282,    33,    30,    22,    32,    31,   264,   265,
2441        25,    34,    23,    25,    41,    36,    39,    91,    21,    23,        33,    32,    33,    89,   253,   279,   254,   279,   255,   275,
2442        23,    34,    23,    91,    21,    36,    34,    25,    25,    38,       253,    22,    32,   259,   296,   297,   256,   279,   257,   279,
2443        40,    41,    36,    38,    25,    25,    25,    25,    36,    34,       295,   258,   275,   253,   263,   274,   274,   272,   275,   272,
2444        25,    25,    32,    39,    91,    36,    40,    21,    21,    32,       275,   269,    33,    30,    89,   266,   266,   266,    33,    89,
2445        91,    21,    34,    32,    91,    36,    41,    91,    38,    33,        30,    22,    89,    32,    30,    89,    40,    21,    20,    37,
2446        36,    38,    25,    36,    21,    40,    24,    21,    25,    21,        39,    30,    37,    37,    34,    37,    33,    23,    21,   283,
2447        21,    32,    21,    38,    91,    38,    33,    40,    38,    33,       283,   283,   283,   283,    37,    33,   261,    37,    39,    34,
2448        38,    21,    24,    29,    25,    25,    21,    25,    21,    33,         4,     5,    39,    34,    37,    23,   283,    39,    34,    89,
2449        38,    42,    40,    38,    33,    40,    33,    25,    29,    25,        27,   283,    23,    33,   283,     4,     4,    89,    21,   283,
2450        25,    25,    25,    25,    40,    42,    38,    38,    40,    38,       283,   283,    39,    24,    89,    89,    27,    34,    37,    19,
2451        40,    25,    25,    39,    25,    25,    38,    38,    38,    38,        21,    33,    33,    23,    38,    38,    23,    39,    38,    27,
2452        39        37,    23,   247,   275,   275,   247,   261,    38,    22,   283,
2453          38,    38,    39,   272,   273,    38,    39,    38,    32,   264,
2454          38,    39,    33,    32,   254,    24,    32,   256,   272,   272,
2455          33,    33,   254,   262,   263,    38,    27,    21,    27,    21,
2456          27,    32,    39,    38,    32,    33,    27,    39,    36,    34,
2457          89,    38,    36,    21,    32,    36,    19,   267,    36,    34,
2458          38,    34,    38,    36,    38,    34,    38,    39,    34,    19,
2459          23,   283,    39,    32,   283,    34,    30,    33,    32,    33,
2460          32,    24,    38,    36,    23,    39,    21,    32,    39,    39,
2461          19,    23,    31,    89,    39,    23,    38,    39,    30,   283,
2462          39,    39,    89,    39,    89,    39,    39,    89,    38,    39,
2463          39,   257,    38,    38,   254,    39,    30,    39,    24,    39,
2464          24,    33,    89,    39,    33,    32,    23,    38,    31,    38,
2465          39,    32,    27,    22,    34,    31,    89,    19,    31,   268,
2466          31,    38,    22,    38,    22,    31,    38,    22,    34,    34,
2467          38,    30,    34,    36,    38,    32,    33,    32,    33,    22,
2468          31,    39,    38,    89,    23,    89,    22,    25,    22,    23,
2469          36,    33,    23,    21,    25,    23,   283,    23,    89,    23,
2470          89,    23,    23,    89,    23,    33,    39,    89,    38,    39,
2471          33,    89,    38,    38,    23,    23,    37,    21,    32,    21,
2472          22,    27,    27,    27,    40,    27,    36,    32,    33,    23,
2473          32,   265,    32,    22,    40,    22,    40,    32,    21,    22,
2474          40,    36,    38,    21,    34,    38,    38,    30,    22,    40,
2475          32,    33,    38,    26,    23,    36,    33,    32,    89,    27,
2476          40,    38,    38,    39,    38,   283,    38,    23,    27,    23,
2477          27,    38,    26,    23,    27,    38,    89,    26,    33,    43,
2478          89,    30,    23,    27,    38,    39,    89,    19,    40,    27,
2479          89,    23,    27,    21,    23,    89,    37,    89,    32,   263,
2480          40,    21,    40,    21,    89,    19,    40,    21,    21,    38,
2481          19,    36,    34,    23,    40,    21,    89,    32,    31,    32,
2482          27,    40,    33,    37,    32,    23,    36,    34,    31,    38,
2483         283,    27,    23,    27,    23,    31,    32,    27,    23,    26,
2484          43,    32,    38,    23,    36,    27,    23,    21,    27,    31,
2485          38,    19,    32,    21,    23,    39,    34,    37,    89,    19,
2486          19,    89,    33,    34,   252,   270,   282,   329,   330,   331,
2487          21,    21,    19,    32,    21,    89,    19,    34,    32,    21,
2488          89,    33,    32,    19,    34,    23,    23,    36,    38,    39,
2489          34,    36,    34,    31,    32,    23,   283,    23,    23,    34,
2490          23,    23,    34,    32,    23,    23,    23,    21,    27,    39,
2491          24,    34,    30,    37,    89,    34,    38,    19,    19,    37,
2492          19,    89,    36,   270,    30,    89,    19,    32,    30,    89,
2493          33,    32,    32,    33,    89,    89,    34,    39,    89,    36,
2494          31,    42,    22,    37,    34,    36,    23,    21,    27,    39,
2495          24,    38,    21,    27,    34,    19,    38,    22,    19,    23,
2496          23,    27,    19,    19,    30,    33,    32,    32,    33,    33,
2497          32,    19,    36,    89,    36,    31,    38,    31,    37,    36,
2498          31,    39,    24,    38,    39,    24,    36,    19,    22,    27,
2499          23,    23,    19,    38,    19,    23,    32,    33,    32,    33,
2500          19,    31,    36,    40,    38,    36,    32,    23,    31,    38,
2501          38,    38,    31,    23,    27,    23,    23,    22,    32,    23,
2502          23,    23,    38,    40,    36,    36,    89,    38,    38,    36,
2503          38,    23,    23,    37,    26,    23,    23,    36,    36,    33,
2504          36,    36,    37,    30,    22
2505  };  };
2506    
 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  
 # define YYSIZE_T __SIZE_TYPE__  
 #endif  
 #if ! defined (YYSIZE_T) && defined (size_t)  
 # define YYSIZE_T size_t  
 #endif  
 #if ! defined (YYSIZE_T)  
 # if defined (__STDC__) || defined (__cplusplus)  
 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */  
 #  define YYSIZE_T size_t  
 # endif  
 #endif  
 #if ! defined (YYSIZE_T)  
 # define YYSIZE_T unsigned int  
 #endif  
   
2507  #define yyerrok         (yyerrstatus = 0)  #define yyerrok         (yyerrstatus = 0)
2508  #define yyclearin       (yychar = YYEMPTY)  #define yyclearin       (yychar = YYEMPTY)
2509  #define YYEMPTY         (-2)  #define YYEMPTY         (-2)
# Line 2103  do                                                             \ Line 2529  do                                                             \
2529        yychar = (Token);                                         \        yychar = (Token);                                         \
2530        yylval = (Value);                                         \        yylval = (Value);                                         \
2531        yytoken = YYTRANSLATE (yychar);                           \        yytoken = YYTRANSLATE (yychar);                           \
2532        YYPOPSTACK;                                               \        YYPOPSTACK (1);                                           \
2533        goto yybackup;                                            \        goto yybackup;                                            \
2534      }                                                           \      }                                                           \
2535    else                                                          \    else                                                          \
2536      {                                                           \      {                                                           \
2537        yyerror ("syntax error: cannot back up");\        yyerror (YY_("syntax error: cannot back up")); \
2538        YYERROR;                                                  \        YYERROR;                                                  \
2539      }                                                           \      }                                                           \
2540  while (0)  while (YYID (0))
2541    
2542    
2543  #define YYTERROR        1  #define YYTERROR        1
2544  #define YYERRCODE       256  #define YYERRCODE       256
2545    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2546    
2547    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2548       If N is 0, then set CURRENT to the empty location which ends
2549       the previous symbol: RHS[0] (always defined).  */
2550    
2551    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2552  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2553  # define YYLLOC_DEFAULT(Current, Rhs, N)                \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2554     ((Current).first_line   = (Rhs)[1].first_line,       \      do                                                                  \
2555      (Current).first_column = (Rhs)[1].first_column,     \        if (YYID (N))                                                    \
2556      (Current).last_line    = (Rhs)[N].last_line,        \          {                                                               \
2557      (Current).last_column  = (Rhs)[N].last_column)            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2558              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2559              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2560              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2561            }                                                               \
2562          else                                                              \
2563            {                                                               \
2564              (Current).first_line   = (Current).last_line   =              \
2565                YYRHSLOC (Rhs, 0).last_line;                                \
2566              (Current).first_column = (Current).last_column =              \
2567                YYRHSLOC (Rhs, 0).last_column;                              \
2568            }                                                               \
2569        while (YYID (0))
2570    #endif
2571    
2572    
2573    /* YY_LOCATION_PRINT -- Print the location on the stream.
2574       This macro was not mandated originally: define only if we know
2575       we won't break user code: when these are the locations we know.  */
2576    
2577    #ifndef YY_LOCATION_PRINT
2578    # if YYLTYPE_IS_TRIVIAL
2579    #  define YY_LOCATION_PRINT(File, Loc)                  \
2580         fprintf (File, "%d.%d-%d.%d",                      \
2581                  (Loc).first_line, (Loc).first_column,     \
2582                  (Loc).last_line,  (Loc).last_column)
2583    # else
2584    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2585    # endif
2586  #endif  #endif
2587    
2588    
2589  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2590    
2591  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 2147  while (0) Line 2606  while (0)
2606  do {                                            \  do {                                            \
2607    if (yydebug)                                  \    if (yydebug)                                  \
2608      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2609  } while (0)  } while (YYID (0))
2610    
2611  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
2612  do {                                            \  do {                                                                      \
2613    if (yydebug)                                  \    if (yydebug)                                                            \
2614      yysymprint Args;                            \      {                                                                     \
2615  } while (0)        YYFPRINTF (stderr, "%s ", Title);                                   \
2616          yy_symbol_print (stderr,                                            \
2617                      Type, Value); \
2618          YYFPRINTF (stderr, "\n");                                           \
2619        }                                                                     \
2620    } while (YYID (0))
2621    
2622  # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2623  do {                                                            \  /*--------------------------------.
2624    if (yydebug)                                                  \  | Print this symbol on YYOUTPUT.  |
2625      {                                                           \  `--------------------------------*/
2626        YYFPRINTF (stderr, "%s ", Title);                         \  
2627        yysymprint (stderr,                                       \  /*ARGSUSED*/
2628                    Token, Value);        \  #if (defined __STDC__ || defined __C99__FUNC__ \
2629        YYFPRINTF (stderr, "\n");                                 \       || defined __cplusplus || defined _MSC_VER)
2630      }                                                           \  static void
2631  } while (0)  yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2632    #else
2633    static void
2634    yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2635        FILE *yyoutput;
2636        int yytype;
2637        YYSTYPE const * const yyvaluep;
2638    #endif
2639    {
2640      if (!yyvaluep)
2641        return;
2642    # ifdef YYPRINT
2643      if (yytype < YYNTOKENS)
2644        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2645    # else
2646      YYUSE (yyoutput);
2647    # endif
2648      switch (yytype)
2649        {
2650          default:
2651            break;
2652        }
2653    }
2654    
2655    
2656    /*--------------------------------.
2657    | Print this symbol on YYOUTPUT.  |
2658    `--------------------------------*/
2659    
2660    #if (defined __STDC__ || defined __C99__FUNC__ \
2661         || defined __cplusplus || defined _MSC_VER)
2662    static void
2663    yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2664    #else
2665    static void
2666    yy_symbol_print (yyoutput, yytype, yyvaluep)
2667        FILE *yyoutput;
2668        int yytype;
2669        YYSTYPE const * const yyvaluep;
2670    #endif
2671    {
2672      if (yytype < YYNTOKENS)
2673        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2674      else
2675        YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2676    
2677      yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2678      YYFPRINTF (yyoutput, ")");
2679    }
2680    
2681  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2682  | yy_stack_print -- Print the state stack from its BOTTOM up to its |  | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2683  | TOP (included).                                                   |  | TOP (included).                                                   |
2684  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2685    
2686  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2687         || defined __cplusplus || defined _MSC_VER)
2688  static void  static void
2689  yy_stack_print (short int *bottom, short int *top)  yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2690  #else  #else
2691  static void  static void
2692  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2693      short int *bottom;      yytype_int16 *bottom;
2694      short int *top;      yytype_int16 *top;
2695  #endif  #endif
2696  {  {
2697    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
2698    for (/* Nothing. */; bottom <= top; ++bottom)    for (; bottom <= top; ++bottom)
2699      YYFPRINTF (stderr, " %d", *bottom);      YYFPRINTF (stderr, " %d", *bottom);
2700    YYFPRINTF (stderr, "\n");    YYFPRINTF (stderr, "\n");
2701  }  }
# Line 2191  yy_stack_print (bottom, top) Line 2704  yy_stack_print (bottom, top)
2704  do {                                                            \  do {                                                            \
2705    if (yydebug)                                                  \    if (yydebug)                                                  \
2706      yy_stack_print ((Bottom), (Top));                           \      yy_stack_print ((Bottom), (Top));                           \
2707  } while (0)  } while (YYID (0))
2708    
2709    
2710  /*------------------------------------------------.  /*------------------------------------------------.
2711  | Report that the YYRULE is going to be reduced.  |  | Report that the YYRULE is going to be reduced.  |
2712  `------------------------------------------------*/  `------------------------------------------------*/
2713    
2714  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
2715         || defined __cplusplus || defined _MSC_VER)
2716  static void  static void
2717  yy_reduce_print (int yyrule)  yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2718  #else  #else
2719  static void  static void
2720  yy_reduce_print (yyrule)  yy_reduce_print (yyvsp, yyrule)
2721        YYSTYPE *yyvsp;
2722      int yyrule;      int yyrule;
2723  #endif  #endif
2724  {  {
2725      int yynrhs = yyr2[yyrule];
2726    int yyi;    int yyi;
2727    unsigned int yylno = yyrline[yyrule];    unsigned long int yylno = yyrline[yyrule];
2728    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2729               yyrule - 1, yylno);               yyrule - 1, yylno);
2730    /* Print the symbols being reduced, and their result.  */    /* The symbols being reduced.  */
2731    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = 0; yyi < yynrhs; yyi++)
2732      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      {
2733    YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);        fprintf (stderr, "   $%d = ", yyi + 1);
2734          yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2735                           &(yyvsp[(yyi + 1) - (yynrhs)])
2736                                           );
2737          fprintf (stderr, "\n");
2738        }
2739  }  }
2740    
2741  # define YY_REDUCE_PRINT(Rule)          \  # define YY_REDUCE_PRINT(Rule)          \
2742  do {                                    \  do {                                    \
2743    if (yydebug)                          \    if (yydebug)                          \
2744      yy_reduce_print (Rule);             \      yy_reduce_print (yyvsp, Rule); \
2745  } while (0)  } while (YYID (0))
2746    
2747  /* Nonzero means print parse trace.  It is left uninitialized so that  /* Nonzero means print parse trace.  It is left uninitialized so that
2748     multiple parsers can coexist.  */     multiple parsers can coexist.  */
2749  int yydebug;  int yydebug;
2750  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2751  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2752  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2753  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2754  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2755  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 2244  int yydebug; Line 2764  int yydebug;
2764     if the built-in stack extension method is used).     if the built-in stack extension method is used).
2765    
2766     Do not make this value too large; the results are undefined if     Do not make this value too large; the results are undefined if
2767     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2768     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2769    
 #if defined (YYMAXDEPTH) && YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2770  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2771  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2772  #endif  #endif
# Line 2260  int yydebug; Line 2776  int yydebug;
2776  #if YYERROR_VERBOSE  #if YYERROR_VERBOSE
2777    
2778  # ifndef yystrlen  # ifndef yystrlen
2779  #  if defined (__GLIBC__) && defined (_STRING_H)  #  if defined __GLIBC__ && defined _STRING_H
2780  #   define yystrlen strlen  #   define yystrlen strlen
2781  #  else  #  else
2782  /* Return the length of YYSTR.  */  /* Return the length of YYSTR.  */
2783    #if (defined __STDC__ || defined __C99__FUNC__ \
2784         || defined __cplusplus || defined _MSC_VER)
2785  static YYSIZE_T  static YYSIZE_T
 #   if defined (__STDC__) || defined (__cplusplus)  
2786  yystrlen (const char *yystr)  yystrlen (const char *yystr)
2787  #   else  #else
2788    static YYSIZE_T
2789  yystrlen (yystr)  yystrlen (yystr)
2790       const char *yystr;      const char *yystr;
2791  #   endif  #endif
2792  {  {
2793    register const char *yys = yystr;    YYSIZE_T yylen;
2794      for (yylen = 0; yystr[yylen]; yylen++)
   while (*yys++ != '\0')  
2795      continue;      continue;
2796      return yylen;
   return yys - yystr - 1;  
2797  }  }
2798  #  endif  #  endif
2799  # endif  # endif
2800    
2801  # ifndef yystpcpy  # ifndef yystpcpy
2802  #  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)  #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2803  #   define yystpcpy stpcpy  #   define yystpcpy stpcpy
2804  #  else  #  else
2805  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in  /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2806     YYDEST.  */     YYDEST.  */
2807    #if (defined __STDC__ || defined __C99__FUNC__ \
2808         || defined __cplusplus || defined _MSC_VER)
2809  static char *  static char *
 #   if defined (__STDC__) || defined (__cplusplus)  
2810  yystpcpy (char *yydest, const char *yysrc)  yystpcpy (char *yydest, const char *yysrc)
2811  #   else  #else
2812    static char *
2813  yystpcpy (yydest, yysrc)  yystpcpy (yydest, yysrc)
2814       char *yydest;      char *yydest;
2815       const char *yysrc;      const char *yysrc;
2816  #   endif  #endif
2817  {  {
2818    register char *yyd = yydest;    char *yyd = yydest;
2819    register const char *yys = yysrc;    const char *yys = yysrc;
2820    
2821    while ((*yyd++ = *yys++) != '\0')    while ((*yyd++ = *yys++) != '\0')
2822      continue;      continue;
# Line 2308  yystpcpy (yydest, yysrc) Line 2826  yystpcpy (yydest, yysrc)
2826  #  endif  #  endif
2827  # endif  # endif
2828    
2829  #endif /* !YYERROR_VERBOSE */  # ifndef yytnamerr
2830    /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2831       quotes and backslashes, so that it's suitable for yyerror.  The
2832       heuristic is that double-quoting is unnecessary unless the string
2833       contains an apostrophe, a comma, or backslash (other than
2834       backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
2835       null, do not copy; instead, return the length of what the result
2836       would have been.  */
2837    static YYSIZE_T
2838    yytnamerr (char *yyres, const char *yystr)
2839    {
2840      if (*yystr == '"')
2841        {
2842          YYSIZE_T yyn = 0;
2843          char const *yyp = yystr;
2844    
2845          for (;;)
2846            switch (*++yyp)
2847              {
2848              case '\'':
2849              case ',':
2850                goto do_not_strip_quotes;
2851    
2852              case '\\':
2853                if (*++yyp != '\\')
2854                  goto do_not_strip_quotes;
2855                /* Fall through.  */
2856              default:
2857                if (yyres)
2858                  yyres[yyn] = *yyp;
2859                yyn++;
2860                break;
2861    
2862              case '"':
2863                if (yyres)
2864                  yyres[yyn] = '\0';
2865                return yyn;
2866              }
2867        do_not_strip_quotes: ;
2868        }
2869    
2870  #if YYDEBUG    if (! yyres)
2871  /*--------------------------------.      return yystrlen (yystr);
 | Print this symbol on YYOUTPUT.  |  
 `--------------------------------*/  
2872    
2873  #if defined (__STDC__) || defined (__cplusplus)    return yystpcpy (yyres, yystr) - yyres;
2874  static void  }
2875  yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)  # endif
2876  #else  
2877  static void  /* Copy into YYRESULT an error message about the unexpected token
2878  yysymprint (yyoutput, yytype, yyvaluep)     YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2879      FILE *yyoutput;     including the terminating null byte.  If YYRESULT is null, do not
2880      int yytype;     copy anything; just return the number of bytes that would be
2881      YYSTYPE *yyvaluep;     copied.  As a special case, return 0 if an ordinary "syntax error"
2882  #endif     message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2883       size calculation.  */
2884    static YYSIZE_T
2885    yysyntax_error (char *yyresult, int yystate, int yychar)
2886  {  {
2887    /* Pacify ``unused variable'' warnings.  */    int yyn = yypact[yystate];
   (void) yyvaluep;  
2888    
2889    if (yytype < YYNTOKENS)    if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2890        return 0;
2891      else
2892      {      {
2893        YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);        int yytype = YYTRANSLATE (yychar);
2894  # ifdef YYPRINT        YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2895        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);        YYSIZE_T yysize = yysize0;
2896          YYSIZE_T yysize1;
2897          int yysize_overflow = 0;
2898          enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2899          char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2900          int yyx;
2901    
2902    # if 0
2903          /* This is so xgettext sees the translatable formats that are
2904             constructed on the fly.  */
2905          YY_("syntax error, unexpected %s");
2906          YY_("syntax error, unexpected %s, expecting %s");
2907          YY_("syntax error, unexpected %s, expecting %s or %s");
2908          YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2909          YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2910  # endif  # endif
2911      }        char *yyfmt;
2912    else        char const *yyf;
2913      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);        static char const yyunexpected[] = "syntax error, unexpected %s";
2914          static char const yyexpecting[] = ", expecting %s";
2915          static char const yyor[] = " or %s";
2916          char yyformat[sizeof yyunexpected
2917                        + sizeof yyexpecting - 1
2918                        + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2919                           * (sizeof yyor - 1))];
2920          char const *yyprefix = yyexpecting;
2921    
2922          /* Start YYX at -YYN if negative to avoid negative indexes in
2923             YYCHECK.  */
2924          int yyxbegin = yyn < 0 ? -yyn : 0;
2925    
2926          /* Stay within bounds of both yycheck and yytname.  */
2927          int yychecklim = YYLAST - yyn + 1;
2928          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2929          int yycount = 1;
2930    
2931          yyarg[0] = yytname[yytype];
2932          yyfmt = yystpcpy (yyformat, yyunexpected);
2933    
2934          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2935            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2936              {
2937                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2938                  {
2939                    yycount = 1;
2940                    yysize = yysize0;
2941                    yyformat[sizeof yyunexpected - 1] = '\0';
2942                    break;
2943                  }
2944                yyarg[yycount++] = yytname[yyx];
2945                yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2946                yysize_overflow |= (yysize1 < yysize);
2947                yysize = yysize1;
2948                yyfmt = yystpcpy (yyfmt, yyprefix);
2949                yyprefix = yyor;
2950              }
2951    
2952          yyf = YY_(yyformat);
2953          yysize1 = yysize + yystrlen (yyf);
2954          yysize_overflow |= (yysize1 < yysize);
2955          yysize = yysize1;
2956    
2957    switch (yytype)        if (yysize_overflow)
2958      {          return YYSIZE_MAXIMUM;
2959        default:  
2960          break;        if (yyresult)
2961            {
2962              /* Avoid sprintf, as that infringes on the user's name space.
2963                 Don't have undefined behavior even if the translation
2964                 produced a string with the wrong number of "%s"s.  */
2965              char *yyp = yyresult;
2966              int yyi = 0;
2967              while ((*yyp = *yyf) != '\0')
2968                {
2969                  if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2970                    {
2971                      yyp += yytnamerr (yyp, yyarg[yyi++]);
2972                      yyf += 2;
2973                    }
2974                  else
2975                    {
2976                      yyp++;
2977                      yyf++;
2978                    }
2979                }
2980            }
2981          return yysize;
2982      }      }
   YYFPRINTF (yyoutput, ")");  
2983  }  }
2984    #endif /* YYERROR_VERBOSE */
2985    
2986    
 #endif /* ! YYDEBUG */  
2987  /*-----------------------------------------------.  /*-----------------------------------------------.
2988  | Release the memory associated to this symbol.  |  | Release the memory associated to this symbol.  |
2989  `-----------------------------------------------*/  `-----------------------------------------------*/
2990    
2991  #if defined (__STDC__) || defined (__cplusplus)  /*ARGSUSED*/
2992    #if (defined __STDC__ || defined __C99__FUNC__ \
2993         || defined __cplusplus || defined _MSC_VER)
2994  static void  static void
2995  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2996  #else  #else
2997  static void  static void
2998  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
2999        const char *yymsg;
3000      int yytype;      int yytype;
3001      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
3002  #endif  #endif
3003  {  {
3004    /* Pacify ``unused variable'' warnings.  */    YYUSE (yyvaluep);
3005    (void) yyvaluep;  
3006      if (!yymsg)
3007        yymsg = "Deleting";
3008      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3009    
3010    switch (yytype)    switch (yytype)
3011      {      {
3012    
3013        default:        default:
3014          break;          break;
3015      }      }
3016  }  }
3017    
# Line 2379  yydestruct (yytype, yyvaluep) Line 3019  yydestruct (yytype, yyvaluep)
3019  /* Prevent warnings from -Wmissing-prototypes.  */  /* Prevent warnings from -Wmissing-prototypes.  */
3020    
3021  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3022  # if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3023  int yyparse (void *YYPARSE_PARAM);  int yyparse (void *YYPARSE_PARAM);
3024  # else  #else
3025  int yyparse ();  int yyparse ();
3026  # endif  #endif
3027  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3028  #if defined (__STDC__) || defined (__cplusplus)  #if defined __STDC__ || defined __cplusplus
3029  int yyparse (void);  int yyparse (void);
3030  #else  #else
3031  int yyparse ();  int yyparse ();
# Line 2402  int yyparse (); Line 3042  int yyparse ();
3042  `----------*/  `----------*/
3043    
3044  #ifdef YYPARSE_PARAM  #ifdef YYPARSE_PARAM
3045  # if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3046  int yyparse (void *YYPARSE_PARAM)       || defined __cplusplus || defined _MSC_VER)
3047  # else  int
3048  int yyparse (YYPARSE_PARAM)  yyparse (void *YYPARSE_PARAM)
3049    void *YYPARSE_PARAM;  #else
3050  # endif  int
3051    yyparse (YYPARSE_PARAM)
3052        void *YYPARSE_PARAM;
3053    #endif
3054  #else /* ! YYPARSE_PARAM */  #else /* ! YYPARSE_PARAM */
3055  #if defined (__STDC__) || defined (__cplusplus)  #if (defined __STDC__ || defined __C99__FUNC__ \
3056         || defined __cplusplus || defined _MSC_VER)
3057  int  int
3058  yyparse (void)  yyparse (void)
3059  #else  #else
# Line 2419  yyparse () Line 3063  yyparse ()
3063  #endif  #endif
3064  #endif  #endif
3065  {  {
3066    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
3067  int yychar;  int yychar;
3068    
3069  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
3070  YYSTYPE yylval;  YYSTYPE yylval;
3071    
3072  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
3073  int yynerrs;  int yynerrs;
3074    
3075    register int yystate;    int yystate;
3076    register int yyn;    int yyn;
3077    int yyresult;    int yyresult;
3078    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
3079    int yyerrstatus;    int yyerrstatus;
3080    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
3081    int yytoken = 0;    int yytoken = 0;
3082    #if YYERROR_VERBOSE
3083      /* Buffer for error messages, and its allocated size.  */
3084      char yymsgbuf[128];
3085      char *yymsg = yymsgbuf;
3086      YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3087    #endif
3088    
3089    /* Three stacks and their tools:    /* Three stacks and their tools:
3090       `yyss': related to states,       `yyss': related to states,
# Line 2445  int yynerrs; Line 3095  int yynerrs;
3095       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
3096    
3097    /* The state stack.  */    /* The state stack.  */
3098    short int yyssa[YYINITDEPTH];    yytype_int16 yyssa[YYINITDEPTH];
3099    short int *yyss = yyssa;    yytype_int16 *yyss = yyssa;
3100    register short int *yyssp;    yytype_int16 *yyssp;
3101    
3102    /* The semantic value stack.  */    /* The semantic value stack.  */
3103    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
3104    YYSTYPE *yyvs = yyvsa;    YYSTYPE *yyvs = yyvsa;
3105    register YYSTYPE *yyvsp;    YYSTYPE *yyvsp;
3106    
3107    
3108    
3109  #define YYPOPSTACK   (yyvsp--, yyssp--)  #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N))
3110    
3111    YYSIZE_T yystacksize = YYINITDEPTH;    YYSIZE_T yystacksize = YYINITDEPTH;
3112    
# Line 2465  int yynerrs; Line 3115  int yynerrs;
3115    YYSTYPE yyval;    YYSTYPE yyval;
3116    
3117    
3118    /* When reducing, the number of symbols on the RHS of the reduced    /* The number of symbols on the RHS of the reduced rule.
3119       rule.  */       Keep to zero when no symbol should be popped.  */
3120    int yylen;    int yylen = 0;
3121    
3122    YYDPRINTF ((stderr, "Starting parse\n"));    YYDPRINTF ((stderr, "Starting parse\n"));
3123    
# Line 2484  int yynerrs; Line 3134  int yynerrs;
3134    yyssp = yyss;    yyssp = yyss;
3135    yyvsp = yyvs;    yyvsp = yyvs;
3136    
   
3137    goto yysetstate;    goto yysetstate;
3138    
3139  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 2492  int yynerrs; Line 3141  int yynerrs;
3141  `------------------------------------------------------------*/  `------------------------------------------------------------*/
3142   yynewstate:   yynewstate:
3143    /* In all cases, when you get here, the value and location stacks    /* In all cases, when you get here, the value and location stacks
3144       have just been pushed. so pushing a state here evens the stacks.       have just been pushed.  So pushing a state here evens the stacks.  */
      */  
3145    yyssp++;    yyssp++;
3146    
3147   yysetstate:   yysetstate:
# Line 2506  int yynerrs; Line 3154  int yynerrs;
3154    
3155  #ifdef yyoverflow  #ifdef yyoverflow
3156        {        {
3157          /* Give user a chance to reallocate the stack. Use copies of          /* Give user a chance to reallocate the stack.  Use copies of
3158             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
3159             memory.  */             memory.  */
3160          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
3161          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3162    
3163    
3164          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
3165             data in use in that stack, in bytes.  This used to be a             data in use in that stack, in bytes.  This used to be a
3166             conditional around just the two extra args, but that might             conditional around just the two extra args, but that might
3167             be undefined if yyoverflow is a macro.  */             be undefined if yyoverflow is a macro.  */
3168          yyoverflow ("parser stack overflow",          yyoverflow (YY_("memory exhausted"),
3169                      &yyss1, yysize * sizeof (*yyssp),                      &yyss1, yysize * sizeof (*yyssp),
3170                      &yyvs1, yysize * sizeof (*yyvsp),                      &yyvs1, yysize * sizeof (*yyvsp),
3171    
# Line 2528  int yynerrs; Line 3176  int yynerrs;
3176        }        }
3177  #else /* no yyoverflow */  #else /* no yyoverflow */
3178  # ifndef YYSTACK_RELOCATE  # ifndef YYSTACK_RELOCATE
3179        goto yyoverflowlab;        goto yyexhaustedlab;
3180  # else  # else
3181        /* Extend the stack our own way.  */        /* Extend the stack our own way.  */
3182        if (YYMAXDEPTH <= yystacksize)        if (YYMAXDEPTH <= yystacksize)
3183          goto yyoverflowlab;          goto yyexhaustedlab;
3184        yystacksize *= 2;        yystacksize *= 2;
3185        if (YYMAXDEPTH < yystacksize)        if (YYMAXDEPTH < yystacksize)
3186          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
3187    
3188        {        {
3189          short int *yyss1 = yyss;          yytype_int16 *yyss1 = yyss;
3190          union yyalloc *yyptr =          union yyalloc *yyptr =
3191            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3192          if (! yyptr)          if (! yyptr)
3193            goto yyoverflowlab;            goto yyexhaustedlab;
3194          YYSTACK_RELOCATE (yyss);          YYSTACK_RELOCATE (yyss);
3195          YYSTACK_RELOCATE (yyvs);          YYSTACK_RELOCATE (yyvs);
3196    
# Line 2573  int yynerrs; Line 3221  int yynerrs;
3221  `-----------*/  `-----------*/
3222  yybackup:  yybackup:
3223    
3224  /* Do appropriate processing given the current state.  */    /* Do appropriate processing given the current state.  Read a
3225  /* Read a 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.  */  
3226    
3227      /* First try to decide what to do without reference to look-ahead token.  */
3228    yyn = yypact[yystate];    yyn = yypact[yystate];
3229    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
3230      goto yydefault;      goto yydefault;
3231    
3232    /* 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.  */
3233    
3234    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
3235    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
3236      {      {
3237        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 2600  yybackup: Line 3246  yybackup:
3246    else    else
3247      {      {
3248        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
3249        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3250      }      }
3251    
3252    /* 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 3266  yybackup:
3266    if (yyn == YYFINAL)    if (yyn == YYFINAL)
3267      YYACCEPT;      YYACCEPT;
3268    
   /* 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;  
   
   
3269    /* Count tokens shifted since error; after three, turn off error    /* Count tokens shifted since error; after three, turn off error
3270       status.  */       status.  */
3271    if (yyerrstatus)    if (yyerrstatus)
3272      yyerrstatus--;      yyerrstatus--;
3273    
3274      /* Shift the look-ahead token.  */
3275      YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3276    
3277      /* Discard the shifted token unless it is eof.  */
3278      if (yychar != YYEOF)
3279        yychar = YYEMPTY;
3280    
3281    yystate = yyn;    yystate = yyn;
3282      *++yyvsp = yylval;
3283    
3284    goto yynewstate;    goto yynewstate;
3285    
3286    
# Line 2671  yyreduce: Line 3316  yyreduce:
3316    switch (yyn)    switch (yyn)
3317      {      {
3318          case 4:          case 4:
3319  #line 86 "lscp.y"  #line 101 "lscp.y"
3320      { return LSCP_DONE; }      { return LSCP_DONE; }
3321      break;      break;
3322    
3323    case 5:    case 5:
3324  #line 87 "lscp.y"  #line 102 "lscp.y"
3325      { return LSCP_DONE; }      { return LSCP_DONE; }
3326      break;      break;
3327    
3328    case 6:    case 6:
3329  #line 88 "lscp.y"  #line 103 "lscp.y"
3330      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3331      break;      break;
3332    
3333    case 7:    case 7:
3334  #line 89 "lscp.y"  #line 104 "lscp.y"
3335      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3336      break;      break;
3337    
3338    case 13:    case 13:
3339  #line 99 "lscp.y"  #line 114 "lscp.y"
3340      { yyval.String = LSCPSERVER->AddChannel();                          }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3341      break;      break;
3342    
3343    case 14:    case 14:
3344  #line 100 "lscp.y"  #line 115 "lscp.y"
3345      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3346      break;      break;
3347    
3348    case 15:    case 15:
3349  #line 101 "lscp.y"  #line 116 "lscp.y"
3350      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3351      break;      break;
3352    
3353    case 16:    case 16:
3354  #line 102 "lscp.y"  #line 117 "lscp.y"
3355      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3356      break;      break;
3357    
3358    case 17:    case 17:
3359  #line 103 "lscp.y"  #line 118 "lscp.y"
3360      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3361      break;      break;
3362    
3363    case 18:    case 18:
3364  #line 104 "lscp.y"  #line 119 "lscp.y"
3365      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3366      break;      break;
3367    
3368    case 19:    case 19:
3369  #line 105 "lscp.y"  #line 120 "lscp.y"
3370      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3371      break;      break;
3372    
3373    case 20:    case 20:
3374  #line 106 "lscp.y"  #line 121 "lscp.y"
3375      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3376      break;      break;
3377    
3378    case 21:    case 21:
3379  #line 107 "lscp.y"  #line 122 "lscp.y"
3380      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3381      break;      break;
3382    
3383    case 22:    case 22:
3384  #line 108 "lscp.y"  #line 123 "lscp.y"
3385      { yyval.String = yyvsp[0].String;                                                }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3386      break;      break;
3387    
3388    case 23:    case 23:
3389  #line 109 "lscp.y"  #line 124 "lscp.y"
3390      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3391      break;      break;
3392    
3393    case 24:    case 24:
3394  #line 110 "lscp.y"  #line 125 "lscp.y"
3395      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3396      break;      break;
3397    
3398    case 25:    case 25:
3399  #line 111 "lscp.y"  #line 126 "lscp.y"
3400      { yyval.String = LSCPSERVER->ResetSampler();                        }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String));                     }
3401      break;      break;
3402    
3403    case 26:    case 26:
3404  #line 112 "lscp.y"  #line 127 "lscp.y"
3405      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3406      break;      break;
3407    
3408    case 27:    case 27:
3409  #line 115 "lscp.y"  #line 128 "lscp.y"
3410      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3411      break;      break;
3412    
3413    case 28:    case 28:
3414  #line 116 "lscp.y"  #line 129 "lscp.y"
3415      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
3416      break;      break;
3417    
3418    case 29:    case 29:
3419  #line 117 "lscp.y"  #line 130 "lscp.y"
3420      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);  }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3421      break;      break;
3422    
3423    case 30:    case 30:
3424  #line 118 "lscp.y"  #line 133 "lscp.y"
3425      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3426      break;      break;
3427    
3428    case 31:    case 31:
3429  #line 119 "lscp.y"  #line 134 "lscp.y"
3430      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3431      break;      break;
3432    
3433    case 32:    case 32:
3434  #line 120 "lscp.y"  #line 135 "lscp.y"
3435      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3436      break;      break;
3437    
3438    case 33:    case 33:
3439  #line 123 "lscp.y"  #line 138 "lscp.y"
3440      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_count);   }
3441      break;      break;
3442    
3443    case 34:    case 34:
3444  #line 124 "lscp.y"  #line 139 "lscp.y"
3445      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_audio_device_info);    }
3446      break;      break;
3447    
3448    case 35:    case 35:
3449  #line 125 "lscp.y"  #line 140 "lscp.y"
3450      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_count);    }
3451      break;      break;
3452    
3453    case 36:    case 36:
3454  #line 126 "lscp.y"  #line 141 "lscp.y"
3455      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_device_info);     }
3456      break;      break;
3457    
3458    case 37:    case 37:
3459  #line 127 "lscp.y"  #line 142 "lscp.y"
3460      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);        }
3461      break;      break;
3462    
3463    case 38:    case 38:
3464  #line 128 "lscp.y"  #line 143 "lscp.y"
3465      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);          }
3466      break;      break;
3467    
3468    case 39:    case 39:
3469  #line 131 "lscp.y"  #line 144 "lscp.y"
3470      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);         }
3471      break;      break;
3472    
3473    case 40:    case 40:
3474  #line 132 "lscp.y"  #line 145 "lscp.y"
3475      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);          }
3476      break;      break;
3477    
3478    case 41:    case 41:
3479  #line 133 "lscp.y"  #line 146 "lscp.y"
3480      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);         }
3481      break;      break;
3482    
3483    case 42:    case 42:
3484  #line 134 "lscp.y"  #line 147 "lscp.y"
3485      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_count);        }
3486      break;      break;
3487    
3488    case 43:    case 43:
3489  #line 135 "lscp.y"  #line 148 "lscp.y"
3490      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_fx_send_info);         }
3491      break;      break;
3492    
3493    case 44:    case 44:
3494  #line 136 "lscp.y"  #line 149 "lscp.y"
3495      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3496      break;      break;
3497    
3498    case 45:    case 45:
3499  #line 137 "lscp.y"  #line 150 "lscp.y"
3500      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3501      break;      break;
3502    
3503    case 46:    case 46:
3504  #line 138 "lscp.y"  #line 151 "lscp.y"
3505      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3506      break;      break;
3507    
3508    case 47:    case 47:
3509  #line 139 "lscp.y"  #line 152 "lscp.y"
3510      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3511      break;      break;
3512    
3513    case 48:    case 48:
3514  #line 140 "lscp.y"  #line 153 "lscp.y"
3515      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);                 }
3516      break;      break;
3517    
3518    case 49:    case 49:
3519  #line 141 "lscp.y"  #line 154 "lscp.y"
3520      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count);    }
3521      break;      break;
3522    
3523    case 50:    case 50:
3524  #line 142 "lscp.y"  #line 155 "lscp.y"
3525      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_global_info);          }
3526      break;      break;
3527    
3528    case 51:    case 51:
3529  #line 143 "lscp.y"  #line 158 "lscp.y"
3530      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_count);   }
3531      break;      break;
3532    
3533    case 52:    case 52:
3534  #line 144 "lscp.y"  #line 159 "lscp.y"
3535      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_audio_device_info);    }
3536      break;      break;
3537    
3538    case 53:    case 53:
3539  #line 145 "lscp.y"  #line 160 "lscp.y"
3540      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_count);    }
3541      break;      break;
3542    
3543    case 54:    case 54:
3544  #line 146 "lscp.y"  #line 161 "lscp.y"
3545      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_device_info);     }
3546      break;      break;
3547    
3548    case 55:    case 55:
3549  #line 147 "lscp.y"  #line 162 "lscp.y"
3550      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);        }
3551      break;      break;
3552    
3553    case 56:    case 56:
3554  #line 148 "lscp.y"  #line 163 "lscp.y"
3555      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);          }
3556      break;      break;
3557    
3558    case 57:    case 57:
3559  #line 149 "lscp.y"  #line 164 "lscp.y"
3560      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);         }
3561      break;      break;
3562    
3563    case 58:    case 58:
3564  #line 150 "lscp.y"  #line 165 "lscp.y"
3565      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);          }
3566      break;      break;
3567    
3568    case 59:    case 59:
3569  #line 151 "lscp.y"  #line 166 "lscp.y"
3570      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);         }
3571      break;      break;
3572    
3573    case 60:    case 60:
3574  #line 152 "lscp.y"  #line 167 "lscp.y"
3575      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_count);        }
3576      break;      break;
3577    
3578    case 61:    case 61:
3579  #line 153 "lscp.y"  #line 168 "lscp.y"
3580      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_fx_send_info);         }
3581      break;      break;
3582    
3583    case 62:    case 62:
3584  #line 154 "lscp.y"  #line 169 "lscp.y"
3585      { yyval.String = LSCPSERVER->GetServerInfo();                                }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_count); }
3586      break;      break;
3587    
3588    case 63:    case 63:
3589  #line 157 "lscp.y"  #line 170 "lscp.y"
3590      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_map_info);  }
3591      break;      break;
3592    
3593    case 64:    case 64:
3594  #line 158 "lscp.y"  #line 171 "lscp.y"
3595      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_count);     }
3596      break;      break;
3597    
3598    case 65:    case 65:
3599  #line 159 "lscp.y"  #line 172 "lscp.y"
3600      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_midi_instr_info);      }
3601      break;      break;
3602    
3603    case 66:    case 66:
3604  #line 160 "lscp.y"  #line 173 "lscp.y"
3605      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);                 }
3606      break;      break;
3607    
3608    case 67:    case 67:
3609  #line 161 "lscp.y"  #line 174 "lscp.y"
3610      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count);    }
3611      break;      break;
3612    
3613    case 68:    case 68:
3614  #line 162 "lscp.y"  #line 175 "lscp.y"
3615      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_global_info);          }
3616      break;      break;
3617    
3618    case 69:    case 69:
3619  #line 165 "lscp.y"  #line 178 "lscp.y"
3620      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (16)].Number),(yyvsp[(6) - (16)].Number),(yyvsp[(8) - (16)].Number),(yyvsp[(10) - (16)].String),(yyvsp[(12) - (16)].String),(yyvsp[(14) - (16)].Number),(yyvsp[(16) - (16)].Dotnum),MidiInstrumentMapper::VOID,"",(yyvsp[(3) - (16)].Bool)); }
3621      break;      break;
3622    
3623    case 70:    case 70:
3624  #line 166 "lscp.y"  #line 179 "lscp.y"
3625      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),(yyvsp[(18) - (18)].LoadMode),"",(yyvsp[(3) - (18)].Bool)); }
3626      break;      break;
3627    
3628    case 71:    case 71:
3629  #line 167 "lscp.y"  #line 180 "lscp.y"
3630      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (18)].Number),(yyvsp[(6) - (18)].Number),(yyvsp[(8) - (18)].Number),(yyvsp[(10) - (18)].String),(yyvsp[(12) - (18)].String),(yyvsp[(14) - (18)].Number),(yyvsp[(16) - (18)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(18) - (18)].String),(yyvsp[(3) - (18)].Bool)); }
3631      break;      break;
3632    
3633    case 72:    case 72:
3634  #line 168 "lscp.y"  #line 181 "lscp.y"
3635      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(4) - (20)].Number),(yyvsp[(6) - (20)].Number),(yyvsp[(8) - (20)].Number),(yyvsp[(10) - (20)].String),(yyvsp[(12) - (20)].String),(yyvsp[(14) - (20)].Number),(yyvsp[(16) - (20)].Dotnum),(yyvsp[(18) - (20)].LoadMode),(yyvsp[(20) - (20)].String),(yyvsp[(3) - (20)].Bool)); }
3636      break;      break;
3637    
3638    case 73:    case 73:
3639  #line 171 "lscp.y"  #line 184 "lscp.y"
3640      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3641      break;      break;
3642    
3643    case 74:    case 74:
3644  #line 172 "lscp.y"  #line 187 "lscp.y"
3645      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3646      break;      break;
3647    
3648    case 75:    case 75:
3649  #line 175 "lscp.y"  #line 188 "lscp.y"
3650      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3651      break;      break;
3652    
3653    case 76:    case 76:
3654  #line 176 "lscp.y"  #line 189 "lscp.y"
3655      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3656      break;      break;
3657    
3658    case 77:    case 77:
3659  #line 179 "lscp.y"  #line 192 "lscp.y"
3660      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3661      break;      break;
3662    
3663    case 78:    case 78:
3664  #line 180 "lscp.y"  #line 193 "lscp.y"
3665      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3666      break;      break;
3667    
3668    case 79:    case 79:
3669  #line 181 "lscp.y"  #line 194 "lscp.y"
3670      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3671      break;      break;
3672    
3673    case 80:    case 80:
3674  #line 182 "lscp.y"  #line 195 "lscp.y"
3675      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3676      break;      break;
3677    
3678    case 81:    case 81:
3679  #line 183 "lscp.y"  #line 196 "lscp.y"
3680      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3681      break;      break;
3682    
3683    case 82:    case 82:
3684  #line 184 "lscp.y"  #line 197 "lscp.y"
3685      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3686      break;      break;
3687    
3688    case 83:    case 83:
3689  #line 185 "lscp.y"  #line 198 "lscp.y"
3690      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3691      break;      break;
3692    
3693    case 84:    case 84:
3694  #line 186 "lscp.y"  #line 199 "lscp.y"
3695      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3696      break;      break;
3697    
3698    case 85:    case 85:
3699  #line 187 "lscp.y"  #line 200 "lscp.y"
3700      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3701      break;      break;
3702    
3703    case 86:    case 86:
3704  #line 190 "lscp.y"  #line 201 "lscp.y"
3705      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3706      break;      break;
3707    
3708    case 87:    case 87:
3709  #line 191 "lscp.y"  #line 202 "lscp.y"
3710      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3711      break;      break;
3712    
3713    case 88:    case 88:
3714  #line 194 "lscp.y"  #line 203 "lscp.y"
3715      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3716      break;      break;
3717    
3718    case 89:    case 89:
3719  #line 195 "lscp.y"  #line 204 "lscp.y"
3720      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3721      break;      break;
3722    
3723    case 90:    case 90:
3724  #line 198 "lscp.y"  #line 205 "lscp.y"
3725      { yyval.String = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3726      break;      break;
3727    
3728    case 91:    case 91:
3729  #line 199 "lscp.y"  #line 206 "lscp.y"
3730      { yyval.String = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3731      break;      break;
3732    
3733    case 92:    case 92:
3734  #line 200 "lscp.y"  #line 207 "lscp.y"
3735      { yyval.String = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3736      break;      break;
3737    
3738    case 93:    case 93:
3739  #line 201 "lscp.y"  #line 208 "lscp.y"
3740      { yyval.String = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3741      break;      break;
3742    
3743    case 94:    case 94:
3744  #line 202 "lscp.y"  #line 209 "lscp.y"
3745      { yyval.String = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3746      break;      break;
3747    
3748    case 95:    case 95:
3749  #line 203 "lscp.y"  #line 210 "lscp.y"
3750      { yyval.String = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3751      break;      break;
3752    
3753    case 96:    case 96:
3754  #line 206 "lscp.y"  #line 211 "lscp.y"
3755      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3756      break;      break;
3757    
3758    case 97:    case 97:
3759  #line 207 "lscp.y"  #line 212 "lscp.y"
3760      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3761      break;      break;
3762    
3763    case 98:    case 98:
3764  #line 210 "lscp.y"  #line 213 "lscp.y"
3765      { yyval.String = LSCPSERVER->SetEngineType(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3766        break;
3767    
3768      case 99:
3769    #line 214 "lscp.y"
3770        { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3771        break;
3772    
3773      case 100:
3774    #line 215 "lscp.y"
3775        { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3776        break;
3777    
3778      case 101:
3779    #line 216 "lscp.y"
3780        { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3781        break;
3782    
3783      case 102:
3784    #line 217 "lscp.y"
3785        { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3786        break;
3787    
3788      case 103:
3789    #line 218 "lscp.y"
3790        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3791      break;      break;
3792    
3793    case 104:    case 104:
3794  #line 226 "lscp.y"  #line 219 "lscp.y"
3795      { yyval.Number = 16; }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3796        break;
3797    
3798      case 105:
3799    #line 220 "lscp.y"
3800        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3801        break;
3802    
3803      case 106:
3804    #line 221 "lscp.y"
3805        { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3806      break;      break;
3807    
3808    case 107:    case 107:
3809  #line 233 "lscp.y"  #line 222 "lscp.y"
3810      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3811        break;
3812    
3813      case 108:
3814    #line 223 "lscp.y"
3815        { (yyval.String) = LSCPSERVER->GetFxSends((yyvsp[(3) - (3)].Number));                                 }
3816        break;
3817    
3818      case 109:
3819    #line 224 "lscp.y"
3820        { (yyval.String) = LSCPSERVER->GetFxSendInfo((yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number));                           }
3821        break;
3822    
3823      case 110:
3824    #line 225 "lscp.y"
3825        { (yyval.String) = LSCPSERVER->GetGlobalVolume();                              }
3826        break;
3827    
3828      case 111:
3829    #line 228 "lscp.y"
3830        { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3831        break;
3832    
3833      case 112:
3834    #line 229 "lscp.y"
3835        { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3836      break;      break;
3837    
3838    case 113:    case 113:
3839  #line 249 "lscp.y"  #line 230 "lscp.y"
3840      { yyval.String = yyvsp[-2].String + "," + yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3841        break;
3842    
3843      case 114:
3844    #line 231 "lscp.y"
3845        { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3846      break;      break;
3847    
3848    case 115:    case 115:
3849  #line 253 "lscp.y"  #line 232 "lscp.y"
3850      { yyval.String = "\'" + yyvsp[-1].String + "\'"; }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3851      break;      break;
3852    
3853    case 116:    case 116:
3854  #line 254 "lscp.y"  #line 233 "lscp.y"
3855      { yyval.String = "\"" + yyvsp[-1].String + "\""; }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3856      break;      break;
3857    
3858    case 117:    case 117:
3859  #line 255 "lscp.y"  #line 234 "lscp.y"
3860      { std::stringstream ss; ss << "\'" << yyvsp[0].Number << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->SetFxSendAudioOutputChannel((yyvsp[(5) - (11)].Number),(yyvsp[(7) - (11)].Number),(yyvsp[(9) - (11)].Number),(yyvsp[(11) - (11)].Number)); }
3861      break;      break;
3862    
3863    case 118:    case 118:
3864  #line 256 "lscp.y"  #line 235 "lscp.y"
3865      { std::stringstream ss; ss << "\'" << yyvsp[0].Dotnum << "\'"; yyval.String = ss.str(); }      { (yyval.String) = LSCPSERVER->SetFxSendMidiController((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));              }
3866      break;      break;
3867    
3868    case 119:    case 119:
3869  #line 262 "lscp.y"  #line 236 "lscp.y"
3870      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->SetFxSendLevel((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Dotnum));                       }
3871      break;      break;
3872    
3873    case 120:    case 120:
3874  #line 263 "lscp.y"  #line 237 "lscp.y"
3875      { yyval.Dotnum = -1; }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3876      break;      break;
3877    
3878    case 121:    case 121:
3879  #line 266 "lscp.y"  #line 238 "lscp.y"
3880      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = LSCPSERVER->SetGlobalVolume((yyvsp[(3) - (3)].Dotnum));                            }
3881      break;      break;
3882    
3883    case 122:    case 122:
3884  #line 267 "lscp.y"  #line 241 "lscp.y"
3885      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3886      break;      break;
3887    
3888    case 123:    case 123:
3889  #line 270 "lscp.y"  #line 242 "lscp.y"
3890      { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3891      break;      break;
3892    
3893    case 124:    case 124:
3894  #line 271 "lscp.y"  #line 243 "lscp.y"
3895      { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3896      break;      break;
3897    
3898    case 125:    case 125:
3899  #line 272 "lscp.y"  #line 244 "lscp.y"
3900      { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3901      break;      break;
3902    
3903    case 126:    case 126:
3904  #line 276 "lscp.y"  #line 245 "lscp.y"
3905      { yyval.String = yyvsp[0].Char;      }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number));            }
3906      break;      break;
3907    
3908    case 127:    case 127:
3909  #line 277 "lscp.y"  #line 246 "lscp.y"
3910      { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }      { (yyval.String) = LSCPSERVER->CreateFxSend((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].String)); }
3911      break;      break;
3912    
3913    case 128:    case 128:
3914  #line 280 "lscp.y"  #line 249 "lscp.y"
3915      { yyval.Char = '0'; }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3916      break;      break;
3917    
3918    case 129:    case 129:
3919  #line 281 "lscp.y"  #line 252 "lscp.y"
3920      { yyval.Char = '1'; }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3921      break;      break;
3922    
3923    case 130:    case 130:
3924  #line 282 "lscp.y"  #line 253 "lscp.y"
3925      { yyval.Char = '2'; }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3926      break;      break;
3927    
3928    case 131:    case 131:
3929  #line 283 "lscp.y"  #line 256 "lscp.y"
3930      { yyval.Char = '3'; }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3931      break;      break;
3932    
3933    case 132:    case 132:
3934  #line 284 "lscp.y"  #line 257 "lscp.y"
3935      { yyval.Char = '4'; }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3936      break;      break;
3937    
3938    case 133:    case 133:
3939  #line 285 "lscp.y"  #line 258 "lscp.y"
3940      { yyval.Char = '5'; }      { (yyval.String) = LSCPSERVER->DestroyFxSend((yyvsp[(3) - (5)].Number),(yyvsp[(5) - (5)].Number)); }
3941      break;      break;
3942    
3943    case 134:    case 134:
3944  #line 286 "lscp.y"  #line 261 "lscp.y"
3945      { yyval.Char = '6'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3946      break;      break;
3947    
3948    case 135:    case 135:
3949  #line 287 "lscp.y"  #line 262 "lscp.y"
3950      { yyval.Char = '7'; }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3951      break;      break;
3952    
3953    case 136:    case 136:
3954  #line 288 "lscp.y"  #line 265 "lscp.y"
3955      { yyval.Char = '8'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3956      break;      break;
3957    
3958    case 137:    case 137:
3959  #line 289 "lscp.y"  #line 266 "lscp.y"
3960      { yyval.Char = '9'; }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3961      break;      break;
3962    
3963    case 138:    case 138:
3964  #line 292 "lscp.y"  #line 267 "lscp.y"
3965      { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3966      break;      break;
3967    
3968    case 139:    case 139:
3969  #line 293 "lscp.y"  #line 268 "lscp.y"
3970      { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3971      break;      break;
3972    
3973    case 140:    case 140:
3974  #line 294 "lscp.y"  #line 269 "lscp.y"
3975      { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3976      break;      break;
3977    
3978    case 141:    case 141:
3979  #line 295 "lscp.y"  #line 270 "lscp.y"
3980      { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3981      break;      break;
3982    
3983    case 142:    case 142:
3984  #line 296 "lscp.y"  #line 271 "lscp.y"
3985      { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3986      break;      break;
3987    
3988    case 143:    case 143:
3989  #line 297 "lscp.y"  #line 272 "lscp.y"
3990      { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3991      break;      break;
3992    
3993    case 144:    case 144:
3994  #line 298 "lscp.y"  #line 273 "lscp.y"
3995      { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3996      break;      break;
3997    
3998    case 145:    case 145:
3999  #line 299 "lscp.y"  #line 274 "lscp.y"
4000      { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4001      break;      break;
4002    
4003    case 146:    case 146:
4004  #line 300 "lscp.y"  #line 275 "lscp.y"
4005      { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
4006      break;      break;
4007    
4008    case 147:    case 147:
4009  #line 301 "lscp.y"  #line 276 "lscp.y"
4010      { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
4011      break;      break;
4012    
4013    case 148:    case 148:
4014  #line 303 "lscp.y"  #line 277 "lscp.y"
4015      { yyval.Char = 'A'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
4016      break;      break;
4017    
4018    case 149:    case 149:
4019  #line 303 "lscp.y"  #line 278 "lscp.y"
4020      { yyval.Char = 'B'; }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
4021      break;      break;
4022    
4023    case 150:    case 150:
4024  #line 303 "lscp.y"  #line 281 "lscp.y"
4025      { yyval.Char = 'C'; }      { (yyval.Bool) = true;  }
4026      break;      break;
4027    
4028    case 151:    case 151:
4029  #line 303 "lscp.y"  #line 282 "lscp.y"
4030      { yyval.Char = 'D'; }      { (yyval.Bool) = false; }
4031      break;      break;
4032    
4033    case 152:    case 152:
4034  #line 303 "lscp.y"  #line 285 "lscp.y"
4035      { yyval.Char = 'E'; }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
4036      break;      break;
4037    
4038    case 153:    case 153:
4039  #line 303 "lscp.y"  #line 286 "lscp.y"
4040      { yyval.Char = 'F'; }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
4041      break;      break;
4042    
4043    case 154:    case 154:
4044  #line 303 "lscp.y"  #line 289 "lscp.y"
4045      { yyval.Char = 'G'; }      { (yyval.FillResponse) = fill_response_bytes;      }
4046      break;      break;
4047    
4048    case 155:    case 155:
4049  #line 303 "lscp.y"  #line 290 "lscp.y"
4050      { yyval.Char = 'H'; }      { (yyval.FillResponse) = fill_response_percentage; }
4051      break;      break;
4052    
4053    case 156:    case 156:
4054  #line 303 "lscp.y"  #line 293 "lscp.y"
4055      { yyval.Char = 'I'; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
4056      break;      break;
4057    
4058    case 157:    case 157:
4059  #line 303 "lscp.y"  #line 294 "lscp.y"
4060      { yyval.Char = 'J'; }      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
4061      break;      break;
4062    
4063    case 158:    case 158:
4064  #line 303 "lscp.y"  #line 295 "lscp.y"
4065      { yyval.Char = 'K'; }      { (yyval.String) = LSCPSERVER->ListChannels();                    }
4066      break;      break;
4067    
4068    case 159:    case 159:
4069  #line 303 "lscp.y"  #line 296 "lscp.y"
4070      { yyval.Char = 'L'; }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
4071      break;      break;
4072    
4073    case 160:    case 160:
4074  #line 303 "lscp.y"  #line 297 "lscp.y"
4075      { yyval.Char = 'M'; }      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
4076      break;      break;
4077    
4078    case 161:    case 161:
4079  #line 303 "lscp.y"  #line 298 "lscp.y"
4080      { yyval.Char = 'N'; }      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
4081      break;      break;
4082    
4083    case 162:    case 162:
4084  #line 303 "lscp.y"  #line 299 "lscp.y"
4085      { yyval.Char = 'O'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
4086      break;      break;
4087    
4088    case 163:    case 163:
4089  #line 303 "lscp.y"  #line 300 "lscp.y"
4090      { yyval.Char = 'P'; }      { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
4091      break;      break;
4092    
4093    case 164:    case 164:
4094  #line 303 "lscp.y"  #line 301 "lscp.y"
4095      { yyval.Char = 'Q'; }      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
4096      break;      break;
4097    
4098    case 165:    case 165:
4099  #line 303 "lscp.y"  #line 302 "lscp.y"
4100      { yyval.Char = 'R'; }      { (yyval.String) = LSCPSERVER->ListFxSends((yyvsp[(3) - (3)].Number));                   }
4101      break;      break;
4102    
4103    case 166:    case 166:
4104  #line 303 "lscp.y"  #line 305 "lscp.y"
4105      { yyval.Char = 'S'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
4106      break;      break;
4107    
4108    case 167:    case 167:
4109  #line 303 "lscp.y"  #line 306 "lscp.y"
4110      { yyval.Char = 'T'; }      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
4111      break;      break;
4112    
4113    case 168:    case 168:
4114  #line 303 "lscp.y"  #line 309 "lscp.y"
4115      { yyval.Char = 'U'; }      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
4116      break;      break;
4117    
4118    case 169:    case 169:
4119  #line 303 "lscp.y"  #line 312 "lscp.y"
4120      { yyval.Char = 'V'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
4121      break;      break;
4122    
4123    case 170:    case 170:
4124  #line 303 "lscp.y"  #line 313 "lscp.y"
4125      { yyval.Char = 'W'; }      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
4126      break;      break;
4127    
4128    case 171:    case 171:
4129  #line 303 "lscp.y"  #line 314 "lscp.y"
4130      { yyval.Char = 'X'; }      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
     break;  
   
   case 172:  
 #line 303 "lscp.y"  
     { yyval.Char = 'Y'; }  
     break;  
   
   case 173:  
 #line 303 "lscp.y"  
     { yyval.Char = 'Z'; }  
     break;  
   
   case 174:  
 #line 304 "lscp.y"  
     { yyval.Char = 'a'; }  
     break;  
   
   case 175:  
 #line 304 "lscp.y"  
     { yyval.Char = 'b'; }  
     break;  
   
   case 176:  
 #line 304 "lscp.y"  
     { yyval.Char = 'c'; }  
4131      break;      break;
4132    
4133    case 177:    case 177:
4134  #line 304 "lscp.y"  #line 330 "lscp.y"
4135      { yyval.Char = 'd'; }      { (yyval.Number) = 16; }
     break;  
   
   case 178:  
 #line 304 "lscp.y"  
     { yyval.Char = 'e'; }  
     break;  
   
   case 179:  
 #line 304 "lscp.y"  
     { yyval.Char = 'f'; }  
     break;  
   
   case 180:  
 #line 304 "lscp.y"  
     { yyval.Char = 'g'; }  
     break;  
   
   case 181:  
 #line 304 "lscp.y"  
     { yyval.Char = 'h'; }  
     break;  
   
   case 182:  
 #line 304 "lscp.y"  
     { yyval.Char = 'i'; }  
     break;  
   
   case 183:  
 #line 304 "lscp.y"  
     { yyval.Char = 'j'; }  
4136      break;      break;
4137    
4138    case 184:    case 184:
4139  #line 304 "lscp.y"  #line 349 "lscp.y"
4140      { yyval.Char = 'k'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
     break;  
   
   case 185:  
 #line 304 "lscp.y"  
     { yyval.Char = 'l'; }  
     break;  
   
   case 186:  
 #line 304 "lscp.y"  
     { yyval.Char = 'm'; }  
     break;  
   
   case 187:  
 #line 304 "lscp.y"  
     { yyval.Char = 'n'; }  
     break;  
   
   case 188:  
 #line 304 "lscp.y"  
     { yyval.Char = 'o'; }  
     break;  
   
   case 189:  
 #line 304 "lscp.y"  
     { yyval.Char = 'p'; }  
     break;  
   
   case 190:  
 #line 304 "lscp.y"  
     { yyval.Char = 'q'; }  
     break;  
   
   case 191:  
 #line 304 "lscp.y"  
     { yyval.Char = 'r'; }  
     break;  
   
   case 192:  
 #line 304 "lscp.y"  
     { yyval.Char = 's'; }  
     break;  
   
   case 193:  
 #line 304 "lscp.y"  
     { yyval.Char = 't'; }  
4141      break;      break;
4142    
4143    case 194:    case 194:
4144  #line 304 "lscp.y"  #line 377 "lscp.y"
4145      { yyval.Char = 'u'; }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
     break;  
   
   case 195:  
 #line 304 "lscp.y"  
     { yyval.Char = 'v'; }  
     break;  
   
   case 196:  
 #line 304 "lscp.y"  
     { yyval.Char = 'w'; }  
4146      break;      break;
4147    
4148    case 197:    case 197:
4149  #line 304 "lscp.y"  #line 382 "lscp.y"
4150      { yyval.Char = 'x'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
4151      break;      break;
4152    
4153    case 198:    case 198:
4154  #line 304 "lscp.y"  #line 383 "lscp.y"
4155      { yyval.Char = 'y'; }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
4156      break;      break;
4157    
4158    case 199:    case 199:
4159  #line 304 "lscp.y"  #line 391 "lscp.y"
4160      { yyval.Char = 'z'; }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
4161      break;      break;
4162    
4163    case 200:    case 200:
4164  #line 305 "lscp.y"  #line 392 "lscp.y"
4165      { yyval.Char = '0'; }      { (yyval.Dotnum) = -1; }
4166      break;      break;
4167    
4168    case 201:    case 201:
4169  #line 305 "lscp.y"  #line 395 "lscp.y"
4170      { yyval.Char = '1'; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
4171      break;      break;
4172    
4173    case 202:    case 202:
4174  #line 305 "lscp.y"  #line 396 "lscp.y"
4175      { yyval.Char = '2'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
4176      break;      break;
4177    
4178    case 203:    case 203:
4179  #line 305 "lscp.y"  #line 399 "lscp.y"
4180      { yyval.Char = '3'; }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
4181      break;      break;
4182    
4183    case 204:    case 204:
4184  #line 305 "lscp.y"  #line 400 "lscp.y"
4185      { yyval.Char = '4'; }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
4186      break;      break;
4187    
4188    case 205:    case 205:
4189  #line 305 "lscp.y"  #line 401 "lscp.y"
4190      { yyval.Char = '5'; }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
4191      break;      break;
4192    
4193    case 206:    case 206:
4194  #line 305 "lscp.y"  #line 405 "lscp.y"
4195      { yyval.Char = '6'; }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
4196      break;      break;
4197    
4198    case 207:    case 207:
4199  #line 305 "lscp.y"  #line 406 "lscp.y"
4200      { yyval.Char = '7'; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
4201      break;      break;
4202    
4203    case 208:    case 208:
4204  #line 305 "lscp.y"  #line 409 "lscp.y"
4205      { yyval.Char = '8'; }      { (yyval.Char) = '0'; }
4206      break;      break;
4207    
4208    case 209:    case 209:
4209  #line 305 "lscp.y"  #line 410 "lscp.y"
4210      { yyval.Char = '9'; }      { (yyval.Char) = '1'; }
4211      break;      break;
4212    
4213    case 210:    case 210:
4214  #line 306 "lscp.y"  #line 411 "lscp.y"
4215      { yyval.Char = '!'; }      { (yyval.Char) = '2'; }
4216      break;      break;
4217    
4218    case 211:    case 211:
4219  #line 306 "lscp.y"  #line 412 "lscp.y"
4220      { yyval.Char = '#'; }      { (yyval.Char) = '3'; }
4221      break;      break;
4222    
4223    case 212:    case 212:
4224  #line 306 "lscp.y"  #line 413 "lscp.y"
4225      { yyval.Char = '$'; }      { (yyval.Char) = '4'; }
4226      break;      break;
4227    
4228    case 213:    case 213:
4229  #line 306 "lscp.y"  #line 414 "lscp.y"
4230      { yyval.Char = '%'; }      { (yyval.Char) = '5'; }
4231      break;      break;
4232    
4233    case 214:    case 214:
4234  #line 306 "lscp.y"  #line 415 "lscp.y"
4235      { yyval.Char = '&'; }      { (yyval.Char) = '6'; }
4236      break;      break;
4237    
4238    case 215:    case 215:
4239  #line 306 "lscp.y"  #line 416 "lscp.y"
4240      { yyval.Char = '('; }      { (yyval.Char) = '7'; }
4241      break;      break;
4242    
4243    case 216:    case 216:
4244  #line 306 "lscp.y"  #line 417 "lscp.y"
4245      { yyval.Char = ')'; }      { (yyval.Char) = '8'; }
4246      break;      break;
4247    
4248    case 217:    case 217:
4249  #line 306 "lscp.y"  #line 418 "lscp.y"
4250      { yyval.Char = '*'; }      { (yyval.Char) = '9'; }
4251      break;      break;
4252    
4253    case 218:    case 218:
4254  #line 306 "lscp.y"  #line 421 "lscp.y"
4255      { yyval.Char = '+'; }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
4256      break;      break;
4257    
4258    case 219:    case 219:
4259  #line 306 "lscp.y"  #line 422 "lscp.y"
4260      { yyval.Char = '-'; }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
4261      break;      break;
4262    
4263    case 220:    case 220:
4264  #line 306 "lscp.y"  #line 423 "lscp.y"
4265      { yyval.Char = '.'; }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
4266      break;      break;
4267    
4268    case 221:    case 221:
4269  #line 306 "lscp.y"  #line 424 "lscp.y"
4270      { yyval.Char = ','; }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
4271      break;      break;
4272    
4273    case 222:    case 222:
4274  #line 306 "lscp.y"  #line 425 "lscp.y"
4275      { yyval.Char = '/'; }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
4276      break;      break;
4277    
4278    case 223:    case 223:
4279  #line 307 "lscp.y"  #line 426 "lscp.y"
4280      { yyval.Char = ':'; }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
4281      break;      break;
4282    
4283    case 224:    case 224:
4284  #line 307 "lscp.y"  #line 427 "lscp.y"
4285      { yyval.Char = ';'; }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
4286      break;      break;
4287    
4288    case 225:    case 225:
4289  #line 307 "lscp.y"  #line 428 "lscp.y"
4290      { yyval.Char = '<'; }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
4291      break;      break;
4292    
4293    case 226:    case 226:
4294  #line 307 "lscp.y"  #line 429 "lscp.y"
4295      { yyval.Char = '='; }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
4296      break;      break;
4297    
4298    case 227:    case 227:
4299  #line 307 "lscp.y"  #line 430 "lscp.y"
4300      { yyval.Char = '>'; }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
4301      break;      break;
4302    
4303    case 228:    case 228:
4304  #line 307 "lscp.y"  #line 432 "lscp.y"
4305      { yyval.Char = '?'; }      { (yyval.Char) = 'A'; }
4306      break;      break;
4307    
4308    case 229:    case 229:
4309  #line 307 "lscp.y"  #line 432 "lscp.y"
4310      { yyval.Char = '@'; }      { (yyval.Char) = 'B'; }
4311      break;      break;
4312    
4313    case 230:    case 230:
4314  #line 308 "lscp.y"  #line 432 "lscp.y"
4315      { yyval.Char = '['; }      { (yyval.Char) = 'C'; }
4316      break;      break;
4317    
4318    case 231:    case 231:
4319  #line 308 "lscp.y"  #line 432 "lscp.y"
4320      { yyval.Char = '\\'; }      { (yyval.Char) = 'D'; }
4321      break;      break;
4322    
4323    case 232:    case 232:
4324  #line 308 "lscp.y"  #line 432 "lscp.y"
4325      { yyval.Char = ']'; }      { (yyval.Char) = 'E'; }
4326      break;      break;
4327    
4328    case 233:    case 233:
4329  #line 308 "lscp.y"  #line 432 "lscp.y"
4330      { yyval.Char = '^'; }      { (yyval.Char) = 'F'; }
4331      break;      break;
4332    
4333    case 234:    case 234:
4334  #line 308 "lscp.y"  #line 432 "lscp.y"
4335      { yyval.Char = '_'; }      { (yyval.Char) = 'G'; }
4336      break;      break;
4337    
4338    case 235:    case 235:
4339  #line 309 "lscp.y"  #line 432 "lscp.y"
4340      { yyval.Char = '{'; }      { (yyval.Char) = 'H'; }
4341      break;      break;
4342    
4343    case 236:    case 236:
4344  #line 309 "lscp.y"  #line 432 "lscp.y"
4345      { yyval.Char = '|'; }      { (yyval.Char) = 'I'; }
4346      break;      break;
4347    
4348    case 237:    case 237:
4349  #line 309 "lscp.y"  #line 432 "lscp.y"
4350      { yyval.Char = '}'; }      { (yyval.Char) = 'J'; }
4351      break;      break;
4352    
4353    case 238:    case 238:
4354  #line 309 "lscp.y"  #line 432 "lscp.y"
4355      { yyval.Char = '~'; }      { (yyval.Char) = 'K'; }
4356      break;      break;
4357    
4358    case 239:    case 239:
4359  #line 310 "lscp.y"  #line 432 "lscp.y"
4360      { yyval.Char = '\200'; }      { (yyval.Char) = 'L'; }
4361      break;      break;
4362    
4363    case 240:    case 240:
4364  #line 310 "lscp.y"  #line 432 "lscp.y"
4365      { yyval.Char = '\201'; }      { (yyval.Char) = 'M'; }
4366      break;      break;
4367    
4368    case 241:    case 241:
4369  #line 310 "lscp.y"  #line 432 "lscp.y"
4370      { yyval.Char = '\202'; }      { (yyval.Char) = 'N'; }
4371      break;      break;
4372    
4373    case 242:    case 242:
4374  #line 311 "lscp.y"  #line 432 "lscp.y"
4375      { yyval.Char = '\203'; }      { (yyval.Char) = 'O'; }
4376      break;      break;
4377    
4378    case 243:    case 243:
4379  #line 311 "lscp.y"  #line 432 "lscp.y"
4380      { yyval.Char = '\204'; }      { (yyval.Char) = 'P'; }
4381      break;      break;
4382    
4383    case 244:    case 244:
4384  #line 311 "lscp.y"  #line 432 "lscp.y"
4385      { yyval.Char = '\205'; }      { (yyval.Char) = 'Q'; }
4386      break;      break;
4387    
4388    case 245:    case 245:
4389  #line 312 "lscp.y"  #line 432 "lscp.y"
4390      { yyval.Char = '\206'; }      { (yyval.Char) = 'R'; }
4391      break;      break;
4392    
4393    case 246:    case 246:
4394  #line 312 "lscp.y"  #line 432 "lscp.y"
4395      { yyval.Char = '\207'; }      { (yyval.Char) = 'S'; }
4396      break;      break;
4397    
4398    case 247:    case 247:
4399  #line 312 "lscp.y"  #line 432 "lscp.y"
4400      { yyval.Char = '\210'; }      { (yyval.Char) = 'T'; }
4401      break;      break;
4402    
4403    case 248:    case 248:
4404  #line 313 "lscp.y"  #line 432 "lscp.y"
4405      { yyval.Char = '\211'; }      { (yyval.Char) = 'U'; }
4406      break;      break;
4407    
4408    case 249:    case 249:
4409  #line 313 "lscp.y"  #line 432 "lscp.y"
4410      { yyval.Char = '\212'; }      { (yyval.Char) = 'V'; }
4411      break;      break;
4412    
4413    case 250:    case 250:
4414  #line 313 "lscp.y"  #line 432 "lscp.y"
4415      { yyval.Char = '\213'; }      { (yyval.Char) = 'W'; }
4416      break;      break;
4417    
4418    case 251:    case 251:
4419  #line 314 "lscp.y"  #line 432 "lscp.y"
4420      { yyval.Char = '\214'; }      { (yyval.Char) = 'X'; }
4421      break;      break;
4422    
4423    case 252:    case 252:
4424  #line 314 "lscp.y"  #line 432 "lscp.y"
4425      { yyval.Char = '\215'; }      { (yyval.Char) = 'Y'; }
4426      break;      break;
4427    
4428    case 253:    case 253:
4429  #line 314 "lscp.y"  #line 432 "lscp.y"
4430      { yyval.Char = '\216'; }      { (yyval.Char) = 'Z'; }
4431      break;      break;
4432    
4433    case 254:    case 254:
4434  #line 315 "lscp.y"  #line 433 "lscp.y"
4435      { yyval.Char = '\217'; }      { (yyval.Char) = 'a'; }
4436      break;      break;
4437    
4438    case 255:    case 255:
4439  #line 315 "lscp.y"  #line 433 "lscp.y"
4440      { yyval.Char = '\220'; }      { (yyval.Char) = 'b'; }
4441      break;      break;
4442    
4443    case 256:    case 256:
4444  #line 315 "lscp.y"  #line 433 "lscp.y"
4445      { yyval.Char = '\221'; }      { (yyval.Char) = 'c'; }
4446      break;      break;
4447    
4448    case 257:    case 257:
4449  #line 316 "lscp.y"  #line 433 "lscp.y"
4450      { yyval.Char = '\222'; }      { (yyval.Char) = 'd'; }
4451      break;      break;
4452    
4453    case 258:    case 258:
4454  #line 316 "lscp.y"  #line 433 "lscp.y"
4455      { yyval.Char = '\223'; }      { (yyval.Char) = 'e'; }
4456      break;      break;
4457    
4458    case 259:    case 259:
4459  #line 316 "lscp.y"  #line 433 "lscp.y"
4460      { yyval.Char = '\224'; }      { (yyval.Char) = 'f'; }
4461      break;      break;
4462    
4463    case 260:    case 260:
4464  #line 317 "lscp.y"  #line 433 "lscp.y"
4465      { yyval.Char = '\225'; }      { (yyval.Char) = 'g'; }
4466      break;      break;
4467    
4468    case 261:    case 261:
4469  #line 317 "lscp.y"  #line 433 "lscp.y"
4470      { yyval.Char = '\226'; }      { (yyval.Char) = 'h'; }
4471      break;      break;
4472    
4473    case 262:    case 262:
4474  #line 317 "lscp.y"  #line 433 "lscp.y"
4475      { yyval.Char = '\227'; }      { (yyval.Char) = 'i'; }
4476      break;      break;
4477    
4478    case 263:    case 263:
4479  #line 318 "lscp.y"  #line 433 "lscp.y"
4480      { yyval.Char = '\230'; }      { (yyval.Char) = 'j'; }
4481      break;      break;
4482    
4483    case 264:    case 264:
4484  #line 318 "lscp.y"  #line 433 "lscp.y"
4485      { yyval.Char = '\231'; }      { (yyval.Char) = 'k'; }
4486      break;      break;
4487    
4488    case 265:    case 265:
4489  #line 318 "lscp.y"  #line 433 "lscp.y"
4490      { yyval.Char = '\232'; }      { (yyval.Char) = 'l'; }
4491      break;      break;
4492    
4493    case 266:    case 266:
4494  #line 319 "lscp.y"  #line 433 "lscp.y"
4495      { yyval.Char = '\233'; }      { (yyval.Char) = 'm'; }
4496      break;      break;
4497    
4498    case 267:    case 267:
4499  #line 319 "lscp.y"  #line 433 "lscp.y"
4500      { yyval.Char = '\234'; }      { (yyval.Char) = 'n'; }
4501      break;      break;
4502    
4503    case 268:    case 268:
4504  #line 319 "lscp.y"  #line 433 "lscp.y"
4505      { yyval.Char = '\235'; }      { (yyval.Char) = 'o'; }
4506      break;      break;
4507    
4508    case 269:    case 269:
4509  #line 320 "lscp.y"  #line 433 "lscp.y"
4510      { yyval.Char = '\236'; }      { (yyval.Char) = 'p'; }
4511      break;      break;
4512    
4513    case 270:    case 270:
4514  #line 320 "lscp.y"  #line 433 "lscp.y"
4515      { yyval.Char = '\237'; }      { (yyval.Char) = 'q'; }
4516      break;      break;
4517    
4518    case 271:    case 271:
4519  #line 320 "lscp.y"  #line 433 "lscp.y"
4520      { yyval.Char = '\240'; }      { (yyval.Char) = 'r'; }
4521      break;      break;
4522    
4523    case 272:    case 272:
4524  #line 321 "lscp.y"  #line 433 "lscp.y"
4525      { yyval.Char = '\241'; }      { (yyval.Char) = 's'; }
4526      break;      break;
4527    
4528    case 273:    case 273:
4529  #line 321 "lscp.y"  #line 433 "lscp.y"
4530      { yyval.Char = '\242'; }      { (yyval.Char) = 't'; }
4531      break;      break;
4532    
4533    case 274:    case 274:
4534  #line 321 "lscp.y"  #line 433 "lscp.y"
4535      { yyval.Char = '\243'; }      { (yyval.Char) = 'u'; }
4536      break;      break;
4537    
4538    case 275:    case 275:
4539  #line 322 "lscp.y"  #line 433 "lscp.y"
4540      { yyval.Char = '\244'; }      { (yyval.Char) = 'v'; }
4541      break;      break;
4542    
4543    case 276:    case 276:
4544  #line 322 "lscp.y"  #line 433 "lscp.y"
4545      { yyval.Char = '\245'; }      { (yyval.Char) = 'w'; }
4546      break;      break;
4547    
4548    case 277:    case 277:
4549  #line 322 "lscp.y"  #line 433 "lscp.y"
4550      { yyval.Char = '\246'; }      { (yyval.Char) = 'x'; }
4551      break;      break;
4552    
4553    case 278:    case 278:
4554  #line 323 "lscp.y"  #line 433 "lscp.y"
4555      { yyval.Char = '\247'; }      { (yyval.Char) = 'y'; }
4556      break;      break;
4557    
4558    case 279:    case 279:
4559  #line 323 "lscp.y"  #line 433 "lscp.y"
4560      { yyval.Char = '\250'; }      { (yyval.Char) = 'z'; }
4561      break;      break;
4562    
4563    case 280:    case 280:
4564  #line 323 "lscp.y"  #line 434 "lscp.y"
4565      { yyval.Char = '\251'; }      { (yyval.Char) = '0'; }
4566      break;      break;
4567    
4568    case 281:    case 281:
4569  #line 324 "lscp.y"  #line 434 "lscp.y"
4570      { yyval.Char = '\252'; }      { (yyval.Char) = '1'; }
4571      break;      break;
4572    
4573    case 282:    case 282:
4574  #line 324 "lscp.y"  #line 434 "lscp.y"
4575      { yyval.Char = '\253'; }      { (yyval.Char) = '2'; }
4576      break;      break;
4577    
4578    case 283:    case 283:
4579  #line 324 "lscp.y"  #line 434 "lscp.y"
4580      { yyval.Char = '\254'; }      { (yyval.Char) = '3'; }
4581      break;      break;
4582    
4583    case 284:    case 284:
4584  #line 325 "lscp.y"  #line 434 "lscp.y"
4585      { yyval.Char = '\255'; }      { (yyval.Char) = '4'; }
4586      break;      break;
4587    
4588    case 285:    case 285:
4589  #line 325 "lscp.y"  #line 434 "lscp.y"
4590      { yyval.Char = '\256'; }      { (yyval.Char) = '5'; }
4591      break;      break;
4592    
4593    case 286:    case 286:
4594  #line 325 "lscp.y"  #line 434 "lscp.y"
4595      { yyval.Char = '\257'; }      { (yyval.Char) = '6'; }
4596      break;      break;
4597    
4598    case 287:    case 287:
4599  #line 326 "lscp.y"  #line 434 "lscp.y"
4600      { yyval.Char = '\260'; }      { (yyval.Char) = '7'; }
4601      break;      break;
4602    
4603    case 288:    case 288:
4604  #line 326 "lscp.y"  #line 434 "lscp.y"
4605      { yyval.Char = '\261'; }      { (yyval.Char) = '8'; }
4606      break;      break;
4607    
4608    case 289:    case 289:
4609  #line 326 "lscp.y"  #line 434 "lscp.y"
4610      { yyval.Char = '\262'; }      { (yyval.Char) = '9'; }
4611      break;      break;
4612    
4613    case 290:    case 290:
4614  #line 327 "lscp.y"  #line 435 "lscp.y"
4615      { yyval.Char = '\263'; }      { (yyval.Char) = '!'; }
4616      break;      break;
4617    
4618    case 291:    case 291:
4619  #line 327 "lscp.y"  #line 435 "lscp.y"
4620      { yyval.Char = '\264'; }      { (yyval.Char) = '#'; }
4621      break;      break;
4622    
4623    case 292:    case 292:
4624  #line 327 "lscp.y"  #line 435 "lscp.y"
4625      { yyval.Char = '\265'; }      { (yyval.Char) = '$'; }
4626      break;      break;
4627    
4628    case 293:    case 293:
4629  #line 328 "lscp.y"  #line 435 "lscp.y"
4630      { yyval.Char = '\266'; }      { (yyval.Char) = '%'; }
4631      break;      break;
4632    
4633    case 294:    case 294:
4634  #line 328 "lscp.y"  #line 435 "lscp.y"
4635      { yyval.Char = '\267'; }      { (yyval.Char) = '&'; }
4636      break;      break;
4637    
4638    case 295:    case 295:
4639  #line 328 "lscp.y"  #line 435 "lscp.y"
4640      { yyval.Char = '\270'; }      { (yyval.Char) = '('; }
4641      break;      break;
4642    
4643    case 296:    case 296:
4644  #line 329 "lscp.y"  #line 435 "lscp.y"
4645      { yyval.Char = '\271'; }      { (yyval.Char) = ')'; }
4646      break;      break;
4647    
4648    case 297:    case 297:
4649  #line 329 "lscp.y"  #line 435 "lscp.y"
4650      { yyval.Char = '\272'; }      { (yyval.Char) = '*'; }
4651      break;      break;
4652    
4653    case 298:    case 298:
4654  #line 329 "lscp.y"  #line 435 "lscp.y"
4655      { yyval.Char = '\273'; }      { (yyval.Char) = '+'; }
4656      break;      break;
4657    
4658    case 299:    case 299:
4659  #line 330 "lscp.y"  #line 435 "lscp.y"
4660      { yyval.Char = '\274'; }      { (yyval.Char) = '-'; }
4661      break;      break;
4662    
4663    case 300:    case 300:
4664  #line 330 "lscp.y"  #line 435 "lscp.y"
4665      { yyval.Char = '\275'; }      { (yyval.Char) = '.'; }
4666      break;      break;
4667    
4668    case 301:    case 301:
4669  #line 330 "lscp.y"  #line 435 "lscp.y"
4670      { yyval.Char = '\276'; }      { (yyval.Char) = ','; }
4671      break;      break;
4672    
4673    case 302:    case 302:
4674  #line 331 "lscp.y"  #line 435 "lscp.y"
4675      { yyval.Char = '\277'; }      { (yyval.Char) = '/'; }
4676      break;      break;
4677    
4678    case 303:    case 303:
4679  #line 331 "lscp.y"  #line 436 "lscp.y"
4680      { yyval.Char = '\300'; }      { (yyval.Char) = ':'; }
4681      break;      break;
4682    
4683    case 304:    case 304:
4684  #line 331 "lscp.y"  #line 436 "lscp.y"
4685      { yyval.Char = '\301'; }      { (yyval.Char) = ';'; }
4686      break;      break;
4687    
4688    case 305:    case 305:
4689  #line 332 "lscp.y"  #line 436 "lscp.y"
4690      { yyval.Char = '\302'; }      { (yyval.Char) = '<'; }
4691      break;      break;
4692    
4693    case 306:    case 306:
4694  #line 332 "lscp.y"  #line 436 "lscp.y"
4695      { yyval.Char = '\303'; }      { (yyval.Char) = '='; }
4696      break;      break;
4697    
4698    case 307:    case 307:
4699  #line 332 "lscp.y"  #line 436 "lscp.y"
4700      { yyval.Char = '\304'; }      { (yyval.Char) = '>'; }
4701      break;      break;
4702    
4703    case 308:    case 308:
4704  #line 333 "lscp.y"  #line 436 "lscp.y"
4705      { yyval.Char = '\305'; }      { (yyval.Char) = '?'; }
4706      break;      break;
4707    
4708    case 309:    case 309:
4709  #line 333 "lscp.y"  #line 436 "lscp.y"
4710      { yyval.Char = '\306'; }      { (yyval.Char) = '@'; }
4711      break;      break;
4712    
4713    case 310:    case 310:
4714  #line 333 "lscp.y"  #line 437 "lscp.y"
4715      { yyval.Char = '\307'; }      { (yyval.Char) = '['; }
4716      break;      break;
4717    
4718    case 311:    case 311:
4719  #line 334 "lscp.y"  #line 437 "lscp.y"
4720      { yyval.Char = '\310'; }      { (yyval.Char) = '\\'; }
4721      break;      break;
4722    
4723    case 312:    case 312:
4724  #line 334 "lscp.y"  #line 437 "lscp.y"
4725      { yyval.Char = '\311'; }      { (yyval.Char) = ']'; }
4726      break;      break;
4727    
4728    case 313:    case 313:
4729  #line 334 "lscp.y"  #line 437 "lscp.y"
4730      { yyval.Char = '\312'; }      { (yyval.Char) = '^'; }
4731      break;      break;
4732    
4733    case 314:    case 314:
4734  #line 335 "lscp.y"  #line 437 "lscp.y"
4735      { yyval.Char = '\313'; }      { (yyval.Char) = '_'; }
4736      break;      break;
4737    
4738    case 315:    case 315:
4739  #line 335 "lscp.y"  #line 438 "lscp.y"
4740      { yyval.Char = '\314'; }      { (yyval.Char) = '{'; }
4741      break;      break;
4742    
4743    case 316:    case 316:
4744  #line 335 "lscp.y"  #line 438 "lscp.y"
4745      { yyval.Char = '\315'; }      { (yyval.Char) = '|'; }
4746      break;      break;
4747    
4748    case 317:    case 317:
4749  #line 336 "lscp.y"  #line 438 "lscp.y"
4750      { yyval.Char = '\316'; }      { (yyval.Char) = '}'; }
4751      break;      break;
4752    
4753    case 318:    case 318:
4754  #line 336 "lscp.y"  #line 438 "lscp.y"
4755      { yyval.Char = '\317'; }      { (yyval.Char) = '~'; }
4756      break;      break;
4757    
4758    case 319:    case 319:
4759  #line 336 "lscp.y"  #line 439 "lscp.y"
4760      { yyval.Char = '\320'; }      { (yyval.Char) = '\200'; }
4761      break;      break;
4762    
4763    case 320:    case 320:
4764  #line 337 "lscp.y"  #line 439 "lscp.y"
4765      { yyval.Char = '\321'; }      { (yyval.Char) = '\201'; }
4766      break;      break;
4767    
4768    case 321:    case 321:
4769  #line 337 "lscp.y"  #line 439 "lscp.y"
4770      { yyval.Char = '\322'; }      { (yyval.Char) = '\202'; }
4771      break;      break;
4772    
4773    case 322:    case 322:
4774  #line 337 "lscp.y"  #line 440 "lscp.y"
4775      { yyval.Char = '\323'; }      { (yyval.Char) = '\203'; }
4776      break;      break;
4777    
4778    case 323:    case 323:
4779  #line 338 "lscp.y"  #line 440 "lscp.y"
4780      { yyval.Char = '\324'; }      { (yyval.Char) = '\204'; }
4781      break;      break;
4782    
4783    case 324:    case 324:
4784  #line 338 "lscp.y"  #line 440 "lscp.y"
4785      { yyval.Char = '\325'; }      { (yyval.Char) = '\205'; }
4786      break;      break;
4787    
4788    case 325:    case 325:
4789  #line 338 "lscp.y"  #line 441 "lscp.y"
4790      { yyval.Char = '\326'; }      { (yyval.Char) = '\206'; }
4791      break;      break;
4792    
4793    case 326:    case 326:
4794  #line 339 "lscp.y"  #line 441 "lscp.y"
4795      { yyval.Char = '\327'; }      { (yyval.Char) = '\207'; }
4796      break;      break;
4797    
4798    case 327:    case 327:
4799  #line 339 "lscp.y"  #line 441 "lscp.y"
4800      { yyval.Char = '\330'; }      { (yyval.Char) = '\210'; }
4801      break;      break;
4802    
4803    case 328:    case 328:
4804  #line 339 "lscp.y"  #line 442 "lscp.y"
4805      { yyval.Char = '\331'; }      { (yyval.Char) = '\211'; }
4806      break;      break;
4807    
4808    case 329:    case 329:
4809  #line 340 "lscp.y"  #line 442 "lscp.y"
4810      { yyval.Char = '\332'; }      { (yyval.Char) = '\212'; }
4811      break;      break;
4812    
4813    case 330:    case 330:
4814  #line 340 "lscp.y"  #line 442 "lscp.y"
4815      { yyval.Char = '\333'; }      { (yyval.Char) = '\213'; }
4816      break;      break;
4817    
4818    case 331:    case 331:
4819  #line 340 "lscp.y"  #line 443 "lscp.y"
4820      { yyval.Char = '\334'; }      { (yyval.Char) = '\214'; }
4821      break;      break;
4822    
4823    case 332:    case 332:
4824  #line 341 "lscp.y"  #line 443 "lscp.y"
4825      { yyval.Char = '\335'; }      { (yyval.Char) = '\215'; }
4826      break;      break;
4827    
4828    case 333:    case 333:
4829  #line 341 "lscp.y"  #line 443 "lscp.y"
4830      { yyval.Char = '\336'; }      { (yyval.Char) = '\216'; }
4831      break;      break;
4832    
4833    case 334:    case 334:
4834  #line 341 "lscp.y"  #line 444 "lscp.y"
4835      { yyval.Char = '\337'; }      { (yyval.Char) = '\217'; }
4836      break;      break;
4837    
4838    case 335:    case 335:
4839  #line 342 "lscp.y"  #line 444 "lscp.y"
4840      { yyval.Char = '\340'; }      { (yyval.Char) = '\220'; }
4841      break;      break;
4842    
4843    case 336:    case 336:
4844  #line 342 "lscp.y"  #line 444 "lscp.y"
4845      { yyval.Char = '\341'; }      { (yyval.Char) = '\221'; }
4846      break;      break;
4847    
4848    case 337:    case 337:
4849  #line 342 "lscp.y"  #line 445 "lscp.y"
4850      { yyval.Char = '\342'; }      { (yyval.Char) = '\222'; }
4851      break;      break;
4852    
4853    case 338:    case 338:
4854  #line 343 "lscp.y"  #line 445 "lscp.y"
4855      { yyval.Char = '\343'; }      { (yyval.Char) = '\223'; }
4856      break;      break;
4857    
4858    case 339:    case 339:
4859  #line 343 "lscp.y"  #line 445 "lscp.y"
4860      { yyval.Char = '\344'; }      { (yyval.Char) = '\224'; }
4861      break;      break;
4862    
4863    case 340:    case 340:
4864  #line 343 "lscp.y"  #line 446 "lscp.y"
4865      { yyval.Char = '\345'; }      { (yyval.Char) = '\225'; }
4866      break;      break;
4867    
4868    case 341:    case 341:
4869  #line 344 "lscp.y"  #line 446 "lscp.y"
4870      { yyval.Char = '\346'; }      { (yyval.Char) = '\226'; }
4871      break;      break;
4872    
4873    case 342:    case 342:
4874  #line 344 "lscp.y"  #line 446 "lscp.y"
4875      { yyval.Char = '\347'; }      { (yyval.Char) = '\227'; }
4876      break;      break;
4877    
4878    case 343:    case 343:
4879  #line 344 "lscp.y"  #line 447 "lscp.y"
4880      { yyval.Char = '\350'; }      { (yyval.Char) = '\230'; }
4881      break;      break;
4882    
4883    case 344:    case 344:
4884  #line 345 "lscp.y"  #line 447 "lscp.y"
4885      { yyval.Char = '\351'; }      { (yyval.Char) = '\231'; }
4886      break;      break;
4887    
4888    case 345:    case 345:
4889  #line 345 "lscp.y"  #line 447 "lscp.y"
4890      { yyval.Char = '\352'; }      { (yyval.Char) = '\232'; }
4891      break;      break;
4892    
4893    case 346:    case 346:
4894  #line 345 "lscp.y"  #line 448 "lscp.y"
4895      { yyval.Char = '\353'; }      { (yyval.Char) = '\233'; }
4896      break;      break;
4897    
4898    case 347:    case 347:
4899  #line 346 "lscp.y"  #line 448 "lscp.y"
4900      { yyval.Char = '\354'; }      { (yyval.Char) = '\234'; }
4901      break;      break;
4902    
4903    case 348:    case 348:
4904  #line 346 "lscp.y"  #line 448 "lscp.y"
4905      { yyval.Char = '\355'; }      { (yyval.Char) = '\235'; }
4906      break;      break;
4907    
4908    case 349:    case 349:
4909  #line 346 "lscp.y"  #line 449 "lscp.y"
4910      { yyval.Char = '\356'; }      { (yyval.Char) = '\236'; }
4911      break;      break;
4912    
4913    case 350:    case 350:
4914  #line 347 "lscp.y"  #line 449 "lscp.y"
4915      { yyval.Char = '\357'; }      { (yyval.Char) = '\237'; }
4916      break;      break;
4917    
4918    case 351:    case 351:
4919  #line 347 "lscp.y"  #line 449 "lscp.y"
4920      { yyval.Char = '\360'; }      { (yyval.Char) = '\240'; }
4921      break;      break;
4922    
4923    case 352:    case 352:
4924  #line 347 "lscp.y"  #line 450 "lscp.y"
4925      { yyval.Char = '\361'; }      { (yyval.Char) = '\241'; }
4926      break;      break;
4927    
4928    case 353:    case 353:
4929  #line 348 "lscp.y"  #line 450 "lscp.y"
4930      { yyval.Char = '\362'; }      { (yyval.Char) = '\242'; }
4931      break;      break;
4932    
4933    case 354:    case 354:
4934  #line 348 "lscp.y"  #line 450 "lscp.y"
4935      { yyval.Char = '\363'; }      { (yyval.Char) = '\243'; }
4936      break;      break;
4937    
4938    case 355:    case 355:
4939  #line 348 "lscp.y"  #line 451 "lscp.y"
4940      { yyval.Char = '\364'; }      { (yyval.Char) = '\244'; }
4941      break;      break;
4942    
4943    case 356:    case 356:
4944  #line 349 "lscp.y"  #line 451 "lscp.y"
4945      { yyval.Char = '\365'; }      { (yyval.Char) = '\245'; }
4946      break;      break;
4947    
4948    case 357:    case 357:
4949  #line 349 "lscp.y"  #line 451 "lscp.y"
4950      { yyval.Char = '\366'; }      { (yyval.Char) = '\246'; }
4951      break;      break;
4952    
4953    case 358:    case 358:
4954  #line 349 "lscp.y"  #line 452 "lscp.y"
4955      { yyval.Char = '\367'; }      { (yyval.Char) = '\247'; }
4956      break;      break;
4957    
4958    case 359:    case 359:
4959  #line 350 "lscp.y"  #line 452 "lscp.y"
4960      { yyval.Char = '\370'; }      { (yyval.Char) = '\250'; }
4961      break;      break;
4962    
4963    case 360:    case 360:
4964  #line 350 "lscp.y"  #line 452 "lscp.y"
4965      { yyval.Char = '\371'; }      { (yyval.Char) = '\251'; }
4966      break;      break;
4967    
4968    case 361:    case 361:
4969  #line 350 "lscp.y"  #line 453 "lscp.y"
4970      { yyval.Char = '\372'; }      { (yyval.Char) = '\252'; }
4971      break;      break;
4972    
4973    case 362:    case 362:
4974  #line 351 "lscp.y"  #line 453 "lscp.y"
4975      { yyval.Char = '\373'; }      { (yyval.Char) = '\253'; }
4976      break;      break;
4977    
4978    case 363:    case 363:
4979  #line 351 "lscp.y"  #line 453 "lscp.y"
4980      { yyval.Char = '\374'; }      { (yyval.Char) = '\254'; }
4981      break;      break;
4982    
4983    case 364:    case 364:
4984  #line 351 "lscp.y"  #line 454 "lscp.y"
4985      { yyval.Char = '\375'; }      { (yyval.Char) = '\255'; }
4986      break;      break;
4987    
4988    case 365:    case 365:
4989  #line 352 "lscp.y"  #line 454 "lscp.y"
4990      { yyval.Char = '\376'; }      { (yyval.Char) = '\256'; }
4991      break;      break;
4992    
4993    case 366:    case 366:
4994  #line 352 "lscp.y"  #line 454 "lscp.y"
4995      { yyval.Char = '\377'; }      { (yyval.Char) = '\257'; }
4996      break;      break;
4997    
4998    case 367:    case 367:
4999  #line 355 "lscp.y"  #line 455 "lscp.y"
5000      { yyval.String = " ";      }      { (yyval.Char) = '\260'; }
5001        break;
5002    
5003      case 368:
5004    #line 455 "lscp.y"
5005        { (yyval.Char) = '\261'; }
5006      break;      break;
5007    
5008    case 369:    case 369:
5009  #line 357 "lscp.y"  #line 455 "lscp.y"
5010      { yyval.String = yyvsp[-1].String + " "; }      { (yyval.Char) = '\262'; }
5011      break;      break;
5012    
5013    case 370:    case 370:
5014  #line 358 "lscp.y"  #line 456 "lscp.y"
5015      { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }      { (yyval.Char) = '\263'; }
5016      break;      break;
5017    
5018    case 371:    case 371:
5019  #line 361 "lscp.y"  #line 456 "lscp.y"
5020      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\264'; }
5021      break;      break;
5022    
5023    case 372:    case 372:
5024  #line 362 "lscp.y"  #line 456 "lscp.y"
5025      { yyval.String = yyvsp[-1].String; }      { (yyval.Char) = '\265'; }
5026      break;      break;
5027    
5028      case 373:
5029    #line 457 "lscp.y"
5030        { (yyval.Char) = '\266'; }
5031        break;
5032    
5033      }    case 374:
5034    #line 457 "lscp.y"
5035        { (yyval.Char) = '\267'; }
5036        break;
5037    
5038  /* Line 1010 of yacc.c.  */    case 375:
5039  #line 4428 "y.tab.c"  #line 457 "lscp.y"
5040        { (yyval.Char) = '\270'; }
5041    yyvsp -= yylen;      break;
5042    yyssp -= yylen;  
5043      case 376:
5044    #line 458 "lscp.y"
5045        { (yyval.Char) = '\271'; }
5046        break;
5047    
5048      case 377:
5049    #line 458 "lscp.y"
5050        { (yyval.Char) = '\272'; }
5051        break;
5052    
5053      case 378:
5054    #line 458 "lscp.y"
5055        { (yyval.Char) = '\273'; }
5056        break;
5057    
5058      case 379:
5059    #line 459 "lscp.y"
5060        { (yyval.Char) = '\274'; }
5061        break;
5062    
5063      case 380:
5064    #line 459 "lscp.y"
5065        { (yyval.Char) = '\275'; }
5066        break;
5067    
5068      case 381:
5069    #line 459 "lscp.y"
5070        { (yyval.Char) = '\276'; }
5071        break;
5072    
5073      case 382:
5074    #line 460 "lscp.y"
5075        { (yyval.Char) = '\277'; }
5076        break;
5077    
5078      case 383:
5079    #line 460 "lscp.y"
5080        { (yyval.Char) = '\300'; }
5081        break;
5082    
5083      case 384:
5084    #line 460 "lscp.y"
5085        { (yyval.Char) = '\301'; }
5086        break;
5087    
5088      case 385:
5089    #line 461 "lscp.y"
5090        { (yyval.Char) = '\302'; }
5091        break;
5092    
5093      case 386:
5094    #line 461 "lscp.y"
5095        { (yyval.Char) = '\303'; }
5096        break;
5097    
5098      case 387:
5099    #line 461 "lscp.y"
5100        { (yyval.Char) = '\304'; }
5101        break;
5102    
5103      case 388:
5104    #line 462 "lscp.y"
5105        { (yyval.Char) = '\305'; }
5106        break;
5107    
5108      case 389:
5109    #line 462 "lscp.y"
5110        { (yyval.Char) = '\306'; }
5111        break;
5112    
5113      case 390:
5114    #line 462 "lscp.y"
5115        { (yyval.Char) = '\307'; }
5116        break;
5117    
5118      case 391:
5119    #line 463 "lscp.y"
5120        { (yyval.Char) = '\310'; }
5121        break;
5122    
5123      case 392:
5124    #line 463 "lscp.y"
5125        { (yyval.Char) = '\311'; }
5126        break;
5127    
5128      case 393:
5129    #line 463 "lscp.y"
5130        { (yyval.Char) = '\312'; }
5131        break;
5132    
5133      case 394:
5134    #line 464 "lscp.y"
5135        { (yyval.Char) = '\313'; }
5136        break;
5137    
5138      case 395:
5139    #line 464 "lscp.y"
5140        { (yyval.Char) = '\314'; }
5141        break;
5142    
5143      case 396:
5144    #line 464 "lscp.y"
5145        { (yyval.Char) = '\315'; }
5146        break;
5147    
5148      case 397:
5149    #line 465 "lscp.y"
5150        { (yyval.Char) = '\316'; }
5151        break;
5152    
5153      case 398:
5154    #line 465 "lscp.y"
5155        { (yyval.Char) = '\317'; }
5156        break;
5157    
5158      case 399:
5159    #line 465 "lscp.y"
5160        { (yyval.Char) = '\320'; }
5161        break;
5162    
5163      case 400:
5164    #line 466 "lscp.y"
5165        { (yyval.Char) = '\321'; }
5166        break;
5167    
5168      case 401:
5169    #line 466 "lscp.y"
5170        { (yyval.Char) = '\322'; }
5171        break;
5172    
5173      case 402:
5174    #line 466 "lscp.y"
5175        { (yyval.Char) = '\323'; }
5176        break;
5177    
5178      case 403:
5179    #line 467 "lscp.y"
5180        { (yyval.Char) = '\324'; }
5181        break;
5182    
5183      case 404:
5184    #line 467 "lscp.y"
5185        { (yyval.Char) = '\325'; }
5186        break;
5187    
5188      case 405:
5189    #line 467 "lscp.y"
5190        { (yyval.Char) = '\326'; }
5191        break;
5192    
5193      case 406:
5194    #line 468 "lscp.y"
5195        { (yyval.Char) = '\327'; }
5196        break;
5197    
5198      case 407:
5199    #line 468 "lscp.y"
5200        { (yyval.Char) = '\330'; }
5201        break;
5202    
5203      case 408:
5204    #line 468 "lscp.y"
5205        { (yyval.Char) = '\331'; }
5206        break;
5207    
5208      case 409:
5209    #line 469 "lscp.y"
5210        { (yyval.Char) = '\332'; }
5211        break;
5212    
5213      case 410:
5214    #line 469 "lscp.y"
5215        { (yyval.Char) = '\333'; }
5216        break;
5217    
5218      case 411:
5219    #line 469 "lscp.y"
5220        { (yyval.Char) = '\334'; }
5221        break;
5222    
5223      case 412:
5224    #line 470 "lscp.y"
5225        { (yyval.Char) = '\335'; }
5226        break;
5227    
5228      case 413:
5229    #line 470 "lscp.y"
5230        { (yyval.Char) = '\336'; }
5231        break;
5232    
5233      case 414:
5234    #line 470 "lscp.y"
5235        { (yyval.Char) = '\337'; }
5236        break;
5237    
5238      case 415:
5239    #line 471 "lscp.y"
5240        { (yyval.Char) = '\340'; }
5241        break;
5242    
5243      case 416:
5244    #line 471 "lscp.y"
5245        { (yyval.Char) = '\341'; }
5246        break;
5247    
5248      case 417:
5249    #line 471 "lscp.y"
5250        { (yyval.Char) = '\342'; }
5251        break;
5252    
5253      case 418:
5254    #line 472 "lscp.y"
5255        { (yyval.Char) = '\343'; }
5256        break;
5257    
5258      case 419:
5259    #line 472 "lscp.y"
5260        { (yyval.Char) = '\344'; }
5261        break;
5262    
5263      case 420:
5264    #line 472 "lscp.y"
5265        { (yyval.Char) = '\345'; }
5266        break;
5267    
5268      case 421:
5269    #line 473 "lscp.y"
5270        { (yyval.Char) = '\346'; }
5271        break;
5272    
5273      case 422:
5274    #line 473 "lscp.y"
5275        { (yyval.Char) = '\347'; }
5276        break;
5277    
5278      case 423:
5279    #line 473 "lscp.y"
5280        { (yyval.Char) = '\350'; }
5281        break;
5282    
5283      case 424:
5284    #line 474 "lscp.y"
5285        { (yyval.Char) = '\351'; }
5286        break;
5287    
5288      case 425:
5289    #line 474 "lscp.y"
5290        { (yyval.Char) = '\352'; }
5291        break;
5292    
5293      case 426:
5294    #line 474 "lscp.y"
5295        { (yyval.Char) = '\353'; }
5296        break;
5297    
5298      case 427:
5299    #line 475 "lscp.y"
5300        { (yyval.Char) = '\354'; }
5301        break;
5302    
5303      case 428:
5304    #line 475 "lscp.y"
5305        { (yyval.Char) = '\355'; }
5306        break;
5307    
5308      case 429:
5309    #line 475 "lscp.y"
5310        { (yyval.Char) = '\356'; }
5311        break;
5312    
5313      case 430:
5314    #line 476 "lscp.y"
5315        { (yyval.Char) = '\357'; }
5316        break;
5317    
5318      case 431:
5319    #line 476 "lscp.y"
5320        { (yyval.Char) = '\360'; }
5321        break;
5322    
5323      case 432:
5324    #line 476 "lscp.y"
5325        { (yyval.Char) = '\361'; }
5326        break;
5327    
5328      case 433:
5329    #line 477 "lscp.y"
5330        { (yyval.Char) = '\362'; }
5331        break;
5332    
5333      case 434:
5334    #line 477 "lscp.y"
5335        { (yyval.Char) = '\363'; }
5336        break;
5337    
5338      case 435:
5339    #line 477 "lscp.y"
5340        { (yyval.Char) = '\364'; }
5341        break;
5342    
5343      case 436:
5344    #line 478 "lscp.y"
5345        { (yyval.Char) = '\365'; }
5346        break;
5347    
5348      case 437:
5349    #line 478 "lscp.y"
5350        { (yyval.Char) = '\366'; }
5351        break;
5352    
5353      case 438:
5354    #line 478 "lscp.y"
5355        { (yyval.Char) = '\367'; }
5356        break;
5357    
5358      case 439:
5359    #line 479 "lscp.y"
5360        { (yyval.Char) = '\370'; }
5361        break;
5362    
5363      case 440:
5364    #line 479 "lscp.y"
5365        { (yyval.Char) = '\371'; }
5366        break;
5367    
5368      case 441:
5369    #line 479 "lscp.y"
5370        { (yyval.Char) = '\372'; }
5371        break;
5372    
5373      case 442:
5374    #line 480 "lscp.y"
5375        { (yyval.Char) = '\373'; }
5376        break;
5377    
5378      case 443:
5379    #line 480 "lscp.y"
5380        { (yyval.Char) = '\374'; }
5381        break;
5382    
5383      case 444:
5384    #line 480 "lscp.y"
5385        { (yyval.Char) = '\375'; }
5386        break;
5387    
5388      case 445:
5389    #line 481 "lscp.y"
5390        { (yyval.Char) = '\376'; }
5391        break;
5392    
5393      case 446:
5394    #line 481 "lscp.y"
5395        { (yyval.Char) = '\377'; }
5396        break;
5397    
5398      case 447:
5399    #line 484 "lscp.y"
5400        { (yyval.String) = " ";      }
5401        break;
5402    
5403      case 449:
5404    #line 486 "lscp.y"
5405        { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5406        break;
5407    
5408      case 450:
5409    #line 487 "lscp.y"
5410        { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5411        break;
5412    
5413      case 451:
5414    #line 490 "lscp.y"
5415        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5416        break;
5417    
5418      case 452:
5419    #line 491 "lscp.y"
5420        { (yyval.String) = (yyvsp[(2) - (3)].String); }
5421        break;
5422    
5423    
5424    /* Line 1267 of yacc.c.  */
5425    #line 5426 "y.tab.c"
5426          default: break;
5427        }
5428      YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5429    
5430      YYPOPSTACK (yylen);
5431      yylen = 0;
5432    YY_STACK_PRINT (yyss, yyssp);    YY_STACK_PRINT (yyss, yyssp);
5433    
5434    *++yyvsp = yyval;    *++yyvsp = yyval;
# Line 4458  yyerrlab: Line 5457  yyerrlab:
5457    if (!yyerrstatus)    if (!yyerrstatus)
5458      {      {
5459        ++yynerrs;        ++yynerrs;
5460  #if YYERROR_VERBOSE  #if ! YYERROR_VERBOSE
5461        yyn = yypact[yystate];        yyerror (YY_("syntax error"));
5462    #else
5463        if (YYPACT_NINF < yyn && yyn < YYLAST)        {
5464          {          YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5465            YYSIZE_T yysize = 0;          if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5466            int yytype = YYTRANSLATE (yychar);            {
5467            const char* yyprefix;              YYSIZE_T yyalloc = 2 * yysize;
5468            char *yymsg;              if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5469            int yyx;                yyalloc = YYSTACK_ALLOC_MAXIMUM;
5470                if (yymsg != yymsgbuf)
5471            /* Start YYX at -YYN if negative to avoid negative indexes in                YYSTACK_FREE (yymsg);
5472               YYCHECK.  */              yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5473            int yyxbegin = yyn < 0 ? -yyn : 0;              if (yymsg)
5474                  yymsg_alloc = yyalloc;
5475            /* Stay within bounds of both yycheck and yytname.  */              else
           int yychecklim = YYLAST - yyn;  
           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;  
           int yycount = 0;  
   
           yyprefix = ", expecting ";  
           for (yyx = yyxbegin; yyx < yyxend; ++yyx)  
             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)  
5476                {                {
5477                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);                  yymsg = yymsgbuf;
5478                  yycount += 1;                  yymsg_alloc = sizeof yymsgbuf;
                 if (yycount == 5)  
                   {  
                     yysize = 0;  
                     break;  
                   }  
5479                }                }
5480            yysize += (sizeof ("syntax error, unexpected ")            }
                      + yystrlen (yytname[yytype]));  
           yymsg = (char *) YYSTACK_ALLOC (yysize);  
           if (yymsg != 0)  
             {  
               char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");  
               yyp = yystpcpy (yyp, yytname[yytype]);  
5481    
5482                if (yycount < 5)          if (0 < yysize && yysize <= yymsg_alloc)
5483                  {            {
5484                    yyprefix = ", expecting ";              (void) yysyntax_error (yymsg, yystate, yychar);
5485                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)              yyerror (yymsg);
5486                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)            }
5487                        {          else
5488                          yyp = yystpcpy (yyp, yyprefix);            {
5489                          yyp = yystpcpy (yyp, yytname[yyx]);              yyerror (YY_("syntax error"));
5490                          yyprefix = " or ";              if (yysize != 0)
5491                        }                goto yyexhaustedlab;
5492                  }            }
5493                yyerror (yymsg);        }
5494                YYSTACK_FREE (yymsg);  #endif
             }  
           else  
             yyerror ("syntax error; also virtual memory exhausted");  
         }  
       else  
 #endif /* YYERROR_VERBOSE */  
         yyerror ("syntax error");  
5495      }      }
5496    
5497    
5498    
5499    if (yyerrstatus == 3)    if (yyerrstatus == 3)
5500      {      {
5501        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
5502           error, discard it.  */           error, discard it.  */
5503    
5504        if (yychar <= YYEOF)        if (yychar <= YYEOF)
5505          {          {
5506            /* If at end of input, pop the error token,            /* Return failure if at end of input.  */
              then the rest of the stack, then return failure.  */  
5507            if (yychar == YYEOF)            if (yychar == YYEOF)
5508               for (;;)              YYABORT;
5509                 {          }
                  YYPOPSTACK;  
                  if (yyssp == yyss)  
                    YYABORT;  
                  YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
                  yydestruct (yystos[*yyssp], yyvsp);  
                }  
         }  
5510        else        else
5511          {          {
5512            YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);            yydestruct ("Error: discarding",
5513            yydestruct (yytoken, &yylval);                        yytoken, &yylval);
5514            yychar = YYEMPTY;            yychar = YYEMPTY;
   
5515          }          }
5516      }      }
5517    
5518    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
5519       token.  */       token.  */
5520    goto yyerrlab1;    goto yyerrlab1;
5521    
# Line 4560  yyerrlab: Line 5525  yyerrlab:
5525  `---------------------------------------------------*/  `---------------------------------------------------*/
5526  yyerrorlab:  yyerrorlab:
5527    
5528  #ifdef __GNUC__    /* Pacify compilers like GCC when the user code never invokes
5529    /* Pacify GCC when the user code never invokes YYERROR and the label       YYERROR and the label yyerrorlab therefore never appears in user
5530       yyerrorlab therefore never appears in user code.  */       code.  */
5531    if (0)    if (/*CONSTCOND*/ 0)
5532       goto yyerrorlab;       goto yyerrorlab;
 #endif  
5533    
5534    yyvsp -= yylen;    /* Do not reclaim the symbols of the rule which action triggered
5535    yyssp -= yylen;       this YYERROR.  */
5536      YYPOPSTACK (yylen);
5537      yylen = 0;
5538      YY_STACK_PRINT (yyss, yyssp);
5539    yystate = *yyssp;    yystate = *yyssp;
5540    goto yyerrlab1;    goto yyerrlab1;
5541    
# Line 4597  yyerrlab1: Line 5564  yyerrlab1:
5564        if (yyssp == yyss)        if (yyssp == yyss)
5565          YYABORT;          YYABORT;
5566    
5567        YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
5568        yydestruct (yystos[yystate], yyvsp);        yydestruct ("Error: popping",
5569        YYPOPSTACK;                    yystos[yystate], yyvsp);
5570          YYPOPSTACK (1);
5571        yystate = *yyssp;        yystate = *yyssp;
5572        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
5573      }      }
# Line 4607  yyerrlab1: Line 5575  yyerrlab1:
5575    if (yyn == YYFINAL)    if (yyn == YYFINAL)
5576      YYACCEPT;      YYACCEPT;
5577    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
5578    *++yyvsp = yylval;    *++yyvsp = yylval;
5579    
5580    
5581      /* Shift the error token.  */
5582      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5583    
5584    yystate = yyn;    yystate = yyn;
5585    goto yynewstate;    goto yynewstate;
5586    
# Line 4631  yyabortlab: Line 5600  yyabortlab:
5600    goto yyreturn;    goto yyreturn;
5601    
5602  #ifndef yyoverflow  #ifndef yyoverflow
5603  /*----------------------------------------------.  /*-------------------------------------------------.
5604  | yyoverflowlab -- parser overflow comes here.  |  | yyexhaustedlab -- memory exhaustion comes here.  |
5605  `----------------------------------------------*/  `-------------------------------------------------*/
5606  yyoverflowlab:  yyexhaustedlab:
5607    yyerror ("parser stack overflow");    yyerror (YY_("memory exhausted"));
5608    yyresult = 2;    yyresult = 2;
5609    /* Fall through.  */    /* Fall through.  */
5610  #endif  #endif
5611    
5612  yyreturn:  yyreturn:
5613      if (yychar != YYEOF && yychar != YYEMPTY)
5614         yydestruct ("Cleanup: discarding lookahead",
5615                     yytoken, &yylval);
5616      /* Do not reclaim the symbols of the rule which action triggered
5617         this YYABORT or YYACCEPT.  */
5618      YYPOPSTACK (yylen);
5619      YY_STACK_PRINT (yyss, yyssp);
5620      while (yyssp != yyss)
5621        {
5622          yydestruct ("Cleanup: popping",
5623                      yystos[*yyssp], yyvsp);
5624          YYPOPSTACK (1);
5625        }
5626  #ifndef yyoverflow  #ifndef yyoverflow
5627    if (yyss != yyssa)    if (yyss != yyssa)
5628      YYSTACK_FREE (yyss);      YYSTACK_FREE (yyss);
5629  #endif  #endif
5630    return yyresult;  #if YYERROR_VERBOSE
5631      if (yymsg != yymsgbuf)
5632        YYSTACK_FREE (yymsg);
5633    #endif
5634      /* Make sure YYID is used.  */
5635      return YYID (yyresult);
5636  }  }
5637    
5638    
5639  #line 533 "lscp.y"  #line 758 "lscp.y"
5640    
5641    
5642  /**  /**
# Line 4667  void restart(yyparse_param_t* pparam, in Line 5654  void restart(yyparse_param_t* pparam, in
5654      ptr   = 0;      ptr   = 0;
5655  }  }
5656    
   

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

  ViewVC Help
Powered by ViewVC