/[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 123 by schoenebeck, Mon Jun 14 19:33:16 2004 UTC revision 778 by iliev, Fri Sep 23 06:58:26 2005 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* A Bison parser, made by GNU Bison 2.0.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton parser for Yacc-like parsing with Bison,
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
5    
6     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
7     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 47  Line 47 
47    
48    
49    
 /* Tokens.  */  
 #ifndef YYTOKENTYPE  
 # define YYTOKENTYPE  
    /* Put the tokens into the symbol table, so that GDB and other debuggers  
       know about them.  */  
    enum yytokentype {  
      CHAR = 258,  
      DOTNUM = 259,  
      NUMBER = 260,  
      SP = 261,  
      LF = 262,  
      CR = 263,  
      HASH = 264,  
      EQ = 265,  
      ADD = 266,  
      GET = 267,  
      CREATE = 268,  
      DESTROY = 269,  
      LIST = 270,  
      LOAD = 271,  
      REMOVE = 272,  
      SET = 273,  
      SUBSCRIBE = 274,  
      UNSUBSCRIBE = 275,  
      RESET = 276,  
      QUIT = 277,  
      CHANNEL = 278,  
      NOTIFICATION = 279,  
      AVAILABLE_ENGINES = 280,  
      AVAILABLE_AUDIO_OUTPUT_DRIVERS = 281,  
      CHANNELS = 282,  
      INFO = 283,  
      BUFFER_FILL = 284,  
      STREAM_COUNT = 285,  
      VOICE_COUNT = 286,  
      INSTRUMENT = 287,  
      ENGINE = 288,  
      AUDIO_OUTPUT_CHANNEL = 289,  
      AUDIO_OUTPUT_CHANNEL_PARAMETER = 290,  
      AUDIO_OUTPUT_DEVICE = 291,  
      AUDIO_OUTPUT_DEVICES = 292,  
      AUDIO_OUTPUT_DEVICE_PARAMETER = 293,  
      AUDIO_OUTPUT_DRIVER = 294,  
      AUDIO_OUTPUT_DRIVER_PARAMETER = 295,  
      MIDI_INPUT_PORT = 296,  
      MIDI_INPUT_CHANNEL = 297,  
      MIDI_INPUT_TYPE = 298,  
      VOLUME = 299,  
      BYTES = 300,  
      PERCENTAGE = 301  
    };  
 #endif  
 #define CHAR 258  
 #define DOTNUM 259  
 #define NUMBER 260  
 #define SP 261  
 #define LF 262  
 #define CR 263  
 #define HASH 264  
 #define EQ 265  
 #define ADD 266  
 #define GET 267  
 #define CREATE 268  
 #define DESTROY 269  
 #define LIST 270  
 #define LOAD 271  
 #define REMOVE 272  
 #define SET 273  
 #define SUBSCRIBE 274  
 #define UNSUBSCRIBE 275  
 #define RESET 276  
 #define QUIT 277  
 #define CHANNEL 278  
 #define NOTIFICATION 279  
 #define AVAILABLE_ENGINES 280  
 #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 281  
 #define CHANNELS 282  
 #define INFO 283  
 #define BUFFER_FILL 284  
 #define STREAM_COUNT 285  
 #define VOICE_COUNT 286  
 #define INSTRUMENT 287  
 #define ENGINE 288  
 #define AUDIO_OUTPUT_CHANNEL 289  
 #define AUDIO_OUTPUT_CHANNEL_PARAMETER 290  
 #define AUDIO_OUTPUT_DEVICE 291  
 #define AUDIO_OUTPUT_DEVICES 292  
 #define AUDIO_OUTPUT_DEVICE_PARAMETER 293  
 #define AUDIO_OUTPUT_DRIVER 294  
 #define AUDIO_OUTPUT_DRIVER_PARAMETER 295  
 #define MIDI_INPUT_PORT 296  
 #define MIDI_INPUT_CHANNEL 297  
 #define MIDI_INPUT_TYPE 298  
 #define VOLUME 299  
 #define BYTES 300  
 #define PERCENTAGE 301  
   
50    
51    
52    
53  /* Copy the first part of user declarations.  */  /* Copy the first part of user declarations.  */
54  #line 23 "lscp.y"  #line 27 "lscp.y"
55    
56    
57  #include "lscpparser.h"  #include "lscpparser.h"
58  #include "lscpserver.h"  #include "lscpserver.h"
59    #include "lscpevent.h"
 // as we need an reentrant scanner, we have to pass the pointer to the scanner with each yylex() call  
 #define YYLEX_PARAM ((yyparse_param_t*) yyparse_param)->pScanner  
60    
61  // to save us typing work in the rules action definitions  // to save us typing work in the rules action definitions
62  #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer  #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer
63    
64  // clears input buffer and restarts scanner.  // clears input buffer
65  void restart(yyparse_param_t* pparam, int& yychar);  void restart(yyparse_param_t* pparam, int& yychar);
66  #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)  #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)
67    
 // external reference to the main scanner function yylex()  
 extern YY_DECL;  
   
 // external reference to restart the lex scanner  
 extern void yyrestart(FILE* input_file, yyscan_t yyscanner);  
   
68  // we provide our own version of yyerror() so we don't have to link against the yacc library  // we provide our own version of yyerror() so we don't have to link against the yacc library
69  void yyerror(const char* s);  void yyerror(const char* s);
70    
71    static char buf[1024]; // input buffer to feed the parser with new characters
72    static int bytes = 0;  // current number of characters in the input buffer
73    static int ptr   = 0;  // current position in the input buffer
74    
75    // external reference to the function which actually reads from the socket
76    extern int GetLSCPCommand( void *buf, int max_size);
77    
78    // custom scanner function which reads from the socket
79    int yylex(YYSTYPE* yylval) {
80        // check if we have to read new characters
81        if (ptr >= bytes) {
82            bytes = GetLSCPCommand(buf, 1023);
83            ptr   = 0;
84            if (bytes < 0) {
85                bytes = 0;
86                return 0;
87            }
88        }
89        return (int) buf[ptr++];
90    }
91    
92    
93    
94  /* Enabling traces.  */  /* Enabling traces.  */
# Line 200  typedef int YYSTYPE; Line 116  typedef int YYSTYPE;
116  /* Copy the second part of user declarations.  */  /* Copy the second part of user declarations.  */
117    
118    
119  /* Line 214 of yacc.c.  */  /* Line 213 of yacc.c.  */
120  #line 205 "y.tab.c"  #line 121 "y.tab.c"
121    
122  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
123    
124    # ifndef YYFREE
125    #  define YYFREE free
126    # endif
127    # ifndef YYMALLOC
128    #  define YYMALLOC malloc
129    # endif
130    
131  /* The parser invokes alloca or malloc; define the necessary symbols.  */  /* The parser invokes alloca or malloc; define the necessary symbols.  */
132    
133  # if YYSTACK_USE_ALLOCA  # ifdef YYSTACK_USE_ALLOCA
134  #  define YYSTACK_ALLOC alloca  #  if YYSTACK_USE_ALLOCA
135  # else  #   ifdef __GNUC__
136  #  ifndef YYSTACK_USE_ALLOCA  #    define YYSTACK_ALLOC __builtin_alloca
 #   if defined (alloca) || defined (_ALLOCA_H)  
 #    define YYSTACK_ALLOC alloca  
137  #   else  #   else
138  #    ifdef __GNUC__  #    define YYSTACK_ALLOC alloca
 #     define YYSTACK_ALLOC __builtin_alloca  
 #    endif  
139  #   endif  #   endif
140  #  endif  #  endif
141  # endif  # endif
# Line 229  typedef int YYSTYPE; Line 148  typedef int YYSTYPE;
148  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */  #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
149  #   define YYSIZE_T size_t  #   define YYSIZE_T size_t
150  #  endif  #  endif
151  #  define YYSTACK_ALLOC malloc  #  define YYSTACK_ALLOC YYMALLOC
152  #  define YYSTACK_FREE free  #  define YYSTACK_FREE YYFREE
153  # endif  # endif
154  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */  #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
155    
156    
157  #if (! defined (yyoverflow) \  #if (! defined (yyoverflow) \
158       && (! defined (__cplusplus) \       && (! defined (__cplusplus) \
159           || (YYSTYPE_IS_TRIVIAL)))           || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
160    
161  /* A type that is properly aligned for any stack member.  */  /* A type that is properly aligned for any stack member.  */
162  union yyalloc  union yyalloc
163  {  {
164    short yyss;    short int yyss;
165    YYSTYPE yyvs;    YYSTYPE yyvs;
166    };    };
167    
# Line 252  union yyalloc Line 171  union yyalloc
171  /* 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
172     N elements.  */     N elements.  */
173  # define YYSTACK_BYTES(N) \  # define YYSTACK_BYTES(N) \
174       ((N) * (sizeof (short) + sizeof (YYSTYPE))                         \       ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \
175        + YYSTACK_GAP_MAXIMUM)        + YYSTACK_GAP_MAXIMUM)
176    
177  /* Copy COUNT objects from FROM to TO.  The source and destination do  /* Copy COUNT objects from FROM to TO.  The source and destination do
178     not overlap.  */     not overlap.  */
179  # ifndef YYCOPY  # ifndef YYCOPY
180  #  if 1 < __GNUC__  #  if defined (__GNUC__) && 1 < __GNUC__
181  #   define YYCOPY(To, From, Count) \  #   define YYCOPY(To, From, Count) \
182        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))        __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
183  #  else  #  else
# Line 294  union yyalloc Line 213  union yyalloc
213  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
214     typedef signed char yysigned_char;     typedef signed char yysigned_char;
215  #else  #else
216     typedef short yysigned_char;     typedef short int yysigned_char;
217  #endif  #endif
218    
219  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
220  #define YYFINAL  30  #define YYFINAL  40
221  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
222  #define YYLAST   222  #define YYLAST   4527
223    
224  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
225  #define YYNTOKENS  47  #define YYNTOKENS  227
226  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
227  #define YYNNTS  29  #define YYNNTS  99
228  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
229  #define YYNRULES  81  #define YYNRULES  437
230  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
231  #define YYNSTATES  225  #define YYNSTATES  1240
232    
233  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
234  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
235  #define YYMAXUTOK   301  #define YYMAXUTOK   257
236    
237  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
238    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 322  union yyalloc Line 241  union yyalloc
241  static const unsigned char yytranslate[] =  static const unsigned char yytranslate[] =
242  {  {
243         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
244         225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
245         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
246         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,   224,    73,     7,     3,    74,    75,    76,     6,
247         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        77,    78,    79,     9,     5,    10,     8,    80,    11,    12,
248         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        13,    14,    15,    16,    17,    18,    19,    20,    81,    82,
249         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        83,     4,    84,    85,    86,    21,    22,    23,    24,    25,
250         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
251         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
252         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        46,    87,    88,    89,    90,    91,     2,    47,    48,    49,
253         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
254         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
255         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        70,    71,    72,    92,    93,    94,    95,     2,    96,    97,
256         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
257         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
258         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
259         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
260         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
261         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
262         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
263         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
264         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
265         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
266         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
267         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
268         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       218,   219,   220,   221,   222,   223,     1,     2
        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,  
        5,     6,     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  
269  };  };
270    
271  #if YYDEBUG  #if YYDEBUG
272  /* 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
273     YYRHS.  */     YYRHS.  */
274  static const unsigned short yyprhs[] =  static const unsigned short int yyprhs[] =
275  {  {
276         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
277        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
278        59,    65,    69,    75,    81,    87,    89,    91,    93,    99,        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,
279       107,   117,   119,   125,   133,   143,   145,   151,   159,   165,        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,
280       171,   177,   185,   193,   203,   213,   217,   223,   227,   231,       113,   115,   117,   119,   125,   133,   143,   145,   151,   159,
281       235,   241,   249,   255,   261,   267,   273,   277,   283,   285,       169,   171,   173,   179,   185,   193,   203,   211,   221,   223,
282       287,   289,   295,   299,   301,   303,   305,   307,   309,   311,       229,   237,   243,   249,   255,   259,   261,   263,   271,   281,
283       313,   315,   317,   319,   321,   323,   327,   329,   331,   334,       289,   299,   303,   307,   313,   317,   323,   327,   331,   335,
284       337,   339       339,   343,   349,   357,   363,   373,   379,   385,   391,   397,
285         403,   409,   415,   419,   425,   427,   429,   431,   433,   435,
286         437,   439,   441,   447,   455,   459,   461,   463,   465,   467,
287         469,   471,   473,   475,   477,   479,   481,   483,   485,   487,
288         491,   493,   497,   501,   503,   505,   507,   509,   511,   514,
289         518,   523,   528,   530,   533,   535,   537,   539,   541,   543,
290         545,   547,   549,   551,   553,   555,   558,   561,   564,   567,
291         570,   573,   576,   579,   582,   584,   586,   588,   590,   592,
292         594,   596,   598,   600,   602,   604,   606,   608,   610,   612,
293         614,   616,   618,   620,   622,   624,   626,   628,   630,   632,
294         634,   636,   638,   640,   642,   644,   646,   648,   650,   652,
295         654,   656,   658,   660,   662,   664,   666,   668,   670,   672,
296         674,   676,   678,   680,   682,   684,   686,   688,   690,   692,
297         694,   696,   698,   700,   702,   704,   706,   708,   710,   712,
298         714,   716,   718,   720,   722,   724,   726,   728,   730,   732,
299         734,   736,   738,   740,   742,   744,   746,   748,   750,   752,
300         754,   756,   758,   760,   762,   764,   766,   768,   770,   772,
301         774,   776,   778,   780,   782,   784,   786,   788,   790,   792,
302         794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
303         814,   816,   818,   820,   822,   824,   826,   828,   830,   832,
304         834,   836,   838,   840,   842,   844,   846,   848,   850,   852,
305         854,   856,   858,   860,   862,   864,   866,   868,   870,   872,
306         874,   876,   878,   880,   882,   884,   886,   888,   890,   892,
307         894,   896,   898,   900,   902,   904,   906,   908,   910,   912,
308         914,   916,   918,   920,   922,   924,   926,   928,   930,   932,
309         934,   936,   938,   940,   942,   944,   946,   948,   950,   952,
310         954,   956,   958,   960,   962,   964,   966,   968,   970,   972,
311         974,   976,   978,   980,   982,   984,   986,   988,   990,   992,
312         994,   996,   998,  1000,  1002,  1004,  1006,  1008,  1010,  1012,
313        1014,  1016,  1018,  1020,  1022,  1024,  1027,  1030,  1034,  1038,
314        1040,  1042,  1044,  1048,  1052,  1059,  1067,  1072,  1077,  1081,
315        1091,  1098,  1102,  1112,  1124,  1131,  1139,  1157,  1188,  1197,
316        1202,  1216,  1229,  1241,  1254,  1266,  1284,  1306,  1317,  1324,
317        1354,  1375,  1395,  1425,  1445,  1476,  1497,  1515,  1544,  1572,
318        1598,  1617,  1635,  1663,  1681,  1697,  1716,  1732,  1743,  1750,
319        1757,  1762,  1767,  1773,  1784,  1790,  1804,  1809
320  };  };
321    
322  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
323  static const yysigned_char yyrhs[] =  static const short int yyrhs[] =
324  {  {
325        48,     0,    -1,    49,    -1,    48,     7,    49,    -1,    48,       228,     0,    -1,   229,   268,    -1,   229,   269,   268,    -1,
326         8,     7,    49,    -1,    -1,    50,    -1,    51,    -1,     1,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
327        -1,     9,    -1,    50,     9,    -1,    50,     6,    -1,    50,         3,    -1,   230,   267,    -1,   230,   263,    -1,   230,   259,
328         5,    -1,    50,    75,    -1,    11,     6,    23,    -1,    12,        -1,   270,   267,   283,    -1,   271,   267,   234,    -1,   272,
329         6,    52,    -1,    13,     6,    54,    -1,    14,     6,    55,       267,   236,    -1,   273,   267,   237,    -1,   274,   267,   242,
330        -1,    15,     6,    60,    -1,    16,     6,    56,    -1,    17,        -1,   275,   267,   238,    -1,   278,   267,   283,   267,   252,
331         6,    23,     6,    65,    -1,    18,     6,    53,    -1,    19,        -1,   279,   267,   235,    -1,   280,   267,   232,    -1,   281,
332         6,    24,     6,    67,    -1,    20,     6,    24,     6,    70,       267,   233,    -1,   282,   267,   265,    -1,   322,   267,   283,
333        -1,    21,     6,    23,     6,    65,    -1,    22,    -1,    25,       267,   252,    -1,   322,    -1,   325,    -1,   288,    -1,   292,
334        -1,    26,    -1,    39,     6,    28,     6,    75,    -1,    40,        -1,   291,    -1,   290,    -1,   289,    -1,   323,    -1,   293,
335         6,    28,     6,    75,     6,    75,    -1,    40,     6,    28,        -1,   288,    -1,   292,    -1,   291,    -1,   290,    -1,   289,
336         6,    75,     6,    75,     6,    58,    -1,    37,    -1,    36,        -1,   323,    -1,   293,    -1,   284,    -1,   305,    -1,   311,
337         6,    28,     6,     5,    -1,    34,     6,    28,     6,     5,       267,   287,   267,   259,    -1,   310,   267,   287,   267,   259,
338         6,     5,    -1,    35,     6,    28,     6,     5,     6,     5,       267,   259,    -1,   310,   267,   287,   267,   259,   267,   259,
339         6,    75,    -1,    27,    -1,    23,     6,    28,     6,    65,       267,   240,    -1,   285,    -1,   301,   267,   287,   267,   259,
340        -1,    23,     6,    29,     6,    59,     6,    65,    -1,    23,        -1,   300,   267,   287,   267,   259,   267,   259,    -1,   300,
341         6,    30,     6,    65,    -1,    23,     6,    31,     6,    65,       267,   287,   267,   259,   267,   259,   267,   240,    -1,   298,
342        -1,    33,     6,    28,     6,    71,    -1,    38,     6,     5,        -1,   308,    -1,   299,   267,   287,   267,   263,    -1,   309,
343         6,    75,     6,    74,    -1,    38,     6,     5,     6,    75,       267,   287,   267,   263,    -1,   312,   267,   287,   267,   263,
344        10,    74,    -1,    35,     6,     5,     6,     5,     6,    75,       267,   263,    -1,   307,   267,   287,   267,   263,   267,   263,
345         6,    74,    -1,    35,     6,     5,     6,     5,     6,    75,       267,   259,    -1,   303,   267,   287,   267,   263,   267,   263,
346        10,    74,    -1,    23,     6,    57,    -1,    36,     6,    75,        -1,   302,   267,   287,   267,   263,   267,   263,   267,   259,
347         6,    58,    -1,    36,     6,     5,    -1,    32,     6,    61,        -1,   286,    -1,   283,   267,   287,   267,   252,    -1,   283,
348        -1,    33,     6,    62,    -1,    36,     6,    65,     6,     5,       267,   290,   267,   241,   267,   252,    -1,   283,   267,   291,
349        -1,    34,     6,    65,     6,    68,     6,    68,    -1,    41,       267,   252,    -1,   283,   267,   292,   267,   252,    -1,   296,
350         6,    65,     6,    72,    -1,    42,     6,    65,     6,    69,       267,   287,   267,   254,    -1,   316,   267,   287,    -1,   293,
351        -1,    43,     6,    65,     6,    63,    -1,    44,     6,    65,        -1,   294,    -1,   297,   267,   263,   267,   259,     4,   256,
352         6,    64,    -1,    75,    10,    74,    -1,    58,     6,    75,        -1,   302,   267,   263,   267,   263,   267,   259,     4,   256,
353        10,    74,    -1,    45,    -1,    46,    -1,    37,    -1,    73,        -1,   306,   267,   263,   267,   259,     4,   256,    -1,   307,
354         6,    66,     6,    65,    -1,    71,     6,    65,    -1,    75,       267,   263,   267,   263,   267,   259,     4,   256,    -1,   283,
355        -1,     4,    -1,     5,    -1,     5,    -1,     5,    -1,     5,       267,   239,    -1,   324,   267,   258,    -1,   299,   267,   259,
356        -1,     5,    -1,     5,    -1,    74,    -1,    75,    -1,    74,       267,   240,    -1,   299,   267,   259,    -1,   309,   267,   259,
357        -1,    74,    -1,    73,     6,    74,    -1,    75,    -1,     5,       267,   240,    -1,   309,   267,   259,    -1,   299,   267,   263,
358        -1,    74,    75,    -1,    74,     5,    -1,     3,    -1,    75,        -1,   309,   267,   263,    -1,   295,   267,   243,    -1,   296,
359         3,    -1       267,   244,    -1,   299,   267,   252,   267,   245,    -1,   303,
360         267,   252,   267,   246,   267,   246,    -1,   304,   267,   252,
361         267,   247,    -1,   315,   267,   252,   267,   245,   267,   248,
362         267,   249,    -1,   309,   267,   252,   267,   245,    -1,   312,
363         267,   252,   267,   248,    -1,   313,   267,   252,   267,   249,
364          -1,   314,   267,   252,   267,   250,    -1,   317,   267,   252,
365         267,   251,    -1,   318,   267,   252,   267,   258,    -1,   319,
366         267,   252,   267,   258,    -1,   259,     4,   256,    -1,   240,
367         267,   259,     4,   256,    -1,   320,    -1,   321,    -1,   298,
368          -1,   308,    -1,   286,    -1,   284,    -1,   305,    -1,   285,
369          -1,   255,   267,   253,   267,   252,    -1,   277,   267,   255,
370         267,   253,   267,   252,    -1,   254,   267,   252,    -1,   263,
371          -1,   263,    -1,   259,    -1,   263,    -1,   263,    -1,   276,
372          -1,   259,    -1,   260,    -1,   263,    -1,   263,    -1,   263,
373          -1,   259,    -1,   266,    -1,   257,    -1,   256,     5,   257,
374          -1,   259,    -1,     6,   259,     6,    -1,     7,   259,     7,
375          -1,   263,    -1,   260,    -1,   263,    -1,   259,    -1,   264,
376          -1,   259,   264,    -1,   261,     8,   261,    -1,     9,   261,
377           8,   261,    -1,    10,   261,     8,   261,    -1,   262,    -1,
378         261,   262,    -1,    11,    -1,    12,    -1,    13,    -1,    14,
379          -1,    15,    -1,    16,    -1,    17,    -1,    18,    -1,    19,
380          -1,    20,    -1,   262,    -1,    12,   261,    -1,    13,   261,
381          -1,    14,   261,    -1,    15,   261,    -1,    16,   261,    -1,
382          17,   261,    -1,    18,   261,    -1,    19,   261,    -1,    20,
383         261,    -1,    21,    -1,    22,    -1,    23,    -1,    24,    -1,
384          25,    -1,    26,    -1,    27,    -1,    28,    -1,    29,    -1,
385          30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,
386          35,    -1,    36,    -1,    37,    -1,    38,    -1,    39,    -1,
387          40,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1,
388          45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1,
389          50,    -1,    51,    -1,    52,    -1,    53,    -1,    54,    -1,
390          55,    -1,    56,    -1,    57,    -1,    58,    -1,    59,    -1,
391          60,    -1,    61,    -1,    62,    -1,    63,    -1,    64,    -1,
392          65,    -1,    66,    -1,    67,    -1,    68,    -1,    69,    -1,
393          70,    -1,    71,    -1,    72,    -1,    11,    -1,    12,    -1,
394          13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,    -1,
395          18,    -1,    19,    -1,    20,    -1,    73,    -1,     3,    -1,
396          74,    -1,    75,    -1,    76,    -1,    77,    -1,    78,    -1,
397          79,    -1,     9,    -1,    10,    -1,     8,    -1,     5,    -1,
398          80,    -1,    81,    -1,    82,    -1,    83,    -1,     4,    -1,
399          84,    -1,    85,    -1,    86,    -1,    87,    -1,    88,    -1,
400          89,    -1,    90,    -1,    91,    -1,    92,    -1,    93,    -1,
401          94,    -1,    95,    -1,    96,    -1,    97,    -1,    98,    -1,
402          99,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,
403         104,    -1,   105,    -1,   106,    -1,   107,    -1,   108,    -1,
404         109,    -1,   110,    -1,   111,    -1,   112,    -1,   113,    -1,
405         114,    -1,   115,    -1,   116,    -1,   117,    -1,   118,    -1,
406         119,    -1,   120,    -1,   121,    -1,   122,    -1,   123,    -1,
407         124,    -1,   125,    -1,   126,    -1,   127,    -1,   128,    -1,
408         129,    -1,   130,    -1,   131,    -1,   132,    -1,   133,    -1,
409         134,    -1,   135,    -1,   136,    -1,   137,    -1,   138,    -1,
410         139,    -1,   140,    -1,   141,    -1,   142,    -1,   143,    -1,
411         144,    -1,   145,    -1,   146,    -1,   147,    -1,   148,    -1,
412         149,    -1,   150,    -1,   151,    -1,   152,    -1,   153,    -1,
413         154,    -1,   155,    -1,   156,    -1,   157,    -1,   158,    -1,
414         159,    -1,   160,    -1,   161,    -1,   162,    -1,   163,    -1,
415         164,    -1,   165,    -1,   166,    -1,   167,    -1,   168,    -1,
416         169,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,
417         174,    -1,   175,    -1,   176,    -1,   177,    -1,   178,    -1,
418         179,    -1,   180,    -1,   181,    -1,   182,    -1,   183,    -1,
419         184,    -1,   185,    -1,   186,    -1,   187,    -1,   188,    -1,
420         189,    -1,   190,    -1,   191,    -1,   192,    -1,   193,    -1,
421         194,    -1,   195,    -1,   196,    -1,   197,    -1,   198,    -1,
422         199,    -1,   200,    -1,   201,    -1,   202,    -1,   203,    -1,
423         204,    -1,   205,    -1,   206,    -1,   207,    -1,   208,    -1,
424         209,    -1,   210,    -1,   211,    -1,   212,    -1,   213,    -1,
425         214,    -1,   215,    -1,   216,    -1,   217,    -1,   218,    -1,
426         219,    -1,   220,    -1,   221,    -1,   222,    -1,   223,    -1,
427         267,    -1,   259,    -1,   265,   267,    -1,   265,   259,    -1,
428           6,   265,     6,    -1,     7,   265,     7,    -1,   224,    -1,
429         225,    -1,   226,    -1,    21,    24,    24,    -1,    27,    25,
430          40,    -1,    23,    38,    25,    21,    40,    25,    -1,    24,
431          25,    39,    40,    38,    35,    45,    -1,    32,    29,    39,
432          40,    -1,    32,    35,    21,    24,    -1,    21,    32,    32,
433          -1,    34,    35,    34,    91,    33,    35,    24,    21,    32,
434          -1,    38,    25,    33,    35,    42,    25,    -1,    39,    25,
435          40,    -1,    39,    41,    22,    39,    23,    38,    29,    22,
436          25,    -1,    41,    34,    39,    41,    22,    39,    23,    38,
437          29,    22,    25,    -1,    39,    25,    32,    25,    23,    40,
438          -1,    23,    28,    21,    34,    34,    25,    32,    -1,    21,
439          42,    21,    29,    32,    21,    22,    32,    25,    91,    25,
440          34,    27,    29,    34,    25,    39,    -1,    21,    42,    21,
441          29,    32,    21,    22,    32,    25,    91,    21,    41,    24,
442          29,    35,    91,    35,    41,    40,    36,    41,    40,    91,
443          24,    38,    29,    42,    25,    38,    39,    -1,    23,    28,
444          21,    34,    34,    25,    32,    39,    -1,    29,    34,    26,
445          35,    -1,    23,    28,    21,    34,    34,    25,    32,    91,
446          23,    35,    41,    34,    40,    -1,    23,    28,    21,    34,
447          34,    25,    32,    91,    29,    34,    26,    35,    -1,    22,
448          41,    26,    26,    25,    38,    91,    26,    29,    32,    32,
449          -1,    39,    40,    38,    25,    21,    33,    91,    23,    35,
450          41,    34,    40,    -1,    42,    35,    29,    23,    25,    91,
451          23,    35,    41,    34,    40,    -1,    40,    35,    40,    21,
452          32,    91,    42,    35,    29,    23,    25,    91,    23,    35,
453          41,    34,    40,    -1,    40,    35,    40,    21,    32,    91,
454          42,    35,    29,    23,    25,    91,    23,    35,    41,    34,
455          40,    91,    33,    21,    44,    -1,    29,    34,    39,    40,
456          38,    41,    33,    25,    34,    40,    -1,    25,    34,    27,
457          29,    34,    25,    -1,    21,    41,    24,    29,    35,    91,
458          35,    41,    40,    36,    41,    40,    91,    24,    25,    42,
459          29,    23,    25,    91,    36,    21,    38,    21,    33,    25,
460          40,    25,    38,    -1,    21,    41,    24,    29,    35,    91,
461          35,    41,    40,    36,    41,    40,    91,    24,    25,    42,
462          29,    23,    25,    39,    -1,    21,    41,    24,    29,    35,
463          91,    35,    41,    40,    36,    41,    40,    91,    24,    25,
464          42,    29,    23,    25,    -1,    21,    41,    24,    29,    35,
465          91,    35,    41,    40,    36,    41,    40,    91,    24,    38,
466          29,    42,    25,    38,    91,    36,    21,    38,    21,    33,
467          25,    40,    25,    38,    -1,    21,    41,    24,    29,    35,
468          91,    35,    41,    40,    36,    41,    40,    91,    24,    38,
469          29,    42,    25,    38,    -1,    21,    41,    24,    29,    35,
470          91,    35,    41,    40,    36,    41,    40,    91,    23,    28,
471          21,    34,    34,    25,    32,    91,    36,    21,    38,    21,
472          33,    25,    40,    25,    38,    -1,    21,    41,    24,    29,
473          35,    91,    35,    41,    40,    36,    41,    40,    91,    23,
474          28,    21,    34,    34,    25,    32,    -1,    21,    41,    24,
475          29,    35,    91,    35,    41,    40,    36,    41,    40,    91,
476          40,    45,    36,    25,    -1,    21,    42,    21,    29,    32,
477          21,    22,    32,    25,    91,    33,    29,    24,    29,    91,
478          29,    34,    36,    41,    40,    91,    24,    38,    29,    42,
479          25,    38,    39,    -1,    33,    29,    24,    29,    91,    29,
480          34,    36,    41,    40,    91,    24,    25,    42,    29,    23,
481          25,    91,    36,    21,    38,    21,    33,    25,    40,    25,
482          38,    -1,    33,    29,    24,    29,    91,    29,    34,    36,
483          41,    40,    91,    36,    35,    38,    40,    91,    36,    21,
484          38,    21,    33,    25,    40,    25,    38,    -1,    33,    29,
485          24,    29,    91,    29,    34,    36,    41,    40,    91,    24,
486          25,    42,    29,    23,    25,    39,    -1,    33,    29,    24,
487          29,    91,    29,    34,    36,    41,    40,    91,    24,    25,
488          42,    29,    23,    25,    -1,    33,    29,    24,    29,    91,
489          29,    34,    36,    41,    40,    91,    24,    38,    29,    42,
490          25,    38,    91,    36,    21,    38,    21,    33,    25,    40,
491          25,    38,    -1,    33,    29,    24,    29,    91,    29,    34,
492          36,    41,    40,    91,    24,    38,    29,    42,    25,    38,
493          -1,    33,    29,    24,    29,    91,    29,    34,    36,    41,
494          40,    91,    36,    35,    38,    40,    -1,    33,    29,    24,
495          29,    91,    29,    34,    36,    41,    40,    91,    23,    28,
496          21,    34,    34,    25,    32,    -1,    33,    29,    24,    29,
497          91,    29,    34,    36,    41,    40,    91,    40,    45,    36,
498          25,    -1,    33,    29,    24,    29,    91,    29,    34,    36,
499          41,    40,    -1,    39,    25,    38,    42,    25,    38,    -1,
500          42,    35,    32,    41,    33,    25,    -1,    33,    41,    40,
501          25,    -1,    39,    35,    32,    35,    -1,    22,    45,    40,
502          25,    39,    -1,    36,    25,    38,    23,    25,    34,    40,
503          21,    27,    25,    -1,    38,    25,    39,    25,    40,    -1,
504          33,    29,    39,    23,    25,    32,    32,    21,    34,    25,
505          35,    41,    39,    -1,    25,    23,    28,    35,    -1,    37,
506          41,    29,    40,    -1
507  };  };
508    
509  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
510  static const unsigned char yyrline[] =  static const unsigned short int yyrline[] =
511  {  {
512         0,    75,    75,    76,    77,    80,    81,    82,    83,    86,         0,    90,    90,    91,    94,    95,    96,    97,   100,   101,
513        87,    88,    89,    90,    93,    94,    95,    96,    97,    98,       102,   103,   104,   107,   108,   109,   110,   111,   112,   113,
514        99,   100,   101,   102,   103,   104,   107,   108,   109,   110,       114,   115,   116,   117,   118,   119,   120,   123,   124,   125,
515       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       126,   127,   128,   129,   132,   133,   134,   135,   136,   137,
516       121,   124,   125,   126,   127,   128,   131,   134,   137,   138,       138,   141,   142,   143,   144,   145,   146,   147,   148,   149,
517       141,   142,   143,   144,   145,   146,   149,   150,   152,   153,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
518       156,   159,   162,   165,   168,   169,   172,   175,   178,   181,       160,   161,   162,   163,   164,   165,   166,   169,   170,   171,
519       184,   187,   190,   193,   196,   197,   200,   201,   202,   203,       172,   173,   174,   177,   178,   179,   180,   183,   184,   187,
520       206,   207       188,   191,   192,   193,   194,   195,   196,   197,   198,   199,
521         200,   201,   204,   205,   208,   209,   212,   213,   214,   215,
522         216,   217,   220,   221,   224,   227,   230,   233,   236,   239,
523         240,   243,   246,   247,   250,   253,   256,   259,   262,   263,
524         266,   267,   268,   269,   270,   278,   279,   282,   283,   286,
525         287,   288,   292,   293,   296,   297,   298,   299,   300,   301,
526         302,   303,   304,   305,   308,   309,   310,   311,   312,   313,
527         314,   315,   316,   317,   319,   319,   319,   319,   319,   319,
528         319,   319,   319,   319,   319,   319,   319,   319,   319,   319,
529         319,   319,   319,   319,   319,   319,   319,   319,   319,   319,
530         320,   320,   320,   320,   320,   320,   320,   320,   320,   320,
531         320,   320,   320,   320,   320,   320,   320,   320,   320,   320,
532         320,   320,   320,   320,   320,   320,   321,   321,   321,   321,
533         321,   321,   321,   321,   321,   321,   322,   322,   322,   322,
534         322,   322,   322,   322,   322,   322,   322,   322,   322,   323,
535         323,   323,   323,   323,   323,   323,   324,   324,   324,   324,
536         324,   325,   325,   325,   325,   326,   326,   326,   327,   327,
537         327,   328,   328,   328,   329,   329,   329,   330,   330,   330,
538         331,   331,   331,   332,   332,   332,   333,   333,   333,   334,
539         334,   334,   335,   335,   335,   336,   336,   336,   337,   337,
540         337,   338,   338,   338,   339,   339,   339,   340,   340,   340,
541         341,   341,   341,   342,   342,   342,   343,   343,   343,   344,
542         344,   344,   345,   345,   345,   346,   346,   346,   347,   347,
543         347,   348,   348,   348,   349,   349,   349,   350,   350,   350,
544         351,   351,   351,   352,   352,   352,   353,   353,   353,   354,
545         354,   354,   355,   355,   355,   356,   356,   356,   357,   357,
546         357,   358,   358,   358,   359,   359,   359,   360,   360,   360,
547         361,   361,   361,   362,   362,   362,   363,   363,   363,   364,
548         364,   364,   365,   365,   365,   366,   366,   366,   367,   367,
549         367,   368,   368,   371,   372,   373,   374,   377,   378,   384,
550         387,   390,   393,   396,   399,   402,   405,   408,   411,   414,
551         417,   420,   423,   426,   429,   432,   435,   438,   441,   444,
552         447,   450,   453,   456,   459,   462,   465,   468,   471,   474,
553         477,   480,   483,   486,   489,   492,   495,   498,   501,   504,
554         507,   510,   513,   516,   519,   522,   525,   528,   531,   534,
555         537,   540,   543,   546,   549,   552,   555,   558
556  };  };
557  #endif  #endif
558    
# Line 430  static const unsigned char yyrline[] = Line 561  static const unsigned char yyrline[] =
561     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals. */
562  static const char *const yytname[] =  static const char *const yytname[] =
563  {  {
564    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "SP", "LF",    "$end", "error", "$undefined", "'#'", "'='", "','", "'''", "'\"'",
565    "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY", "LIST", "LOAD",    "'.'", "'+'", "'-'", "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'",
566    "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL",    "'7'", "'8'", "'9'", "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'",
567    "NOTIFICATION", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",    "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'",
568    "CHANNELS", "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'",
569    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_CHANNEL",    "'b'", "'c'", "'d'", "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'",
570    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_DEVICE",    "'l'", "'m'", "'n'", "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'",
571    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "'v'", "'w'", "'x'", "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('",
572    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "')'", "'*'", "'/'", "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['",
573    "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "VOLUME",    "'\\\\'", "']'", "'^'", "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'",
574    "BYTES", "PERCENTAGE", "$accept", "input", "line", "comment", "command",    "'\\201'", "'\\202'", "'\\203'", "'\\204'", "'\\205'", "'\\206'",
575    "get_instruction", "set_instruction", "create_instruction",    "'\\207'", "'\\210'", "'\\211'", "'\\212'", "'\\213'", "'\\214'",
576    "destroy_instruction", "load_instruction", "set_chan_instruction",    "'\\215'", "'\\216'", "'\\217'", "'\\220'", "'\\221'", "'\\222'",
577    "key_val_list", "buffer_size_type", "list_instruction",    "'\\223'", "'\\224'", "'\\225'", "'\\226'", "'\\227'", "'\\230'",
578    "load_instr_args", "load_engine_args", "midi_input_type", "volume",    "'\\231'", "'\\232'", "'\\233'", "'\\234'", "'\\235'", "'\\236'",
579    "sampler_channel", "instrument_index", "udp_port",    "'\\237'", "' '", "'¡'", "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'",
580    "audio_output_channel", "midi_input_channel", "session_id",    "'©'", "'ª'", "'«'", "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'",
581    "engine_name", "midi_input_port", "filename", "alpha_num_string",    "'³'", "'´'", "'µ'", "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'",
582    "string", 0    "'½'", "'¾'", "'¿'", "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'",
583      "'Ç'", "'È'", "'É'", "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'",
584      "'Ñ'", "'Ò'", "'Ó'", "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'",
585      "'Û'", "'Ü'", "'Ý'", "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'",
586      "'å'", "'æ'", "'ç'", "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'",
587      "'ï'", "'ð'", "'ñ'", "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'",
588      "'ù'", "'ú'", "'û'", "'ü'", "'ý'", "'þ'", "'ÿ'", "' '", "'\\n'", "'\\r'",
589      "$accept", "input", "line", "comment", "command", "subscribe_event",
590      "unsubscribe_event", "get_instruction", "set_instruction",
591      "create_instruction", "destroy_instruction", "load_instruction",
592      "set_chan_instruction", "key_val_list", "buffer_size_type",
593      "list_instruction", "load_instr_args", "load_engine_args",
594      "device_index", "audio_channel_index", "audio_output_type_name",
595      "midi_input_port_index", "midi_input_channel_index",
596      "midi_input_type_name", "volume_value", "sampler_channel",
597      "instrument_index", "engine_name", "filename", "param_val_list",
598      "param_val", "boolean", "string", "dotnum", "digits", "digit", "number",
599      "char", "text", "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE",
600      "DESTROY", "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET",
601      "SUBSCRIBE", "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
602      "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",
603      "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
604      "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",
605      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
606      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
607      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
608      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
609      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
610      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
611      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",
612      "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER",
613      "VOLUME", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",
614      "MISCELLANEOUS", "ECHO", "QUIT", 0
615  };  };
616  #endif  #endif
617    
618  # ifdef YYPRINT  # ifdef YYPRINT
619  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to  /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
620     token YYLEX-NUM.  */     token YYLEX-NUM.  */
621  static const unsigned short yytoknum[] =  static const unsigned short int yytoknum[] =
622  {  {
623         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,         0,   256,   257,    35,    61,    44,    39,    34,    46,    43,
624       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,        45,    48,    49,    50,    51,    52,    53,    54,    55,    56,
625       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,        57,    65,    66,    67,    68,    69,    70,    71,    72,    73,
626       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
627       295,   296,   297,   298,   299,   300,   301        84,    85,    86,    87,    88,    89,    90,    97,    98,    99,
628         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
629         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
630         120,   121,   122,    33,    36,    37,    38,    40,    41,    42,
631          47,    58,    59,    60,    62,    63,    64,    91,    92,    93,
632          94,    95,   123,   124,   125,   126,   128,   129,   130,   131,
633         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
634         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
635         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
636         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
637         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
638         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
639         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
640         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
641         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
642         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
643         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
644         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
645         252,   253,   254,   255,    32,    10,    13
646  };  };
647  # endif  # endif
648    
649  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
650  static const unsigned char yyr1[] =  static const unsigned short int yyr1[] =
651  {  {
652         0,    47,    48,    48,    48,    49,    49,    49,    49,    50,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
653        50,    50,    50,    50,    51,    51,    51,    51,    51,    51,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
654        51,    51,    51,    51,    51,    51,    52,    52,    52,    52,       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,
655        52,    52,    52,    52,    52,    52,    52,    52,    52,    52,       232,   232,   232,   232,   233,   233,   233,   233,   233,   233,
656        52,    53,    53,    53,    53,    53,    54,    55,    56,    56,       233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
657        57,    57,    57,    57,    57,    57,    58,    58,    59,    59,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
658        60,    61,    62,    63,    64,    64,    65,    66,    67,    68,       234,   234,   234,   234,   234,   234,   234,   235,   235,   235,
659        69,    70,    71,    72,    73,    73,    74,    74,    74,    74,       235,   235,   235,   236,   236,   236,   236,   237,   237,   238,
660        75,    75       238,   239,   239,   239,   239,   239,   239,   239,   239,   239,
661         239,   239,   240,   240,   241,   241,   242,   242,   242,   242,
662         242,   242,   243,   243,   244,   245,   246,   247,   248,   249,
663         249,   250,   251,   251,   252,   253,   254,   255,   256,   256,
664         257,   257,   257,   257,   257,   258,   258,   259,   259,   260,
665         260,   260,   261,   261,   262,   262,   262,   262,   262,   262,
666         262,   262,   262,   262,   263,   263,   263,   263,   263,   263,
667         263,   263,   263,   263,   264,   264,   264,   264,   264,   264,
668         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
669         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
670         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
671         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
672         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
673         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
674         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
675         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
676         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
677         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
678         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
679         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
680         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
681         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
682         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
683         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
684         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
685         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
686         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
687         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
688         264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
689         264,   264,   264,   265,   265,   265,   265,   266,   266,   267,
690         268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
691         278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
692         288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
693         298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
694         308,   309,   310,   311,   312,   313,   314,   315,   316,   317,
695         318,   319,   320,   321,   322,   323,   324,   325
696  };  };
697    
698  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
699  static const unsigned char yyr2[] =  static const unsigned char yyr2[] =
700  {  {
701         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
702         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,
703         5,     3,     5,     5,     5,     1,     1,     1,     5,     7,         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,
704         9,     1,     5,     7,     9,     1,     5,     7,     5,     5,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
705         5,     7,     7,     9,     9,     3,     5,     3,     3,     3,         1,     1,     1,     5,     7,     9,     1,     5,     7,     9,
706         5,     7,     5,     5,     5,     5,     3,     5,     1,     1,         1,     1,     5,     5,     7,     9,     7,     9,     1,     5,
707         1,     5,     3,     1,     1,     1,     1,     1,     1,     1,         7,     5,     5,     5,     3,     1,     1,     7,     9,     7,
708         1,     1,     1,     1,     1,     3,     1,     1,     2,     2,         9,     3,     3,     5,     3,     5,     3,     3,     3,     3,
709         1,     2         3,     5,     7,     5,     9,     5,     5,     5,     5,     5,
710           5,     5,     3,     5,     1,     1,     1,     1,     1,     1,
711           1,     1,     5,     7,     3,     1,     1,     1,     1,     1,
712           1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
713           1,     3,     3,     1,     1,     1,     1,     1,     2,     3,
714           4,     4,     1,     2,     1,     1,     1,     1,     1,     1,
715           1,     1,     1,     1,     1,     2,     2,     2,     2,     2,
716           2,     2,     2,     2,     1,     1,     1,     1,     1,     1,
717           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
718           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
719           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
720           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
721           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
722           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
723           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
724           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
725           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
726           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
727           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
728           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
729           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
730           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
731           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
732           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
733           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
734           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
735           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
736           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
737           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
738           1,     1,     1,     1,     1,     2,     2,     3,     3,     1,
739           1,     1,     3,     3,     6,     7,     4,     4,     3,     9,
740           6,     3,     9,    11,     6,     7,    17,    30,     8,     4,
741          13,    12,    11,    12,    11,    17,    21,    10,     6,    29,
742          20,    19,    29,    19,    30,    20,    17,    28,    27,    25,
743          18,    17,    27,    17,    15,    18,    15,    10,     6,     6,
744           4,     4,     5,    10,     5,    13,     4,     4
745  };  };
746    
747  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
748     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
749     means the default is an error.  */     means the default is an error.  */
750  static const unsigned char yydefact[] =  static const unsigned short int yydefact[] =
751  {  {
752         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
753         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,
754           0,     0,     0,     0,     0,     0,     0,    25,    26,     0,
755           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
756           1,   380,   381,     2,     0,     9,   232,   227,   226,   224,
757         225,   134,   135,   136,   137,   138,   139,   140,   141,   142,
758         143,   154,   155,   156,   157,   158,   159,   160,   161,   162,
759         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
760         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
761         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
762         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
763         203,   204,   205,   216,   218,   219,   220,   221,   222,   223,
764         228,   229,   230,   231,   233,   234,   235,   236,   237,   238,
765         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
766         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
767         259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
768         269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
769         279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
770         289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
771         299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
772         309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
773         319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
774         329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
775         339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
776         349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
777         359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
778         369,   370,   371,   372,   379,    12,   144,    11,   127,    10,
779           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
780           0,     0,   382,     0,     0,   383,     0,     0,     0,     0,
781           0,     0,   391,     0,     0,     3,   134,   135,   136,   137,
782         138,   139,   140,   141,   142,   143,   145,   132,   146,   147,
783         148,   149,   150,   151,   152,   153,   217,   206,   207,   208,
784         209,   210,   211,   212,   213,   214,   215,   128,     0,    13,
785           0,     0,     0,     0,     0,     0,    14,     0,    41,    46,
786          58,    65,    66,     0,    50,     0,     0,     0,     0,     0,
787          42,     0,    51,     0,     0,     0,     0,     0,     0,     0,
788          15,     0,     0,    16,     0,     0,     0,     0,     0,    17,
789          99,   101,    98,    96,   100,    97,     0,    18,     0,     0,
790           0,     0,     0,     0,    20,     0,     0,     0,     0,     0,
791           0,     0,     0,     0,     0,     0,     0,    21,    27,    31,
792          30,    29,    28,    33,    32,    22,    34,    38,    37,    36,
793          35,    40,    39,   374,    23,   373,     0,     0,     0,   386,
794         387,   437,     0,     0,     0,     0,     0,   133,     0,     0,
795           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
796           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
797           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
798           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
799           0,     0,     0,     0,     0,     0,     0,   376,   375,     0,
800           0,     0,     0,   434,     0,     0,     0,     0,     0,     0,
801           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
802           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
803           0,    64,     0,     0,    74,    76,   135,   136,   137,   138,
804         139,   140,   141,   142,   143,    77,    78,     0,     0,     0,
805           0,     0,     0,     0,    79,     0,   117,     0,    80,     0,
806         116,    19,   114,     0,     0,     0,     0,     0,     0,     0,
807          71,     0,     0,     0,     0,     0,     0,     0,     0,     0,
808           0,     0,     0,     0,     0,     0,    72,   126,   125,     0,
809           0,     0,     0,     0,     0,    24,   384,     0,   390,   394,
810           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
811         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
812         1,     0,     0,    80,    12,    11,    10,    13,    14,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
813        26,    27,    35,     0,     0,     0,     0,    31,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
814        15,     0,    16,     0,    17,    60,    18,     0,     0,    19,         0,   436,     0,     0,     0,     0,     0,     0,     0,     0,
815         0,     0,     0,     0,    21,     0,     0,     0,     3,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
816        81,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   385,
817         0,     0,     0,     0,     0,     0,     0,     0,     0,     4,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
818         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,    59,     0,     0,     0,    94,    95,    61,    62,    63,
819         0,    47,    77,    48,     0,    74,    76,    49,     0,    72,        52,     0,    47,     0,     0,     0,    53,     0,    43,     0,
820        66,    20,     0,     0,     0,     0,     0,     0,    45,     0,         0,     0,    73,     0,    75,     0,     0,     0,     0,   377,
821         0,    68,    22,    23,    71,    24,     0,     0,     0,     0,       378,     0,     0,   115,     0,   104,     0,     0,     0,     0,
822         0,     0,     0,     0,     0,     0,     0,     0,    79,    78,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
823         0,     0,     0,     0,     0,     0,     0,     0,     0,    36,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
824        58,    59,     0,    38,    39,    40,     0,     0,    32,    28,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
825         0,    46,     0,    77,     0,    75,    62,     0,     0,     0,       408,     0,   428,     0,   399,     0,     0,     0,     0,     0,
826         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
827         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   430,
828         0,    37,    33,     0,    29,     0,    56,    61,    69,     0,       431,     0,     0,     0,     0,     0,     0,     0,     0,     0,
829        50,    52,    73,    70,    53,    54,    63,    64,    65,    55,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
830         0,    41,    42,     0,     0,     0,     0,     0,     0,    34,         0,     0,     0,   392,     0,   395,     0,     0,   395,     0,
831        30,    57,    51,    43,    44         0,     0,     0,    60,    48,     0,    56,     0,    44,    54,
832           0,     0,     0,     0,     0,   224,   225,    92,   118,   120,
833         124,     0,   132,   123,     0,     0,     0,     0,     0,   102,
834           0,     0,     0,     0,     0,     0,    81,   105,     0,   106,
835          83,   107,    85,    86,   108,     0,    87,   109,   110,    88,
836         111,     0,     0,     0,    89,   112,   113,    90,    91,    67,
837           0,    69,     0,     0,     0,     0,     0,     0,     0,     0,
838           0,     0,   398,     0,     0,     0,     0,     0,     0,     0,
839           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
840           0,     0,     0,     0,     0,     0,     0,     0,     0,   429,
841           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
842           0,   393,     0,     0,     0,     0,   432,     0,    49,    57,
843          55,    45,     0,     0,    93,   121,   122,     0,     0,   119,
844         129,     0,     0,     0,     0,   103,     0,     0,     0,     0,
845          82,   388,     0,    68,    70,     0,     0,     0,     0,     0,
846           0,     0,     0,     0,     0,     0,     0,     0,     0,   130,
847         131,     0,     0,   407,     0,     0,     0,     0,     0,     0,
848           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
849           0,     0,     0,     0,     0,     0,     0,     0,   389,     0,
850           0,     0,     0,    84,   402,     0,     0,     0,     0,     0,
851         404,     0,     0,     0,     0,     0,     0,     0,     0,     0,
852           0,     0,     0,     0,     0,     0,     0,   427,     0,   401,
853           0,   403,     0,     0,     0,     0,     0,     0,     0,     0,
854           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
855           0,   400,   435,     0,     0,     0,     0,     0,     0,     0,
856           0,     0,     0,   433,     0,     0,     0,     0,     0,     0,
857           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
858           0,     0,     0,     0,     0,   424,     0,     0,     0,     0,
859           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
860           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
861           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
862           0,     0,     0,     0,     0,     0,     0,   396,     0,   421,
863         423,     0,   405,     0,   421,     0,     0,     0,     0,     0,
864           0,     0,     0,   424,   426,   405,     0,     0,     0,     0,
865           0,   420,     0,     0,     0,     0,     0,     0,     0,     0,
866           0,     0,     0,     0,   411,   413,     0,     0,     0,     0,
867           0,   411,     0,     0,     0,     0,     0,   416,     0,   415,
868         410,     0,     0,     0,     0,     0,     0,     0,     0,     0,
869           0,   425,     0,     0,     0,     0,     0,     0,   406,     0,
870           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
871         415,     0,     0,     0,     0,     0,     0,     0,     0,     0,
872           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
873           0,     0,   419,     0,     0,     0,     0,     0,     0,     0,
874           0,     0,     0,     0,     0,     0,   422,     0,   418,     0,
875           0,     0,   417,     0,     0,   412,     0,   409,   414,   397
876  };  };
877    
878  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
879  static const short yydefgoto[] =  static const short int yydefgoto[] =
880  {  {
881        -1,    15,    16,    17,    18,    50,    64,    52,    54,    59,        -1,    12,    13,    14,    15,   397,   405,   336,   384,   360,
882       118,   161,   152,    56,   103,   107,   205,   209,   111,   164,       363,   377,   550,   682,   664,   369,   534,   538,   826,   828,
883       122,   199,   204,   123,   108,   201,   104,   105,   106       830,   833,   836,   839,   844,   541,   692,   539,   535,   807,
884         808,   566,   809,   810,   811,   266,   542,   268,   414,   536,
885         746,    43,    44,    16,    17,    18,    19,    20,    21,   838,
886         537,    22,    23,    24,    25,    26,   329,   338,   339,   340,
887         496,   398,   399,   400,   401,   402,   341,   342,   378,   343,
888         386,   344,   345,   346,   347,   348,   349,   553,   350,   388,
889         351,   352,   353,   354,   355,   356,   556,   557,   558,   357,
890         559,   560,   561,   665,   666,    27,   404,   390,    28
891  };  };
892    
893  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
894     STATE-NUM.  */     STATE-NUM.  */
895  #define YYPACT_NINF -86  #define YYPACT_NINF -750
896  static const short yypact[] =  static const short int yypact[] =
897  {  {
898         3,   -86,   -86,    21,    25,    43,    67,    86,    91,    96,        53,  -750,  -750,     7,    -5,    33,    50,     3,    43,   121,
899       105,   106,   108,   109,   -86,    28,   -86,    84,   -86,   -14,         0,   104,   150,  -105,  1650,  -750,   -47,   -47,   -47,   -47,
900         7,    80,    85,    83,     5,    87,    22,    99,   100,   102,       -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,  -750,   187,
901       -86,     3,   115,   -86,   -86,   -86,   -86,   123,   -86,   121,       206,   193,   209,   194,   229,   222,    76,    -3,   230,   216,
902       -86,   -86,   -86,   122,   128,   129,   130,   -86,   131,   132,      -750,  -750,  -750,  -750,    31,  -750,  -750,  -750,  -750,  -750,
903       -86,   133,   -86,   134,   -86,   -86,   -86,   135,   136,   -86,      -750,  -750,   269,   269,   269,   269,   269,   269,   269,   269,
904       137,   138,   139,   140,   -86,   141,   143,   144,   -86,     3,       269,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
905       -86,   -23,   101,   124,   125,   126,   127,   142,   148,   151,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
906        45,   148,   152,    38,   153,   154,   155,    45,   152,   -86,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
907       157,   158,   159,   160,   161,   162,   166,   167,   168,   169,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
908        23,   -86,   -86,   -86,   170,    93,   123,   -86,   171,   123,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
909       -86,   -86,   172,   174,   175,   176,   177,   178,   -86,   180,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
910       181,   -86,   -86,   -86,    93,   -86,   152,    40,   152,   152,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
911       148,   183,   184,   185,   148,   148,   148,    98,   -86,   123,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
912       152,   152,   152,   152,   152,   152,   152,   186,   148,   -86,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
913       -86,   -86,   187,   -86,   -86,   -86,   192,   193,   -86,   123,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
914        72,   194,    73,   195,   196,    93,   -86,   197,   199,   202,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
915       203,   204,   205,   206,    52,   152,   208,   209,   148,   148,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
916        45,   152,   210,   211,    45,   212,   148,   104,   148,    45,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
917        45,   -86,   -86,   213,    88,    74,    93,   -86,   -86,   214,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
918       -86,   -86,    93,   -86,   -86,   -86,   123,   -86,   -86,   -86,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
919        53,    93,    93,   148,   148,    45,   210,    45,    45,   123,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
920       194,    93,   -86,    93,    93      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
921        -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
922        -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
923        -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
924        -750,  -750,  -750,  -750,  -750,  2757,  -750,  -750,  -750,  -750,
925         234,    72,    65,    65,    80,     5,   234,    85,    39,    39,
926        1872,   234,  -750,   238,   221,  -750,   223,   240,   225,   227,
927         241,   243,  -750,   231,   228,  -750,  -750,  -750,  -750,  -750,
928        -750,  -750,  -750,  -750,  -750,  -750,   269,  -750,   269,   269,
929         269,   269,   269,   269,   269,   269,  -750,  -750,  -750,  -750,
930        -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,   244,  -750,
931         122,   245,   237,   246,   265,   256,  -750,   -47,  -750,  -750,
932        -750,  -750,  -750,   -47,  -750,   -47,   -47,   -47,   -47,   -47,
933        -750,   -47,  -750,   -47,   -47,   -47,   -47,   -47,   251,   264,
934        -750,   -47,   -47,  -750,   -47,   -47,   134,   266,   268,  -750,
935        -750,  -750,  -750,  -750,  -750,  -750,   261,  -750,   -47,   -47,
936         -47,   275,   294,   289,  -750,   -47,   -47,   -47,   -47,   -47,
937         -47,   278,   292,   293,   281,   288,   290,  -750,  -750,  -750,
938        -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
939        -750,  -750,  -750,  2757,  1872,  -750,   -47,   286,   291,  -750,
940        -750,  -750,   285,   297,   305,   316,   323,  -750,   325,   326,
941         332,   333,   320,   331,   318,   319,    60,   328,   328,   328,
942         328,   328,   328,   328,   328,   328,   328,   328,   328,   334,
943         336,  2757,  2757,   295,   295,   337,   341,   339,   329,    21,
944        2757,   295,   340,   342,   345,    18,   295,   295,   295,   295,
945        2978,   352,   350,   343,   346,   347,   351,  2757,  -750,   295,
946         354,   348,   356,  -750,   349,   353,   355,   358,   357,   359,
947         361,   364,   367,   360,   369,   363,   -47,   -47,   -47,   -47,
948         -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
949         -47,  -750,   370,   371,  1872,  1872,   269,   269,   269,   269,
950         269,   269,   269,   269,   269,  -750,  -750,   375,   372,   376,
951         368,  1872,  1872,   374,  -750,   -47,  -750,   -47,  -750,   -47,
952        2757,  -750,  -750,   381,   377,   382,   344,    78,   378,   379,
953        -750,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
954         -47,   -47,   -47,   -47,   -47,   -47,  -750,  2757,  -750,   389,
955         383,   393,   373,   397,   396,  -750,  -750,   380,  -750,  -750,
956         391,   398,   388,   392,   394,   390,   395,   366,   403,   399,
957         404,   295,    37,   295,   295,  2757,   295,  2757,  2757,   295,
958         295,   295,   295,  2757,  2757,   295,   400,   384,  2757,  2757,
959         401,   407,   385,   405,  1206,  1428,   408,   295,   176,   295,
960         402,  -750,   386,   409,   410,   406,   412,   413,   295,   295,
961         295,   295,   295,   295,   295,   295,   295,   295,   295,  2757,
962         295,  2757,   295,   422,   414,   424,   411,   418,   426,  -750,
963         416,   420,   434,   387,   439,   436,   437,   435,   425,   429,
964         430,  -750,   421,   442,   -47,  -750,  -750,  -750,  -750,  -750,
965        -750,  1872,  2757,   -47,   -47,   -47,  -750,  1872,  2757,   -47,
966         432,   440,   -47,  3199,   -47,   445,   443,   441,   431,  -750,
967        -750,   446,   -47,  -750,   -47,  -750,   462,   444,   450,   451,
968         449,   447,   457,   -47,   -47,   -47,   -47,   -47,   -47,   -47,
969         -47,   -47,   -47,   -47,  3420,   -47,  3641,   -47,   433,   456,
970         467,   470,   463,   464,   475,   476,   472,   480,   494,   485,
971        -750,   487,  -750,   483,  -750,   516,   519,   295,  2757,   295,
972         295,   295,  2757,   295,   523,   525,  2757,  2094,   526,   528,
973         530,   529,   532,   295,   295,   531,   533,   534,   477,  -750,
974        -750,   537,   295,   295,  2757,   295,   295,   226,  2757,   295,
975         185,  2978,  2978,  2094,  2757,  2094,  2757,   481,   539,   541,
976         484,   535,   551,  -750,   554,  -750,   538,   546,   542,   544,
977         548,   559,   566,  -750,  1872,   -47,  -750,   -47,  1872,  -750,
978         549,   556,  3862,  2757,  2757,   269,   269,   588,  -750,  2757,
979        -750,   114,    10,  -750,   553,   542,   560,   570,   563,  -750,
980         -47,   558,   564,   513,   576,   581,  -750,  -750,   -47,  -750,
981        -750,  2757,  -750,  -750,  -750,   575,  -750,  -750,  -750,  -750,
982        2757,   -47,   269,   269,  -750,  -750,  -750,  -750,  -750,   588,
983        4083,   588,  4304,   582,   518,   589,   590,   577,   579,   586,
984         578,   591,  -750,   574,   592,   580,   595,  2757,  2757,  2757,
985        2757,   583,   584,  2094,  2315,  2536,   154,   173,  2094,   269,
986         587,   593,   596,   598,   295,   597,   594,   601,   599,  -750,
987         295,   585,   295,  2094,  2094,   600,   118,   604,   605,   602,
988         603,  -750,   606,   550,   607,   609,  -750,   611,   -47,  2757,
989        2757,   -47,   610,   608,   588,  -750,  -750,   269,   269,  -750,
990         269,   613,   612,   614,   618,  -750,   617,   615,   616,   620,
991        -750,  -750,   -47,   588,   588,   627,   628,   631,   625,   626,
992         645,   635,   629,   115,   552,   646,   632,   633,   619,   269,
993         269,   634,   621,  -750,   641,   636,   622,   638,   639,   226,
994         644,   642,   656,   649,   651,   661,   647,   648,   660,   655,
995         674,    99,   623,   684,   666,   683,   668,   685,  -750,   675,
996         113,   680,   677,  -750,  -750,   686,   687,   678,   681,   637,
997        -750,   643,   694,   696,   700,    15,   695,   709,   708,   650,
998         711,   652,   713,   653,   714,   707,   704,   659,   706,  -750,
999         715,  -750,   724,   183,   733,   735,   737,   725,   741,   734,
1000         736,   748,   750,   738,   752,   744,   202,   746,   740,   739,
1001          64,  -750,  -750,   754,   755,    58,   756,   758,   699,   764,
1002         757,   760,   753,  -750,   772,   769,   777,   774,   776,   780,
1003         779,   766,   718,   782,   783,   775,   770,   793,   781,   790,
1004         730,   797,   795,   802,   801,   743,   796,   785,   806,   789,
1005         812,   815,   798,   814,   743,    12,   818,   803,   807,   808,
1006         810,   816,   804,   817,   811,   813,   826,   819,   820,   821,
1007         829,   830,   831,   837,   836,   842,   847,   845,   832,   840,
1008         835,   856,   846,   848,   862,   863,   850,  -750,   851,   853,
1009         805,   868,   809,   870,  -750,   871,   853,   861,   874,   822,
1010         877,   865,   869,  -750,  -750,  -750,   879,   880,   864,   859,
1011         875,  -750,   873,   884,   878,   881,   892,   893,   898,   888,
1012         896,   902,   908,   903,   895,   852,   900,   897,   917,   920,
1013         921,  -750,   895,   912,   855,   926,   914,  -750,   918,   858,
1014        -750,   915,   911,   866,   916,   922,   909,   858,   923,   924,
1015         935,  -750,   925,   942,   927,   940,   944,   941,  -750,   947,
1016         950,   945,   951,   936,   882,   946,   949,   938,   948,   952,
1017        -750,   953,   958,   956,   954,   962,   963,   968,   965,   971,
1018         960,   957,   955,   959,   964,   961,   966,   967,   973,   972,
1019         978,   979,  -750,   980,   982,   983,   969,   974,   975,   977,
1020         970,   981,   984,   986,   992,   987,  -750,   993,  -750,   995,
1021         985,   989,  -750,   990,   991,  -750,   994,  -750,  -750,  -750
1022  };  };
1023    
1024  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1025  static const yysigned_char yypgoto[] =  static const short int yypgoto[] =
1026  {  {
1027       -86,   -86,   -30,   -86,   -86,   -86,   -86,   -86,   -86,   -86,      -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
1028       -86,   -22,   -86,   -86,   -86,   -86,   -86,   -86,   -75,   -86,      -750,  -750,  -750,  -593,  -750,  -750,  -750,  -750,  -626,  -467,
1029       -86,     2,   -86,   -86,    92,   -86,   -86,   -85,   -17      -750,  -268,    62,  -750,  -750,  -477,   242,   427,   417,  -749,
1030         147,  -563,   317,   260,    11,   -10,   -14,   298,  -304,  -750,
1031         -13,   988,  -750,  -750,  -750,  -750,  -750,  -750,  -750,  -750,
1032        -750,  -750,  -750,  -750,  -750,  -750,   -23,   762,   763,   765,
1033        -224,   759,   761,  -258,  -257,  -256,   -49,  -750,  -750,   767,
1034        -750,   771,  -255,  -750,  -750,   773,   569,  -750,   778,  -750,
1035         784,   786,  -253,  -750,  -750,   630,  -750,  -750,  -750,  -750,
1036        -750,  -750,  -750,  -750,  -750,  -750,   768,  -750,  -750
1037  };  };
1038    
1039  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1040     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1041     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1042     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1043  #define YYTABLE_NINF -68  #define YYTABLE_NINF -145
1044  static const short yytable[] =  static const short int yytable[] =
1045  {  {
1046        37,    68,   124,    -5,     1,    90,    91,    92,    93,    38,       267,   269,   575,   270,   271,   272,   273,   274,   275,   276,
1047        -5,    -5,     2,   125,     3,     4,     5,     6,     7,     8,       277,   278,   279,   280,   281,  -144,   684,   361,   364,   362,
1048         9,    10,    11,    12,    13,    14,    70,    19,    30,   136,       365,   408,   409,   410,   849,    37,   851,   531,   532,   291,
1049        39,    20,    40,    41,    42,    31,    32,    57,    58,    89,       332,    29,    33,    30,   376,  1097,  1044,   292,    34,   546,
1050        43,    44,    45,    46,    47,    61,    48,    49,    33,    21,      1017,    38,   307,   307,   307,   307,   307,   307,   307,   307,
1051       102,   149,   165,   153,   154,    70,    70,    62,   189,   217,       307,   547,  1098,  1018,     1,   533,     2,   548,    31,   662,
1052        63,   100,   190,   218,   109,   166,   167,   168,   169,   170,       549,   391,   392,   306,   308,   309,   310,   311,   312,   313,
1053       171,   172,   112,    22,   113,    70,    70,    70,   178,   114,       314,   315,   393,   663,     3,    32,     4,     5,   394,   395,
1054       115,   116,   117,   180,   215,   150,   151,    33,   139,    34,         6,   396,   391,  1058,    35,     7,   358,  1053,  1000,   495,
1055        35,    70,    23,    36,   214,   196,    33,    24,   138,   202,         8,     9,    10,   330,    11,   331,  1059,   332,   359,   394,
1056       191,    33,    25,   163,   211,   212,   197,   139,   207,   208,      1054,   366,   396,   367,  1055,   333,   381,   624,   328,   289,
1057        60,    26,    27,   109,    28,    29,    51,   159,   160,   162,       382,   334,   335,   368,   661,   290,   667,   668,   383,   625,
1058        55,    53,    69,    65,    66,    67,    70,    71,    72,    94,        41,    42,   879,   995,   914,   296,   297,   298,   299,   300,
1059       221,   174,   223,   224,    73,    74,    75,    76,    77,    78,       301,   302,   303,   304,   305,   996,   968,  1004,    39,   832,
1060        79,    80,    81,    82,    83,    84,    85,    86,   139,    87,       969,   936,   695,   841,   933,   934,    36,   937,   970,  1005,
1061        88,    33,    95,    96,    97,    98,   101,   110,   119,   120,        40,   703,   704,   705,   706,   707,   708,   709,   710,   711,
1062       121,   194,   195,   126,   127,   128,   129,   130,   131,   206,       712,   713,   917,   429,   430,   296,   297,   298,   299,   300,
1063        99,   210,   132,   133,   134,   135,   137,   140,   141,   139,       301,   302,   303,   304,   305,   455,   430,   264,   497,   498,
1064       142,   143,   144,   145,   146,   139,   147,   148,   156,   157,       499,   918,   531,   532,   296,   297,   298,   299,   300,   301,
1065       158,   173,   220,   175,   139,   139,   219,   162,   176,   177,       302,   303,   304,   305,   842,   843,   296,   516,   517,   518,
1066       179,   -67,   181,   182,   139,   183,   139,   139,   184,   185,       519,   520,   521,   522,   523,   524,  1034,  1035,   847,   848,
1067       186,   187,   188,   192,   193,   198,   200,   203,   222,   213,       551,   282,   554,   500,   501,   502,   503,   504,   505,   506,
1068       216,     0,   155       507,   508,   509,   510,   511,  1048,  1049,   614,   615,   403,
1069         411,   283,   284,   286,  -144,  -144,  -144,   296,   516,   517,
1070         518,   519,   520,   521,   522,   523,   524,   835,   337,   285,
1071         287,   288,   293,   380,   385,   294,    41,   328,   416,   417,
1072         793,   418,   422,   419,   420,   421,   423,   415,   424,   426,
1073         425,   432,   428,   431,   908,   433,   819,   911,    -4,    -4,
1074         296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1075         434,   435,   449,   450,   456,   458,   427,   457,   427,   427,
1076         427,   427,   427,   427,   427,   427,   296,   516,   517,   518,
1077         519,   520,   521,   522,   523,   524,   462,   463,   464,   471,
1078         472,   474,   473,   475,   436,   476,   480,   482,   484,   481,
1079         437,   265,   438,   439,   440,   441,   442,   483,   443,   485,
1080         444,   445,   446,   447,   448,   486,   487,   491,   451,   452,
1081         488,   453,   454,   489,   490,   492,   493,   495,   512,   494,
1082         513,   527,   528,   529,   543,   459,   460,   461,   530,   545,
1083         544,   570,   465,   466,   467,   468,   469,   470,   569,   576,
1084         574,   578,   571,   577,   572,   623,   583,   573,   584,   579,
1085         589,   580,   582,   586,   581,   585,   587,   590,   646,   606,
1086         607,   478,   588,   479,   610,   612,   611,   925,   613,   616,
1087         620,   622,   621,   626,   627,   643,   645,   644,   647,   648,
1088         650,   651,   652,   930,   655,   649,   654,   653,   658,   656,
1089         660,   659,   721,   698,   699,   680,   685,   696,   724,   525,
1090         526,   686,   691,   688,   701,   702,   700,   718,   719,   720,
1091         722,   723,   562,   563,   564,   565,   568,   657,   725,   726,
1092         728,   729,   730,   732,   731,   734,   735,   736,   749,   745,
1093         750,   777,   751,   756,   759,   681,   687,   697,   727,   757,
1094         758,   778,   760,   591,   592,   593,   594,   595,   596,   597,
1095         598,   599,   600,   601,   602,   603,   604,   605,   761,   779,
1096         783,   608,   609,   780,   785,   784,   307,   307,   307,   307,
1097         307,   307,   307,   307,   307,   786,   787,   788,   415,   415,
1098         733,   789,   617,   744,   618,   790,   619,   306,   308,   309,
1099         310,   311,   312,   313,   314,   315,   748,   752,   628,   629,
1100         630,   631,   632,   633,   634,   635,   636,   637,   638,   639,
1101         640,   641,   642,   755,   781,   782,   791,   792,   800,   801,
1102         815,   814,   817,   327,   816,   818,   821,   822,   824,   823,
1103         825,   854,   853,   855,   858,   856,   859,   857,   861,   860,
1104         863,   862,   670,   864,   865,   673,   674,   675,   676,   866,
1105         871,   679,   872,   878,   880,   882,   881,   413,   883,   885,
1106         886,   478,   478,   693,   887,   888,   889,   891,   895,   896,
1107         897,   901,   899,   898,   900,   904,   903,   931,   902,   906,
1108         907,   905,   924,   912,   932,   913,   715,   921,   717,   935,
1109         923,   940,   945,   929,   922,   927,   928,   926,   938,   954,
1110         939,   943,   942,   971,   941,   946,   947,   944,   948,   951,
1111         963,   737,   952,   955,   953,   956,   958,   957,   738,   960,
1112         739,   740,   741,   961,   742,   962,   743,   964,   965,   966,
1113         967,   972,   973,   978,   974,   976,   984,   979,   981,   753,
1114         982,   754,   986,   985,   987,   988,   989,   990,   991,   993,
1115         762,   763,   764,   765,   766,   767,   768,   769,   770,   771,
1116         772,   992,   774,   994,   776,   998,   999,  1000,  1001,  1002,
1117         975,   327,   977,   980,   997,  1003,  1006,  1007,  1014,  1010,
1118        1008,  1011,  1009,  1015,  1016,   795,   796,   797,  1012,   799,
1119        1019,   477,  1020,   813,  1013,  1021,  1023,   812,  1025,  1027,
1120         693,  1022,  1028,  1024,  1026,  1029,  1031,  1033,   827,   829,
1121        1030,   827,   834,   837,  1032,   827,   846,   568,   568,   813,
1122         812,   813,  1036,   812,  1037,   812,  1038,  1039,   514,   515,
1123        1040,  1042,  1041,  1043,  1044,   327,  1046,   540,  1051,  1052,
1124        1045,   867,   868,  1057,   869,   870,  1047,   567,  1050,  1056,
1125        1062,  1060,  1061,  1063,  1066,   307,   307,  1067,  1068,  1064,
1126        1065,   427,  1069,  1070,  1071,  1072,  1074,   884,  1073,  1075,
1127        1076,  1079,   327,   327,  1080,   890,   876,   877,  1077,  1082,
1128        1078,  1083,  1084,  1081,  1085,  1086,  1087,  1090,   892,  1091,
1129        1089,  1092,   307,   307,  1088,  1093,  1094,  1096,   327,  1099,
1130        1095,  1100,  1102,  1101,  1103,  1104,  1105,  1108,   413,   413,
1131        1107,  1109,  1106,   876,   877,  1114,  1111,  1110,  1113,   813,
1132        1115,  1112,  1116,   812,   813,   327,   427,   427,   812,   307,
1133        1117,  1118,  1119,  1120,  1122,  1123,   829,  1121,   834,   813,
1134         813,  1124,  1126,   812,   812,  1127,  1125,  1130,  1128,  1133,
1135         920,  1129,  1131,  1135,  1136,  1137,  1132,  1138,  1140,  1146,
1136        1134,  1141,  1145,  1142,  1143,  1144,  1151,   307,   307,  1148,
1137         427,  1150,   540,  1139,   671,   672,  1147,  1152,  1153,   959,
1138         677,   678,  1149,  1154,  1155,   683,   683,  1157,   949,   950,
1139        1156,   477,   477,  1158,  1160,  1159,  1162,  1163,  1164,   427,
1140         427,  1165,  1166,  1161,  1167,   837,  1168,  1169,  1170,  1172,
1141        1171,  1173,  1174,  1178,  1176,  1177,   714,  1175,   716,  1179,
1142        1181,  1182,  1180,  1183,  1185,  1186,  1187,  1184,  1188,   327,
1143         327,  1189,  1191,  1193,  1192,   327,   327,  1190,  1196,  1200,
1144        1201,   327,  1195,  1202,  1194,  1198,  1197,  1203,  1204,  1205,
1145        1206,  1199,  1207,  1208,  1213,  1209,   820,  1210,  1216,  1211,
1146        1215,  1217,  1212,  1218,  1219,  1220,  1214,  1221,  1222,  1223,
1147        1227,  1230,   327,  1225,   327,  1226,  1224,  1231,  1233,  1228,
1148        1234,   983,   669,  1235,  1229,   919,  1232,  1236,  1237,  1238,
1149         845,     0,   295,  1239,   552,   694,   370,   371,   406,   372,
1150         407,     0,   379,     0,     0,   373,     0,   412,     0,     0,
1151         387,     0,   374,     0,     0,   794,     0,     0,     0,   798,
1152         375,   389,     0,   802,     0,     0,     0,     0,     0,     0,
1153           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1154           0,   831,     0,     0,     0,   840,     0,     0,   567,   567,
1155           0,   850,   327,   852,     0,   555,   327,     0,     0,     0,
1156         327,     0,     0,     0,     0,     0,     0,   327,     0,     0,
1157           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1158         874,   875,     0,     0,     0,     0,     0,     0,     0,   327,
1159           0,     0,     0,     0,     0,     0,     0,     0,   327,     0,
1160           0,     0,     0,     0,     0,     0,     0,     0,   327,     0,
1161         327,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1162           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1163           0,     0,   327,   327,     0,     0,     0,     0,     0,     0,
1164           0,     0,     0,     0,   683,   909,   910,   683,     0,     0,
1165           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1166           0,     0,     0,     0,     0,     0,     0,   327,   327,   316,
1167          46,    47,   689,     0,    48,    49,    50,   317,   318,   319,
1168         320,   321,   322,   323,   324,   325,   326,    61,    62,    63,
1169          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1170          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1171          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1172          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1173         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1174         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1175         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1176         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1177         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1178         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1179         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1180         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1181         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1182         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1183         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1184         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1185         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1186         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1187         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1188         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1189         264,   316,    46,    47,     0,   690,    48,    49,    50,   317,
1190         318,   319,   320,   321,   322,   323,   324,   325,   326,    61,
1191          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1192          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1193          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1194          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1195         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1196         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1197         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1198         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1199         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1200         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1201         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1202         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1203         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1204         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1205         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1206         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1207         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1208         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1209         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1210         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1211         262,   263,   264,    45,    46,    47,     0,     0,    48,    49,
1212          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1213          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1214          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1215          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1216          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1217         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1218         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1219         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1220         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1221         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1222         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1223         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1224         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1225         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1226         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1227         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1228         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1229         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1230         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1231         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1232         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1233         260,   261,   262,   263,   264,   316,    46,    47,     0,     0,
1234          48,    49,    50,   317,   318,   319,   320,   321,   322,   323,
1235         324,   325,   326,    61,    62,    63,    64,    65,    66,    67,
1236          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1237          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1238          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1239          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1240         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1241         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1242         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1243         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1244         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1245         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1246         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1247         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1248         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1249         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1250         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1251         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1252         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1253         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1254         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1255         258,   259,   260,   261,   262,   263,   264,   316,    46,    47,
1256         803,   804,    48,   805,   806,    51,    52,    53,    54,    55,
1257          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1258          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1259          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1260          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1261          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1262         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1263         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1264         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1265         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1266         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1267         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1268         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1269         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1270         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1271         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1272         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1273         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1274         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1275         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1276         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1277         256,   257,   258,   259,   260,   261,   262,   263,   316,    46,
1278          47,   915,     0,    48,    49,    50,   317,   318,   319,   320,
1279         321,   322,   323,   324,   325,   326,    61,    62,    63,    64,
1280          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1281          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1282          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1283          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1284         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1285         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1286         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1287         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1288         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1289         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1290         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1291         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1292         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1293         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1294         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1295         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1296         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1297         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1298         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1299         255,   256,   257,   258,   259,   260,   261,   262,   263,   316,
1300          46,    47,     0,   916,    48,    49,    50,   317,   318,   319,
1301         320,   321,   322,   323,   324,   325,   326,    61,    62,    63,
1302          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1303          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1304          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1305          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1306         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1307         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1308         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1309         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1310         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1311         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1312         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1313         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1314         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1315         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1316         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1317         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1318         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1319         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1320         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1321         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1322         316,    46,    47,     0,     0,    48,    49,    50,   317,   318,
1323         319,   320,   321,   322,   323,   324,   325,   326,    61,    62,
1324          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1325          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1326          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1327          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1328         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1329         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1330         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1331         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1332         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1333         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1334         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1335         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1336         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1337         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1338         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1339         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1340         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1341         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1342         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1343         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1344         263,   316,    46,    47,     0,     0,    48,    49,    50,    51,
1345          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1346          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1347          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1348          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1349          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1350         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1351         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1352         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1353         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1354         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1355         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1356         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1357         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1358         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1359         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1360         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1361         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1362         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1363         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1364         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1365         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1366         262,   263,   316,   747,    47,     0,     0,    48,    49,    50,
1367         317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1368          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1369          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1370          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1371          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1372         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1373         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1374         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1375         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1376         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1377         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1378         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1379         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1380         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1381         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1382         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1383         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1384         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1385         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1386         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1387         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1388         261,   262,   263,   316,   773,    47,     0,     0,    48,    49,
1389          50,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1390         326,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1391          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1392          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1393          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1394         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1395         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1396         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1397         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1398         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1399         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1400         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1401         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1402         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1403         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1404         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1405         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1406         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1407         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1408         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1409         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1410         260,   261,   262,   263,   316,   775,    47,     0,     0,    48,
1411          49,    50,   317,   318,   319,   320,   321,   322,   323,   324,
1412         325,   326,    61,    62,    63,    64,    65,    66,    67,    68,
1413          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1414          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1415          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1416          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1417         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1418         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1419         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1420         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1421         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1422         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1423         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1424         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1425         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1426         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1427         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1428         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1429         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1430         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1431         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1432         259,   260,   261,   262,   263,   316,   873,    47,     0,     0,
1433          48,    49,    50,   317,   318,   319,   320,   321,   322,   323,
1434         324,   325,   326,    61,    62,    63,    64,    65,    66,    67,
1435          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1436          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1437          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1438          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1439         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1440         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1441         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1442         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1443         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1444         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1445         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1446         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1447         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1448         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1449         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1450         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1451         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1452         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1453         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1454         258,   259,   260,   261,   262,   263,   316,   893,    47,     0,
1455           0,    48,    49,    50,   317,   318,   319,   320,   321,   322,
1456         323,   324,   325,   326,    61,    62,    63,    64,    65,    66,
1457          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1458          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1459          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1460          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1461         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1462         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1463         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1464         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1465         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1466         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1467         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1468         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1469         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1470         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1471         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1472         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1473         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1474         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1475         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1476         257,   258,   259,   260,   261,   262,   263,   316,   894,    47,
1477           0,     0,    48,    49,    50,   317,   318,   319,   320,   321,
1478         322,   323,   324,   325,   326,    61,    62,    63,    64,    65,
1479          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1480          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1481          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1482          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1483         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1484         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1485         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1486         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1487         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1488         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1489         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1490         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1491         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1492         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1493         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1494         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1495         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1496         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1497         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1498         256,   257,   258,   259,   260,   261,   262,   263
1499  };  };
1500    
1501  static const short yycheck[] =  static const short int yycheck[] =
1502  {  {
1503        17,    31,    87,     0,     1,    28,    29,    30,    31,    23,        14,    14,   479,    16,    17,    18,    19,    20,    21,    22,
1504         7,     8,     9,    88,    11,    12,    13,    14,    15,    16,        23,    24,    25,    26,    27,     5,   609,   272,   273,   272,
1505        17,    18,    19,    20,    21,    22,     3,     6,     0,     6,       273,   279,   279,   279,   773,    25,   775,     6,     7,    32,
1506        23,     6,    25,    26,    27,     7,     8,    32,    33,    69,        25,    24,    29,    38,    29,    23,    24,    40,    35,    21,
1507        33,    34,    35,    36,    37,    23,    39,    40,     3,     6,        25,    41,    52,    53,    54,    55,    56,    57,    58,    59,
1508         5,   126,   137,   128,   129,     3,     3,    35,     6,     6,        60,    33,    40,    38,     1,    34,     3,    39,    25,    22,
1509        38,    78,    10,    10,    81,   140,   141,   142,   143,   144,        42,    22,    23,    52,    53,    54,    55,    56,    57,    58,
1510       145,   146,    34,     6,    36,     3,     3,     3,     6,    41,        59,    60,    33,    36,    21,    25,    23,    24,    39,    40,
1511        42,    43,    44,    10,    10,    45,    46,     3,   105,     5,        27,    42,    22,    25,    41,    32,    21,    23,    24,    29,
1512         6,     3,     6,     9,     6,   180,     3,     6,     5,   184,        37,    38,    39,    21,    41,    23,    38,    25,    33,    39,
1513       175,     3,     6,     5,   189,   190,   181,   124,     4,     5,        36,    21,    42,    23,    40,    33,    21,    29,    23,    33,
1514        23,     6,     6,   130,     6,     6,    36,   134,   135,   136,        25,    39,    40,    33,   591,    39,   593,   594,    33,    41,
1515        37,    36,     7,    24,    24,    23,     3,     6,     6,    28,       225,   226,     8,    24,   873,    11,    12,    13,    14,    15,
1516       215,   148,   217,   218,     6,     6,     6,     6,     6,     6,        16,    17,    18,    19,    20,    36,    21,    24,    34,   765,
1517         6,     6,     6,     6,     6,     6,     6,     6,   165,     6,        25,    23,   619,   769,   893,   894,    25,    29,    33,    36,
1518         6,     3,    28,    28,    28,    28,     5,     5,     5,     5,         0,   628,   629,   630,   631,   632,   633,   634,   635,   636,
1519         5,   178,   179,     6,     6,     6,     6,     6,     6,   186,       637,   638,     8,    41,    42,    11,    12,    13,    14,    15,
1520        28,   188,     6,     6,     6,     6,     6,     6,     6,   196,        16,    17,    18,    19,    20,    41,    42,   224,   436,   436,
1521         6,     6,     6,     6,     6,   202,     6,     6,     5,     5,       436,     8,     6,     7,    11,    12,    13,    14,    15,    16,
1522         5,     5,   214,     6,   211,   212,   213,   214,     6,     6,        17,    18,    19,    20,     9,    10,    11,    12,    13,    14,
1523         6,     6,     6,     6,   221,     6,   223,   224,     6,     6,        15,    16,    17,    18,    19,    20,    23,    24,   771,   772,
1524         6,     6,     6,     5,     5,     5,     5,     5,   216,     6,       465,    24,   465,   437,   438,   439,   440,   441,   442,   443,
1525         6,    -1,   130       444,   445,   446,   447,   448,    23,    24,   531,   532,   278,
1526         279,    25,    39,    39,   224,   225,   226,    11,    12,    13,
1527          14,    15,    16,    17,    18,    19,    20,    21,   271,    40,
1528          21,    29,    22,   276,   277,    39,   225,    23,   281,    21,
1529         737,    40,    35,    40,    24,    40,    25,   280,    25,    41,
1530          39,    34,    28,    28,   867,    29,   753,   870,   225,   226,
1531          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1532          25,    35,    41,    29,    28,    34,   306,    29,   308,   309,
1533         310,   311,   312,   313,   314,   315,    11,    12,    13,    14,
1534          15,    16,    17,    18,    19,    20,    41,    23,    29,    41,
1535          28,    40,    29,    35,   337,    35,    40,    42,    23,    38,
1536         343,    14,   345,   346,   347,   348,   349,    40,   351,    23,
1537         353,   354,   355,   356,   357,    22,    21,    27,   361,   362,
1538          24,   364,   365,    21,    21,    24,    38,    29,    24,    40,
1539          24,    24,    21,    24,    24,   378,   379,   380,    39,    24,
1540          28,    21,   385,   386,   387,   388,   389,   390,    26,    25,
1541          29,    25,    39,    35,    38,    41,    29,    40,    29,    40,
1542          21,    38,    34,    29,    39,    34,    29,    34,    25,    29,
1543          29,   414,    42,   416,    29,    29,    34,   884,    40,    35,
1544          29,    29,    35,    35,    35,    26,    23,    34,    21,    23,
1545          29,    23,    34,   890,    34,    45,    32,    35,    25,    34,
1546          26,    32,    21,    24,    24,    35,    35,    35,    22,   453,
1547         454,    34,    34,    38,    32,    32,    40,    25,    34,    25,
1548          32,    25,   466,   467,   468,   469,   470,    91,    38,    25,
1549          21,    25,    25,    38,    29,    35,    45,    25,    25,    29,
1550          29,    38,    41,    29,    25,    91,    91,    91,    91,    29,
1551          29,    25,    35,   496,   497,   498,   499,   500,   501,   502,
1552         503,   504,   505,   506,   507,   508,   509,   510,    41,    32,
1553          25,   514,   515,    33,    32,    29,   516,   517,   518,   519,
1554         520,   521,   522,   523,   524,    35,    22,    32,   531,   532,
1555          91,    34,   535,    91,   537,    42,   539,   516,   517,   518,
1556         519,   520,   521,   522,   523,   524,    91,    91,   551,   552,
1557         553,   554,   555,   556,   557,   558,   559,   560,   561,   562,
1558         563,   564,   565,    91,    91,    91,    40,    38,    35,    34,
1559          32,    35,    33,   265,    34,    33,    35,    34,    91,    35,
1560          33,    32,    91,    32,    23,    91,    22,    42,    32,    41,
1561          36,    39,   596,    35,    25,   599,   600,   601,   602,    23,
1562          41,   605,    36,     5,    41,    25,    36,   280,    35,    41,
1563          36,   614,   615,   617,    91,    29,    25,    32,    26,    91,
1564          21,    25,    35,    23,    35,    41,    25,    32,    40,    39,
1565          25,    29,    24,    40,   892,    41,   640,    40,   642,    29,
1566          34,    29,    23,    34,    41,    41,    35,    40,    34,    21,
1567          35,    91,    36,    91,    41,    34,    36,    40,    40,    36,
1568          25,   664,    40,    36,    40,    40,    36,    41,   671,    32,
1569         673,   674,   675,    35,   677,    34,   679,    41,    23,    34,
1570          41,    25,    40,    32,    41,    41,    32,    41,    40,   692,
1571          41,   694,    26,    41,    35,    34,    25,    40,    40,    34,
1572         703,   704,   705,   706,   707,   708,   709,   710,   711,   712,
1573         713,    41,   715,    29,   717,    21,    40,    24,    40,    24,
1574          91,   413,    91,    91,    91,    40,    36,    40,    24,    41,
1575          34,    40,    35,    27,    24,   739,   740,   741,    91,   743,
1576          35,   414,    23,   747,    91,    27,    25,   747,    25,    25,
1577         754,    91,    35,    91,    91,    41,    40,    23,   762,   763,
1578          91,   765,   766,   767,    39,   769,   770,   771,   772,   773,
1579         770,   775,    29,   773,    29,   775,    29,    42,   451,   452,
1580          29,    35,    38,    25,    24,   477,    24,   460,    38,    40,
1581          42,   794,   795,    28,   797,   798,    42,   470,    42,    35,
1582          91,    35,    34,    29,    41,   805,   806,    25,    29,    42,
1583          40,   811,    25,    29,    28,    25,    40,   820,    29,    91,
1584          28,    41,   514,   515,    21,   828,   805,   806,    35,    29,
1585          45,    91,    25,    42,    29,    23,    25,    42,   841,    23,
1586          34,    42,   842,   843,    91,    23,    21,    23,   540,    21,
1587          42,    38,    34,    36,    34,    29,    42,    34,   531,   532,
1588          39,    25,    35,   842,   843,    25,    36,    38,    29,   873,
1589          29,    40,    25,   873,   878,   567,   876,   877,   878,   879,
1590          34,    29,    25,    28,    34,    40,   890,    45,   892,   893,
1591         894,    25,    34,   893,   894,    23,    40,    36,    25,    21,
1592         879,    41,    39,    23,    23,    34,    91,    23,    21,    40,
1593          91,    36,    38,    34,    25,    25,    25,   917,   918,    36,
1594         920,    33,   595,    91,   597,   598,    41,    25,    25,   932,
1595         603,   604,    38,    25,    36,   608,   609,    25,   917,   918,
1596          34,   614,   615,    25,    39,    32,    36,    40,    21,   949,
1597         950,    21,    21,    91,    32,   959,    91,    21,    34,    91,
1598          32,    36,    41,    44,    38,    33,   639,    91,   641,    36,
1599          25,    36,    38,    21,    24,    21,    25,    40,    21,   671,
1600         672,    21,    21,    91,    38,   677,   678,    32,    40,    21,
1601          24,   683,    33,    29,    38,    33,    38,    25,    25,    21,
1602          25,    38,    21,    33,    33,    38,   754,    42,    25,    40,
1603          33,    29,    38,    25,    25,    25,    40,    25,    25,    40,
1604          40,    25,   714,    38,   716,    38,    42,    25,    25,    38,
1605          25,   959,   595,    38,    40,   878,    39,    38,    38,    38,
1606         770,    -1,    44,    39,   465,   618,   274,   274,   279,   274,
1607         279,    -1,   275,    -1,    -1,   274,    -1,   279,    -1,    -1,
1608         277,    -1,   274,    -1,    -1,   738,    -1,    -1,    -1,   742,
1609         274,   277,    -1,   746,    -1,    -1,    -1,    -1,    -1,    -1,
1610          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1611          -1,   764,    -1,    -1,    -1,   768,    -1,    -1,   771,   772,
1612          -1,   774,   794,   776,    -1,   465,   798,    -1,    -1,    -1,
1613         802,    -1,    -1,    -1,    -1,    -1,    -1,   809,    -1,    -1,
1614          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1615         803,   804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   831,
1616          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   840,    -1,
1617          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   850,    -1,
1618         852,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1619          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1620          -1,    -1,   874,   875,    -1,    -1,    -1,    -1,    -1,    -1,
1621          -1,    -1,    -1,    -1,   867,   868,   869,   870,    -1,    -1,
1622          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1623          -1,    -1,    -1,    -1,    -1,    -1,    -1,   909,   910,     3,
1624           4,     5,     6,    -1,     8,     9,    10,    11,    12,    13,
1625          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1626          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1627          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1628          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1629          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1630          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1631          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1632          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1633          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1634         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1635         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1636         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1637         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1638         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1639         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1640         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1641         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1642         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1643         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1644         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1645         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1646         224,     3,     4,     5,    -1,     7,     8,     9,    10,    11,
1647          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1648          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1649          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1650          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1651          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1652          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1653          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1654          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1655          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1656         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1657         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1658         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1659         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1660         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1661         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1662         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1663         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1664         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1665         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1666         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1667         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1668         222,   223,   224,     3,     4,     5,    -1,    -1,     8,     9,
1669          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1670          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1671          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1672          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1673          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1674          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1675          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1676          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1677          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1678         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1679         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1680         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1681         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1682         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1683         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1684         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1685         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1686         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1687         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1688         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1689         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1690         220,   221,   222,   223,   224,     3,     4,     5,    -1,    -1,
1691           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1692          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1693          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1694          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1695          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1696          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1697          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1698          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1699          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1700          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1701         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1702         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1703         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1704         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1705         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1706         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1707         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1708         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1709         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1710         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1711         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1712         218,   219,   220,   221,   222,   223,   224,     3,     4,     5,
1713           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
1714          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1715          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1716          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1717          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1718          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1719          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1720          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1721          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1722          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1723         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1724         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1725         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1726         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1727         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1728         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1729         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1730         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1731         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1732         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1733         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1734         216,   217,   218,   219,   220,   221,   222,   223,     3,     4,
1735           5,     6,    -1,     8,     9,    10,    11,    12,    13,    14,
1736          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1737          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1738          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1739          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1740          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1741          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1742          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1743          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1744          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1745         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1746         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1747         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1748         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1749         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1750         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1751         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1752         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1753         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1754         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1755         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1756         215,   216,   217,   218,   219,   220,   221,   222,   223,     3,
1757           4,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
1758          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1759          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1760          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1761          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1762          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1763          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1764          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1765          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1766          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1767         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1768         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1769         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1770         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1771         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1772         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1773         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1774         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1775         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1776         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1777         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1778         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1779           3,     4,     5,    -1,    -1,     8,     9,    10,    11,    12,
1780          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1781          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1782          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1783          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1784          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1785          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1786          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1787          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1788          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1789         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1790         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1791         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1792         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1793         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1794         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1795         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1796         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1797         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1798         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1799         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1800         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1801         223,     3,     4,     5,    -1,    -1,     8,     9,    10,    11,
1802          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1803          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1804          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1805          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1806          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1807          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1808          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1809          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1810          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1811         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1812         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1813         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1814         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1815         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1816         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1817         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1818         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1819         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1820         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1821         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1822         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1823         222,   223,     3,     4,     5,    -1,    -1,     8,     9,    10,
1824          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1825          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1826          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1827          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1828          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1829          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1830          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1831          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1832          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1833         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1834         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1835         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1836         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1837         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1838         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1839         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1840         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1841         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1842         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1843         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1844         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1845         221,   222,   223,     3,     4,     5,    -1,    -1,     8,     9,
1846          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1847          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1848          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1849          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1850          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1851          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1852          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1853          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1854          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1855         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1856         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1857         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1858         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1859         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1860         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1861         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1862         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1863         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1864         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1865         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1866         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1867         220,   221,   222,   223,     3,     4,     5,    -1,    -1,     8,
1868           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1869          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1870          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1871          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1872          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1873          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1874          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1875          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1876          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1877          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1878         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1879         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1880         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1881         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1882         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1883         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1884         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1885         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1886         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1887         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1888         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1889         219,   220,   221,   222,   223,     3,     4,     5,    -1,    -1,
1890           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1891          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1892          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1893          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1894          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1895          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1896          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1897          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1898          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1899          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1900         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1901         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1902         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1903         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1904         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1905         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1906         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1907         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1908         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1909         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1910         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1911         218,   219,   220,   221,   222,   223,     3,     4,     5,    -1,
1912          -1,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1913          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1914          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1915          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1916          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1917          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1918          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1919          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1920          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1921          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1922         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1923         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1924         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1925         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1926         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1927         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1928         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1929         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1930         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1931         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1932         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1933         217,   218,   219,   220,   221,   222,   223,     3,     4,     5,
1934          -1,    -1,     8,     9,    10,    11,    12,    13,    14,    15,
1935          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1936          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1937          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1938          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1939          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1940          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1941          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1942          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1943          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1944         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1945         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1946         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1947         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1948         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1949         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1950         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1951         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1952         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1953         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1954         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1955         216,   217,   218,   219,   220,   221,   222,   223
1956  };  };
1957    
1958  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1959     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
1960  static const unsigned char yystos[] =  static const unsigned short int yystos[] =
1961  {  {
1962         0,     1,     9,    11,    12,    13,    14,    15,    16,    17,         0,     1,     3,    21,    23,    24,    27,    32,    37,    38,
1963        18,    19,    20,    21,    22,    48,    49,    50,    51,     6,        39,    41,   228,   229,   230,   231,   270,   271,   272,   273,
1964         6,     6,     6,     6,     6,     6,     6,     6,     6,     6,       274,   275,   278,   279,   280,   281,   282,   322,   325,    24,
1965         0,     7,     8,     3,     5,     6,     9,    75,    23,    23,        38,    25,    25,    29,    35,    41,    25,    25,    41,    34,
1966        25,    26,    27,    33,    34,    35,    36,    37,    39,    40,         0,   225,   226,   268,   269,     3,     4,     5,     8,     9,
1967        52,    36,    54,    36,    55,    37,    60,    32,    33,    56,        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1968        23,    23,    35,    38,    53,    24,    24,    23,    49,     7,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1969         3,     6,     6,     6,     6,     6,     6,     6,     6,     6,        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1970         6,     6,     6,     6,     6,     6,     6,     6,     6,    49,        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1971        28,    29,    30,    31,    28,    28,    28,    28,    28,    28,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1972        75,     5,     5,    61,    73,    74,    75,    62,    71,    75,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1973         5,    65,    34,    36,    41,    42,    43,    44,    57,     5,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1974         5,     5,    67,    70,    74,    65,     6,     6,     6,     6,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1975         6,     6,     6,     6,     6,     6,     6,     6,     5,    75,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1976         6,     6,     6,     6,     6,     6,     6,     6,     6,    65,       100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1977        45,    46,    59,    65,    65,    71,     5,     5,     5,    75,       110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1978        75,    58,    75,     5,    66,    74,    65,    65,    65,    65,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1979        65,    65,    65,     5,    75,     6,     6,     6,     6,     6,       130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1980        10,     6,     6,     6,     6,     6,     6,     6,     6,     6,       140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1981        10,    65,     5,     5,    75,    75,    74,    65,     5,    68,       150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1982         5,    72,    74,     5,    69,    63,    75,     4,     5,    64,       160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1983        75,    74,    74,     6,     6,    10,     6,     6,    10,    75,       170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1984        58,    74,    68,    74,    74       180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1985         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1986         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1987         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1988         220,   221,   222,   223,   224,   259,   262,   263,   264,   267,
1989         267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1990         267,   267,    24,    25,    39,    40,    39,    21,    29,    33,
1991          39,    32,    40,    22,    39,   268,    11,    12,    13,    14,
1992          15,    16,    17,    18,    19,    20,   261,   262,   261,   261,
1993         261,   261,   261,   261,   261,   261,     3,    11,    12,    13,
1994          14,    15,    16,    17,    18,    19,    20,   264,    23,   283,
1995          21,    23,    25,    33,    39,    40,   234,   283,   284,   285,
1996         286,   293,   294,   296,   298,   299,   300,   301,   302,   303,
1997         305,   307,   308,   309,   310,   311,   312,   316,    21,    33,
1998         236,   299,   309,   237,   299,   309,    21,    23,    33,   242,
1999         284,   285,   286,   298,   305,   308,    29,   238,   295,   296,
2000         283,    21,    25,    33,   235,   283,   297,   302,   306,   307,
2001         324,    22,    23,    33,    39,    40,    42,   232,   288,   289,
2002         290,   291,   292,   293,   323,   233,   288,   289,   290,   291,
2003         292,   293,   323,   259,   265,   267,   283,    21,    40,    40,
2004          24,    40,    35,    25,    25,    39,    41,   262,    28,    41,
2005          42,    28,    34,    29,    25,    35,   267,   267,   267,   267,
2006         267,   267,   267,   267,   267,   267,   267,   267,   267,    41,
2007          29,   267,   267,   267,   267,    41,    28,    29,    34,   267,
2008         267,   267,    41,    23,    29,   267,   267,   267,   267,   267,
2009         267,    41,    28,    29,    40,    35,    35,   259,   267,   267,
2010          40,    38,    42,    40,    23,    23,    22,    21,    24,    21,
2011          21,    27,    24,    38,    40,    29,   287,   290,   291,   292,
2012         287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
2013         287,   287,    24,    24,   259,   259,    12,    13,    14,    15,
2014          16,    17,    18,    19,    20,   263,   263,    24,    21,    24,
2015          39,     6,     7,    34,   243,   255,   266,   277,   244,   254,
2016         259,   252,   263,    24,    28,    24,    21,    33,    39,    42,
2017         239,   299,   303,   304,   309,   312,   313,   314,   315,   317,
2018         318,   319,   263,   263,   263,   263,   258,   259,   263,    26,
2019          21,    39,    38,    40,    29,   252,    25,    35,    25,    40,
2020          38,    39,    34,    29,    29,    34,    29,    29,    42,    21,
2021          34,   267,   267,   267,   267,   267,   267,   267,   267,   267,
2022         267,   267,   267,   267,   267,   267,    29,    29,   267,   267,
2023          29,    34,    29,    40,   265,   265,    35,   267,   267,   267,
2024          29,    35,    29,    41,    29,    41,    35,    35,   267,   267,
2025         267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
2026         267,   267,   267,    26,    34,    23,    25,    21,    23,    45,
2027          29,    23,    34,    35,    32,    34,    34,    91,    25,    32,
2028          26,   252,    22,    36,   241,   320,   321,   252,   252,   254,
2029         263,   259,   259,   263,   263,   263,   263,   259,   259,   263,
2030          35,    91,   240,   259,   240,    35,    34,    91,    38,     6,
2031           7,    34,   253,   263,   255,   252,    35,    91,    24,    24,
2032          40,    32,    32,   252,   252,   252,   252,   252,   252,   252,
2033         252,   252,   252,   252,   259,   263,   259,   263,    25,    34,
2034          25,    21,    32,    25,    22,    38,    25,    91,    21,    25,
2035          25,    29,    38,    91,    35,    45,    25,   267,   267,   267,
2036         267,   267,   267,   267,    91,    29,   267,     4,    91,    25,
2037          29,    41,    91,   267,   267,    91,    29,    29,    29,    25,
2038          35,    41,   267,   267,   267,   267,   267,   267,   267,   267,
2039         267,   267,   267,     4,   267,     4,   267,    38,    25,    32,
2040          33,    91,    91,    25,    29,    32,    35,    22,    32,    34,
2041          42,    40,    38,   252,   259,   263,   263,   263,   259,   263,
2042          35,    34,   259,     6,     7,     9,    10,   256,   257,   259,
2043         260,   261,   262,   263,    35,    32,    34,    33,    33,   252,
2044         253,    35,    34,    35,    91,    33,   245,   263,   246,   263,
2045         247,   259,   245,   248,   263,    21,   249,   263,   276,   250,
2046         259,   245,     9,    10,   251,   260,   263,   258,   258,   256,
2047         259,   256,   259,    91,    32,    32,    91,    42,    23,    22,
2048          41,    32,    39,    36,    35,    25,    23,   267,   267,   267,
2049         267,    41,    36,     4,   259,   259,   261,   261,     5,     8,
2050          41,    36,    25,    35,   267,    41,    36,    91,    29,    25,
2051         267,    32,   267,     4,     4,    26,    91,    21,    23,    35,
2052          35,    25,    40,    25,    41,    29,    39,    25,   240,   259,
2053         259,   240,    40,    41,   256,     6,     7,     8,     8,   257,
2054         261,    40,    41,    34,    24,   252,    40,    41,    35,    34,
2055         246,    32,   248,   256,   256,    29,    23,    29,    34,    35,
2056          29,    41,    36,    91,    40,    23,    34,    36,    40,   261,
2057         261,    36,    40,    40,    21,    36,    40,    41,    36,   267,
2058          32,    35,    34,    25,    41,    23,    34,    41,    21,    25,
2059          33,    91,    25,    40,    41,    91,    41,    91,    32,    41,
2060          91,    40,    41,   249,    32,    41,    26,    35,    34,    25,
2061          40,    40,    41,    34,    29,    24,    36,    91,    21,    40,
2062          24,    40,    24,    40,    24,    36,    36,    40,    34,    35,
2063          41,    40,    91,    91,    24,    27,    24,    25,    38,    35,
2064          23,    27,    91,    25,    91,    25,    91,    25,    35,    41,
2065          91,    40,    39,    23,    23,    24,    29,    29,    29,    42,
2066          29,    38,    35,    25,    24,    42,    24,    42,    23,    24,
2067          42,    38,    40,    23,    36,    40,    35,    28,    25,    38,
2068          35,    34,    91,    29,    42,    40,    41,    25,    29,    25,
2069          29,    28,    25,    29,    40,    91,    28,    35,    45,    41,
2070          21,    42,    29,    91,    25,    29,    23,    25,    91,    34,
2071          42,    23,    42,    23,    21,    42,    23,    23,    40,    21,
2072          38,    36,    34,    34,    29,    42,    35,    39,    34,    25,
2073          38,    36,    40,    29,    25,    29,    25,    34,    29,    25,
2074          28,    45,    34,    40,    25,    40,    34,    23,    25,    41,
2075          36,    39,    91,    21,    91,    23,    23,    34,    23,    91,
2076          21,    36,    34,    25,    25,    38,    40,    41,    36,    38,
2077          33,    25,    25,    25,    25,    36,    34,    25,    25,    32,
2078          39,    91,    36,    40,    21,    21,    21,    32,    91,    21,
2079          34,    32,    91,    36,    41,    91,    38,    33,    44,    36,
2080          38,    25,    36,    21,    40,    24,    21,    25,    21,    21,
2081          32,    21,    38,    91,    38,    33,    40,    38,    33,    38,
2082          21,    24,    29,    25,    25,    21,    25,    21,    33,    38,
2083          42,    40,    38,    33,    40,    33,    25,    29,    25,    25,
2084          25,    25,    25,    40,    42,    38,    38,    40,    38,    40,
2085          25,    25,    39,    25,    25,    38,    38,    38,    38,    39
2086  };  };
2087    
2088  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 680  static const unsigned char yystos[] = Line 2108  static const unsigned char yystos[] =
2108    
2109  #define YYACCEPT        goto yyacceptlab  #define YYACCEPT        goto yyacceptlab
2110  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
2111  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrorlab
2112    
2113    
2114  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
# Line 708  do                                                             \ Line 2136  do                                                             \
2136      }                                                           \      }                                                           \
2137  while (0)  while (0)
2138    
2139    
2140  #define YYTERROR        1  #define YYTERROR        1
2141  #define YYERRCODE       256  #define YYERRCODE       256
2142    
 /* YYLLOC_DEFAULT -- Compute the default location (before the actions  
    are run).  */  
