/[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 972 by schoenebeck, Mon Nov 27 21:34:55 2006 UTC revision 973 by schoenebeck, Fri Dec 15 21:40:27 2006 UTC
# Line 351  union yyalloc Line 351  union yyalloc
351  /* YYFINAL -- State number of the termination state.  */  /* YYFINAL -- State number of the termination state.  */
352  #define YYFINAL  46  #define YYFINAL  46
353  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
354  #define YYLAST   4233  #define YYLAST   4282
355    
356  /* YYNTOKENS -- Number of terminals.  */  /* YYNTOKENS -- Number of terminals.  */
357  #define YYNTOKENS  227  #define YYNTOKENS  227
358  /* YYNNTS -- Number of nonterminals.  */  /* YYNNTS -- Number of nonterminals.  */
359  #define YYNNTS  117  #define YYNNTS  124
360  /* YYNRULES -- Number of rules.  */  /* YYNRULES -- Number of rules.  */
361  #define YYNRULES  465  #define YYNRULES  486
362  /* YYNRULES -- Number of states.  */  /* YYNRULES -- Number of states.  */
363  #define YYNSTATES  1365  #define YYNSTATES  1455
364    
365  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
366  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
# Line 408  static const yytype_uint16 yyprhs[] = Line 408  static const yytype_uint16 yyprhs[] =
408         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
409        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
410        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,        59,    63,    67,    71,    75,    79,    83,    87,    91,    93,
411        95,    97,    99,   101,   103,   105,   107,   109,   111,   113,        95,    97,    99,   103,   105,   107,   109,   111,   113,   115,
412       115,   117,   119,   121,   123,   139,   157,   175,   195,   203,       117,   119,   121,   123,   125,   127,   129,   131,   147,   165,
413       207,   209,   211,   217,   225,   235,   237,   243,   251,   261,       183,   203,   211,   215,   219,   223,   225,   227,   233,   241,
414       263,   265,   271,   277,   285,   295,   303,   313,   315,   321,       251,   253,   259,   267,   277,   279,   281,   287,   293,   301,
415       329,   335,   341,   347,   351,   353,   355,   357,   367,   375,       311,   319,   329,   331,   337,   345,   351,   357,   363,   367,
416       385,   393,   403,   407,   411,   417,   421,   427,   431,   435,       369,   371,   375,   379,   389,   391,   397,   405,   415,   423,
417       437,   441,   445,   449,   453,   459,   467,   473,   483,   489,       433,   437,   445,   449,   455,   459,   465,   469,   473,   477,
418       495,   501,   507,   513,   519,   525,   529,   535,   537,   539,       481,   485,   489,   493,   497,   503,   511,   517,   527,   533,
419       541,   543,   545,   547,   549,   551,   553,   559,   567,   571,       539,   545,   551,   557,   563,   569,   575,   581,   587,   591,
420       573,   575,   577,   579,   581,   583,   585,   587,   589,   591,       597,   599,   601,   603,   605,   607,   609,   611,   613,   617,
421       593,   595,   597,   599,   601,   603,   605,   607,   609,   611,       621,   623,   629,   637,   641,   643,   645,   647,   649,   651,
422       613,   617,   619,   621,   623,   625,   627,   629,   631,   634,       653,   655,   657,   659,   661,   663,   665,   667,   669,   671,
423       638,   643,   648,   650,   653,   655,   657,   659,   661,   663,       673,   675,   677,   679,   681,   683,   685,   689,   691,   693,
424       665,   667,   669,   671,   673,   675,   678,   681,   684,   687,       695,   697,   699,   701,   703,   706,   710,   715,   720,   722,
425       690,   693,   696,   699,   702,   704,   706,   708,   710,   712,       725,   727,   729,   731,   733,   735,   737,   739,   741,   743,
426       714,   716,   718,   720,   722,   724,   726,   728,   730,   732,       745,   747,   750,   753,   756,   759,   762,   765,   768,   771,
      734,   736,   738,   740,   742,   744,   746,   748,   750,   752,  
      754,   756,   758,   760,   762,   764,   766,   768,   770,   772,  
427       774,   776,   778,   780,   782,   784,   786,   788,   790,   792,       774,   776,   778,   780,   782,   784,   786,   788,   790,   792,
428       794,   796,   798,   800,   802,   804,   806,   808,   810,   812,       794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
429       814,   816,   818,   820,   822,   824,   826,   828,   830,   832,       814,   816,   818,   820,   822,   824,   826,   828,   830,   832,
# Line 444  static const yytype_uint16 yyprhs[] = Line 442  static const yytype_uint16 yyprhs[] =
442      1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,      1074,  1076,  1078,  1080,  1082,  1084,  1086,  1088,  1090,  1092,
443      1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,      1094,  1096,  1098,  1100,  1102,  1104,  1106,  1108,  1110,  1112,
444      1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,  1130,  1132,      1114,  1116,  1118,  1120,  1122,  1124,  1126,  1128,  1130,  1132,
445      1134,  1136,  1138,  1140,  1142,  1144,  1147,  1150,  1154,  1158,      1134,  1136,  1138,  1140,  1142,  1144,  1146,  1148,  1150,  1152,
446      1160,  1162,  1164,  1168,  1172,  1176,  1182,  1188,  1195,  1203,      1154,  1156,  1158,  1160,  1162,  1164,  1166,  1168,  1170,  1172,
447      1208,  1213,  1217,  1227,  1234,  1238,  1248,  1260,  1267,  1275,      1174,  1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,
448      1293,  1324,  1333,  1338,  1352,  1365,  1377,  1390,  1402,  1420,      1194,  1196,  1198,  1200,  1202,  1204,  1206,  1208,  1210,  1212,
449      1442,  1453,  1460,  1470,  1485,  1496,  1526,  1547,  1567,  1597,      1214,  1216,  1219,  1222,  1226,  1230,  1232,  1234,  1236,  1240,
450      1617,  1648,  1669,  1687,  1716,  1744,  1770,  1789,  1807,  1835,      1244,  1248,  1254,  1260,  1267,  1275,  1280,  1285,  1289,  1294,
451      1851,  1868,  1886,  1902,  1921,  1937,  1948,  1955,  1962,  1967,      1302,  1312,  1319,  1323,  1333,  1345,  1352,  1360,  1378,  1409,
452      1972,  1978,  1989,  1995,  2009,  2014      1418,  1423,  1437,  1450,  1462,  1475,  1487,  1505,  1527,  1538,
453        1545,  1555,  1570,  1581,  1611,  1632,  1652,  1682,  1702,  1733,
454        1754,  1772,  1801,  1829,  1855,  1874,  1892,  1920,  1936,  1953,
455        1973,  1994,  2012,  2028,  2047,  2063,  2074,  2081,  2088,  2093,
456        2098,  2104,  2115,  2121,  2135,  2140,  2145
457  };  };
458    
459  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
460  static const yytype_int16 yyrhs[] =  static const yytype_int16 yyrhs[] =
461  {  {
462       228,     0,    -1,   229,   278,    -1,   229,   279,   278,    -1,       228,     0,    -1,   229,   280,    -1,   229,   281,   280,    -1,
463        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
464         3,    -1,   230,   277,    -1,   230,   273,    -1,   230,   269,         3,    -1,   230,   279,    -1,   230,   275,    -1,   230,   271,
465        -1,   280,   277,   296,    -1,   282,   277,   234,    -1,   283,        -1,   282,   279,   232,    -1,   284,   279,   235,    -1,   285,
466       277,   235,    -1,   281,   277,   237,    -1,   285,   277,   239,       279,   236,    -1,   283,   279,   238,    -1,   287,   279,   240,
467        -1,   286,   277,   242,    -1,   287,   277,   247,    -1,   288,        -1,   288,   279,   243,    -1,   289,   279,   248,    -1,   290,
468       277,   243,    -1,   291,   277,   236,    -1,   292,   277,   238,       279,   244,    -1,   295,   279,   237,    -1,   296,   279,   239,
469        -1,   293,   277,   232,    -1,   294,   277,   233,    -1,   295,        -1,   297,   279,   233,    -1,   298,   279,   234,    -1,   299,
470       277,   275,    -1,   340,   277,   240,    -1,   284,   277,   241,       279,   277,    -1,   346,   279,   241,    -1,   286,   279,   242,
471        -1,   340,    -1,   343,    -1,   301,    -1,   305,    -1,   304,        -1,   346,    -1,   350,    -1,   300,    -1,   333,    -1,   333,
472        -1,   303,    -1,   302,    -1,   341,    -1,   306,    -1,   301,       279,   266,    -1,   305,    -1,   309,    -1,   308,    -1,   307,
473        -1,   305,    -1,   304,    -1,   303,    -1,   302,    -1,   341,        -1,   306,    -1,   347,    -1,   310,    -1,   305,    -1,   309,
474        -1,   306,    -1,   327,   277,   257,   277,   258,   277,   259,        -1,   308,    -1,   307,    -1,   306,    -1,   347,    -1,   310,
475       277,   263,   277,   264,   277,   262,   277,   260,    -1,   327,        -1,   331,   279,   258,   279,   259,   279,   260,   279,   264,
476       277,   257,   277,   258,   277,   259,   277,   263,   277,   264,       279,   265,   279,   263,   279,   261,    -1,   331,   279,   258,
477       277,   262,   277,   260,   277,   250,    -1,   327,   277,   257,       279,   259,   279,   260,   279,   264,   279,   265,   279,   263,
478       277,   258,   277,   259,   277,   263,   277,   264,   277,   262,       279,   261,   279,   251,    -1,   331,   279,   258,   279,   259,
479       277,   260,   277,   265,    -1,   327,   277,   257,   277,   258,       279,   260,   279,   264,   279,   265,   279,   263,   279,   261,
480       277,   259,   277,   263,   277,   264,   277,   262,   277,   260,       279,   267,    -1,   331,   279,   258,   279,   259,   279,   260,
481       277,   250,   277,   265,    -1,   327,   277,   257,   277,   258,       279,   264,   279,   265,   279,   263,   279,   261,   279,   251,
482       277,   259,    -1,   296,   277,   261,    -1,   297,    -1,   321,       279,   267,    -1,   331,   279,   258,   279,   259,   279,   260,
483        -1,   329,   277,   300,   277,   269,    -1,   326,   277,   300,        -1,   300,   279,   262,    -1,   333,   279,   258,    -1,   333,
484       277,   269,   277,   269,    -1,   326,   277,   300,   277,   269,       279,   291,    -1,   301,    -1,   325,    -1,   335,   279,   304,
485       277,   269,   277,   245,    -1,   298,    -1,   317,   277,   300,       279,   271,    -1,   330,   279,   304,   279,   271,   279,   271,
486       277,   269,    -1,   316,   277,   300,   277,   269,   277,   269,        -1,   330,   279,   304,   279,   271,   279,   271,   279,   246,
487        -1,   316,   277,   300,   277,   269,   277,   269,   277,   245,        -1,   302,    -1,   321,   279,   304,   279,   271,    -1,   320,
488        -1,   314,    -1,   324,    -1,   315,   277,   300,   277,   273,       279,   304,   279,   271,   279,   271,    -1,   320,   279,   304,
489        -1,   325,   277,   300,   277,   273,    -1,   330,   277,   300,       279,   271,   279,   271,   279,   246,    -1,   318,    -1,   328,
490       277,   273,   277,   273,    -1,   323,   277,   300,   277,   273,        -1,   319,   279,   304,   279,   275,    -1,   329,   279,   304,
491       277,   273,   277,   269,    -1,   319,   277,   300,   277,   273,       279,   275,    -1,   336,   279,   304,   279,   275,   279,   275,
492       277,   273,    -1,   318,   277,   300,   277,   273,   277,   273,        -1,   327,   279,   304,   279,   275,   279,   275,   279,   271,
493       277,   269,    -1,   299,    -1,   296,   277,   300,   277,   261,        -1,   323,   279,   304,   279,   275,   279,   275,    -1,   322,
494        -1,   296,   277,   303,   277,   246,   277,   261,    -1,   296,       279,   304,   279,   275,   279,   275,   279,   271,    -1,   303,
495       277,   304,   277,   261,    -1,   296,   277,   305,   277,   261,        -1,   300,   279,   304,   279,   262,    -1,   300,   279,   307,
496        -1,   309,   277,   300,   277,   263,    -1,   334,   277,   300,       279,   247,   279,   262,    -1,   300,   279,   308,   279,   262,
497        -1,   306,    -1,   307,    -1,   328,    -1,   327,   277,   300,        -1,   300,   279,   309,   279,   262,    -1,   313,   279,   304,
498       277,   257,   277,   258,   277,   259,    -1,   313,   277,   273,       279,   264,    -1,   340,   279,   304,    -1,   310,    -1,   311,
499       277,   269,     4,   266,    -1,   318,   277,   273,   277,   273,        -1,   332,   279,   258,    -1,   332,   279,   291,    -1,   331,
500       277,   269,     4,   266,    -1,   322,   277,   273,   277,   269,       279,   304,   279,   258,   279,   259,   279,   260,    -1,   334,
501         4,   266,    -1,   323,   277,   273,   277,   273,   277,   269,        -1,   333,   279,   304,   279,   258,    -1,   317,   279,   275,
502         4,   266,    -1,   296,   277,   244,    -1,   342,   277,   268,       279,   271,     4,   268,    -1,   322,   279,   275,   279,   275,
503        -1,   315,   277,   269,   277,   245,    -1,   315,   277,   269,       279,   271,     4,   268,    -1,   326,   279,   275,   279,   271,
504        -1,   325,   277,   269,   277,   245,    -1,   325,   277,   269,         4,   268,    -1,   327,   279,   275,   279,   275,   279,   271,
505        -1,   296,   277,   261,    -1,   328,    -1,   315,   277,   273,         4,   268,    -1,   300,   279,   245,    -1,   333,   279,   348,
506        -1,   325,   277,   273,    -1,   308,   277,   248,    -1,   309,       279,   258,   279,   266,    -1,   349,   279,   270,    -1,   319,
507       277,   249,    -1,   315,   277,   261,   277,   251,    -1,   319,       279,   271,   279,   246,    -1,   319,   279,   271,    -1,   329,
508       277,   261,   277,   252,   277,   252,    -1,   320,   277,   261,       279,   271,   279,   246,    -1,   329,   279,   271,    -1,   300,
509       277,   253,    -1,   333,   277,   261,   277,   251,   277,   254,       279,   262,    -1,   332,   279,   258,    -1,   332,   279,   291,
510       277,   255,    -1,   325,   277,   261,   277,   251,    -1,   330,        -1,   319,   279,   275,    -1,   329,   279,   275,    -1,   312,
511       277,   261,   277,   254,    -1,   331,   277,   261,   277,   255,       279,   249,    -1,   313,   279,   250,    -1,   319,   279,   262,
512        -1,   332,   277,   261,   277,   256,    -1,   335,   277,   261,       279,   252,    -1,   323,   279,   262,   279,   253,   279,   253,
513       277,   260,    -1,   336,   277,   261,   277,   268,    -1,   337,        -1,   324,   279,   262,   279,   254,    -1,   339,   279,   262,
514       277,   261,   277,   268,    -1,   269,     4,   266,    -1,   245,       279,   252,   279,   255,   279,   256,    -1,   329,   279,   262,
515       277,   269,     4,   266,    -1,   338,    -1,   339,    -1,   314,       279,   252,    -1,   336,   279,   262,   279,   255,    -1,   337,
516        -1,   324,    -1,   299,    -1,   297,    -1,   321,    -1,   298,       279,   262,   279,   256,    -1,   338,   279,   262,   279,   257,
517        -1,   328,    -1,   264,   277,   262,   277,   261,    -1,   290,        -1,   341,   279,   262,   279,   261,    -1,   342,   279,   262,
518       277,   264,   277,   262,   277,   261,    -1,   263,   277,   261,       279,   270,    -1,   343,   279,   262,   279,   270,    -1,   333,
519        -1,   310,    -1,   311,    -1,   312,    -1,   273,    -1,   273,       279,   262,   279,   258,    -1,   333,   279,   262,   279,   292,
520        -1,   269,    -1,   273,    -1,   273,    -1,   289,    -1,   269,        -1,   333,   279,   262,   279,   293,    -1,   271,     4,   268,
521        -1,   273,    -1,   273,    -1,   273,    -1,   270,    -1,   273,        -1,   246,   279,   271,     4,   268,    -1,   344,    -1,   345,
522        -1,   273,    -1,   273,    -1,   269,    -1,   276,    -1,   276,        -1,   318,    -1,   328,    -1,   303,    -1,   301,    -1,   325,
523        -1,   267,    -1,   266,     5,   267,    -1,   269,    -1,   276,        -1,   302,    -1,   332,   279,   258,    -1,   332,   279,   291,
524        -1,   273,    -1,   270,    -1,   273,    -1,   269,    -1,   274,        -1,   334,    -1,   265,   279,   263,   279,   262,    -1,   294,
525        -1,   269,   274,    -1,   271,     6,   271,    -1,     7,   271,       279,   265,   279,   263,   279,   262,    -1,   264,   279,   262,
526         6,   271,    -1,     8,   271,     6,   271,    -1,   272,    -1,        -1,   314,    -1,   315,    -1,   316,    -1,   275,    -1,   275,
527       271,   272,    -1,     9,    -1,    10,    -1,    11,    -1,    12,        -1,   271,    -1,   275,    -1,   275,    -1,   291,    -1,   271,
528        -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,        -1,   275,    -1,   275,    -1,   275,    -1,   272,    -1,   275,
529        -1,    18,    -1,   272,    -1,    10,   271,    -1,    11,   271,        -1,   275,    -1,   275,    -1,   271,    -1,   278,    -1,   278,
530        -1,    12,   271,    -1,    13,   271,    -1,    14,   271,    -1,        -1,   278,    -1,   269,    -1,   268,     5,   269,    -1,   271,
531        15,   271,    -1,    16,   271,    -1,    17,   271,    -1,    18,        -1,   278,    -1,   275,    -1,   272,    -1,   275,    -1,   271,
532       271,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,        -1,   276,    -1,   271,   276,    -1,   273,     6,   273,    -1,
533        23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,         7,   273,     6,   273,    -1,     8,   273,     6,   273,    -1,
534        28,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,       274,    -1,   273,   274,    -1,     9,    -1,    10,    -1,    11,
535        33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,        -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,    16,
536        38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,    -1,        -1,    17,    -1,    18,    -1,   274,    -1,    10,   273,    -1,
537        43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,        11,   273,    -1,    12,   273,    -1,    13,   273,    -1,    14,
538        48,    -1,    49,    -1,    50,    -1,    51,    -1,    52,    -1,       273,    -1,    15,   273,    -1,    16,   273,    -1,    17,   273,
539        53,    -1,    54,    -1,    55,    -1,    56,    -1,    57,    -1,        -1,    18,   273,    -1,    19,    -1,    20,    -1,    21,    -1,
540        58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,        22,    -1,    23,    -1,    24,    -1,    25,    -1,    26,    -1,
541        63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1,        27,    -1,    28,    -1,    29,    -1,    30,    -1,    31,    -1,
542        68,    -1,    69,    -1,    70,    -1,     9,    -1,    10,    -1,        32,    -1,    33,    -1,    34,    -1,    35,    -1,    36,    -1,
543        11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,        37,    -1,    38,    -1,    39,    -1,    40,    -1,    41,    -1,
544        16,    -1,    17,    -1,    18,    -1,    71,    -1,     3,    -1,        42,    -1,    43,    -1,    44,    -1,    45,    -1,    46,    -1,
545        72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,        47,    -1,    48,    -1,    49,    -1,    50,    -1,    51,    -1,
546        77,    -1,     7,    -1,     8,    -1,     6,    -1,     5,    -1,        52,    -1,    53,    -1,    54,    -1,    55,    -1,    56,    -1,
547        78,    -1,    79,    -1,    80,    -1,    81,    -1,     4,    -1,        57,    -1,    58,    -1,    59,    -1,    60,    -1,    61,    -1,
548        82,    -1,    83,    -1,    84,    -1,    85,    -1,    86,    -1,        62,    -1,    63,    -1,    64,    -1,    65,    -1,    66,    -1,
549        87,    -1,    88,    -1,    89,    -1,    90,    -1,    91,    -1,        67,    -1,    68,    -1,    69,    -1,    70,    -1,     9,    -1,
550        92,    -1,    93,    -1,    94,    -1,    95,    -1,    96,    -1,        10,    -1,    11,    -1,    12,    -1,    13,    -1,    14,    -1,
551        97,    -1,    98,    -1,    99,    -1,   100,    -1,   101,    -1,        15,    -1,    16,    -1,    17,    -1,    18,    -1,    71,    -1,
552       102,    -1,   103,    -1,   104,    -1,   105,    -1,   106,    -1,         3,    -1,    72,    -1,    73,    -1,    74,    -1,    75,    -1,
553       107,    -1,   108,    -1,   109,    -1,   110,    -1,   111,    -1,        76,    -1,    77,    -1,     7,    -1,     8,    -1,     6,    -1,
554       112,    -1,   113,    -1,   114,    -1,   115,    -1,   116,    -1,         5,    -1,    78,    -1,    79,    -1,    80,    -1,    81,    -1,
555       117,    -1,   118,    -1,   119,    -1,   120,    -1,   121,    -1,         4,    -1,    82,    -1,    83,    -1,    84,    -1,    85,    -1,
556       122,    -1,   123,    -1,   124,    -1,   125,    -1,   126,    -1,        86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,    -1,
557       127,    -1,   128,    -1,   129,    -1,   130,    -1,   131,    -1,        91,    -1,    92,    -1,    93,    -1,    94,    -1,    95,    -1,
558       132,    -1,   133,    -1,   134,    -1,   135,    -1,   136,    -1,        96,    -1,    97,    -1,    98,    -1,    99,    -1,   100,    -1,
559       137,    -1,   138,    -1,   139,    -1,   140,    -1,   141,    -1,       101,    -1,   102,    -1,   103,    -1,   104,    -1,   105,    -1,
560       142,    -1,   143,    -1,   144,    -1,   145,    -1,   146,    -1,       106,    -1,   107,    -1,   108,    -1,   109,    -1,   110,    -1,
561       147,    -1,   148,    -1,   149,    -1,   150,    -1,   151,    -1,       111,    -1,   112,    -1,   113,    -1,   114,    -1,   115,    -1,
562       152,    -1,   153,    -1,   154,    -1,   155,    -1,   156,    -1,       116,    -1,   117,    -1,   118,    -1,   119,    -1,   120,    -1,
563       157,    -1,   158,    -1,   159,    -1,   160,    -1,   161,    -1,       121,    -1,   122,    -1,   123,    -1,   124,    -1,   125,    -1,
564       162,    -1,   163,    -1,   164,    -1,   165,    -1,   166,    -1,       126,    -1,   127,    -1,   128,    -1,   129,    -1,   130,    -1,
565       167,    -1,   168,    -1,   169,    -1,   170,    -1,   171,    -1,       131,    -1,   132,    -1,   133,    -1,   134,    -1,   135,    -1,
566       172,    -1,   173,    -1,   174,    -1,   175,    -1,   176,    -1,       136,    -1,   137,    -1,   138,    -1,   139,    -1,   140,    -1,
567       177,    -1,   178,    -1,   179,    -1,   180,    -1,   181,    -1,       141,    -1,   142,    -1,   143,    -1,   144,    -1,   145,    -1,
568       182,    -1,   183,    -1,   184,    -1,   185,    -1,   186,    -1,       146,    -1,   147,    -1,   148,    -1,   149,    -1,   150,    -1,
569       187,    -1,   188,    -1,   189,    -1,   190,    -1,   191,    -1,       151,    -1,   152,    -1,   153,    -1,   154,    -1,   155,    -1,
570       192,    -1,   193,    -1,   194,    -1,   195,    -1,   196,    -1,       156,    -1,   157,    -1,   158,    -1,   159,    -1,   160,    -1,
571       197,    -1,   198,    -1,   199,    -1,   200,    -1,   201,    -1,       161,    -1,   162,    -1,   163,    -1,   164,    -1,   165,    -1,
572       202,    -1,   203,    -1,   204,    -1,   205,    -1,   206,    -1,       166,    -1,   167,    -1,   168,    -1,   169,    -1,   170,    -1,
573       207,    -1,   208,    -1,   209,    -1,   210,    -1,   211,    -1,       171,    -1,   172,    -1,   173,    -1,   174,    -1,   175,    -1,
574       212,    -1,   213,    -1,   214,    -1,   215,    -1,   216,    -1,       176,    -1,   177,    -1,   178,    -1,   179,    -1,   180,    -1,
575       217,    -1,   218,    -1,   219,    -1,   220,    -1,   221,    -1,       181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,
576       277,    -1,   269,    -1,   275,   277,    -1,   275,   269,    -1,       186,    -1,   187,    -1,   188,    -1,   189,    -1,   190,    -1,
577       222,   275,   222,    -1,   223,   275,   223,    -1,   224,    -1,       191,    -1,   192,    -1,   193,    -1,   194,    -1,   195,    -1,
578       225,    -1,   226,    -1,    19,    22,    22,    -1,    25,    23,       196,    -1,   197,    -1,   198,    -1,   199,    -1,   200,    -1,
579        38,    -1,    31,    19,    34,    -1,    39,    32,    31,    19,       201,    -1,   202,    -1,   203,    -1,   204,    -1,   205,    -1,
580        34,    -1,    21,    30,    23,    19,    36,    -1,    21,    36,       206,    -1,   207,    -1,   208,    -1,   209,    -1,   210,    -1,
581        23,    19,    38,    23,    -1,    22,    23,    37,    38,    36,       211,    -1,   212,    -1,   213,    -1,   214,    -1,   215,    -1,
582        33,    43,    -1,    30,    27,    37,    38,    -1,    30,    33,       216,    -1,   217,    -1,   218,    -1,   219,    -1,   220,    -1,
583        19,    22,    -1,    19,    30,    30,    -1,    32,    33,    32,       221,    -1,   279,    -1,   271,    -1,   277,   279,    -1,   277,
584        89,    31,    33,    22,    19,    30,    -1,    36,    23,    31,       271,    -1,   222,   277,   222,    -1,   223,   277,   223,    -1,
585        33,    40,    23,    -1,    37,    23,    38,    -1,    37,    39,       224,    -1,   225,    -1,   226,    -1,    19,    22,    22,    -1,
586        20,    37,    21,    36,    27,    20,    23,    -1,    39,    32,        25,    23,    38,    -1,    31,    19,    34,    -1,    39,    32,
587        37,    39,    20,    37,    21,    36,    27,    20,    23,    -1,        31,    19,    34,    -1,    21,    30,    23,    19,    36,    -1,
588        37,    23,    30,    23,    21,    38,    -1,    21,    26,    19,        21,    36,    23,    19,    38,    23,    -1,    22,    23,    37,
589        32,    32,    23,    30,    -1,    19,    40,    19,    27,    30,        38,    36,    33,    43,    -1,    30,    27,    37,    38,    -1,
590        19,    20,    30,    23,    89,    23,    32,    25,    27,    32,        30,    33,    19,    22,    -1,    19,    30,    30,    -1,    32,
591        23,    37,    -1,    19,    40,    19,    27,    30,    19,    20,        33,    32,    23,    -1,    22,    23,    24,    19,    39,    30,
592        30,    23,    89,    19,    39,    22,    27,    33,    89,    33,        38,    -1,    32,    33,    32,    89,    31,    33,    22,    19,
593        39,    38,    34,    39,    38,    89,    22,    36,    27,    40,        30,    -1,    36,    23,    31,    33,    40,    23,    -1,    37,
594        23,    36,    37,    -1,    21,    26,    19,    32,    32,    23,        23,    38,    -1,    37,    39,    20,    37,    21,    36,    27,
595        30,    37,    -1,    27,    32,    24,    33,    -1,    21,    26,        20,    23,    -1,    39,    32,    37,    39,    20,    37,    21,
596        19,    32,    32,    23,    30,    89,    21,    33,    39,    32,        36,    27,    20,    23,    -1,    37,    23,    30,    23,    21,
597        38,    -1,    21,    26,    19,    32,    32,    23,    30,    89,        38,    -1,    21,    26,    19,    32,    32,    23,    30,    -1,
598        27,    32,    24,    33,    -1,    20,    39,    24,    24,    23,        19,    40,    19,    27,    30,    19,    20,    30,    23,    89,
599        36,    89,    24,    27,    30,    30,    -1,    37,    38,    36,        23,    32,    25,    27,    32,    23,    37,    -1,    19,    40,
600        23,    19,    31,    89,    21,    33,    39,    32,    38,    -1,        19,    27,    30,    19,    20,    30,    23,    89,    19,    39,
       40,    33,    27,    21,    23,    89,    21,    33,    39,    32,  
       38,    -1,    38,    33,    38,    19,    30,    89,    40,    33,  
       27,    21,    23,    89,    21,    33,    39,    32,    38,    -1,  
       38,    33,    38,    19,    30,    89,    40,    33,    27,    21,  
       23,    89,    21,    33,    39,    32,    38,    89,    31,    19,  
       42,    -1,    27,    32,    37,    38,    36,    39,    31,    23,  
       32,    38,    -1,    23,    32,    25,    27,    32,    23,    -1,  
       33,    32,    89,    22,    23,    31,    19,    32,    22,    -1,  
       33,    32,    89,    22,    23,    31,    19,    32,    22,    89,  
       26,    33,    30,    22,    -1,    34,    23,    36,    37,    27,  
       37,    38,    23,    32,    38,    -1,    19,    39,    22,    27,  
       33,    89,    33,    39,    38,    34,    39,    38,    89,    22,  
       23,    40,    27,    21,    23,    89,    34,    19,    36,    19,  
       31,    23,    38,    23,    36,    -1,    19,    39,    22,    27,  
       33,    89,    33,    39,    38,    34,    39,    38,    89,    22,  
       23,    40,    27,    21,    23,    37,    -1,    19,    39,    22,  
       27,    33,    89,    33,    39,    38,    34,    39,    38,    89,  
       22,    23,    40,    27,    21,    23,    -1,    19,    39,    22,  
       27,    33,    89,    33,    39,    38,    34,    39,    38,    89,  
       22,    36,    27,    40,    23,    36,    89,    34,    19,    36,  
       19,    31,    23,    38,    23,    36,    -1,    19,    39,    22,  
       27,    33,    89,    33,    39,    38,    34,    39,    38,    89,  
       22,    36,    27,    40,    23,    36,    -1,    19,    39,    22,  
       27,    33,    89,    33,    39,    38,    34,    39,    38,    89,  
       21,    26,    19,    32,    32,    23,    30,    89,    34,    19,  
       36,    19,    31,    23,    38,    23,    36,    -1,    19,    39,  
601        22,    27,    33,    89,    33,    39,    38,    34,    39,    38,        22,    27,    33,    89,    33,    39,    38,    34,    39,    38,
602        89,    21,    26,    19,    32,    32,    23,    30,    -1,    19,        89,    22,    36,    27,    40,    23,    36,    37,    -1,    21,
603        39,    22,    27,    33,    89,    33,    39,    38,    34,    39,        26,    19,    32,    32,    23,    30,    37,    -1,    27,    32,
604        38,    89,    38,    43,    34,    23,    -1,    19,    40,    19,        24,    33,    -1,    21,    26,    19,    32,    32,    23,    30,
605        27,    30,    19,    20,    30,    23,    89,    31,    27,    22,        89,    21,    33,    39,    32,    38,    -1,    21,    26,    19,
606        27,    89,    27,    32,    34,    39,    38,    89,    22,    36,        32,    32,    23,    30,    89,    27,    32,    24,    33,    -1,
607        27,    40,    23,    36,    37,    -1,    31,    27,    22,    27,        20,    39,    24,    24,    23,    36,    89,    24,    27,    30,
608        89,    27,    32,    34,    39,    38,    89,    22,    23,    40,        30,    -1,    37,    38,    36,    23,    19,    31,    89,    21,
609        27,    21,    23,    89,    34,    19,    36,    19,    31,    23,        33,    39,    32,    38,    -1,    40,    33,    27,    21,    23,
610        38,    23,    36,    -1,    31,    27,    22,    27,    89,    27,        89,    21,    33,    39,    32,    38,    -1,    38,    33,    38,
611        32,    34,    39,    38,    89,    34,    33,    36,    38,    89,        19,    30,    89,    40,    33,    27,    21,    23,    89,    21,
612        34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,        33,    39,    32,    38,    -1,    38,    33,    38,    19,    30,
613        31,    27,    22,    27,    89,    27,    32,    34,    39,    38,        89,    40,    33,    27,    21,    23,    89,    21,    33,    39,
614        89,    22,    23,    40,    27,    21,    23,    37,    -1,    31,        32,    38,    89,    31,    19,    42,    -1,    27,    32,    37,
615          38,    36,    39,    31,    23,    32,    38,    -1,    23,    32,
616          25,    27,    32,    23,    -1,    33,    32,    89,    22,    23,
617          31,    19,    32,    22,    -1,    33,    32,    89,    22,    23,
618          31,    19,    32,    22,    89,    26,    33,    30,    22,    -1,
619          34,    23,    36,    37,    27,    37,    38,    23,    32,    38,
620          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
621          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
622          89,    34,    19,    36,    19,    31,    23,    38,    23,    36,
623          -1,    19,    39,    22,    27,    33,    89,    33,    39,    38,
624          34,    39,    38,    89,    22,    23,    40,    27,    21,    23,
625          37,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
626          38,    34,    39,    38,    89,    22,    23,    40,    27,    21,
627          23,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
628          38,    34,    39,    38,    89,    22,    36,    27,    40,    23,
629          36,    89,    34,    19,    36,    19,    31,    23,    38,    23,
630          36,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
631          38,    34,    39,    38,    89,    22,    36,    27,    40,    23,
632          36,    -1,    19,    39,    22,    27,    33,    89,    33,    39,
633          38,    34,    39,    38,    89,    21,    26,    19,    32,    32,
634          23,    30,    89,    34,    19,    36,    19,    31,    23,    38,
635          23,    36,    -1,    19,    39,    22,    27,    33,    89,    33,
636          39,    38,    34,    39,    38,    89,    21,    26,    19,    32,
637          32,    23,    30,    -1,    19,    39,    22,    27,    33,    89,
638          33,    39,    38,    34,    39,    38,    89,    38,    43,    34,
639          23,    -1,    19,    40,    19,    27,    30,    19,    20,    30,
640          23,    89,    31,    27,    22,    27,    89,    27,    32,    34,
641          39,    38,    89,    22,    36,    27,    40,    23,    36,    37,
642          -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,
643          38,    89,    22,    23,    40,    27,    21,    23,    89,    34,
644          19,    36,    19,    31,    23,    38,    23,    36,    -1,    31,
645        27,    22,    27,    89,    27,    32,    34,    39,    38,    89,        27,    22,    27,    89,    27,    32,    34,    39,    38,    89,
646        22,    23,    40,    27,    21,    23,    -1,    31,    27,    22,        34,    33,    36,    38,    89,    34,    19,    36,    19,    31,
       27,    89,    27,    32,    34,    39,    38,    89,    22,    36,  
       27,    40,    23,    36,    89,    34,    19,    36,    19,    31,  
647        23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,        23,    38,    23,    36,    -1,    31,    27,    22,    27,    89,
648        27,    32,    37,    38,    36,    39,    31,    23,    32,    38,        27,    32,    34,    39,    38,    89,    22,    23,    40,    27,
649        -1,    31,    27,    22,    27,    89,    27,    32,    37,    38,        21,    23,    37,    -1,    31,    27,    22,    27,    89,    27,
650        36,    39,    31,    23,    32,    38,    37,    -1,    31,    27,        32,    34,    39,    38,    89,    22,    23,    40,    27,    21,
651        22,    27,    89,    27,    32,    34,    39,    38,    89,    22,        23,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
652        36,    27,    40,    23,    36,    -1,    31,    27,    22,    27,        39,    38,    89,    22,    36,    27,    40,    23,    36,    89,
653        89,    27,    32,    34,    39,    38,    89,    34,    33,    36,        34,    19,    36,    19,    31,    23,    38,    23,    36,    -1,
654        38,    -1,    31,    27,    22,    27,    89,    27,    32,    34,        31,    27,    22,    27,    89,    27,    32,    37,    38,    36,
655        39,    38,    89,    21,    26,    19,    32,    32,    23,    30,        39,    31,    23,    32,    38,    -1,    31,    27,    22,    27,
656        -1,    31,    27,    22,    27,    89,    27,    32,    34,    39,        89,    27,    32,    37,    38,    36,    39,    31,    23,    32,
657        38,    89,    38,    43,    34,    23,    -1,    31,    27,    22,        38,    37,    -1,    31,    27,    22,    27,    89,    27,    32,
658        27,    89,    27,    32,    34,    39,    38,    -1,    37,    23,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
659        36,    40,    23,    36,    -1,    40,    33,    30,    39,    31,        19,    34,    -1,    31,    27,    22,    27,    89,    27,    32,
660        23,    -1,    31,    39,    38,    23,    -1,    37,    33,    30,        37,    38,    36,    39,    31,    23,    32,    38,    89,    31,
661        33,    -1,    20,    43,    38,    23,    37,    -1,    34,    23,        19,    34,    37,    -1,    31,    27,    22,    27,    89,    27,
662        36,    21,    23,    32,    38,    19,    25,    23,    -1,    36,        32,    34,    39,    38,    89,    22,    36,    27,    40,    23,
663        23,    37,    23,    38,    -1,    31,    27,    37,    21,    23,        36,    -1,    31,    27,    22,    27,    89,    27,    32,    34,
664        30,    30,    19,    32,    23,    33,    39,    37,    -1,    23,        39,    38,    89,    34,    33,    36,    38,    -1,    31,    27,
665        21,    26,    33,    -1,    35,    39,    27,    38,    -1        22,    27,    89,    27,    32,    34,    39,    38,    89,    21,
666          26,    19,    32,    32,    23,    30,    -1,    31,    27,    22,
667          27,    89,    27,    32,    34,    39,    38,    89,    38,    43,
668          34,    23,    -1,    31,    27,    22,    27,    89,    27,    32,
669          34,    39,    38,    -1,    37,    23,    36,    40,    23,    36,
670          -1,    40,    33,    30,    39,    31,    23,    -1,    31,    39,
671          38,    23,    -1,    37,    33,    30,    33,    -1,    20,    43,
672          38,    23,    37,    -1,    34,    23,    36,    21,    23,    32,
673          38,    19,    25,    23,    -1,    36,    23,    37,    23,    38,
674          -1,    31,    27,    37,    21,    23,    30,    30,    19,    32,
675          23,    33,    39,    37,    -1,    32,    19,    31,    23,    -1,
676          23,    21,    26,    33,    -1,    35,    39,    27,    38,    -1
677  };  };
678    
679  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
680  static const yytype_uint16 yyrline[] =  static const yytype_uint16 yyrline[] =
681  {  {
682         0,    95,    95,    96,    99,   100,   101,   102,   105,   106,         0,    96,    96,    97,   100,   101,   102,   103,   106,   107,
683       107,   108,   109,   112,   113,   114,   115,   116,   117,   118,       108,   109,   110,   113,   114,   115,   116,   117,   118,   119,
684       119,   120,   122,   123,   124,   125,   126,   127,   128,   129,       120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
685       132,   133,   134,   135,   136,   137,   138,   141,   142,   143,       132,   133,   134,   137,   138,   139,   140,   141,   142,   143,
686       144,   145,   146,   147,   150,   151,   152,   153,   156,   159,       146,   147,   148,   149,   150,   151,   152,   155,   156,   157,
687       162,   163,   164,   165,   166,   167,   168,   169,   170,   171,       158,   161,   164,   165,   166,   169,   170,   171,   172,   173,
688       172,   173,   174,   175,   176,   177,   178,   179,   180,   181,       174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
689       182,   183,   184,   185,   186,   187,   188,   189,   192,   193,       184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
690       194,   195,   196,   197,   200,   201,   202,   203,   206,   209,       194,   195,   196,   197,   198,   199,   202,   203,   204,   205,
691       212,   213,   216,   217,   220,   221,   222,   223,   224,   225,       206,   207,   208,   211,   212,   213,   214,   217,   220,   221,
692       226,   227,   228,   229,   230,   233,   234,   237,   238,   241,       224,   225,   228,   229,   232,   233,   234,   235,   236,   237,
693       242,   243,   244,   245,   246,   247,   250,   251,   254,   257,       238,   239,   240,   241,   242,   243,   244,   245,   248,   249,
694       258,   259,   262,   265,   268,   271,   274,   275,   278,   281,       252,   253,   256,   257,   258,   259,   260,   261,   262,   263,
695       284,   287,   290,   291,   294,   297,   300,   303,   306,   309,       264,   267,   268,   271,   274,   275,   276,   279,   282,   285,
696       310,   313,   314,   315,   316,   324,   325,   328,   329,   332,       288,   291,   292,   295,   298,   301,   304,   307,   308,   311,
697       333,   334,   338,   339,   342,   343,   344,   345,   346,   347,       314,   317,   320,   323,   326,   329,   330,   333,   334,   335,
698       348,   349,   350,   351,   354,   355,   356,   357,   358,   359,       336,   344,   345,   348,   349,   352,   353,   354,   358,   359,
699       360,   361,   362,   363,   365,   365,   365,   365,   365,   365,       362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
700       365,   365,   365,   365,   365,   365,   365,   365,   365,   365,       374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
701       365,   365,   365,   365,   365,   365,   365,   365,   365,   365,       385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
702       366,   366,   366,   366,   366,   366,   366,   366,   366,   366,       385,   385,   385,   385,   385,   385,   385,   385,   385,   385,
703       366,   366,   366,   366,   366,   366,   366,   366,   366,   366,       385,   385,   385,   385,   385,   385,   386,   386,   386,   386,
704       366,   366,   366,   366,   366,   366,   367,   367,   367,   367,       386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
705       367,   367,   367,   367,   367,   367,   368,   368,   368,   368,       386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
706       368,   368,   368,   368,   368,   368,   368,   368,   368,   369,       386,   386,   387,   387,   387,   387,   387,   387,   387,   387,
707       369,   369,   369,   369,   369,   369,   370,   370,   370,   370,       387,   387,   388,   388,   388,   388,   388,   388,   388,   388,
708       370,   371,   371,   371,   371,   372,   372,   372,   373,   373,       388,   388,   388,   388,   388,   389,   389,   389,   389,   389,
709       373,   374,   374,   374,   375,   375,   375,   376,   376,   376,       389,   389,   390,   390,   390,   390,   390,   391,   391,   391,
710       377,   377,   377,   378,   378,   378,   379,   379,   379,   380,       391,   392,   392,   392,   393,   393,   393,   394,   394,   394,
711       380,   380,   381,   381,   381,   382,   382,   382,   383,   383,       395,   395,   395,   396,   396,   396,   397,   397,   397,   398,
712       383,   384,   384,   384,   385,   385,   385,   386,   386,   386,       398,   398,   399,   399,   399,   400,   400,   400,   401,   401,
713       387,   387,   387,   388,   388,   388,   389,   389,   389,   390,       401,   402,   402,   402,   403,   403,   403,   404,   404,   404,
714       390,   390,   391,   391,   391,   392,   392,   392,   393,   393,       405,   405,   405,   406,   406,   406,   407,   407,   407,   408,
715       393,   394,   394,   394,   395,   395,   395,   396,   396,   396,       408,   408,   409,   409,   409,   410,   410,   410,   411,   411,
716       397,   397,   397,   398,   398,   398,   399,   399,   399,   400,       411,   412,   412,   412,   413,   413,   413,   414,   414,   414,
717       400,   400,   401,   401,   401,   402,   402,   402,   403,   403,       415,   415,   415,   416,   416,   416,   417,   417,   417,   418,
718       403,   404,   404,   404,   405,   405,   405,   406,   406,   406,       418,   418,   419,   419,   419,   420,   420,   420,   421,   421,
719       407,   407,   407,   408,   408,   408,   409,   409,   409,   410,       421,   422,   422,   422,   423,   423,   423,   424,   424,   424,
720       410,   410,   411,   411,   411,   412,   412,   412,   413,   413,       425,   425,   425,   426,   426,   426,   427,   427,   427,   428,
721       413,   414,   414,   417,   418,   419,   420,   423,   424,   430,       428,   428,   429,   429,   429,   430,   430,   430,   431,   431,
722       433,   436,   439,   442,   445,   448,   451,   454,   457,   460,       431,   432,   432,   432,   433,   433,   433,   434,   434,   437,
723       463,   466,   469,   472,   475,   478,   481,   484,   487,   490,       438,   439,   440,   443,   444,   450,   453,   456,   459,   462,
724       493,   496,   499,   502,   505,   508,   511,   514,   517,   520,       465,   468,   471,   474,   477,   480,   483,   486,   489,   492,
725       523,   526,   529,   532,   535,   538,   541,   544,   547,   550,       495,   498,   501,   504,   507,   510,   513,   516,   519,   522,
726       553,   556,   559,   562,   565,   568,   571,   574,   577,   580,       525,   528,   531,   534,   537,   540,   543,   546,   549,   552,
727       583,   586,   589,   592,   595,   598,   601,   604,   607,   610,       555,   558,   561,   564,   567,   570,   573,   576,   579,   582,
728       613,   616,   619,   622,   625,   628       585,   588,   591,   594,   597,   600,   603,   606,   609,   612,
729         615,   618,   621,   624,   627,   630,   633,   636,   639,   642,
730         645,   648,   651,   654,   657,   660,   663
731  };  };
732  #endif  #endif
733    
# Line 751  static const char *const yytname[] = Line 768  static const char *const yytname[] =
768    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",    "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
769    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",    "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
770    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",    "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
771    "command", "subscribe_event", "unsubscribe_event", "map_instruction",    "command", "add_instruction", "subscribe_event", "unsubscribe_event",
772    "unmap_instruction", "remove_instruction", "get_instruction",    "map_instruction", "unmap_instruction", "remove_instruction",
773    "set_instruction", "create_instruction", "reset_instruction",    "get_instruction", "set_instruction", "create_instruction",
774    "clear_instruction", "destroy_instruction", "load_instruction",    "reset_instruction", "clear_instruction", "destroy_instruction",
775    "set_chan_instruction", "key_val_list", "buffer_size_type",    "load_instruction", "set_chan_instruction", "key_val_list",
776    "list_instruction", "load_instr_args", "load_engine_args",    "buffer_size_type", "list_instruction", "load_instr_args",
777    "instr_load_mode", "device_index", "audio_channel_index",    "load_engine_args", "instr_load_mode", "device_index",
778    "audio_output_type_name", "midi_input_port_index",    "audio_channel_index", "audio_output_type_name", "midi_input_port_index",
779    "midi_input_channel_index", "midi_input_type_name", "midi_bank_msb",    "midi_input_channel_index", "midi_input_type_name", "midi_map",
780    "midi_bank_lsb", "midi_prog", "volume_value", "sampler_channel",    "midi_bank", "midi_prog", "volume_value", "sampler_channel",
781    "instrument_index", "engine_name", "filename", "entry_name",    "instrument_index", "engine_name", "filename", "map_name", "entry_name",
782    "param_val_list", "param_val", "boolean", "string", "dotnum", "digits",    "param_val_list", "param_val", "boolean", "string", "dotnum", "digits",
783    "digit", "number", "char", "text", "stringval", "SP", "LF", "CR", "ADD",    "digit", "number", "char", "text", "stringval", "SP", "LF", "CR", "ADD",
784    "GET", "MAP", "UNMAP", "CLEAR", "CREATE", "DESTROY", "LIST", "LOAD",    "GET", "MAP", "UNMAP", "CLEAR", "CREATE", "DESTROY", "LIST", "LOAD",
785    "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE",    "ALL", "NONE", "DEFAULT", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
786    "SELECT", "CHANNEL", "AVAILABLE_ENGINES",    "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
787    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",    "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",
788    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
789    "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",    "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",
# Line 778  static const char *const yytname[] = Line 795  static const char *const yytname[] =
795    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
796    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",    "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
797    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",    "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
798    "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",    "MIDI_INSTRUMENT_MAP", "MIDI_INSTRUMENT_MAPS", "MIDI_INPUT_DRIVER",
799    "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER", "VOLUME", "MUTE", "SOLO",    "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT",
800    "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0    "SERVER", "VOLUME", "MUTE", "SOLO", "BYTES", "PERCENTAGE", "RESET",
801      "MISCELLANEOUS", "NAME", "ECHO", "QUIT", 0
802  };  };
803  #endif  #endif
804    
# Line 821  static const yytype_uint16 yyr1[] = Line 839  static const yytype_uint16 yyr1[] =
839         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
840       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
841       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,       231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
842       232,   232,   232,   232,   232,   232,   232,   233,   233,   233,       232,   232,   232,   233,   233,   233,   233,   233,   233,   233,
843       233,   233,   233,   233,   234,   234,   234,   234,   235,   236,       234,   234,   234,   234,   234,   234,   234,   235,   235,   235,
844       237,   237,   237,   237,   237,   237,   237,   237,   237,   237,       235,   236,   237,   237,   237,   238,   238,   238,   238,   238,
845       237,   237,   237,   237,   237,   237,   237,   237,   237,   237,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
846       237,   237,   237,   237,   237,   237,   237,   237,   238,   238,       238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
847       238,   238,   238,   238,   239,   239,   239,   239,   240,   241,       238,   238,   238,   238,   238,   238,   239,   239,   239,   239,
848       242,   242,   243,   243,   244,   244,   244,   244,   244,   244,       239,   239,   239,   240,   240,   240,   240,   241,   242,   242,
849       244,   244,   244,   244,   244,   245,   245,   246,   246,   247,       243,   243,   244,   244,   245,   245,   245,   245,   245,   245,
850       247,   247,   247,   247,   247,   247,   248,   248,   249,   250,       245,   245,   245,   245,   245,   245,   245,   245,   246,   246,
851       250,   250,   251,   252,   253,   254,   255,   255,   256,   257,       247,   247,   248,   248,   248,   248,   248,   248,   248,   248,
852       258,   259,   260,   260,   261,   262,   263,   264,   265,   266,       248,   249,   249,   250,   251,   251,   251,   252,   253,   254,
853       266,   267,   267,   267,   267,   268,   268,   269,   269,   270,       255,   256,   256,   257,   258,   259,   260,   261,   261,   262,
854       270,   270,   271,   271,   272,   272,   272,   272,   272,   272,       263,   264,   265,   266,   267,   268,   268,   269,   269,   269,
855       272,   272,   272,   272,   273,   273,   273,   273,   273,   273,       269,   270,   270,   271,   271,   272,   272,   272,   273,   273,
      273,   273,   273,   273,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
      274,   274,   274,   274,   274,   274,   274,   274,   274,   274,  
