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

Legend:
Removed from v.219  
changed lines
  Added in v.705

  ViewVC Help
Powered by ViewVC