2143    
2144    /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2145       If N is 0, then set CURRENT to the empty location which ends
2146       the previous symbol: RHS[0] (always defined).  */
2147    
2148    #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2149  #ifndef YYLLOC_DEFAULT  #ifndef YYLLOC_DEFAULT
2150  # define YYLLOC_DEFAULT(Current, Rhs, N)         \  # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2151    Current.first_line   = Rhs[1].first_line;      \      do                                                                  \
2152    Current.first_column = Rhs[1].first_column;    \        if (N)                                                            \
2153    Current.last_line    = Rhs[N].last_line;       \          {                                                               \
2154    Current.last_column  = Rhs[N].last_column;            (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2155              (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2156              (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2157              (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2158            }                                                               \
2159          else                                                              \
2160            {                                                               \
2161              (Current).first_line   = (Current).last_line   =              \
2162                YYRHSLOC (Rhs, 0).last_line;                                \
2163              (Current).first_column = (Current).last_column =              \
2164                YYRHSLOC (Rhs, 0).last_column;                              \
2165            }                                                               \
2166        while (0)
2167  #endif  #endif
2168    
2169    
2170    /* YY_LOCATION_PRINT -- Print the location on the stream.
2171       This macro was not mandated originally: define only if we know
2172       we won't break user code: when these are the locations we know.  */
2173    
2174    #ifndef YY_LOCATION_PRINT
2175    # if YYLTYPE_IS_TRIVIAL
2176    #  define YY_LOCATION_PRINT(File, Loc)                  \
2177         fprintf (File, "%d.%d-%d.%d",                      \
2178                  (Loc).first_line, (Loc).first_column,     \
2179                  (Loc).last_line,  (Loc).last_column)
2180    # else
2181    #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2182    # endif
2183    #endif
2184    
2185    
2186  /* YYLEX -- calling `yylex' with the right arguments.  */  /* YYLEX -- calling `yylex' with the right arguments.  */
2187    
2188  #ifdef YYLEX_PARAM  #ifdef YYLEX_PARAM
# Line 744  do {                                           \ Line 2205  do {                                           \
2205      YYFPRINTF Args;                             \      YYFPRINTF Args;                             \
2206  } while (0)  } while (0)
2207    
2208  # define YYDSYMPRINT(Args)                      \  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)          \
 do {                                            \  
   if (yydebug)                                  \  
     yysymprint Args;                            \  
 } while (0)  
   
 # define YYDSYMPRINTF(Title, Token, Value, Location)            \  
2209  do {                                                            \  do {                                                            \
2210    if (yydebug)                                                  \    if (yydebug)                                                  \
2211      {                                                           \      {                                                           \
2212        YYFPRINTF (stderr, "%s ", Title);                         \        YYFPRINTF (stderr, "%s ", Title);                         \
2213        yysymprint (stderr,                                       \        yysymprint (stderr,                                       \
2214                    Token, Value);        \                    Type, Value); \
2215        YYFPRINTF (stderr, "\n");                                 \        YYFPRINTF (stderr, "\n");                                 \
2216      }                                                           \      }                                                           \
2217  } while (0)  } while (0)
2218    
2219  /*------------------------------------------------------------------.  /*------------------------------------------------------------------.
2220  | 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 |
2221  | TOP (cinluded).                                                   |  | TOP (included).                                                   |
2222  `------------------------------------------------------------------*/  `------------------------------------------------------------------*/
2223    
2224  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
2225  static void  static void
2226  yy_stack_print (short *bottom, short *top)  yy_stack_print (short int *bottom, short int *top)
2227  #else  #else
2228  static void  static void
2229  yy_stack_print (bottom, top)  yy_stack_print (bottom, top)
2230      short *bottom;      short int *bottom;
2231      short *top;      short int *top;
2232  #endif  #endif
2233  {  {
2234    YYFPRINTF (stderr, "Stack now");    YYFPRINTF (stderr, "Stack now");
# Line 803  yy_reduce_print (yyrule) Line 2258  yy_reduce_print (yyrule)
2258  #endif  #endif
2259  {  {
2260    int yyi;    int yyi;
2261    unsigned int yylineno = yyrline[yyrule];    unsigned int yylno = yyrline[yyrule];
2262    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",    YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
2263               yyrule - 1, yylineno);               yyrule - 1, yylno);
2264    /* Print the symbols being reduced, and their result.  */    /* Print the symbols being reduced, and their result.  */
2265    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)    for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
2266      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);      YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
# Line 823  do {                                   \ Line 2278  do {                                   \
2278  int yydebug;  int yydebug;
2279  #else /* !YYDEBUG */  #else /* !YYDEBUG */
2280  # define YYDPRINTF(Args)  # define YYDPRINTF(Args)
2281  # define YYDSYMPRINT(Args)  # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 # define YYDSYMPRINTF(Title, Token, Value, Location)  
2282  # define YY_STACK_PRINT(Bottom, Top)  # define YY_STACK_PRINT(Bottom, Top)
2283  # define YY_REDUCE_PRINT(Rule)  # define YY_REDUCE_PRINT(Rule)
2284  #endif /* !YYDEBUG */  #endif /* !YYDEBUG */
# Line 842  int yydebug; Line 2296  int yydebug;
2296     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)     SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
2297     evaluated with infinite-precision integer arithmetic.  */     evaluated with infinite-precision integer arithmetic.  */
2298    
 #if YYMAXDEPTH == 0  
 # undef YYMAXDEPTH  
 #endif  
   
2299  #ifndef YYMAXDEPTH  #ifndef YYMAXDEPTH
2300  # define YYMAXDEPTH 10000  # define YYMAXDEPTH 10000
2301  #endif  #endif
# Line 927  yysymprint (yyoutput, yytype, yyvaluep) Line 2377  yysymprint (yyoutput, yytype, yyvaluep)
2377    (void) yyvaluep;    (void) yyvaluep;
2378    
2379    if (yytype < YYNTOKENS)    if (yytype < YYNTOKENS)
2380      {      YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
       YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);  
 # ifdef YYPRINT  
       YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);  
 # endif  
     }  
2381    else    else
2382      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);      YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2383    
2384    
2385    # ifdef YYPRINT
2386      if (yytype < YYNTOKENS)
2387        YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2388    # endif
2389    switch (yytype)    switch (yytype)
2390      {      {
2391        default:        default:
# Line 951  yysymprint (yyoutput, yytype, yyvaluep) Line 2401  yysymprint (yyoutput, yytype, yyvaluep)
2401    
2402  #if defined (__STDC__) || defined (__cplusplus)  #if defined (__STDC__) || defined (__cplusplus)
2403  static void  static void
2404  yydestruct (int yytype, YYSTYPE *yyvaluep)  yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2405  #else  #else
2406  static void  static void
2407  yydestruct (yytype, yyvaluep)  yydestruct (yymsg, yytype, yyvaluep)
2408        const char *yymsg;
2409      int yytype;      int yytype;
2410      YYSTYPE *yyvaluep;      YYSTYPE *yyvaluep;
2411  #endif  #endif
# Line 962  yydestruct (yytype, yyvaluep) Line 2413  yydestruct (yytype, yyvaluep)
2413    /* Pacify ``unused variable'' warnings.  */    /* Pacify ``unused variable'' warnings.  */
2414    (void) yyvaluep;    (void) yyvaluep;
2415    
2416      if (!yymsg)
2417        yymsg = "Deleting";
2418      YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2419    
2420    switch (yytype)    switch (yytype)
2421      {      {
2422    
# Line 1014  yyparse () Line 2469  yyparse ()
2469  #endif  #endif
2470  #endif  #endif
2471  {  {
2472    /* The lookahead symbol.  */    /* The look-ahead symbol.  */
2473  int yychar;  int yychar;
2474    
2475  /* The semantic value of the lookahead symbol.  */  /* The semantic value of the look-ahead symbol.  */
2476  YYSTYPE yylval;  YYSTYPE yylval;
2477    
2478  /* Number of syntax errors so far.  */  /* Number of syntax errors so far.  */
# Line 1028  int yynerrs; Line 2483  int yynerrs;
2483    int yyresult;    int yyresult;
2484    /* Number of tokens to shift before error messages enabled.  */    /* Number of tokens to shift before error messages enabled.  */
2485    int yyerrstatus;    int yyerrstatus;
2486    /* Lookahead token as an internal (translated) token number.  */    /* Look-ahead token as an internal (translated) token number.  */
2487    int yytoken = 0;    int yytoken = 0;
2488    
2489    /* Three stacks and their tools:    /* Three stacks and their tools:
# Line 1040  int yynerrs; Line 2495  int yynerrs;
2495       to reallocate them elsewhere.  */       to reallocate them elsewhere.  */
2496    
2497    /* The state stack.  */    /* The state stack.  */
2498    short yyssa[YYINITDEPTH];    short int yyssa[YYINITDEPTH];
2499    short *yyss = yyssa;    short int *yyss = yyssa;
2500    register short *yyssp;    register short int *yyssp;
2501    
2502    /* The semantic value stack.  */    /* The semantic value stack.  */
2503    YYSTYPE yyvsa[YYINITDEPTH];    YYSTYPE yyvsa[YYINITDEPTH];
# Line 1079  int yynerrs; Line 2534  int yynerrs;
2534    yyssp = yyss;    yyssp = yyss;
2535    yyvsp = yyvs;    yyvsp = yyvs;
2536    
2537    
2538      yyvsp[0] = yylval;
2539    
2540    goto yysetstate;    goto yysetstate;
2541    
2542  /*------------------------------------------------------------.  /*------------------------------------------------------------.
# Line 1104  int yynerrs; Line 2562  int yynerrs;
2562             these so that the &'s don't force the real ones into             these so that the &'s don't force the real ones into
2563             memory.  */             memory.  */
2564          YYSTYPE *yyvs1 = yyvs;          YYSTYPE *yyvs1 = yyvs;
2565          short *yyss1 = yyss;          short int *yyss1 = yyss;
2566    
2567    
2568          /* Each stack pointer address is followed by the size of the          /* Each stack pointer address is followed by the size of the
# Line 1132  int yynerrs; Line 2590  int yynerrs;
2590          yystacksize = YYMAXDEPTH;          yystacksize = YYMAXDEPTH;
2591    
2592        {        {
2593          short *yyss1 = yyss;          short int *yyss1 = yyss;
2594          union yyalloc *yyptr =          union yyalloc *yyptr =
2595            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));            (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2596          if (! yyptr)          if (! yyptr)
# Line 1168  int yynerrs; Line 2626  int yynerrs;
2626  yybackup:  yybackup:
2627    
2628  /* Do appropriate processing given the current state.  */  /* Do appropriate processing given the current state.  */
2629  /* Read a lookahead token if we need one and don't already have one.  */  /* Read a look-ahead token if we need one and don't already have one.  */
2630  /* yyresume: */  /* yyresume: */
2631    
2632    /* First try to decide what to do without reference to lookahead token.  */    /* First try to decide what to do without reference to look-ahead token.  */
2633    
2634    yyn = yypact[yystate];    yyn = yypact[yystate];
2635    if (yyn == YYPACT_NINF)    if (yyn == YYPACT_NINF)
2636      goto yydefault;      goto yydefault;
2637    
2638    /* 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.  */
2639    
2640    /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */    /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
2641    if (yychar == YYEMPTY)    if (yychar == YYEMPTY)
2642      {      {
2643        YYDPRINTF ((stderr, "Reading a token: "));        YYDPRINTF ((stderr, "Reading a token: "));
# Line 1194  yybackup: Line 2652  yybackup:
2652    else    else
2653      {      {
2654        yytoken = YYTRANSLATE (yychar);        yytoken = YYTRANSLATE (yychar);
2655        YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);        YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2656      }      }
2657    
2658    /* 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 1214  yybackup: Line 2672  yybackup:
2672    if (yyn == YYFINAL)    if (yyn == YYFINAL)
2673      YYACCEPT;      YYACCEPT;
2674    
2675    /* Shift the lookahead token.  */    /* Shift the look-ahead token.  */
2676    YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken]));    YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2677    
2678    /* Discard the token being shifted unless it is eof.  */    /* Discard the token being shifted unless it is eof.  */
2679    if (yychar != YYEOF)    if (yychar != YYEOF)
# Line 1264  yyreduce: Line 2722  yyreduce:
2722    YY_REDUCE_PRINT (yyn);    YY_REDUCE_PRINT (yyn);
2723    switch (yyn)    switch (yyn)
2724      {      {
2725          case 7:          case 4:
2726  #line 82 "lscp.y"  #line 94 "lscp.y"
2727      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { return LSCP_DONE; }
2728      break;      break;
2729    
2730    case 8:    case 5:
2731  #line 83 "lscp.y"  #line 95 "lscp.y"
2732      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { return LSCP_DONE; }
2733        break;
2734    
2735      case 6:
2736    #line 96 "lscp.y"
2737        { LSCPSERVER->AnswerClient((yyvsp[0].String)); return LSCP_DONE; }
2738        break;
2739    
2740      case 7:
2741    #line 97 "lscp.y"
2742        { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
2743        break;
2744    
2745      case 13:
2746    #line 107 "lscp.y"
2747        { (yyval.String) = LSCPSERVER->AddChannel();                          }
2748      break;      break;
2749    
2750    case 14:    case 14:
2751  #line 93 "lscp.y"  #line 108 "lscp.y"
2752      { yyval.String = LSCPSERVER->AddChannel();                  }      { (yyval.String) = (yyvsp[0].String);                                                }
2753      break;      break;
2754    
2755    case 15:    case 15:
2756  #line 94 "lscp.y"  #line 109 "lscp.y"
2757      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[0].String);                                                }
2758      break;      break;
2759    
2760    case 16:    case 16:
2761  #line 95 "lscp.y"  #line 110 "lscp.y"
2762      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[0].String);                                                }
2763      break;      break;
2764    
2765    case 17:    case 17:
2766  #line 96 "lscp.y"  #line 111 "lscp.y"
2767      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[0].String);                                                }
2768      break;      break;
2769    
2770    case 18:    case 18:
2771  #line 97 "lscp.y"  #line 112 "lscp.y"
2772      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[0].String);                                                }
2773      break;      break;
2774    
2775    case 19:    case 19:
2776  #line 98 "lscp.y"  #line 113 "lscp.y"
2777      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[0].Number));                     }
2778      break;      break;
2779    
2780    case 20:    case 20:
2781  #line 99 "lscp.y"  #line 114 "lscp.y"
2782      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { (yyval.String) = (yyvsp[0].String);                                                }
2783      break;      break;
2784    
2785    case 21:    case 21:
2786  #line 100 "lscp.y"  #line 115 "lscp.y"
2787      { yyval.String = yyvsp[0].String;                                        }      { (yyval.String) = (yyvsp[0].String);                                                }
2788      break;      break;
2789    
2790    case 22:    case 22:
2791  #line 101 "lscp.y"  #line 116 "lscp.y"
2792      { yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number);     }      { (yyval.String) = (yyvsp[0].String);                                                }
2793      break;      break;
2794    
2795    case 23:    case 23:
2796  #line 102 "lscp.y"  #line 117 "lscp.y"
2797      { yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String);   }      { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[0].String));                     }
2798      break;      break;
2799    
2800    case 24:    case 24:
2801  #line 103 "lscp.y"  #line 118 "lscp.y"
2802      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[0].Number));                      }
2803      break;      break;
2804    
2805    case 25:    case 25:
2806  #line 104 "lscp.y"  #line 119 "lscp.y"
2807      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { (yyval.String) = LSCPSERVER->ResetSampler();                        }
2808      break;      break;
2809    
2810    case 26:    case 26:
2811  #line 107 "lscp.y"  #line 120 "lscp.y"
2812      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
2813      break;      break;
2814    
2815    case 27:    case 27:
2816  #line 108 "lscp.y"  #line 123 "lscp.y"
2817      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }
2818      break;      break;
2819    
2820    case 28:    case 28:
2821  #line 109 "lscp.y"  #line 124 "lscp.y"
2822      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }
2823      break;      break;
2824    
2825    case 29:    case 29:
2826  #line 110 "lscp.y"  #line 125 "lscp.y"
2827      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }
2828      break;      break;
2829    
2830    case 30:    case 30:
2831  #line 111 "lscp.y"  #line 126 "lscp.y"
2832      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }
2833      break;      break;
2834    
2835    case 31:    case 31:
2836  #line 112 "lscp.y"  #line 127 "lscp.y"
2837      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }
2838      break;      break;
2839    
2840    case 32:    case 32:
2841  #line 113 "lscp.y"  #line 128 "lscp.y"
2842      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }
2843      break;      break;
2844    
2845    case 33:    case 33:
2846  #line 114 "lscp.y"  #line 129 "lscp.y"
2847      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }
2848      break;      break;
2849    
2850    case 34:    case 34:
2851  #line 115 "lscp.y"  #line 132 "lscp.y"
2852      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }
2853      break;      break;
2854    
2855    case 35:    case 35:
2856  #line 116 "lscp.y"  #line 133 "lscp.y"
2857      { yyval.String = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }
2858      break;      break;
2859    
2860    case 36:    case 36:
2861  #line 117 "lscp.y"  #line 134 "lscp.y"
2862      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }
2863      break;      break;
2864    
2865    case 37:    case 37:
2866  #line 118 "lscp.y"  #line 135 "lscp.y"
2867      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }
2868      break;      break;
2869    
2870    case 38:    case 38:
2871  #line 119 "lscp.y"  #line 136 "lscp.y"
2872      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }
2873      break;      break;
2874    
2875    case 39:    case 39:
2876  #line 120 "lscp.y"  #line 137 "lscp.y"
2877      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }
2878      break;      break;
2879    
2880    case 40:    case 40:
2881  #line 121 "lscp.y"  #line 138 "lscp.y"
2882      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }
2883      break;      break;
2884    
2885    case 41:    case 41:
2886  #line 124 "lscp.y"  #line 141 "lscp.y"
2887      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
2888      break;      break;
2889    
2890    case 42:    case 42:
2891  #line 125 "lscp.y"  #line 142 "lscp.y"
2892      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
2893      break;      break;
2894    
2895    case 43:    case 43:
2896  #line 126 "lscp.y"  #line 143 "lscp.y"
2897      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[0].String));                     }
2898      break;      break;
2899    
2900    case 44:    case 44:
2901  #line 127 "lscp.y"  #line 144 "lscp.y"
2902      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));        }
2903      break;      break;
2904    
2905    case 45:    case 45:
2906  #line 128 "lscp.y"  #line 145 "lscp.y"
2907      { yyval.String = yyvsp[0].String;                                                         }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));    }
2908      break;      break;
2909    
2910    case 46:    case 46:
2911  #line 131 "lscp.y"  #line 146 "lscp.y"
2912      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
2913      break;      break;
2914    
2915    case 47:    case 47:
2916  #line 134 "lscp.y"  #line 147 "lscp.y"
2917      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[0].String));                   }
2918      break;      break;
2919    
2920    case 48:    case 48:
2921  #line 137 "lscp.y"  #line 148 "lscp.y"
2922      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-2].String), (yyvsp[0].String));      }
2923      break;      break;
2924    
2925    case 49:    case 49:
2926  #line 138 "lscp.y"  #line 149 "lscp.y"
2927      { yyval.String = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[-4].String), (yyvsp[-2].String), (yyvsp[0].KeyValList));  }
2928      break;      break;
2929    
2930    case 50:    case 50:
2931  #line 141 "lscp.y"  #line 150 "lscp.y"
2932      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
2933      break;      break;
2934    
2935    case 51:    case 51:
2936  #line 142 "lscp.y"  #line 151 "lscp.y"
2937      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
2938      break;      break;
2939    
2940    case 52:    case 52:
2941  #line 143 "lscp.y"  #line 152 "lscp.y"
2942      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[0].Number));                   }
2943      break;      break;
2944    
2945    case 53:    case 53:
2946  #line 144 "lscp.y"  #line 153 "lscp.y"
2947      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[0].Number));                     }
2948      break;      break;
2949    
2950    case 54:    case 54:
2951  #line 145 "lscp.y"  #line 154 "lscp.y"
2952      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[-2].Number), (yyvsp[0].Number));                   }
2953      break;      break;
2954    
2955    case 55:    case 55:
2956  #line 146 "lscp.y"  #line 155 "lscp.y"
2957      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String));      }
2958      break;      break;
2959    
2960    case 56:    case 56:
2961  #line 149 "lscp.y"  #line 156 "lscp.y"
2962      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[-2].Number), (yyvsp[0].Number));              }
2963      break;      break;
2964    
2965    case 57:    case 57:
2966  #line 150 "lscp.y"  #line 157 "lscp.y"
2967      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].String)); }
2968      break;      break;
2969    
2970    case 58:    case 58:
2971  #line 152 "lscp.y"  #line 158 "lscp.y"
2972      { yyval.FillResponse = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
2973      break;      break;
2974    
2975    case 59:    case 59:
2976  #line 153 "lscp.y"  #line 159 "lscp.y"
2977      { yyval.FillResponse = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[0].Number));                             }
2978      break;      break;
2979    
2980    case 60:    case 60:
2981  #line 156 "lscp.y"  #line 160 "lscp.y"
2982      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[-2].FillResponse), (yyvsp[0].Number));                          }
2983      break;      break;
2984    
2985    case 61:    case 61:
2986  #line 159 "lscp.y"  #line 161 "lscp.y"
2987      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[0].Number));                             }
2988      break;      break;
2989    
2990    case 62:    case 62:
2991  #line 162 "lscp.y"  #line 162 "lscp.y"
2992      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[0].Number));                              }
2993        break;
2994    
2995      case 63:
2996    #line 163 "lscp.y"
2997        { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[0].String));                              }
2998        break;
2999    
3000      case 64:
3001    #line 164 "lscp.y"
3002        { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3003      break;      break;
3004    
3005    case 65:    case 65:
3006    #line 165 "lscp.y"
3007        { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3008        break;
3009    
3010      case 66:
3011    #line 166 "lscp.y"
3012        { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3013        break;
3014    
3015      case 67:
3016  #line 169 "lscp.y"  #line 169 "lscp.y"
3017      { yyval.Dotnum = yyvsp[0].Number; }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }
3018        break;
3019    
3020      case 68:
3021    #line 170 "lscp.y"
3022        { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String)); }
3023        break;
3024    
3025      case 69:
3026    #line 171 "lscp.y"
3027        { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));        }
3028        break;
3029    
3030      case 70:
3031    #line 172 "lscp.y"
3032        { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[-6].Number), (yyvsp[-4].Number), (yyvsp[-2].String), (yyvsp[0].String));      }
3033        break;
3034    
3035      case 71:
3036    #line 173 "lscp.y"
3037        { (yyval.String) = (yyvsp[0].String);                                                         }
3038        break;
3039    
3040      case 72:
3041    #line 174 "lscp.y"
3042        { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[0].Dotnum));  }
3043        break;
3044    
3045      case 73:
3046    #line 177 "lscp.y"
3047        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList)); }
3048        break;
3049    
3050      case 74:
3051    #line 178 "lscp.y"
3052        { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[0].String));    }
3053      break;      break;
3054    
3055    case 75:    case 75:
3056  #line 197 "lscp.y"  #line 179 "lscp.y"
3057      { yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[-2].String),(yyvsp[0].KeyValList));   }
3058      break;      break;
3059    
3060    case 76:    case 76:
3061  #line 200 "lscp.y"  #line 180 "lscp.y"
3062      { yyval.String = yyvsp[0].String;                                             }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[0].String));      }
3063      break;      break;
3064    
3065    case 77:    case 77:
3066  #line 201 "lscp.y"  #line 183 "lscp.y"
3067      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[0].Number)); }
3068      break;      break;
3069    
3070    case 78:    case 78:
3071  #line 202 "lscp.y"  #line 184 "lscp.y"
3072      { yyval.String = yyvsp[-1].String + yyvsp[0].String;                                        }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[0].Number));   }
3073      break;      break;
3074    
3075    case 79:    case 79:
3076  #line 203 "lscp.y"  #line 187 "lscp.y"
3077      { std::stringstream ss; ss << yyvsp[-1].String << yyvsp[0].Number; yyval.String = ss.str(); }      { (yyval.String) = (yyvsp[0].String); }
3078      break;      break;
3079    
3080    case 80:    case 80:
3081  #line 206 "lscp.y"  #line 188 "lscp.y"
3082      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { (yyval.String) = (yyvsp[0].String); }
3083      break;      break;
3084    
3085    case 81:    case 81:
3086  #line 207 "lscp.y"  #line 191 "lscp.y"
3087      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[0].Number), (yyvsp[-2].Number));      }
3088        break;
3089    
3090      case 82:
3091    #line 192 "lscp.y"
3092        { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-4].Number)); }
3093        break;
3094    
3095      case 83:
3096    #line 193 "lscp.y"
3097        { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[0].String), (yyvsp[-2].Number));        }
3098        break;
3099    
3100      case 84:
3101    #line 194 "lscp.y"
3102        { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[-4].Number), (yyvsp[-2].Number), (yyvsp[0].Number), (yyvsp[-6].Number));      }
3103        break;
3104    
3105      case 85:
3106    #line 195 "lscp.y"
3107        { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[0].Number), (yyvsp[-2].Number));        }
3108        break;
3109    
3110      case 86:
3111    #line 196 "lscp.y"
3112        { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[0].Number), (yyvsp[-2].Number));          }
3113        break;
3114    
3115      case 87:
3116    #line 197 "lscp.y"
3117        { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[0].Number), (yyvsp[-2].Number));       }
3118        break;
3119    
3120      case 88:
3121    #line 198 "lscp.y"
3122        { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[0].String), (yyvsp[-2].Number));          }
3123        break;
3124    
3125      case 89:
3126    #line 199 "lscp.y"
3127        { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[0].Dotnum), (yyvsp[-2].Number));                 }
3128        break;
3129    
3130      case 90:
3131    #line 200 "lscp.y"
3132        { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }
3133        break;
3134    
3135      case 91:
3136    #line 201 "lscp.y"
3137        { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[0].Dotnum), (yyvsp[-2].Number));            }
3138        break;
3139    
3140      case 92:
3141    #line 204 "lscp.y"
3142        { (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String);          }
3143        break;
3144    
3145      case 93:
3146    #line 205 "lscp.y"
3147        { (yyval.KeyValList) = (yyvsp[-4].KeyValList); (yyval.KeyValList)[(yyvsp[-2].String)] = (yyvsp[0].String); }
3148        break;
3149    
3150      case 94:
3151    #line 208 "lscp.y"
3152        { (yyval.FillResponse) = fill_response_bytes;      }
3153        break;
3154    
3155      case 95:
3156    #line 209 "lscp.y"
3157        { (yyval.FillResponse) = fill_response_percentage; }
3158        break;
3159    
3160      case 96:
3161    #line 212 "lscp.y"
3162        { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
3163        break;
3164    
3165      case 97:
3166    #line 213 "lscp.y"
3167        { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
3168        break;
3169    
3170      case 98:
3171    #line 214 "lscp.y"
3172        { (yyval.String) = LSCPSERVER->ListChannels();                    }
3173        break;
3174    
3175      case 99:
3176    #line 215 "lscp.y"
3177        { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
3178        break;
3179    
3180      case 100:
3181    #line 216 "lscp.y"
3182        { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
3183        break;
3184    
3185      case 101:
3186    #line 217 "lscp.y"
3187        { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
3188        break;
3189    
3190      case 102:
3191    #line 220 "lscp.y"
3192        { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number));       }
3193        break;
3194    
3195      case 103:
3196    #line 221 "lscp.y"
3197        { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[-4].String), (yyvsp[-2].Number), (yyvsp[0].Number), true); }
3198        break;
3199    
3200      case 104:
3201    #line 224 "lscp.y"
3202        { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[-2].String), (yyvsp[0].Number)); }
3203        break;
3204    
3205      case 110:
3206    #line 240 "lscp.y"
3207        { (yyval.Number) = 16; }
3208        break;
3209    
3210      case 113:
3211    #line 247 "lscp.y"
3212        { (yyval.Dotnum) = (yyvsp[0].Number); }
3213        break;
3214    
3215      case 119:
3216    #line 263 "lscp.y"
3217        { (yyval.String) = (yyvsp[-2].String) + "," + (yyvsp[0].String); }
3218        break;
3219    
3220      case 121:
3221    #line 267 "lscp.y"
3222        { (yyval.String) = "\'" + (yyvsp[-1].String) + "\'"; }
3223        break;
3224    
3225      case 122:
3226    #line 268 "lscp.y"
3227        { (yyval.String) = "\"" + (yyvsp[-1].String) + "\""; }
3228        break;
3229    
3230      case 123:
3231    #line 269 "lscp.y"
3232        { std::stringstream ss; ss << "\'" << (yyvsp[0].Number) << "\'"; (yyval.String) = ss.str(); }
3233        break;
3234    
3235      case 124:
3236    #line 270 "lscp.y"
3237        { std::stringstream ss; ss << "\'" << (yyvsp[0].Dotnum) << "\'"; (yyval.String) = ss.str(); }
3238        break;
3239    
3240      case 125:
3241    #line 278 "lscp.y"
3242        { (yyval.Dotnum) = (yyvsp[0].Number); }
3243        break;
3244    
3245      case 126:
3246    #line 279 "lscp.y"
3247        { (yyval.Dotnum) = -1; }
3248        break;
3249    
3250      case 127:
3251    #line 282 "lscp.y"
3252        { std::string s; s = (yyvsp[0].Char); (yyval.String) = s; }
3253        break;
3254    
3255      case 128:
3256    #line 283 "lscp.y"
3257        { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char);                  }
3258        break;
3259    
3260      case 129:
3261    #line 286 "lscp.y"
3262        { (yyval.Dotnum) = atof(String((yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                         }
3263        break;
3264    
3265      case 130:
3266    #line 287 "lscp.y"
3267        { String s = "+"; s += (yyvsp[-2].String); s += "."; s += (yyvsp[0].String); (yyval.Dotnum) = atof(s.c_str()); }
3268        break;
3269    
3270      case 131:
3271    #line 288 "lscp.y"
3272        { (yyval.Dotnum) = atof(String("-" + (yyvsp[-2].String) + "." + (yyvsp[0].String)).c_str());                   }
3273        break;
3274    
3275      case 132:
3276    #line 292 "lscp.y"
3277        { (yyval.String) = (yyvsp[0].Char);      }
3278        break;
3279    
3280      case 133:
3281    #line 293 "lscp.y"
3282        { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].Char); }
3283        break;
3284    
3285      case 134:
3286    #line 296 "lscp.y"
3287        { (yyval.Char) = '0'; }
3288        break;
3289    
3290      case 135:
3291    #line 297 "lscp.y"
3292        { (yyval.Char) = '1'; }
3293        break;
3294    
3295      case 136:
3296    #line 298 "lscp.y"
3297        { (yyval.Char) = '2'; }
3298        break;
3299    
3300      case 137:
3301    #line 299 "lscp.y"
3302        { (yyval.Char) = '3'; }
3303        break;
3304    
3305      case 138:
3306    #line 300 "lscp.y"
3307        { (yyval.Char) = '4'; }
3308        break;
3309    
3310      case 139:
3311    #line 301 "lscp.y"
3312        { (yyval.Char) = '5'; }
3313        break;
3314    
3315      case 140:
3316    #line 302 "lscp.y"
3317        { (yyval.Char) = '6'; }
3318        break;
3319    
3320      case 141:
3321    #line 303 "lscp.y"
3322        { (yyval.Char) = '7'; }
3323        break;
3324    
3325      case 142:
3326    #line 304 "lscp.y"
3327        { (yyval.Char) = '8'; }
3328        break;
3329    
3330      case 143:
3331    #line 305 "lscp.y"
3332        { (yyval.Char) = '9'; }
3333        break;
3334    
3335      case 144:
3336    #line 308 "lscp.y"
3337        { (yyval.Number) = atoi(String(1, (yyvsp[0].Char)).c_str());      }
3338        break;
3339    
3340      case 145:
3341    #line 309 "lscp.y"
3342        { (yyval.Number) = atoi(String(String("1") + (yyvsp[0].String)).c_str()); }
3343        break;
3344    
3345      case 146:
3346    #line 310 "lscp.y"
3347        { (yyval.Number) = atoi(String(String("2") + (yyvsp[0].String)).c_str()); }
3348        break;
3349    
3350      case 147:
3351    #line 311 "lscp.y"
3352        { (yyval.Number) = atoi(String(String("3") + (yyvsp[0].String)).c_str()); }
3353        break;
3354    
3355      case 148:
3356    #line 312 "lscp.y"
3357        { (yyval.Number) = atoi(String(String("4") + (yyvsp[0].String)).c_str()); }
3358        break;
3359    
3360      case 149:
3361    #line 313 "lscp.y"
3362        { (yyval.Number) = atoi(String(String("5") + (yyvsp[0].String)).c_str()); }
3363        break;
3364    
3365      case 150:
3366    #line 314 "lscp.y"
3367        { (yyval.Number) = atoi(String(String("6") + (yyvsp[0].String)).c_str()); }
3368        break;
3369    
3370      case 151:
3371    #line 315 "lscp.y"
3372        { (yyval.Number) = atoi(String(String("7") + (yyvsp[0].String)).c_str()); }
3373        break;
3374    
3375      case 152:
3376    #line 316 "lscp.y"
3377        { (yyval.Number) = atoi(String(String("8") + (yyvsp[0].String)).c_str()); }
3378        break;
3379    
3380      case 153:
3381    #line 317 "lscp.y"
3382        { (yyval.Number) = atoi(String(String("9") + (yyvsp[0].String)).c_str()); }
3383        break;
3384    
3385      case 154:
3386    #line 319 "lscp.y"
3387        { (yyval.Char) = 'A'; }
3388        break;
3389    
3390      case 155:
3391    #line 319 "lscp.y"
3392        { (yyval.Char) = 'B'; }
3393        break;
3394    
3395      case 156:
3396    #line 319 "lscp.y"
3397        { (yyval.Char) = 'C'; }
3398        break;
3399    
3400      case 157:
3401    #line 319 "lscp.y"
3402        { (yyval.Char) = 'D'; }
3403        break;
3404    
3405      case 158:
3406    #line 319 "lscp.y"
3407        { (yyval.Char) = 'E'; }
3408        break;
3409    
3410      case 159:
3411    #line 319 "lscp.y"
3412        { (yyval.Char) = 'F'; }
3413        break;
3414    
3415      case 160:
3416    #line 319 "lscp.y"
3417        { (yyval.Char) = 'G'; }
3418        break;
3419    
3420      case 161:
3421    #line 319 "lscp.y"
3422        { (yyval.Char) = 'H'; }
3423        break;
3424    
3425      case 162:
3426    #line 319 "lscp.y"
3427        { (yyval.Char) = 'I'; }
3428        break;
3429    
3430      case 163:
3431    #line 319 "lscp.y"
3432        { (yyval.Char) = 'J'; }
3433        break;
3434    
3435      case 164:
3436    #line 319 "lscp.y"
3437        { (yyval.Char) = 'K'; }
3438        break;
3439    
3440      case 165:
3441    #line 319 "lscp.y"
3442        { (yyval.Char) = 'L'; }
3443        break;
3444    
3445      case 166:
3446    #line 319 "lscp.y"
3447        { (yyval.Char) = 'M'; }
3448        break;
3449    
3450      case 167:
3451    #line 319 "lscp.y"
3452        { (yyval.Char) = 'N'; }
3453        break;
3454    
3455      case 168:
3456    #line 319 "lscp.y"
3457        { (yyval.Char) = 'O'; }
3458        break;
3459    
3460      case 169:
3461    #line 319 "lscp.y"
3462        { (yyval.Char) = 'P'; }
3463        break;
3464    
3465      case 170:
3466    #line 319 "lscp.y"
3467        { (yyval.Char) = 'Q'; }
3468        break;
3469    
3470      case 171:
3471    #line 319 "lscp.y"
3472        { (yyval.Char) = 'R'; }
3473        break;
3474    
3475      case 172:
3476    #line 319 "lscp.y"
3477        { (yyval.Char) = 'S'; }
3478        break;
3479    
3480      case 173:
3481    #line 319 "lscp.y"
3482        { (yyval.Char) = 'T'; }
3483        break;
3484    
3485      case 174:
3486    #line 319 "lscp.y"
3487        { (yyval.Char) = 'U'; }
3488        break;
3489    
3490      case 175:
3491    #line 319 "lscp.y"
3492        { (yyval.Char) = 'V'; }
3493        break;
3494    
3495      case 176:
3496    #line 319 "lscp.y"
3497        { (yyval.Char) = 'W'; }
3498        break;
3499    
3500      case 177:
3501    #line 319 "lscp.y"
3502        { (yyval.Char) = 'X'; }
3503        break;
3504    
3505      case 178:
3506    #line 319 "lscp.y"
3507        { (yyval.Char) = 'Y'; }
3508        break;
3509    
3510      case 179:
3511    #line 319 "lscp.y"
3512        { (yyval.Char) = 'Z'; }
3513        break;
3514    
3515      case 180:
3516    #line 320 "lscp.y"
3517        { (yyval.Char) = 'a'; }
3518        break;
3519    
3520      case 181:
3521    #line 320 "lscp.y"
3522        { (yyval.Char) = 'b'; }
3523        break;
3524    
3525      case 182:
3526    #line 320 "lscp.y"
3527        { (yyval.Char) = 'c'; }
3528        break;
3529    
3530      case 183:
3531    #line 320 "lscp.y"
3532        { (yyval.Char) = 'd'; }
3533        break;
3534    
3535      case 184:
3536    #line 320 "lscp.y"
3537        { (yyval.Char) = 'e'; }
3538        break;
3539    
3540      case 185:
3541    #line 320 "lscp.y"
3542        { (yyval.Char) = 'f'; }
3543        break;
3544    
3545      case 186:
3546    #line 320 "lscp.y"
3547        { (yyval.Char) = 'g'; }
3548        break;
3549    
3550      case 187:
3551    #line 320 "lscp.y"
3552        { (yyval.Char) = 'h'; }
3553        break;
3554    
3555      case 188:
3556    #line 320 "lscp.y"
3557        { (yyval.Char) = 'i'; }
3558        break;
3559    
3560      case 189:
3561    #line 320 "lscp.y"
3562        { (yyval.Char) = 'j'; }
3563        break;
3564    
3565      case 190:
3566    #line 320 "lscp.y"
3567        { (yyval.Char) = 'k'; }
3568        break;
3569    
3570      case 191:
3571    #line 320 "lscp.y"
3572        { (yyval.Char) = 'l'; }
3573        break;
3574    
3575      case 192:
3576    #line 320 "lscp.y"
3577        { (yyval.Char) = 'm'; }
3578        break;
3579    
3580      case 193:
3581    #line 320 "lscp.y"
3582        { (yyval.Char) = 'n'; }
3583        break;
3584    
3585      case 194:
3586    #line 320 "lscp.y"
3587        { (yyval.Char) = 'o'; }
3588        break;
3589    
3590      case 195:
3591    #line 320 "lscp.y"
3592        { (yyval.Char) = 'p'; }
3593        break;
3594    
3595      case 196:
3596    #line 320 "lscp.y"
3597        { (yyval.Char) = 'q'; }
3598        break;
3599    
3600      case 197:
3601    #line 320 "lscp.y"
3602        { (yyval.Char) = 'r'; }
3603        break;
3604    
3605      case 198:
3606    #line 320 "lscp.y"
3607        { (yyval.Char) = 's'; }
3608        break;
3609    
3610      case 199:
3611    #line 320 "lscp.y"
3612        { (yyval.Char) = 't'; }
3613        break;
3614    
3615      case 200:
3616    #line 320 "lscp.y"
3617        { (yyval.Char) = 'u'; }
3618        break;
3619    
3620      case 201:
3621    #line 320 "lscp.y"
3622        { (yyval.Char) = 'v'; }
3623        break;
3624    
3625      case 202:
3626    #line 320 "lscp.y"
3627        { (yyval.Char) = 'w'; }
3628        break;
3629    
3630      case 203:
3631    #line 320 "lscp.y"
3632        { (yyval.Char) = 'x'; }
3633        break;
3634    
3635      case 204:
3636    #line 320 "lscp.y"
3637        { (yyval.Char) = 'y'; }
3638        break;
3639    
3640      case 205:
3641    #line 320 "lscp.y"
3642        { (yyval.Char) = 'z'; }
3643        break;
3644    
3645      case 206:
3646    #line 321 "lscp.y"
3647        { (yyval.Char) = '0'; }
3648        break;
3649    
3650      case 207:
3651    #line 321 "lscp.y"
3652        { (yyval.Char) = '1'; }
3653        break;
3654    
3655      case 208:
3656    #line 321 "lscp.y"
3657        { (yyval.Char) = '2'; }
3658        break;
3659    
3660      case 209:
3661    #line 321 "lscp.y"
3662        { (yyval.Char) = '3'; }
3663        break;
3664    
3665      case 210:
3666    #line 321 "lscp.y"
3667        { (yyval.Char) = '4'; }
3668        break;
3669    
3670      case 211:
3671    #line 321 "lscp.y"
3672        { (yyval.Char) = '5'; }
3673        break;
3674    
3675      case 212:
3676    #line 321 "lscp.y"
3677        { (yyval.Char) = '6'; }
3678        break;
3679    
3680      case 213:
3681    #line 321 "lscp.y"
3682        { (yyval.Char) = '7'; }
3683        break;
3684    
3685      case 214:
3686    #line 321 "lscp.y"
3687        { (yyval.Char) = '8'; }
3688        break;
3689    
3690      case 215:
3691    #line 321 "lscp.y"
3692        { (yyval.Char) = '9'; }
3693        break;
3694    
3695      case 216:
3696    #line 322 "lscp.y"
3697        { (yyval.Char) = '!'; }
3698        break;
3699    
3700      case 217:
3701    #line 322 "lscp.y"
3702        { (yyval.Char) = '#'; }
3703        break;
3704    
3705      case 218:
3706    #line 322 "lscp.y"
3707        { (yyval.Char) = '$'; }
3708        break;
3709    
3710      case 219:
3711    #line 322 "lscp.y"
3712        { (yyval.Char) = '%'; }
3713        break;
3714    
3715      case 220:
3716    #line 322 "lscp.y"
3717        { (yyval.Char) = '&'; }
3718        break;
3719    
3720      case 221:
3721    #line 322 "lscp.y"
3722        { (yyval.Char) = '('; }
3723        break;
3724    
3725      case 222:
3726    #line 322 "lscp.y"
3727        { (yyval.Char) = ')'; }
3728        break;
3729    
3730      case 223:
3731    #line 322 "lscp.y"
3732        { (yyval.Char) = '*'; }
3733        break;
3734    
3735      case 224:
3736    #line 322 "lscp.y"
3737        { (yyval.Char) = '+'; }
3738        break;
3739    
3740      case 225:
3741    #line 322 "lscp.y"
3742        { (yyval.Char) = '-'; }
3743        break;
3744    
3745      case 226:
3746    #line 322 "lscp.y"
3747        { (yyval.Char) = '.'; }
3748        break;
3749    
3750      case 227:
3751    #line 322 "lscp.y"
3752        { (yyval.Char) = ','; }
3753        break;
3754    
3755      case 228:
3756    #line 322 "lscp.y"
3757        { (yyval.Char) = '/'; }
3758        break;
3759    
3760      case 229:
3761    #line 323 "lscp.y"
3762        { (yyval.Char) = ':'; }
3763        break;
3764    
3765      case 230:
3766    #line 323 "lscp.y"
3767        { (yyval.Char) = ';'; }
3768        break;
3769    
3770      case 231:
3771    #line 323 "lscp.y"
3772        { (yyval.Char) = '<'; }
3773        break;
3774    
3775      case 232:
3776    #line 323 "lscp.y"
3777        { (yyval.Char) = '='; }
3778        break;
3779    
3780      case 233:
3781    #line 323 "lscp.y"
3782        { (yyval.Char) = '>'; }
3783        break;
3784    
3785      case 234:
3786    #line 323 "lscp.y"
3787        { (yyval.Char) = '?'; }
3788        break;
3789    
3790      case 235:
3791    #line 323 "lscp.y"
3792        { (yyval.Char) = '@'; }
3793        break;
3794    
3795      case 236:
3796    #line 324 "lscp.y"
3797        { (yyval.Char) = '['; }
3798        break;
3799    
3800      case 237:
3801    #line 324 "lscp.y"
3802        { (yyval.Char) = '\\'; }
3803        break;
3804    
3805      case 238:
3806    #line 324 "lscp.y"
3807        { (yyval.Char) = ']'; }
3808        break;
3809    
3810      case 239:
3811    #line 324 "lscp.y"
3812        { (yyval.Char) = '^'; }
3813        break;
3814    
3815      case 240:
3816    #line 324 "lscp.y"
3817        { (yyval.Char) = '_'; }
3818        break;
3819    
3820      case 241:
3821    #line 325 "lscp.y"
3822        { (yyval.Char) = '{'; }
3823        break;
3824    
3825      case 242:
3826    #line 325 "lscp.y"
3827        { (yyval.Char) = '|'; }
3828        break;
3829    
3830      case 243:
3831    #line 325 "lscp.y"
3832        { (yyval.Char) = '}'; }
3833        break;
3834    
3835      case 244:
3836    #line 325 "lscp.y"
3837        { (yyval.Char) = '~'; }
3838        break;
3839    
3840      case 245:
3841    #line 326 "lscp.y"
3842        { (yyval.Char) = '\200'; }
3843        break;
3844    
3845      case 246:
3846    #line 326 "lscp.y"
3847        { (yyval.Char) = '\201'; }
3848        break;
3849    
3850      case 247:
3851    #line 326 "lscp.y"
3852        { (yyval.Char) = '\202'; }
3853        break;
3854    
3855      case 248:
3856    #line 327 "lscp.y"
3857        { (yyval.Char) = '\203'; }
3858        break;
3859    
3860      case 249:
3861    #line 327 "lscp.y"
3862        { (yyval.Char) = '\204'; }
3863        break;
3864    
3865      case 250:
3866    #line 327 "lscp.y"
3867        { (yyval.Char) = '\205'; }
3868        break;
3869    
3870      case 251:
3871    #line 328 "lscp.y"
3872        { (yyval.Char) = '\206'; }
3873        break;
3874    
3875      case 252:
3876    #line 328 "lscp.y"
3877        { (yyval.Char) = '\207'; }
3878        break;
3879    
3880      case 253:
3881    #line 328 "lscp.y"
3882        { (yyval.Char) = '\210'; }
3883        break;
3884    
3885      case 254:
3886    #line 329 "lscp.y"
3887        { (yyval.Char) = '\211'; }
3888        break;
3889    
3890      case 255:
3891    #line 329 "lscp.y"
3892        { (yyval.Char) = '\212'; }
3893        break;
3894    
3895      case 256:
3896    #line 329 "lscp.y"
3897        { (yyval.Char) = '\213'; }
3898        break;
3899    
3900      case 257:
3901    #line 330 "lscp.y"
3902        { (yyval.Char) = '\214'; }
3903        break;
3904    
3905      case 258:
3906    #line 330 "lscp.y"
3907        { (yyval.Char) = '\215'; }
3908        break;
3909    
3910      case 259:
3911    #line 330 "lscp.y"
3912        { (yyval.Char) = '\216'; }
3913        break;
3914    
3915      case 260:
3916    #line 331 "lscp.y"
3917        { (yyval.Char) = '\217'; }
3918        break;
3919    
3920      case 261:
3921    #line 331 "lscp.y"
3922        { (yyval.Char) = '\220'; }
3923        break;
3924    
3925      case 262:
3926    #line 331 "lscp.y"
3927        { (yyval.Char) = '\221'; }
3928        break;
3929    
3930      case 263:
3931    #line 332 "lscp.y"
3932        { (yyval.Char) = '\222'; }
3933        break;
3934    
3935      case 264:
3936    #line 332 "lscp.y"
3937        { (yyval.Char) = '\223'; }
3938        break;
3939    
3940      case 265:
3941    #line 332 "lscp.y"
3942        { (yyval.Char) = '\224'; }
3943        break;
3944    
3945      case 266:
3946    #line 333 "lscp.y"
3947        { (yyval.Char) = '\225'; }
3948        break;
3949    
3950      case 267:
3951    #line 333 "lscp.y"
3952        { (yyval.Char) = '\226'; }
3953        break;
3954    
3955      case 268:
3956    #line 333 "lscp.y"
3957        { (yyval.Char) = '\227'; }
3958        break;
3959    
3960      case 269:
3961    #line 334 "lscp.y"
3962        { (yyval.Char) = '\230'; }
3963        break;
3964    
3965      case 270:
3966    #line 334 "lscp.y"
3967        { (yyval.Char) = '\231'; }
3968        break;
3969    
3970      case 271:
3971    #line 334 "lscp.y"
3972        { (yyval.Char) = '\232'; }
3973        break;
3974    
3975      case 272:
3976    #line 335 "lscp.y"
3977        { (yyval.Char) = '\233'; }
3978        break;
3979    
3980      case 273:
3981    #line 335 "lscp.y"
3982        { (yyval.Char) = '\234'; }
3983        break;
3984    
3985      case 274:
3986    #line 335 "lscp.y"
3987        { (yyval.Char) = '\235'; }
3988        break;
3989    
3990      case 275:
3991    #line 336 "lscp.y"
3992        { (yyval.Char) = '\236'; }
3993        break;
3994    
3995      case 276:
3996    #line 336 "lscp.y"
3997        { (yyval.Char) = '\237'; }
3998        break;
3999    
4000      case 277:
4001    #line 336 "lscp.y"
4002        { (yyval.Char) = '\240'; }
4003        break;
4004    
4005      case 278:
4006    #line 337 "lscp.y"
4007        { (yyval.Char) = '\241'; }
4008        break;
4009    
4010      case 279:
4011    #line 337 "lscp.y"
4012        { (yyval.Char) = '\242'; }
4013        break;
4014    
4015      case 280:
4016    #line 337 "lscp.y"
4017        { (yyval.Char) = '\243'; }
4018        break;
4019    
4020      case 281:
4021    #line 338 "lscp.y"
4022        { (yyval.Char) = '\244'; }
4023        break;
4024    
4025      case 282:
4026    #line 338 "lscp.y"
4027        { (yyval.Char) = '\245'; }
4028        break;
4029    
4030      case 283:
4031    #line 338 "lscp.y"
4032        { (yyval.Char) = '\246'; }
4033        break;
4034    
4035      case 284:
4036    #line 339 "lscp.y"
4037        { (yyval.Char) = '\247'; }
4038        break;
4039    
4040      case 285:
4041    #line 339 "lscp.y"
4042        { (yyval.Char) = '\250'; }
4043        break;
4044    
4045      case 286:
4046    #line 339 "lscp.y"
4047        { (yyval.Char) = '\251'; }
4048        break;
4049    
4050      case 287:
4051    #line 340 "lscp.y"
4052        { (yyval.Char) = '\252'; }
4053        break;
4054    
4055      case 288:
4056    #line 340 "lscp.y"
4057        { (yyval.Char) = '\253'; }
4058        break;
4059    
4060      case 289:
4061    #line 340 "lscp.y"
4062        { (yyval.Char) = '\254'; }
4063        break;
4064    
4065      case 290:
4066    #line 341 "lscp.y"
4067        { (yyval.Char) = '\255'; }
4068        break;
4069    
4070      case 291:
4071    #line 341 "lscp.y"
4072        { (yyval.Char) = '\256'; }
4073        break;
4074    
4075      case 292:
4076    #line 341 "lscp.y"
4077        { (yyval.Char) = '\257'; }
4078        break;
4079    
4080      case 293:
4081    #line 342 "lscp.y"
4082        { (yyval.Char) = '\260'; }
4083        break;
4084    
4085      case 294:
4086    #line 342 "lscp.y"
4087        { (yyval.Char) = '\261'; }
4088        break;
4089    
4090      case 295:
4091    #line 342 "lscp.y"
4092        { (yyval.Char) = '\262'; }
4093        break;
4094    
4095      case 296:
4096    #line 343 "lscp.y"
4097        { (yyval.Char) = '\263'; }
4098        break;
4099    
4100      case 297:
4101    #line 343 "lscp.y"
4102        { (yyval.Char) = '\264'; }
4103        break;
4104    
4105      case 298:
4106    #line 343 "lscp.y"
4107        { (yyval.Char) = '\265'; }
4108        break;
4109    
4110      case 299:
4111    #line 344 "lscp.y"
4112        { (yyval.Char) = '\266'; }
4113        break;
4114    
4115      case 300:
4116    #line 344 "lscp.y"
4117        { (yyval.Char) = '\267'; }
4118        break;
4119    
4120      case 301:
4121    #line 344 "lscp.y"
4122        { (yyval.Char) = '\270'; }
4123        break;
4124    
4125      case 302:
4126    #line 345 "lscp.y"
4127        { (yyval.Char) = '\271'; }
4128        break;
4129    
4130      case 303:
4131    #line 345 "lscp.y"
4132        { (yyval.Char) = '\272'; }
4133        break;
4134    
4135      case 304:
4136    #line 345 "lscp.y"
4137        { (yyval.Char) = '\273'; }
4138        break;
4139    
4140      case 305:
4141    #line 346 "lscp.y"
4142        { (yyval.Char) = '\274'; }
4143        break;
4144    
4145      case 306:
4146    #line 346 "lscp.y"
4147        { (yyval.Char) = '\275'; }
4148        break;
4149    
4150      case 307:
4151    #line 346 "lscp.y"
4152        { (yyval.Char) = '\276'; }
4153        break;
4154    
4155      case 308:
4156    #line 347 "lscp.y"
4157        { (yyval.Char) = '\277'; }
4158        break;
4159    
4160      case 309:
4161    #line 347 "lscp.y"
4162        { (yyval.Char) = '\300'; }
4163        break;
4164    
4165      case 310:
4166    #line 347 "lscp.y"
4167        { (yyval.Char) = '\301'; }
4168        break;
4169    
4170      case 311:
4171    #line 348 "lscp.y"
4172        { (yyval.Char) = '\302'; }
4173        break;
4174    
4175      case 312:
4176    #line 348 "lscp.y"
4177        { (yyval.Char) = '\303'; }
4178        break;
4179    
4180      case 313:
4181    #line 348 "lscp.y"
4182        { (yyval.Char) = '\304'; }
4183        break;
4184    
4185      case 314:
4186    #line 349 "lscp.y"
4187        { (yyval.Char) = '\305'; }
4188        break;
4189    
4190      case 315:
4191    #line 349 "lscp.y"
4192        { (yyval.Char) = '\306'; }
4193        break;
4194    
4195      case 316:
4196    #line 349 "lscp.y"
4197        { (yyval.Char) = '\307'; }
4198        break;
4199    
4200      case 317:
4201    #line 350 "lscp.y"
4202        { (yyval.Char) = '\310'; }
4203        break;
4204    
4205      case 318:
4206    #line 350 "lscp.y"
4207        { (yyval.Char) = '\311'; }
4208        break;
4209    
4210      case 319:
4211    #line 350 "lscp.y"
4212        { (yyval.Char) = '\312'; }
4213        break;
4214    
4215      case 320:
4216    #line 351 "lscp.y"
4217        { (yyval.Char) = '\313'; }
4218        break;
4219    
4220      case 321:
4221    #line 351 "lscp.y"
4222        { (yyval.Char) = '\314'; }
4223        break;
4224    
4225      case 322:
4226    #line 351 "lscp.y"
4227        { (yyval.Char) = '\315'; }
4228        break;
4229    
4230      case 323:
4231    #line 352 "lscp.y"
4232        { (yyval.Char) = '\316'; }
4233        break;
4234    
4235      case 324:
4236    #line 352 "lscp.y"
4237        { (yyval.Char) = '\317'; }
4238        break;
4239    
4240      case 325:
4241    #line 352 "lscp.y"
4242        { (yyval.Char) = '\320'; }
4243        break;
4244    
4245      case 326:
4246    #line 353 "lscp.y"
4247        { (yyval.Char) = '\321'; }
4248        break;
4249    
4250      case 327:
4251    #line 353 "lscp.y"
4252        { (yyval.Char) = '\322'; }
4253        break;
4254    
4255      case 328:
4256    #line 353 "lscp.y"
4257        { (yyval.Char) = '\323'; }
4258        break;
4259    
4260      case 329:
4261    #line 354 "lscp.y"
4262        { (yyval.Char) = '\324'; }
4263        break;
4264    
4265      case 330:
4266    #line 354 "lscp.y"
4267        { (yyval.Char) = '\325'; }
4268        break;
4269    
4270      case 331:
4271    #line 354 "lscp.y"
4272        { (yyval.Char) = '\326'; }
4273        break;
4274    
4275      case 332:
4276    #line 355 "lscp.y"
4277        { (yyval.Char) = '\327'; }
4278        break;
4279    
4280      case 333:
4281    #line 355 "lscp.y"
4282        { (yyval.Char) = '\330'; }
4283        break;
4284    
4285      case 334:
4286    #line 355 "lscp.y"
4287        { (yyval.Char) = '\331'; }
4288        break;
4289    
4290      case 335:
4291    #line 356 "lscp.y"
4292        { (yyval.Char) = '\332'; }
4293        break;
4294    
4295      case 336:
4296    #line 356 "lscp.y"
4297        { (yyval.Char) = '\333'; }
4298        break;
4299    
4300      case 337:
4301    #line 356 "lscp.y"
4302        { (yyval.Char) = '\334'; }
4303        break;
4304    
4305      case 338:
4306    #line 357 "lscp.y"
4307        { (yyval.Char) = '\335'; }
4308        break;
4309    
4310      case 339:
4311    #line 357 "lscp.y"
4312        { (yyval.Char) = '\336'; }
4313        break;
4314    
4315      case 340:
4316    #line 357 "lscp.y"
4317        { (yyval.Char) = '\337'; }
4318        break;
4319    
4320      case 341:
4321    #line 358 "lscp.y"
4322        { (yyval.Char) = '\340'; }
4323        break;
4324    
4325      case 342:
4326    #line 358 "lscp.y"
4327        { (yyval.Char) = '\341'; }
4328        break;
4329    
4330      case 343:
4331    #line 358 "lscp.y"
4332        { (yyval.Char) = '\342'; }
4333        break;
4334    
4335      case 344:
4336    #line 359 "lscp.y"
4337        { (yyval.Char) = '\343'; }
4338        break;
4339    
4340      case 345:
4341    #line 359 "lscp.y"
4342        { (yyval.Char) = '\344'; }
4343        break;
4344    
4345      case 346:
4346    #line 359 "lscp.y"
4347        { (yyval.Char) = '\345'; }
4348        break;
4349    
4350      case 347:
4351    #line 360 "lscp.y"
4352        { (yyval.Char) = '\346'; }
4353        break;
4354    
4355      case 348:
4356    #line 360 "lscp.y"
4357        { (yyval.Char) = '\347'; }
4358        break;
4359    
4360      case 349:
4361    #line 360 "lscp.y"
4362        { (yyval.Char) = '\350'; }
4363        break;
4364    
4365      case 350:
4366    #line 361 "lscp.y"
4367        { (yyval.Char) = '\351'; }
4368        break;
4369    
4370      case 351:
4371    #line 361 "lscp.y"
4372        { (yyval.Char) = '\352'; }
4373        break;
4374    
4375      case 352:
4376    #line 361 "lscp.y"
4377        { (yyval.Char) = '\353'; }
4378        break;
4379    
4380      case 353:
4381    #line 362 "lscp.y"
4382        { (yyval.Char) = '\354'; }
4383        break;
4384    
4385      case 354:
4386    #line 362 "lscp.y"
4387        { (yyval.Char) = '\355'; }
4388        break;
4389    
4390      case 355:
4391    #line 362 "lscp.y"
4392        { (yyval.Char) = '\356'; }
4393        break;
4394    
4395      case 356:
4396    #line 363 "lscp.y"
4397        { (yyval.Char) = '\357'; }
4398        break;
4399    
4400      case 357:
4401    #line 363 "lscp.y"
4402        { (yyval.Char) = '\360'; }
4403        break;
4404    
4405      case 358:
4406    #line 363 "lscp.y"
4407        { (yyval.Char) = '\361'; }
4408        break;
4409    
4410      case 359:
4411    #line 364 "lscp.y"
4412        { (yyval.Char) = '\362'; }
4413        break;
4414    
4415      case 360:
4416    #line 364 "lscp.y"
4417        { (yyval.Char) = '\363'; }
4418        break;
4419    
4420      case 361:
4421    #line 364 "lscp.y"
4422        { (yyval.Char) = '\364'; }
4423        break;
4424    
4425      case 362:
4426    #line 365 "lscp.y"
4427        { (yyval.Char) = '\365'; }
4428        break;
4429    
4430      case 363:
4431    #line 365 "lscp.y"
4432        { (yyval.Char) = '\366'; }
4433        break;
4434    
4435      case 364:
4436    #line 365 "lscp.y"
4437        { (yyval.Char) = '\367'; }
4438        break;
4439    
4440      case 365:
4441    #line 366 "lscp.y"
4442        { (yyval.Char) = '\370'; }
4443        break;
4444    
4445      case 366:
4446    #line 366 "lscp.y"
4447        { (yyval.Char) = '\371'; }
4448        break;
4449    
4450      case 367:
4451    #line 366 "lscp.y"
4452        { (yyval.Char) = '\372'; }
4453        break;
4454    
4455      case 368:
4456    #line 367 "lscp.y"
4457        { (yyval.Char) = '\373'; }
4458        break;
4459    
4460      case 369:
4461    #line 367 "lscp.y"
4462        { (yyval.Char) = '\374'; }
4463        break;
4464    
4465      case 370:
4466    #line 367 "lscp.y"
4467        { (yyval.Char) = '\375'; }
4468        break;
4469    
4470      case 371:
4471    #line 368 "lscp.y"
4472        { (yyval.Char) = '\376'; }
4473        break;
4474    
4475      case 372:
4476    #line 368 "lscp.y"
4477        { (yyval.Char) = '\377'; }
4478        break;
4479    
4480      case 373:
4481    #line 371 "lscp.y"
4482        { (yyval.String) = " ";      }
4483        break;
4484    
4485      case 375:
4486    #line 373 "lscp.y"
4487        { (yyval.String) = (yyvsp[-1].String) + " "; }
4488        break;
4489    
4490      case 376:
4491    #line 374 "lscp.y"
4492        { (yyval.String) = (yyvsp[-1].String) + (yyvsp[0].String);  }
4493        break;
4494    
4495      case 377:
4496    #line 377 "lscp.y"
4497        { (yyval.String) = (yyvsp[-1].String); }
4498        break;
4499    
4500      case 378:
4501    #line 378 "lscp.y"
4502        { (yyval.String) = (yyvsp[-1].String); }
4503      break;      break;
4504    
4505    
4506      }      }
4507    
4508  /* Line 999 of yacc.c.  */  /* Line 1037 of yacc.c.  */
4509  #line 1567 "y.tab.c"  #line 4510 "y.tab.c"
4510    
4511    yyvsp -= yylen;    yyvsp -= yylen;
4512    yyssp -= yylen;    yyssp -= yylen;
# Line 1604  yyerrlab: Line 4547  yyerrlab:
4547          {          {
4548            YYSIZE_T yysize = 0;            YYSIZE_T yysize = 0;
4549            int yytype = YYTRANSLATE (yychar);            int yytype = YYTRANSLATE (yychar);
4550              const char* yyprefix;
4551            char *yymsg;            char *yymsg;
4552            int yyx, yycount;            int yyx;
4553    
           yycount = 0;  
4554            /* Start YYX at -YYN if negative to avoid negative indexes in            /* Start YYX at -YYN if negative to avoid negative indexes in
4555               YYCHECK.  */               YYCHECK.  */
4556            for (yyx = yyn < 0 ? -yyn : 0;            int yyxbegin = yyn < 0 ? -yyn : 0;
4557                 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)  
4558              /* Stay within bounds of both yycheck and yytname.  */
4559              int yychecklim = YYLAST - yyn;
4560              int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
4561              int yycount = 0;
4562    
4563              yyprefix = ", expecting ";
4564              for (yyx = yyxbegin; yyx < yyxend; ++yyx)
4565              if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)              if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4566                yysize += yystrlen (yytname[yyx]) + 15, yycount++;                {
4567            yysize += yystrlen ("syntax error, unexpected ") + 1;                  yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
4568            yysize += yystrlen (yytname[yytype]);                  yycount += 1;
4569                    if (yycount == 5)
4570                      {
4571                        yysize = 0;
4572                        break;
4573                      }
4574                  }
4575              yysize += (sizeof ("syntax error, unexpected ")
4576                         + yystrlen (yytname[yytype]));
4577            yymsg = (char *) YYSTACK_ALLOC (yysize);            yymsg = (char *) YYSTACK_ALLOC (yysize);
4578            if (yymsg != 0)            if (yymsg != 0)
4579              {              {
# Line 1624  yyerrlab: Line 4582  yyerrlab:
4582    
4583                if (yycount < 5)                if (yycount < 5)
4584                  {                  {
4585                    yycount = 0;                    yyprefix = ", expecting ";
4586                    for (yyx = yyn < 0 ? -yyn : 0;                    for (yyx = yyxbegin; yyx < yyxend; ++yyx)
                        yyx < (int) (sizeof (yytname) / sizeof (char *));  
                        yyx++)  
4587                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)                      if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
4588                        {                        {
4589                          const char *yyq = ! yycount ? ", expecting " : " or ";                          yyp = yystpcpy (yyp, yyprefix);
                         yyp = yystpcpy (yyp, yyq);  
4590                          yyp = yystpcpy (yyp, yytname[yyx]);                          yyp = yystpcpy (yyp, yytname[yyx]);
4591                          yycount++;                          yyprefix = " or ";
4592                        }                        }
4593                  }                  }
4594                yyerror (yymsg);                yyerror (yymsg);
# Line 1651  yyerrlab: Line 4606  yyerrlab:
4606    
4607    if (yyerrstatus == 3)    if (yyerrstatus == 3)
4608      {      {
4609        /* If just tried and failed to reuse lookahead token after an        /* If just tried and failed to reuse look-ahead token after an
4610           error, discard it.  */           error, discard it.  */
4611    
4612        /* Return failure if at end of input.  */        if (yychar <= YYEOF)
       if (yychar == YYEOF)  
4613          {          {
4614            /* Pop the error token.  */            /* If at end of input, pop the error token,
4615            YYPOPSTACK;               then the rest of the stack, then return failure.  */
4616            /* Pop the rest of the stack.  */            if (yychar == YYEOF)
4617            while (yyss < yyssp)               for (;;)
4618              {                 {
4619                YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
4620                yydestruct (yystos[*yyssp], yyvsp);                   YYPOPSTACK;
4621                YYPOPSTACK;                   if (yyssp == yyss)
4622              }                     YYABORT;
4623            YYABORT;                   yydestruct ("Error: popping",
4624                                 yystos[*yyssp], yyvsp);
4625                   }
4626          }          }
4627          else
4628        YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc);          {
4629        yydestruct (yytoken, &yylval);            yydestruct ("Error: discarding", yytoken, &yylval);
4630        yychar = YYEMPTY;            yychar = YYEMPTY;
4631            }
4632      }      }
4633    
4634    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse look-ahead token after shifting the error
4635       token.  */       token.  */
4636    goto yyerrlab1;    goto yyerrlab1;
4637    
4638    
4639  /*----------------------------------------------------.  /*---------------------------------------------------.
4640  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrorlab -- error raised explicitly by YYERROR.  |
4641  `----------------------------------------------------*/  `---------------------------------------------------*/
4642    yyerrorlab:
4643    
4644    #ifdef __GNUC__
4645      /* Pacify GCC when the user code never invokes YYERROR and the label
4646         yyerrorlab therefore never appears in user code.  */
4647      if (0)
4648         goto yyerrorlab;
4649    #endif
4650    
4651    yyvsp -= yylen;
4652      yyssp -= yylen;
4653      yystate = *yyssp;
4654      goto yyerrlab1;
4655    
4656    
4657    /*-------------------------------------------------------------.
4658    | yyerrlab1 -- common code for both syntax error and YYERROR.  |
4659    `-------------------------------------------------------------*/
4660  yyerrlab1:  yyerrlab1:
4661    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
4662    
# Line 1704  yyerrlab1: Line 4678  yyerrlab1:
4678        if (yyssp == yyss)        if (yyssp == yyss)
4679          YYABORT;          YYABORT;
4680    
       YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp);  
       yydestruct (yystos[yystate], yyvsp);  
       yyvsp--;  
       yystate = *--yyssp;  
4681    
4682          yydestruct ("Error: popping", yystos[yystate], yyvsp);
4683          YYPOPSTACK;
4684          yystate = *yyssp;
4685        YY_STACK_PRINT (yyss, yyssp);        YY_STACK_PRINT (yyss, yyssp);
4686      }      }
4687    
4688    if (yyn == YYFINAL)    if (yyn == YYFINAL)
4689      YYACCEPT;      YYACCEPT;
4690    
   YYDPRINTF ((stderr, "Shifting error token, "));  
   