856       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,
857       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,       275,   275,   275,   275,   275,   275,   275,   275,   275,   275,
858       274,   274,   274,   274,   274,   274,   274,   274,   274,   274,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
859       274,   274,   274,   275,   275,   275,   275,   276,   276,   277,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
860       278,   279,   280,   281,   282,   283,   284,   285,   286,   287,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
861       288,   289,   290,   291,   292,   293,   294,   295,   296,   297,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
862       298,   299,   300,   301,   302,   303,   304,   305,   306,   307,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
863       308,   309,   310,   311,   312,   313,   314,   315,   316,   317,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
864       318,   319,   320,   321,   322,   323,   324,   325,   326,   327,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
865       328,   329,   330,   331,   332,   333,   334,   335,   336,   337,       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
866       338,   339,   340,   341,   342,   343       276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
867         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
868         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
869         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
870         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
871         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
872         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
873         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
874         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
875         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
876         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
877         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
878         276,   276,   276,   276,   276,   276,   276,   276,   276,   276,
879         276,   276,   276,   276,   276,   276,   276,   276,   276,   277,
880         277,   277,   277,   278,   278,   279,   280,   281,   282,   283,
881         284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
882         294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
883         304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
884         314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
885         324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
886         334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
887         344,   345,   346,   347,   348,   349,   350
888  };  };
889    
890  /* 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 873  static const yytype_uint8 yyr2[] = Line 893  static const yytype_uint8 yyr2[] =
893         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
894         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,         2,     2,     2,     3,     3,     3,     3,     3,     3,     3,
895         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,         3,     3,     3,     3,     3,     3,     3,     3,     1,     1,
896         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
897         1,     1,     1,     1,    15,    17,    17,    19,     7,     3,         1,     1,     1,     1,     1,     1,     1,    15,    17,    17,
898         1,     1,     5,     7,     9,     1,     5,     7,     9,     1,        19,     7,     3,     3,     3,     1,     1,     5,     7,     9,
899         1,     5,     5,     7,     9,     7,     9,     1,     5,     7,         1,     5,     7,     9,     1,     1,     5,     5,     7,     9,
900         5,     5,     5,     3,     1,     1,     1,     9,     7,     9,         7,     9,     1,     5,     7,     5,     5,     5,     3,     1,
901         7,     9,     3,     3,     5,     3,     5,     3,     3,     1,         1,     3,     3,     9,     1,     5,     7,     9,     7,     9,
902           3,     7,     3,     5,     3,     5,     3,     3,     3,     3,
903         3,     3,     3,     3,     5,     7,     5,     9,     5,     5,         3,     3,     3,     3,     5,     7,     5,     9,     5,     5,
904         5,     5,     5,     5,     5,     3,     5,     1,     1,     1,         5,     5,     5,     5,     5,     5,     5,     5,     3,     5,
905         1,     1,     1,     1,     1,     1,     5,     7,     3,     1,         1,     1,     1,     1,     1,     1,     1,     1,     3,     3,
906           1,     5,     7,     3,     1,     1,     1,     1,     1,     1,
907           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
908           1,     1,     1,     1,     1,     1,     3,     1,     1,     1,
909           1,     1,     1,     1,     2,     3,     4,     4,     1,     2,
910         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
911           1,     2,     2,     2,     2,     2,     2,     2,     2,     2,
912         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        3,     1,     1,     1,     1,     1,     1,     1,     2,     3,  
        4,     4,     1,     2,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     2,     2,     2,     2,     2,  
        2,     2,     2,     2,     1,     1,     1,     1,     1,     1,  
913         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
914         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
915         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
# Line 909  static const yytype_uint8 yyr2[] = Line 931  static const yytype_uint8 yyr2[] =
931         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
932         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
933         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
934         1,     1,     1,     1,     1,     2,     2,     3,     3,     1,         1,     2,     2,     3,     3,     1,     1,     1,     3,     3,
935         1,     1,     3,     3,     3,     5,     5,     6,     7,     4,         3,     5,     5,     6,     7,     4,     4,     3,     4,     7,
936         4,     3,     9,     6,     3,     9,    11,     6,     7,    17,         9,     6,     3,     9,    11,     6,     7,    17,    30,     8,
937        30,     8,     4,    13,    12,    11,    12,    11,    17,    21,         4,    13,    12,    11,    12,    11,    17,    21,    10,     6,
938        10,     6,     9,    14,    10,    29,    20,    19,    29,    19,         9,    14,    10,    29,    20,    19,    29,    19,    30,    20,
939        30,    20,    17,    28,    27,    25,    18,    17,    27,    15,        17,    28,    27,    25,    18,    17,    27,    15,    16,    19,
940        16,    17,    15,    18,    15,    10,     6,     6,     4,     4,        20,    17,    15,    18,    15,    10,     6,     6,     4,     4,
941         5,    10,     5,    13,     4,     4         5,    10,     5,    13,     4,     4,     4
942  };  };
943    
944  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 928  static const yytype_uint16 yydefact[] = Line 950  static const yytype_uint16 yydefact[] =
950         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,         0,     0,     0,     0,     0,     5,     6,     0,     0,     0,
951         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
952         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,         0,    28,    29,     0,     0,     0,     0,     0,     0,     0,
953         0,     0,     0,     0,     0,     0,     1,   400,   401,     2,         0,     0,     0,     0,     0,     0,     1,   416,   417,     2,
954         0,     9,   252,   247,   246,   244,   245,   154,   155,   156,         0,     9,   268,   263,   262,   260,   261,   170,   171,   172,
955       157,   158,   159,   160,   161,   162,   163,   174,   175,   176,       173,   174,   175,   176,   177,   178,   179,   190,   191,   192,
956       177,   178,   179,   180,   181,   182,   183,   184,   185,   186,       193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
957       187,   188,   189,   190,   191,   192,   193,   194,   195,   196,       203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
958       197,   198,   199,   200,   201,   202,   203,   204,   205,   206,       213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
959       207,   208,   209,   210,   211,   212,   213,   214,   215,   216,       223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
960       217,   218,   219,   220,   221,   222,   223,   224,   225,   236,       233,   234,   235,   236,   237,   238,   239,   240,   241,   252,
961       238,   239,   240,   241,   242,   243,   248,   249,   250,   251,       254,   255,   256,   257,   258,   259,   264,   265,   266,   267,
962       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
963       263,   264,   265,   266,   267,   268,   269,   270,   271,   272,       279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
964       273,   274,   275,   276,   277,   278,   279,   280,   281,   282,       289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
965       283,   284,   285,   286,   287,   288,   289,   290,   291,   292,       299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
966       293,   294,   295,   296,   297,   298,   299,   300,   301,   302,       309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
967       303,   304,   305,   306,   307,   308,   309,   310,   311,   312,       319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
968       313,   314,   315,   316,   317,   318,   319,   320,   321,   322,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
969       323,   324,   325,   326,   327,   328,   329,   330,   331,   332,       339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
970       333,   334,   335,   336,   337,   338,   339,   340,   341,   342,       349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
971       343,   344,   345,   346,   347,   348,   349,   350,   351,   352,       359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
972       353,   354,   355,   356,   357,   358,   359,   360,   361,   362,       369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
973       363,   364,   365,   366,   367,   368,   369,   370,   371,   372,       379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
974       373,   374,   375,   376,   377,   378,   379,   380,   381,   382,       389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
975       383,   384,   385,   386,   387,   388,   389,   390,   391,   392,       399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
976       399,    12,   164,    11,   147,    10,     0,     0,     0,     0,       415,    12,   180,    11,   163,    10,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,   402,     0,     0,     0,   403,     0,     0,   404,     0,  
        0,     0,     0,   414,     0,     0,     0,     3,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   165,   152,  
      166,   167,   168,   169,   170,   171,   172,   173,   237,   226,  
      227,   228,   229,   230,   231,   232,   233,   234,   235,   148,  
        0,    13,     0,     0,     0,     0,     0,     0,    16,     0,  
       50,    55,    67,    74,    75,     0,    59,     0,     0,     0,  
        0,     0,    51,     0,    60,     0,     0,     0,    76,     0,  
        0,     0,     0,    14,     0,    15,     0,     0,    27,    89,  
        0,     0,    17,     0,     0,    18,     0,     0,     0,     0,  
        0,    19,   112,   114,   111,   109,   113,   110,   115,     0,  
       20,     0,     0,    21,     0,     0,     0,     0,    22,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,    23,    30,    34,    33,    32,    31,    36,    35,    24,  
       37,    41,    40,    39,    38,    43,    42,   394,    25,   393,  
       26,     0,     0,     0,     0,   409,   410,   465,     0,     0,  
        0,     0,     0,     0,   153,     0,     0,     0,     0,     0,  
977         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
978           0,   418,     0,     0,     0,   419,     0,     0,   420,     0,
979           0,     0,     0,   432,     0,     0,     0,     3,   170,   171,
980         172,   173,   174,   175,   176,   177,   178,   179,   181,   168,
981         182,   183,   184,   185,   186,   187,   188,   189,   253,   242,
982         243,   244,   245,   246,   247,   248,   249,   250,   251,   164,
983           0,     0,    13,    30,    31,     0,     0,     0,     0,     0,
984           0,    16,     0,    55,    60,    72,    79,    80,     0,    64,
985           0,     0,     0,     0,     0,    56,     0,    65,     0,     0,
986           0,     0,     0,    84,     0,     0,     0,     0,    14,     0,
987          15,     0,     0,    27,     0,     0,     0,    17,     0,     0,
988          18,     0,     0,     0,     0,     0,    19,   125,   127,   124,
989         122,   126,   123,     0,   130,     0,    20,     0,     0,    21,
990           0,     0,     0,     0,     0,    22,     0,     0,     0,     0,
991           0,     0,     0,     0,     0,     0,     0,     0,     0,    23,
992          33,    37,    36,    35,    34,    39,    38,    24,    40,    44,
993          43,    42,    41,    46,    45,   410,    25,   409,    26,     0,
994           0,     0,     0,   425,   426,   486,     0,     0,     0,     0,
995           0,     0,   169,     0,     0,     0,     0,     0,     0,     0,
996         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
997         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
998         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   396,  
      395,     0,   406,     0,     0,     0,   462,     0,     0,   405,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,    73,     0,   155,   156,  
      157,   158,   159,   160,   161,   162,   163,     0,   129,     0,  
        0,     0,     0,    85,    87,    90,    91,     0,     0,     0,  
        0,     0,     0,     0,    92,     0,   137,     0,    93,     0,  
      136,    49,   134,     0,     0,     0,     0,     0,     0,     0,  
       82,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,    83,   146,   145,     0,  
        0,     0,     0,     0,     0,    88,   407,     0,   413,   417,  
999         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1000         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1001           0,     0,     0,     0,     0,   412,   411,     0,   422,     0,
1002           0,     0,   482,     0,     0,   421,     0,     0,     0,     0,
1003           0,    32,   153,     0,     0,     0,     0,     0,     0,     0,
1004         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1005           0,     0,     0,     0,     0,   171,   172,   173,   174,   175,
1006         176,   177,   178,   179,     0,    81,   144,    82,     0,     0,
1007           0,    78,     0,     0,     0,     0,    98,    99,     0,     0,
1008          94,    96,   100,   101,     0,     0,     0,   128,   129,     0,
1009           0,   102,     0,   152,     0,   103,     0,   151,    52,   149,
1010          53,    54,     0,     0,     0,     0,     0,     0,     0,    90,
1011         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1012         0,     0,     0,     0,     0,     0,   464,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,    92,   162,
1013         161,     0,     0,     0,     0,     0,     0,    97,   423,     0,
1014         431,   435,     0,     0,     0,     0,     0,     0,     0,     0,
1015         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1016         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,   408,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,    68,     0,     0,     0,  
      107,   108,    70,    71,    72,    61,     0,    56,     0,     0,  
        0,    62,     0,     0,    52,     0,     0,     0,   130,     0,  
        0,     0,     0,    84,     0,    86,     0,     0,     0,     0,  
        0,   397,   398,     0,   135,     0,   118,     0,     0,     0,  
1017         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1018         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1019           0,   485,     0,     0,     0,     0,     0,     0,     0,     0,
1020         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,   431,     0,   456,     0,   422,     0,     0,     0,     0,  
1021         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1022           0,     0,   424,     0,     0,     0,     0,   413,   414,     0,
1023           0,     0,     0,     0,     0,     0,     0,    73,     0,     0,
1024           0,   120,   121,    75,    76,    77,    66,     0,    61,     0,
1025           0,     0,    67,     0,     0,   427,    85,    57,     0,     0,
1026           0,   145,     0,     0,     0,     0,    93,     0,    95,     0,
1027           0,     0,     0,     0,     0,   150,     0,   133,     0,     0,
1028         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,   458,   459,     0,     0,     0,  
1029         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   415,  
        0,   418,     0,     0,   418,     0,     0,     0,     0,    69,  
       57,     0,    65,     0,    53,     0,    63,     0,     0,   131,  
       48,     0,     0,     0,     0,   244,   245,   105,   139,   141,  
      144,     0,   152,   143,   142,     0,     0,     0,     0,     0,  
      116,     0,     0,     0,     0,     0,     0,    94,   122,     0,  
      123,    96,   124,    98,    99,   125,     0,   100,   126,   127,  
      101,   128,     0,     0,     0,   102,   132,   133,   103,   104,  
       78,     0,    80,     0,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,   421,     0,     0,     0,     0,     0,     0,  
1030         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1031           0,     0,     0,     0,     0,     0,   449,     0,   476,     0,
1032         440,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1033         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,   457,     0,     0,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,   416,     0,     0,     0,     0,  
        0,   460,     0,    58,    66,    64,    54,    77,     0,     0,  
        0,     0,     0,   106,     0,     0,   140,   149,     0,     0,  
        0,     0,   117,     0,     0,     0,     0,    95,   411,     0,  
       79,    81,     0,     0,     0,     0,     0,     0,     0,     0,  
1034         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1035       150,   151,     0,     0,   430,     0,     0,     0,     0,     0,       478,   479,     0,     0,     0,     0,     0,     0,     0,     0,
1036           0,     0,     0,     0,     0,     0,     0,     0,     0,   484,
1037           0,     0,     0,     0,     0,     0,     0,   433,     0,   436,
1038           0,     0,     0,   436,     0,     0,     0,     0,    74,    62,
1039           0,    70,     0,    58,     0,    68,     0,     0,   146,    51,
1040           0,     0,     0,     0,   260,   261,   118,   155,   157,   160,
1041           0,   168,   159,   158,     0,     0,     0,     0,     0,   131,
1042           0,     0,     0,     0,     0,     0,   104,   137,     0,   138,
1043         106,   139,   108,     0,     0,   115,   116,   117,   109,   140,
1044         110,   141,   142,   111,   143,     0,     0,     0,   112,   147,
1045         148,   113,   114,    86,     0,    88,     0,    91,     0,     0,
1046           0,     0,     0,     0,     0,     0,     0,     0,   439,     0,
1047         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1048         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1049         0,     0,     0,   412,     0,     0,     0,     0,    97,   425,         0,     0,     0,     0,     0,     0,     0,     0,     0,   477,
        0,     0,     0,     0,     0,   427,     0,     0,     0,     0,  
1050         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1051         0,     0,     0,     0,     0,     0,   455,     0,   424,     0,         0,     0,   434,     0,     0,     0,     0,     0,     0,   480,
1052       426,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,    63,    71,    69,    59,    83,     0,     0,     0,     0,
1053           0,   119,     0,     0,   156,   165,     0,     0,     0,     0,
1054           0,   132,     0,     0,     0,     0,   105,     0,     0,     0,
1055          87,    89,     0,     0,     0,     0,     0,     0,     0,     0,
1056         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1057         0,     0,     0,     0,   423,   463,     0,     0,     0,     0,         0,   166,   167,     0,     0,     0,   448,     0,     0,     0,
1058         0,     0,     0,     0,     0,     0,     0,   461,     0,     0,         0,     0,     0,   428,     0,     0,     0,     0,     0,     0,
1059         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1060           0,     0,     0,     0,     0,     0,     0,     0,     0,   430,
1061           0,     0,     0,     0,     0,   107,   443,     0,     0,     0,
1062           0,     0,   445,     0,     0,     0,     0,     0,     0,     0,
1063         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1064         0,     0,   452,   449,     0,   449,    44,     0,     0,     0,         0,     0,     0,     0,     0,   475,     0,     0,   442,     0,
1065         444,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1066         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1067           0,     0,     0,     0,     0,     0,   429,   441,   483,     0,
1068         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1069       450,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,   481,     0,     0,     0,     0,     0,     0,     0,     0,
1070           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1071           0,     0,     0,     0,     0,     0,     0,     0,   472,   467,
1072           0,   467,    47,     0,     0,     0,     0,     0,     0,     0,
1073           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1074           0,     0,     0,     0,     0,     0,     0,     0,   468,     0,
1075           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1076           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1077           0,   437,     0,   465,   471,     0,     0,   446,     0,     0,
1078          48,    49,   154,   134,   135,   136,     0,   465,     0,     0,
1079           0,     0,     0,     0,     0,     0,     0,   472,   474,   446,
1080           0,     0,     0,     0,     0,     0,   464,     0,     0,     0,
1081         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1082       419,     0,   447,   451,     0,   428,     0,     0,    45,    46,         0,     0,     0,   469,     0,   455,   457,     0,     0,     0,
1083       138,   119,   120,   121,     0,   447,     0,     0,     0,     0,         0,   469,     0,     0,     0,    50,   455,     0,     0,     0,
1084         0,     0,     0,     0,   452,   454,   428,     0,     0,     0,         0,     0,     0,   460,     0,   459,   454,     0,     0,     0,
1085         0,     0,   446,     0,     0,     0,     0,     0,     0,     0,         0,     0,   470,     0,     0,     0,     0,     0,     0,     0,
1086         0,     0,     0,     0,     0,     0,     0,     0,   437,   439,       473,     0,     0,     0,     0,     0,     0,   447,     0,     0,
1087         0,     0,     0,     0,     0,     0,     0,    47,   437,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1088         0,     0,     0,     0,   442,     0,   441,   436,     0,     0,         0,     0,     0,   459,     0,     0,     0,     0,     0,     0,
1089         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1090       453,     0,     0,     0,     0,     0,     0,   429,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,   463,
1091         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       450,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1092         0,     0,     0,   441,     0,     0,     0,     0,     0,     0,       452,     0,     0,     0,     0,     0,     0,   466,     0,     0,
1093         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       462,     0,     0,     0,   461,     0,     0,     0,   456,     0,
1094         0,     0,     0,     0,     0,     0,     0,     0,     0,   445,         0,   453,   458,   438,   451
      432,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
      434,     0,     0,     0,     0,     0,     0,   448,     0,     0,  
      444,     0,     0,     0,   443,     0,     0,     0,   438,     0,  
        0,   435,   440,   420,   433  
1095  };  };
1096    
1097  /* YYDEFGOTO[NTERM-NUM].  */  /* YYDEFGOTO[NTERM-NUM].  */
1098  static const yytype_int16 yydefgoto[] =  static const yytype_int16 yydefgoto[] =
1099  {  {
1100        -1,    13,    14,    15,    16,   421,   429,   373,   375,   403,        -1,    13,    14,    15,    16,   342,   429,   437,   378,   380,
1101       348,   408,   382,   440,   378,   385,   400,   590,   733,   709,       409,   351,   415,   387,   448,   383,   390,   406,   619,   776,
1102       391,   574,   578,  1208,   887,   889,   891,   894,   897,   900,       750,   396,   601,   605,  1290,   936,   938,   940,   948,   950,
1103       557,   727,   858,   905,   581,   743,   579,   575,  1209,   867,       953,   575,   770,   907,   958,   608,   784,   606,   602,   541,
1104       868,   606,   869,   870,   871,   272,   582,   274,   438,   874,      1291,   916,   917,   638,   918,   919,   920,   272,   609,   274,
1105       802,    49,    50,    17,    18,    19,    20,    21,    22,    23,       446,   923,   847,    49,    50,    17,    18,    19,    20,    21,
1106        24,    25,   899,   577,    26,    27,    28,    29,    30,   341,        22,    23,    24,    25,   952,   946,   947,   604,    26,    27,
1107       350,   351,   352,   530,   422,   423,   424,   425,   426,   353,        28,    29,    30,   343,   353,   354,   355,   551,   430,   431,
1108       354,   401,   355,  1211,  1212,  1213,   410,   356,   357,   358,       432,   433,   434,   356,   357,   407,   358,  1293,  1294,  1295,
1109       359,   360,   361,   593,   362,   412,   363,   364,   365,   366,       417,   359,   360,   361,   362,   363,   364,   622,   365,   419,
1110       367,   368,   369,   370,   596,   597,   598,   371,   599,   600,       366,   367,   368,   369,   370,   371,   344,   373,   374,   375,
1111       601,   710,   711,    31,   428,   414,    32       626,   627,   628,   376,   629,   630,   631,   751,   752,    31,
1112         436,   637,   422,    32
1113  };  };
1114    
1115  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1116     STATE-NUM.  */     STATE-NUM.  */
1117  #define YYPACT_NINF -808  #define YYPACT_NINF -841
1118  static const yytype_int16 yypact[] =  static const yytype_int16 yypact[] =
1119  {  {
1120        23,  -808,  -808,    18,    59,    47,    57,   111,    93,     8,        64,  -841,  -841,    52,   167,    92,   120,   177,   126,   132,
1121       102,    29,    95,   132,   -49,  1814,  -808,   -79,   -79,   -79,       189,    59,   168,   228,    37,  1863,  -841,    16,    16,    16,
1122       -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1123       -79,   -79,  -808,   142,   146,   195,   205,   225,   227,   246,        16,    16,  -841,   243,   237,   252,   274,   242,   275,   298,
1124       232,   240,   134,    60,   248,   135,  -808,  -808,  -808,  -808,       296,   304,   178,   137,   312,   198,  -841,  -841,  -841,  -841,
1125        44,  -808,  -808,  -808,  -808,  -808,  -808,  -808,   183,   183,       108,  -841,  -841,  -841,  -841,  -841,  -841,  -841,   238,   238,
1126       183,   183,   183,   183,   183,   183,   183,  -808,  -808,  -808,       238,   238,   238,   238,   238,   238,   238,  -841,  -841,  -841,
1127      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1128      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1129      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1130      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1131      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1132      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1133      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1134      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1135      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1136      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1137      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1138      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1139      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1140      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1141      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1142      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1143      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1144      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1145      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1146      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1147      -808,  2479,  -808,  -808,  -808,  -808,   249,    56,   242,   242,      -841,  2528,  -841,  -841,  -841,  -841,   117,   109,   303,   303,
1148       254,    32,    32,    50,   120,   249,   105,    36,    36,  2036,       305,   100,   100,   174,    70,   117,   147,   104,   104,  2085,
1149       249,  -808,   252,   267,   250,  -808,   253,   265,  -808,   255,       314,  -841,   319,   320,   302,  -841,   306,   330,  -841,   327,
1150       257,   269,   272,  -808,   259,   279,   260,  -808,  -808,  -808,       309,   335,   344,  -841,   331,   351,   332,  -841,  -841,  -841,
1151      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,   183,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,   238,  -841,
1152       183,   183,   183,   183,   183,   183,   183,   183,  -808,  -808,       238,   238,   238,   238,   238,   238,   238,   238,  -841,  -841,
1153      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1154       287,  -808,   173,   288,   284,   290,   295,   286,  -808,   -79,       346,   348,  -841,  -841,    16,   229,   363,   358,   364,   371,
1155      -808,  -808,  -808,  -808,  -808,   -79,  -808,   -79,   -79,   -79,       365,  -841,    16,  -841,  -841,  -841,  -841,  -841,    16,  -841,
1156       -79,   -79,  -808,   -79,  -808,   -79,   -79,   -79,  -808,   -79,        16,    16,    16,    16,    16,  -841,    16,  -841,    16,    16,
1157       -79,   -79,   308,  -808,   -79,  -808,   -79,   309,  -808,  -808,        16,    16,    16,  -841,    16,    16,    16,   372,  -841,    16,
1158       282,   310,  -808,   -79,   -79,  -808,   -79,   -79,   175,   312,      -841,    16,   373,  -841,    16,   370,   381,  -841,    16,    16,
1159       320,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,   307,      -841,    16,    16,   231,   384,   385,  -841,  -841,  -841,  -841,
1160      -808,   -79,   -79,  -808,   -79,   302,   328,   326,  -808,   -79,      -841,  -841,  -841,    16,  -841,   379,  -841,    16,    16,  -841,
1161       -79,   -79,   -79,   -79,   -79,   318,   332,   333,   324,   330,        16,    16,   374,   393,   388,  -841,    16,    16,    16,    16,
1162       331,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,        16,    16,    16,   377,   391,   405,   395,   402,   403,  -841,
1163      -808,  -808,  -808,  -808,  -808,  -808,  -808,  2479,  2036,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1164      -808,   -79,   329,   345,   334,  -808,  -808,  -808,   327,   346,      -841,  -841,  -841,  -841,  -841,  2528,  2085,  -841,  -841,    16,
1165       364,   367,   356,   371,  -808,   347,   370,   374,   392,   385,       401,   400,   404,  -841,  -841,  -841,   399,   406,   420,   421,
1166       390,   377,   376,    45,   388,   388,   388,   388,   388,   388,       411,   439,  -841,   441,   436,    55,   440,   442,   444,   443,
1167       388,   388,   388,   388,   388,   388,   388,   394,   391,   391,       445,   428,   427,    50,   446,   446,   446,   446,   446,   446,
1168       395,   396,   398,  2479,  2479,   391,   391,   399,   400,   402,       446,   446,   446,   446,   438,   446,   446,   446,   446,   447,
1169       393,    -3,  2479,   391,   405,   403,   406,    24,   391,   391,       369,   369,   449,   438,   450,   452,  2528,  2528,   369,   369,
1170       391,   391,  2698,   407,   413,   401,   386,   404,   408,  2479,       453,   459,   458,   438,   429,    11,  2528,   369,   438,   460,
1171      -808,   391,  -808,   411,   412,   414,  -808,   409,   415,  -808,       455,   461,    83,   369,   369,   369,   369,   454,  2747,   463,
1172       416,   417,   419,   421,   418,   425,   428,   420,   422,   424,       469,   456,   462,   457,   464,  2528,  -841,   369,  -841,   467,
1173       -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,       470,   473,  -841,   468,   471,  -841,   472,   465,   478,  2085,
1174       -79,   -79,   -79,   -79,   -79,   -79,  -808,   430,   183,   183,      2085,  -841,  -841,   481,   483,   479,   486,   487,   475,   497,
1175       183,   183,   183,   183,   183,   183,   183,   -79,  -808,   -79,       485,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1176       431,   432,   434,  2036,  2036,  -808,  -808,   435,   436,   439,        16,    16,    16,    16,    16,   238,   238,   238,   238,   238,
1177       429,   437,  2036,  2036,  -808,   -79,  -808,   -79,  -808,   -79,       238,   238,   238,   238,   488,  -841,  -841,  -841,    16,    16,
1178      2479,  -808,  -808,   442,   440,   447,   438,    84,   443,   445,        16,  -841,   492,    16,    16,   493,  -841,  -841,   494,   495,
1179      -808,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,   -79,      2085,  2085,  -841,  -841,   496,   503,   523,  -841,  -841,   513,
1180       -79,   -79,   -79,   -79,   -79,   -79,  -808,  2479,  -808,   451,       528,  -841,    16,  -841,    16,  -841,    16,  2528,  -841,  -841,
1181       448,   423,   456,   444,   460,  -808,  -808,   446,  -808,  -808,      -841,  -841,   535,   533,   540,   531,   110,   538,   539,  -841,
1182       455,   462,   458,   459,   461,   463,   464,   344,   470,   467,        16,    16,    16,    16,    16,    16,    16,    16,    16,    16,
1183       474,   391,    58,   391,   391,  2479,   391,  2479,  2479,   391,        16,    16,    16,    16,    16,    16,   554,    16,  -841,  2528,
1184       391,   391,   391,  2479,   391,  2479,   391,   350,   391,   391,      -841,   550,   545,   558,   557,   562,   561,  -841,  -841,   541,
1185       351,   466,   354,  2479,  2479,   468,   471,   449,   469,   472,      -841,  -841,   556,   564,   560,   499,  1419,  1641,   553,   563,
1186      1370,  1592,   391,    -6,   391,   473,  -808,   450,   478,   480,       565,   566,   501,   571,   569,   572,   369,   102,   369,   369,
1187       475,   477,   479,   391,   391,   391,   391,   391,   391,   391,      2528,   369,  2528,  2528,   369,   369,   369,   369,  2528,   369,
1188       391,   391,   391,   391,  2479,   391,  2479,   391,   485,   482,       570,   369,  2528,   369,   506,   369,   369,   512,   588,   514,
1189       487,   492,   501,   489,  -808,   512,   497,   511,   452,   516,      2528,  2528,   590,   592,   515,   589,   594,   369,    55,   369,
1190       513,   514,   518,   504,   457,   517,  -808,   508,   524,   -79,       595,  -841,   542,   580,   605,   591,   600,   602,   369,   369,
1191      -808,  -808,  -808,  -808,  -808,  -808,  2036,  2479,   -79,   -79,       369,   369,   369,   369,   369,   369,   369,   369,   369,   369,
1192       -79,  -808,  2036,   -79,  2479,   -79,   525,   -79,  -808,   -79,      2528,   369,  2528,   369,   603,   369,   610,   604,   612,   618,
1193       526,   465,   528,   -79,  2917,   -79,   476,   533,   532,   522,       608,   616,  -841,   623,   609,   621,   619,  -841,  -841,   559,
1194       481,  -808,  -808,   -79,  -808,   -79,  -808,   483,   536,   539,       628,   626,   627,   624,   617,   567,   622,  -841,   611,   629,
1195       540,   545,   538,   530,   -79,   -79,   -79,   -79,   -79,   -79,        16,  -841,  -841,  -841,  -841,  -841,  -841,  2085,  2528,    16,
1196       -79,   -79,   -79,   -79,   -79,  3136,   -79,  3355,   -79,   537,        16,    16,  -841,  2085,    16,  -841,  -841,  2528,    16,   631,
1197       551,   570,   544,   523,   527,   578,   575,   583,   581,   595,        16,  -841,    16,   632,   575,   639,    16,  2966,    16,   579,
1198       587,  -808,   586,  -808,   454,  -808,   582,   585,   391,  2479,       647,   646,   635,   586,    16,  -841,    16,  -841,   587,   650,
1199       391,   391,   391,  2479,   391,   391,   591,   391,   391,   592,       651,   652,   657,   648,   643,    16,    16,    16,    16,    16,
1200       596,   599,  2479,  2258,   600,   589,   604,   606,   607,   391,        16,    16,    16,    16,    16,    16,    16,  3185,    16,  3404,
1201       391,   608,   610,   611,   550,  -808,  -808,   609,   391,   391,        16,   661,    16,   649,   663,   658,   656,   601,   606,   666,
1202      2479,   391,   391,   314,  2479,   391,   294,  2698,  2698,  2258,       664,   662,   665,   660,   674,   668,  -841,   667,  -841,   670,
1203      2479,  2258,  2479,   554,   617,   619,   561,   612,   630,  -808,      -841,   675,   669,   369,  2528,   369,   369,   369,  2528,   369,
1204       633,  -808,   615,   625,   620,    54,   623,   635,   638,  -808,       369,   671,   369,   369,   672,   673,   676,  2528,  2307,   679,
1205      2036,   -79,  -808,   -79,  2036,   -79,  -808,   624,   -79,  -808,       684,   683,   685,   686,   369,   369,   688,   687,   689,   607,
1206      -808,   626,   621,   628,  3574,   183,   183,   659,  -808,  2479,      -841,  -841,   692,   369,   369,  2528,   369,    95,   369,   438,
1207      -808,   215,    20,  -808,  -808,   627,   620,   169,   642,   634,      2528,   369,   412,  2747,  2747,  2307,  2528,  2307,  2528,  -841,
1208      -808,   -79,   631,   640,   580,   645,   652,  -808,  -808,   -79,        55,   613,   694,   695,   637,   678,   680,  -841,   707,  -841,
1209      -808,  -808,  2479,  -808,  -808,  -808,   646,  -808,  -808,  -808,       691,   690,   700,   696,   135,   698,   677,   711,  -841,  2085,
1210      -808,  2479,   -79,   183,   183,  -808,  -808,  -808,  -808,  -808,        16,  -841,    16,  2085,    16,  -841,   697,    16,  -841,  -841,
1211       659,  3793,   659,  4012,   653,   590,   661,   657,   648,   649,       699,   701,   703,  3623,   238,   238,   733,  -841,  2528,  -841,
1212       660,   647,   663,  -808,   650,   654,   664,   651,   667,  2479,       173,    33,  -841,  -841,   702,   696,   162,   716,   710,  -841,
1213      2479,  2479,  2479,   391,   655,  2479,   658,   662,   656,  2258,        16,   708,   202,   681,   723,   728,  -841,  -841,    16,  -841,
1214       244,   266,  2258,   183,   668,   672,   665,   676,   391,   675,      -841,  2528,  -841,   731,   725,  -841,  -841,  -841,  -841,  -841,
1215       677,   669,   683,  -808,   391,   687,   391,  2258,  2258,   691,      -841,  -841,  -841,  -841,  2528,    16,   238,   238,  -841,  -841,
1216       121,   688,   686,   694,   684,  -808,   690,   598,   689,   693,      -841,  -841,  -841,   733,  3842,   733,  4061,  -841,   732,   705,
1217       701,  -808,   699,   -79,  2479,  2479,   -79,  -808,   696,   -79,       740,   739,   729,   730,   738,   726,   727,   743,  -841,   734,
1218       697,   692,   698,   659,   183,   183,  -808,   183,   700,   712,       736,   741,   735,   744,  2528,  2528,  2528,  2528,   369,   737,
1219       714,   706,  -808,   703,   716,   717,   704,  -808,  -808,   -79,      2528,   754,   758,   759,  2307,   285,   310,  2307,   238,   761,
1220       659,   659,   705,   722,   725,   735,   720,   739,   729,   723,       762,   764,   745,   756,   369,   765,   766,   746,   768,  -841,
1221       110,   674,   727,   741,   730,   728,    -6,   731,   732,   680,       369,   752,   772,   369,  2307,  2307,   779,   210,   775,   777,
1222       183,   183,   733,   685,  -808,   743,   736,   702,   744,   740,       781,   773,  -841,   778,   782,   722,   780,   783,   792,  -841,
1223       314,   755,   747,   763,   757,   756,   769,   759,   760,   754,       785,    16,  2528,  2528,    16,  -841,   784,    16,   791,   796,
1224       762,   768,   112,   770,   710,   781,   771,   -79,   772,   778,       793,   733,   238,   238,  -841,   238,   801,   799,   803,   802,
1225       784,   780,   788,  -808,   782,   141,   785,   783,  -808,  -808,       823,  -841,   809,   806,   776,   204,  -841,   826,   824,    16,
1226       790,   791,   786,   789,   734,  -808,   737,   806,   804,   808,       733,   733,   816,   815,   819,   833,   825,   841,   834,   828,
1227        63,   798,   809,   812,   816,   814,   391,   819,   758,   821,       829,   175,   789,   830,   842,   832,   835,    55,   840,   843,
1228       761,   822,   764,   823,   818,   810,   765,   817,  -808,   815,       794,   238,   238,   851,   804,   852,  -841,   850,   855,   807,
1229      -808,   835,   187,   830,   832,   833,   644,   834,   826,   831,       857,   860,   861,  -841,   438,   873,   865,   847,   839,   874,
1230       836,   841,   838,   -79,   839,   843,   827,   846,   837,   213,       882,   869,   877,   871,   872,   878,   846,   139,   881,   827,
1231       840,   842,   844,    62,  -808,  -808,   850,   847,    74,   852,       894,   888,    16,   889,   883,   900,   886,   903,   895,  -841,
1232       856,   787,   845,   849,   853,   854,   851,  -808,   857,   294,       891,   158,   896,   893,   902,  -841,  -841,   901,   905,   897,
1233       858,   874,   848,   875,   872,   877,   878,   873,   866,   824,       904,   845,  -841,   912,   856,   917,   916,   925,    93,   915,
1234       879,   881,   864,   871,   860,   876,   884,   828,   892,   891,       927,   930,   928,   929,   369,   931,   875,   937,   876,   938,
1235       901,   900,   859,   887,   895,  -808,   -79,   887,   889,   909,       939,   879,   940,   933,   934,   880,   941,   943,  -841,   935,
1236       893,   910,   913,   894,   914,   859,    28,   917,   902,   903,      -841,   946,   945,   251,   951,   955,   957,   947,   959,   952,
1237       907,   918,   922,   905,   908,   915,   919,   930,   920,   921,       958,   956,   968,   960,    16,   961,   972,   962,   973,   965,
1238      -808,   916,     0,   935,   934,   936,   942,   937,   939,   944,       966,   271,   967,   974,   970,    54,  -841,  -841,  -841,   964,
1239       945,   925,   938,   940,   949,   941,   943,   952,   951,   946,       971,   466,   103,   978,   980,   924,   987,   975,   979,   981,
1240      -808,   947,   950,   899,   957,   904,   948,   966,   -79,  -808,       977,  -841,   982,   412,   983,   995,   996,  1001,   998,   988,
1241      -808,  -808,  -808,  -808,   969,  -808,   970,   950,   960,   978,      1002,  1004,  1005,   993,   944,  1008,  1003,   992,   999,   948,
1242       911,   982,   968,   971,  -808,  -808,  -808,   983,   984,   972,      1020,  1000,  1014,   963,  1022,  1019,  1026,  1025,   969,    29,
1243       967,   975,  -808,   976,   973,   980,   926,   981,    -6,   995,      1017,  -841,    16,  1013,  1011,  1032,  1015,  1033,    32,  1037,
1244       996,   997,   998,   988,   991,  1001,  1002,   999,   989,   954,      1021,  1036,   969,   112,  1040,  1024,  1028,  1031,  1035,  1039,
1245      1000,   992,  1012,  1014,  1016,  1015,  1004,  -808,  -808,   989,      1041,  1027,  1042,  1044,  1045,  1046,  1043,  1038,  -841,  1047,
1246      1006,   955,  1019,  1017,  -808,  1020,   962,  -808,  1018,  1007,      1048,    22,  1049,  1050,  1055,  1060,  1054,  1057,  1063,  1068,
1247       965,  1021,  1025,  1023,  1035,  1032,   962,  1026,  1030,  1038,      1066,  1051,  1061,  1058,  1072,  1062,  1079,  1067,  1081,  1082,
1248      -808,  1033,  1049,  1031,  1050,  1054,  1051,  -808,  1046,  1041,      1069,  -841,  1073,  1074,  1023,  1087,  1091,  1029,  1083,  1094,
1249      1060,  1061,  1052,  1062,  1047,  1003,  1048,  1055,  1053,  1066,        16,  -841,  -841,  -841,  -841,  -841,  1098,  -841,  1099,  1074,
1250      1057,  1063,  1056,  -808,  1064,  1070,  1068,  1071,  1074,  1078,      1104,  1092,  1105,  1052,  1106,  1093,  1096,  -841,  -841,  -841,
1251      1072,  1079,  1084,  1082,  1087,  1076,  1073,  1077,  1080,  1075,      1095,  1108,  1109,  1097,  1100,  1101,  -841,  1102,  1103,  1110,
1252      1086,  1088,  1081,  1085,  1091,  1093,  1083,  1101,  1102,  -808,      1111,  1056,  1107,    55,  1112,  1114,  1113,  1123,  1125,  1115,
1253      1037,  1089,  1105,  1106,  1107,  1094,  1095,  1097,  1098,  1067,      1118,  1129,  1131,  -841,  1126,  1120,  1071,  1121,  1124,  1139,
1254      -808,  1099,  1100,  1104,  1115,  1116,  1103,  -808,  1110,  1121,      1142,  1128,  1144,  1145,  1132,  -841,  -841,  1120,  1128,  1136,
1255      -808,  1122,  1111,  1112,  -808,  1119,  1114,  1117,  -808,  1109,      1084,  1149,  1138,  -841,  1141,  1085,  -841,  1143,  1133,  1086,
1256      1129,  -808,  -808,  -808,  -808      1140,  1147,  -841,  1137,  1157,  1154,  1085,  1148,  1150,  1160,
1257        -841,  1151,  1165,  1152,  1166,  1168,  1169,  -841,  1162,  1158,
1258        1172,  1175,  1167,  1177,  1163,  1116,  1164,  1170,  1171,  1179,
1259        1173,  1176,  1182,  -841,  1178,  1183,  1181,  1180,  1185,  1192,
1260        1184,  1195,  1200,  1198,  1203,  1193,  1187,  1186,  1189,  1194,
1261        1206,  1197,  1201,  1196,  1202,  1208,  1209,  1212,  1214,  -841,
1262        1153,  1205,  1215,  1216,  1217,  1207,  1204,  1210,  1211,  1223,
1263        -841,  1213,  1218,  1219,  1227,  1229,  1221,  -841,  1220,  1232,
1264        -841,  1233,  1224,  1226,  -841,  1174,  1228,  1230,  -841,  1222,
1265        1241,  -841,  -841,  -841,  -841
1266  };  };
1267    
1268  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
1269  static const yytype_int16 yypgoto[] =  static const yytype_int16 yypgoto[] =
1270  {  {
1271      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1272      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -632,  -808,      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -674,
1273      -808,  -808,  -808,  -808,  -647,  -518,  -808,   196,   124,  -808,      -841,  -841,  -841,  -841,  -841,  -793,   124,  -841,   254,   176,
1274      -442,  -603,  -760,    26,  -494,  -787,  -615,  -642,   -82,  -790,      -841,  -449,  -626,  -780,    38,  -492,  -826,  -640,  -680,   392,
1275       216,  -591,   410,  -807,    43,    55,   -14,   397,  -334,  -473,       -55,  -813,   277,  -569,   431,  -840,   -13,   -39,   -14,   307,
1276       -15,  1113,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,      -233,  -437,   -15,  1231,  -841,  -841,  -841,  -841,  -841,  -841,
1277      -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -808,  -155,      -841,  -841,  -841,  -841,  -412,  -841,  -841,  -841,  -841,  -841,
1278       882,   883,   885,  -314,   869,   886,  -258,  -253,  -252,   -47,      -841,  -841,  -841,  -206,   994,   997,  1006,  -323,   991,  1007,
1279      -808,  -808,   888,  -808,  -808,  -808,  -808,   890,  -254,  -808,      -231,  -230,  -227,    21,  -841,  -841,  1009,  -841,  -841,  -841,
1280      -808,   896,   670,  -808,   897,  -808,   906,   898,  -250,  -808,      -841,  1016,  -248,  -841,  -841,   990,   770,  -841,  1030,  -841,
1281       -27,   -76,  -808,   673,  -808,  -808,  -808,  -808,  -808,  -808,      1012,  1034,  -245,  -841,    36,   -69,  -246,  1053,  -841,   771,
1282      -808,  -808,  -808,  -808,   912,  -808,  -808      -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,  -841,
1283        1018,  -841,  -841,  -841
1284  };  };
1285    
1286  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1287     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
1288     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
1289     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
1290  #define YYTABLE_NINF -165  #define YYTABLE_NINF -181
1291  static const yytype_int16 yytable[] =  static const yytype_int16 yytable[] =
1292  {  {
1293       275,   273,   276,   277,   278,   279,   280,   281,   282,   283,       275,   273,   276,   277,   278,   279,   280,   281,   282,   283,
1294       284,   285,   286,   287,   288,   289,   290,   615,   576,   906,       284,   285,   286,   287,   288,   289,   290,   778,   786,   319,
1295       714,   745,   735,   881,     1,  -164,     2,   383,   386,   571,       319,   319,   319,   319,   319,   319,   319,   319,   542,   930,
1296       432,   384,   387,  1206,  1207,   433,   434,   559,   860,   910,       755,   372,   959,   388,   391,   647,   389,   392,  -180,   411,
1297        33,   912,     3,   586,     4,     5,   729,    41,     6,  1190,       421,   583,   584,   600,   586,   318,   320,   321,   322,   323,
1298      1131,   380,    43,     7,     8,   587,   415,   416,     9,    10,       324,   325,   326,   327,   597,  1288,  1289,   440,   441,   610,
1299        11,   588,    12,   381,   589,   415,  1191,   417,    44,   388,       772,   442,   963,   909,   965,     1,  1258,     2,   603,  1258,
1300        36,   389,   529,   418,   419,   342,   420,   343,   707,   344,       423,   352,   577,   942,    33,  1215,  1147,   550,   955,   410,
1301        37,   390,   418,  1140,  1079,   420,  1096,   345,   924,    34,       416,   587,    43,     3,   449,     4,     5,   426,  1216,     6,
1302       302,   925,   708,   346,   347,    35,  1141,  1145,   303,  1097,       428,   598,  1217,   347,     7,     8,   611,   405,    44,     9,
1303      1142,   318,   320,   321,   322,   323,   324,   325,   326,   327,        10,    11,   615,    12,   308,   565,   566,   567,   568,   569,
1304      1146,   669,    40,   319,   319,   319,   319,   319,   319,   319,       570,   571,   572,   573,   616,    36,  1167,   943,  1259,   385,
1305       319,   319,   349,   670,   405,    42,   340,    45,   406,  1039,       617,  1266,   748,   618,   423,   424,  1221,   944,   345,  1168,
1306       404,   409,    46,  1040,  1070,   441,   407,   706,    38,   712,       346,   386,   347,  1270,  1205,   425,   749,   704,   340,  1222,
1307       713,  1041,  1003,   344,    39,   270,  1071,   399,  1004,   983,       348,   426,   427,    37,   428,    40,   349,   350,   341,   705,
1308       534,   535,   536,   537,   538,   539,   540,   541,   542,   543,      1271,   555,   556,   557,   558,   559,   560,   561,   562,   563,
1309       544,   545,   546,  1083,   291,   300,   305,  1000,  1001,   292,       564,  1138,   578,   579,   580,   581,   412,   302,   340,   979,
1310       746,   301,   306,   977,   893,  1084,    47,    48,   902,   754,       413,    41,   980,  1139,   747,   303,   753,   754,   414,   998,
1311       755,   756,   757,   758,   759,   760,   761,   762,   763,   764,      1152,  1041,   308,   309,   310,   311,   312,   313,   314,   315,
1312       576,   855,   308,   309,   310,   311,   312,   313,   314,   315,       316,   317,  1153,   393,  1104,   394,  1000,    34,  1105,  1001,
1313       316,   317,   723,   945,   379,   531,   936,   398,  1117,  1118,        45,  1060,  1061,    35,    38,   395,  1106,   787,  1035,   300,
1314       532,   533,   456,   457,   487,   457,   572,   573,   293,   572,        39,   384,    42,   904,   403,   301,   795,   796,   797,   798,
1315       573,   943,   572,   573,   308,   309,   310,   311,   312,   313,       799,   800,   801,   802,   803,   804,   805,   806,    46,   305,
1316       314,   315,   316,   317,  1135,  1136,   908,   909,   660,   661,       764,  1063,   766,   539,   540,   306,  1006,  1064,  1091,   975,
1317       427,   435,   294,   591,  -164,  -164,  -164,   594,    -4,    -4,       270,   975,   552,   553,   539,   540,   554,   308,   309,   310,
1318       984,   374,   376,   308,   309,   310,   311,   312,   313,   314,       311,   312,   313,   314,   315,   316,   317,  -180,  -180,  -180,
1319       315,   316,   317,   295,   296,   297,   298,   299,   304,    47,       292,   603,    47,    48,   620,   291,   624,   623,   466,   467,
1320       340,   442,   985,   372,   439,   308,   309,   310,   311,   312,       500,   467,  1191,  1192,   447,   293,   812,   539,   540,   462,
1321       313,   314,   315,   316,   317,   377,   443,   446,   444,  1103,       295,   462,   462,   462,   462,   462,   462,   462,   462,    -4,
1322       448,   445,   449,   447,   849,   450,   451,   973,   452,   453,        -4,  1042,  1210,  1211,   308,   309,   310,   311,   312,   313,
1323       976,   903,   904,   308,   548,   549,   550,   551,   552,   553,       314,   315,   316,   317,   961,   962,   656,   657,   435,   443,
1324       554,   555,   556,   455,   458,   880,   459,   460,   461,   462,      1031,   294,   296,  1034,   379,   381,  1043,   297,  1174,   308,
1325       979,   481,   906,   308,   548,   549,   550,   551,   552,   553,       309,   310,   311,   312,   313,   314,   315,   316,   317,   465,
1326       554,   555,   556,   896,   463,   477,   480,   482,   488,   490,       298,   299,   304,    47,   377,   340,   382,   473,   450,   451,
1327       464,   494,   465,   466,   467,   468,   469,   489,   470,   495,       452,   898,   456,   474,   453,   475,   476,   477,   478,   479,
1328       471,   472,   473,   496,   474,   475,   476,   503,   504,   478,      1037,   480,   454,   481,   482,   483,   484,   485,   457,   486,
1329       505,   479,   506,   507,   508,   512,   521,   515,   483,   484,       487,   488,   929,   959,   490,   455,   491,   458,   459,   493,
1330       514,   485,   486,   454,  1047,   454,   454,   454,   454,   454,       460,   461,   463,   496,   497,   464,   498,   499,   308,   565,
1331       454,   454,   454,   513,   516,   517,   491,   492,   518,   493,       566,   567,   568,   569,   570,   571,   572,   573,   503,   468,
1332       519,   520,   522,   523,   497,   498,   499,   500,   501,   502,       469,   470,   505,   506,   471,   507,   508,  1112,   472,   489,
1333       308,   548,   549,   550,   551,   552,   553,   554,   555,   556,       492,   512,   513,   514,   515,   516,   517,   518,   495,   494,
1334       525,   524,   526,   527,   528,   529,   547,   560,   561,   568,       501,   504,   502,   509,   510,   511,   519,   520,   945,   956,
1335       562,   567,   612,   510,   569,   271,   511,   583,   585,   584,       957,   308,   565,   566,   567,   568,   569,   570,   571,   572,
1336       570,   609,   610,   702,   616,   614,   997,   618,   611,   726,       573,   526,   521,   522,   527,   523,   524,   528,   529,   531,
1337       730,   629,   613,   732,   690,   617,   623,   619,   624,   622,       530,   533,   534,   542,   532,   535,   271,   308,   565,   566,
1338       625,   620,   626,   621,   992,   627,   630,   647,   650,   651,       567,   568,   569,   570,   571,   572,   573,   574,   538,   536,
1339       628,   652,   655,   692,   558,   558,   657,   658,   656,   665,       537,   544,   543,   545,   548,   549,   599,   547,   546,   582,
1340       659,   565,   566,   666,   667,   688,   671,   668,   672,   691,       576,   585,   588,   550,   589,   594,   576,   576,   595,   576,
1341       689,   693,   695,   696,   602,   603,   604,   605,   608,   694,       596,   613,   612,   614,   592,   593,   636,   641,   642,   576,
1342       697,   699,   698,   703,   846,   700,   701,   704,   705,   731,       648,   646,  1220,   643,   576,   645,   650,   654,   644,   632,
1343       749,   736,   750,   737,   740,   739,   747,   752,   769,   753,       633,   634,   635,   649,   640,   655,   651,   652,   658,   653,
1344       771,   772,   774,   751,   770,   631,   632,   633,   634,   635,       659,   660,  1051,   661,   662,   663,   664,   665,   680,   684,
1345       636,   637,   638,   639,   640,   641,   642,   643,   644,   645,       687,   688,   689,   692,   447,   447,   319,   319,   319,   319,
1346       646,   773,   775,   776,   777,   779,   780,   781,   738,   748,       319,   319,   319,   319,   319,   693,   666,   667,   668,   669,
1347       783,   778,   648,   576,   649,   782,   784,   787,   653,   654,       670,   671,   672,   673,   674,   675,   676,   677,   678,   679,
1348       785,   786,   796,   799,   800,   801,   805,   439,   439,   806,       694,   695,   318,   320,   321,   322,   323,   324,   325,   326,
1349       662,   807,   663,   812,   664,   804,   813,   814,   815,   817,       327,   696,   700,   681,   682,   683,   701,   702,   685,   686,
1350       808,   816,   811,   833,   834,   836,   673,   674,   675,   676,       703,   706,   707,   724,   726,   690,   691,   727,   339,   728,
1351       677,   678,   679,   680,   681,   682,   683,   684,   685,   686,       729,   730,   731,   733,   732,   734,   739,   697,   736,   698,
1352       687,   318,   320,   321,   322,   323,   324,   325,   326,   327,       743,   699,   735,   740,   744,   769,   746,   741,   742,   745,
1353       835,   839,   840,   319,   319,   319,   319,   319,   319,   319,       765,   773,   790,   775,   781,   708,   709,   710,   711,   712,
1354       319,   319,   837,   841,   842,   843,   838,   844,   845,   876,       713,   714,   715,   716,   717,   718,   719,   720,   721,   722,
1355       847,   848,   715,   857,   861,   718,   719,   720,   721,   862,       723,   774,   725,   779,   780,   782,   783,   791,   788,   792,
1356       558,   863,   725,   875,   728,   728,   877,   878,   879,   885,       793,   789,   794,   813,   811,   815,   814,   816,   817,   818,
1357       886,   882,   883,   914,   884,   510,   510,   915,   744,   916,       603,   526,   526,   819,   821,   820,   822,   824,   823,   825,
1358       917,   919,   918,   920,   921,   922,   926,   923,   927,   928,       826,   827,   832,   828,   831,   830,   829,   756,   841,   844,
1359       937,   934,   938,   936,   942,   946,   944,   947,   339,   951,       759,   760,   761,   762,   845,   576,   846,   576,   849,   768,
1360       949,   766,   952,   768,   950,   953,   955,   959,   962,   960,       850,   771,   771,   851,   852,   853,   856,   857,   858,   859,
1361       961,   963,   964,   965,  1122,   966,   967,  1010,   971,   968,       860,   861,   862,   785,   879,   881,   882,   884,   883,   887,
1362       972,   970,   969,   978,   788,   982,   980,   990,   991,   437,       885,   888,   889,   891,   892,   886,   934,   890,   893,   894,
1363       981,   789,   995,   790,   791,   792,   988,   793,   794,  1210,       982,   973,   968,   906,   910,   897,   911,   808,   912,   810,
1364       795,   989,   797,   993,   798,   996,   994,   998,  1002,  1006,       895,   576,   924,   896,   925,   926,   927,   928,   972,   932,
1365      1005,  1007,  1013,  1008,  1009,  1025,  1018,  1011,   809,  1012,       445,   931,   933,   935,   969,   970,   971,   974,   975,   976,
1366       810,  1014,  1015,  1017,  1022,  1031,  1019,  1026,  1029,   818,       977,   981,   983,   978,   989,   833,   991,   993,   997,  1002,
1367       819,   820,   821,   822,   823,   824,   825,   826,   827,   828,       992,   999,   834,  1003,   835,   836,   837,  1005,   838,   839,
1368      1023,   830,  1024,   832,  1027,  1032,  1028,  1033,  1034,  1035,      1008,  1009,   339,   840,  1011,   842,  1016,   843,  1012,  1018,
1369      1036,  1037,  1038,  1042,  1044,  1210,  1043,  1046,  1045,  1050,      1019,  1022,  1020,  1021,  1023,  1024,  1025,  1030,  1028,   854,
1370      1048,  1049,  1051,  1053,  1052,  1054,   851,   852,   853,  1057,      1007,   855,  1029,  1026,  1027,  1036,  1057,  1049,  1050,  1054,
1371       728,   856,  1056,   859,   859,  1059,  1060,  1061,  1063,   873,       863,   864,   865,   866,   867,   868,   869,   870,   871,   872,
1372      1062,  1055,  1064,  1067,  1068,  1069,   744,  1065,  1066,  1073,       873,   874,  1038,   876,  1017,   878,  1039,   880,  1040,  1046,
1373      1074,  1072,  1075,  1077,   888,   890,  1079,   888,   895,   898,      1055,  1047,  1048,  1052,  1058,  1053,  1062,  1065,  1067,   921,
1374      1081,   888,   907,   608,   608,   873,  1078,   873,  1080,  1085,      1066,  1071,  1068,  1074,  1069,  1090,  1070,  1075,  1072,  1073,
1375      1082,  1086,  1087,  1091,  1088,  1089,  1092,  1090,  1093,  1094,      1076,   900,   901,   902,  1292,   771,   905,  1078,   908,   908,
1376      1095,  1098,  1099,  1100,   339,   929,   930,  1102,   931,   932,      1079,  1080,   339,   921,   922,  1083,   921,  1084,   921,  1085,
1377       933,  1101,  1104,   935,  1106,  1108,  1110,  1105,   509,  1112,      1086,   785,  1087,  1088,  1089,  1092,  1095,  1093,  1096,   937,
1378      1107,  1111,  1115,  1109,  1113,  1114,  1116,  1119,   872,  1120,       939,  1097,   937,   576,   949,   951,  1098,   937,   960,   640,
1379      1121,  1123,  1124,  1125,  1127,  1131,   948,  1132,  1133,  1126,       640,   922,  1100,   922,  1099,  1109,  1101,  1102,  1103,  1108,
1380      1128,  1130,  1150,  1144,   954,  1159,  1149,  1134,  1138,  1171,      1110,  1128,  1129,  1137,  1111,   319,   319,   525,  1107,  1113,
1381      1137,   872,  1139,  1143,   872,  1147,   872,   956,  1148,  1151,      1119,   462,  1114,  1115,   984,   985,  1292,   986,   987,   988,
1382      1154,  1152,  1153,   563,   564,  1155,  1157,  1158,  1160,  1161,      1116,  1118,   990,  1117,  1120,  1122,  1121,   339,   339,  1123,
1383      1164,  1163,   580,  1162,  1165,  1167,   339,  1169,   940,   941,      1124,   995,   996,  1126,  1127,  1131,  1130,  1132,  1133,  1134,
1384      1170,  1173,   607,  1166,  1168,  1175,  1172,  1174,  1176,   859,      1136,  1135,  1140,  1142,   339,  1004,  1141,   319,   319,  1143,
1385       319,   319,  1177,  1178,  1180,   873,   454,  1181,   873,  1183,      1145,  1146,  1147,  1010,  1148,  1149,  1150,   590,   591,  1151,
1386      1184,  1186,  1187,  1185,  1188,  1189,  1192,  1194,  1193,  1195,      1154,  1155,  1156,  1157,  1161,  1162,  1159,   607,  1158,  1164,
1387       890,  1199,   895,   873,   873,  1198,   940,   941,  1179,  1197,      1013,  1165,  1160,   995,   996,  1163,   339,  1166,  1169,   639,
1388      1196,  1201,  1200,  1202,  1205,  1204,  1203,  1215,   319,   319,      1170,  1171,  1173,  1172,  1175,   921,   462,   462,   921,   319,
1389       339,   339,  1214,  1216,  1016,  1217,  1219,  1220,  1222,  1218,      1177,  1179,  1180,  1182,  1176,  1178,  1183,  1189,  1181,  1185,
1390      1223,  1221,  1225,  1228,  1229,  1227,  1234,   339,  1224,  1226,       445,   445,  1188,  1184,   908,   921,   921,  1190,  1193,  1186,
1391      1236,  1231,   437,   437,  1030,  1230,   987,  1232,  1233,  1237,       922,  1187,  1194,   922,  1195,  1045,  1197,  1196,  1198,  1200,
1392      1239,  1240,  1241,  1235,   872,   454,   454,   872,   319,  1242,      1199,  1201,  1202,  1204,  1205,  1207,   939,  1218,  1209,   949,
1393      1243,  1244,  1245,  1246,   339,  1250,  1247,  1248,  1249,  1253,       922,   922,  1206,   319,   319,  1208,   462,  1212,  1214,  1219,
1394      1252,  1254,   872,   872,  1251,  1255,   898,  1256,  1258,  1259,      1213,  1223,  1224,  1225,  1226,  1227,  1230,  1228,  1234,  1229,
1395      1260,  1261,  1262,  1263,  1264,  1265,  1267,  1020,  1021,  1266,      1231,  1233,  1077,  1235,  1236,  1237,  1238,  1240,  1239,  1081,
1396      1270,  1271,  1076,  1272,  1269,  1273,  1276,  1274,  1278,   319,      1082,  1242,  1241,  1243,  1244,  1246,  1245,  1248,  1247,  1249,
1397       319,  1275,   454,  1268,  1277,   580,  1283,   716,   717,  1279,      1250,  1251,   462,   462,  1094,  1253,  1254,  1255,  1256,  1260,
1398      1280,  1281,  1282,   722,  1284,   724,  1286,  1285,  1288,  1289,      1258,  1262,  1252,  1263,  1265,  1264,  1267,  1269,  1257,  1272,
1399      1290,  1292,   744,   734,   734,  1287,  1291,  1293,  1294,  1295,      1273,  1268,  1274,  1275,   339,   339,  1276,  1279,  1278,  1283,
1400       509,   509,  1296,  1297,  1298,   454,   454,  1299,  1300,  1301,       339,  1277,  1285,  1297,   339,  1280,  1296,  1282,  1286,  1284,
1401      1302,  1304,  1303,  1305,  1307,  1310,  1308,  1313,  1129,  1315,       951,  1281,  1298,  1299,   339,  1300,  1287,   525,   525,  1301,
1402      1316,  1309,  1306,  1348,   765,  1311,   767,  1318,  1317,  1312,      1302,  1303,  1304,  1306,  1305,  1308,  1307,  1144,  1310,  1311,
1403      1314,  1319,  1321,  1322,  1320,  1323,  1324,  1325,  1330,  1326,      1309,   607,  1312,   757,   758,  1313,  1318,  1315,  1314,   763,
1404      1336,  1329,  1332,   339,   339,   907,  1335,  1327,  1328,   339,      1319,  1316,  1317,   767,   339,  1321,   339,  1322,  1320,  1324,
1405      1331,   339,  1334,  1333,  1337,  1338,  1339,  1340,  1341,  1342,      1325,   777,   777,  1326,  1327,  1330,  1328,  1331,  1332,  1333,
1406      1343,   339,  1344,  1346,  1347,  1345,  1350,  1349,  1352,  1353,       785,  1334,  1335,  1336,  1056,  1346,  1339,  1347,  1337,  1340,
1407      1354,  1182,  1351,  1355,  1356,  1357,  1363,  1358,  1359,  1360,      1338,  1329,  1342,  1344,  1341,  1343,  1349,  1348,  1350,  1351,
1408      1361,  1364,   999,  1362,  1058,  1156,  1257,   430,   986,     0,      1352,   807,  1353,   809,  1354,  1358,  1355,  1356,  1360,  1203,
1409         0,     0,   339,   307,   339,   392,   393,   592,   394,     0,      1357,  1361,  1359,  1363,   921,  1362,  1366,  1364,  1368,  1365,
1410       595,     0,   402,   395,   431,     0,     0,     0,     0,     0,      1369,  1370,  1373,  1367,  1371,  1374,  1375,  1372,  1376,  1377,
1411       396,   397,   411,     0,   872,     0,     0,     0,     0,     0,      1378,  1379,  1380,  1382,  1384,  1383,  1381,  1387,  1386,   960,
1412         0,     0,   413,  1238,     0,     0,     0,     0,     0,   850,      1385,  1391,  1388,  1389,  1392,  1390,  1394,  1393,  1400,  1395,
1413       436,     0,     0,   854,     0,     0,     0,     0,     0,     0,      1397,  1398,  1405,  1406,  1450,  1396,   339,  1407,  1408,  1399,
1414         0,     0,   864,     0,     0,     0,     0,     0,     0,     0,       339,  1401,  1402,  1403,  1404,  1409,  1410,  1261,  1411,  1412,
1415         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,       339,  1413,  1414,  1416,  1415,   339,  1417,  1418,  1420,  1421,
1416       892,     0,     0,     0,   901,     0,     0,   607,   607,     0,      1419,  1425,  1422,  1424,  1423,  1427,  1426,  1428,  1431,  1432,
1417       911,     0,   913,     0,     0,     0,     0,   339,     0,     0,      1433,  1232,  1429,  1430,  1435,  1434,  1436,  1437,   339,  1438,
1418         0,   339,     0,     0,     0,     0,     0,     0,     0,     0,      1442,  1439,  1443,  1445,  1440,  1446,  1447,  1441,  1444,  1453,
1419         0,   339,     0,     0,     0,     0,   339,     0,     0,     0,      1448,   339,  1449,  1454,  1451,   899,  1452,  1059,  1345,   903,
1420         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,      1125,   339,   967,   339,  1044,  1323,   418,   397,   913,   438,
1421         0,     0,     0,     0,     0,     0,     0,     0,     0,   339,       398,   307,   621,   625,     0,     0,     0,     0,     0,   399,
1422         0,     0,     0,     0,     0,     0,     0,     0,   339,     0,         0,     0,     0,   408,     0,   439,   941,     0,   420,   400,
1423         0,     0,     0,     0,     0,     0,     0,     0,   339,     0,         0,   954,     0,     0,   639,   639,   444,   964,     0,   966,
1424           0,     0,     0,   401,     0,     0,     0,   402,     0,     0,
1425           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1426           0,     0,     0,     0,     0,     0,   404,     0,     0,   339,
1427       339,     0,     0,     0,     0,     0,     0,     0,     0,     0,       339,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1428         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,   734,  
      974,   975,   734,     0,     0,   580,     0,     0,     0,     0,  
1429         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1430         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1431         0,   339,   339,   328,    52,    53,    54,    55,    56,   329,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1432       330,   331,   332,   333,   334,   335,   336,   337,   338,    67,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1433        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1434        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,         0,     0,     0,     0,     0,   777,  1032,  1033,   777,     0,
1435        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,         0,   607,   328,    52,    53,    54,    55,    56,   329,   330,
       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,  
      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,  
      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,  
      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,  
      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,  
      148,   149,   150,   151,   152,   153,   154,   155,   156,   157,  
      158,   159,   160,   161,   162,   163,   164,   165,   166,   167,  
      168,   169,   170,   171,   172,   173,   174,   175,   176,   177,  
      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,  
      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,  
      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,  
      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,  
      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,  
      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,  
      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,  
      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,  
      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,  
      268,   269,   741,     0,   270,   328,    52,    53,    54,    55,  
       56,   329,   330,   331,   332,   333,   334,   335,   336,   337,  
      338,    67,    68,    69,    70,    71,    72,    73,    74,    75,  
       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,  
       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,  
       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,  
      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,  
      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,  
      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,  
      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,  
      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,  
      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,  
      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,  
      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,  
      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,  
      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,  
      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,  
      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,  
      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,  
      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,  
      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,  
      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,  
      266,   267,   268,   269,     0,   742,   270,    51,    52,    53,  
       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,  
       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,  
       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,  
       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,  
       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,  
      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,  
      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,  
      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,  
      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,  
      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,  
      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,  
      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,  
      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,  
      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,  
      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,  
      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,  
      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,  
      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,  
      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,  
      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,  
      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,  
      264,   265,   266,   267,   268,   269,     0,     0,   270,   328,  
       52,    53,    54,    55,    56,   329,   330,   331,   332,   333,  
      334,   335,   336,   337,   338,    67,    68,    69,    70,    71,  
       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,  
       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,  
       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,  
      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,  
      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,  
      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,  
      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,  
      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,  
      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,  
      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,  
      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,  
      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,  
      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,  
      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,  
      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,  
      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,  
      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,  
      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,  
      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,  
      262,   263,   264,   265,   266,   267,   268,   269,     0,     0,  
      270,   328,    52,    53,    54,   865,   866,    57,    58,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,  
      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,  
      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,  
      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,  
      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,  
      572,   573,   328,    52,    53,    54,    55,    56,   329,   330,  
1436       331,   332,   333,   334,   335,   336,   337,   338,    67,    68,       331,   332,   333,   334,   335,   336,   337,   338,    67,    68,
1437        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,        69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1438        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,        79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
# Line 1518  static const yytype_int16 yytable[] = Line 1454  static const yytype_int16 yytable[] =
1454       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,       239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1455       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,       249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1456       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,       259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
1457       269,   328,    52,    53,    54,    55,    56,    57,    58,    59,       269,   737,     0,   270,   328,    52,    53,    54,    55,    56,
1458        60,    61,    62,    63,    64,    65,    66,    67,    68,    69,       329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1459          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1460          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1461          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1462          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1463         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1464         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1465         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1466         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1467         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1468         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1469         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1470         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1471         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1472         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1473         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1474         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1475         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1476         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1477         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1478         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1479         267,   268,   269,     0,   738,   270,    51,    52,    53,    54,
1480          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1481          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1482          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1483          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1484          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1485         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1486         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1487         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1488         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1489         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1490         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1491         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1492         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1493         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1494         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1495         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1496         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1497         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1498         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1499         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1500         255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1501         265,   266,   267,   268,   269,     0,     0,   270,   328,    52,
1502          53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1503         335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1504          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1505          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1506          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1507         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1508         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1509         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1510         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1511         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1512         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1513         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1514         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1515         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1516         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1517         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1518         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1519         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1520         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1521         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1522         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1523         263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
1524         328,    52,    53,    54,   914,   915,    57,    58,    59,    60,
1525          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1526          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1527          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1528          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1529         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1530         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1531         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1532         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1533         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1534         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1535         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1536         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1537         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1538         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1539         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1540         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1541         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1542         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1543         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1544         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1545         261,   262,   263,   264,   265,   266,   267,   268,   269,   539,
1546         540,   328,    52,    53,    54,    55,    56,   329,   330,   331,
1547         332,   333,   334,   335,   336,   337,   338,    67,    68,    69,
1548        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,        70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1549        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,        80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1550        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,        90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
# Line 1540  static const yytype_int16 yytable[] = Line 1565  static const yytype_int16 yytable[] =
1565       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,       240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1566       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,       250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1567       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,       260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
1568       328,   803,    53,    54,    55,    56,   329,   330,   331,   332,       328,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1569       333,   334,   335,   336,   337,   338,    67,    68,    69,    70,        61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1570        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,        71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1571        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,        81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1572        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,        91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
# Line 1562  static const yytype_int16 yytable[] = Line 1587  static const yytype_int16 yytable[] =
1587       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,       241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1588       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,       251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1589       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,       261,   262,   263,   264,   265,   266,   267,   268,   269,   328,
1590       829,    53,    54,    55,    56,   329,   330,   331,   332,   333,       848,    53,    54,    55,    56,   329,   330,   331,   332,   333,
1591       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,       334,   335,   336,   337,   338,    67,    68,    69,    70,    71,
1592        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,        72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1593        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,        82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
# Line 1583  static const yytype_int16 yytable[] = Line 1608  static const yytype_int16 yytable[] =
1608       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,       232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1609       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,       242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1610       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,       252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1611       262,   263,   264,   265,   266,   267,   268,   269,   328,   831,       262,   263,   264,   265,   266,   267,   268,   269,   328,   875,
1612        53,    54,    55,    56,   329,   330,   331,   332,   333,   334,        53,    54,    55,    56,   329,   330,   331,   332,   333,   334,
1613       335,   336,   337,   338,    67,    68,    69,    70,    71,    72,       335,   336,   337,   338,    67,    68,    69,    70,    71,    72,
1614        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,        73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
# Line 1605  static const yytype_int16 yytable[] = Line 1630  static const yytype_int16 yytable[] =
1630       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,       233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1631       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,       243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1632       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,       253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1633       263,   264,   265,   266,   267,   268,   269,   328,   939,    53,       263,   264,   265,   266,   267,   268,   269,   328,   877,    53,
1634        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,        54,    55,    56,   329,   330,   331,   332,   333,   334,   335,
1635       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,       336,   337,   338,    67,    68,    69,    70,    71,    72,    73,
1636        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,        74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
# Line 1627  static const yytype_int16 yytable[] = Line 1652  static const yytype_int16 yytable[] =
1652       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,       234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1653       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,       244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1654       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,       254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1655       264,   265,   266,   267,   268,   269,   328,   957,    53,    54,       264,   265,   266,   267,   268,   269,   328,   994,    53,    54,
1656        55,    56,   329,   330,   331,   332,   333,   334,   335,   336,        55,    56,   329,   330,   331,   332,   333,   334,   335,   336,
1657       337,   338,    67,    68,    69,    70,    71,    72,    73,    74,       337,   338,    67,    68,    69,    70,    71,    72,    73,    74,
1658        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,        75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
# Line 1649  static const yytype_int16 yytable[] = Line 1674  static const yytype_int16 yytable[] =
1674       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,       235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1675       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,       245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1676       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,       255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1677       265,   266,   267,   268,   269,   328,   958,    53,    54,    55,       265,   266,   267,   268,   269,   328,  1014,    53,    54,    55,
1678        56,   329,   330,   331,   332,   333,   334,   335,   336,   337,        56,   329,   330,   331,   332,   333,   334,   335,   336,   337,
1679       338,    67,    68,    69,    70,    71,    72,    73,    74,    75,       338,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1680        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
# Line 1671  static const yytype_int16 yytable[] = Line 1696  static const yytype_int16 yytable[] =
1696       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,       236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1697       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,       246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1698       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,       256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
1699       266,   267,   268,   269       266,   267,   268,   269,   328,  1015,    53,    54,    55,    56,
1700         329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
1701          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1702          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1703          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1704          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1705         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1706         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1707         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1708         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1709         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1710         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1711         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1712         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1713         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1714         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1715         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1716         217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
1717         227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
1718         237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1719         247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1720         257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
1721         267,   268,   269
1722  };  };
1723    
1724  static const yytype_int16 yycheck[] =  static const yytype_int16 yycheck[] =
1725  {  {
1726        15,    15,    17,    18,    19,    20,    21,    22,    23,    24,        15,    15,    17,    18,    19,    20,    21,    22,    23,    24,
1727        25,    26,    27,    28,    29,    30,    31,   511,   491,   826,        25,    26,    27,    28,    29,    30,    31,   691,   698,    58,
1728       635,   663,   654,   810,     1,     5,     3,   281,   282,    32,        59,    60,    61,    62,    63,    64,    65,    66,   465,   855,
1729       288,   281,   282,    33,    34,   288,   288,   479,   798,   829,       670,   277,   872,   281,   282,   527,   281,   282,     5,   285,
1730        22,   831,    19,    19,    21,    22,   649,    39,    25,    21,       286,   490,   491,    32,   493,    58,    59,    60,    61,    62,
1731        22,    19,    23,    30,    31,    31,    20,    21,    35,    36,        63,    64,    65,    66,   503,    33,    34,   288,   288,   508,
1732        37,    37,    39,    31,    40,    20,    38,    31,    39,    19,       686,   288,   875,   843,   877,     1,    37,     3,   505,    37,
1733        23,    21,    27,    37,    38,    19,    40,    21,    20,    23,        20,   277,   484,   866,    22,    21,    22,    27,   871,   285,
1734        23,    31,    37,    21,    22,    40,    23,    31,    34,    30,       286,   493,    23,    19,   290,    21,    22,    37,    34,    25,
1735        30,    37,    34,    37,    38,    36,    34,    23,    38,    36,        40,   503,    38,    23,    30,    31,   508,    27,    39,    35,
1736        38,    58,    59,    60,    61,    62,    63,    64,    65,    66,        36,    37,    19,    39,     9,    10,    11,    12,    13,    14,
1737        36,    27,    19,    58,    59,    60,    61,    62,    63,    64,        15,    16,    17,    18,    31,    23,    23,    22,    89,    19,
1738        65,    66,   277,    39,    19,    23,    21,    32,    23,    19,        37,    89,    20,    40,    20,    21,    23,    32,    19,    36,
1739       285,   286,     0,    23,    22,   290,    31,   631,    27,   633,        21,    31,    23,    21,    22,    31,    34,    27,    21,    36,
1740       634,    31,    21,    23,    33,   224,    34,    27,    27,   939,        31,    37,    38,    23,    40,    19,    37,    38,    31,    39,
1741       464,   465,   466,   467,   468,   469,   470,   471,   472,   473,        38,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1742       474,   475,   476,    22,    22,    31,    31,   957,   958,    23,       483,    22,   485,   486,   487,   488,    19,    30,    21,    34,
1743       664,    37,    37,   933,   821,    34,   225,   226,   825,   673,        23,    39,    37,    34,   666,    38,   668,   669,    31,     6,
1744       674,   675,   676,   677,   678,   679,   680,   681,   682,   683,        22,   994,     9,    10,    11,    12,    13,    14,    15,    16,
1745       663,   794,     9,    10,    11,    12,    13,    14,    15,    16,        17,    18,    34,    19,    19,    21,    34,    30,    23,    37,
1746        17,    18,   644,    34,   280,   463,    37,   283,    21,    22,        32,  1014,  1015,    36,    27,    31,    31,   699,   988,    31,
1747       463,   463,    39,    40,    39,    40,   222,   223,    23,   222,        33,   280,    23,   839,   283,    37,   708,   709,   710,   711,
1748       223,     6,   222,   223,     9,    10,    11,    12,    13,    14,       712,   713,   714,   715,   716,   717,   718,   719,     0,    31,
1749        15,    16,    17,    18,    21,    22,   827,   828,   572,   573,       679,    21,   681,   222,   223,    37,    34,    27,    34,    37,
1750       287,   288,    37,   497,   224,   225,   226,   497,   225,   226,       224,    37,   473,   473,   222,   223,   473,     9,    10,    11,
1751         6,   278,   279,     9,    10,    11,    12,    13,    14,    15,        12,    13,    14,    15,    16,    17,    18,   224,   225,   226,
1752        16,    17,    18,    38,    37,    19,    34,    27,    20,   225,        23,   698,   225,   226,   512,    22,   512,   512,    39,    40,
1753        21,    19,     6,    31,   289,     9,    10,    11,    12,    13,        39,    40,    21,    22,   289,    23,   725,   222,   223,   318,
1754        14,    15,    16,    17,    18,    31,    19,    22,    38,  1076,        38,   320,   321,   322,   323,   324,   325,   326,   327,   225,
1755        33,    38,    23,    38,   788,    23,    37,   929,    19,    39,       226,     6,    21,    22,     9,    10,    11,    12,    13,    14,
1756       932,     7,     8,     9,    10,    11,    12,    13,    14,    15,        15,    16,    17,    18,   873,   874,   539,   540,   287,   288,
1757        16,    17,    18,    26,    26,   809,    32,    27,    23,    33,       984,    37,    37,   987,   278,   279,     6,    19,  1144,     9,
1758       935,    39,  1129,     9,    10,    11,    12,    13,    14,    15,        10,    11,    12,    13,    14,    15,    16,    17,    18,   344,
1759        16,    17,    18,    19,   349,    27,    27,    27,    26,    32,        34,    27,    20,   225,    31,    21,    31,   352,    19,    19,
1760       355,    39,   357,   358,   359,   360,   361,    27,   363,    21,        38,   833,    33,   358,    38,   360,   361,   362,   363,   364,
1761       365,   366,   367,    27,   369,   370,   371,    39,    26,   374,       990,   366,    22,   368,   369,   370,   371,   372,    23,   374,
1762        27,   376,    38,    33,    33,    36,    19,    40,   383,   384,       375,   376,   854,  1203,   379,    38,   381,    23,    37,   384,
1763        36,   386,   387,   318,  1016,   320,   321,   322,   323,   324,        19,    39,    26,   388,   389,    27,   391,   392,     9,    10,
1764       325,   326,   327,    38,    38,    21,   401,   402,    21,   404,        11,    12,    13,    14,    15,    16,    17,    18,   403,    26,
1765        34,    20,    22,    19,   409,   410,   411,   412,   413,   414,        32,    27,   407,   408,    23,   410,   411,  1077,    33,    27,
1766         9,    10,    11,    12,    13,    14,    15,    16,    17,    18,        27,   416,   417,   418,   419,   420,   421,   422,    27,    39,
1767        25,    19,    22,    36,    38,    27,    22,    22,    22,    19,        26,    32,    27,    39,    21,    27,    39,    26,   867,     7,
1768        22,    22,    36,   438,    22,    15,   441,    22,    22,    26,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1769        37,    24,    19,    89,    23,    27,   954,    23,    37,    89,        18,   446,    27,    38,   449,    33,    33,    36,    38,    40,
1770        89,    19,    38,    89,    21,    33,    27,    38,    27,    32,        36,    21,    21,   880,    38,    34,    15,     9,    10,    11,
1771        32,    36,    27,    37,   948,    27,    32,    27,    27,    27,        12,    13,    14,    15,    16,    17,    18,    19,    22,    20,
1772        40,    27,    27,    19,   478,   479,    27,    38,    32,    27,        19,    19,    22,    19,    36,    38,    37,    22,    25,    22,
1773        33,   485,   486,    33,    27,    24,    33,    39,    33,    23,       484,    22,    22,    27,    22,    22,   490,   491,    19,   493,
1774        32,    21,    27,    21,   498,   499,   500,   501,   502,    43,        22,    26,    22,    22,   498,   499,    32,    24,    19,   503,
1775        32,    30,    33,    23,    40,    32,    32,    30,    24,    33,        23,    27,    26,    37,   508,    38,    23,    32,    36,   513,
1776        22,    33,    22,    32,    32,    36,    33,    30,    23,    30,       514,   515,   516,    33,   518,    27,    38,    36,    27,    37,
1777        23,    19,    23,    38,    32,   530,   531,   532,   533,   534,        27,    32,  1004,    27,    27,    40,    19,    32,    30,    27,
1778       535,   536,   537,   538,   539,   540,   541,   542,   543,   544,        27,    27,    27,    27,   539,   540,   565,   566,   567,   568,
1779       545,    30,    20,    36,    23,    19,    23,    23,    89,    89,       569,   570,   571,   572,   573,    32,   551,   552,   553,   554,
1780        36,    89,   557,  1016,   559,    27,    89,    23,   563,   564,       555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1781        33,    43,    27,    27,    89,    27,    23,   572,   573,    27,        27,    38,   565,   566,   567,   568,   569,   570,   571,   572,
1782       575,    39,   577,    27,   579,    89,    27,    27,    23,    39,       573,    33,    27,   578,   579,   580,    33,    27,   583,   584,
1783        89,    33,    89,    36,    23,    31,   591,   592,   593,   594,        39,    33,    33,    19,    24,   590,   591,    32,   271,    21,
1784       595,   596,   597,   598,   599,   600,   601,   602,   603,   604,        23,    19,    21,    27,    43,    21,    33,   602,    89,   604,
1785       605,   548,   549,   550,   551,   552,   553,   554,   555,   556,        89,   606,    32,    30,    23,    89,    24,    32,    32,    30,
1786        30,    23,    27,   548,   549,   550,   551,   552,   553,   554,        30,    89,    22,    89,    89,   620,   621,   622,   623,   624,
1787       555,   556,    89,    30,    33,    20,    89,    30,    32,    30,       625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1788        38,    36,   636,    32,    32,   639,   640,   641,   642,    33,       635,    33,   637,    33,    32,    36,    32,    22,    33,    38,
1789       644,    32,   646,    33,   648,   649,    32,    31,    31,    89,        30,    89,    30,    23,    31,    23,    32,    19,    30,    23,
1790        31,    33,    32,    89,    33,   660,   661,    30,   662,    30,      1077,   656,   657,    20,    23,    36,    27,    19,    89,    23,
1791        89,    21,    40,    20,    39,    30,    33,    37,    23,    21,        23,    27,    23,    36,    43,    33,    89,   671,    27,    27,
1792        39,    37,    34,    37,     5,    23,    39,    33,   271,    89,       674,   675,   676,   677,    89,   679,    27,   681,    89,   683,
1793        39,   685,    27,   687,    34,    23,    30,    24,    21,    89,        23,   685,   686,    27,    39,    89,    89,    27,    27,    27,
1794        19,    33,    33,    23,    40,    38,    23,    89,    37,    39,        23,    33,    39,   697,    23,    36,    23,    31,    30,    23,
1795        23,    27,    38,    38,   709,    39,    38,    32,    22,   289,        89,    27,    30,    33,    20,    89,    89,    32,    30,    32,
1796        38,   716,    33,   718,   719,   720,    38,   722,   723,  1182,        23,    21,    89,    32,    32,    36,    33,   721,    32,   723,
1797       725,    39,   727,    38,   729,    32,    39,    30,    27,    33,        40,   725,    33,    38,    30,    32,    31,    31,    40,    32,
1798        32,    27,    21,    39,    34,    19,    34,    38,   743,    36,       289,    33,    33,    31,    30,    30,    89,    20,    37,    39,
1799       745,    32,    36,    36,    34,    30,    38,    34,    34,   754,        30,    33,    21,    37,    37,   750,    37,    34,     5,    23,
1800       755,   756,   757,   758,   759,   760,   761,   762,   763,   764,        39,    39,   757,    33,   759,   760,   761,    39,   763,   764,
1801        38,   766,    38,   768,    38,    33,    39,    32,    23,    39,        27,    23,   445,   768,    23,   770,    24,   772,    33,    19,
1802        21,    32,    39,    89,    23,  1238,    39,    39,    38,    89,        21,    23,    33,    33,    38,    38,    23,    23,    27,   784,
1803        39,    39,    39,    30,    89,    39,   790,   791,   792,    39,        89,   786,    37,    39,    38,    38,    24,    32,    22,    33,
1804       794,   795,    38,   797,   798,    30,    39,    24,    32,   803,       795,   796,   797,   798,   799,   800,   801,   802,   803,   804,
1805        33,    89,    23,    39,    32,    27,   810,    38,    38,    89,       805,   806,    38,   808,    89,   810,    38,   812,    39,    38,
1806        19,    31,    31,    31,   818,   819,    22,   821,   822,   823,        32,    39,    38,    38,    32,    39,    27,    32,    27,   848,
1807        22,   825,   826,   827,   828,   829,    38,   831,    38,    34,        33,    89,    39,    21,    36,    39,    34,    32,    38,    36,
1808        38,    38,    32,    89,    33,    39,    89,    38,    22,    25,        36,   835,   836,   837,  1261,   839,   840,    36,   842,   843,
1809        22,    33,    23,    21,   437,   850,   851,    23,   853,   854,        34,    38,   525,   872,   848,    34,   875,    38,   877,    36,
1810       855,    25,    23,   858,    23,    23,    23,    89,   438,    39,        38,   855,    19,    34,    38,    19,    30,    23,    33,   863,
1811        89,    33,    37,    89,    89,    38,    21,    27,   803,    27,       864,    32,   866,   867,   868,   869,    23,   871,   872,   873,
1812        27,    27,    36,    32,    23,    22,   881,    40,    22,    33,       874,   875,    21,   877,    39,    23,    32,    39,    39,    39,
1813        32,    32,    27,    26,   889,    27,    89,    40,    36,    19,        38,    24,    33,    27,    39,   914,   915,   446,    89,    39,
1814        40,   826,    38,    33,   829,    33,   831,   902,    32,    40,        30,   920,    39,    89,   899,   900,  1323,   902,   903,   904,
1815        39,    38,    38,   483,   484,    38,    38,    23,    23,    27,        39,    39,   907,    89,    39,    38,    89,   590,   591,    39,
1816        27,    23,   492,    26,    38,    26,   509,    43,   865,   866,        39,   914,   915,    30,    39,    23,    32,    38,    31,    38,
1817        39,    27,   502,    89,    33,    23,    40,    89,    27,   933,        32,    39,    31,    19,   607,   930,    89,   956,   957,    31,
1818       865,   866,    21,    23,    37,   939,   871,    32,   942,    40,        31,    38,    22,   938,    38,    22,    31,   496,   497,    38,
1819        21,    21,    19,    40,    40,    21,    19,    34,    36,    32,        34,    38,    30,    32,    89,    23,    39,   506,    33,    22,
1820       954,    33,   956,   957,   958,    40,   903,   904,    89,    27,       955,    25,    38,   956,   957,    89,   639,    22,    33,   518,
1821        32,    32,    37,    23,    38,    34,    36,    23,   903,   904,        23,    21,    23,    25,    23,   994,   995,   996,   997,   998,
1822       563,   564,    27,    27,   979,    23,    27,    23,    43,    32,        23,    23,    23,    23,    89,    89,    33,    21,    89,    89,
1823        32,    26,    23,    21,    23,    32,    19,   580,    38,    38,       539,   540,    37,    39,   988,  1014,  1015,    32,    27,    38,
1824        32,    34,   572,   573,   999,    39,   943,    37,    89,    23,       994,    38,    27,   997,    27,   998,    27,    40,    36,    33,
1825        21,    21,    32,    89,   939,   940,   941,   942,   943,    21,        32,    23,    32,    32,    22,    22,  1010,    33,    32,  1013,
1826        89,    19,    34,    32,   607,    38,    23,    23,    36,    36,      1014,  1015,    40,  1042,  1043,    40,  1045,    40,    38,    38,
1827        34,    31,   957,   958,    39,    89,  1030,    36,    23,    23,        36,    33,    32,    89,    27,    40,    39,    38,    23,    38,
1828        23,    23,    34,    32,    23,    23,    37,   984,   985,    30,        38,    38,  1037,    27,    23,    27,    38,    23,    26,  1042,
1829        38,    19,  1047,    19,    34,    19,    30,    22,    19,   984,      1043,    38,    27,    89,    26,    43,    33,    89,    39,    19,
1830       985,    37,   987,    89,    89,   635,    39,   637,   638,    32,        40,    27,  1081,  1082,  1059,    23,    27,    21,    23,    32,
1831        30,    89,    34,   643,    89,   645,    31,    36,    23,    27,        37,    40,    89,    21,    21,    40,    19,    21,    89,    19,
1832        34,    23,  1076,   653,   654,    42,    36,    34,    19,    38,        36,    40,    34,    32,   757,   758,    31,    40,    27,    23,
1833       660,   661,    22,    19,    23,  1020,  1021,    31,    37,    19,       763,    32,    34,    23,   767,    33,    27,    32,    31,    36,
1834        19,    19,    30,    36,    36,    19,    31,    31,  1103,    19,      1094,    37,    27,    23,   777,    31,    38,   656,   657,    32,
1835        22,    38,    89,    26,   684,    38,   686,    23,    27,    36,        27,    23,    26,    32,    43,    23,    38,  1112,    19,    32,
1836        36,    23,    23,    19,    32,    23,    19,    31,    22,    36,        38,   670,    21,   672,   673,    23,    19,    34,    39,   678,
1837        27,    36,    31,   716,   717,  1129,    23,    40,    38,   722,        19,    37,    89,   682,   807,    32,   809,    23,    89,    21,
1838        32,   724,    31,    38,    23,    23,    89,    38,    23,    23,        21,   690,   691,    19,    32,    19,    21,    34,    32,    34,
1839        23,   734,    38,    36,    36,    40,    36,    38,    23,    23,      1144,    23,    23,    36,  1010,    23,    34,    23,    38,    36,
1840        37,  1156,    38,    33,    23,    23,    37,    36,    36,    30,        39,    89,    31,    36,    34,    89,    23,    34,    23,    34,
1841        36,    22,   956,    36,  1030,  1129,  1238,   288,   942,    -1,        32,   720,    23,   722,    23,    34,    30,    37,    19,  1174,
1842        -1,    -1,   765,    50,   767,   283,   283,   497,   283,    -1,        89,    19,    38,    19,  1203,    37,    30,    22,    19,    37,
1843       497,    -1,   284,   283,   288,    -1,    -1,    -1,    -1,    -1,        32,    30,    39,    89,    89,    89,    36,    34,    31,    42,
1844       283,   283,   286,    -1,  1129,    -1,    -1,    -1,    -1,    -1,        23,    27,    34,    23,    19,    34,    36,    19,    22,  1203,
1845        -1,    -1,   286,  1208,    -1,    -1,    -1,    -1,    -1,   789,        38,    19,    23,    31,    19,    37,    19,    30,    19,    36,
1846       288,    -1,    -1,   793,    -1,    -1,    -1,    -1,    -1,    -1,        36,    31,    19,    22,    30,    89,   899,    27,    23,    38,
1847        -1,    -1,   802,    -1,    -1,    -1,    -1,    -1,    -1,    -1,       903,    38,    36,    31,    36,    23,    32,  1232,    23,    19,
1848         913,    23,    19,    36,    31,   918,    40,    38,    22,    32,
1849          36,    23,    31,    31,    38,    23,    27,    23,    23,    23,
1850          23,  1203,    89,    38,    40,    38,    36,    36,   941,    26,
1851          23,    38,    23,    33,    36,    23,    23,    38,    37,    37,
1852          36,   954,    36,    22,    36,   834,    36,  1013,  1323,   838,
1853        1094,   964,   880,   966,   997,  1290,   286,   283,   847,   288,
1854         283,    50,   512,   512,    -1,    -1,    -1,    -1,    -1,   283,
1855          -1,    -1,    -1,   284,    -1,   288,   865,    -1,   286,   283,
1856          -1,   870,    -1,    -1,   873,   874,   288,   876,    -1,   878,
1857          -1,    -1,    -1,   283,    -1,    -1,    -1,   283,    -1,    -1,
1858        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1859       820,    -1,    -1,    -1,   824,    -1,    -1,   827,   828,    -1,        -1,    -1,    -1,    -1,    -1,    -1,   283,    -1,    -1,  1032,
1860       830,    -1,   832,    -1,    -1,    -1,    -1,   850,    -1,    -1,      1033,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       -1,   854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
       -1,   864,    -1,    -1,    -1,    -1,   869,    -1,    -1,    -1,  
1861        -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,   892,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   901,    -1,  
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   911,    -1,  
      913,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  
1862        -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,   929,  
      930,   931,   932,    -1,    -1,   935,    -1,    -1,    -1,    -1,  
1863        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1864        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1865        -1,   974,   975,     3,     4,     5,     6,     7,     8,     9,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1866        10,    11,    12,    13,    14,    15,    16,    17,    18,    19,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1867        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        -1,    -1,    -1,    -1,    -1,   984,   985,   986,   987,    -1,
1868        30,    31,    32,    33,    34,    35,    36,    37,    38,    39,        -1,   990,     3,     4,     5,     6,     7,     8,     9,    10,
       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,  
       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,  
       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,  
       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,  
       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,  
       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,  
      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,  
      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,  
      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,  
      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,  
      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,  
      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,  
      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,  
      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,  
      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,  
      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,  
      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,  
      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,  
      220,   221,   222,    -1,   224,     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,   221,    -1,   223,   224,     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,   221,    -1,    -1,   224,     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,   221,    -1,    -1,  
      224,     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,   221,  
      222,   223,     3,     4,     5,     6,     7,     8,     9,    10,  
1869        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,        11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1870        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,        21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1871        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,        31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
# Line 1946  static const yytype_int16 yycheck[] = Line 1887  static const yytype_int16 yycheck[] =
1887       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,       191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1888       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,       201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1889       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,       211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1890       221,     3,     4,     5,     6,     7,     8,     9,    10,    11,       221,   222,    -1,   224,     3,     4,     5,     6,     7,     8,
1891           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1892          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1893          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1894          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1895          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1896          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1897          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1898          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1899          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1900          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1901         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1902         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1903         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1904         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1905         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1906         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1907         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1908         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1909         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1910         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1911         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1912         219,   220,   221,    -1,   223,   224,     3,     4,     5,     6,
1913           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1914          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1915          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1916          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1917          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1918          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1919          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1920          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1921          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1922          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1923         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1924         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1925         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1926         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1927         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1928         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1929         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1930         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1931         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1932         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1933         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1934         217,   218,   219,   220,   221,    -1,    -1,   224,     3,     4,
1935           5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1936          15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1937          25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1938          35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1939          45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1940          55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1941          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1942          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1943          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1944          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1945         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1946         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1947         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1948         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1949         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1950         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1951         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1952         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1953         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1954         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1955         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1956         215,   216,   217,   218,   219,   220,   221,    -1,    -1,   224,
1957           3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
1958          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1959          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1960          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1961          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1962          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1963          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1964          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1965          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1966          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1967         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1968         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1969         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1970         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1971         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1972         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1973         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1974         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1975         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1976         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1977         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1978         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1979         223,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1980        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1981        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1982        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 2099  static const yytype_int16 yycheck[] = Line 2129  static const yytype_int16 yycheck[] =
2129       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
2130       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
2131       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
2132       218,   219,   220,   221       218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
2133           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
2134          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
2135          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
2136          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
2137          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
2138          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
2139          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
2140          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
2141          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
2142          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2143         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
2144         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
2145         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
2146         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
2147         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
2148         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
2149         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
2150         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
2151         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
2152         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
2153         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
2154         219,   220,   221
2155  };  };
2156    
2157  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
# Line 2107  static const yytype_int16 yycheck[] = Line 2159  static const yytype_int16 yycheck[] =
2159  static const yytype_uint16 yystos[] =  static const yytype_uint16 yystos[] =
2160  {  {
2161         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,         0,     1,     3,    19,    21,    22,    25,    30,    31,    35,
2162        36,    37,    39,   228,   229,   230,   231,   280,   281,   282,        36,    37,    39,   228,   229,   230,   231,   282,   283,   284,
2163       283,   284,   285,   286,   287,   288,   291,   292,   293,   294,       285,   286,   287,   288,   289,   290,   295,   296,   297,   298,
2164       295,   340,   343,    22,    30,    36,    23,    23,    27,    33,       299,   346,   350,    22,    30,    36,    23,    23,    27,    33,
2165        19,    39,    23,    23,    39,    32,     0,   225,   226,   278,        19,    39,    23,    23,    39,    32,     0,   225,   226,   280,
2166       279,     3,     4,     5,     6,     7,     8,     9,    10,    11,       281,     3,     4,     5,     6,     7,     8,     9,    10,    11,
2167        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,        12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
2168        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
2169        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,        32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
# Line 2133  static const yytype_uint16 yystos[] = Line 2185  static const yytype_uint16 yystos[] =
2185       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,       192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
2186       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,       202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
2187       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,       212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
2188       224,   269,   272,   273,   274,   277,   277,   277,   277,   277,       224,   271,   274,   275,   276,   279,   279,   279,   279,   279,
2189       277,   277,   277,   277,   277,   277,   277,   277,   277,   277,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2190       277,    22,    23,    23,    37,    38,    37,    19,    34,    27,       279,    22,    23,    23,    37,    38,    37,    19,    34,    27,
2191        31,    37,    30,    38,    20,    31,    37,   278,     9,    10,        31,    37,    30,    38,    20,    31,    37,   280,     9,    10,
2192        11,    12,    13,    14,    15,    16,    17,    18,   271,   272,        11,    12,    13,    14,    15,    16,    17,    18,   273,   274,
2193       271,   271,   271,   271,   271,   271,   271,   271,     3,     9,       273,   273,   273,   273,   273,   273,   273,   273,     3,     9,
2194        10,    11,    12,    13,    14,    15,    16,    17,    18,   274,        10,    11,    12,    13,    14,    15,    16,    17,    18,   276,
2195        21,   296,    19,    21,    23,    31,    37,    38,   237,   296,        21,    31,   232,   300,   333,    19,    21,    23,    31,    37,
2196       297,   298,   299,   306,   307,   309,   314,   315,   316,   317,        38,   238,   300,   301,   302,   303,   310,   311,   313,   318,
2197       318,   319,   321,   323,   324,   325,   326,   327,   328,   329,       319,   320,   321,   322,   323,   325,   327,   328,   329,   330,
2198       330,   334,    31,   234,   327,   235,   327,    31,   241,   328,       331,   332,   333,   334,   335,   336,   340,    31,   235,   331,
2199        19,    31,   239,   315,   325,   242,   315,   325,    19,    21,       236,   331,    31,   242,   332,    19,    31,   240,   319,   329,
2200        31,   247,   297,   298,   299,   314,   321,   324,   328,    27,       243,   319,   329,    19,    21,    31,   248,   301,   302,   303,
2201       243,   308,   309,   236,   296,    19,    23,    31,   238,   296,       318,   325,   328,   332,   334,    27,   244,   312,   313,   237,
2202       313,   318,   322,   323,   342,    20,    21,    31,    37,    38,       300,   333,    19,    23,    31,   239,   300,   317,   322,   326,
2203        40,   232,   301,   302,   303,   304,   305,   306,   341,   233,       327,   333,   349,    20,    21,    31,    37,    38,    40,   233,
2204       301,   302,   303,   304,   305,   306,   341,   269,   275,   277,       305,   306,   307,   308,   309,   310,   347,   234,   305,   306,
2205       240,   296,    19,    19,    38,    38,    22,    38,    33,    23,       307,   308,   309,   310,   347,   271,   277,   279,   241,   300,
2206        23,    37,    19,    39,   272,    26,    39,    40,    26,    32,        19,    19,    38,    38,    22,    38,    33,    23,    23,    37,
2207        27,    23,    33,   277,   277,   277,   277,   277,   277,   277,        19,    39,   274,    26,    27,   279,    39,    40,    26,    32,
2208       277,   277,   277,   277,   277,   277,   277,    27,   277,   277,        27,    23,    33,   279,   279,   279,   279,   279,   279,   279,
2209        27,    39,    27,   277,   277,   277,   277,    39,    26,    27,       279,   279,   279,   279,   279,   279,   279,   279,   279,    27,
2210        32,   277,   277,   277,    39,    21,    27,   277,   277,   277,       279,   279,    27,   279,    39,    27,   279,   279,   279,   279,
2211       277,   277,   277,    39,    26,    27,    38,    33,    33,   269,        39,    26,    27,   279,    32,   279,   279,   279,   279,    39,
2212       277,   277,    36,    38,    36,    40,    38,    21,    21,    34,        21,    27,   279,   279,   279,   279,   279,   279,   279,    39,
2213        20,    19,    22,    19,    19,    25,    22,    36,    38,    27,        26,    27,    38,    33,    33,   271,   279,   279,    36,    38,
2214       300,   303,   304,   305,   300,   300,   300,   300,   300,   300,        36,    40,    38,    21,    21,    34,    20,    19,    22,   222,
2215       300,   300,   300,   300,   300,   300,   300,    22,    10,    11,       223,   266,   278,    22,    19,    19,    25,    22,    36,    38,
2216        12,    13,    14,    15,    16,    17,    18,   257,   273,   257,        27,   304,   307,   308,   309,   304,   304,   304,   304,   304,
2217        22,    22,    22,   269,   269,   273,   273,    22,    19,    22,       304,   304,   304,   304,   304,    10,    11,    12,    13,    14,
2218        37,    32,   222,   223,   248,   264,   276,   290,   249,   263,        15,    16,    17,    18,    19,   258,   275,   291,   304,   304,
2219       269,   261,   273,    22,    26,    22,    19,    31,    37,    40,       304,   304,    22,   258,   258,    22,   258,   291,    22,    22,
2220       244,   315,   319,   320,   325,   330,   331,   332,   333,   335,       271,   271,   275,   275,    22,    19,    22,   258,   291,    37,
2221       336,   337,   273,   273,   273,   273,   268,   269,   273,    24,        32,   249,   265,   278,   294,   250,   264,   271,   262,   275,
2222        19,    37,    36,    38,    27,   261,    23,    33,    23,    38,       258,   291,    22,    26,    22,    19,    31,    37,    40,   245,
2223        36,    37,    32,    27,    27,    32,    27,    27,    40,    19,       319,   323,   324,   329,   333,   336,   337,   338,   339,   341,
2224        32,   277,   277,   277,   277,   277,   277,   277,   277,   277,       342,   343,   275,   275,   275,   275,    32,   348,   270,   271,
2225       277,   277,   277,   277,   277,   277,   277,    27,   277,   277,       275,    24,    19,    37,    36,    38,    27,   262,    23,    33,
2226        27,    27,    27,   277,   277,    27,    32,    27,    38,    33,        23,    38,    36,    37,    32,    27,   277,   277,    27,    27,
2227       275,   275,   277,   277,   277,    27,    33,    27,    39,    27,        32,    27,    27,    40,    19,    32,   279,   279,   279,   279,
2228        39,    33,    33,   277,   277,   277,   277,   277,   277,   277,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2229       277,   277,   277,   277,   277,   277,   277,   277,    24,    32,        30,   279,   279,   279,    27,   279,   279,    27,    27,    27,
2230        21,    23,    19,    21,    43,    27,    21,    32,    33,    30,       279,   279,    27,    32,    27,    38,    33,   279,   279,   279,
2231        32,    32,    89,    23,    30,    24,   261,    20,    34,   246,        27,    33,    27,    39,    27,    39,    33,    33,   279,   279,
2232       338,   339,   261,   261,   263,   273,   269,   269,   273,   273,       279,   279,   279,   279,   279,   279,   279,   279,   279,   279,
2233       273,   273,   269,   257,   269,   273,    89,   258,   273,   258,       279,   279,   279,   279,    19,   279,    24,    32,    21,    23,
2234        89,    33,    89,   245,   269,   245,    33,    32,    89,    36,        19,    21,    43,    27,    21,    32,    89,   222,   223,    33,
2235        32,   222,   223,   262,   273,   264,   261,    33,    89,    22,        30,    32,    32,    89,    23,    30,    24,   262,    20,    34,
2236        22,    38,    30,    30,   261,   261,   261,   261,   261,   261,       247,   344,   345,   262,   262,   264,   275,   271,   271,   275,
2237       261,   261,   261,   261,   261,   269,   273,   269,   273,    23,       275,   275,   275,   271,   258,    30,   258,   271,   275,    89,
2238        32,    23,    19,    30,    23,    20,    36,    23,    89,    19,       259,   275,   259,    89,    33,    89,   246,   271,   246,    33,
2239        23,    23,    27,    36,    89,    33,    43,    23,   277,   277,        32,    89,    36,    32,   263,   275,   265,   262,    33,    89,
2240       277,   277,   277,   277,   277,   277,    27,   277,   277,    27,        22,    22,    38,    30,    30,   262,   262,   262,   262,   262,
2241        89,    27,   277,     4,    89,    23,    27,    39,    89,   277,       262,   262,   262,   262,   262,   262,   262,   271,   275,   271,
2242       277,    89,    27,    27,    27,    23,    33,    39,   277,   277,       275,    31,   258,    23,    32,    23,    19,    30,    23,    20,
2243       277,   277,   277,   277,   277,   277,   277,   277,   277,     4,        36,    23,    27,    89,    19,    23,    23,    27,    36,    89,
2244       277,     4,   277,    36,    23,    30,    31,    89,    89,    23,        33,    43,    23,   279,   279,   279,   279,   279,   279,   279,
2245        27,    30,    33,    20,    30,    32,    40,    38,    36,   261,       279,    27,   279,   279,    27,    89,    27,   279,     4,    89,
2246       269,   273,   273,   273,   269,   258,   273,    32,   259,   273,        23,    27,    39,    89,   279,   279,    89,    27,    27,    27,
2247       259,    32,    33,    32,   269,     7,     8,   266,   267,   269,        23,    33,    39,   279,   279,   279,   279,   279,   279,   279,
2248       270,   271,   272,   273,   276,    33,    30,    32,    31,    31,       279,   279,   279,   279,   279,     4,   279,     4,   279,    23,
2249       261,   262,    33,    32,    33,    89,    31,   251,   273,   252,       279,    36,    23,    30,    31,    89,    89,    23,    27,    30,
2250       273,   253,   269,   251,   254,   273,    19,   255,   273,   289,        32,    33,    20,    30,    32,    40,    38,    36,   262,   271,
2251       256,   269,   251,     7,     8,   260,   270,   273,   268,   268,       275,   275,   275,   271,   259,   275,    32,   260,   275,   260,
2252       266,   269,   266,   269,    89,    30,    30,    89,    40,    21,        32,    33,    32,   271,     7,     8,   268,   269,   271,   272,
2253        20,    39,    30,    37,    34,    37,    33,    23,    21,   277,       273,   274,   275,   278,    33,    30,    32,    31,    31,   262,
2254       277,   277,   277,   277,    37,   277,    37,    39,    34,     4,       263,    33,    32,    33,    89,    31,   252,   275,   253,   275,
2255       271,   271,     5,     6,    39,    34,    23,    33,   277,    39,       254,   271,   252,    22,    32,   258,   292,   293,   255,   275,
2256        34,    89,    27,    23,   277,    30,   277,     4,     4,    24,       256,   275,   291,   257,   271,   252,     7,     8,   261,   272,
2257        89,    19,    21,    33,    33,    23,    38,    23,    39,    38,       275,   270,   270,   268,   271,   268,   271,   266,    89,    30,
2258        27,    37,    23,   245,   269,   269,   245,   259,    38,   263,        30,    89,    40,    21,    20,    37,    39,    30,    37,    34,
2259        38,    38,    39,   266,     6,     6,   267,   271,    38,    39,        37,    33,    23,    21,   279,   279,   279,   279,   279,    37,
2260        32,    22,   261,    38,    39,    33,    32,   252,    30,   254,       279,    37,    39,    34,     4,   273,   273,     5,     6,    39,
2261       266,   266,    27,    21,    27,    32,    33,    27,    39,    34,        34,    37,    23,    33,   279,    39,    34,    89,    27,    23,
2262        89,    38,    36,    21,    32,    36,   277,    36,    34,    38,       279,    23,    33,   279,     4,     4,    24,    89,    19,    21,
2263       271,   271,    34,    38,    38,    19,    34,    38,    39,    34,        33,    33,    23,    38,    38,    23,    39,    38,    27,    37,
2264       277,    30,    33,    32,    23,    39,    21,    32,    39,    19,        23,   246,   271,   271,   246,   260,    38,   264,    38,    38,
2265        23,    31,    89,    39,    23,    38,    39,   264,    39,    39,        39,   268,     6,     6,   269,   273,    38,    39,    38,    32,
2266        89,    39,    89,    30,    39,    89,    38,    39,   255,    30,        22,   262,    38,    39,    33,    32,   253,    24,    32,   255,
2267        39,    24,    33,    32,    23,    38,    38,    39,    32,    27,       268,   268,    27,    21,    27,    32,    33,    27,    39,    36,
2268        22,    34,    31,    89,    19,    31,   277,    31,    38,    22,        34,    89,    38,    36,    21,    32,    36,   279,    36,    34,
2269        38,    22,    38,    22,    34,    34,    38,    32,    33,    39,        38,   273,   273,    34,    38,    36,    38,    19,    34,    38,
2270        38,    89,    89,    22,    25,    22,    23,    36,    33,    23,        39,    34,    19,    23,   279,    30,    33,    32,    23,    39,
2271        21,    25,    23,   262,    23,    89,    23,    89,    23,    89,        21,    32,    39,    39,    19,    23,    31,    89,    39,    23,
2272        23,    33,    39,    89,    38,    37,    21,    21,    22,    27,        38,    39,   265,    39,    39,    89,    39,    89,    39,    30,
2273        27,    27,    40,    27,    36,    32,    33,    23,    32,   277,        39,    89,    38,    39,    39,   256,    30,    39,    24,    33,
2274        32,    22,    40,    22,    40,    21,    22,    40,    36,    38,        32,    23,    38,    31,    38,    39,    32,    27,    22,    34,
2275        21,    34,    38,    33,    26,    23,    36,    33,    32,    89,        31,    89,    19,    31,   279,    31,    38,    22,    38,    22,
2276        27,    40,    38,    38,    39,    38,   260,    38,    23,    27,        31,    38,    22,    34,    34,    38,    30,    32,    33,    39,
2277        23,    27,    26,    23,    27,    38,    89,    26,    33,    43,        38,    89,    23,    89,    22,    25,    22,    23,    36,    33,
2278        39,    19,    40,    27,    89,    23,    27,    21,    23,    89,        23,    21,    25,    23,   263,    23,    89,    23,    89,    23,
2279        37,    32,   277,    40,    21,    40,    21,    19,    40,    21,        23,    89,    23,    33,    39,    89,    38,    38,    37,    21,
2280        21,    38,    19,    36,    34,    32,    32,    27,    40,    33,        32,    21,    22,    27,    27,    27,    40,    27,    36,    32,
2281        37,    32,    23,    36,    34,    38,    33,    34,   250,   265,        33,    23,    32,   279,    32,    22,    40,    22,    40,    32,
2282       276,   310,   311,   312,    27,    23,    27,    23,    32,    27,        21,    22,    40,    36,    38,    21,    34,    38,    33,    38,
2283        23,    26,    43,    32,    38,    23,    38,    32,    21,    23,        26,    23,    36,    33,    32,    89,    27,    40,    38,    38,
2284        39,    34,    37,    89,    19,    89,    32,    23,   277,    21,        39,    38,   261,    38,    23,    27,    23,    27,    38,    26,
2285        21,    32,    21,    89,    19,    34,    32,    23,    23,    36,        23,    27,    38,    89,    26,    33,    43,    39,    89,    19,
2286        38,    39,    34,    36,    31,    89,    36,   265,    23,    23,        40,    27,    89,    23,    27,    21,    23,    89,    37,    89,
2287        23,    23,    34,    32,    23,    23,    30,    37,    89,    34,        32,   279,    40,    21,    40,    21,    89,    19,    40,    21,
2288        38,    19,    19,    19,    22,    37,    30,    89,    19,    32,        21,    38,    19,    36,    34,    32,    31,    32,    27,    40,
2289          33,    37,    32,    23,    36,    34,    31,    38,    33,    34,
2290         251,   267,   278,   314,   315,   316,    27,    23,    27,    23,
2291          31,    32,    27,    23,    26,    43,    32,    38,    23,    38,
2292          19,    32,    21,    23,    39,    34,    37,    89,    19,    19,
2293          89,    32,    23,   279,    21,    21,    19,    32,    21,    89,
2294          19,    34,    32,    34,    23,    23,    36,    38,    39,    34,
2295          36,    34,    31,    89,    36,   267,    23,    23,    34,    23,
2296          23,    34,    32,    23,    23,    30,    37,    89,    34,    38,
2297          19,    19,    37,    19,    22,    37,    30,    89,    19,    32,
2298        30,    89,    34,    39,    89,    36,    31,    42,    23,    27,        30,    89,    34,    39,    89,    36,    31,    42,    23,    27,
2299        34,    36,    23,    34,    19,    38,    22,    19,    23,    31,        34,    36,    23,    34,    19,    38,    22,    19,    23,    31,
2300        37,    19,    19,    30,    19,    36,    89,    36,    31,    38,        37,    19,    19,    30,    19,    36,    89,    36,    31,    38,
# Line 3060  yyreduce: Line 3121  yyreduce:
3121    switch (yyn)    switch (yyn)
3122      {      {
3123          case 4:          case 4:
3124  #line 99 "lscp.y"  #line 100 "lscp.y"
3125      { return LSCP_DONE; }      { return LSCP_DONE; }
3126      break;      break;
3127    
3128    case 5:    case 5:
3129  #line 100 "lscp.y"  #line 101 "lscp.y"
3130      { return LSCP_DONE; }      { return LSCP_DONE; }
3131      break;      break;
3132    
3133    case 6:    case 6:
3134  #line 101 "lscp.y"  #line 102 "lscp.y"
3135      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }      { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3136      break;      break;
3137    
3138    case 7:    case 7:
3139  #line 102 "lscp.y"  #line 103 "lscp.y"
3140      { 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; }
3141      break;      break;
3142    
3143    case 13:    case 13:
3144  #line 112 "lscp.y"  #line 113 "lscp.y"
3145      { (yyval.String) = LSCPSERVER->AddChannel(); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3146      break;      break;
3147    
3148    case 14:    case 14:
3149  #line 113 "lscp.y"  #line 114 "lscp.y"
3150      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3151      break;      break;
3152    
3153    case 15:    case 15:
3154  #line 114 "lscp.y"  #line 115 "lscp.y"
3155      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3156      break;      break;
3157    
3158    case 16:    case 16:
3159  #line 115 "lscp.y"  #line 116 "lscp.y"
3160      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3161      break;      break;
3162    
3163    case 17:    case 17:
3164  #line 116 "lscp.y"  #line 117 "lscp.y"
3165      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3166      break;      break;
3167    
3168    case 18:    case 18:
3169  #line 117 "lscp.y"  #line 118 "lscp.y"
3170      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3171      break;      break;
3172    
3173    case 19:    case 19:
3174  #line 118 "lscp.y"  #line 119 "lscp.y"
3175      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3176      break;      break;
3177    
3178    case 20:    case 20:
3179  #line 119 "lscp.y"  #line 120 "lscp.y"
3180      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3181      break;      break;
3182    
3183    case 21:    case 21:
3184  #line 120 "lscp.y"  #line 121 "lscp.y"
3185      { (yyval.String) = (yyvsp[(3) - (3)].String);                       }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                }
3186      break;      break;
3187    
3188    case 22:    case 22:
# Line 3166  yyreduce: Line 3227  yyreduce:
3227    
3228    case 30:    case 30:
3229  #line 132 "lscp.y"  #line 132 "lscp.y"
3230      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = LSCPSERVER->AddChannel();                          }
3231      break;      break;
3232    
3233    case 31:    case 31:
3234  #line 133 "lscp.y"  #line 133 "lscp.y"
3235      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap();                }
3236      break;      break;
3237    
3238    case 32:    case 32:
3239  #line 134 "lscp.y"  #line 134 "lscp.y"
3240      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }      { (yyval.String) = LSCPSERVER->AddMidiInstrumentMap((yyvsp[(3) - (3)].String));              }
3241      break;      break;
3242    
3243    case 33:    case 33:
3244  #line 135 "lscp.y"  #line 137 "lscp.y"
3245      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count);     }
3246      break;      break;
3247    
3248    case 34:    case 34:
3249  #line 136 "lscp.y"  #line 138 "lscp.y"
3250      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);       }
3251      break;      break;
3252    
3253    case 35:    case 35:
3254  #line 137 "lscp.y"  #line 139 "lscp.y"
3255      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count);      }
3256      break;      break;
3257    
3258    case 36:    case 36:
3259  #line 138 "lscp.y"  #line 140 "lscp.y"
3260      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);       }
3261      break;      break;
3262    
3263    case 37:    case 37:
3264  #line 141 "lscp.y"  #line 141 "lscp.y"
3265      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info);      }
3266      break;      break;
3267    
3268    case 38:    case 38:
3269  #line 142 "lscp.y"  #line 142 "lscp.y"
3270      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);              }
3271      break;      break;
3272    
3273    case 39:    case 39:
3274  #line 143 "lscp.y"  #line 143 "lscp.y"
3275      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }      { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }
3276      break;      break;
3277    
3278    case 40:    case 40:
3279  #line 144 "lscp.y"  #line 146 "lscp.y"
3280      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count);     }
3281      break;      break;
3282    
3283    case 41:    case 41:
3284  #line 145 "lscp.y"  #line 147 "lscp.y"
3285      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);       }
3286      break;      break;
3287    
3288    case 42:    case 42:
3289  #line 146 "lscp.y"  #line 148 "lscp.y"
3290      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count);      }
3291      break;      break;
3292    
3293    case 43:    case 43:
3294  #line 147 "lscp.y"  #line 149 "lscp.y"
3295      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);       }
3296      break;      break;
3297    
3298    case 44:    case 44:
3299  #line 150 "lscp.y"  #line 150 "lscp.y"
3300      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (15)].Number),(yyvsp[(5) - (15)].Number),(yyvsp[(7) - (15)].Number),(yyvsp[(9) - (15)].String),(yyvsp[(11) - (15)].String),(yyvsp[(13) - (15)].Number),(yyvsp[(15) - (15)].Dotnum),MidiInstrumentMapper::VOID,""); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info);      }
3301      break;      break;
3302    
3303    case 45:    case 45:
3304  #line 151 "lscp.y"  #line 151 "lscp.y"
3305      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),(yyvsp[(17) - (17)].LoadMode),""); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);              }
3306      break;      break;
3307    
3308    case 46:    case 46:
3309  #line 152 "lscp.y"  #line 152 "lscp.y"
3310      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(17) - (17)].String)); }      { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }
3311      break;      break;
3312    
3313    case 47:    case 47:
3314  #line 153 "lscp.y"  #line 155 "lscp.y"
3315      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (19)].Number),(yyvsp[(5) - (19)].Number),(yyvsp[(7) - (19)].Number),(yyvsp[(9) - (19)].String),(yyvsp[(11) - (19)].String),(yyvsp[(13) - (19)].Number),(yyvsp[(15) - (19)].Dotnum),(yyvsp[(17) - (19)].LoadMode),(yyvsp[(19) - (19)].String)); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (15)].Number),(yyvsp[(5) - (15)].Number),(yyvsp[(7) - (15)].Number),(yyvsp[(9) - (15)].String),(yyvsp[(11) - (15)].String),(yyvsp[(13) - (15)].Number),(yyvsp[(15) - (15)].Dotnum),MidiInstrumentMapper::VOID,""); }
3316      break;      break;
3317    
3318    case 48:    case 48:
3319  #line 156 "lscp.y"  #line 156 "lscp.y"
3320      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),(yyvsp[(17) - (17)].LoadMode),""); }
3321      break;      break;
3322    
3323    case 49:    case 49:
3324  #line 159 "lscp.y"  #line 157 "lscp.y"
3325      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number)); }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(17) - (17)].String)); }
3326      break;      break;
3327    
3328    case 50:    case 50:
3329  #line 162 "lscp.y"  #line 158 "lscp.y"
3330      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }      { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (19)].Number),(yyvsp[(5) - (19)].Number),(yyvsp[(7) - (19)].Number),(yyvsp[(9) - (19)].String),(yyvsp[(11) - (19)].String),(yyvsp[(13) - (19)].Number),(yyvsp[(15) - (19)].Dotnum),(yyvsp[(17) - (19)].LoadMode),(yyvsp[(19) - (19)].String)); }
3331      break;      break;
3332    
3333    case 51:    case 51:
3334  #line 163 "lscp.y"  #line 161 "lscp.y"
3335      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }      { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3336      break;      break;
3337    
3338    case 52:    case 52:
3339  #line 164 "lscp.y"  #line 164 "lscp.y"
3340      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }      { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number));             }
3341      break;      break;
3342    
3343    case 53:    case 53:
3344  #line 165 "lscp.y"  #line 165 "lscp.y"
3345      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }      { (yyval.String) = LSCPSERVER->RemoveMidiInstrumentMap((yyvsp[(3) - (3)].Number));   }
3346      break;      break;
3347    
3348    case 54:    case 54:
3349  #line 166 "lscp.y"  #line 166 "lscp.y"
3350      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }      { (yyval.String) = LSCPSERVER->RemoveAllMidiInstrumentMaps(); }
3351      break;      break;
3352    
3353    case 55:    case 55:
3354  #line 167 "lscp.y"  #line 169 "lscp.y"
3355      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { (yyval.String) = LSCPSERVER->GetAvailableEngines();                          }
3356      break;      break;
3357    
3358    case 56:    case 56:
3359  #line 168 "lscp.y"  #line 170 "lscp.y"
3360      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }      { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
3361      break;      break;
3362    
3363    case 57:    case 57:
3364  #line 169 "lscp.y"  #line 171 "lscp.y"
3365      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String));                     }
3366      break;      break;
3367    
3368    case 58:    case 58:
3369  #line 170 "lscp.y"  #line 172 "lscp.y"
3370      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3371      break;      break;
3372    
3373    case 59:    case 59:
3374  #line 171 "lscp.y"  #line 173 "lscp.y"
3375      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));    }
3376      break;      break;
3377    
3378    case 60:    case 60:
3379  #line 172 "lscp.y"  #line 174 "lscp.y"
3380      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }      { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
3381      break;      break;
3382    
3383    case 61:    case 61:
3384  #line 173 "lscp.y"  #line 175 "lscp.y"
3385      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String));                   }
3386      break;      break;
3387    
3388    case 62:    case 62:
3389  #line 174 "lscp.y"  #line 176 "lscp.y"
3390      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3391      break;      break;
3392    
3393    case 63:    case 63:
3394  #line 175 "lscp.y"  #line 177 "lscp.y"
3395      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }      { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList));  }
3396      break;      break;
3397    
3398    case 64:    case 64:
3399  #line 176 "lscp.y"  #line 178 "lscp.y"
3400      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount();                    }
3401      break;      break;
3402    
3403    case 65:    case 65:
3404  #line 177 "lscp.y"  #line 179 "lscp.y"
3405      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount();                      }
3406      break;      break;
3407    
3408    case 66:    case 66:
3409  #line 178 "lscp.y"  #line 180 "lscp.y"
3410      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }      { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number));                   }
3411      break;      break;
3412    
3413    case 67:    case 67:
3414  #line 179 "lscp.y"  #line 181 "lscp.y"
3415      { (yyval.String) = LSCPSERVER->GetChannels();                                  }      { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number));                     }
3416      break;      break;
3417    
3418    case 68:    case 68:
3419  #line 180 "lscp.y"  #line 182 "lscp.y"
3420      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }      { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));                   }
3421      break;      break;
3422    
3423    case 69:    case 69:
3424  #line 181 "lscp.y"  #line 183 "lscp.y"
3425      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }      { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String));      }
3426      break;      break;
3427    
3428    case 70:    case 70:
3429  #line 182 "lscp.y"  #line 184 "lscp.y"
3430      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number));              }
3431      break;      break;
3432    
3433    case 71:    case 71:
3434  #line 183 "lscp.y"  #line 185 "lscp.y"
3435      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }      { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3436      break;      break;
3437    
3438    case 72:    case 72:
3439  #line 184 "lscp.y"  #line 186 "lscp.y"
3440      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }      { (yyval.String) = LSCPSERVER->GetChannels();                                  }
3441      break;      break;
3442    
3443    case 73:    case 73:
3444  #line 185 "lscp.y"  #line 187 "lscp.y"
3445      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }      { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number));                             }
3446      break;      break;
3447    
3448    case 74:    case 74:
3449  #line 186 "lscp.y"  #line 188 "lscp.y"
3450      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }      { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number));                          }
3451      break;      break;
3452    
3453    case 75:    case 75:
3454  #line 187 "lscp.y"  #line 189 "lscp.y"
3455      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }      { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number));                             }
3456      break;      break;
3457    
3458    case 76:    case 76:
3459  #line 188 "lscp.y"  #line 190 "lscp.y"
3460      { (yyval.String) = LSCPSERVER->GetMidiIstrumentMappings();                     }      { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number));                              }
3461      break;      break;
3462    
3463    case 77:    case 77:
3464  #line 189 "lscp.y"  #line 191 "lscp.y"
3465      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }      { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String));                              }
3466      break;      break;
3467    
3468    case 78:    case 78:
3469  #line 192 "lscp.y"  #line 192 "lscp.y"
3470      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }      { (yyval.String) = LSCPSERVER->GetServerInfo();                                }
3471      break;      break;
3472    
3473    case 79:    case 79:
3474  #line 193 "lscp.y"  #line 193 "lscp.y"
3475      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCount();                                }
3476      break;      break;
3477    
3478    case 80:    case 80:
3479  #line 194 "lscp.y"  #line 194 "lscp.y"
3480      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }      { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax();                        }
3481      break;      break;
3482    
3483    case 81:    case 81:
3484  #line 195 "lscp.y"  #line 195 "lscp.y"
3485      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMappings((yyvsp[(3) - (3)].Number));                  }
3486      break;      break;
3487    
3488    case 82:    case 82:
3489  #line 196 "lscp.y"  #line 196 "lscp.y"
3490      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }      { (yyval.String) = LSCPSERVER->GetAllMidiInstrumentMappings();                 }
3491      break;      break;
3492    
3493    case 83:    case 83:
3494  #line 197 "lscp.y"  #line 197 "lscp.y"
3495      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number));             }
3496      break;      break;
3497    
3498    case 84:    case 84:
3499  #line 200 "lscp.y"  #line 198 "lscp.y"
3500      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMaps();                        }
3501      break;      break;
3502    
3503    case 85:    case 85:
3504  #line 201 "lscp.y"  #line 199 "lscp.y"
3505      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }      { (yyval.String) = LSCPSERVER->GetMidiInstrumentMap((yyvsp[(5) - (5)].Number));                       }
3506      break;      break;
3507    
3508    case 86:    case 86:
3509  #line 202 "lscp.y"  #line 202 "lscp.y"
3510      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }      { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));      }
3511      break;      break;
3512    
3513    case 87:    case 87:
3514  #line 203 "lscp.y"  #line 203 "lscp.y"
3515      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3516      break;      break;
3517    
3518    case 88:    case 88:
3519  #line 206 "lscp.y"  #line 204 "lscp.y"
3520      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }      { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String));        }
3521      break;      break;
3522    
3523    case 89:    case 89:
3524  #line 209 "lscp.y"  #line 205 "lscp.y"
3525      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings(); }      { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String));      }
3526      break;      break;
3527    
3528    case 90:    case 90:
3529  #line 212 "lscp.y"  #line 206 "lscp.y"
3530      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }      { (yyval.String) = (yyvsp[(3) - (3)].String);                                                         }
3531      break;      break;
3532    
3533    case 91:    case 91:
3534  #line 213 "lscp.y"  #line 207 "lscp.y"
3535      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }      { (yyval.String) = LSCPSERVER->SetMidiInstrumentMapName((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].String));               }
3536      break;      break;
3537    
3538    case 92:    case 92:
3539  #line 216 "lscp.y"  #line 208 "lscp.y"
3540      { (yyval.String) = (yyvsp[(3) - (3)].String); }      { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum));  }
3541      break;      break;
3542    
3543    case 93:    case 93:
3544  #line 217 "lscp.y"  #line 211 "lscp.y"
3545      { (yyval.String) = (yyvsp[(3) - (3)].String); }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3546      break;      break;
3547    
3548    case 94:    case 94:
3549  #line 220 "lscp.y"  #line 212 "lscp.y"
3550      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }      { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String));    }
3551      break;      break;
3552    
3553    case 95:    case 95:
3554  #line 221 "lscp.y"  #line 213 "lscp.y"
3555      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList));   }
3556      break;      break;
3557    
3558    case 96:    case 96:
3559  #line 222 "lscp.y"  #line 214 "lscp.y"
3560      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }      { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String));      }
3561      break;      break;
3562    
3563    case 97:    case 97:
3564  #line 223 "lscp.y"  #line 217 "lscp.y"
3565      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }      { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3566      break;      break;
3567    
3568    case 98:    case 98:
3569  #line 224 "lscp.y"  #line 220 "lscp.y"
3570      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }      { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings((yyvsp[(3) - (3)].Number));  }
3571      break;      break;
3572    
3573    case 99:    case 99:
3574  #line 225 "lscp.y"  #line 221 "lscp.y"
3575      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }      { (yyval.String) = LSCPSERVER->ClearAllMidiInstrumentMappings(); }
3576      break;      break;
3577    
3578    case 100:    case 100:
3579  #line 226 "lscp.y"  #line 224 "lscp.y"
3580      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }      { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3581      break;      break;
3582    
3583    case 101:    case 101:
3584  #line 227 "lscp.y"  #line 225 "lscp.y"
3585      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }      { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number));   }
3586      break;      break;
3587    
3588    case 102:    case 102:
3589  #line 228 "lscp.y"  #line 228 "lscp.y"
3590      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3591      break;      break;
3592    
3593    case 103:    case 103:
3594  #line 229 "lscp.y"  #line 229 "lscp.y"
3595      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }      { (yyval.String) = (yyvsp[(3) - (3)].String); }
3596      break;      break;
3597    
3598    case 104:    case 104:
3599  #line 230 "lscp.y"  #line 232 "lscp.y"
3600      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }      { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));      }
3601      break;      break;
3602    
3603    case 105:    case 105:
3604  #line 233 "lscp.y"  #line 233 "lscp.y"
3605      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }      { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3606      break;      break;
3607    
3608    case 106:    case 106:
3609  #line 234 "lscp.y"  #line 234 "lscp.y"
3610      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }      { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));        }
3611      break;      break;
3612    
3613    case 107:    case 107:
3614  #line 237 "lscp.y"  #line 235 "lscp.y"
3615      { (yyval.FillResponse) = fill_response_bytes;      }      { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number));      }
3616      break;      break;
3617    
3618    case 108:    case 108:
3619  #line 238 "lscp.y"  #line 236 "lscp.y"
3620      { (yyval.FillResponse) = fill_response_percentage; }      { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));        }
3621      break;      break;
3622    
3623    case 109:    case 109:
3624  #line 241 "lscp.y"  #line 237 "lscp.y"
3625      { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }      { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));          }
3626      break;      break;
3627    
3628    case 110:    case 110:
3629  #line 242 "lscp.y"  #line 238 "lscp.y"
3630      { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }      { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number));       }
3631      break;      break;
3632    
3633    case 111:    case 111:
3634  #line 243 "lscp.y"  #line 239 "lscp.y"
3635      { (yyval.String) = LSCPSERVER->ListChannels();                    }      { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number));          }
3636      break;      break;
3637    
3638    case 112:    case 112:
3639  #line 244 "lscp.y"  #line 240 "lscp.y"
3640      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }      { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));                 }
3641      break;      break;
3642    
3643    case 113:    case 113:
3644  #line 245 "lscp.y"  #line 241 "lscp.y"
3645      { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }      { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3646      break;      break;
3647    
3648    case 114:    case 114:
3649  #line 246 "lscp.y"  #line 242 "lscp.y"
3650      { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }      { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number));            }
3651      break;      break;
3652    
3653    case 115:    case 115:
3654  #line 247 "lscp.y"  #line 243 "lscp.y"
3655      { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings();      }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));             }
3656      break;      break;
3657    
3658    case 116:    case 116:
3659  #line 250 "lscp.y"  #line 244 "lscp.y"
3660      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -1);             }
3661      break;      break;
3662    
3663    case 117:    case 117:
3664  #line 251 "lscp.y"  #line 245 "lscp.y"
3665      { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }      { (yyval.String) = LSCPSERVER->SetChannelMap((yyvsp[(3) - (5)].Number), -2);             }
3666      break;      break;
3667    
3668    case 118:    case 118:
3669  #line 254 "lscp.y"  #line 248 "lscp.y"
3670      { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }      { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String);          }
3671      break;      break;
3672    
3673    case 119:    case 119:
3674  #line 257 "lscp.y"  #line 249 "lscp.y"
3675      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }      { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
3676      break;      break;
3677    
3678    case 120:    case 120:
3679  #line 258 "lscp.y"  #line 252 "lscp.y"
3680      { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }      { (yyval.FillResponse) = fill_response_bytes;      }
3681      break;      break;
3682    
3683    case 121:    case 121:
3684    #line 253 "lscp.y"
3685        { (yyval.FillResponse) = fill_response_percentage; }
3686        break;
3687    
3688      case 122:
3689    #line 256 "lscp.y"
3690        { (yyval.String) = LSCPSERVER->GetAudioOutputDevices();           }
3691        break;
3692    
3693      case 123:
3694    #line 257 "lscp.y"
3695        { (yyval.String) = LSCPSERVER->GetMidiInputDevices();             }
3696        break;
3697    
3698      case 124:
3699    #line 258 "lscp.y"
3700        { (yyval.String) = LSCPSERVER->ListChannels();                    }
3701        break;
3702    
3703      case 125:
3704  #line 259 "lscp.y"  #line 259 "lscp.y"
3705      { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }      { (yyval.String) = LSCPSERVER->ListAvailableEngines();            }
3706        break;
3707    
3708      case 126:
3709    #line 260 "lscp.y"
3710        { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers();   }
3711      break;      break;
3712    
3713    case 127:    case 127:
3714    #line 261 "lscp.y"
3715        { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
3716        break;
3717    
3718      case 128:
3719    #line 262 "lscp.y"
3720        { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings((yyvsp[(3) - (3)].Number));    }
3721        break;
3722    
3723      case 129:
3724    #line 263 "lscp.y"
3725        { (yyval.String) = LSCPSERVER->ListAllMidiInstrumentMappings();   }
3726        break;
3727    
3728      case 130:
3729    #line 264 "lscp.y"
3730        { (yyval.String) = LSCPSERVER->ListMidiInstrumentMaps();          }
3731        break;
3732    
3733      case 131:
3734    #line 267 "lscp.y"
3735        { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number));       }
3736        break;
3737    
3738      case 132:
3739    #line 268 "lscp.y"
3740        { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
3741        break;
3742    
3743      case 133:
3744    #line 271 "lscp.y"
3745        { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
3746        break;
3747    
3748      case 134:
3749    #line 274 "lscp.y"
3750        { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND;      }
3751        break;
3752    
3753      case 135:
3754  #line 275 "lscp.y"  #line 275 "lscp.y"
3755        { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
3756        break;
3757    
3758      case 136:
3759    #line 276 "lscp.y"
3760        { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT;     }
3761        break;
3762    
3763      case 142:
3764    #line 292 "lscp.y"
3765      { (yyval.Number) = 16; }      { (yyval.Number) = 16; }
3766      break;      break;
3767    
3768    case 133:    case 148:
3769  #line 291 "lscp.y"  #line 308 "lscp.y"
3770      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3771      break;      break;
3772    
3773    case 140:    case 156:
3774  #line 310 "lscp.y"  #line 330 "lscp.y"
3775      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }      { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
3776      break;      break;
3777    
3778    case 143:    case 159:
3779  #line 315 "lscp.y"  #line 335 "lscp.y"
3780      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
3781      break;      break;
3782    
3783    case 144:    case 160:
3784  #line 316 "lscp.y"  #line 336 "lscp.y"
3785      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }      { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
3786      break;      break;
3787    
3788    case 145:    case 161:
3789  #line 324 "lscp.y"  #line 344 "lscp.y"
3790      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }      { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3791      break;      break;
3792    
3793    case 146:    case 162:
3794  #line 325 "lscp.y"  #line 345 "lscp.y"
3795      { (yyval.Dotnum) = -1; }      { (yyval.Dotnum) = -1; }
3796      break;      break;
3797    
3798    case 147:    case 163:
3799  #line 328 "lscp.y"  #line 348 "lscp.y"
3800      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }      { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
3801      break;      break;
3802    
3803    case 148:    case 164:
3804  #line 329 "lscp.y"  #line 349 "lscp.y"
3805      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char);                  }
3806      break;      break;
3807    
3808    case 149:    case 165:
3809  #line 332 "lscp.y"  #line 352 "lscp.y"
3810      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }      { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str());                         }
3811      break;      break;
3812    
3813    case 150:    case 166:
3814  #line 333 "lscp.y"  #line 353 "lscp.y"
3815      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }      { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
3816      break;      break;
3817    
3818    case 151:    case 167:
3819  #line 334 "lscp.y"  #line 354 "lscp.y"
3820      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }      { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str());                   }
3821      break;      break;
3822    
3823    case 152:    case 168:
3824  #line 338 "lscp.y"  #line 358 "lscp.y"
3825      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }      { (yyval.String) = (yyvsp[(1) - (1)].Char);      }
3826      break;      break;
3827    
3828    case 153:    case 169:
3829  #line 339 "lscp.y"  #line 359 "lscp.y"
3830      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
3831      break;      break;
3832    
3833    case 154:    case 170:
3834  #line 342 "lscp.y"  #line 362 "lscp.y"
3835      { (yyval.Char) = '0'; }      { (yyval.Char) = '0'; }
3836      break;      break;
3837    
3838    case 155:    case 171:
3839  #line 343 "lscp.y"  #line 363 "lscp.y"
3840      { (yyval.Char) = '1'; }      { (yyval.Char) = '1'; }
3841      break;      break;
3842    
3843    case 156:    case 172:
3844  #line 344 "lscp.y"  #line 364 "lscp.y"
3845      { (yyval.Char) = '2'; }      { (yyval.Char) = '2'; }
3846      break;      break;
3847    
3848    case 157:    case 173:
3849  #line 345 "lscp.y"  #line 365 "lscp.y"
3850      { (yyval.Char) = '3'; }      { (yyval.Char) = '3'; }
3851      break;      break;
3852    
3853    case 158:    case 174:
3854  #line 346 "lscp.y"  #line 366 "lscp.y"
3855      { (yyval.Char) = '4'; }      { (yyval.Char) = '4'; }
3856      break;      break;
3857    
3858    case 159:    case 175:
3859  #line 347 "lscp.y"  #line 367 "lscp.y"
3860      { (yyval.Char) = '5'; }      { (yyval.Char) = '5'; }
3861      break;      break;
3862    
3863    case 160:    case 176:
3864  #line 348 "lscp.y"  #line 368 "lscp.y"
3865      { (yyval.Char) = '6'; }      { (yyval.Char) = '6'; }
3866      break;      break;
3867    
3868    case 161:    case 177:
3869  #line 349 "lscp.y"  #line 369 "lscp.y"
3870      { (yyval.Char) = '7'; }      { (yyval.Char) = '7'; }
3871      break;      break;
3872    
3873    case 162:    case 178:
3874  #line 350 "lscp.y"  #line 370 "lscp.y"
3875      { (yyval.Char) = '8'; }      { (yyval.Char) = '8'; }
3876      break;      break;
3877    
3878    case 163:    case 179:
3879  #line 351 "lscp.y"  #line 371 "lscp.y"
3880      { (yyval.Char) = '9'; }      { (yyval.Char) = '9'; }
3881      break;      break;
3882    
3883    case 164:    case 180:
3884  #line 354 "lscp.y"  #line 374 "lscp.y"
3885      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }      { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str());      }
3886      break;      break;
3887    
3888    case 165:    case 181:
3889  #line 355 "lscp.y"  #line 375 "lscp.y"
3890      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
3891      break;      break;
3892    
3893    case 166:    case 182:
3894  #line 356 "lscp.y"  #line 376 "lscp.y"
3895      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
3896      break;      break;
3897    
3898    case 167:    case 183:
3899  #line 357 "lscp.y"  #line 377 "lscp.y"
3900      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
3901      break;      break;
3902    
3903    case 168:    case 184:
3904  #line 358 "lscp.y"  #line 378 "lscp.y"
3905      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
3906      break;      break;
3907    
3908    case 169:    case 185:
3909  #line 359 "lscp.y"  #line 379 "lscp.y"
3910      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
3911      break;      break;
3912    
3913    case 170:    case 186:
3914  #line 360 "lscp.y"  #line 380 "lscp.y"
3915      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
3916      break;      break;
3917    
3918    case 171:    case 187:
3919  #line 361 "lscp.y"  #line 381 "lscp.y"
3920      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
3921      break;      break;
3922    
3923    case 172:    case 188:
3924  #line 362 "lscp.y"  #line 382 "lscp.y"
3925      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
3926      break;      break;
3927    
3928    case 173:    case 189:
3929  #line 363 "lscp.y"  #line 383 "lscp.y"
3930      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }      { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
3931      break;      break;
3932    
3933    case 174:    case 190:
3934  #line 365 "lscp.y"  #line 385 "lscp.y"
3935      { (yyval.Char) = 'A'; }      { (yyval.Char) = 'A'; }
3936      break;      break;
3937    
3938    case 175:    case 191:
3939  #line 365 "lscp.y"  #line 385 "lscp.y"
3940      { (yyval.Char) = 'B'; }      { (yyval.Char) = 'B'; }
3941      break;      break;
3942    
3943    case 176:    case 192:
3944  #line 365 "lscp.y"  #line 385 "lscp.y"
3945      { (yyval.Char) = 'C'; }      { (yyval.Char) = 'C'; }
3946      break;      break;
3947    
3948    case 177:    case 193:
3949  #line 365 "lscp.y"  #line 385 "lscp.y"
3950      { (yyval.Char) = 'D'; }      { (yyval.Char) = 'D'; }
3951      break;      break;
3952    
3953    case 178:    case 194:
3954  #line 365 "lscp.y"  #line 385 "lscp.y"
3955      { (yyval.Char) = 'E'; }      { (yyval.Char) = 'E'; }
3956      break;      break;
3957    
3958    case 179:    case 195:
3959  #line 365 "lscp.y"  #line 385 "lscp.y"
3960      { (yyval.Char) = 'F'; }      { (yyval.Char) = 'F'; }
3961      break;      break;
3962    
3963    case 180:    case 196:
3964  #line 365 "lscp.y"  #line 385 "lscp.y"
3965      { (yyval.Char) = 'G'; }      { (yyval.Char) = 'G'; }
3966      break;      break;
3967    
3968    case 181:    case 197:
3969  #line 365 "lscp.y"  #line 385 "lscp.y"
3970      { (yyval.Char) = 'H'; }      { (yyval.Char) = 'H'; }
3971      break;      break;
3972    
3973    case 182:    case 198:
3974  #line 365 "lscp.y"  #line 385 "lscp.y"
3975      { (yyval.Char) = 'I'; }      { (yyval.Char) = 'I'; }
3976      break;      break;
3977    
3978    case 183:    case 199:
3979  #line 365 "lscp.y"  #line 385 "lscp.y"
3980      { (yyval.Char) = 'J'; }      { (yyval.Char) = 'J'; }
3981      break;      break;
3982    
3983    case 184:    case 200:
3984  #line 365 "lscp.y"  #line 385 "lscp.y"
3985      { (yyval.Char) = 'K'; }      { (yyval.Char) = 'K'; }
3986      break;      break;
3987    
3988    case 185:    case 201:
3989  #line 365 "lscp.y"  #line 385 "lscp.y"
3990      { (yyval.Char) = 'L'; }      { (yyval.Char) = 'L'; }
3991      break;      break;
3992    
3993    case 186:    case 202:
3994  #line 365 "lscp.y"  #line 385 "lscp.y"
3995      { (yyval.Char) = 'M'; }      { (yyval.Char) = 'M'; }
3996      break;      break;
3997    
3998    case 187:    case 203:
3999  #line 365 "lscp.y"  #line 385 "lscp.y"
4000      { (yyval.Char) = 'N'; }      { (yyval.Char) = 'N'; }
4001      break;      break;
4002    
4003    case 188:    case 204:
4004  #line 365 "lscp.y"  #line 385 "lscp.y"
4005      { (yyval.Char) = 'O'; }      { (yyval.Char) = 'O'; }
4006      break;      break;
4007    
4008    case 189:    case 205:
4009  #line 365 "lscp.y"  #line 385 "lscp.y"
4010      { (yyval.Char) = 'P'; }      { (yyval.Char) = 'P'; }
4011      break;      break;
4012    
4013    case 190:    case 206:
4014  #line 365 "lscp.y"  #line 385 "lscp.y"
4015      { (yyval.Char) = 'Q'; }      { (yyval.Char) = 'Q'; }
4016      break;      break;
4017    
4018    case 191:    case 207:
4019  #line 365 "lscp.y"  #line 385 "lscp.y"
4020      { (yyval.Char) = 'R'; }      { (yyval.Char) = 'R'; }
4021      break;      break;
4022    
4023    case 192:    case 208:
4024  #line 365 "lscp.y"  #line 385 "lscp.y"
4025      { (yyval.Char) = 'S'; }      { (yyval.Char) = 'S'; }
4026      break;      break;
4027    
4028    case 193:    case 209:
4029  #line 365 "lscp.y"  #line 385 "lscp.y"
4030      { (yyval.Char) = 'T'; }      { (yyval.Char) = 'T'; }
4031      break;      break;
4032    
4033    case 194:    case 210:
4034  #line 365 "lscp.y"  #line 385 "lscp.y"
4035      { (yyval.Char) = 'U'; }      { (yyval.Char) = 'U'; }
4036      break;      break;
4037    
4038    case 195:    case 211:
4039  #line 365 "lscp.y"  #line 385 "lscp.y"
4040      { (yyval.Char) = 'V'; }      { (yyval.Char) = 'V'; }
4041      break;      break;
4042    
4043    case 196:    case 212:
4044  #line 365 "lscp.y"  #line 385 "lscp.y"
4045      { (yyval.Char) = 'W'; }      { (yyval.Char) = 'W'; }
4046      break;      break;
4047    
4048    case 197:    case 213:
4049  #line 365 "lscp.y"  #line 385 "lscp.y"
4050      { (yyval.Char) = 'X'; }      { (yyval.Char) = 'X'; }
4051      break;      break;
4052    
4053    case 198:    case 214:
4054  #line 365 "lscp.y"  #line 385 "lscp.y"
4055      { (yyval.Char) = 'Y'; }      { (yyval.Char) = 'Y'; }
4056      break;      break;
4057    
4058    case 199:    case 215:
4059  #line 365 "lscp.y"  #line 385 "lscp.y"
4060      { (yyval.Char) = 'Z'; }      { (yyval.Char) = 'Z'; }
4061      break;      break;
4062    
4063    case 200:    case 216:
4064  #line 366 "lscp.y"  #line 386 "lscp.y"
4065      { (yyval.Char) = 'a'; }      { (yyval.Char) = 'a'; }
4066      break;      break;
4067    
4068    case 201:    case 217:
4069  #line 366 "lscp.y"  #line 386 "lscp.y"
4070      { (yyval.Char) = 'b'; }      { (yyval.Char) = 'b'; }
4071      break;      break;
4072    
4073    case 202:    case 218:
4074  #line 366 "lscp.y"  #line 386 "lscp.y"
4075      { (yyval.Char) = 'c'; }      { (yyval.Char) = 'c'; }
4076      break;      break;
4077    
4078    case 203:    case 219:
4079  #line 366 "lscp.y"  #line 386 "lscp.y"
4080      { (yyval.Char) = 'd'; }      { (yyval.Char) = 'd'; }
4081      break;      break;
4082    
4083    case 204:    case 220:
4084  #line 366 "lscp.y"  #line 386 "lscp.y"
4085      { (yyval.Char) = 'e'; }      { (yyval.Char) = 'e'; }
4086      break;      break;
4087    
4088    case 205:    case 221:
4089  #line 366 "lscp.y"  #line 386 "lscp.y"
4090      { (yyval.Char) = 'f'; }      { (yyval.Char) = 'f'; }
4091      break;      break;
4092    
4093    case 206:    case 222:
4094  #line 366 "lscp.y"  #line 386 "lscp.y"
4095      { (yyval.Char) = 'g'; }      { (yyval.Char) = 'g'; }
4096      break;      break;
4097    
4098    case 207:    case 223:
4099  #line 366 "lscp.y"  #line 386 "lscp.y"
4100      { (yyval.Char) = 'h'; }      { (yyval.Char) = 'h'; }
4101      break;      break;
4102    
4103    case 208:    case 224:
4104  #line 366 "lscp.y"  #line 386 "lscp.y"
4105      { (yyval.Char) = 'i'; }      { (yyval.Char) = 'i'; }
4106      break;      break;
4107    
4108    case 209:    case 225:
4109  #line 366 "lscp.y"  #line 386 "lscp.y"
4110      { (yyval.Char) = 'j'; }      { (yyval.Char) = 'j'; }
4111      break;      break;
4112    
4113    case 210:    case 226:
4114  #line 366 "lscp.y"  #line 386 "lscp.y"
4115      { (yyval.Char) = 'k'; }      { (yyval.Char) = 'k'; }
4116      break;      break;
4117    
4118    case 211:    case 227:
4119  #line 366 "lscp.y"  #line 386 "lscp.y"
4120      { (yyval.Char) = 'l'; }      { (yyval.Char) = 'l'; }
4121      break;      break;
4122    
4123    case 212:    case 228:
4124  #line 366 "lscp.y"  #line 386 "lscp.y"
4125      { (yyval.Char) = 'm'; }      { (yyval.Char) = 'm'; }
4126      break;      break;
4127    
4128    case 213:    case 229:
4129  #line 366 "lscp.y"  #line 386 "lscp.y"
4130      { (yyval.Char) = 'n'; }      { (yyval.Char) = 'n'; }
4131      break;      break;
4132    
4133    case 214:    case 230:
4134  #line 366 "lscp.y"  #line 386 "lscp.y"
4135      { (yyval.Char) = 'o'; }      { (yyval.Char) = 'o'; }
4136      break;      break;
4137    
4138    case 215:    case 231:
4139  #line 366 "lscp.y"  #line 386 "lscp.y"
4140      { (yyval.Char) = 'p'; }      { (yyval.Char) = 'p'; }
4141      break;      break;
4142    
4143    case 216:    case 232:
4144  #line 366 "lscp.y"  #line 386 "lscp.y"
4145      { (yyval.Char) = 'q'; }      { (yyval.Char) = 'q'; }
4146      break;      break;
4147    
4148    case 217:    case 233:
4149  #line 366 "lscp.y"  #line 386 "lscp.y"
4150      { (yyval.Char) = 'r'; }      { (yyval.Char) = 'r'; }
4151      break;      break;
4152    
4153    case 218:    case 234:
4154  #line 366 "lscp.y"  #line 386 "lscp.y"
4155      { (yyval.Char) = 's'; }      { (yyval.Char) = 's'; }
4156      break;      break;
4157    
4158    case 219:    case 235:
4159  #line 366 "lscp.y"  #line 386 "lscp.y"
4160      { (yyval.Char) = 't'; }      { (yyval.Char) = 't'; }
4161      break;      break;
4162    
4163    case 220:    case 236:
4164  #line 366 "lscp.y"  #line 386 "lscp.y"
4165      { (yyval.Char) = 'u'; }      { (yyval.Char) = 'u'; }
4166      break;      break;
4167    
4168    case 221:    case 237:
4169  #line 366 "lscp.y"  #line 386 "lscp.y"
4170      { (yyval.Char) = 'v'; }      { (yyval.Char) = 'v'; }
4171      break;      break;
4172    
4173    case 222:    case 238:
4174  #line 366 "lscp.y"  #line 386 "lscp.y"
4175      { (yyval.Char) = 'w'; }      { (yyval.Char) = 'w'; }
4176      break;      break;
4177    
4178    case 223:    case 239:
4179  #line 366 "lscp.y"  #line 386 "lscp.y"
4180      { (yyval.Char) = 'x'; }      { (yyval.Char) = 'x'; }
4181      break;      break;
4182    
4183    case 224:    case 240:
4184  #line 366 "lscp.y"  #line 386 "lscp.y"
4185      { (yyval.Char) = 'y'; }      { (yyval.Char) = 'y'; }
4186      break;      break;
4187    
4188    case 225:    case 241:
4189  #line 366 "lscp.y"  #line 386 "lscp.y"
4190      { (yyval.Char) = 'z'; }      { (yyval.Char) = 'z'; }
4191      break;      break;
4192    
4193    case 226:    case 242:
4194  #line 367 "lscp.y"  #line 387 "lscp.y"
4195      { (yyval.Char) = '0'; }      { (yyval.Char) = '0'; }
4196      break;      break;
4197    
4198    case 227:    case 243:
4199  #line 367 "lscp.y"  #line 387 "lscp.y"
4200      { (yyval.Char) = '1'; }      { (yyval.Char) = '1'; }
4201      break;      break;
4202    
4203    case 228:    case 244:
4204  #line 367 "lscp.y"  #line 387 "lscp.y"
4205      { (yyval.Char) = '2'; }      { (yyval.Char) = '2'; }
4206      break;      break;
4207    
4208    case 229:    case 245:
4209  #line 367 "lscp.y"  #line 387 "lscp.y"
4210      { (yyval.Char) = '3'; }      { (yyval.Char) = '3'; }
4211      break;      break;
4212    
4213    case 230:    case 246:
4214  #line 367 "lscp.y"  #line 387 "lscp.y"
4215      { (yyval.Char) = '4'; }      { (yyval.Char) = '4'; }
4216      break;      break;
4217    
4218    case 231:    case 247:
4219  #line 367 "lscp.y"  #line 387 "lscp.y"
4220      { (yyval.Char) = '5'; }      { (yyval.Char) = '5'; }
4221      break;      break;
4222    
4223    case 232:    case 248:
4224  #line 367 "lscp.y"  #line 387 "lscp.y"
4225      { (yyval.Char) = '6'; }      { (yyval.Char) = '6'; }
4226      break;      break;
4227    
4228    case 233:    case 249:
4229  #line 367 "lscp.y"  #line 387 "lscp.y"
4230      { (yyval.Char) = '7'; }      { (yyval.Char) = '7'; }
4231      break;      break;
4232    
4233    case 234:    case 250:
4234  #line 367 "lscp.y"  #line 387 "lscp.y"
4235      { (yyval.Char) = '8'; }      { (yyval.Char) = '8'; }
4236      break;      break;
4237    
4238    case 235:    case 251:
4239  #line 367 "lscp.y"  #line 387 "lscp.y"
4240      { (yyval.Char) = '9'; }      { (yyval.Char) = '9'; }
4241      break;      break;
4242    
4243    case 236:    case 252:
4244  #line 368 "lscp.y"  #line 388 "lscp.y"
4245      { (yyval.Char) = '!'; }      { (yyval.Char) = '!'; }
4246      break;      break;
4247    
4248    case 237:    case 253:
4249  #line 368 "lscp.y"  #line 388 "lscp.y"
4250      { (yyval.Char) = '#'; }      { (yyval.Char) = '#'; }
4251      break;      break;
4252    
4253    case 238:    case 254:
4254  #line 368 "lscp.y"  #line 388 "lscp.y"
4255      { (yyval.Char) = '$'; }      { (yyval.Char) = '$'; }
4256      break;      break;
4257    
4258    case 239:    case 255:
4259  #line 368 "lscp.y"  #line 388 "lscp.y"
4260      { (yyval.Char) = '%'; }      { (yyval.Char) = '%'; }
4261      break;      break;
4262    
4263    case 240:    case 256:
4264  #line 368 "lscp.y"  #line 388 "lscp.y"
4265      { (yyval.Char) = '&'; }      { (yyval.Char) = '&'; }
4266      break;      break;
4267    
4268    case 241:    case 257:
4269  #line 368 "lscp.y"  #line 388 "lscp.y"
4270      { (yyval.Char) = '('; }      { (yyval.Char) = '('; }
4271      break;      break;
4272    
4273    case 242:    case 258:
4274  #line 368 "lscp.y"  #line 388 "lscp.y"
4275      { (yyval.Char) = ')'; }      { (yyval.Char) = ')'; }
4276      break;      break;
4277    
4278    case 243:    case 259:
4279  #line 368 "lscp.y"  #line 388 "lscp.y"
4280      { (yyval.Char) = '*'; }      { (yyval.Char) = '*'; }
4281      break;      break;
4282    
4283    case 244:    case 260:
4284  #line 368 "lscp.y"  #line 388 "lscp.y"
4285      { (yyval.Char) = '+'; }      { (yyval.Char) = '+'; }
4286      break;      break;
4287    
4288    case 245:    case 261:
4289  #line 368 "lscp.y"  #line 388 "lscp.y"
4290      { (yyval.Char) = '-'; }      { (yyval.Char) = '-'; }
4291      break;      break;
4292    
4293    case 246:    case 262:
4294  #line 368 "lscp.y"  #line 388 "lscp.y"
4295      { (yyval.Char) = '.'; }      { (yyval.Char) = '.'; }
4296      break;      break;
4297    
4298    case 247:    case 263:
4299  #line 368 "lscp.y"  #line 388 "lscp.y"
4300      { (yyval.Char) = ','; }      { (yyval.Char) = ','; }
4301      break;      break;
4302    
4303    case 248:    case 264:
4304  #line 368 "lscp.y"  #line 388 "lscp.y"
4305      { (yyval.Char) = '/'; }      { (yyval.Char) = '/'; }
4306      break;      break;
4307    
4308    case 249:    case 265:
4309  #line 369 "lscp.y"  #line 389 "lscp.y"
4310      { (yyval.Char) = ':'; }      { (yyval.Char) = ':'; }
4311      break;      break;
4312    
4313    case 250:    case 266:
4314  #line 369 "lscp.y"  #line 389 "lscp.y"
4315      { (yyval.Char) = ';'; }      { (yyval.Char) = ';'; }
4316      break;      break;
4317    
4318    case 251:    case 267:
4319  #line 369 "lscp.y"  #line 389 "lscp.y"
4320      { (yyval.Char) = '<'; }      { (yyval.Char) = '<'; }
4321      break;      break;
4322    
4323    case 252:    case 268:
4324  #line 369 "lscp.y"  #line 389 "lscp.y"
4325      { (yyval.Char) = '='; }      { (yyval.Char) = '='; }
4326      break;      break;
4327    
4328    case 253:    case 269:
4329  #line 369 "lscp.y"  #line 389 "lscp.y"
4330      { (yyval.Char) = '>'; }      { (yyval.Char) = '>'; }
4331      break;      break;
4332    
4333    case 254:    case 270:
4334  #line 369 "lscp.y"  #line 389 "lscp.y"
4335      { (yyval.Char) = '?'; }      { (yyval.Char) = '?'; }
4336      break;      break;
4337    
4338    case 255:    case 271:
4339  #line 369 "lscp.y"  #line 389 "lscp.y"
4340      { (yyval.Char) = '@'; }      { (yyval.Char) = '@'; }
4341      break;      break;
4342    
4343    case 256:    case 272:
4344  #line 370 "lscp.y"  #line 390 "lscp.y"
4345      { (yyval.Char) = '['; }      { (yyval.Char) = '['; }
4346      break;      break;
4347    
4348    case 257:    case 273:
4349  #line 370 "lscp.y"  #line 390 "lscp.y"
4350      { (yyval.Char) = '\\'; }      { (yyval.Char) = '\\'; }
4351      break;      break;
4352    
4353    case 258:    case 274:
4354  #line 370 "lscp.y"  #line 390 "lscp.y"
4355      { (yyval.Char) = ']'; }      { (yyval.Char) = ']'; }
4356      break;      break;
4357    
4358    case 259:    case 275:
4359  #line 370 "lscp.y"  #line 390 "lscp.y"
4360      { (yyval.Char) = '^'; }      { (yyval.Char) = '^'; }
4361      break;      break;
4362    
4363    case 260:    case 276:
4364  #line 370 "lscp.y"  #line 390 "lscp.y"
4365      { (yyval.Char) = '_'; }      { (yyval.Char) = '_'; }
4366      break;      break;
4367    
4368    case 261:    case 277:
4369  #line 371 "lscp.y"  #line 391 "lscp.y"
4370      { (yyval.Char) = '{'; }      { (yyval.Char) = '{'; }
4371      break;      break;
4372    
4373    case 262:    case 278:
4374  #line 371 "lscp.y"  #line 391 "lscp.y"
4375      { (yyval.Char) = '|'; }      { (yyval.Char) = '|'; }
4376      break;      break;
4377    
4378    case 263:    case 279:
4379  #line 371 "lscp.y"  #line 391 "lscp.y"
4380      { (yyval.Char) = '}'; }      { (yyval.Char) = '}'; }
4381      break;      break;
4382    
4383    case 264:    case 280:
4384  #line 371 "lscp.y"  #line 391 "lscp.y"
4385      { (yyval.Char) = '~'; }      { (yyval.Char) = '~'; }
4386      break;      break;
4387    
4388    case 265:    case 281:
4389  #line 372 "lscp.y"  #line 392 "lscp.y"
4390      { (yyval.Char) = '\200'; }      { (yyval.Char) = '\200'; }
4391      break;      break;
4392    
4393    case 266:    case 282:
4394  #line 372 "lscp.y"  #line 392 "lscp.y"
4395      { (yyval.Char) = '\201'; }      { (yyval.Char) = '\201'; }
4396      break;      break;
4397    
4398    case 267:    case 283:
4399  #line 372 "lscp.y"  #line 392 "lscp.y"
4400      { (yyval.Char) = '\202'; }      { (yyval.Char) = '\202'; }
4401      break;      break;
4402    
4403    case 268:    case 284:
4404  #line 373 "lscp.y"  #line 393 "lscp.y"
4405      { (yyval.Char) = '\203'; }      { (yyval.Char) = '\203'; }
4406      break;      break;
4407    
4408    case 269:    case 285:
4409  #line 373 "lscp.y"  #line 393 "lscp.y"
4410      { (yyval.Char) = '\204'; }      { (yyval.Char) = '\204'; }
4411      break;      break;
4412    
4413    case 270:    case 286:
4414  #line 373 "lscp.y"  #line 393 "lscp.y"
4415      { (yyval.Char) = '\205'; }      { (yyval.Char) = '\205'; }
4416      break;      break;
4417    
4418    case 271:    case 287:
4419  #line 374 "lscp.y"  #line 394 "lscp.y"
4420      { (yyval.Char) = '\206'; }      { (yyval.Char) = '\206'; }
4421      break;      break;
4422    
4423    case 272:    case 288:
4424  #line 374 "lscp.y"  #line 394 "lscp.y"
4425      { (yyval.Char) = '\207'; }      { (yyval.Char) = '\207'; }
4426      break;      break;
4427    
4428    case 273:    case 289:
4429  #line 374 "lscp.y"  #line 394 "lscp.y"
4430      { (yyval.Char) = '\210'; }      { (yyval.Char) = '\210'; }
4431      break;      break;
4432    
4433    case 274:    case 290:
4434  #line 375 "lscp.y"  #line 395 "lscp.y"
4435      { (yyval.Char) = '\211'; }      { (yyval.Char) = '\211'; }
4436      break;      break;
4437    
4438    case 275:    case 291:
4439  #line 375 "lscp.y"  #line 395 "lscp.y"
4440      { (yyval.Char) = '\212'; }      { (yyval.Char) = '\212'; }
4441      break;      break;
4442    
4443    case 276:    case 292:
4444  #line 375 "lscp.y"  #line 395 "lscp.y"
4445      { (yyval.Char) = '\213'; }      { (yyval.Char) = '\213'; }
4446      break;      break;
4447    
4448    case 277:    case 293:
4449  #line 376 "lscp.y"  #line 396 "lscp.y"
4450      { (yyval.Char) = '\214'; }      { (yyval.Char) = '\214'; }
4451      break;      break;
4452    
4453    case 278:    case 294:
4454  #line 376 "lscp.y"  #line 396 "lscp.y"
4455      { (yyval.Char) = '\215'; }      { (yyval.Char) = '\215'; }
4456      break;      break;
4457    
4458    case 279:    case 295:
4459  #line 376 "lscp.y"  #line 396 "lscp.y"
4460      { (yyval.Char) = '\216'; }      { (yyval.Char) = '\216'; }
4461      break;      break;
4462    
4463    case 280:    case 296:
4464  #line 377 "lscp.y"  #line 397 "lscp.y"
4465      { (yyval.Char) = '\217'; }      { (yyval.Char) = '\217'; }
4466      break;      break;
4467    
4468    case 281:    case 297:
4469  #line 377 "lscp.y"  #line 397 "lscp.y"
4470      { (yyval.Char) = '\220'; }      { (yyval.Char) = '\220'; }
4471      break;      break;
4472    
4473    case 282:    case 298:
4474  #line 377 "lscp.y"  #line 397 "lscp.y"
4475      { (yyval.Char) = '\221'; }      { (yyval.Char) = '\221'; }
4476      break;      break;
4477    
4478    case 283:    case 299:
4479  #line 378 "lscp.y"  #line 398 "lscp.y"
4480      { (yyval.Char) = '\222'; }      { (yyval.Char) = '\222'; }
4481      break;      break;
4482    
4483    case 284:    case 300:
4484  #line 378 "lscp.y"  #line 398 "lscp.y"
4485      { (yyval.Char) = '\223'; }      { (yyval.Char) = '\223'; }
4486      break;      break;
4487    
4488    case 285:    case 301:
4489  #line 378 "lscp.y"  #line 398 "lscp.y"
4490      { (yyval.Char) = '\224'; }      { (yyval.Char) = '\224'; }
4491      break;      break;
4492    
4493    case 286:    case 302:
4494  #line 379 "lscp.y"  #line 399 "lscp.y"
4495      { (yyval.Char) = '\225'; }      { (yyval.Char) = '\225'; }
4496      break;      break;
4497    
4498    case 287:    case 303:
4499  #line 379 "lscp.y"  #line 399 "lscp.y"
4500      { (yyval.Char) = '\226'; }      { (yyval.Char) = '\226'; }
4501      break;      break;
4502    
4503    case 288:    case 304:
4504  #line 379 "lscp.y"  #line 399 "lscp.y"
4505      { (yyval.Char) = '\227'; }      { (yyval.Char) = '\227'; }
4506      break;      break;
4507    
4508    case 289:    case 305:
4509  #line 380 "lscp.y"  #line 400 "lscp.y"
4510      { (yyval.Char) = '\230'; }      { (yyval.Char) = '\230'; }
4511      break;      break;
4512    
4513    case 290:    case 306:
4514  #line 380 "lscp.y"  #line 400 "lscp.y"
4515      { (yyval.Char) = '\231'; }      { (yyval.Char) = '\231'; }
4516      break;      break;
4517    
4518    case 291:    case 307:
4519  #line 380 "lscp.y"  #line 400 "lscp.y"
4520      { (yyval.Char) = '\232'; }      { (yyval.Char) = '\232'; }
4521      break;      break;
4522    
4523    case 292:    case 308:
4524  #line 381 "lscp.y"  #line 401 "lscp.y"
4525      { (yyval.Char) = '\233'; }      { (yyval.Char) = '\233'; }
4526      break;      break;
4527    
4528    case 293:    case 309:
4529  #line 381 "lscp.y"  #line 401 "lscp.y"
4530      { (yyval.Char) = '\234'; }      { (yyval.Char) = '\234'; }
4531      break;      break;
4532    
4533    case 294:    case 310:
4534  #line 381 "lscp.y"  #line 401 "lscp.y"
4535      { (yyval.Char) = '\235'; }      { (yyval.Char) = '\235'; }
4536      break;      break;
4537    
4538    case 295:    case 311:
4539  #line 382 "lscp.y"  #line 402 "lscp.y"
4540      { (yyval.Char) = '\236'; }      { (yyval.Char) = '\236'; }
4541      break;      break;
4542    
4543    case 296:    case 312:
4544  #line 382 "lscp.y"  #line 402 "lscp.y"
4545      { (yyval.Char) = '\237'; }      { (yyval.Char) = '\237'; }
4546      break;      break;
4547    
4548    case 297:    case 313:
4549  #line 382 "lscp.y"  #line 402 "lscp.y"
4550      { (yyval.Char) = '\240'; }      { (yyval.Char) = '\240'; }
4551      break;      break;
4552    
4553    case 298:    case 314:
4554  #line 383 "lscp.y"  #line 403 "lscp.y"
4555      { (yyval.Char) = '\241'; }      { (yyval.Char) = '\241'; }
4556      break;      break;
4557    
4558    case 299:    case 315:
4559  #line 383 "lscp.y"  #line 403 "lscp.y"
4560      { (yyval.Char) = '\242'; }      { (yyval.Char) = '\242'; }
4561      break;      break;
4562    
4563    case 300:    case 316:
4564  #line 383 "lscp.y"  #line 403 "lscp.y"
4565      { (yyval.Char) = '\243'; }      { (yyval.Char) = '\243'; }
4566      break;      break;
4567    
4568    case 301:    case 317:
4569  #line 384 "lscp.y"  #line 404 "lscp.y"
4570      { (yyval.Char) = '\244'; }      { (yyval.Char) = '\244'; }
4571      break;      break;
4572    
4573    case 302:    case 318:
4574  #line 384 "lscp.y"  #line 404 "lscp.y"
4575      { (yyval.Char) = '\245'; }      { (yyval.Char) = '\245'; }
4576      break;      break;
4577    
4578    case 303:    case 319:
4579  #line 384 "lscp.y"  #line 404 "lscp.y"
4580      { (yyval.Char) = '\246'; }      { (yyval.Char) = '\246'; }
4581      break;      break;
4582    
4583    case 304:    case 320:
4584  #line 385 "lscp.y"  #line 405 "lscp.y"
4585      { (yyval.Char) = '\247'; }      { (yyval.Char) = '\247'; }
4586      break;      break;
4587    
4588    case 305:    case 321:
4589  #line 385 "lscp.y"  #line 405 "lscp.y"
4590      { (yyval.Char) = '\250'; }      { (yyval.Char) = '\250'; }
4591      break;      break;
4592    
4593    case 306:    case 322:
4594  #line 385 "lscp.y"  #line 405 "lscp.y"
4595      { (yyval.Char) = '\251'; }      { (yyval.Char) = '\251'; }
4596      break;      break;
4597    
4598    case 307:    case 323:
4599  #line 386 "lscp.y"  #line 406 "lscp.y"
4600      { (yyval.Char) = '\252'; }      { (yyval.Char) = '\252'; }
4601      break;      break;
4602    
4603    case 308:    case 324:
4604  #line 386 "lscp.y"  #line 406 "lscp.y"
4605      { (yyval.Char) = '\253'; }      { (yyval.Char) = '\253'; }
4606      break;      break;
4607    
4608    case 309:    case 325:
4609  #line 386 "lscp.y"  #line 406 "lscp.y"
4610      { (yyval.Char) = '\254'; }      { (yyval.Char) = '\254'; }
4611      break;      break;
4612    
4613    case 310:    case 326:
4614  #line 387 "lscp.y"  #line 407 "lscp.y"
4615      { (yyval.Char) = '\255'; }      { (yyval.Char) = '\255'; }
4616      break;      break;
4617    
4618    case 311:    case 327:
4619  #line 387 "lscp.y"  #line 407 "lscp.y"
4620      { (yyval.Char) = '\256'; }      { (yyval.Char) = '\256'; }
4621      break;      break;
4622    
4623    case 312:    case 328:
4624  #line 387 "lscp.y"  #line 407 "lscp.y"
4625      { (yyval.Char) = '\257'; }      { (yyval.Char) = '\257'; }
4626      break;      break;
4627    
4628    case 313:    case 329:
4629  #line 388 "lscp.y"  #line 408 "lscp.y"
4630      { (yyval.Char) = '\260'; }      { (yyval.Char) = '\260'; }
4631      break;      break;
4632    
4633    case 314:    case 330:
4634  #line 388 "lscp.y"  #line 408 "lscp.y"
4635      { (yyval.Char) = '\261'; }      { (yyval.Char) = '\261'; }
4636      break;      break;
4637    
4638    case 315:    case 331:
4639  #line 388 "lscp.y"  #line 408 "lscp.y"
4640      { (yyval.Char) = '\262'; }      { (yyval.Char) = '\262'; }
4641      break;      break;
4642    
4643    case 316:    case 332:
4644  #line 389 "lscp.y"  #line 409 "lscp.y"
4645      { (yyval.Char) = '\263'; }      { (yyval.Char) = '\263'; }
4646      break;      break;
4647    
4648    case 317:    case 333:
4649  #line 389 "lscp.y"  #line 409 "lscp.y"
4650      { (yyval.Char) = '\264'; }      { (yyval.Char) = '\264'; }
4651      break;      break;
4652    
4653    case 318:    case 334:
4654  #line 389 "lscp.y"  #line 409 "lscp.y"
4655      { (yyval.Char) = '\265'; }      { (yyval.Char) = '\265'; }
4656      break;      break;
4657    
4658    case 319:    case 335:
4659  #line 390 "lscp.y"  #line 410 "lscp.y"
4660      { (yyval.Char) = '\266'; }      { (yyval.Char) = '\266'; }
4661      break;      break;
4662    
4663    case 320:    case 336:
4664  #line 390 "lscp.y"  #line 410 "lscp.y"
4665      { (yyval.Char) = '\267'; }      { (yyval.Char) = '\267'; }
4666      break;      break;
4667    
4668    case 321:    case 337:
4669  #line 390 "lscp.y"  #line 410 "lscp.y"
4670      { (yyval.Char) = '\270'; }      { (yyval.Char) = '\270'; }
4671      break;      break;
4672    
4673    case 322:    case 338:
4674  #line 391 "lscp.y"  #line 411 "lscp.y"
4675      { (yyval.Char) = '\271'; }      { (yyval.Char) = '\271'; }
4676      break;      break;
4677    
4678    case 323:    case 339:
4679  #line 391 "lscp.y"  #line 411 "lscp.y"
4680      { (yyval.Char) = '\272'; }      { (yyval.Char) = '\272'; }
4681      break;      break;
4682    
4683    case 324:    case 340:
4684  #line 391 "lscp.y"  #line 411 "lscp.y"
4685      { (yyval.Char) = '\273'; }      { (yyval.Char) = '\273'; }
4686      break;      break;
4687    
4688    case 325:    case 341:
4689  #line 392 "lscp.y"  #line 412 "lscp.y"
4690      { (yyval.Char) = '\274'; }      { (yyval.Char) = '\274'; }
4691      break;      break;
4692    
4693    case 326:    case 342:
4694  #line 392 "lscp.y"  #line 412 "lscp.y"
4695      { (yyval.Char) = '\275'; }      { (yyval.Char) = '\275'; }
4696      break;      break;
4697    
4698    case 327:    case 343:
4699  #line 392 "lscp.y"  #line 412 "lscp.y"
4700      { (yyval.Char) = '\276'; }      { (yyval.Char) = '\276'; }
4701      break;      break;
4702    
4703    case 328:    case 344:
4704  #line 393 "lscp.y"  #line 413 "lscp.y"
4705      { (yyval.Char) = '\277'; }      { (yyval.Char) = '\277'; }
4706      break;      break;
4707    
4708    case 329:    case 345:
4709  #line 393 "lscp.y"  #line 413 "lscp.y"
4710      { (yyval.Char) = '\300'; }      { (yyval.Char) = '\300'; }
4711      break;      break;
4712    
4713    case 330:    case 346:
4714  #line 393 "lscp.y"  #line 413 "lscp.y"
4715      { (yyval.Char) = '\301'; }      { (yyval.Char) = '\301'; }
4716      break;      break;
4717    
4718    case 331:    case 347:
4719  #line 394 "lscp.y"  #line 414 "lscp.y"
4720      { (yyval.Char) = '\302'; }      { (yyval.Char) = '\302'; }
4721      break;      break;
4722    
4723    case 332:    case 348:
4724  #line 394 "lscp.y"  #line 414 "lscp.y"
4725      { (yyval.Char) = '\303'; }      { (yyval.Char) = '\303'; }
4726      break;      break;
4727    
4728    case 333:    case 349:
4729  #line 394 "lscp.y"  #line 414 "lscp.y"
4730      { (yyval.Char) = '\304'; }      { (yyval.Char) = '\304'; }
4731      break;      break;
4732    
4733    case 334:    case 350:
4734  #line 395 "lscp.y"  #line 415 "lscp.y"
4735      { (yyval.Char) = '\305'; }      { (yyval.Char) = '\305'; }
4736      break;      break;
4737    
4738    case 335:    case 351:
4739  #line 395 "lscp.y"  #line 415 "lscp.y"
4740      { (yyval.Char) = '\306'; }      { (yyval.Char) = '\306'; }
4741      break;      break;
4742    
4743    case 336:    case 352:
4744  #line 395 "lscp.y"  #line 415 "lscp.y"
4745      { (yyval.Char) = '\307'; }      { (yyval.Char) = '\307'; }
4746      break;      break;
4747    
4748    case 337:    case 353:
4749  #line 396 "lscp.y"  #line 416 "lscp.y"
4750      { (yyval.Char) = '\310'; }      { (yyval.Char) = '\310'; }
4751      break;      break;
4752    
4753    case 338:    case 354:
4754  #line 396 "lscp.y"  #line 416 "lscp.y"
4755      { (yyval.Char) = '\311'; }      { (yyval.Char) = '\311'; }
4756      break;      break;
4757    
4758    case 339:    case 355:
4759  #line 396 "lscp.y"  #line 416 "lscp.y"
4760      { (yyval.Char) = '\312'; }      { (yyval.Char) = '\312'; }
4761      break;      break;
4762    
4763    case 340:    case 356:
4764  #line 397 "lscp.y"  #line 417 "lscp.y"
4765      { (yyval.Char) = '\313'; }      { (yyval.Char) = '\313'; }
4766      break;      break;
4767    
4768    case 341:    case 357:
4769  #line 397 "lscp.y"  #line 417 "lscp.y"
4770      { (yyval.Char) = '\314'; }      { (yyval.Char) = '\314'; }
4771      break;      break;
4772    
4773    case 342:    case 358:
4774  #line 397 "lscp.y"  #line 417 "lscp.y"
4775      { (yyval.Char) = '\315'; }      { (yyval.Char) = '\315'; }
4776      break;      break;
4777    
4778    case 343:    case 359:
4779  #line 398 "lscp.y"  #line 418 "lscp.y"
4780      { (yyval.Char) = '\316'; }      { (yyval.Char) = '\316'; }
4781      break;      break;
4782    
4783    case 344:    case 360:
4784  #line 398 "lscp.y"  #line 418 "lscp.y"
4785      { (yyval.Char) = '\317'; }      { (yyval.Char) = '\317'; }
4786      break;      break;
4787    
4788    case 345:    case 361:
4789  #line 398 "lscp.y"  #line 418 "lscp.y"
4790      { (yyval.Char) = '\320'; }      { (yyval.Char) = '\320'; }
4791      break;      break;
4792    
4793    case 346:    case 362:
4794  #line 399 "lscp.y"  #line 419 "lscp.y"
4795      { (yyval.Char) = '\321'; }      { (yyval.Char) = '\321'; }
4796      break;      break;
4797    
4798    case 347:    case 363:
4799  #line 399 "lscp.y"  #line 419 "lscp.y"
4800      { (yyval.Char) = '\322'; }      { (yyval.Char) = '\322'; }
4801      break;      break;
4802    
4803    case 348:    case 364:
4804  #line 399 "lscp.y"  #line 419 "lscp.y"
4805      { (yyval.Char) = '\323'; }      { (yyval.Char) = '\323'; }
4806      break;      break;
4807    
4808    case 349:    case 365:
4809  #line 400 "lscp.y"  #line 420 "lscp.y"
4810      { (yyval.Char) = '\324'; }      { (yyval.Char) = '\324'; }
4811      break;      break;
4812    
4813    case 350:    case 366:
4814  #line 400 "lscp.y"  #line 420 "lscp.y"
4815      { (yyval.Char) = '\325'; }      { (yyval.Char) = '\325'; }
4816      break;      break;
4817    
4818    case 351:    case 367:
4819  #line 400 "lscp.y"  #line 420 "lscp.y"
4820      { (yyval.Char) = '\326'; }      { (yyval.Char) = '\326'; }
4821      break;      break;
4822    
4823    case 352:    case 368:
4824  #line 401 "lscp.y"  #line 421 "lscp.y"
4825      { (yyval.Char) = '\327'; }      { (yyval.Char) = '\327'; }
4826      break;      break;
4827    
4828    case 353:    case 369:
4829  #line 401 "lscp.y"  #line 421 "lscp.y"
4830      { (yyval.Char) = '\330'; }      { (yyval.Char) = '\330'; }
4831      break;      break;
4832    
4833    case 354:    case 370:
4834  #line 401 "lscp.y"  #line 421 "lscp.y"
4835      { (yyval.Char) = '\331'; }      { (yyval.Char) = '\331'; }
4836      break;      break;
4837    
4838    case 355:    case 371:
4839  #line 402 "lscp.y"  #line 422 "lscp.y"
4840      { (yyval.Char) = '\332'; }      { (yyval.Char) = '\332'; }
4841      break;      break;
4842    
4843    case 356:    case 372:
4844  #line 402 "lscp.y"  #line 422 "lscp.y"
4845      { (yyval.Char) = '\333'; }      { (yyval.Char) = '\333'; }
4846      break;      break;
4847    
4848    case 357:    case 373:
4849  #line 402 "lscp.y"  #line 422 "lscp.y"
4850      { (yyval.Char) = '\334'; }      { (yyval.Char) = '\334'; }
4851      break;      break;
4852    
4853    case 358:    case 374:
4854  #line 403 "lscp.y"  #line 423 "lscp.y"
4855      { (yyval.Char) = '\335'; }      { (yyval.Char) = '\335'; }
4856      break;      break;
4857    
4858    case 359:    case 375:
4859  #line 403 "lscp.y"  #line 423 "lscp.y"
4860      { (yyval.Char) = '\336'; }      { (yyval.Char) = '\336'; }
4861      break;      break;
4862    
4863    case 360:    case 376:
4864  #line 403 "lscp.y"  #line 423 "lscp.y"
4865      { (yyval.Char) = '\337'; }      { (yyval.Char) = '\337'; }
4866      break;      break;
4867    
4868    case 361:    case 377:
4869  #line 404 "lscp.y"  #line 424 "lscp.y"
4870      { (yyval.Char) = '\340'; }      { (yyval.Char) = '\340'; }
4871      break;      break;
4872    
4873    case 362:    case 378:
4874  #line 404 "lscp.y"  #line 424 "lscp.y"
4875      { (yyval.Char) = '\341'; }      { (yyval.Char) = '\341'; }
4876      break;      break;
4877    
4878    case 363:    case 379:
4879  #line 404 "lscp.y"  #line 424 "lscp.y"
4880      { (yyval.Char) = '\342'; }      { (yyval.Char) = '\342'; }
4881      break;      break;
4882    
4883    case 364:    case 380:
4884  #line 405 "lscp.y"  #line 425 "lscp.y"
4885      { (yyval.Char) = '\343'; }      { (yyval.Char) = '\343'; }
4886      break;      break;
4887    
4888    case 365:    case 381:
4889  #line 405 "lscp.y"  #line 425 "lscp.y"
4890      { (yyval.Char) = '\344'; }      { (yyval.Char) = '\344'; }
4891      break;      break;
4892    
4893    case 366:    case 382:
4894  #line 405 "lscp.y"  #line 425 "lscp.y"
4895      { (yyval.Char) = '\345'; }      { (yyval.Char) = '\345'; }
4896      break;      break;
4897    
4898    case 367:    case 383:
4899  #line 406 "lscp.y"  #line 426 "lscp.y"
4900      { (yyval.Char) = '\346'; }      { (yyval.Char) = '\346'; }
4901      break;      break;
4902    
4903    case 368:    case 384:
4904  #line 406 "lscp.y"  #line 426 "lscp.y"
4905      { (yyval.Char) = '\347'; }      { (yyval.Char) = '\347'; }
4906      break;      break;
4907    
4908    case 369:    case 385:
4909  #line 406 "lscp.y"  #line 426 "lscp.y"
4910      { (yyval.Char) = '\350'; }      { (yyval.Char) = '\350'; }
4911      break;      break;
4912    
4913    case 370:    case 386:
4914  #line 407 "lscp.y"  #line 427 "lscp.y"
4915      { (yyval.Char) = '\351'; }      { (yyval.Char) = '\351'; }
4916      break;      break;
4917    
4918    case 371:    case 387:
4919  #line 407 "lscp.y"  #line 427 "lscp.y"
4920      { (yyval.Char) = '\352'; }      { (yyval.Char) = '\352'; }
4921      break;      break;
4922    
4923    case 372:    case 388:
4924  #line 407 "lscp.y"  #line 427 "lscp.y"
4925      { (yyval.Char) = '\353'; }      { (yyval.Char) = '\353'; }
4926      break;      break;
4927    
4928    case 373:    case 389:
4929  #line 408 "lscp.y"  #line 428 "lscp.y"
4930      { (yyval.Char) = '\354'; }      { (yyval.Char) = '\354'; }
4931      break;      break;
4932    
4933    case 374:    case 390:
4934  #line 408 "lscp.y"  #line 428 "lscp.y"
4935      { (yyval.Char) = '\355'; }      { (yyval.Char) = '\355'; }
4936      break;      break;
4937    
4938    case 375:    case 391:
4939  #line 408 "lscp.y"  #line 428 "lscp.y"
4940      { (yyval.Char) = '\356'; }      { (yyval.Char) = '\356'; }
4941      break;      break;
4942    
4943    case 376:    case 392:
4944  #line 409 "lscp.y"  #line 429 "lscp.y"
4945      { (yyval.Char) = '\357'; }      { (yyval.Char) = '\357'; }
4946      break;      break;
4947    
4948    case 377:    case 393:
4949  #line 409 "lscp.y"  #line 429 "lscp.y"
4950      { (yyval.Char) = '\360'; }      { (yyval.Char) = '\360'; }
4951      break;      break;
4952    
4953    case 378:    case 394:
4954  #line 409 "lscp.y"  #line 429 "lscp.y"
4955      { (yyval.Char) = '\361'; }      { (yyval.Char) = '\361'; }
4956      break;      break;
4957    
4958    case 379:    case 395:
4959  #line 410 "lscp.y"  #line 430 "lscp.y"
4960      { (yyval.Char) = '\362'; }      { (yyval.Char) = '\362'; }
4961      break;      break;
4962    
4963    case 380:    case 396:
4964  #line 410 "lscp.y"  #line 430 "lscp.y"
4965      { (yyval.Char) = '\363'; }      { (yyval.Char) = '\363'; }
4966      break;      break;
4967    
4968    case 381:    case 397:
4969  #line 410 "lscp.y"  #line 430 "lscp.y"
4970      { (yyval.Char) = '\364'; }      { (yyval.Char) = '\364'; }
4971      break;      break;
4972    
4973    case 382:    case 398:
4974  #line 411 "lscp.y"  #line 431 "lscp.y"
4975      { (yyval.Char) = '\365'; }      { (yyval.Char) = '\365'; }
4976      break;      break;
4977    
4978    case 383:    case 399:
4979  #line 411 "lscp.y"  #line 431 "lscp.y"
4980      { (yyval.Char) = '\366'; }      { (yyval.Char) = '\366'; }
4981      break;      break;
4982    
4983    case 384:    case 400:
4984  #line 411 "lscp.y"  #line 431 "lscp.y"
4985      { (yyval.Char) = '\367'; }      { (yyval.Char) = '\367'; }
4986      break;      break;
4987    
4988    case 385:    case 401:
4989  #line 412 "lscp.y"  #line 432 "lscp.y"
4990      { (yyval.Char) = '\370'; }      { (yyval.Char) = '\370'; }
4991      break;      break;
4992    
4993    case 386:    case 402:
4994  #line 412 "lscp.y"  #line 432 "lscp.y"
4995      { (yyval.Char) = '\371'; }      { (yyval.Char) = '\371'; }
4996      break;      break;
4997    
4998    case 387:    case 403:
4999  #line 412 "lscp.y"  #line 432 "lscp.y"
5000      { (yyval.Char) = '\372'; }      { (yyval.Char) = '\372'; }
5001      break;      break;
5002    
5003    case 388:    case 404:
5004  #line 413 "lscp.y"  #line 433 "lscp.y"
5005      { (yyval.Char) = '\373'; }      { (yyval.Char) = '\373'; }
5006      break;      break;
5007    
5008    case 389:    case 405:
5009  #line 413 "lscp.y"  #line 433 "lscp.y"
5010      { (yyval.Char) = '\374'; }      { (yyval.Char) = '\374'; }
5011      break;      break;
5012    
5013    case 390:    case 406:
5014  #line 413 "lscp.y"  #line 433 "lscp.y"
5015      { (yyval.Char) = '\375'; }      { (yyval.Char) = '\375'; }
5016      break;      break;
5017    
5018    case 391:    case 407:
5019  #line 414 "lscp.y"  #line 434 "lscp.y"
5020      { (yyval.Char) = '\376'; }      { (yyval.Char) = '\376'; }
5021      break;      break;
5022    
5023    case 392:    case 408:
5024  #line 414 "lscp.y"  #line 434 "lscp.y"
5025      { (yyval.Char) = '\377'; }      { (yyval.Char) = '\377'; }
5026      break;      break;
5027    
5028    case 393:    case 409:
5029  #line 417 "lscp.y"  #line 437 "lscp.y"
5030      { (yyval.String) = " ";      }      { (yyval.String) = " ";      }
5031      break;      break;
5032    
5033    case 395:    case 411:
5034  #line 419 "lscp.y"  #line 439 "lscp.y"
5035      { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }      { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
5036      break;      break;
5037    
5038    case 396:    case 412:
5039  #line 420 "lscp.y"  #line 440 "lscp.y"
5040      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }      { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String);  }
5041      break;      break;
5042    
5043    case 397:    case 413:
5044  #line 423 "lscp.y"  #line 443 "lscp.y"
5045      { (yyval.String) = (yyvsp[(2) - (3)].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
5046      break;      break;
5047    
5048    case 398:    case 414:
5049  #line 424 "lscp.y"  #line 444 "lscp.y"
5050      { (yyval.String) = (yyvsp[(2) - (3)].String); }      { (yyval.String) = (yyvsp[(2) - (3)].String); }
5051      break;      break;
5052    
5053    
5054  /* Line 1267 of yacc.c.  */  /* Line 1267 of yacc.c.  */
5055  #line 4920 "y.tab.c"  #line 5056 "y.tab.c"
5056        default: break;        default: break;
5057      }      }
5058    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
# Line 5129  yyreturn: Line 5265  yyreturn:
5265  }  }
5266    
5267    
5268  #line 631 "lscp.y"  #line 666 "lscp.y"
5269    
5270    
5271  /**  /**

Legend:
Removed from v.972  
changed lines
  Added in v.973

  ViewVC Help
Powered by ViewVC