4691    *++yyvsp = yylval;    *++yyvsp = yylval;
4692    
4693    
4694      /* Shift the error token. */
4695      YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
4696    
4697    yystate = yyn;    yystate = yyn;
4698    goto yynewstate;    goto yynewstate;
4699    
# Line 1735  yyacceptlab: Line 4709  yyacceptlab:
4709  | yyabortlab -- YYABORT comes here.  |  | yyabortlab -- YYABORT comes here.  |
4710  `-----------------------------------*/  `-----------------------------------*/
4711  yyabortlab:  yyabortlab:
4712      yydestruct ("Error: discarding lookahead",
4713                  yytoken, &yylval);
4714      yychar = YYEMPTY;
4715    yyresult = 1;    yyresult = 1;
4716    goto yyreturn;    goto yyreturn;
4717    
# Line 1757  yyreturn: Line 4734  yyreturn:
4734  }  }
4735    
4736    
4737  #line 210 "lscp.y"  #line 561 "lscp.y"
4738    
4739    
4740  /**  /**
# Line 1768  void yyerror(const char* s) { Line 4745  void yyerror(const char* s) {
4745  }  }
4746    
4747  /**  /**
4748   * Clears input buffer and restarts scanner.   * Clears input buffer.
4749   */   */
4750  void restart(yyparse_param_t* pparam, int& yychar) {  void restart(yyparse_param_t* pparam, int& yychar) {
4751      // restart scanner      bytes = 0;
4752      yyrestart(stdin, pparam->pScanner);      ptr   = 0;
     // flush input buffer  
     static char buf[1024];  
     while(recv(hSession, buf, 1024, MSG_DONTWAIT) > 0);  
     // reset lookahead symbol  
     yyclearin;  
4753  }  }
4754    
4755    

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

  ViewVC Help
Powered by ViewVC