Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/lex.cc

    r984dce6 rbd85400  
    382382        (yy_c_buf_p) = yy_cp;
    383383
    384 #define YY_NUM_RULES 180
    385 #define YY_END_OF_BUFFER 181
     384#define YY_NUM_RULES 179
     385#define YY_END_OF_BUFFER 180
    386386/* This struct is not used in this scanner,
    387387   but its presence is necessary. */
     
    391391        flex_int32_t yy_nxt;
    392392        };
    393 static yyconst flex_int16_t yy_accept[888] =
     393static yyconst flex_int16_t yy_accept[876] =
    394394    {   0,
    395         0,    0,    0,    0,    0,    0,  115,  115,  118,  118,
    396       181,  179,    7,    9,    8,  138,  117,  102,  143,  146,
    397       114,  125,  126,  141,  139,  129,  140,  132,  142,  107,
    398       108,  109,  130,  131,  148,  150,  149,  151,  179,  102,
    399       123,  179,  124,  144,  102,  104,  102,  102,  102,  102,
    400       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    401       102,  102,  127,  147,  128,  145,    7,  179,    4,    4,
    402       180,  105,  180,  106,  115,  116,  122,  118,  119,    7,
    403         9,    0,    8,  155,  174,  102,    0,  167,  137,  160,
    404       168,  165,  152,  163,  153,  164,  162,    0,  112,    3,
    405 
    406         0,  166,  112,  110,    0,    0,  110,  110,    0,    0,
    407       110,  109,  109,  109,    0,  109,  135,  136,  134,  156,
    408       158,  154,  159,  157,    0,    0,    0,    0,    0,    0,
    409         0,    0,    0,    0,    0,    0,    0,    0,    0,  103,
    410       173,    0,  117,  114,  102,    0,    0,  170,    0,  102,
    411       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    412       102,  102,  102,  102,  102,  102,   38,  102,  102,  102,
    413       102,  102,  102,  102,  102,  102,  102,   56,  102,  102,
    414       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    415       102,  102,  102,  102,  169,  161,    7,    0,    0,    0,
    416 
    417         2,    0,    5,  105,    0,    0,    0,  115,    0,  121,
    418       120,  120,    0,    0,    0,  118,    0,    0,    0,    0,
     395        0,    0,    0,    0,    0,    0,  114,  114,  117,  117,
     396      180,  178,    7,    9,    8,  137,  116,  101,  142,  145,
     397      113,  124,  125,  140,  138,  128,  139,  131,  141,  106,
     398      107,  108,  129,  130,  147,  149,  148,  150,  178,  101,
     399      122,  178,  123,  143,  101,  103,  101,  101,  101,  101,
     400      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     401      101,  126,  146,  127,  144,    7,  178,    4,    4,  179,
     402      104,  179,  105,  114,  115,  121,  117,  118,    7,    9,
     403        0,    8,  154,  173,  101,    0,  166,  136,  159,  167,
     404      164,  151,  162,  152,  163,  161,    0,  111,    3,    0,
     405
     406      165,  111,  109,    0,    0,  109,  109,    0,    0,  109,
     407      108,  108,  108,    0,  108,  134,  135,  133,  155,  157,
     408      153,  158,  156,    0,    0,    0,    0,    0,    0,    0,
     409        0,    0,    0,    0,    0,    0,    0,    0,  102,  172,
     410        0,  116,  113,  101,    0,    0,  169,    0,  101,  101,
     411      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     412      101,  101,  101,  101,  101,   39,  101,  101,  101,  101,
     413      101,  101,  101,  101,  101,  101,   57,  101,  101,  101,
     414      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     415      101,  101,  168,  160,    7,    0,    0,    0,    2,    0,
     416
     417        5,  104,    0,    0,    0,  114,    0,  120,  119,  119,
     418        0,    0,    0,  117,    0,    0,    0,    0,    0,    0,
     419        0,    0,    0,    0,    0,    0,    0,    0,    0,  132,
     420      111,  111,    0,  111,  111,  111,    0,    6,  111,  109,
     421        0,    0,    0,  111,    0,  109,  109,  109,  109,    0,
     422      110,    0,    0,  108,  108,  108,  108,    0,  170,  171,
     423        0,  176,  174,    0,    0,    0,  102,    0,    0,    0,
     424        0,    0,    0,    0,    0,  101,   17,  101,  101,  101,
     425      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     426      101,  101,  101,  101,  101,   14,  101,  101,  101,  101,
     427
     428      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     429      101,  101,  101,  101,   51,  101,  101,  101,   64,  101,
     430      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     431      101,   88,  101,  101,  101,  101,  101,  101,  101,    0,
     432        0,    0,    0,    0,    0,    0,    0,  119,    0,    0,
     433        0,    0,    0,  119,    0,    0,  177,    0,    0,    0,
     434        0,    0,    0,    0,  111,    0,  111,    0,  111,    0,
     435        0,  111,  111,  109,  109,    0,    0,  110,  110,    0,
     436      110,    0,  110,  108,  108,    0,    0,    0,    0,    0,
     437        0,    0,    0,    0,    0,  175,  101,  101,  101,  101,
     438
     439      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     440      101,  101,  101,  101,  101,  101,  101,  101,  101,   21,
     441      101,   24,  101,   27,  101,  101,  101,  101,  101,  101,
     442      101,   42,  101,   44,  101,  101,  101,  101,  101,  101,
     443      101,   56,  101,   67,  101,  101,  101,  101,  101,  101,
     444      101,  101,  101,  101,  101,   89,  101,  101,   96,  101,
     445      101,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     446        0,    0,    0,    0,    0,  119,    0,    0,    0,    0,
     447        0,  111,  111,    0,    0,    0,    0,    0,  110,  110,
     448        0,  112,    0,  110,  110,    0,    0,    0,    0,    0,
     449
     450        0,    0,    0,    0,    0,    0,    0,    0,  101,  101,
     451       22,  101,  101,  101,  101,  101,  101,  101,   15,  101,
     452      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     453      101,  101,  101,   23,   25,  101,   32,  101,  101,  101,
     454      101,  101,   41,  101,  101,  101,  101,   49,  101,  101,
     455       54,  101,  101,  101,  101,  101,   76,  101,  101,  101,
     456      101,  101,   86,  101,  101,   94,  101,  101,  100,    0,
    419457        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    420         0,  133,  112,  112,    0,  112,  112,    0,    0,    6,
    421         0,  110,    0,    0,    0,  112,    0,  110,  110,  110,
    422       110,    0,  111,    0,    0,  109,  109,  109,  109,    0,
    423       171,  172,    0,  177,  175,    0,    0,    0,  103,    0,
    424         0,    0,    0,    0,    0,    0,    0,  102,   17,  102,
    425       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    426       102,  102,  102,  102,  102,  102,  102,   14,  102,  102,
    427 
    428       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    429       102,  102,  102,  102,  102,  102,   50,  102,  102,  102,
    430        63,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    431       102,  102,  102,  102,  102,   89,  102,  102,  102,  102,
    432       102,  102,  102,    0,    0,    0,    0,    0,    0,    0,
    433         0,  120,    0,    0,    0,    0,    0,  120,    0,    0,
    434       178,    0,    0,    0,    0,    0,    0,    0,  112,    0,
    435       112,    0,  112,    0,    0,  112,    0,  110,  110,    0,
    436         0,  111,  111,    0,  111,    0,  111,  109,  109,    0,
    437         0,    0,    0,    0,    0,    0,    0,    0,    0,  176,
    438 
    439       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    440       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    441       102,  102,  102,   21,  102,   24,  102,   27,  102,  102,
    442       102,  102,  102,  102,  102,   41,  102,   43,  102,  102,
    443       102,  102,  102,  102,  102,   55,  102,   66,  102,  102,
    444       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    445       102,  102,  102,  102,   97,  102,  102,    0,    0,    0,
    446         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    447         0,  120,    0,    0,    0,    0,    0,  112,    0,    0,
    448         0,    0,    0,    0,  111,  111,    0,  113,    0,  111,
    449 
    450       111,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    451         0,    0,    0,    0,  102,  102,   22,  102,  102,  102,
    452       102,  102,  102,  102,   15,  102,  102,  102,  102,  102,
    453       102,  102,  102,  102,  102,  102,  102,  102,  102,   23,
    454        25,  102,   32,  102,  102,  102,  102,   40,  102,  102,
    455       102,  102,   48,  102,  102,   53,  102,  102,   70,  102,
    456       102,  102,   76,  102,  102,  102,  102,  102,   86,   88,
    457       102,  102,   94,  102,  102,  101,    0,    0,    0,    0,
    458         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    459         0,    0,    0,    0,    0,  113,    0,    0,  111,  113,
    460 
    461       113,  113,  113,    0,  111,    0,    0,    0,    0,    0,
    462         0,    0,    0,    0,    0,  102,    0,  102,  102,  102,
    463       102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
    464       102,  102,  102,   58,  102,  102,  102,  102,  102,  102,
    465       102,  102,   28,  102,  102,  102,   39,   42,   45,  102,
    466       102,   51,  102,   60,   67,  102,  102,   75,   77,   80,
    467        81,   83,   84,  102,  102,   91,  102,  102,    0,    1,
    468         0,    0,    0,    0,    0,    0,  105,    0,    0,    0,
    469       120,    0,    0,    0,    0,  113,    0,  113,  113,    0,
    470         0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
    471 
    472        18,  102,  102,  102,  102,  102,  102,  102,   16,  102,
    473       102,  102,   33,  102,  102,  102,  102,  102,  102,  102,
    474       102,  102,  102,  102,  102,   36,   37,  102,   47,   52,
    475       102,  102,  102,   90,  102,  102,    0,    0,    0,    0,
    476         0,    0,    0,    0,    0,    0,    0,    0,    0,   10,
    477        11,   29,   54,  102,  102,  102,  102,  102,  102,  102,
    478       102,  102,  102,  102,   59,   61,   64,  102,  102,   78,
    479        92,  102,  102,   35,   46,   71,   72,  102,   95,   98,
    480         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    481         0,    0,  102,   68,  102,  102,   12,  102,  102,   30,
    482 
    483        34,  102,  102,  102,   65,  102,  102,  102,  102,  102,
    484       102,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    485         0,    0,    0,    0,   57,  102,  102,  102,  102,  102,
    486       102,  102,   49,   62,   73,   79,   93,   99,  102,  102,
    487         0,    0,    0,    0,    0,    0,    0,    0,  102,  102,
    488        13,   19,  102,  102,   31,  102,  102,  102,   26,   87,
    489         0,    0,  102,  102,  102,  102,  102,  102,   74,  100,
    490       102,   85,   20,  102,  102,   44,   82,  102,  102,  102,
    491       102,  102,  102,  102,   96,   69,    0
     458        0,    0,    0,    0,    0,    0,    0,    0,  112,    0,
     459        0,  110,  112,  112,  112,  112,  112,  110,    0,    0,
     460
     461        0,    0,    0,    0,    0,    0,    0,    0,  101,    0,
     462      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
     463      101,  101,  101,  101,  101,  101,   59,  101,  101,  101,
     464      101,  101,  101,  101,  101,   28,  101,  101,  101,  101,
     465       40,   43,   46,  101,  101,   52,  101,   61,   68,  101,
     466      101,   75,   77,   80,   81,   83,   84,  101,  101,   91,
     467      101,  101,    0,    1,    0,    0,    0,    0,    0,    0,
     468      104,    0,    0,    0,  119,    0,    0,    0,    0,  112,
     469      112,  112,  112,    0,    0,    0,    0,    0,    0,    0,
     470        0,    0,  101,  101,   18,  101,  101,  101,  101,  101,
     471
     472      101,  101,   16,  101,  101,  101,   33,  101,  101,  101,
     473      101,  101,  101,  101,  101,  101,  101,  101,   35,  101,
     474       37,   38,  101,   48,   53,  101,  101,  101,   90,  101,
     475      101,    0,    0,    0,    0,    0,    0,    0,    0,    0,
     476        0,    0,    0,    0,   10,   11,   29,   55,  101,  101,
     477      101,  101,  101,  101,  101,  101,  101,  101,  101,   60,
     478       62,   65,  101,  101,   78,   92,  101,  101,   36,   47,
     479       71,   72,  101,   95,   97,    0,    0,    0,    0,    0,
     480        0,    0,    0,    0,    0,    0,    0,  101,   69,  101,
     481      101,   12,  101,  101,   30,   34,  101,  101,  101,   66,
     482
     483      101,  101,  101,  101,  101,  101,    0,    0,    0,    0,
     484        0,    0,    0,    0,    0,    0,    0,    0,    0,   58,
     485      101,  101,  101,  101,  101,  101,  101,   50,   63,   73,
     486       79,   93,   98,  101,  101,    0,    0,    0,    0,    0,
     487        0,    0,    0,  101,  101,   13,   19,  101,   31,  101,
     488      101,  101,   26,   87,    0,    0,  101,  101,  101,  101,
     489      101,   74,   99,  101,   85,   20,  101,   45,   82,  101,
     490      101,  101,  101,   70,    0
    492491    } ;
    493492
     
    500499       16,   17,   18,   19,   20,   21,   22,   23,   24,   25,
    501500       26,   26,   26,   26,   26,   27,   28,   29,   30,   31,
    502        32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
    503        42,   11,   43,   11,   11,   44,   11,   45,   11,   46,
    504        11,   47,   48,   49,   50,   11,   11,   51,   11,   11,
    505        52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
    506 
    507        62,   63,   64,   65,   66,   11,   67,   68,   69,   70,
    508        71,   72,   11,   73,   74,   75,   76,   77,   78,   79,
    509        80,   81,   82,   83,   84,   85,    1,    1,    1,    1,
     501       32,   33,   34,   35,   36,   37,   38,   39,   40,   39,
     502       41,   11,   42,   11,   11,   43,   11,   44,   11,   45,
     503       11,   46,   47,   48,   49,   11,   11,   50,   11,   11,
     504       51,   52,   53,   54,   55,   56,   57,   58,   59,   60,
     505
     506       61,   62,   63,   64,   65,   11,   66,   67,   68,   69,
     507       70,   71,   11,   72,   73,   74,   75,   76,   77,   78,
     508       79,   80,   81,   82,   83,   84,    1,    1,    1,    1,
    510509        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    511510        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    524523    } ;
    525524
    526 static yyconst flex_int32_t yy_meta[86] =
     525static yyconst flex_int32_t yy_meta[85] =
    527526    {   0,
    528527        1,    1,    2,    1,    1,    1,    1,    1,    3,    1,
     
    530529        6,    1,    7,    7,    7,    7,    7,    7,    1,    1,
    531530        1,    8,    1,    1,    1,    9,    9,    9,    9,    9,
    532         9,    4,    4,   10,    4,   11,    4,    4,    4,   10,
    533         4,    1,   12,    1,    1,   13,    1,    9,    9,    9,
    534         9,    9,    9,    4,    4,    4,    4,   10,    4,    4,
    535         4,   11,    4,    4,    4,   10,    4,    4,    4,    4,
    536         4,    1,    1,    1,    1
     531        4,    4,   10,    4,   11,    4,    4,    4,   10,    4,
     532        1,   12,    1,    1,   13,    1,    9,    9,    9,    9,
     533        9,    9,    4,    4,    4,    4,   10,    4,    4,    4,
     534       11,    4,    4,    4,   10,    4,    4,    4,    4,    4,
     535        1,    1,    1,    1
    537536    } ;
    538537
    539 static yyconst flex_int16_t yy_base[1062] =
     538static yyconst flex_int16_t yy_base[1050] =
    540539    {   0,
    541         0,   84, 2272, 2269,   94,    0,  177,  178,  179,  180,
    542      2285, 2822,  191, 2822,  197,   55, 2822, 2231,   60,  173,
    543      2822, 2822, 2822,   56,  188, 2822,  191,  189,  204,  216,
    544       275,    0, 2249, 2822,  216, 2247,  152,  344,  155,  220,
    545      2822,  159, 2822,  217,  226, 2822,  185,  154,  212,  251,
    546       237,  270,  235,  257,  241,  205,  193,  305,  314,  333,
    547       238,  228, 2822,  225, 2822, 2242,  402,  390, 2822, 2253,
    548      2822, 2221,  235, 2822,    0, 2822,  426,    0, 2822,  417,
    549      2822,  439,  451, 2822,  498, 2219,  264, 2822, 2822, 2822,
    550      2822, 2822, 2235, 2822, 2232, 2822, 2822, 2244,  559, 2822,
    551 
    552      2261, 2822,  438,  444,  511,  534,  289,  253,  197,  380,
    553       305,    0,  319,  280,  198,  322, 2822, 2822, 2822, 2230,
    554      2822, 2822, 2822, 2227, 2224,  218,  255, 2239,  298,  350,
    555       368,  312,  440,  398,  405, 2220,  441, 2168,  446, 2196,
    556      2822,  335, 2822, 2822,  468, 2190, 2189, 2822, 2162,  439,
    557       282,  433,  372,  281,  437,  434,  428,  570,  444,  466,
    558       464,  469,  475,  321,  492,  438,  471,  445,  474,  512,
    559       489,  503,  496,  521,  276,  515,  516, 2189,  526,  510,
    560       519,  525,  543,  522,  560,  553,  523,  561,  551,  544,
    561       599,  582,  593,  584, 2822, 2822,  660,  651, 2236,  666,
    562 
    563      2822,  678, 2822, 2183,  607, 2179, 2178,    0,  693, 2822,
    564      2822,  684, 2176, 2156, 2154,    0, 2177,  578,  608,  617,
    565       654,  679,  650,  683,  684,  687, 2172,  690,  691, 2147,
    566      2146, 2822,    0,  683,  710,  686,  700, 2145, 2196, 2822,
    567       714,    0,  427,  746,  764,  786,  808,  621, 2822, 2152,
    568      2125,    0,  794, 2171,  795,  709, 2822, 2147, 2121,  832,
    569      2822, 2822, 2152, 2822, 2822,  711,  714, 2129, 2129,  717,
    570      2125, 2123, 2120,    0, 2117,    0, 2088,  694,  679,  712,
    571       709,  711,  698,  566,  726,  743,  771,  741,  790,  784,
    572       800,  795,  742,  744,  814,  816,  818, 2118,  819,  745,
    573 
    574       820,  821,  822,  823,  824,  746,  825,  748,  659,  831,
    575       826,  833,  838,  839,  848,  850,  851,  844,  834,  857,
    576      2116,  858,  859,  860,  862,  861,  864,  865,  867,  868,
    577       866,  871,  876,  872,  878, 2113,  880,  689,  881,  882,
    578       892,  896,  893,  953,  954, 2109, 2108, 2106,    0, 2103,
    579         0,  941,  945, 2102,    0, 2101,    0, 2099,    0, 2118,
    580      2822,  940,  941, 2094, 2088,    0, 2086,    0, 2822,  953,
    581       975,  964, 2822,  981,  997, 1021, 2084, 2822, 2822,  939,
    582       940, 1006,  982, 1041,  310, 1039, 1004, 2822, 2822, 2081,
    583      2079, 2077,    0, 2074,    0, 2071,    0, 2070,    0, 2822,
    584 
    585       886,  941,  960,  962,  977,  976,  980,  982, 1017, 1010,
    586      1002,  998, 1022, 1031, 1028, 1033, 1034, 1037, 1040, 1043,
    587      1038, 1041, 1053, 2072, 1055, 2070, 1045, 2067, 1056, 1061,
    588      1063, 1065, 1066, 1067, 1070, 2064, 1071, 2063, 1073, 1074,
    589      1075, 1078, 1080, 1081, 1085, 2062, 1087, 2060, 1084, 1089,
    590      1091, 1097, 1099, 1092, 1102, 1103, 1105, 1106, 1108,  905,
    591      1109, 1116, 1110, 1122, 2057, 1120, 1123, 1179, 2051,    0,
    592      2050,    0, 2049,    0, 2047,    0, 1166, 2044,    0, 2041,
    593         0, 2040, 2039, 2037,    0, 2034,    0, 1173, 2031, 1179,
    594      1137, 1195, 1181, 1178, 1176, 2822, 1219, 1231, 1253, 2042,
    595 
    596      2017, 2027, 2024,    0, 2021,    0, 2020,    0, 2019,    0,
    597      2017,    0, 2014,    0, 1141, 1172, 2014, 1180, 1155, 1196,
    598      1157, 1216, 1207, 1231, 1125, 1210, 1232, 1214, 1187, 1236,
    599      1235, 1237, 1238, 1272, 1249, 1252, 1250, 1253, 1254, 2013,
    600      1261, 1256, 2012, 1260, 1263, 1264, 1257, 2010, 1271, 1268,
    601      1269, 1273, 2007, 1275, 1282, 2006, 1283, 1284, 2005, 1276,
    602      1286, 1289, 2003, 1294, 1291, 1296, 1295, 1297, 1310, 2000,
    603      1305, 1308, 1999, 1307, 1300, 1998, 2046, 1960,    0, 1958,
    604         0, 1957,    0, 1954,    0, 1951,    0, 1950,    0, 1949,
    605         0, 1947,    0, 1355, 1361, 1389, 1372, 1944, 2822, 1378,
    606 
    607      1325, 1365, 1379, 1941, 2822, 1940,    0, 1939,    0, 1937,
    608         0, 1934,    0,    0,    0, 1936,    0, 1366, 1312, 1311,
    609      1341, 1323, 1368, 1369, 1374, 1356, 1383, 1372, 1388, 1390,
    610      1393, 1395, 1396, 1398, 1400, 1431, 1406, 1407, 1411, 1408,
    611      1413, 1414, 1935, 1409, 1416, 1419, 1933, 1930, 1929, 1422,
    612      1424, 1928, 1429, 1926, 1923, 1425, 1430, 1919, 1915, 1911,
    613      1895, 1894, 1893, 1436, 1433, 1891, 1439, 1440, 1938, 2822,
    614      1884,    0, 1883,    0,    0,    0, 1884,    0,    0,    0,
    615      2822,    0,    0,    0,    0, 1486, 1878, 2822, 2822, 1492,
    616      1877,    0, 1876,    0,    0,    0,    0, 1874, 1447, 1444,
    617 
    618      1874, 1449, 1471, 1479, 1450, 1480, 1482, 1469, 1873, 1486,
    619      1490, 1488, 1502, 1452, 1510, 1504, 1491, 1519, 1506, 1498,
    620      1508, 1512, 1513, 1514, 1515, 1872, 1870, 1517, 1867, 1866,
    621      1518, 1520, 1523, 1865, 1521, 1525,    0,    0,    0, 1860,
    622      1857, 1856, 1575,    0, 1855, 1853, 1850, 1849, 1848, 1849,
    623      1846, 1845, 1844, 1531, 1536, 1527, 1528, 1552, 1533, 1537,
    624      1539, 1555, 1557, 1569, 1842, 1560, 1839, 1561, 1559, 1568,
    625      1572, 1567, 1573, 1838, 1837, 1835, 1828, 1574, 1826, 1825,
    626      1819, 1818, 1817, 1815, 1798, 1789, 1788, 1785, 1778, 1775,
    627      1768, 1766, 1576, 1768, 1577, 1581, 1580, 1579, 1584, 1585,
    628 
    629      1747, 1586, 1615, 1590, 1746, 1591, 1592, 1602, 1600, 1594,
    630      1606, 1742, 1735, 1733, 1732, 1690, 1689, 1686, 1685, 1683,
    631      1682, 1678, 1677, 1674, 1676, 1607, 1611, 1614, 1612, 1608,
    632      1616, 1620, 1675, 1623, 1624, 1530, 1453, 1630, 1625, 1629,
    633      1438, 1354, 1319, 1318, 1267, 1212, 1210, 1208, 1631, 1636,
    634      1178, 1639, 1635, 1643, 1177, 1644, 1646, 1650, 1126,  964,
    635       937,  903, 1651, 1652, 1654, 1655, 1656, 1658,  788,  752,
    636      1660,  607,  487, 1662, 1663,  394,  357, 1664, 1666, 1668,
    637      1670, 1669, 1672, 1674,  233,  137, 2822, 1747, 1760, 1773,
    638      1783, 1793, 1806, 1816, 1829, 1842, 1855, 1863, 1873, 1880,
    639 
    640      1887, 1894, 1901, 1908, 1915, 1922, 1929, 1936, 1949, 1956,
    641      1960, 1968, 1971, 1978, 1985, 1992, 1995, 2002, 2008, 2021,
    642      2034, 2041, 2048, 2055, 2062, 2065, 2072, 2075, 2082, 2085,
    643      2092, 2095, 2102, 2105, 2112, 2115, 2122, 2125, 2132, 2140,
    644      2147, 2154, 2161, 2168, 2171, 2178, 2181, 2188, 2191, 2198,
    645      2204, 2217, 2224, 2231, 2234, 2241, 2244, 2251, 2254, 2261,
    646      2264, 2271, 2274, 2281, 2284, 2291, 2298, 2301, 2308, 2311,
    647      2318, 2325, 2332, 2335, 2342, 2345, 2352, 2355, 2362, 2365,
    648      2372, 2375, 2382, 2388, 2401, 2408, 2415, 2418, 2425, 2428,
    649      2435, 2438, 2445, 2448, 2455, 2458, 2465, 2468, 2475, 2478,
    650 
    651      2485, 2488, 2495, 2502, 2505, 2512, 2515, 2522, 2525, 2532,
    652      2535, 2538, 2544, 2551, 2560, 2567, 2574, 2577, 2584, 2587,
    653      2590, 2596, 2603, 2606, 2609, 2612, 2615, 2618, 2621, 2624,
    654      2631, 2634, 2641, 2644, 2647, 2650, 2653, 2663, 2670, 2673,
    655      2676, 2679, 2686, 2693, 2700, 2703, 2710, 2717, 2724, 2731,
    656      2738, 2745, 2752, 2759, 2766, 2773, 2780, 2787, 2794, 2801,
    657      2808
     540        0,   83, 2238, 2237,   93,    0,  175,  176,  177,  178,
     541     2252, 2782,  189, 2782,  195,   54, 2782, 2197,   59,  171,
     542     2782, 2782, 2782,   55,  186, 2782,  189,  187,  202,  214,
     543      272,    0, 2213, 2782,  214, 2213,  150,  340,  153,  222,
     544     2782,  157, 2782,  215,  224, 2782,  207,  181,  221,  249,
     545      235,  289,  155,  255,  218,  206,  266,  256,  323,  259,
     546      192, 2782,  223, 2782, 2210,  377,  342, 2782, 2220, 2782,
     547     2187,  234, 2782,    0, 2782,  421,    0, 2782,  393, 2782,
     548      399,  405, 2782,  492, 2184,  241, 2782, 2782, 2782, 2782,
     549     2782, 2201, 2782, 2200, 2782, 2782, 2211,  552, 2782, 2226,
     550
     551     2782,  413,  393,  437,  493,  377,  318,  195,  430,  382,
     552        0,  384,  321,  196,  427, 2782, 2782, 2782, 2194, 2782,
     553     2782, 2782, 2193, 2192,  252,  302, 2206,  342,  435,  422,
     554      381,  455,  400,  494, 2185,  440, 2133,  469, 2163, 2782,
     555      276, 2782, 2782,  520, 2159, 2157, 2782, 2128,  414,  463,
     556      470,  325,  254,  479,  432,  274,  480,  423,  483,  498,
     557      492,  503,  499,  509,  341,  455,  484,  377,  510,  512,
     558      517,  518,  529,  530,  531,  537, 2154,  541,  536,  544,
     559      557,  546,  566,  569,  538,  552,  548,  554,  588,  571,
     560      570,  580, 2782, 2782,  645,  651, 2202,  657, 2782,  663,
     561
     562     2782, 2152,  593, 2147, 2144,    0,  631, 2782, 2782,  669,
     563     2141, 2140, 2139,    0, 2160,  629,  635,  639,  678,  677,
     564      666,  670,  671,  674, 2138,  681,  682, 2115, 2114, 2782,
     565        0,  597,  702,  678,  676, 2111, 2160, 2782,  693,    0,
     566      710,  723,  743,  762,  788,  707, 2782, 2119, 2094,    0,
     567      776, 2138,  768,  723, 2782, 2113, 2086,  809, 2782, 2782,
     568     2118, 2782, 2782,  705,  710, 2098, 2097,  724, 2091, 2088,
     569     2087,    0, 2086,    0, 2056,  709,  682,  707,  712,  710,
     570      724,  647,  750,  671,  786,  751,  748,  731,  778,  787,
     571      789,  788,  792,  790,  758, 2084,  796,  806,  800,  813,
     572
     573      798,  810,  802,  816,  822,  819,  815,  826,  830,  829,
     574      831,  832,  833,  837,  839,  841,  846,  843, 2081,  848,
     575      850,  849,  851,  852,  854,  853,  857,  855,  858,  863,
     576      868, 2080,  867,  912,  871,  878,  872,  879,  882,  937,
     577      939, 2076, 2074, 2071,    0, 2070,    0,  927,  931, 2069,
     578        0, 2067,    0, 2064,    0, 2084, 2782,  913,  926, 2064,
     579     2060,    0, 2057,    0, 2782,  942,  960,  953, 2782,  966,
     580      981, 1005, 2053, 2782, 2782,  955,  968,  995,  968, 1028,
     581      892, 1014,  970, 2782, 2782, 2049, 2047, 2045,    0, 2042,
     582        0, 2040,    0, 2038,    0, 2782,  909,  944,  982,  943,
     583
     584     1006,  911, 1012,  923, 1013, 1019, 1009, 1016, 1023, 1024,
     585     1020,  972, 1030, 1028,  989, 1026, 1034, 1027, 1039, 2038,
     586     1044, 2035, 1048, 2034, 1049, 1051, 1052, 1053, 1056, 1057,
     587     1055, 2033, 1059, 2031,  946, 1063, 1066, 1067, 1068, 1071,
     588     1069, 2028, 1075, 2025, 1077, 1080, 1079, 1082, 1084, 1086,
     589     1087, 1090, 1097, 1107, 1088, 1108, 1093, 1098, 2024, 1096,
     590     1111, 1164, 2020,    0, 2018,    0, 2015,    0, 2012,    0,
     591     1151, 2011,    0, 2010,    0, 2008, 2005, 2002,    0, 2001,
     592        0, 1156, 2000, 1162, 1148, 1182, 1149, 1126, 1147, 2782,
     593     1201, 1215, 1241, 2010, 1983, 1992, 1991,    0, 1990,    0,
     594
     595     1988,    0, 1985,    0, 1982,    0, 1981,    0, 1161, 1149,
     596     1983, 1179, 1140, 1180, 1117, 1182, 1192, 1199, 1181, 1163,
     597     1196, 1200, 1201, 1220, 1198, 1221, 1224,  604, 1226, 1227,
     598     1231, 1233, 1234, 1981, 1244, 1236, 1978, 1240, 1241, 1246,
     599     1247, 1243, 1975, 1250, 1251, 1253, 1254, 1974, 1255, 1267,
     600     1973, 1264, 1271, 1256, 1263, 1257, 1971, 1275, 1277, 1279,
     601     1260, 1281, 1290, 1285, 1288, 1968, 1289, 1291, 1967, 2015,
     602     1961,    0, 1958,    0, 1957,    0, 1956,    0, 1954,    0,
     603     1921,    0, 1919,    0, 1918,    0, 1336, 1342, 1369, 1353,
     604     1915, 2782, 1359, 1307, 1359, 1309, 1912, 2782, 1911,    0,
     605
     606     1910,    0, 1908,    0, 1905,    0,    0,    0, 1905,    0,
     607     1347, 1295, 1292, 1323, 1337, 1338, 1296, 1349, 1351, 1355,
     608     1353, 1348, 1363, 1364, 1371, 1373, 1380, 1375, 1403, 1381,
     609     1385, 1389, 1094, 1387, 1390, 1904, 1391, 1393, 1397, 1401,
     610     1903, 1901, 1898, 1394, 1400, 1897, 1404, 1896, 1894, 1402,
     611     1408, 1891, 1890, 1889, 1887, 1884, 1880, 1417, 1412, 1876,
     612     1420, 1418, 1921, 2782, 1853,    0, 1852,    0,    0,    0,
     613     1854,    0,    0,    0, 2782,    0,    0,    0,    0, 1463,
     614     1849, 2782, 2782, 1469, 1846,    0, 1845,    0,    0,    0,
     615        0, 1844, 1407, 1446, 1845, 1406, 1423, 1300, 1431, 1449,
     616
     617     1455, 1447, 1842, 1457, 1448, 1459, 1464, 1460, 1490, 1474,
     618     1470, 1494, 1480, 1475, 1484, 1485, 1486, 1482, 1841, 1487,
     619     1840, 1838, 1489, 1835, 1834, 1491, 1493, 1497, 1833, 1498,
     620     1500,    0,    0,    0, 1828, 1825, 1824, 1548,    0, 1823,
     621     1821, 1818, 1817, 1816, 1817, 1814, 1813, 1812, 1505, 1510,
     622     1502, 1501, 1504, 1508, 1513, 1517, 1526, 1528, 1559, 1810,
     623     1533, 1807, 1534, 1535, 1544, 1545, 1538, 1539, 1806, 1805,
     624     1803, 1800, 1540, 1799, 1798, 1793, 1786, 1784, 1783, 1780,
     625     1779, 1778, 1776, 1759, 1750, 1749, 1746, 1546, 1742, 1549,
     626     1550, 1552, 1554, 1557, 1558, 1739, 1556, 1589, 1566, 1732,
     627
     628     1565, 1572, 1577, 1579, 1567, 1578, 1727, 1726, 1705, 1704,
     629     1703, 1696, 1694, 1693, 1650, 1649, 1647, 1645, 1644, 1646,
     630     1571, 1584, 1582, 1581, 1586, 1593, 1595, 1645, 1644, 1597,
     631     1642, 1641, 1598, 1599, 1602, 1636, 1635, 1633, 1422, 1421,
     632     1205, 1201,  946, 1605, 1610,  910, 1603, 1607,  768, 1613,
     633     1618, 1619,  723,  605,  503,  370, 1609, 1620, 1623, 1624,
     634     1625,  338,  337, 1627,  290,  251, 1630,  200,  196, 1631,
     635     1632, 1637, 1633,  136, 2782, 1707, 1720, 1733, 1743, 1753,
     636     1766, 1776, 1789, 1802, 1815, 1823, 1833, 1840, 1847, 1854,
     637     1861, 1868, 1875, 1882, 1889, 1896, 1909, 1916, 1920, 1928,
     638
     639     1931, 1938, 1945, 1952, 1955, 1962, 1968, 1981, 1994, 2001,
     640     2008, 2015, 2022, 2025, 2032, 2035, 2042, 2045, 2052, 2055,
     641     2062, 2065, 2072, 2075, 2082, 2085, 2092, 2100, 2107, 2114,
     642     2121, 2128, 2131, 2138, 2141, 2148, 2151, 2158, 2164, 2177,
     643     2184, 2191, 2194, 2201, 2204, 2211, 2214, 2221, 2224, 2231,
     644     2234, 2241, 2244, 2251, 2258, 2261, 2268, 2271, 2278, 2285,
     645     2292, 2295, 2302, 2305, 2312, 2315, 2322, 2325, 2332, 2335,
     646     2342, 2348, 2361, 2368, 2375, 2378, 2385, 2388, 2395, 2398,
     647     2405, 2408, 2415, 2418, 2425, 2428, 2435, 2438, 2445, 2448,
     648     2455, 2462, 2465, 2472, 2475, 2482, 2485, 2492, 2495, 2498,
     649
     650     2504, 2511, 2520, 2527, 2534, 2537, 2544, 2547, 2550, 2556,
     651     2563, 2566, 2569, 2572, 2575, 2578, 2581, 2584, 2591, 2594,
     652     2601, 2604, 2607, 2610, 2613, 2623, 2630, 2633, 2636, 2639,
     653     2646, 2653, 2660, 2663, 2670, 2677, 2684, 2691, 2698, 2705,
     654     2712, 2719, 2726, 2733, 2740, 2747, 2754, 2761, 2768
    658655    } ;
    659656
    660 static yyconst flex_int16_t yy_def[1062] =
     657static yyconst flex_int16_t yy_def[1050] =
    661658    {   0,
    662       887,    1,  888,  888,  887,    5,  889,  889,  890,  890,
    663       887,  887,  887,  887,  887,  887,  887,  891,  887,  887,
    664       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    665       887,   31,  887,  887,  887,  887,  887,  887,  892,  891,
    666       887,  887,  887,  887,  891,  887,  891,  891,  891,  891,
    667       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    668       891,  891,  887,  887,  887,  887,  887,  893,  887,  887,
    669       887,  894,  887,  887,  895,  887,  887,  896,  887,  887,
    670       887,  887,  887,  887,  887,  891,  887,  887,  887,  887,
    671       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    672 
    673       897,  887,   99,   30,  887,  887,  887,  887,  898,   30,
    674       887,   31,  887,  887,   31,  887,  887,  887,  887,  887,
    675       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    676       887,  887,  887,  887,  887,  887,  887,  887,  887,  899,
    677       887,  887,  887,  887,  891,  900,  901,  887,  887,  891,
    678       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    679       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    680       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    681       891,  891,  891,  891,  891,  891,  891,  891,  891,  891,
    682       891,  891,  891,  891,  887,  887,  887,  893,  893,  893,
    683 
    684       887,  893,  887,  894,  887,  902,  903,  895,  887,  887,
    685       887,  887,  904,  905,  906,  896,  887,  887,  887,  887,
    686       887,  887,  887,  887,  887,  887,  887,  887,  887,  907,
    687       908,  887,   99,  887,  887,  887,  887,   99,  909,  887,
    688       887,  104,  104,  887,  887,  887,  887,  887,  887,  887,
    689       887,  910,  911,  912,  887,  887,  887,  887,  887,  887,
    690       887,  887,  887,  887,  887,  887,  887,  887,  899,  887,
    691       913,  914,  915,  916,  917,  918,  887,  919,  919,  919,
    692       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    693       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    694 
    695       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    696       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    697       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    698       919,  919,  919,  919,  919,  919,  919,  919,  919,  919,
    699       919,  919,  919,  920,  921,  922,  923,  924,  925,  926,
    700       927,  887,  887,  928,  929,  930,  931,  932,  933,  887,
    701       887,  887,  887,  887,  934,  935,  936,  937,  887,  887,
    702       887,  887,  887,  887,  887,  371,  376,  887,  887,  938,
    703       939,  940,  887,  887,  887,  940,  887,  887,  887,  941,
    704       942,  943,  944,  945,  946,  947,  948,  949,  950,  887,
    705 
    706       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    707       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    708       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    709       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    710       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    711       951,  951,  951,  951,  951,  951,  951,  951,  951,  951,
    712       951,  951,  951,  951,  951,  951,  951,  952,  953,  954,
    713       955,  956,  957,  958,  959,  960,  887,  961,  962,  963,
    714       964,  965,  965,  966,  967,  968,  969,  887,  488,  887,
    715       970,  887,  970,  887,  887,  887,  887,  887,  887,  887,
    716 
    717       887,  971,  972,  973,  974,  975,  976,  977,  978,  979,
    718       980,  981,  982,  983,  984,  984,  984,  984,  984,  984,
    719       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    720       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    721       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    722       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    723       984,  984,  984,  984,  984,  984,  984,  984,  984,  984,
    724       984,  984,  984,  984,  984,  984,  985,  986,  987,  988,
    725       989,  990,  991,  992,  993,  994,  995,  996,  997,  998,
    726       999, 1000, 1001,  887,  887,  887,  887, 1002,  887,  596,
    727 
    728       887,  887,  887,  600,  887, 1003, 1004, 1005, 1006, 1007,
    729      1008, 1009, 1010, 1011, 1012, 1013, 1014, 1013, 1013, 1013,
    730      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    731      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    732      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    733      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013,
    734      1013, 1013, 1013, 1013, 1013, 1013, 1013, 1013, 1015,  887,
    735      1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025,
    736       887, 1026, 1027, 1028, 1029,  887,  686,  887,  887,  887,
    737      1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1038,
    738 
    739      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    740      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    741      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    742      1038, 1038, 1038, 1038, 1038, 1038, 1039, 1040, 1041, 1042,
    743      1043, 1044,  887, 1045, 1030, 1032, 1046, 1047, 1037, 1038,
    744      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    745      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    746      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    747      1048, 1049, 1042, 1050, 1043, 1051, 1044, 1052, 1053, 1046,
    748      1054, 1047, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    749 
    750      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    751      1038, 1055, 1048, 1056, 1049, 1057, 1050, 1058, 1051, 1059,
    752      1052, 1060, 1053, 1054, 1038, 1038, 1038, 1038, 1038, 1038,
    753      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    754      1061, 1055, 1056, 1057, 1058, 1032, 1059, 1060, 1038, 1038,
    755      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    756      1061, 1032, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    757      1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038, 1038,
    758      1038, 1038, 1038, 1038, 1038, 1038,    0,  887,  887,  887,
    759       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    760 
    761       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    762       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    763       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    764       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    765       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    766       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    767       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    768       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    769       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    770       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    771 
    772       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    773       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    774       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    775       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    776       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    777       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    778       887
     659      875,    1,  876,  876,  875,    5,  877,  877,  878,  878,
     660      875,  875,  875,  875,  875,  875,  875,  879,  875,  875,
     661      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     662      875,   31,  875,  875,  875,  875,  875,  875,  880,  879,
     663      875,  875,  875,  875,  879,  875,  879,  879,  879,  879,
     664      879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
     665      879,  875,  875,  875,  875,  875,  881,  875,  875,  875,
     666      882,  875,  875,  883,  875,  875,  884,  875,  875,  875,
     667      875,  875,  875,  875,  879,  875,  875,  875,  875,  875,
     668      875,  875,  875,  875,  875,  875,  875,  875,  875,  885,
     669
     670      875,   98,   30,  875,  875,  875,  875,  886,   30,  875,
     671       31,  875,  875,   31,  875,  875,  875,  875,  875,  875,
     672      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     673      875,  875,  875,  875,  875,  875,  875,  875,  887,  875,
     674      875,  875,  875,  879,  888,  889,  875,  875,  879,  879,
     675      879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
     676      879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
     677      879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
     678      879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
     679      879,  879,  875,  875,  875,  881,  881,  881,  875,  881,
     680
     681      875,  882,  875,  890,  891,  883,  875,  875,  875,  875,
     682      892,  893,  894,  884,  875,  875,  875,  875,  875,  875,
     683      875,  875,  875,  875,  875,  875,  875,  895,  896,  875,
     684       98,  875,  875,  875,  875,   98,  897,  875,  875,  103,
     685      103,  875,  875,  875,  875,  875,  875,  875,  875,  898,
     686      899,  900,  875,  875,  875,  875,  875,  875,  875,  875,
     687      875,  875,  875,  875,  875,  875,  887,  875,  901,  902,
     688      903,  904,  905,  906,  875,  907,  907,  907,  907,  907,
     689      907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
     690      907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
     691
     692      907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
     693      907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
     694      907,  907,  907,  907,  907,  907,  907,  907,  907,  907,
     695      907,  907,  907,  907,  907,  907,  907,  907,  907,  908,
     696      909,  910,  911,  912,  913,  914,  915,  875,  875,  916,
     697      917,  918,  919,  920,  921,  875,  875,  875,  875,  875,
     698      922,  923,  924,  925,  875,  875,  875,  875,  875,  875,
     699      875,  367,  372,  875,  875,  926,  927,  928,  875,  875,
     700      875,  928,  875,  875,  875,  929,  930,  931,  932,  933,
     701      934,  935,  936,  937,  938,  875,  939,  939,  939,  939,
     702
     703      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
     704      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
     705      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
     706      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
     707      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
     708      939,  939,  939,  939,  939,  939,  939,  939,  939,  939,
     709      939,  940,  941,  942,  943,  944,  945,  946,  947,  948,
     710      875,  949,  950,  951,  952,  953,  953,  954,  955,  956,
     711      957,  875,  482,  875,  958,  875,  958,  875,  875,  875,
     712      875,  875,  875,  875,  875,  959,  960,  961,  962,  963,
     713
     714      964,  965,  966,  967,  968,  969,  970,  971,  972,  972,
     715      972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
     716      972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
     717      972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
     718      972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
     719      972,  972,  972,  972,  972,  972,  972,  972,  972,  972,
     720      972,  972,  972,  972,  972,  972,  972,  972,  972,  973,
     721      974,  975,  976,  977,  978,  979,  980,  981,  982,  983,
     722      984,  985,  986,  987,  988,  989,  875,  875,  875,  875,
     723      990,  875,  589,  875,  875,  875,  593,  875,  991,  992,
     724
     725      993,  994,  995,  996,  997,  998,  999, 1000, 1001, 1002,
     726     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     727     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     728     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     729     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     730     1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001, 1001,
     731     1001, 1001, 1003,  875, 1004, 1005, 1006, 1007, 1008, 1009,
     732     1010, 1011, 1012, 1013,  875, 1014, 1015, 1016, 1017,  875,
     733      680,  875,  875,  875, 1018, 1019, 1020, 1021, 1022, 1023,
     734     1024, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     735
     736     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     737     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     738     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     739     1026, 1027, 1028, 1029, 1030, 1031, 1032,  875, 1033, 1018,
     740     1020, 1034, 1035, 1025, 1026, 1026, 1026, 1026, 1026, 1026,
     741     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     742     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     743     1026, 1026, 1026, 1026, 1026, 1036, 1037, 1030, 1038, 1031,
     744     1039, 1032, 1040, 1041, 1034, 1042, 1035, 1026, 1026, 1026,
     745     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     746
     747     1026, 1026, 1026, 1026, 1026, 1026, 1043, 1036, 1044, 1037,
     748     1045, 1038, 1046, 1039, 1047, 1040, 1048, 1041, 1042, 1026,
     749     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     750     1026, 1026, 1026, 1026, 1026, 1049, 1043, 1044, 1045, 1046,
     751     1020, 1047, 1048, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     752     1026, 1026, 1026, 1026, 1049, 1020, 1026, 1026, 1026, 1026,
     753     1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
     754     1026, 1026, 1026, 1026,    0,  875,  875,  875,  875,  875,
     755      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     756      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     757
     758      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     759      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     760      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     761      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     762      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     763      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     764      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     765      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     766      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     767      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     768
     769      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     770      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     771      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     772      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     773      875,  875,  875,  875,  875,  875,  875,  875,  875
    779774    } ;
    780775
    781 static yyconst flex_int16_t yy_nxt[2908] =
     776static yyconst flex_int16_t yy_nxt[2867] =
    782777    {   0,
    783778       12,   13,   14,   15,   15,   15,   13,   16,   17,   12,
     
    785780       28,   29,   30,   31,   32,   32,   32,   32,   33,   34,
    786781       35,   36,   37,   38,   39,   18,   18,   18,   18,   18,
    787        18,   18,   18,   40,   18,   18,   18,   18,   18,   40,
    788        18,   41,   42,   43,   44,   45,   46,   47,   48,   49,
    789        50,   51,   52,   53,   18,   54,   18,   55,   18,   18,
    790        56,   18,   57,   58,   59,   60,   61,   62,   18,   18,
    791        18,   63,   64,   65,   66,   67,   84,   92,   85,   85,
    792        67,   88,   89,   68,   71,   71,   71,   71,   71,   71,
    793 
    794        71,   71,   71,   71,   72,   71,   71,   71,   71,   71,
     782       18,   18,   40,   18,   18,   18,   18,   18,   40,   18,
     783       41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
     784       51,   52,   53,   18,   54,   18,   55,   18,   18,   18,
     785       18,   56,   57,   58,   59,   60,   61,   18,   18,   18,
     786       62,   63,   64,   65,   66,   83,   91,   84,   84,   66,
     787       87,   88,   67,   70,   70,   70,   70,   70,   70,   70,
     788
     789       70,   70,   70,   71,   70,   70,   70,   70,   70,   70,
     790       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
     791       70,   70,   70,   70,   70,   70,   70,   70,   71,   71,
    795792       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    796        71,   71,   71,   71,   71,   71,   71,   71,   71,   72,
    797        72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
    798        72,   72,   72,   72,   72,   71,   73,   71,   71,   72,
    799        74,   72,   72,   72,   72,   72,   72,   72,   72,   72,
    800        72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
    801        72,   72,   72,   72,   72,   71,   71,   71,   71,   76,
    802        76,   79,   79,  123,  124,   90,  141,   79,   79,   87,
    803        76,   76,   80,   81,   82,   82,   82,   80,   82,   81,
    804 
    805        83,   83,   83,   82,   91,   93,   87,  142,  146,   98,
    806        95,   99,   99,   99,   99,   99,   99,  252,  887,   94,
    807       100,   85,   96,   97,   85,  101,  161,  118,  143,   77,
    808        77,   77,   77,  144,  147,  102,  103,   87,  104,  104,
    809       104,  104,  105,  105,  119,   87,  120,  121,  148,  263,
    810       149,  264,  254,  260,  183,  106,  195,   87,  159,  107,
    811       160,  150,  151,  152,   87,  108,  109,  153,  154,  162,
    812       155,  110,   87,  156,  157,  145,  163,  106,   87,  182,
    813        87,  158,  164,  111,  206,   87,  263,   87,  264,   87,
    814        87,  108,  194,   87,  109,  103,  250,  112,  112,  112,
    815 
    816       112,  112,  112,   87,  169,  177,  170,  196,  193,   87,
    817       207,  180,  165,  230,  106,  171,  166,  181,  113,  178,
    818       251,  167,   87,  258,  114,  168,  179,  172,   87,  263,
    819       115,  264,  248,   87,   87,  173,  106,  174,  249,  231,
    820       175,  143,  116,  263,  176,  264,  144,  259,  317,  283,
    821       114,  125,  280,  500,  249,  126,  127,   87,  128,  191,
    822       129,  130,  256,  131,  249,  132,   87,  265,  257,  184,
    823       185,  257,  248,   87,  133,  134,  135,  501,  188,  186,
    824       249,  263,  187,  264,  271,   87,  189,  265,  145,  256,
    825       305,  200,  201,  190,  257,  136,  200,  257,  137,  263,
    826 
    827       887,  264,  192,  197,   81,   82,   82,   82,  197,   87,
    828       272,  198,  202,  202,  202,  202,  202,  202,   80,   81,
    829        82,   82,   82,   80,   87,  138,  139,  209,  210,  263,
    830       887,  264,  209,  282,  211,  255,  263,  267,  264,  211,
    831        82,   81,   82,   82,   82,   82,   87,  887,  212,  212,
    832       212,  212,   82,   81,   83,   83,   83,   82,  887,  211,
    833        99,   99,   99,   99,   99,   99,  242,  242,  242,  242,
    834       266,  263,  263,  264,  264,  213,  143,  263,  211,  264,
    835        87,  144,  375,  211,  211,   87,   87,  211,  211,   87,
    836        87,   87,  286,  241,  887,  211,   87,   87,  211,  243,
    837 
    838       211,  214,  211,  281,  215,  217,  278,  284,  285,  218,
    839       219,  307,  298,  279,  220,  221,   87,  222,   87,  223,
    840        87,   87,  887,   87,  309,  300,   87,   87,  224,  225,
    841       226,  103,  303,  105,  105,  105,  105,  105,  105,   87,
    842       299,   87,  301,  302,   87,  304,  308,  310,   87,  227,
    843       106,  245,  228,  245,  306,   87,  246,  246,  246,  246,
    844       246,  246,   87,  313,   87,  315,  244,   87,   87,  311,
    845       314,   87,  106,   87,   87,   87,  323,   87,   87,  322,
    846       229,  233,  233,  233,  233,  233,  233,  312,  333,  247,
    847       319,  316,  328,  320,  318,   87,   87,  234,  235,  236,
    848 
    849       321,  237,  236,   87,  324,   87,  325,  143,  335,  360,
    850       331,  361,   87,   87,  238,  337,  326,  327,   87,  236,
    851       235,  236,   87,  329,  237,  332,  236,  287,  288,  289,
    852       336,  290,  291,  334,   87,  292,   87,  293,  407,  360,
    853       330,  361,  294,  295,  296,   87,  297,  339,  360,  343,
    854       361,   87,  200,  201,  338,  340,  346,  200,  341,   87,
    855       342,  197,   81,   82,   82,   82,  197,  200,  201,  198,
    856       378,  361,  200,  202,  202,  202,  202,  202,  202,  344,
    857       201,  360,  347,  361,  344,  360,  345,  361,  202,  202,
    858       202,  202,  202,  202,  209,  210,  378,  143,  361,  209,
    859 
    860       202,  202,  202,  202,  202,  202,  352,  352,  352,  352,
    861       360,   87,  361,  362,  360,  360,  361,  361,  360,  363,
    862       361,  360,  360,  361,  361,  369,  369,  370,  369,  370,
    863       435,   87,  371,  371,  371,  371,  371,  371,  373,  353,
    864       373,   87,  263,  373,  264,  263,   87,  264,  369,  402,
    865        87,  369,  234,  235,  236,  406,  237,  236,  388,  401,
    866       373,   87,  373,   87,   87,  372,  390,  373,  105,  105,
    867       105,  105,  105,  105,  236,  235,  236,  404,   87,  237,
    868       405,  236,  403,  408,  388,  106,  246,  246,  246,  246,
    869       246,  246,  391,   87,   87,   87,   87,   87,   87,  419,
    870 
    871        87,  255,  425,  432,   87,  420,  434,  106,  376,  376,
    872       376,  376,  376,  376,  381,  409,  413,  105,  105,  105,
    873       105,  105,  105,   87,  234,  245,  236,  245,  237,  236,
    874       246,  246,  246,  246,  246,  246,   87,  383,  410,  384,
    875        87,  377,   87,  385,  411,  412,  236,   87,  236,  386,
    876       255,  237,   87,  236,  112,  112,  112,  112,  112,  112,
    877       414,  387,  415,  417,  418,  384,   87,  416,   87,  385,
    878        87,   87,   87,   87,   87,   87,   87,   87,   87,  421,
    879       427,  426,  433,   87,  437,   87,   87,  260,  423,  424,
    880        87,   87,  436,  429,  428,  422,   87,  430,  431,  439,
    881 
    882        87,  438,   87,   87,  446,  441,  440,  442,  443,   87,
    883        87,   87,   87,   87,   87,  445,   87,   87,   87,   87,
    884        87,  448,  447,   87,   87,  444,  449,  451,   87,  456,
    885        87,  450,   87,   87,   87,  452,  455,  454,   87,  453,
    886       457,  462,  460,  461,   87,   87,  458,  464,   87,  515,
    887       459,  463,  465,  466,  344,  201,  201,   87,  887,  344,
    888       467,  345,  199,  211,  211,  211,  211,  352,  352,  352,
    889       352,  360,  360,  361,  361,  371,  371,  371,  371,  371,
    890       371,  370,  569,  370,  492,  492,  371,  371,  371,  371,
    891       371,  371,  887,   87,  493,  494,  477,  488,  488,  488,
    892 
    893       488,  488,  488,  233,  233,  233,  233,  233,  233,  516,
    894       492,  492,   87,  234,   87,  236,   87,  237,  236,  242,
    895       242,  242,  242,  105,  105,  495,  381,  517,   87,   87,
    896       489,  496,   87,  518,   87,  236,  374,  236,  519,  520,
    897       237,  521,  236,  376,  376,  376,  376,  376,  376,  383,
    898        87,  384,  375,  496,   87,  385,  522,  496,  497,  887,
    899       497,  386,   87,  498,  498,  498,  498,  498,  498,   87,
    900       525,  495,  526,  387,   87,  524,  377,  384,  523,  496,
    901        87,  385,  383,   87,  384,   87,   87,  527,  385,   87,
    902        87,  532,   87,   87,  502,   87,  499,   87,  535,  528,
    903 
    904       529,  537,  530,  531,  533,   87,  387,   87,   87,  541,
    905       384,  534,  538,   87,  385,   87,  536,   87,   87,   87,
    906       539,  540,   87,   87,  546,   87,   87,   87,  544,  542,
    907        87,  548,   87,   87,  547,  543,   87,   87,  549,   87,
    908       545,   87,  552,   87,   87,  550,  556,  554,  551,   87,
    909       559,   87,  553,  555,   87,   87,  557,   87,   87,  558,
    910        87,   87,   87,  564,  560,  567,  563,  568,   87,  561,
    911       566,  562,   87,  565,   87,   87,  571,   87,   87,  573,
    912       627,  201,  492,  570,  576,  574,  572,  577,  211,  211,
    913       211,  211,  493,   87,  575,  488,  488,  488,  488,  488,
    914 
    915       488,  376,  376,  376,  376,  376,  376,   87,  492,   87,
    916       618,  234,  595,  236,  595,  237,  236,  596,  596,  596,
    917       596,  596,  596,  492,   87,  599,  492,  621,  489,   87,
    918        87,  623,   87,  236,  490,  236,  598,  619,  237,   87,
    919       236,  498,  498,  498,  498,  498,  498,  620,   87,  492,
    920       597,  599,  492,  600,  600,  600,  600,  600,  600,   87,
    921       631,  622,   87,  887,  625,  887,   87,  862,   87,  601,
    922       497,  602,  497,  603,  602,  498,  498,  498,  498,  498,
    923       498,  624,  628,   87,   87,  630,  604,   87,   87,   87,
    924        87,  602,  633,  602,  626,  636,  603,  632,  602,  629,
    925 
    926       634,   87,   87,  635,   87,   87,   87,  642,   87,   87,
    927       637,  641,   87,   87,  640,   87,   87,  643,  647,  639,
    928        87,   87,  887,   87,   87,   87,  638,   87,   87,  644,
    929       645,  646,  648,  650,   87,   87,   87,  649,   87,  653,
    930       651,   87,  652,   87,  654,  655,   87,   87,   87,   87,
    931       656,  657,   87,  660,  659,  661,  664,   87,  658,   87,
    932        87,  663,   87,   87,   87,  668,  665,  688,  688,  662,
    933       666,  701,  702,  887,  887,   87,  667,  488,  488,  488,
    934       488,  488,  488,  596,  596,  596,  596,  596,  596,  595,
    935       688,  595,  704,   87,  596,  596,  596,  596,  596,  596,
    936 
    937       600,  600,  600,  600,  600,  600,  703,  688,   87,  887,
    938       594,  686,  686,  686,  686,  686,  686,  689,   87,  689,
    939        87,   87,  689,  699,   87,  708,   87,  601,  706,  602,
    940       688,  603,  602,  604,  707,   87,  700,  710,  709,  689,
    941        87,  689,   87,  705,  687,   87,  689,   87,   87,  602,
    942        87,  602,   87,  716,  603,  718,  602,  712,   87,   87,
    943        87,   87,  711,   87,  714,   87,   87,  713,   87,  717,
    944       715,   87,  721,  719,   87,  724,   87,   87,  722,  720,
    945       727,   87,   87,   87,  725,   87,  731,  723,   87,  732,
    946       726,   87,   87,  861,  728,  734,   87,  733,  730,   87,
    947 
    948       735,   87,   87,  729,   87,   87,  751,  736,  686,  686,
    949       686,  686,  686,  686,  600,  600,  600,  600,  600,  600,
    950       750,   87,  755,   87,  601,  763,  602,  752,  603,  602,
    951       753,   87,   87,  764,   87,  756,  754,  757,   87,  758,
    952        87,  687,   87,   87,  759,  767,  602,  690,  602,  761,
    953        87,  603,  766,  602,   87,  760,   87,  762,   87,  765,
    954        87,  768,   87,  769,   87,   87,   87,   87,  770,   87,
    955        87,   87,   87,   87,  771,   87,  774,   87,  772,   87,
    956        87,  779,   87,   87,  795,   87,  780,  773,   87,   87,
    957       776,   87,  775,  803,  777,  796,  778,  686,  686,  686,
    958 
    959       686,  686,  686,  793,   87,  794,  799,   87,  798,   87,
    960       801,   87,   87,   87,  797,  804,  805,  800,  806,   87,
    961        87,   87,  802,  807,   87,   87,   87,  808,   87,   87,
    962       743,   87,   87,   87,  809,  828,   87,   87,   87,  830,
    963       831,  833,   87,   87,   87,  834,   87,  836,  810,  811,
    964       826,  827,   87,  829,   87,  825,  832,  837,   87,   87,
    965        87,  838,  839,   87,   87,  835,   87,   87,   87,  851,
    966       850,  855,   87,  852,  840,   87,   87,   87,  853,  857,
    967       849,   87,   87,   87,  854,  858,  859,   87,   87,  856,
    968       860,   87,  863,  864,  865,   87,   87,  866,   87,  868,
    969 
    970       867,  869,   87,   87,   87,  870,   87,   87,   87,  873,
    971        87,  875,   87,  876,   87,   87,   87,  874,   87,  872,
    972        87,   87,   87,  871,   87,  880,   87,   87,   87,  887,
    973       879,  881,  887,  848,  877,  878,  886,  887,  847,  884,
    974       887,  845,  882,  883,  887,  844,  885,   69,   69,   69,
    975        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
    976        75,   75,   75,   75,   75,   75,   75,   75,   75,   75,
    977        75,   75,   75,   78,   78,   78,   78,   78,   78,   78,
    978        78,   78,   78,   78,   78,   78,   86,  887,  843,   86,
    979       887,   86,   86,   86,   86,   86,  140,  842,   87,   87,
    980 
    981       140,  140,  140,  140,  140,  140,  199,  199,  199,  199,
    982       199,  199,  199,  199,  199,  199,  199,  199,  199,  204,
    983        87,  887,  204,  824,  204,  204,  204,  204,  204,  208,
    984       887,  208,  208,  823,  208,  208,  208,  208,  208,  208,
    985       821,  208,  216,  887,  819,  216,  216,  216,  216,  216,
    986       216,  216,  216,  887,  216,  239,  239,  239,  239,  239,
    987       239,  239,  239,  239,  239,  239,  239,  239,  253,  253,
    988       817,  253,  887,  815,  813,  253,  269,   87,   87,  269,
    989        87,  269,  269,  269,  269,  269,  273,   87,  273,   87,
    990        87,   87,  273,  275,   87,  275,   87,   87,   87,  275,
    991 
    992       348,   87,  348,  887,  792,  790,  348,  350,  887,  350,
    993       887,  787,  785,  350,  354,  783,  354,   87,   87,   87,
    994       354,  356,   87,  356,   87,   87,   87,  356,  358,  749,
    995       358,  746,  745,  743,  358,  365,  205,  365,  739,  738,
    996       670,  365,  367,   87,  367,   87,   87,   87,  367,  239,
    997       239,  239,  239,  239,  239,  239,  239,  239,  239,  239,
    998       239,  239,  380,   87,  380,  382,  382,   87,  382,  382,
    999       382,   87,  382,  253,  253,   87,  253,  392,   87,  392,
    1000        87,   87,   87,  392,  394,   87,  394,   87,   87,  697,
    1001       394,  396,  696,  396,  694,  692,  690,  396,  273,  598,
    1002 
    1003       273,  398,  685,  398,  684,  682,  680,  398,  275,  678,
    1004       275,   86,  676,  674,   86,  672,   86,   86,   86,   86,
    1005        86,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    1006       199,  199,  199,  199,  468,  468,  468,  468,  468,  468,
    1007       468,  468,  468,  468,  468,  468,  468,  469,  670,  469,
    1008        87,   87,   87,  469,  471,   87,  471,   87,   87,   87,
    1009       471,  473,   87,  473,   87,   87,   87,  473,  348,  617,
    1010       348,  475,  615,  475,  613,  611,  609,  475,  350,  607,
    1011       350,  478,  502,  478,  605,  605,  594,  478,  354,  593,
    1012       354,  480,  591,  480,  483,  483,  589,  480,  356,  587,
    1013 
    1014       356,  482,  585,  482,  583,  581,  579,  482,  358,   87,
    1015       358,  484,   87,  484,   87,   87,   87,  484,  365,   87,
    1016       365,  486,   87,  486,   87,  514,  512,  486,  367,  510,
    1017       367,  491,  508,  491,  506,  491,  504,  491,  380,  490,
    1018       380,  487,  380,  485,  380,  382,  382,  361,  382,  382,
    1019       382,  361,  382,  503,  483,  503,  481,  479,  476,  503,
    1020       505,  474,  505,  472,  470,   87,  505,  507,   87,  507,
    1021        87,  400,  399,  507,  392,  397,  392,  509,  395,  509,
    1022       393,  270,  265,  509,  394,  264,  394,  511,  389,  511,
    1023       389,  252,  379,  511,  396,  379,  396,  513,  240,  513,
    1024 
    1025       374,  368,  366,  513,  398,  364,  398,   86,  360,  359,
    1026        86,  357,   86,   86,   86,   86,   86,  468,  468,  468,
    1027       468,  468,  468,  468,  468,  468,  468,  468,  468,  468,
    1028       578,  355,  578,  351,  349,  205,  578,  469,  201,  469,
    1029       580,   87,  580,  277,  276,  274,  580,  471,  270,  471,
    1030       582,  265,  582,  268,  265,  263,  582,  473,  262,  473,
    1031       584,  261,  584,  240,  232,   85,  584,  475,   85,  475,
    1032       586,   87,  586,  205,  203,   85,  586,  478,  122,  478,
    1033       588,  117,  588,   87,  887,   70,  588,  480,   70,  480,
    1034       482,  887,  482,  887,  887,  887,  482,  590,  887,  590,
    1035 
    1036       887,  887,  887,  590,  484,  887,  484,  592,  887,  592,
    1037       887,  887,  887,  592,  486,  887,  486,  491,  887,  491,
    1038       887,  491,  887,  491,  382,  887,  382,  887,  887,  887,
    1039       382,  606,  887,  606,  887,  887,  887,  606,  503,  887,
    1040       503,  608,  887,  608,  887,  887,  887,  608,  505,  887,
    1041       505,  610,  887,  610,  887,  887,  887,  610,  507,  887,
    1042       507,  612,  887,  612,  887,  887,  887,  612,  509,  887,
    1043       509,  614,  887,  614,  887,  887,  887,  614,  511,  887,
    1044       511,  616,  887,  616,  887,  887,  887,  616,  513,  887,
    1045       513,   86,  887,  887,   86,  887,   86,   86,   86,   86,
    1046 
    1047        86,  669,  669,  669,  669,  669,  669,  669,  669,  669,
    1048       669,  669,  669,  669,  671,  887,  671,  887,  887,  887,
    1049       671,  578,  887,  578,  673,  887,  673,  887,  887,  887,
    1050       673,  580,  887,  580,  675,  887,  675,  887,  887,  887,
    1051       675,  582,  887,  582,  677,  887,  677,  887,  887,  887,
    1052       677,  584,  887,  584,  679,  887,  679,  887,  887,  887,
    1053       679,  586,  887,  586,  681,  887,  681,  887,  887,  887,
    1054       681,  588,  887,  588,  683,  887,  683,  887,  887,  887,
    1055       683,  590,  887,  590,   86,  887,   86,  887,  887,  887,
    1056        86,  592,  887,  592,  491,  887,  491,  887,  887,  887,
    1057 
    1058       491,  691,  887,  691,  887,  887,  887,  691,  606,  887,
    1059       606,  693,  887,  693,  887,  887,  887,  693,  608,  887,
    1060       608,  695,  887,  695,  887,  887,  887,  695,  610,  887,
    1061       610,  140,  887,  140,  887,  887,  887,  140,  612,  887,
    1062       612,  698,  887,  698,  614,  887,  614,   86,  887,  887,
    1063        86,  887,   86,   86,   86,   86,   86,  616,  887,  616,
    1064       669,  669,  669,  669,  669,  669,  669,  669,  669,  669,
    1065       669,  669,  669,  737,  887,  737,  887,  887,  887,  737,
    1066       671,  887,  671,  204,  887,  204,  887,  887,  887,  204,
    1067       673,  887,  673,  740,  887,  740,  675,  887,  675,  204,
    1068 
    1069       887,  887,  204,  887,  204,  204,  204,  204,  204,  677,
    1070       887,  677,  741,  887,  741,  679,  887,  679,  681,  887,
    1071       681,  742,  887,  742,  683,  887,  683,   86,  887,   86,
    1072       744,  887,  744,  887,  887,  887,  744,  691,  887,  691,
    1073       269,  887,  269,  887,  887,  887,  269,  693,  887,  693,
    1074       747,  887,  747,  695,  887,  695,  140,  887,  140,  748,
    1075       887,  748,  887,  887,  887,  748,   86,  887,  887,   86,
    1076       887,   86,   86,   86,   86,   86,  781,  887,  781,  737,
    1077       887,  737,  204,  887,  204,  782,  887,  782,  887,  887,
    1078       887,  782,  784,  887,  784,  887,  887,  887,  784,  786,
    1079 
    1080       887,  786,  887,  887,  887,  786,  788,  887,  788,  789,
    1081       887,  789,  887,  887,  887,  789,  791,  887,  791,  887,
    1082       887,  887,  791,  812,  887,  812,  887,  887,  887,  812,
    1083       814,  887,  814,  887,  887,  887,  814,  816,  887,  816,
    1084       887,  887,  887,  816,  818,  887,  818,  887,  887,  887,
    1085       818,  820,  887,  820,  887,  887,  887,  820,  822,  887,
    1086       822,  887,  887,  887,  822,  616,  887,  616,  887,  887,
    1087       887,  616,  841,  887,  841,  887,  887,  887,  841,  677,
    1088       887,  677,  887,  887,  887,  677,  681,  887,  681,  887,
    1089       887,  887,  681,   86,  887,   86,  887,  887,  887,   86,
    1090 
    1091       846,  887,  846,  887,  887,  887,  846,  140,  887,  140,
    1092       887,  887,  887,  140,  204,  887,  204,  887,  887,  887,
    1093       204,   11,  887,  887,  887,  887,  887,  887,  887,  887,
    1094       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1095       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1096       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1097       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1098       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1099       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1100       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1101 
    1102       887,  887,  887,  887,  887,  887,  887
     793       71,   71,   71,   70,   72,   70,   70,   71,   73,   71,
     794       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
     795       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
     796       71,   71,   71,   70,   70,   70,   70,   75,   75,   78,
     797       78,  122,  123,   89,  140,   78,   78,   86,   75,   75,
     798       79,   80,   81,   81,   81,   79,   81,   80,   82,   82,
     799
     800       82,   81,   90,   92,  141,  145,   86,   97,   94,   98,
     801       98,   98,   98,   98,   98,  250,  875,   93,   99,   84,
     802       95,   96,   84,  100,  176,  117,   76,   76,   76,   76,
     803      142,  146,   86,  101,  102,  143,  103,  103,  103,  103,
     804      104,  104,  118,   86,  119,  120,  147,   86,  148,  252,
     805      258,   86,  160,  105,  193,  192,  106,   86,   86,  149,
     806      150,  151,  107,  108,  152,  153,  181,  154,  109,   86,
     807      155,  156,   86,   86,  105,   86,  144,  161,  157,  158,
     808      110,  159,  204,  261,  162,  262,   86,  179,  107,  228,
     809      163,  108,  102,  180,  111,  111,  111,  111,  111,  111,
     810
     811       86,  168,   86,  169,  194,   86,   86,   86,  205,  164,
     812       86,  105,  170,  165,  112,  229,  177,   86,  166,  186,
     813      113,  281,  167,  178,  269,   86,  114,  187,  191,  182,
     814      183,  142,  105,  261,  188,  262,  143,  284,  115,  184,
     815       86,   86,  185,  198,  199,  171,  113,  124,  198,  189,
     816      270,  125,  126,  172,  127,  173,  128,  129,  174,  130,
     817      248,  131,  175,  256,  200,  200,  200,  200,  200,  200,
     818      132,  133,  134,  261,   86,  262,   86,  144,  195,   80,
     819       81,   81,   81,  195,  249,  280,  196,  257,   86,   86,
     820      135,  190,   86,  136,   79,   80,   81,   81,   81,   79,
     821
     822       81,   80,   81,   81,   81,   81,   81,   80,   82,   82,
     823       82,   81,  261,  305,  262,  240,  240,  240,  240,  246,
     824      137,  138,  207,  208,  875,  247,  254,  207,   86,  209,
     825      247,  261,  255,  262,  209,   98,   98,   98,   98,   98,
     826       98,  263,  875,  210,  210,  210,  210,  241,  246,  308,
     827      875,  247,  263,  261,  209,  262,  247,  102,  255,  104,
     828      104,  104,  104,  104,  104,   86,  261,  239,  262,  211,
     829      875,  261,  209,  262,   86,  255,  105,  209,  209,  875,
     830      276,  209,  209,   86,  253,  264,  261,  277,  262,  209,
     831      296,  242,  209,  254,  209,  212,  209,  105,  213,  215,
     832
     833      261,  255,  262,  216,  217,  283,   86,  875,  218,  219,
     834      243,  220,  243,  221,   86,  244,  244,  244,  244,  244,
     835      244,   86,  222,  223,  224,  261,  265,  262,  142,  306,
     836       86,   86,  278,  143,   86,   86,  285,  286,  287,  279,
     837      288,  289,  225,   86,  290,  226,  291,  245,  282,   86,
     838       86,  292,  293,  294,   86,  295,  297,  875,  298,  301,
     839       86,   86,  307,   86,  299,  300,  309,  303,   86,   86,
     840      304,   86,  302,  227,  231,  231,  231,  231,  231,  231,
     841       86,   86,   86,  312,  310,  311,  313,   86,   86,   86,
     842      232,  233,   86,  234,  235,   86,  142,   86,  314,   86,
     843
     844      321,  315,  330,   86,  320,   86,  236,  318,   86,  316,
     845      317,  232,  233,  232,  319,  325,  234,   86,  235,  322,
     846       86,   86,   86,  331,  333,  328,  332,  629,  326,  323,
     847      324,   86,  207,  208,  337,  335,  338,  207,  365,   86,
     848      329,  342,  334,  336,  339,  327,  195,   80,   81,   81,
     849       81,  195,  198,  199,  196,   86,   86,  198,  198,  199,
     850      356,  365,  357,  198,  340,  199,  356,  343,  357,  340,
     851      356,  341,  357,  200,  200,  200,  200,  200,  200,  200,
     852      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
     853      200,  348,  348,  348,  348,  357,  357,  356,   86,  357,
     854
     855      358,  356,  356,  357,  357,  356,  359,  357,  356,  356,
     856      357,  357,  356,  356,  357,  357,  369,  365,  403,  366,
     857      369,  366,   86,  349,  367,  367,  367,  367,  367,  367,
     858      875,  232,  233,   86,  234,  235,  261,  369,  262,  369,
     859      365,  261,  405,  262,  369,  104,  104,  104,  104,  104,
     860      104,  398,  232,  233,  232,  374,  368,  234,   86,  235,
     861       86,   86,  105,   86,  371,  244,  244,  244,  244,  244,
     862      244,  384,  386,  397,   86,   86,  399,  253,  401,  400,
     863      402,  374,   86,  105,  372,  372,  372,  372,  372,  372,
     864      104,  104,  104,  104,  104,  104,  377,  384,  387,   86,
     865
     866      232,   86,   86,  234,  235,  243,  404,  243,  411,   86,
     867      244,  244,  244,  244,  244,  244,  373,  410,  379,   86,
     868      380,  232,  253,  232,  381,  409,  234,  419,  235,   86,
     869      382,  111,  111,  111,  111,  111,  111,   86,   86,   86,
     870       86,   86,  383,   86,  412,  415,  380,   86,  416,   86,
     871      381,   86,  406,   86,  413,  414,  417,   86,  407,  408,
     872      422,   86,  421,  258,   86,  420,   86,   86,  418,  424,
     873       86,  423,  428,   86,  426,  427,  430,   86,  429,  425,
     874       86,   86,   86,   86,   86,  431,  432,  433,   86,  437,
     875       86,  435,   86,  438,   86,  439,  434,   86,  436,   86,
     876
     877       86,   86,   86,   86,   86,   86,   86,  443,   86,   86,
     878      444,  441,  440,  446,   86,  442,  445,  451,   86,   86,
     879      142,  450,   86,   86,  447,  449,  448,  456,  452,   86,
     880       86,  459,  453,   86,  494,  460,  454,  455,  340,  199,
     881      457,  199,  458,  340,  356,  341,  357,  197,  461,  209,
     882      209,  209,  209,  348,  348,  348,  348,  356,  495,  357,
     883       86,   86,   86,   86,  367,  367,  367,  367,  367,  367,
     884      366,  509,  366,  514,   86,  367,  367,  367,  367,  367,
     885      367,  471,  482,  482,  482,  482,  482,  482,  231,  231,
     886      231,  231,  231,  231,   86,   86,  516,   86,  232,  486,
     887
     888      875,  234,  235,  240,  240,  240,  240,  104,  104,  487,
     889      489,  510,  486,  512,  483,  377,  490,  545,  490,  232,
     890      370,  232,  488,   86,  234,  486,  235,  372,  372,  372,
     891      372,  372,  372,   86,  875,  371,  489,  379,  486,  380,
     892       86,  525,  490,  381,  490,  491,  529,  491,  511,  382,
     893      492,  492,  492,  492,  492,  492,  379,   86,  380,  373,
     894       86,  383,  381,   86,   86,  380,  513,   86,  496,  381,
     895       86,   86,  515,  517,   86,   86,  519,   86,   86,   86,
     896      383,   86,  493,  518,  380,   86,  526,  521,  381,  520,
     897       86,  522,  523,  524,  527,   86,  531,  532,  530,   86,
     898
     899       86,  528,   86,   86,   86,  533,   86,   86,   86,  534,
     900       86,  535,  538,  541,   86,  543,  539,   86,   86,   86,
     901       86,  536,   86,  542,  537,  544,   86,  540,   86,  551,
     902       86,   86,  547,   86,  549,   86,  546,   86,   86,   86,
     903      548,   86,  550,  552,   86,   86,  558,   86,   86,   86,
     904      555,  553,  554,  556,  560,  561,  559,  557,   86,   86,
     905      567,  566,   86,  716,  563,  562,  199,  564,   86,  568,
     906      486,  569,  570,  209,  209,  209,  209,  565,  482,  482,
     907      482,  482,  482,  482,  372,  372,  372,  372,  372,  372,
     908      616,   86,  486,  486,  232,  592,  486,  234,  235,  588,
     909
     910       86,  588,  487,  591,  589,  589,  589,  589,  589,  589,
     911      483,  614,   86,  612,   86,  232,  484,  232,  486,  486,
     912      234,  592,  235,  492,  492,  492,  492,  492,  492,  611,
     913       86,   86,   86,   86,  621,  620,  590,  593,  593,  593,
     914      593,  593,  593,   86,  615,  613,  617,   86,  618,   86,
     915       86,   86,   86,  594,  626,  875,  595,  596,  491,  856,
     916      491,  619,  622,  492,  492,  492,  492,  492,  492,  597,
     917      623,   86,   86,  624,  594,   86,  594,   86,   86,  595,
     918      625,  596,   86,  627,   86,   86,  630,   86,  628,  635,
     919      634,   86,   86,  633,   86,   86,  636,   86,   86,  632,
     920
     921      631,   86,   86,  641,   86,   86,   86,   86,   86,  638,
     922      642,   86,  639,  640,   86,   86,  644,  637,   86,  643,
     923      645,  646,   86,  647,  648,  652,   86,  651,   86,  650,
     924       86,  649,   86,  656,  653,  658,   86,  655,  654,   86,
     925       86,   86,   86,   86,  657,  659,   86,   86,  682,  660,
     926      682,   86,  696,  695,  700,  662,  749,  661,  482,  482,
     927      482,  482,  482,  482,  589,  589,  589,  589,  589,  589,
     928      588,  682,  588,  682,   86,  589,  589,  589,  589,  589,
     929      589,  593,  593,  593,  593,  593,  593,  697,   86,   86,
     930      587,  680,  680,  680,  680,  680,  680,  683,   86,   86,
     931
     932       86,  683,   86,  693,   86,  698,   86,  594,  701,  703,
     933      595,  596,  699,  597,   86,   86,  694,  704,  683,  702,
     934      683,  705,   86,  681,   86,  683,   86,  712,  594,  706,
     935      594,   86,   86,  595,  710,  596,   86,  707,   86,  708,
     936       86,   86,   86,  711,   86,   86,  709,  713,   86,  715,
     937      718,   86,   86,   86,   86,   86,  714,   86,   86,   86,
     938      717,  722,  726,   86,  719,  723,  727,  720,   86,   86,
     939      721,   86,  725,  729,   86,  875,  875,  728,  724,  745,
     940      730,  748,   86,  747,  731,  680,  680,  680,  680,  680,
     941      680,  593,  593,  593,  593,  593,  593,   86,   86,   86,
     942
     943       86,  594,  750,  751,  595,  596,   86,  746,   86,  752,
     944       86,   86,  755,  759,  754,   86,  753,  681,  757,  756,
     945      762,   86,  594,  684,  594,   86,   86,  595,  760,  596,
     946      761,   86,  758,   86,  763,   86,   86,   86,   86,  764,
     947       86,   86,   86,  765,   86,   86,  766,  769,   86,   86,
     948      767,   86,   86,   86,  768,   86,   86,  774,  790,   86,
     949      775,   86,  771,  770,   86,  792,  772,  791,   86,  773,
     950      680,  680,  680,  680,  680,  680,  788,   86,  789,   86,
     951      796,  794,  793,  798,   86,   86,   86,  799,  800,   86,
     952       86,   86,  797,  801,  795,   86,   86,   86,  802,  803,
     953
     954       86,   86,  738,   86,  804,   86,  823,   86,   86,   86,
     955       86,  825,  826,  805,  806,  828,   86,   86,   86,  822,
     956      829,  821,   86,   86,  820,  827,  831,  824,   86,   86,
     957       86,  832,   86,   86,  834,   86,  846,   86,  830,  833,
     958       86,  847,  845,  844,   86,  835,   86,  849,   86,   86,
     959       86,  851,  852,   86,   86,  848,   86,  859,   86,  853,
     960       86,   86,  854,  850,   86,  857,  858,  861,  860,   86,
     961       86,   86,  862,  863,   86,   86,   86,  866,   86,  868,
     962      864,   86,   86,   86,   86,  867,  865,  875,   86,  875,
     963      855,  871,   86,   86,  874,   86,   86,   86,  875,  875,
     964
     965      869,  843,  870,  875,  842,  872,  873,   68,   68,   68,
     966       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
     967       74,   74,   74,   74,   74,   74,   74,   74,   74,   74,
     968       74,   74,   74,   77,   77,   77,   77,   77,   77,   77,
     969       77,   77,   77,   77,   77,   77,   85,  875,  840,   85,
     970      875,   85,   85,   85,   85,   85,  139,  839,  875,  838,
     971      139,  139,  139,  139,  139,  139,  197,  197,  197,  197,
     972      197,  197,  197,  197,  197,  197,  197,  197,  197,  202,
     973      875,  837,  202,   86,  202,  202,  202,  202,  202,  206,
     974       86,  206,  206,   86,  206,  206,  206,  206,  206,  206,
     975
     976      875,  206,  214,  819,  875,  214,  214,  214,  214,  214,
     977      214,  214,  214,  818,  214,  237,  237,  237,  237,  237,
     978      237,  237,  237,  237,  237,  237,  237,  237,  251,  251,
     979      816,  251,  875,  814,  875,  251,  267,  812,  875,  267,
     980      810,  267,  267,  267,  267,  267,  271,  808,  271,   86,
     981       86,   86,  271,  273,   86,  273,   86,   86,   86,  273,
     982      344,   86,  344,   86,   86,   86,  344,  346,   86,  346,
     983      875,  787,  785,  346,  350,  875,  350,  875,  782,  780,
     984      350,  352,  778,  352,   86,   86,   86,  352,  354,   86,
     985      354,   86,   86,   86,  354,  361,   86,  361,  744,  741,
     986
     987      740,  361,  363,  738,  363,  203,  734,  733,  363,  237,
     988      237,  237,  237,  237,  237,  237,  237,  237,  237,  237,
     989      237,  237,  376,  664,  376,  378,  378,   86,  378,  378,
     990      378,   86,  378,  251,  251,   86,  251,  388,   86,  388,
     991       86,   86,   86,  388,  390,   86,  390,   86,   86,   86,
     992      390,  392,   86,  392,   86,   86,   86,  392,  271,  691,
     993      271,  394,  690,  394,  688,  686,  684,  394,  273,  591,
     994      273,   85,  679,  678,   85,  676,   85,   85,   85,   85,
     995       85,  197,  197,  197,  197,  197,  197,  197,  197,  197,
     996      197,  197,  197,  197,  462,  462,  462,  462,  462,  462,
     997
     998      462,  462,  462,  462,  462,  462,  462,  463,  674,  463,
     999      672,  670,  668,  463,  465,  666,  465,  664,   86,   86,
     1000      465,  467,   86,  467,   86,   86,   86,  467,  344,   86,
     1001      344,  469,   86,  469,   86,  610,  608,  469,  346,  606,
     1002      346,  472,  604,  472,  602,  600,  496,  472,  350,  598,
     1003      350,  474,  598,  474,  587,  586,  584,  474,  352,  477,
     1004      352,  476,  477,  476,  582,  580,  578,  476,  354,  576,
     1005      354,  478,  574,  478,  572,   86,   86,  478,  361,   86,
     1006      361,  480,   86,  480,   86,   86,   86,  480,  363,   86,
     1007      363,  485,  508,  485,  506,  485,  504,  485,  376,  502,
     1008
     1009      376,  500,  376,  498,  376,  378,  378,  484,  378,  378,
     1010      378,  481,  378,  497,  479,  497,  357,  357,  477,  497,
     1011      499,  475,  499,  473,  470,  468,  499,  501,  466,  501,
     1012      464,   86,   86,  501,  388,   86,  388,  503,  396,  503,
     1013      395,  393,  391,  503,  390,  389,  390,  505,  268,  505,
     1014      263,  262,  385,  505,  392,  385,  392,  507,  250,  507,
     1015      375,  375,  238,  507,  394,  370,  394,   85,  364,  362,
     1016       85,  360,   85,   85,   85,   85,   85,  462,  462,  462,
     1017      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
     1018      571,  356,  571,  355,  353,  351,  571,  463,  347,  463,
     1019
     1020      573,  345,  573,  203,  199,   86,  573,  465,  275,  465,
     1021      575,  274,  575,  272,  268,  263,  575,  467,  266,  467,
     1022      577,  263,  577,  261,  260,  259,  577,  469,  238,  469,
     1023      579,  230,  579,   84,   84,   86,  579,  472,  203,  472,
     1024      581,  201,  581,   84,  121,  116,  581,  474,   86,  474,
     1025      476,  875,  476,   69,   69,  875,  476,  583,  875,  583,
     1026      875,  875,  875,  583,  478,  875,  478,  585,  875,  585,
     1027      875,  875,  875,  585,  480,  875,  480,  485,  875,  485,
     1028      875,  485,  875,  485,  378,  875,  378,  875,  875,  875,
     1029      378,  599,  875,  599,  875,  875,  875,  599,  497,  875,
     1030
     1031      497,  601,  875,  601,  875,  875,  875,  601,  499,  875,
     1032      499,  603,  875,  603,  875,  875,  875,  603,  501,  875,
     1033      501,  605,  875,  605,  875,  875,  875,  605,  503,  875,
     1034      503,  607,  875,  607,  875,  875,  875,  607,  505,  875,
     1035      505,  609,  875,  609,  875,  875,  875,  609,  507,  875,
     1036      507,   85,  875,  875,   85,  875,   85,   85,   85,   85,
     1037       85,  663,  663,  663,  663,  663,  663,  663,  663,  663,
     1038      663,  663,  663,  663,  665,  875,  665,  875,  875,  875,
     1039      665,  571,  875,  571,  667,  875,  667,  875,  875,  875,
     1040      667,  573,  875,  573,  669,  875,  669,  875,  875,  875,
     1041
     1042      669,  575,  875,  575,  671,  875,  671,  875,  875,  875,
     1043      671,  577,  875,  577,  673,  875,  673,  875,  875,  875,
     1044      673,  579,  875,  579,  675,  875,  675,  875,  875,  875,
     1045      675,  581,  875,  581,  677,  875,  677,  875,  875,  875,
     1046      677,  583,  875,  583,   85,  875,   85,  875,  875,  875,
     1047       85,  585,  875,  585,  485,  875,  485,  875,  875,  875,
     1048      485,  685,  875,  685,  875,  875,  875,  685,  599,  875,
     1049      599,  687,  875,  687,  875,  875,  875,  687,  601,  875,
     1050      601,  689,  875,  689,  875,  875,  875,  689,  603,  875,
     1051      603,  139,  875,  139,  875,  875,  875,  139,  605,  875,
     1052
     1053      605,  692,  875,  692,  607,  875,  607,   85,  875,  875,
     1054       85,  875,   85,   85,   85,   85,   85,  609,  875,  609,
     1055      663,  663,  663,  663,  663,  663,  663,  663,  663,  663,
     1056      663,  663,  663,  732,  875,  732,  875,  875,  875,  732,
     1057      665,  875,  665,  202,  875,  202,  875,  875,  875,  202,
     1058      667,  875,  667,  735,  875,  735,  669,  875,  669,  202,
     1059      875,  875,  202,  875,  202,  202,  202,  202,  202,  671,
     1060      875,  671,  736,  875,  736,  673,  875,  673,  675,  875,
     1061      675,  737,  875,  737,  677,  875,  677,   85,  875,   85,
     1062      739,  875,  739,  875,  875,  875,  739,  685,  875,  685,
     1063
     1064      267,  875,  267,  875,  875,  875,  267,  687,  875,  687,
     1065      742,  875,  742,  689,  875,  689,  139,  875,  139,  743,
     1066      875,  743,  875,  875,  875,  743,   85,  875,  875,   85,
     1067      875,   85,   85,   85,   85,   85,  776,  875,  776,  732,
     1068      875,  732,  202,  875,  202,  777,  875,  777,  875,  875,
     1069      875,  777,  779,  875,  779,  875,  875,  875,  779,  781,
     1070      875,  781,  875,  875,  875,  781,  783,  875,  783,  784,
     1071      875,  784,  875,  875,  875,  784,  786,  875,  786,  875,
     1072      875,  875,  786,  807,  875,  807,  875,  875,  875,  807,
     1073      809,  875,  809,  875,  875,  875,  809,  811,  875,  811,
     1074
     1075      875,  875,  875,  811,  813,  875,  813,  875,  875,  875,
     1076      813,  815,  875,  815,  875,  875,  875,  815,  817,  875,
     1077      817,  875,  875,  875,  817,  609,  875,  609,  875,  875,
     1078      875,  609,  836,  875,  836,  875,  875,  875,  836,  671,
     1079      875,  671,  875,  875,  875,  671,  675,  875,  675,  875,
     1080      875,  875,  675,   85,  875,   85,  875,  875,  875,   85,
     1081      841,  875,  841,  875,  875,  875,  841,  139,  875,  139,
     1082      875,  875,  875,  139,  202,  875,  202,  875,  875,  875,
     1083      202,   11,  875,  875,  875,  875,  875,  875,  875,  875,
     1084      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1085
     1086      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1087      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1088      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1089      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1090      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1091      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1092      875,  875,  875,  875,  875,  875
    11031093    } ;
    11041094
    1105 static yyconst flex_int16_t yy_chk[2908] =
     1095static yyconst flex_int16_t yy_chk[2867] =
    11061096    {   0,
    11071097        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     
    11131103        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    11141104        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    1115         1,    1,    1,    1,    1,    2,   16,   24,   16,   24,
    1116         2,   19,   19,    2,    5,    5,    5,    5,    5,    5,
     1105        1,    1,    1,    1,    2,   16,   24,   16,   24,    2,
     1106       19,   19,    2,    5,    5,    5,    5,    5,    5,    5,
    11171107
    11181108        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
     
    11231113        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    11241114        5,    5,    5,    5,    5,    5,    5,    5,    5,    5,
    1125         5,    5,    5,    5,    5,    5,    5,    5,    5,    7,
    1126         8,    9,   10,   37,   37,   20,   39,    9,   10,  886,
    1127         7,    8,   13,   13,   13,   13,   13,   13,   15,   15,
    1128 
    1129        15,   15,   15,   15,   20,   25,   48,   39,   42,   28,
    1130        27,   28,   28,   28,   28,   28,   28,  109,  115,   25,
    1131        29,   25,   27,   27,   27,   29,   48,   35,   40,    7,
    1132         8,    9,   10,   40,   42,   29,   30,   47,   30,   30,
    1133        30,   30,   30,   30,   35,   57,   35,   35,   44,  126,
    1134        44,  126,  109,  115,   57,   30,   64,   56,   47,   30,
    1135        47,   45,   45,   45,   49,   30,   30,   45,   45,   49,
    1136        45,   30,   40,   45,   45,   40,   49,   30,   45,   56,
    1137        62,   45,   49,   30,   73,  885,  127,   53,  127,   51,
    1138        61,   30,   62,   55,   30,   31,  108,   31,   31,   31,
    1139 
    1140        31,   31,   31,   50,   51,   53,   51,   64,   61,   54,
    1141        73,   55,   50,   87,   31,   51,   50,   55,   31,   54,
    1142       108,   50,   52,  114,   31,   50,   54,   52,  175,  129,
    1143        31,  129,  107,  154,  151,   52,   31,   52,  107,   87,
    1144        52,   60,   31,  132,   52,  132,   60,  114,  175,  154,
    1145        31,   38,  151,  385,  111,   38,   38,   58,   38,   60,
    1146        38,   38,  113,   38,  107,   38,   59,  130,  113,   58,
    1147        58,  116,  111,  164,   38,   38,   38,  385,   59,   58,
    1148       111,  130,   58,  130,  142,   60,   59,  131,   60,  116,
    1149       164,   68,   68,   59,  113,   38,   68,  116,   38,  131,
    1150 
    1151       110,  131,   60,   67,   67,   67,   67,   67,   67,  877,
    1152       142,   67,   68,   68,   68,   68,   68,   68,   80,   80,
    1153        80,   80,   80,   80,  153,   38,   38,   77,   77,  134,
    1154       110,  134,   77,  153,   77,  110,  135,  135,  135,   77,
    1155        82,   82,   82,   82,   82,   82,  876,  243,   77,   77,
    1156        77,   77,   83,   83,   83,   83,   83,   83,  110,   77,
    1157       103,  103,  103,  103,  103,  103,  104,  104,  104,  104,
    1158       133,  133,  137,  133,  137,   77,  145,  139,   77,  139,
    1159       157,  145,  243,   77,   77,  152,  156,   77,   77,  155,
    1160       166,  150,  157,  103,  104,   77,  159,  168,   77,  104,
    1161 
    1162        77,   77,   77,  152,   77,   85,  150,  155,  156,   85,
    1163        85,  166,  159,  150,   85,   85,  161,   85,  160,   85,
    1164       145,  162,  104,  167,  168,  161,  169,  163,   85,   85,
    1165        85,  105,  163,  105,  105,  105,  105,  105,  105,  873,
    1166       160,  171,  162,  162,  165,  163,  167,  169,  173,   85,
    1167       105,  106,   85,  106,  165,  172,  106,  106,  106,  106,
    1168       106,  106,  180,  171,  170,  173,  105,  176,  177,  170,
    1169       172,  181,  105,  174,  184,  187,  181,  182,  179,  180,
    1170        85,   99,   99,   99,   99,   99,   99,  170,  187,  106,
    1171       177,  174,  184,  179,  176,  183,  190,   99,   99,   99,
    1172 
    1173       179,   99,   99,  189,  182,  186,  183,  191,  189,  218,
    1174       186,  218,  185,  188,   99,  190,  183,  183,  284,   99,
    1175        99,   99,  158,  185,   99,  186,   99,  158,  158,  158,
    1176       189,  158,  158,  188,  192,  158,  194,  158,  284,  219,
    1177       185,  219,  158,  158,  158,  193,  158,  192,  220,  194,
    1178       220,  191,  198,  198,  191,  192,  205,  198,  193,  872,
    1179       193,  197,  197,  197,  197,  197,  197,  200,  200,  197,
    1180       248,  221,  200,  198,  198,  198,  198,  198,  198,  202,
    1181       202,  223,  205,  223,  202,  221,  202,  221,  200,  200,
    1182       200,  200,  200,  200,  209,  209,  248,  338,  222,  209,
    1183 
    1184       202,  202,  202,  202,  202,  202,  212,  212,  212,  212,
    1185       222,  309,  222,  224,  224,  225,  224,  225,  226,  226,
    1186       226,  228,  229,  228,  229,  234,  234,  235,  236,  235,
    1187       309,  279,  235,  235,  235,  235,  235,  235,  237,  212,
    1188       237,  338,  266,  237,  266,  267,  278,  267,  234,  279,
    1189       283,  236,  241,  241,  241,  283,  241,  241,  256,  278,
    1190       237,  281,  237,  282,  280,  235,  270,  237,  244,  244,
    1191       244,  244,  244,  244,  241,  241,  241,  281,  285,  241,
    1192       282,  241,  280,  285,  256,  244,  245,  245,  245,  245,
    1193       245,  245,  270,  288,  293,  286,  294,  300,  306,  293,
    1194 
    1195       308,  244,  300,  306,  870,  294,  308,  244,  246,  246,
    1196       246,  246,  246,  246,  253,  286,  288,  255,  255,  255,
    1197       255,  255,  255,  287,  246,  247,  246,  247,  246,  246,
    1198       247,  247,  247,  247,  247,  247,  290,  253,  287,  253,
    1199       869,  246,  289,  253,  287,  287,  246,  292,  246,  253,
    1200       255,  246,  291,  246,  260,  260,  260,  260,  260,  260,
    1201       289,  253,  290,  292,  292,  253,  295,  291,  296,  253,
    1202       297,  299,  301,  302,  303,  304,  305,  307,  311,  295,
    1203       302,  301,  307,  310,  311,  312,  319,  260,  297,  299,
    1204       313,  314,  310,  304,  303,  296,  318,  305,  305,  313,
    1205 
    1206       315,  312,  316,  317,  319,  315,  314,  316,  317,  320,
    1207       322,  323,  324,  326,  325,  318,  327,  328,  331,  329,
    1208       330,  322,  320,  332,  334,  317,  323,  325,  333,  330,
    1209       335,  324,  337,  339,  340,  326,  329,  328,  401,  327,
    1210       331,  337,  334,  335,  341,  343,  332,  340,  342,  401,
    1211       333,  339,  341,  342,  344,  344,  345,  460,  862,  344,
    1212       343,  344,  345,  352,  352,  352,  352,  353,  353,  353,
    1213       353,  362,  363,  362,  363,  370,  370,  370,  370,  370,
    1214       370,  372,  460,  372,  380,  381,  372,  372,  372,  372,
    1215       372,  372,  861,  402,  380,  381,  352,  371,  371,  371,
    1216 
    1217       371,  371,  371,  374,  374,  374,  374,  374,  374,  402,
    1218       380,  381,  403,  371,  404,  371,  860,  371,  371,  375,
    1219       375,  375,  375,  375,  375,  383,  382,  403,  406,  405,
    1220       371,  383,  407,  404,  408,  371,  374,  371,  405,  406,
    1221       371,  407,  371,  376,  376,  376,  376,  376,  376,  382,
    1222       412,  382,  375,  387,  411,  382,  408,  383,  384,  386,
    1223       384,  382,  410,  384,  384,  384,  384,  384,  384,  409,
    1224       411,  387,  412,  382,  413,  410,  376,  382,  409,  387,
    1225       415,  382,  386,  414,  386,  416,  417,  413,  386,  418,
    1226       421,  417,  419,  422,  386,  420,  384,  427,  419,  414,
    1227 
    1228       414,  421,  415,  416,  418,  423,  386,  425,  429,  427,
    1229       386,  418,  422,  430,  386,  431,  420,  432,  433,  434,
    1230       423,  425,  435,  437,  433,  439,  440,  441,  431,  429,
    1231       442,  435,  443,  444,  434,  430,  449,  445,  437,  447,
    1232       432,  450,  441,  451,  454,  439,  445,  443,  440,  452,
    1233       450,  453,  442,  444,  455,  456,  447,  457,  458,  449,
    1234       459,  461,  463,  455,  451,  458,  454,  459,  462,  452,
    1235       457,  453,  466,  456,  464,  467,  462,  525,  859,  463,
    1236       525,  468,  491,  461,  467,  464,  462,  468,  477,  477,
    1237       477,  477,  491,  515,  466,  488,  488,  488,  488,  488,
    1238 
    1239       488,  490,  490,  490,  490,  490,  490,  519,  491,  521,
    1240       515,  488,  492,  488,  492,  488,  488,  492,  492,  492,
    1241       492,  492,  492,  494,  516,  495,  493,  519,  488,  855,
    1242       851,  521,  518,  488,  490,  488,  493,  516,  488,  529,
    1243       488,  497,  497,  497,  497,  497,  497,  518,  520,  494,
    1244       492,  495,  493,  498,  498,  498,  498,  498,  498,  523,
    1245       529,  520,  526,  848,  523,  847,  528,  846,  522,  498,
    1246       499,  498,  499,  498,  498,  499,  499,  499,  499,  499,
    1247       499,  522,  526,  524,  527,  528,  498,  531,  530,  532,
    1248       533,  498,  531,  498,  524,  534,  498,  530,  498,  527,
    1249 
    1250       532,  535,  537,  533,  536,  538,  539,  541,  542,  547,
    1251       535,  539,  544,  541,  538,  545,  546,  542,  547,  537,
    1252       550,  551,  845,  549,  534,  552,  536,  554,  560,  544,
    1253       545,  546,  549,  551,  555,  557,  558,  550,  561,  555,
    1254       552,  562,  554,  565,  557,  558,  564,  567,  566,  568,
    1255       560,  561,  575,  565,  564,  566,  569,  571,  562,  574,
    1256       572,  568,  569,  620,  619,  575,  571,  601,  601,  567,
    1257       572,  619,  620,  844,  843,  622,  574,  594,  594,  594,
    1258       594,  594,  594,  595,  595,  595,  595,  595,  595,  597,
    1259       601,  597,  622,  621,  597,  597,  597,  597,  597,  597,
    1260 
    1261       600,  600,  600,  600,  600,  600,  621,  602,  626,  842,
    1262       594,  596,  596,  596,  596,  596,  596,  603,  618,  603,
    1263       623,  624,  603,  618,  628,  626,  625,  596,  624,  596,
    1264       602,  596,  596,  600,  625,  627,  618,  628,  627,  603,
    1265       629,  603,  630,  623,  596,  631,  603,  632,  633,  596,
    1266       634,  596,  635,  634,  596,  636,  596,  630,  637,  638,
    1267       640,  644,  629,  639,  632,  641,  642,  631,  645,  635,
    1268       633,  646,  639,  637,  650,  642,  651,  656,  640,  638,
    1269       646,  653,  657,  636,  644,  665,  656,  641,  664,  657,
    1270       645,  667,  668,  841,  650,  665,  700,  664,  653,  699,
    1271 
    1272       667,  702,  705,  651,  714,  837,  700,  668,  686,  686,
    1273       686,  686,  686,  686,  690,  690,  690,  690,  690,  690,
    1274       699,  708,  705,  703,  686,  714,  686,  702,  686,  686,
    1275       703,  704,  706,  715,  707,  706,  704,  707,  710,  708,
    1276       712,  686,  711,  717,  710,  718,  686,  690,  686,  712,
    1277       720,  686,  717,  686,  713,  711,  716,  713,  719,  716,
    1278       721,  719,  715,  720,  722,  723,  724,  725,  721,  728,
    1279       731,  718,  732,  735,  722,  733,  725,  736,  723,  756,
    1280       757,  735,  836,  754,  756,  759,  736,  724,  755,  760,
    1281       731,  761,  728,  764,  732,  757,  733,  743,  743,  743,
    1282 
    1283       743,  743,  743,  754,  758,  755,  760,  762,  759,  763,
    1284       762,  769,  766,  768,  758,  766,  768,  761,  769,  772,
    1285       770,  764,  763,  770,  771,  773,  778,  771,  793,  795,
    1286       743,  798,  797,  796,  772,  797,  799,  800,  802,  799,
    1287       800,  803,  804,  806,  807,  804,  810,  807,  773,  778,
    1288       795,  796,  809,  798,  808,  793,  802,  808,  811,  826,
    1289       830,  809,  810,  827,  829,  806,  828,  803,  831,  828,
    1290       827,  831,  832,  829,  811,  834,  835,  839,  830,  835,
    1291       826,  840,  838,  849,  830,  838,  839,  853,  850,  832,
    1292       840,  852,  849,  850,  852,  854,  856,  853,  857,  856,
    1293 
    1294       854,  857,  858,  863,  864,  858,  865,  866,  867,  865,
    1295       868,  867,  871,  868,  874,  875,  878,  866,  879,  864,
    1296       880,  882,  881,  863,  883,  878,  884,  833,  825,  824,
    1297       875,  879,  823,  822,  871,  874,  884,  821,  820,  882,
    1298       819,  818,  880,  881,  817,  816,  883,  888,  888,  888,
    1299       888,  888,  888,  888,  888,  888,  888,  888,  888,  888,
    1300       889,  889,  889,  889,  889,  889,  889,  889,  889,  889,
    1301       889,  889,  889,  890,  890,  890,  890,  890,  890,  890,
    1302       890,  890,  890,  890,  890,  890,  891,  815,  814,  891,
    1303       813,  891,  891,  891,  891,  891,  892,  812,  805,  801,
    1304 
    1305       892,  892,  892,  892,  892,  892,  893,  893,  893,  893,
    1306       893,  893,  893,  893,  893,  893,  893,  893,  893,  894,
    1307       794,  792,  894,  791,  894,  894,  894,  894,  894,  895,
    1308       790,  895,  895,  789,  895,  895,  895,  895,  895,  895,
    1309       788,  895,  896,  787,  786,  896,  896,  896,  896,  896,
    1310       896,  896,  896,  785,  896,  897,  897,  897,  897,  897,
    1311       897,  897,  897,  897,  897,  897,  897,  897,  898,  898,
    1312       784,  898,  783,  782,  781,  898,  899,  780,  779,  899,
    1313       777,  899,  899,  899,  899,  899,  900,  776,  900,  775,
    1314       774,  767,  900,  901,  765,  901,  753,  752,  751,  901,
    1315 
    1316       902,  750,  902,  749,  748,  747,  902,  903,  746,  903,
    1317       745,  742,  741,  903,  904,  740,  904,  734,  730,  729,
    1318       904,  905,  727,  905,  726,  709,  701,  905,  906,  698,
    1319       906,  693,  691,  687,  906,  907,  677,  907,  673,  671,
    1320       669,  907,  908,  666,  908,  663,  662,  661,  908,  909,
    1321       909,  909,  909,  909,  909,  909,  909,  909,  909,  909,
    1322       909,  909,  910,  660,  910,  911,  911,  659,  911,  911,
    1323       911,  658,  911,  912,  912,  655,  912,  913,  654,  913,
    1324       652,  649,  648,  913,  914,  647,  914,  643,  616,  612,
    1325       914,  915,  610,  915,  608,  606,  604,  915,  916,  598,
    1326 
    1327       916,  917,  592,  917,  590,  588,  586,  917,  918,  584,
    1328       918,  919,  582,  580,  919,  578,  919,  919,  919,  919,
    1329       919,  920,  920,  920,  920,  920,  920,  920,  920,  920,
    1330       920,  920,  920,  920,  921,  921,  921,  921,  921,  921,
    1331       921,  921,  921,  921,  921,  921,  921,  922,  577,  922,
    1332       576,  573,  570,  922,  923,  563,  923,  559,  556,  553,
    1333       923,  924,  548,  924,  543,  540,  517,  924,  925,  513,
    1334       925,  926,  511,  926,  509,  507,  505,  926,  927,  503,
    1335       927,  928,  502,  928,  501,  500,  489,  928,  929,  486,
    1336       929,  930,  484,  930,  483,  482,  480,  930,  931,  478,
    1337 
    1338       931,  932,  475,  932,  473,  471,  469,  932,  933,  465,
    1339       933,  934,  448,  934,  446,  438,  436,  934,  935,  428,
    1340       935,  936,  426,  936,  424,  398,  396,  936,  937,  394,
    1341       937,  938,  392,  938,  391,  938,  390,  938,  939,  377,
    1342       939,  367,  939,  365,  939,  940,  940,  364,  940,  940,
    1343       940,  360,  940,  941,  358,  941,  356,  354,  350,  941,
    1344       942,  348,  942,  347,  346,  336,  942,  943,  321,  943,
    1345       298,  277,  275,  943,  944,  273,  944,  945,  272,  945,
    1346       271,  269,  268,  945,  946,  263,  946,  947,  259,  947,
    1347       258,  254,  251,  947,  948,  250,  948,  949,  239,  949,
    1348 
    1349       238,  231,  230,  949,  950,  227,  950,  951,  217,  215,
    1350       951,  214,  951,  951,  951,  951,  951,  952,  952,  952,
    1351       952,  952,  952,  952,  952,  952,  952,  952,  952,  952,
    1352       953,  213,  953,  207,  206,  204,  953,  954,  199,  954,
    1353       955,  178,  955,  149,  147,  146,  955,  956,  140,  956,
    1354       957,  138,  957,  136,  128,  125,  957,  958,  124,  958,
    1355       959,  120,  959,  101,   98,   95,  959,  960,   93,  960,
    1356       961,   86,  961,   72,   70,   66,  961,  962,   36,  962,
    1357       963,   33,  963,   18,   11,    4,  963,  964,    3,  964,
    1358       965,    0,  965,    0,    0,    0,  965,  966,    0,  966,
    1359 
    1360         0,    0,    0,  966,  967,    0,  967,  968,    0,  968,
    1361         0,    0,    0,  968,  969,    0,  969,  970,    0,  970,
    1362         0,  970,    0,  970,  971,    0,  971,    0,    0,    0,
    1363       971,  972,    0,  972,    0,    0,    0,  972,  973,    0,
    1364       973,  974,    0,  974,    0,    0,    0,  974,  975,    0,
    1365       975,  976,    0,  976,    0,    0,    0,  976,  977,    0,
    1366       977,  978,    0,  978,    0,    0,    0,  978,  979,    0,
    1367       979,  980,    0,  980,    0,    0,    0,  980,  981,    0,
    1368       981,  982,    0,  982,    0,    0,    0,  982,  983,    0,
    1369       983,  984,    0,    0,  984,    0,  984,  984,  984,  984,
    1370 
    1371       984,  985,  985,  985,  985,  985,  985,  985,  985,  985,
    1372       985,  985,  985,  985,  986,    0,  986,    0,    0,    0,
     1115        5,    5,    5,    5,    5,    5,    5,    7,    8,    9,
     1116       10,   37,   37,   20,   39,    9,   10,  874,    7,    8,
     1117       13,   13,   13,   13,   13,   13,   15,   15,   15,   15,
     1118
     1119       15,   15,   20,   25,   39,   42,   53,   28,   27,   28,
     1120       28,   28,   28,   28,   28,  108,  114,   25,   29,   25,
     1121       27,   27,   27,   29,   53,   35,    7,    8,    9,   10,
     1122       40,   42,   48,   29,   30,   40,   30,   30,   30,   30,
     1123       30,   30,   35,   61,   35,   35,   44,  869,   44,  108,
     1124      114,  868,   48,   30,   63,   61,   30,   56,   47,   45,
     1125       45,   45,   30,   30,   45,   45,   56,   45,   30,   55,
     1126       45,   45,   49,   40,   30,   45,   40,   49,   45,   47,
     1127       30,   47,   72,  125,   49,  125,   51,   55,   30,   86,
     1128       49,   30,   31,   55,   31,   31,   31,   31,   31,   31,
     1129
     1130       50,   51,  866,   51,   63,  153,   54,   58,   72,   50,
     1131       60,   31,   51,   50,   31,   86,   54,   57,   50,   58,
     1132       31,  153,   50,   54,  141,  156,   31,   58,   60,   57,
     1133       57,   59,   31,  126,   58,  126,   59,  156,   31,   57,
     1134       52,  865,   57,   67,   67,   52,   31,   38,   67,   59,
     1135      141,   38,   38,   52,   38,   52,   38,   38,   52,   38,
     1136      107,   38,   52,  113,   67,   67,   67,   67,   67,   67,
     1137       38,   38,   38,  128,   59,  128,  152,   59,   66,   66,
     1138       66,   66,   66,   66,  107,  152,   66,  113,  863,  862,
     1139       38,   59,  165,   38,   79,   79,   79,   79,   79,   79,
     1140
     1141       81,   81,   81,   81,   81,   81,   82,   82,   82,   82,
     1142       82,   82,  131,  165,  131,  103,  103,  103,  103,  106,
     1143       38,   38,   76,   76,  856,  106,  112,   76,  168,   76,
     1144      110,  133,  112,  133,   76,  102,  102,  102,  102,  102,
     1145      102,  130,  103,   76,   76,   76,   76,  103,  110,  168,
     1146      109,  106,  129,  130,   76,  130,  110,  104,  112,  104,
     1147      104,  104,  104,  104,  104,  149,  129,  102,  129,   76,
     1148      103,  136,   76,  136,  158,  115,  104,   76,   76,  109,
     1149      149,   76,   76,  155,  109,  132,  132,  149,  132,   76,
     1150      158,  104,   76,  115,   76,   76,   76,  104,   76,   84,
     1151
     1152      138,  115,  138,   84,   84,  155,  166,  109,   84,   84,
     1153      105,   84,  105,   84,  150,  105,  105,  105,  105,  105,
     1154      105,  151,   84,   84,   84,  134,  134,  134,  144,  166,
     1155      154,  157,  150,  144,  159,  167,  157,  157,  157,  151,
     1156      157,  157,   84,  161,  157,   84,  157,  105,  154,  160,
     1157      163,  157,  157,  157,  162,  157,  159,  855,  160,  162,
     1158      164,  169,  167,  170,  161,  161,  169,  163,  171,  172,
     1159      164,  144,  162,   84,   98,   98,   98,   98,   98,   98,
     1160      173,  174,  175,  171,  169,  170,  172,  179,  176,  185,
     1161       98,   98,  178,   98,   98,  180,  189,  182,  173,  187,
     1162
     1163      180,  174,  185,  186,  179,  188,   98,  178,  181,  175,
     1164      176,   98,   98,   98,  178,  182,   98,  183,   98,  181,
     1165      184,  191,  190,  186,  188,  184,  187,  528,  183,  181,
     1166      181,  192,  207,  207,  191,  190,  191,  207,  232,  189,
     1167      184,  203,  189,  190,  192,  183,  195,  195,  195,  195,
     1168      195,  195,  196,  196,  195,  528,  854,  196,  198,  198,
     1169      216,  232,  216,  198,  200,  200,  217,  203,  217,  200,
     1170      218,  200,  218,  196,  196,  196,  196,  196,  196,  198,
     1171      198,  198,  198,  198,  198,  200,  200,  200,  200,  200,
     1172      200,  210,  210,  210,  210,  219,  220,  221,  282,  221,
     1173
     1174      222,  222,  223,  222,  223,  224,  224,  224,  220,  219,
     1175      220,  219,  226,  227,  226,  227,  234,  235,  282,  233,
     1176      234,  233,  284,  210,  233,  233,  233,  233,  233,  233,
     1177      241,  239,  239,  277,  239,  239,  264,  234,  264,  234,
     1178      235,  265,  284,  265,  234,  242,  242,  242,  242,  242,
     1179      242,  277,  239,  239,  239,  246,  233,  239,  278,  239,
     1180      276,  280,  242,  279,  241,  243,  243,  243,  243,  243,
     1181      243,  254,  268,  276,  853,  281,  278,  242,  280,  279,
     1182      281,  246,  288,  242,  244,  244,  244,  244,  244,  244,
     1183      253,  253,  253,  253,  253,  253,  251,  254,  268,  287,
     1184
     1185      244,  283,  286,  244,  244,  245,  283,  245,  288,  295,
     1186      245,  245,  245,  245,  245,  245,  244,  287,  251,  849,
     1187      251,  244,  253,  244,  251,  286,  244,  295,  244,  289,
     1188      251,  258,  258,  258,  258,  258,  258,  285,  290,  292,
     1189      291,  294,  251,  293,  289,  291,  251,  297,  292,  301,
     1190      251,  299,  285,  303,  290,  290,  293,  298,  285,  285,
     1191      299,  302,  298,  258,  300,  297,  307,  304,  294,  301,
     1192      306,  300,  304,  305,  303,  303,  306,  308,  305,  302,
     1193      310,  309,  311,  312,  313,  307,  308,  309,  314,  313,
     1194      315,  311,  316,  314,  318,  315,  310,  317,  312,  320,
     1195
     1196      322,  321,  323,  324,  326,  325,  328,  318,  327,  329,
     1197      320,  316,  315,  322,  330,  317,  321,  327,  333,  331,
     1198      334,  326,  335,  337,  323,  325,  324,  333,  328,  336,
     1199      338,  337,  329,  339,  381,  338,  330,  331,  340,  340,
     1200      335,  341,  336,  340,  358,  340,  358,  341,  339,  348,
     1201      348,  348,  348,  349,  349,  349,  349,  359,  381,  359,
     1202      397,  846,  402,  334,  366,  366,  366,  366,  366,  366,
     1203      368,  397,  368,  402,  404,  368,  368,  368,  368,  368,
     1204      368,  348,  367,  367,  367,  367,  367,  367,  370,  370,
     1205      370,  370,  370,  370,  400,  398,  404,  435,  367,  376,
     1206
     1207      843,  367,  367,  371,  371,  371,  371,  371,  371,  376,
     1208      379,  398,  377,  400,  367,  378,  379,  435,  383,  367,
     1209      370,  367,  377,  412,  367,  376,  367,  372,  372,  372,
     1210      372,  372,  372,  399,  382,  371,  383,  378,  377,  378,
     1211      415,  412,  379,  378,  383,  380,  415,  380,  399,  378,
     1212      380,  380,  380,  380,  380,  380,  382,  401,  382,  372,
     1213      407,  378,  382,  403,  405,  378,  401,  408,  382,  378,
     1214      406,  411,  403,  405,  409,  410,  407,  416,  418,  414,
     1215      382,  413,  380,  406,  382,  417,  413,  409,  382,  408,
     1216      419,  410,  410,  411,  414,  421,  417,  418,  416,  423,
     1217
     1218      425,  414,  426,  427,  428,  419,  431,  429,  430,  421,
     1219      433,  423,  427,  429,  436,  431,  427,  437,  438,  439,
     1220      441,  425,  440,  430,  426,  433,  443,  428,  445,  441,
     1221      447,  446,  437,  448,  439,  449,  436,  450,  451,  455,
     1222      438,  452,  440,  443,  457,  633,  450,  460,  453,  458,
     1223      447,  445,  446,  448,  452,  453,  451,  449,  454,  456,
     1224      458,  457,  461,  633,  455,  454,  462,  456,  515,  460,
     1225      488,  461,  462,  471,  471,  471,  471,  456,  482,  482,
     1226      482,  482,  482,  482,  484,  484,  484,  484,  484,  484,
     1227      515,  513,  485,  487,  482,  489,  488,  482,  482,  486,
     1228
     1229      510,  486,  485,  487,  486,  486,  486,  486,  486,  486,
     1230      482,  513,  509,  510,  520,  482,  484,  482,  485,  487,
     1231      482,  489,  482,  491,  491,  491,  491,  491,  491,  509,
     1232      512,  514,  519,  516,  520,  519,  486,  492,  492,  492,
     1233      492,  492,  492,  517,  514,  512,  516,  521,  517,  525,
     1234      518,  522,  523,  492,  525,  842,  492,  492,  493,  841,
     1235      493,  518,  521,  493,  493,  493,  493,  493,  493,  492,
     1236      522,  524,  526,  523,  492,  527,  492,  529,  530,  492,
     1237      524,  492,  531,  526,  532,  533,  529,  536,  527,  535,
     1238      533,  538,  539,  532,  542,  535,  536,  540,  541,  531,
     1239
     1240      530,  544,  545,  542,  546,  547,  549,  554,  556,  539,
     1241      544,  561,  540,  541,  555,  552,  546,  538,  550,  545,
     1242      547,  549,  553,  550,  552,  556,  558,  555,  559,  554,
     1243      560,  553,  562,  561,  558,  563,  564,  560,  559,  565,
     1244      567,  563,  568,  613,  562,  564,  612,  617,  594,  565,
     1245      596,  698,  613,  612,  617,  568,  698,  567,  587,  587,
     1246      587,  587,  587,  587,  588,  588,  588,  588,  588,  588,
     1247      590,  594,  590,  596,  614,  590,  590,  590,  590,  590,
     1248      590,  593,  593,  593,  593,  593,  593,  614,  615,  616,
     1249      587,  589,  589,  589,  589,  589,  589,  595,  611,  622,
     1250
     1251      618,  595,  619,  611,  621,  615,  620,  589,  618,  620,
     1252      589,  589,  616,  593,  623,  624,  611,  621,  595,  619,
     1253      595,  622,  625,  589,  626,  595,  628,  629,  589,  623,
     1254      589,  627,  630,  589,  627,  589,  631,  624,  634,  625,
     1255      632,  635,  637,  628,  638,  644,  626,  630,  639,  632,
     1256      635,  645,  640,  650,  629,  647,  631,  696,  693,  651,
     1257      634,  640,  650,  659,  637,  644,  651,  638,  658,  662,
     1258      639,  661,  647,  659,  697,  840,  839,  658,  645,  693,
     1259      661,  697,  699,  696,  662,  680,  680,  680,  680,  680,
     1260      680,  684,  684,  684,  684,  684,  684,  694,  702,  705,
     1261
     1262      700,  680,  699,  700,  680,  680,  701,  694,  704,  701,
     1263      706,  708,  705,  709,  704,  707,  702,  680,  707,  706,
     1264      712,  711,  680,  684,  680,  710,  714,  680,  710,  680,
     1265      711,  713,  708,  718,  713,  715,  716,  717,  720,  714,
     1266      723,  709,  726,  715,  727,  712,  716,  720,  728,  730,
     1267      717,  731,  752,  751,  718,  753,  749,  730,  751,  754,
     1268      731,  750,  726,  723,  755,  753,  727,  752,  756,  728,
     1269      738,  738,  738,  738,  738,  738,  749,  757,  750,  758,
     1270      757,  755,  754,  759,  761,  763,  764,  761,  763,  767,
     1271      768,  773,  758,  764,  756,  765,  766,  788,  765,  766,
     1272
     1273      790,  791,  738,  792,  767,  793,  792,  797,  794,  795,
     1274      759,  794,  795,  768,  773,  798,  801,  799,  805,  791,
     1275      799,  790,  821,  802,  788,  797,  802,  793,  803,  806,
     1276      804,  803,  824,  823,  805,  822,  823,  825,  801,  804,
     1277      798,  824,  822,  821,  826,  806,  827,  826,  830,  833,
     1278      834,  830,  833,  835,  847,  825,  844,  847,  848,  834,
     1279      857,  845,  835,  827,  850,  844,  845,  850,  848,  851,
     1280      852,  858,  851,  852,  859,  860,  861,  859,  864,  861,
     1281      857,  867,  870,  871,  873,  860,  858,  838,  872,  837,
     1282      836,  870,  832,  831,  873,  829,  828,  820,  819,  818,
     1283
     1284      864,  817,  867,  816,  815,  871,  872,  876,  876,  876,
     1285      876,  876,  876,  876,  876,  876,  876,  876,  876,  876,
     1286      877,  877,  877,  877,  877,  877,  877,  877,  877,  877,
     1287      877,  877,  877,  878,  878,  878,  878,  878,  878,  878,
     1288      878,  878,  878,  878,  878,  878,  879,  814,  813,  879,
     1289      812,  879,  879,  879,  879,  879,  880,  811,  810,  809,
     1290      880,  880,  880,  880,  880,  880,  881,  881,  881,  881,
     1291      881,  881,  881,  881,  881,  881,  881,  881,  881,  882,
     1292      808,  807,  882,  800,  882,  882,  882,  882,  882,  883,
     1293      796,  883,  883,  789,  883,  883,  883,  883,  883,  883,
     1294
     1295      787,  883,  884,  786,  785,  884,  884,  884,  884,  884,
     1296      884,  884,  884,  784,  884,  885,  885,  885,  885,  885,
     1297      885,  885,  885,  885,  885,  885,  885,  885,  886,  886,
     1298      783,  886,  782,  781,  780,  886,  887,  779,  778,  887,
     1299      777,  887,  887,  887,  887,  887,  888,  776,  888,  775,
     1300      774,  772,  888,  889,  771,  889,  770,  769,  762,  889,
     1301      890,  760,  890,  748,  747,  746,  890,  891,  745,  891,
     1302      744,  743,  742,  891,  892,  741,  892,  740,  737,  736,
     1303      892,  893,  735,  893,  729,  725,  724,  893,  894,  722,
     1304      894,  721,  719,  703,  894,  895,  695,  895,  692,  687,
     1305
     1306      685,  895,  896,  681,  896,  671,  667,  665,  896,  897,
     1307      897,  897,  897,  897,  897,  897,  897,  897,  897,  897,
     1308      897,  897,  898,  663,  898,  899,  899,  660,  899,  899,
     1309      899,  657,  899,  900,  900,  656,  900,  901,  655,  901,
     1310      654,  653,  652,  901,  902,  649,  902,  648,  646,  643,
     1311      902,  903,  642,  903,  641,  636,  609,  903,  904,  605,
     1312      904,  905,  603,  905,  601,  599,  597,  905,  906,  591,
     1313      906,  907,  585,  583,  907,  581,  907,  907,  907,  907,
     1314      907,  908,  908,  908,  908,  908,  908,  908,  908,  908,
     1315      908,  908,  908,  908,  909,  909,  909,  909,  909,  909,
     1316
     1317      909,  909,  909,  909,  909,  909,  909,  910,  579,  910,
     1318      577,  575,  573,  910,  911,  571,  911,  570,  569,  566,
     1319      911,  912,  557,  912,  551,  548,  543,  912,  913,  537,
     1320      913,  914,  534,  914,  511,  507,  505,  914,  915,  503,
     1321      915,  916,  501,  916,  499,  497,  496,  916,  917,  495,
     1322      917,  918,  494,  918,  483,  480,  478,  918,  919,  477,
     1323      919,  920,  476,  920,  474,  472,  469,  920,  921,  467,
     1324      921,  922,  465,  922,  463,  459,  444,  922,  923,  442,
     1325      923,  924,  434,  924,  432,  424,  422,  924,  925,  420,
     1326      925,  926,  394,  926,  392,  926,  390,  926,  927,  388,
     1327
     1328      927,  387,  927,  386,  927,  928,  928,  373,  928,  928,
     1329      928,  363,  928,  929,  361,  929,  360,  356,  354,  929,
     1330      930,  352,  930,  350,  346,  344,  930,  931,  343,  931,
     1331      342,  332,  319,  931,  932,  296,  932,  933,  275,  933,
     1332      273,  271,  270,  933,  934,  269,  934,  935,  267,  935,
     1333      266,  261,  257,  935,  936,  256,  936,  937,  252,  937,
     1334      249,  248,  237,  937,  938,  236,  938,  939,  229,  228,
     1335      939,  225,  939,  939,  939,  939,  939,  940,  940,  940,
     1336      940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
     1337      941,  215,  941,  213,  212,  211,  941,  942,  205,  942,
     1338
     1339      943,  204,  943,  202,  197,  177,  943,  944,  148,  944,
     1340      945,  146,  945,  145,  139,  137,  945,  946,  135,  946,
     1341      947,  127,  947,  124,  123,  119,  947,  948,  100,  948,
     1342      949,   97,  949,   94,   92,   85,  949,  950,   71,  950,
     1343      951,   69,  951,   65,   36,   33,  951,  952,   18,  952,
     1344      953,   11,  953,    4,    3,    0,  953,  954,    0,  954,
     1345        0,    0,    0,  954,  955,    0,  955,  956,    0,  956,
     1346        0,    0,    0,  956,  957,    0,  957,  958,    0,  958,
     1347        0,  958,    0,  958,  959,    0,  959,    0,    0,    0,
     1348      959,  960,    0,  960,    0,    0,    0,  960,  961,    0,
     1349
     1350      961,  962,    0,  962,    0,    0,    0,  962,  963,    0,
     1351      963,  964,    0,  964,    0,    0,    0,  964,  965,    0,
     1352      965,  966,    0,  966,    0,    0,    0,  966,  967,    0,
     1353      967,  968,    0,  968,    0,    0,    0,  968,  969,    0,
     1354      969,  970,    0,  970,    0,    0,    0,  970,  971,    0,
     1355      971,  972,    0,    0,  972,    0,  972,  972,  972,  972,
     1356      972,  973,  973,  973,  973,  973,  973,  973,  973,  973,
     1357      973,  973,  973,  973,  974,    0,  974,    0,    0,    0,
     1358      974,  975,    0,  975,  976,    0,  976,    0,    0,    0,
     1359      976,  977,    0,  977,  978,    0,  978,    0,    0,    0,
     1360
     1361      978,  979,    0,  979,  980,    0,  980,    0,    0,    0,
     1362      980,  981,    0,  981,  982,    0,  982,    0,    0,    0,
     1363      982,  983,    0,  983,  984,    0,  984,    0,    0,    0,
     1364      984,  985,    0,  985,  986,    0,  986,    0,    0,    0,
    13731365      986,  987,    0,  987,  988,    0,  988,    0,    0,    0,
    13741366      988,  989,    0,  989,  990,    0,  990,    0,    0,    0,
    1375       990,  991,    0,  991,  992,    0,  992,    0,    0,    0,
    1376       992,  993,    0,  993,  994,    0,  994,    0,    0,    0,
    1377       994,  995,    0,  995,  996,    0,  996,    0,    0,    0,
    1378       996,  997,    0,  997,  998,    0,  998,    0,    0,    0,
    1379       998,  999,    0,  999, 1000,    0, 1000,    0,    0,    0,
    1380      1000, 1001,    0, 1001, 1002,    0, 1002,    0,    0,    0,
    1381 
    1382      1002, 1003,    0, 1003,    0,    0,    0, 1003, 1004,    0,
    1383      1004, 1005,    0, 1005,    0,    0,    0, 1005, 1006,    0,
    1384      1006, 1007,    0, 1007,    0,    0,    0, 1007, 1008,    0,
    1385      1008, 1009,    0, 1009,    0,    0,    0, 1009, 1010,    0,
    1386      1010, 1011,    0, 1011, 1012,    0, 1012, 1013,    0,    0,
    1387      1013,    0, 1013, 1013, 1013, 1013, 1013, 1014,    0, 1014,
    1388      1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015, 1015,
    1389      1015, 1015, 1015, 1016,    0, 1016,    0,    0,    0, 1016,
    1390      1017,    0, 1017, 1018,    0, 1018,    0,    0,    0, 1018,
    1391      1019,    0, 1019, 1020,    0, 1020, 1021,    0, 1021, 1022,
    1392 
    1393         0,    0, 1022,    0, 1022, 1022, 1022, 1022, 1022, 1023,
    1394         0, 1023, 1024,    0, 1024, 1025,    0, 1025, 1026,    0,
    1395      1026, 1027,    0, 1027, 1028,    0, 1028, 1029,    0, 1029,
    1396      1030,    0, 1030,    0,    0,    0, 1030, 1031,    0, 1031,
    1397      1032,    0, 1032,    0,    0,    0, 1032, 1033,    0, 1033,
    1398      1034,    0, 1034, 1035,    0, 1035, 1036,    0, 1036, 1037,
    1399         0, 1037,    0,    0,    0, 1037, 1038,    0,    0, 1038,
    1400         0, 1038, 1038, 1038, 1038, 1038, 1039,    0, 1039, 1040,
    1401         0, 1040, 1041,    0, 1041, 1042,    0, 1042,    0,    0,
     1367      990,  991,    0,  991,    0,    0,    0,  991,  992,    0,
     1368      992,  993,    0,  993,    0,    0,    0,  993,  994,    0,
     1369      994,  995,    0,  995,    0,    0,    0,  995,  996,    0,
     1370      996,  997,    0,  997,    0,    0,    0,  997,  998,    0,
     1371
     1372      998,  999,    0,  999, 1000,    0, 1000, 1001,    0,    0,
     1373     1001,    0, 1001, 1001, 1001, 1001, 1001, 1002,    0, 1002,
     1374     1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003,
     1375     1003, 1003, 1003, 1004,    0, 1004,    0,    0,    0, 1004,
     1376     1005,    0, 1005, 1006,    0, 1006,    0,    0,    0, 1006,
     1377     1007,    0, 1007, 1008,    0, 1008, 1009,    0, 1009, 1010,
     1378        0,    0, 1010,    0, 1010, 1010, 1010, 1010, 1010, 1011,
     1379        0, 1011, 1012,    0, 1012, 1013,    0, 1013, 1014,    0,
     1380     1014, 1015,    0, 1015, 1016,    0, 1016, 1017,    0, 1017,
     1381     1018,    0, 1018,    0,    0,    0, 1018, 1019,    0, 1019,
     1382
     1383     1020,    0, 1020,    0,    0,    0, 1020, 1021,    0, 1021,
     1384     1022,    0, 1022, 1023,    0, 1023, 1024,    0, 1024, 1025,
     1385        0, 1025,    0,    0,    0, 1025, 1026,    0,    0, 1026,
     1386        0, 1026, 1026, 1026, 1026, 1026, 1027,    0, 1027, 1028,
     1387        0, 1028, 1029,    0, 1029, 1030,    0, 1030,    0,    0,
     1388        0, 1030, 1031,    0, 1031,    0,    0,    0, 1031, 1032,
     1389        0, 1032,    0,    0,    0, 1032, 1033,    0, 1033, 1034,
     1390        0, 1034,    0,    0,    0, 1034, 1035,    0, 1035,    0,
     1391        0,    0, 1035, 1036,    0, 1036,    0,    0,    0, 1036,
     1392     1037,    0, 1037,    0,    0,    0, 1037, 1038,    0, 1038,
     1393
     1394        0,    0,    0, 1038, 1039,    0, 1039,    0,    0,    0,
     1395     1039, 1040,    0, 1040,    0,    0,    0, 1040, 1041,    0,
     1396     1041,    0,    0,    0, 1041, 1042,    0, 1042,    0,    0,
    14021397        0, 1042, 1043,    0, 1043,    0,    0,    0, 1043, 1044,
    1403 
    1404         0, 1044,    0,    0,    0, 1044, 1045,    0, 1045, 1046,
    1405         0, 1046,    0,    0,    0, 1046, 1047,    0, 1047,    0,
    1406         0,    0, 1047, 1048,    0, 1048,    0,    0,    0, 1048,
    1407      1049,    0, 1049,    0,    0,    0, 1049, 1050,    0, 1050,
    1408         0,    0,    0, 1050, 1051,    0, 1051,    0,    0,    0,
    1409      1051, 1052,    0, 1052,    0,    0,    0, 1052, 1053,    0,
    1410      1053,    0,    0,    0, 1053, 1054,    0, 1054,    0,    0,
    1411         0, 1054, 1055,    0, 1055,    0,    0,    0, 1055, 1056,
    1412         0, 1056,    0,    0,    0, 1056, 1057,    0, 1057,    0,
    1413         0,    0, 1057, 1058,    0, 1058,    0,    0,    0, 1058,
    1414 
    1415      1059,    0, 1059,    0,    0,    0, 1059, 1060,    0, 1060,
    1416         0,    0,    0, 1060, 1061,    0, 1061,    0,    0,    0,
    1417      1061,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1418       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1419       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1420       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1421       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1422       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1423       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1424       887,  887,  887,  887,  887,  887,  887,  887,  887,  887,
    1425 
    1426       887,  887,  887,  887,  887,  887,  887
     1398        0, 1044,    0,    0,    0, 1044, 1045,    0, 1045,    0,
     1399        0,    0, 1045, 1046,    0, 1046,    0,    0,    0, 1046,
     1400     1047,    0, 1047,    0,    0,    0, 1047, 1048,    0, 1048,
     1401        0,    0,    0, 1048, 1049,    0, 1049,    0,    0,    0,
     1402     1049,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1403      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1404
     1405      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1406      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1407      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1408      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1409      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1410      875,  875,  875,  875,  875,  875,  875,  875,  875,  875,
     1411      875,  875,  875,  875,  875,  875
    14271412    } ;
    14281413
    14291414/* Table of booleans, true if rule could match eol. */
    1430 static yyconst flex_int32_t yy_rule_can_match_eol[181] =
     1415static yyconst flex_int32_t yy_rule_can_match_eol[180] =
    14311416    {   0,
    143214171, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     
    14351420    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14361421    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1437     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
    1438     0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
     1422    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
     1423    1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14391424    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    14401425    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    1441     0,     };
     1426        };
    14421427
    14431428static yy_state_type yy_last_accepting_state;
     
    14671452 * Created On       : Sat Sep 22 08:58:10 2001
    14681453 * Last Modified By : Peter A. Buhr
    1469  * Last Modified On : Mon Mar 21 23:33:46 2016
    1470  * Update Count     : 450
     1454 * Last Modified On : Tue Feb  2 15:06:54 2016
     1455 * Update Count     : 426
    14711456 */
    14721457#line 20 "lex.ll"
     
    14801465
    14811466#include "lex.h"
     1467#include "ParseNode.h"
    14821468#include "parser.h"                                                                             // YACC generated definitions based on C++ grammar
    1483 #include "ParseNode.h"
    1484 #include "TypedefTable.h"
    14851469
    14861470char *yyfilename;
     
    14981482#define NUMERIC_RETURN(x)       rm_underscore(); RETURN_VAL( x ) // numeric constant
    14991483#define KEYWORD_RETURN(x)       RETURN_CHAR( x )                        // keyword
    1500 #define IDENTIFIER_RETURN()     RETURN_VAL( typedefTable.isKind( yytext ) )
     1484#define IDENTIFIER_RETURN()     RETURN_VAL( (typedefTable.isIdentifier( yytext ) ? IDENTIFIER : typedefTable.isTypedef( yytext ) ? TYPEDEFname : TYPEGENname ) )
    15011485#define ATTRIBUTE_RETURN()      RETURN_VAL( ATTR_IDENTIFIER )
    15021486
     
    15181502// attribute identifier, GCC: $ in identifier
    15191503// numeric constants, CFA: '_' in constant
    1520 // GCC: D (double), DL (long double) and iI (imaginary) suffixes
    1521 //floating_suffix "_"?([fFdD]|[lL]|[D][L])|([iI][lLfFdD])|([lLfFdD][iI]))
     1504// GCC: D (double), LD (long double) and iI (imaginary) suffixes
    15221505// character escape sequence, GCC: \e => esc character
    15231506// ' stop highlighting
     
    15281511
    15291512
    1530 #line 1531 "Parser/lex.cc"
     1513#line 1514 "Parser/lex.cc"
    15311514
    15321515#define INITIAL 0
     
    17201703        register int yy_act;
    17211704   
    1722 #line 139 "lex.ll"
     1705#line 137 "lex.ll"
    17231706
    17241707                                   /* line directives */
    1725 #line 1726 "Parser/lex.cc"
     1708#line 1709 "Parser/lex.cc"
    17261709
    17271710        if ( !(yy_init) )
     
    17771760                                {
    17781761                                yy_current_state = (int) yy_def[yy_current_state];
    1779                                 if ( yy_current_state >= 888 )
     1762                                if ( yy_current_state >= 876 )
    17801763                                        yy_c = yy_meta[(unsigned int) yy_c];
    17811764                                }
     
    17831766                        ++yy_cp;
    17841767                        }
    1785                 while ( yy_base[yy_current_state] != 2822 );
     1768                while ( yy_base[yy_current_state] != 2782 );
    17861769
    17871770yy_find_action:
     
    18201803/* rule 1 can match eol */
    18211804YY_RULE_SETUP
    1822 #line 141 "lex.ll"
     1805#line 139 "lex.ll"
    18231806{
    18241807        /* " stop highlighting */
     
    18471830/* rule 2 can match eol */
    18481831YY_RULE_SETUP
    1849 #line 164 "lex.ll"
     1832#line 162 "lex.ll"
    18501833;
    18511834        YY_BREAK
     
    18531836case 3:
    18541837YY_RULE_SETUP
    1855 #line 167 "lex.ll"
     1838#line 165 "lex.ll"
    18561839{ BEGIN COMMENT; }
    18571840        YY_BREAK
     
    18591842/* rule 4 can match eol */
    18601843YY_RULE_SETUP
    1861 #line 168 "lex.ll"
     1844#line 166 "lex.ll"
    18621845;
    18631846        YY_BREAK
    18641847case 5:
    18651848YY_RULE_SETUP
    1866 #line 169 "lex.ll"
     1849#line 167 "lex.ll"
    18671850{ BEGIN 0; }
    18681851        YY_BREAK
     
    18711854/* rule 6 can match eol */
    18721855YY_RULE_SETUP
    1873 #line 172 "lex.ll"
     1856#line 170 "lex.ll"
    18741857;
    18751858        YY_BREAK
     
    18771860case 7:
    18781861YY_RULE_SETUP
    1879 #line 175 "lex.ll"
     1862#line 173 "lex.ll"
    18801863{ WHITE_RETURN(' '); }
    18811864        YY_BREAK
    18821865case 8:
    18831866YY_RULE_SETUP
    1884 #line 176 "lex.ll"
     1867#line 174 "lex.ll"
    18851868{ WHITE_RETURN(' '); }
    18861869        YY_BREAK
     
    18881871/* rule 9 can match eol */
    18891872YY_RULE_SETUP
    1890 #line 177 "lex.ll"
     1873#line 175 "lex.ll"
    18911874{ NEWLINE_RETURN(); }
    18921875        YY_BREAK
     
    18941877case 10:
    18951878YY_RULE_SETUP
     1879#line 178 "lex.ll"
     1880{ KEYWORD_RETURN(ALIGNAS); }                    // C11
     1881        YY_BREAK
     1882case 11:
     1883YY_RULE_SETUP
     1884#line 179 "lex.ll"
     1885{ KEYWORD_RETURN(ALIGNOF); }                    // C11
     1886        YY_BREAK
     1887case 12:
     1888YY_RULE_SETUP
    18961889#line 180 "lex.ll"
    1897 { KEYWORD_RETURN(ALIGNAS); }                    // C11
    1898         YY_BREAK
    1899 case 11:
     1890{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
     1891        YY_BREAK
     1892case 13:
    19001893YY_RULE_SETUP
    19011894#line 181 "lex.ll"
    1902 { KEYWORD_RETURN(ALIGNOF); }                    // C11
    1903         YY_BREAK
    1904 case 12:
     1895{ KEYWORD_RETURN(ALIGNOF); }                    // GCC
     1896        YY_BREAK
     1897case 14:
    19051898YY_RULE_SETUP
    19061899#line 182 "lex.ll"
    1907 { KEYWORD_RETURN(ALIGNOF); }                    // GCC
    1908         YY_BREAK
    1909 case 13:
     1900{ KEYWORD_RETURN(ASM); }
     1901        YY_BREAK
     1902case 15:
    19101903YY_RULE_SETUP
    19111904#line 183 "lex.ll"
    1912 { KEYWORD_RETURN(ALIGNOF); }                    // GCC
    1913         YY_BREAK
    1914 case 14:
     1905{ KEYWORD_RETURN(ASM); }                                // GCC
     1906        YY_BREAK
     1907case 16:
    19151908YY_RULE_SETUP
    19161909#line 184 "lex.ll"
    1917 { KEYWORD_RETURN(ASM); }
    1918         YY_BREAK
    1919 case 15:
     1910{ KEYWORD_RETURN(ASM); }                                // GCC
     1911        YY_BREAK
     1912case 17:
    19201913YY_RULE_SETUP
    19211914#line 185 "lex.ll"
    1922 { KEYWORD_RETURN(ASM); }                                // GCC
    1923         YY_BREAK
    1924 case 16:
     1915{ KEYWORD_RETURN(AT); }                                 // CFA
     1916        YY_BREAK
     1917case 18:
    19251918YY_RULE_SETUP
    19261919#line 186 "lex.ll"
    1927 { KEYWORD_RETURN(ASM); }                                // GCC
    1928         YY_BREAK
    1929 case 17:
     1920{ KEYWORD_RETURN(ATOMIC); }                             // C11
     1921        YY_BREAK
     1922case 19:
    19301923YY_RULE_SETUP
    19311924#line 187 "lex.ll"
    1932 { KEYWORD_RETURN(AT); }                                 // CFA
    1933         YY_BREAK
    1934 case 18:
     1925{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1926        YY_BREAK
     1927case 20:
    19351928YY_RULE_SETUP
    19361929#line 188 "lex.ll"
    1937 { KEYWORD_RETURN(ATOMIC); }                             // C11
    1938         YY_BREAK
    1939 case 19:
     1930{ KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
     1931        YY_BREAK
     1932case 21:
    19401933YY_RULE_SETUP
    19411934#line 189 "lex.ll"
    1942 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    1943         YY_BREAK
    1944 case 20:
     1935{ KEYWORD_RETURN(AUTO); }
     1936        YY_BREAK
     1937case 22:
    19451938YY_RULE_SETUP
    19461939#line 190 "lex.ll"
    1947 { KEYWORD_RETURN(ATTRIBUTE); }                  // GCC
    1948         YY_BREAK
    1949 case 21:
     1940{ KEYWORD_RETURN(BOOL); }                               // C99
     1941        YY_BREAK
     1942case 23:
    19501943YY_RULE_SETUP
    19511944#line 191 "lex.ll"
    1952 { KEYWORD_RETURN(AUTO); }
    1953         YY_BREAK
    1954 case 22:
     1945{ KEYWORD_RETURN(BREAK); }
     1946        YY_BREAK
     1947case 24:
    19551948YY_RULE_SETUP
    19561949#line 192 "lex.ll"
    1957 { KEYWORD_RETURN(BOOL); }                               // C99
    1958         YY_BREAK
    1959 case 23:
     1950{ KEYWORD_RETURN(CASE); }
     1951        YY_BREAK
     1952case 25:
    19601953YY_RULE_SETUP
    19611954#line 193 "lex.ll"
    1962 { KEYWORD_RETURN(BREAK); }
    1963         YY_BREAK
    1964 case 24:
     1955{ KEYWORD_RETURN(CATCH); }                              // CFA
     1956        YY_BREAK
     1957case 26:
    19651958YY_RULE_SETUP
    19661959#line 194 "lex.ll"
    1967 { KEYWORD_RETURN(CASE); }
    1968         YY_BREAK
    1969 case 25:
     1960{ KEYWORD_RETURN(CATCHRESUME); }                // CFA
     1961        YY_BREAK
     1962case 27:
    19701963YY_RULE_SETUP
    19711964#line 195 "lex.ll"
    1972 { KEYWORD_RETURN(CATCH); }                              // CFA
    1973         YY_BREAK
    1974 case 26:
     1965{ KEYWORD_RETURN(CHAR); }
     1966        YY_BREAK
     1967case 28:
    19751968YY_RULE_SETUP
    19761969#line 196 "lex.ll"
    1977 { KEYWORD_RETURN(CATCHRESUME); }                // CFA
    1978         YY_BREAK
    1979 case 27:
     1970{ KEYWORD_RETURN(CHOOSE); }                             // CFA
     1971        YY_BREAK
     1972case 29:
    19801973YY_RULE_SETUP
    19811974#line 197 "lex.ll"
    1982 { KEYWORD_RETURN(CHAR); }
    1983         YY_BREAK
    1984 case 28:
     1975{ KEYWORD_RETURN(COMPLEX); }                    // C99
     1976        YY_BREAK
     1977case 30:
    19851978YY_RULE_SETUP
    19861979#line 198 "lex.ll"
    1987 { KEYWORD_RETURN(CHOOSE); }                             // CFA
    1988         YY_BREAK
    1989 case 29:
     1980{ KEYWORD_RETURN(COMPLEX); }                    // GCC
     1981        YY_BREAK
     1982case 31:
    19901983YY_RULE_SETUP
    19911984#line 199 "lex.ll"
    1992 { KEYWORD_RETURN(COMPLEX); }                    // C99
    1993         YY_BREAK
    1994 case 30:
     1985{ KEYWORD_RETURN(COMPLEX); }                    // GCC
     1986        YY_BREAK
     1987case 32:
    19951988YY_RULE_SETUP
    19961989#line 200 "lex.ll"
    1997 { KEYWORD_RETURN(COMPLEX); }                    // GCC
    1998         YY_BREAK
    1999 case 31:
     1990{ KEYWORD_RETURN(CONST); }
     1991        YY_BREAK
     1992case 33:
    20001993YY_RULE_SETUP
    20011994#line 201 "lex.ll"
    2002 { KEYWORD_RETURN(COMPLEX); }                    // GCC
    2003         YY_BREAK
    2004 case 32:
     1995{ KEYWORD_RETURN(CONST); }                              // GCC
     1996        YY_BREAK
     1997case 34:
    20051998YY_RULE_SETUP
    20061999#line 202 "lex.ll"
    2007 { KEYWORD_RETURN(CONST); }
    2008         YY_BREAK
    2009 case 33:
     2000{ KEYWORD_RETURN(CONST); }                              // GCC
     2001        YY_BREAK
     2002case 35:
    20102003YY_RULE_SETUP
    20112004#line 203 "lex.ll"
    2012 { KEYWORD_RETURN(CONST); }                              // GCC
    2013         YY_BREAK
    2014 case 34:
     2005{ KEYWORD_RETURN(CONTEXT); }                    // CFA
     2006        YY_BREAK
     2007case 36:
    20152008YY_RULE_SETUP
    20162009#line 204 "lex.ll"
    2017 { KEYWORD_RETURN(CONST); }                              // GCC
    2018         YY_BREAK
    2019 case 35:
     2010{ KEYWORD_RETURN(CONTINUE); }
     2011        YY_BREAK
     2012case 37:
    20202013YY_RULE_SETUP
    20212014#line 205 "lex.ll"
    2022 { KEYWORD_RETURN(CONTINUE); }
    2023         YY_BREAK
    2024 case 36:
     2015{ KEYWORD_RETURN(DEFAULT); }
     2016        YY_BREAK
     2017case 38:
    20252018YY_RULE_SETUP
    20262019#line 206 "lex.ll"
    2027 { KEYWORD_RETURN(DEFAULT); }
    2028         YY_BREAK
    2029 case 37:
     2020{ KEYWORD_RETURN(DISABLE); }                    // CFA
     2021        YY_BREAK
     2022case 39:
    20302023YY_RULE_SETUP
    20312024#line 207 "lex.ll"
    2032 { KEYWORD_RETURN(DISABLE); }                    // CFA
    2033         YY_BREAK
    2034 case 38:
     2025{ KEYWORD_RETURN(DO); }
     2026        YY_BREAK
     2027case 40:
    20352028YY_RULE_SETUP
    20362029#line 208 "lex.ll"
    2037 { KEYWORD_RETURN(DO); }
    2038         YY_BREAK
    2039 case 39:
     2030{ KEYWORD_RETURN(DOUBLE); }
     2031        YY_BREAK
     2032case 41:
    20402033YY_RULE_SETUP
    20412034#line 209 "lex.ll"
    2042 { KEYWORD_RETURN(DOUBLE); }
    2043         YY_BREAK
    2044 case 40:
     2035{ KEYWORD_RETURN(DTYPE); }                              // CFA
     2036        YY_BREAK
     2037case 42:
    20452038YY_RULE_SETUP
    20462039#line 210 "lex.ll"
    2047 { KEYWORD_RETURN(DTYPE); }                              // CFA
    2048         YY_BREAK
    2049 case 41:
     2040{ KEYWORD_RETURN(ELSE); }
     2041        YY_BREAK
     2042case 43:
    20502043YY_RULE_SETUP
    20512044#line 211 "lex.ll"
    2052 { KEYWORD_RETURN(ELSE); }
    2053         YY_BREAK
    2054 case 42:
     2045{ KEYWORD_RETURN(ENABLE); }                             // CFA
     2046        YY_BREAK
     2047case 44:
    20552048YY_RULE_SETUP
    20562049#line 212 "lex.ll"
    2057 { KEYWORD_RETURN(ENABLE); }                             // CFA
    2058         YY_BREAK
    2059 case 43:
     2050{ KEYWORD_RETURN(ENUM); }
     2051        YY_BREAK
     2052case 45:
    20602053YY_RULE_SETUP
    20612054#line 213 "lex.ll"
    2062 { KEYWORD_RETURN(ENUM); }
    2063         YY_BREAK
    2064 case 44:
     2055{ KEYWORD_RETURN(EXTENSION); }                  // GCC
     2056        YY_BREAK
     2057case 46:
    20652058YY_RULE_SETUP
    20662059#line 214 "lex.ll"
    2067 { KEYWORD_RETURN(EXTENSION); }                  // GCC
    2068         YY_BREAK
    2069 case 45:
     2060{ KEYWORD_RETURN(EXTERN); }
     2061        YY_BREAK
     2062case 47:
    20702063YY_RULE_SETUP
    20712064#line 215 "lex.ll"
    2072 { KEYWORD_RETURN(EXTERN); }
    2073         YY_BREAK
    2074 case 46:
     2065{ KEYWORD_RETURN(FALLTHRU); }                   // CFA
     2066        YY_BREAK
     2067case 48:
    20752068YY_RULE_SETUP
    20762069#line 216 "lex.ll"
    2077 { KEYWORD_RETURN(FALLTHRU); }                   // CFA
    2078         YY_BREAK
    2079 case 47:
     2070{ KEYWORD_RETURN(FINALLY); }                    // CFA
     2071        YY_BREAK
     2072case 49:
    20802073YY_RULE_SETUP
    20812074#line 217 "lex.ll"
    2082 { KEYWORD_RETURN(FINALLY); }                    // CFA
    2083         YY_BREAK
    2084 case 48:
     2075{ KEYWORD_RETURN(FLOAT); }
     2076        YY_BREAK
     2077case 50:
    20852078YY_RULE_SETUP
    20862079#line 218 "lex.ll"
    2087 { KEYWORD_RETURN(FLOAT); }
    2088         YY_BREAK
    2089 case 49:
     2080{ KEYWORD_RETURN(FLOAT); }                              // GCC
     2081        YY_BREAK
     2082case 51:
    20902083YY_RULE_SETUP
    20912084#line 219 "lex.ll"
    2092 { KEYWORD_RETURN(FLOAT); }                              // GCC
    2093         YY_BREAK
    2094 case 50:
     2085{ KEYWORD_RETURN(FOR); }
     2086        YY_BREAK
     2087case 52:
    20952088YY_RULE_SETUP
    20962089#line 220 "lex.ll"
    2097 { KEYWORD_RETURN(FOR); }
    2098         YY_BREAK
    2099 case 51:
     2090{ KEYWORD_RETURN(FORALL); }                             // CFA
     2091        YY_BREAK
     2092case 53:
    21002093YY_RULE_SETUP
    21012094#line 221 "lex.ll"
    2102 { KEYWORD_RETURN(FORALL); }                             // CFA
    2103         YY_BREAK
    2104 case 52:
     2095{ KEYWORD_RETURN(FORTRAN); }
     2096        YY_BREAK
     2097case 54:
    21052098YY_RULE_SETUP
    21062099#line 222 "lex.ll"
    2107 { KEYWORD_RETURN(FORTRAN); }
    2108         YY_BREAK
    2109 case 53:
     2100{ KEYWORD_RETURN(FTYPE); }                              // CFA
     2101        YY_BREAK
     2102case 55:
    21102103YY_RULE_SETUP
    21112104#line 223 "lex.ll"
    2112 { KEYWORD_RETURN(FTYPE); }                              // CFA
    2113         YY_BREAK
    2114 case 54:
     2105{ KEYWORD_RETURN(GENERIC); }                    // C11
     2106        YY_BREAK
     2107case 56:
    21152108YY_RULE_SETUP
    21162109#line 224 "lex.ll"
    2117 { KEYWORD_RETURN(GENERIC); }                    // C11
    2118         YY_BREAK
    2119 case 55:
     2110{ KEYWORD_RETURN(GOTO); }
     2111        YY_BREAK
     2112case 57:
    21202113YY_RULE_SETUP
    21212114#line 225 "lex.ll"
    2122 { KEYWORD_RETURN(GOTO); }
    2123         YY_BREAK
    2124 case 56:
     2115{ KEYWORD_RETURN(IF); }
     2116        YY_BREAK
     2117case 58:
    21252118YY_RULE_SETUP
    21262119#line 226 "lex.ll"
    2127 { KEYWORD_RETURN(IF); }
    2128         YY_BREAK
    2129 case 57:
     2120{ KEYWORD_RETURN(IMAGINARY); }                  // C99
     2121        YY_BREAK
     2122case 59:
    21302123YY_RULE_SETUP
    21312124#line 227 "lex.ll"
    2132 { KEYWORD_RETURN(IMAGINARY); }                  // C99
    2133         YY_BREAK
    2134 case 58:
     2125{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
     2126        YY_BREAK
     2127case 60:
    21352128YY_RULE_SETUP
    21362129#line 228 "lex.ll"
    21372130{ KEYWORD_RETURN(IMAGINARY); }                  // GCC
    21382131        YY_BREAK
    2139 case 59:
     2132case 61:
    21402133YY_RULE_SETUP
    21412134#line 229 "lex.ll"
    2142 { KEYWORD_RETURN(IMAGINARY); }                  // GCC
    2143         YY_BREAK
    2144 case 60:
     2135{ KEYWORD_RETURN(INLINE); }                             // C99
     2136        YY_BREAK
     2137case 62:
    21452138YY_RULE_SETUP
    21462139#line 230 "lex.ll"
    2147 { KEYWORD_RETURN(INLINE); }                             // C99
    2148         YY_BREAK
    2149 case 61:
     2140{ KEYWORD_RETURN(INLINE); }                             // GCC
     2141        YY_BREAK
     2142case 63:
    21502143YY_RULE_SETUP
    21512144#line 231 "lex.ll"
    21522145{ KEYWORD_RETURN(INLINE); }                             // GCC
    21532146        YY_BREAK
    2154 case 62:
     2147case 64:
    21552148YY_RULE_SETUP
    21562149#line 232 "lex.ll"
    2157 { KEYWORD_RETURN(INLINE); }                             // GCC
    2158         YY_BREAK
    2159 case 63:
     2150{ KEYWORD_RETURN(INT); }
     2151        YY_BREAK
     2152case 65:
    21602153YY_RULE_SETUP
    21612154#line 233 "lex.ll"
    2162 { KEYWORD_RETURN(INT); }
    2163         YY_BREAK
    2164 case 64:
     2155{ KEYWORD_RETURN(INT); }                                // GCC
     2156        YY_BREAK
     2157case 66:
    21652158YY_RULE_SETUP
    21662159#line 234 "lex.ll"
    2167 { KEYWORD_RETURN(INT); }                                // GCC
    2168         YY_BREAK
    2169 case 65:
     2160{ KEYWORD_RETURN(LABEL); }                              // GCC
     2161        YY_BREAK
     2162case 67:
    21702163YY_RULE_SETUP
    21712164#line 235 "lex.ll"
    2172 { KEYWORD_RETURN(LABEL); }                              // GCC
    2173         YY_BREAK
    2174 case 66:
     2165{ KEYWORD_RETURN(LONG); }
     2166        YY_BREAK
     2167case 68:
    21752168YY_RULE_SETUP
    21762169#line 236 "lex.ll"
    2177 { KEYWORD_RETURN(LONG); }
    2178         YY_BREAK
    2179 case 67:
     2170{ KEYWORD_RETURN(LVALUE); }                             // CFA
     2171        YY_BREAK
     2172case 69:
    21802173YY_RULE_SETUP
    21812174#line 237 "lex.ll"
    2182 { KEYWORD_RETURN(LVALUE); }                             // CFA
    2183         YY_BREAK
    2184 case 68:
     2175{ KEYWORD_RETURN(NORETURN); }                   // C11
     2176        YY_BREAK
     2177case 70:
    21852178YY_RULE_SETUP
    21862179#line 238 "lex.ll"
    2187 { KEYWORD_RETURN(NORETURN); }                   // C11
    2188         YY_BREAK
    2189 case 69:
     2180{ KEYWORD_RETURN(OFFSETOF); }           // GCC
     2181        YY_BREAK
     2182case 71:
    21902183YY_RULE_SETUP
    21912184#line 239 "lex.ll"
    2192 { KEYWORD_RETURN(OFFSETOF); }           // GCC
    2193         YY_BREAK
    2194 case 70:
     2185{ KEYWORD_RETURN(REGISTER); }
     2186        YY_BREAK
     2187case 72:
    21952188YY_RULE_SETUP
    21962189#line 240 "lex.ll"
    2197 { KEYWORD_RETURN(OTYPE); }                              // CFA
    2198         YY_BREAK
    2199 case 71:
     2190{ KEYWORD_RETURN(RESTRICT); }                   // C99
     2191        YY_BREAK
     2192case 73:
    22002193YY_RULE_SETUP
    22012194#line 241 "lex.ll"
    2202 { KEYWORD_RETURN(REGISTER); }
    2203         YY_BREAK
    2204 case 72:
     2195{ KEYWORD_RETURN(RESTRICT); }                   // GCC
     2196        YY_BREAK
     2197case 74:
    22052198YY_RULE_SETUP
    22062199#line 242 "lex.ll"
    2207 { KEYWORD_RETURN(RESTRICT); }                   // C99
    2208         YY_BREAK
    2209 case 73:
     2200{ KEYWORD_RETURN(RESTRICT); }                   // GCC
     2201        YY_BREAK
     2202case 75:
    22102203YY_RULE_SETUP
    22112204#line 243 "lex.ll"
    2212 { KEYWORD_RETURN(RESTRICT); }                   // GCC
    2213         YY_BREAK
    2214 case 74:
     2205{ KEYWORD_RETURN(RETURN); }
     2206        YY_BREAK
     2207case 76:
    22152208YY_RULE_SETUP
    22162209#line 244 "lex.ll"
    2217 { KEYWORD_RETURN(RESTRICT); }                   // GCC
    2218         YY_BREAK
    2219 case 75:
     2210{ KEYWORD_RETURN(SHORT); }
     2211        YY_BREAK
     2212case 77:
    22202213YY_RULE_SETUP
    22212214#line 245 "lex.ll"
    2222 { KEYWORD_RETURN(RETURN); }
    2223         YY_BREAK
    2224 case 76:
     2215{ KEYWORD_RETURN(SIGNED); }
     2216        YY_BREAK
     2217case 78:
    22252218YY_RULE_SETUP
    22262219#line 246 "lex.ll"
    2227 { KEYWORD_RETURN(SHORT); }
    2228         YY_BREAK
    2229 case 77:
     2220{ KEYWORD_RETURN(SIGNED); }                             // GCC
     2221        YY_BREAK
     2222case 79:
    22302223YY_RULE_SETUP
    22312224#line 247 "lex.ll"
    2232 { KEYWORD_RETURN(SIGNED); }
    2233         YY_BREAK
    2234 case 78:
     2225{ KEYWORD_RETURN(SIGNED); }                             // GCC
     2226        YY_BREAK
     2227case 80:
    22352228YY_RULE_SETUP
    22362229#line 248 "lex.ll"
    2237 { KEYWORD_RETURN(SIGNED); }                             // GCC
    2238         YY_BREAK
    2239 case 79:
     2230{ KEYWORD_RETURN(SIZEOF); }
     2231        YY_BREAK
     2232case 81:
    22402233YY_RULE_SETUP
    22412234#line 249 "lex.ll"
    2242 { KEYWORD_RETURN(SIGNED); }                             // GCC
    2243         YY_BREAK
    2244 case 80:
     2235{ KEYWORD_RETURN(STATIC); }
     2236        YY_BREAK
     2237case 82:
    22452238YY_RULE_SETUP
    22462239#line 250 "lex.ll"
    2247 { KEYWORD_RETURN(SIZEOF); }
    2248         YY_BREAK
    2249 case 81:
     2240{ KEYWORD_RETURN(STATICASSERT); }               // C11
     2241        YY_BREAK
     2242case 83:
    22502243YY_RULE_SETUP
    22512244#line 251 "lex.ll"
    2252 { KEYWORD_RETURN(STATIC); }
    2253         YY_BREAK
    2254 case 82:
     2245{ KEYWORD_RETURN(STRUCT); }
     2246        YY_BREAK
     2247case 84:
    22552248YY_RULE_SETUP
    22562249#line 252 "lex.ll"
    2257 { KEYWORD_RETURN(STATICASSERT); }               // C11
    2258         YY_BREAK
    2259 case 83:
     2250{ KEYWORD_RETURN(SWITCH); }
     2251        YY_BREAK
     2252case 85:
    22602253YY_RULE_SETUP
    22612254#line 253 "lex.ll"
    2262 { KEYWORD_RETURN(STRUCT); }
    2263         YY_BREAK
    2264 case 84:
     2255{ KEYWORD_RETURN(THREADLOCAL); }                // C11
     2256        YY_BREAK
     2257case 86:
    22652258YY_RULE_SETUP
    22662259#line 254 "lex.ll"
    2267 { KEYWORD_RETURN(SWITCH); }
    2268         YY_BREAK
    2269 case 85:
     2260{ KEYWORD_RETURN(THROW); }                              // CFA
     2261        YY_BREAK
     2262case 87:
    22702263YY_RULE_SETUP
    22712264#line 255 "lex.ll"
    2272 { KEYWORD_RETURN(THREADLOCAL); }                // C11
    2273         YY_BREAK
    2274 case 86:
     2265{ KEYWORD_RETURN(THROWRESUME); }                // CFA
     2266        YY_BREAK
     2267case 88:
    22752268YY_RULE_SETUP
    22762269#line 256 "lex.ll"
    2277 { KEYWORD_RETURN(THROW); }                              // CFA
    2278         YY_BREAK
    2279 case 87:
     2270{ KEYWORD_RETURN(TRY); }                                // CFA
     2271        YY_BREAK
     2272case 89:
    22802273YY_RULE_SETUP
    22812274#line 257 "lex.ll"
    2282 { KEYWORD_RETURN(THROWRESUME); }                // CFA
    2283         YY_BREAK
    2284 case 88:
     2275{ KEYWORD_RETURN(TYPE); }                               // CFA
     2276        YY_BREAK
     2277case 90:
    22852278YY_RULE_SETUP
    22862279#line 258 "lex.ll"
    2287 { KEYWORD_RETURN(TRAIT); }                              // CFA
    2288         YY_BREAK
    2289 case 89:
     2280{ KEYWORD_RETURN(TYPEDEF); }
     2281        YY_BREAK
     2282case 91:
    22902283YY_RULE_SETUP
    22912284#line 259 "lex.ll"
    2292 { KEYWORD_RETURN(TRY); }                                // CFA
    2293         YY_BREAK
    2294 case 90:
     2285{ KEYWORD_RETURN(TYPEOF); }                             // GCC
     2286        YY_BREAK
     2287case 92:
    22952288YY_RULE_SETUP
    22962289#line 260 "lex.ll"
    2297 { KEYWORD_RETURN(TYPEDEF); }
    2298         YY_BREAK
    2299 case 91:
     2290{ KEYWORD_RETURN(TYPEOF); }                             // GCC
     2291        YY_BREAK
     2292case 93:
    23002293YY_RULE_SETUP
    23012294#line 261 "lex.ll"
    23022295{ KEYWORD_RETURN(TYPEOF); }                             // GCC
    23032296        YY_BREAK
    2304 case 92:
     2297case 94:
    23052298YY_RULE_SETUP
    23062299#line 262 "lex.ll"
    2307 { KEYWORD_RETURN(TYPEOF); }                             // GCC
    2308         YY_BREAK
    2309 case 93:
     2300{ KEYWORD_RETURN(UNION); }
     2301        YY_BREAK
     2302case 95:
    23102303YY_RULE_SETUP
    23112304#line 263 "lex.ll"
    2312 { KEYWORD_RETURN(TYPEOF); }                             // GCC
    2313         YY_BREAK
    2314 case 94:
     2305{ KEYWORD_RETURN(UNSIGNED); }
     2306        YY_BREAK
     2307case 96:
    23152308YY_RULE_SETUP
    23162309#line 264 "lex.ll"
    2317 { KEYWORD_RETURN(UNION); }
    2318         YY_BREAK
    2319 case 95:
     2310{ KEYWORD_RETURN(VOID); }
     2311        YY_BREAK
     2312case 97:
    23202313YY_RULE_SETUP
    23212314#line 265 "lex.ll"
    2322 { KEYWORD_RETURN(UNSIGNED); }
    2323         YY_BREAK
    2324 case 96:
     2315{ KEYWORD_RETURN(VOLATILE); }
     2316        YY_BREAK
     2317case 98:
    23252318YY_RULE_SETUP
    23262319#line 266 "lex.ll"
    2327 { KEYWORD_RETURN(VALIST); }                     // GCC
    2328         YY_BREAK
    2329 case 97:
     2320{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2321        YY_BREAK
     2322case 99:
    23302323YY_RULE_SETUP
    23312324#line 267 "lex.ll"
    2332 { KEYWORD_RETURN(VOID); }
    2333         YY_BREAK
    2334 case 98:
     2325{ KEYWORD_RETURN(VOLATILE); }                   // GCC
     2326        YY_BREAK
     2327case 100:
    23352328YY_RULE_SETUP
    23362329#line 268 "lex.ll"
    2337 { KEYWORD_RETURN(VOLATILE); }
    2338         YY_BREAK
    2339 case 99:
    2340 YY_RULE_SETUP
    2341 #line 269 "lex.ll"
    2342 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    2343         YY_BREAK
    2344 case 100:
    2345 YY_RULE_SETUP
    2346 #line 270 "lex.ll"
    2347 { KEYWORD_RETURN(VOLATILE); }                   // GCC
    2348         YY_BREAK
     2330{ KEYWORD_RETURN(WHILE); }
     2331        YY_BREAK
     2332/* identifier */
    23492333case 101:
    23502334YY_RULE_SETUP
    23512335#line 271 "lex.ll"
    2352 { KEYWORD_RETURN(WHILE); }
    2353         YY_BREAK
    2354 /* identifier */
     2336{ IDENTIFIER_RETURN(); }
     2337        YY_BREAK
    23552338case 102:
     2339YY_RULE_SETUP
     2340#line 272 "lex.ll"
     2341{ ATTRIBUTE_RETURN(); }
     2342        YY_BREAK
     2343case 103:
     2344YY_RULE_SETUP
     2345#line 273 "lex.ll"
     2346{ BEGIN BKQUOTE; }
     2347        YY_BREAK
     2348case 104:
    23562349YY_RULE_SETUP
    23572350#line 274 "lex.ll"
    23582351{ IDENTIFIER_RETURN(); }
    23592352        YY_BREAK
    2360 case 103:
     2353case 105:
    23612354YY_RULE_SETUP
    23622355#line 275 "lex.ll"
    2363 { ATTRIBUTE_RETURN(); }
    2364         YY_BREAK
    2365 case 104:
    2366 YY_RULE_SETUP
    2367 #line 276 "lex.ll"
    2368 { BEGIN BKQUOTE; }
    2369         YY_BREAK
    2370 case 105:
    2371 YY_RULE_SETUP
    2372 #line 277 "lex.ll"
    2373 { IDENTIFIER_RETURN(); }
    2374         YY_BREAK
     2356{ BEGIN 0; }
     2357        YY_BREAK
     2358/* numeric constants */
    23752359case 106:
    23762360YY_RULE_SETUP
    23772361#line 278 "lex.ll"
    2378 { BEGIN 0; }
    2379         YY_BREAK
    2380 /* numeric constants */
     2362{ NUMERIC_RETURN(ZERO); }                               // CFA
     2363        YY_BREAK
    23812364case 107:
    23822365YY_RULE_SETUP
     2366#line 279 "lex.ll"
     2367{ NUMERIC_RETURN(ONE); }                                // CFA
     2368        YY_BREAK
     2369case 108:
     2370YY_RULE_SETUP
     2371#line 280 "lex.ll"
     2372{ NUMERIC_RETURN(INTEGERconstant); }
     2373        YY_BREAK
     2374case 109:
     2375YY_RULE_SETUP
    23832376#line 281 "lex.ll"
    2384 { NUMERIC_RETURN(ZERO); }                               // CFA
    2385         YY_BREAK
    2386 case 108:
     2377{ NUMERIC_RETURN(INTEGERconstant); }
     2378        YY_BREAK
     2379case 110:
    23872380YY_RULE_SETUP
    23882381#line 282 "lex.ll"
    2389 { NUMERIC_RETURN(ONE); }                                // CFA
    2390         YY_BREAK
    2391 case 109:
     2382{ NUMERIC_RETURN(INTEGERconstant); }
     2383        YY_BREAK
     2384case 111:
    23922385YY_RULE_SETUP
    23932386#line 283 "lex.ll"
    2394 { NUMERIC_RETURN(INTEGERconstant); }
    2395         YY_BREAK
    2396 case 110:
     2387{ NUMERIC_RETURN(FLOATINGconstant); }
     2388        YY_BREAK
     2389case 112:
    23972390YY_RULE_SETUP
    23982391#line 284 "lex.ll"
    2399 { NUMERIC_RETURN(INTEGERconstant); }
    2400         YY_BREAK
    2401 case 111:
    2402 YY_RULE_SETUP
    2403 #line 285 "lex.ll"
    2404 { NUMERIC_RETURN(INTEGERconstant); }
    2405         YY_BREAK
    2406 case 112:
    2407 YY_RULE_SETUP
    2408 #line 286 "lex.ll"
    24092392{ NUMERIC_RETURN(FLOATINGconstant); }
    24102393        YY_BREAK
     2394/* character constant, allows empty value */
    24112395case 113:
    24122396YY_RULE_SETUP
    24132397#line 287 "lex.ll"
    2414 { NUMERIC_RETURN(FLOATINGconstant); }
    2415         YY_BREAK
    2416 /* character constant, allows empty value */
     2398{ BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
     2399        YY_BREAK
    24172400case 114:
    24182401YY_RULE_SETUP
    2419 #line 290 "lex.ll"
    2420 { BEGIN QUOTE; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
     2402#line 288 "lex.ll"
     2403{ *strtext += std::string( yytext ); }
    24212404        YY_BREAK
    24222405case 115:
    2423 YY_RULE_SETUP
    2424 #line 291 "lex.ll"
    2425 { *strtext += std::string( yytext ); }
    2426         YY_BREAK
    2427 case 116:
    2428 /* rule 116 can match eol */
    2429 YY_RULE_SETUP
    2430 #line 292 "lex.ll"
     2406/* rule 115 can match eol */
     2407YY_RULE_SETUP
     2408#line 289 "lex.ll"
    24312409{ BEGIN 0; *strtext += std::string( yytext); RETURN_STR(CHARACTERconstant); }
    24322410        YY_BREAK
    24332411/* ' stop highlighting */
    24342412/* string constant */
     2413case 116:
     2414YY_RULE_SETUP
     2415#line 293 "lex.ll"
     2416{ BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
     2417        YY_BREAK
    24352418case 117:
    24362419YY_RULE_SETUP
    2437 #line 296 "lex.ll"
    2438 { BEGIN STRING; rm_underscore(); strtext = new std::string; *strtext += std::string( yytext ); }
     2420#line 294 "lex.ll"
     2421{ *strtext += std::string( yytext ); }
    24392422        YY_BREAK
    24402423case 118:
    2441 YY_RULE_SETUP
    2442 #line 297 "lex.ll"
    2443 { *strtext += std::string( yytext ); }
    2444         YY_BREAK
    2445 case 119:
    2446 /* rule 119 can match eol */
    2447 YY_RULE_SETUP
    2448 #line 298 "lex.ll"
     2424/* rule 118 can match eol */
     2425YY_RULE_SETUP
     2426#line 295 "lex.ll"
    24492427{ BEGIN 0; *strtext += std::string( yytext ); RETURN_STR(STRINGliteral); }
    24502428        YY_BREAK
    24512429/* " stop highlighting */
    24522430/* common character/string constant */
     2431case 119:
     2432YY_RULE_SETUP
     2433#line 299 "lex.ll"
     2434{ rm_underscore(); *strtext += std::string( yytext ); }
     2435        YY_BREAK
    24532436case 120:
    2454 YY_RULE_SETUP
    2455 #line 302 "lex.ll"
    2456 { rm_underscore(); *strtext += std::string( yytext ); }
     2437/* rule 120 can match eol */
     2438YY_RULE_SETUP
     2439#line 300 "lex.ll"
     2440{}                                              // continuation (ALSO HANDLED BY CPP)
    24572441        YY_BREAK
    24582442case 121:
    2459 /* rule 121 can match eol */
    2460 YY_RULE_SETUP
    2461 #line 303 "lex.ll"
    2462 {}                                              // continuation (ALSO HANDLED BY CPP)
    2463         YY_BREAK
     2443YY_RULE_SETUP
     2444#line 301 "lex.ll"
     2445{ *strtext += std::string( yytext ); } // unknown escape character
     2446        YY_BREAK
     2447/* punctuation */
    24642448case 122:
    24652449YY_RULE_SETUP
    24662450#line 304 "lex.ll"
    2467 { *strtext += std::string( yytext ); } // unknown escape character
    2468         YY_BREAK
    2469 /* punctuation */
     2451{ ASCIIOP_RETURN(); }
     2452        YY_BREAK
    24702453case 123:
     2454YY_RULE_SETUP
     2455#line 305 "lex.ll"
     2456{ ASCIIOP_RETURN(); }
     2457        YY_BREAK
     2458case 124:
     2459YY_RULE_SETUP
     2460#line 306 "lex.ll"
     2461{ ASCIIOP_RETURN(); }
     2462        YY_BREAK
     2463case 125:
    24712464YY_RULE_SETUP
    24722465#line 307 "lex.ll"
    24732466{ ASCIIOP_RETURN(); }
    24742467        YY_BREAK
    2475 case 124:
     2468case 126:
    24762469YY_RULE_SETUP
    24772470#line 308 "lex.ll"
    24782471{ ASCIIOP_RETURN(); }
    24792472        YY_BREAK
    2480 case 125:
     2473case 127:
    24812474YY_RULE_SETUP
    24822475#line 309 "lex.ll"
    24832476{ ASCIIOP_RETURN(); }
    24842477        YY_BREAK
    2485 case 126:
     2478case 128:
    24862479YY_RULE_SETUP
    24872480#line 310 "lex.ll"
    2488 { ASCIIOP_RETURN(); }
    2489         YY_BREAK
    2490 case 127:
     2481{ ASCIIOP_RETURN(); }                                   // also operator
     2482        YY_BREAK
     2483case 129:
    24912484YY_RULE_SETUP
    24922485#line 311 "lex.ll"
    24932486{ ASCIIOP_RETURN(); }
    24942487        YY_BREAK
    2495 case 128:
     2488case 130:
    24962489YY_RULE_SETUP
    24972490#line 312 "lex.ll"
    24982491{ ASCIIOP_RETURN(); }
    24992492        YY_BREAK
    2500 case 129:
     2493case 131:
    25012494YY_RULE_SETUP
    25022495#line 313 "lex.ll"
    25032496{ ASCIIOP_RETURN(); }                                   // also operator
    25042497        YY_BREAK
    2505 case 130:
     2498case 132:
    25062499YY_RULE_SETUP
    25072500#line 314 "lex.ll"
     2501{ NAMEDOP_RETURN(ELLIPSIS); }
     2502        YY_BREAK
     2503/* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
     2504case 133:
     2505YY_RULE_SETUP
     2506#line 317 "lex.ll"
     2507{ RETURN_VAL('['); }
     2508        YY_BREAK
     2509case 134:
     2510YY_RULE_SETUP
     2511#line 318 "lex.ll"
     2512{ RETURN_VAL(']'); }
     2513        YY_BREAK
     2514case 135:
     2515YY_RULE_SETUP
     2516#line 319 "lex.ll"
     2517{ RETURN_VAL('{'); }
     2518        YY_BREAK
     2519case 136:
     2520YY_RULE_SETUP
     2521#line 320 "lex.ll"
     2522{ RETURN_VAL('}'); }
     2523        YY_BREAK
     2524/* operators */
     2525case 137:
     2526YY_RULE_SETUP
     2527#line 323 "lex.ll"
    25082528{ ASCIIOP_RETURN(); }
    25092529        YY_BREAK
    2510 case 131:
    2511 YY_RULE_SETUP
    2512 #line 315 "lex.ll"
     2530case 138:
     2531YY_RULE_SETUP
     2532#line 324 "lex.ll"
    25132533{ ASCIIOP_RETURN(); }
    25142534        YY_BREAK
    2515 case 132:
    2516 YY_RULE_SETUP
    2517 #line 316 "lex.ll"
    2518 { ASCIIOP_RETURN(); }                                   // also operator
    2519         YY_BREAK
    2520 case 133:
    2521 YY_RULE_SETUP
    2522 #line 317 "lex.ll"
    2523 { NAMEDOP_RETURN(ELLIPSIS); }
    2524         YY_BREAK
    2525 /* alternative C99 brackets, "<:" & "<:<:" handled by preprocessor */
    2526 case 134:
    2527 YY_RULE_SETUP
    2528 #line 320 "lex.ll"
    2529 { RETURN_VAL('['); }
    2530         YY_BREAK
    2531 case 135:
    2532 YY_RULE_SETUP
    2533 #line 321 "lex.ll"
    2534 { RETURN_VAL(']'); }
    2535         YY_BREAK
    2536 case 136:
    2537 YY_RULE_SETUP
    2538 #line 322 "lex.ll"
    2539 { RETURN_VAL('{'); }
    2540         YY_BREAK
    2541 case 137:
    2542 YY_RULE_SETUP
    2543 #line 323 "lex.ll"
    2544 { RETURN_VAL('}'); }
    2545         YY_BREAK
    2546 /* operators */
    2547 case 138:
     2535case 139:
     2536YY_RULE_SETUP
     2537#line 325 "lex.ll"
     2538{ ASCIIOP_RETURN(); }
     2539        YY_BREAK
     2540case 140:
    25482541YY_RULE_SETUP
    25492542#line 326 "lex.ll"
    25502543{ ASCIIOP_RETURN(); }
    25512544        YY_BREAK
    2552 case 139:
     2545case 141:
    25532546YY_RULE_SETUP
    25542547#line 327 "lex.ll"
    25552548{ ASCIIOP_RETURN(); }
    25562549        YY_BREAK
    2557 case 140:
     2550case 142:
    25582551YY_RULE_SETUP
    25592552#line 328 "lex.ll"
    25602553{ ASCIIOP_RETURN(); }
    25612554        YY_BREAK
    2562 case 141:
     2555case 143:
    25632556YY_RULE_SETUP
    25642557#line 329 "lex.ll"
    25652558{ ASCIIOP_RETURN(); }
    25662559        YY_BREAK
    2567 case 142:
     2560case 144:
    25682561YY_RULE_SETUP
    25692562#line 330 "lex.ll"
    25702563{ ASCIIOP_RETURN(); }
    25712564        YY_BREAK
    2572 case 143:
     2565case 145:
    25732566YY_RULE_SETUP
    25742567#line 331 "lex.ll"
    25752568{ ASCIIOP_RETURN(); }
    25762569        YY_BREAK
    2577 case 144:
     2570case 146:
    25782571YY_RULE_SETUP
    25792572#line 332 "lex.ll"
    25802573{ ASCIIOP_RETURN(); }
    25812574        YY_BREAK
    2582 case 145:
     2575case 147:
    25832576YY_RULE_SETUP
    25842577#line 333 "lex.ll"
    25852578{ ASCIIOP_RETURN(); }
    25862579        YY_BREAK
    2587 case 146:
     2580case 148:
    25882581YY_RULE_SETUP
    25892582#line 334 "lex.ll"
    25902583{ ASCIIOP_RETURN(); }
    25912584        YY_BREAK
    2592 case 147:
     2585case 149:
    25932586YY_RULE_SETUP
    25942587#line 335 "lex.ll"
    25952588{ ASCIIOP_RETURN(); }
    25962589        YY_BREAK
    2597 case 148:
     2590case 150:
    25982591YY_RULE_SETUP
    25992592#line 336 "lex.ll"
    26002593{ ASCIIOP_RETURN(); }
    26012594        YY_BREAK
    2602 case 149:
    2603 YY_RULE_SETUP
    2604 #line 337 "lex.ll"
    2605 { ASCIIOP_RETURN(); }
    2606         YY_BREAK
    2607 case 150:
     2595case 151:
    26082596YY_RULE_SETUP
    26092597#line 338 "lex.ll"
    2610 { ASCIIOP_RETURN(); }
    2611         YY_BREAK
    2612 case 151:
     2598{ NAMEDOP_RETURN(ICR); }
     2599        YY_BREAK
     2600case 152:
    26132601YY_RULE_SETUP
    26142602#line 339 "lex.ll"
    2615 { ASCIIOP_RETURN(); }
    2616         YY_BREAK
    2617 case 152:
     2603{ NAMEDOP_RETURN(DECR); }
     2604        YY_BREAK
     2605case 153:
     2606YY_RULE_SETUP
     2607#line 340 "lex.ll"
     2608{ NAMEDOP_RETURN(EQ); }
     2609        YY_BREAK
     2610case 154:
    26182611YY_RULE_SETUP
    26192612#line 341 "lex.ll"
    2620 { NAMEDOP_RETURN(ICR); }
    2621         YY_BREAK
    2622 case 153:
     2613{ NAMEDOP_RETURN(NE); }
     2614        YY_BREAK
     2615case 155:
    26232616YY_RULE_SETUP
    26242617#line 342 "lex.ll"
    2625 { NAMEDOP_RETURN(DECR); }
    2626         YY_BREAK
    2627 case 154:
     2618{ NAMEDOP_RETURN(LS); }
     2619        YY_BREAK
     2620case 156:
    26282621YY_RULE_SETUP
    26292622#line 343 "lex.ll"
    2630 { NAMEDOP_RETURN(EQ); }
    2631         YY_BREAK
    2632 case 155:
     2623{ NAMEDOP_RETURN(RS); }
     2624        YY_BREAK
     2625case 157:
    26332626YY_RULE_SETUP
    26342627#line 344 "lex.ll"
    2635 { NAMEDOP_RETURN(NE); }
    2636         YY_BREAK
    2637 case 156:
     2628{ NAMEDOP_RETURN(LE); }
     2629        YY_BREAK
     2630case 158:
    26382631YY_RULE_SETUP
    26392632#line 345 "lex.ll"
    2640 { NAMEDOP_RETURN(LS); }
    2641         YY_BREAK
    2642 case 157:
     2633{ NAMEDOP_RETURN(GE); }
     2634        YY_BREAK
     2635case 159:
    26432636YY_RULE_SETUP
    26442637#line 346 "lex.ll"
    2645 { NAMEDOP_RETURN(RS); }
    2646         YY_BREAK
    2647 case 158:
     2638{ NAMEDOP_RETURN(ANDAND); }
     2639        YY_BREAK
     2640case 160:
    26482641YY_RULE_SETUP
    26492642#line 347 "lex.ll"
    2650 { NAMEDOP_RETURN(LE); }
    2651         YY_BREAK
    2652 case 159:
     2643{ NAMEDOP_RETURN(OROR); }
     2644        YY_BREAK
     2645case 161:
    26532646YY_RULE_SETUP
    26542647#line 348 "lex.ll"
    2655 { NAMEDOP_RETURN(GE); }
    2656         YY_BREAK
    2657 case 160:
     2648{ NAMEDOP_RETURN(ARROW); }
     2649        YY_BREAK
     2650case 162:
    26582651YY_RULE_SETUP
    26592652#line 349 "lex.ll"
    2660 { NAMEDOP_RETURN(ANDAND); }
    2661         YY_BREAK
    2662 case 161:
     2653{ NAMEDOP_RETURN(PLUSassign); }
     2654        YY_BREAK
     2655case 163:
    26632656YY_RULE_SETUP
    26642657#line 350 "lex.ll"
    2665 { NAMEDOP_RETURN(OROR); }
    2666         YY_BREAK
    2667 case 162:
     2658{ NAMEDOP_RETURN(MINUSassign); }
     2659        YY_BREAK
     2660case 164:
    26682661YY_RULE_SETUP
    26692662#line 351 "lex.ll"
    2670 { NAMEDOP_RETURN(ARROW); }
    2671         YY_BREAK
    2672 case 163:
     2663{ NAMEDOP_RETURN(MULTassign); }
     2664        YY_BREAK
     2665case 165:
    26732666YY_RULE_SETUP
    26742667#line 352 "lex.ll"
    2675 { NAMEDOP_RETURN(PLUSassign); }
    2676         YY_BREAK
    2677 case 164:
     2668{ NAMEDOP_RETURN(DIVassign); }
     2669        YY_BREAK
     2670case 166:
    26782671YY_RULE_SETUP
    26792672#line 353 "lex.ll"
    2680 { NAMEDOP_RETURN(MINUSassign); }
    2681         YY_BREAK
    2682 case 165:
     2673{ NAMEDOP_RETURN(MODassign); }
     2674        YY_BREAK
     2675case 167:
    26832676YY_RULE_SETUP
    26842677#line 354 "lex.ll"
    2685 { NAMEDOP_RETURN(MULTassign); }
    2686         YY_BREAK
    2687 case 166:
     2678{ NAMEDOP_RETURN(ANDassign); }
     2679        YY_BREAK
     2680case 168:
    26882681YY_RULE_SETUP
    26892682#line 355 "lex.ll"
    2690 { NAMEDOP_RETURN(DIVassign); }
    2691         YY_BREAK
    2692 case 167:
     2683{ NAMEDOP_RETURN(ORassign); }
     2684        YY_BREAK
     2685case 169:
    26932686YY_RULE_SETUP
    26942687#line 356 "lex.ll"
    2695 { NAMEDOP_RETURN(MODassign); }
    2696         YY_BREAK
    2697 case 168:
     2688{ NAMEDOP_RETURN(ERassign); }
     2689        YY_BREAK
     2690case 170:
    26982691YY_RULE_SETUP
    26992692#line 357 "lex.ll"
    2700 { NAMEDOP_RETURN(ANDassign); }
    2701         YY_BREAK
    2702 case 169:
     2693{ NAMEDOP_RETURN(LSassign); }
     2694        YY_BREAK
     2695case 171:
    27032696YY_RULE_SETUP
    27042697#line 358 "lex.ll"
    2705 { NAMEDOP_RETURN(ORassign); }
    2706         YY_BREAK
    2707 case 170:
    2708 YY_RULE_SETUP
    2709 #line 359 "lex.ll"
    2710 { NAMEDOP_RETURN(ERassign); }
    2711         YY_BREAK
    2712 case 171:
     2698{ NAMEDOP_RETURN(RSassign); }
     2699        YY_BREAK
     2700case 172:
    27132701YY_RULE_SETUP
    27142702#line 360 "lex.ll"
    2715 { NAMEDOP_RETURN(LSassign); }
    2716         YY_BREAK
    2717 case 172:
    2718 YY_RULE_SETUP
    2719 #line 361 "lex.ll"
    2720 { NAMEDOP_RETURN(RSassign); }
    2721         YY_BREAK
     2703{ NAMEDOP_RETURN(ATassign); }
     2704        YY_BREAK
     2705/* CFA, operator identifier */
    27222706case 173:
    27232707YY_RULE_SETUP
    27242708#line 363 "lex.ll"
    2725 { NAMEDOP_RETURN(ATassign); }
    2726         YY_BREAK
    2727 /* CFA, operator identifier */
     2709{ IDENTIFIER_RETURN(); }                                // unary
     2710        YY_BREAK
    27282711case 174:
    27292712YY_RULE_SETUP
     2713#line 364 "lex.ll"
     2714{ IDENTIFIER_RETURN(); }
     2715        YY_BREAK
     2716case 175:
     2717YY_RULE_SETUP
     2718#line 365 "lex.ll"
     2719{ IDENTIFIER_RETURN(); }
     2720        YY_BREAK
     2721case 176:
     2722YY_RULE_SETUP
    27302723#line 366 "lex.ll"
    2731 { IDENTIFIER_RETURN(); }                                // unary
    2732         YY_BREAK
    2733 case 175:
    2734 YY_RULE_SETUP
    2735 #line 367 "lex.ll"
    2736 { IDENTIFIER_RETURN(); }
    2737         YY_BREAK
    2738 case 176:
    2739 YY_RULE_SETUP
    2740 #line 368 "lex.ll"
    2741 { IDENTIFIER_RETURN(); }
    2742         YY_BREAK
    2743 case 177:
    2744 YY_RULE_SETUP
    2745 #line 369 "lex.ll"
    27462724{ IDENTIFIER_RETURN(); }                // binary
    27472725        YY_BREAK
     
    27722750          an argument list.
    27732751        */
    2774 case 178:
    2775 YY_RULE_SETUP
    2776 #line 396 "lex.ll"
     2752case 177:
     2753YY_RULE_SETUP
     2754#line 393 "lex.ll"
    27772755{
    27782756        // 1 or 2 character unary operator ?
     
    27872765        YY_BREAK
    27882766/* unknown characters */
     2767case 178:
     2768YY_RULE_SETUP
     2769#line 405 "lex.ll"
     2770{ printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
     2771        YY_BREAK
    27892772case 179:
    27902773YY_RULE_SETUP
    2791 #line 408 "lex.ll"
    2792 { printf("unknown character(s):\"%s\" on line %d\n", yytext, yylineno); }
    2793         YY_BREAK
    2794 case 180:
    2795 YY_RULE_SETUP
    2796 #line 410 "lex.ll"
     2774#line 407 "lex.ll"
    27972775ECHO;
    27982776        YY_BREAK
    2799 #line 2800 "Parser/lex.cc"
     2777#line 2778 "Parser/lex.cc"
    28002778case YY_STATE_EOF(INITIAL):
    28012779case YY_STATE_EOF(COMMENT):
     
    30943072                        {
    30953073                        yy_current_state = (int) yy_def[yy_current_state];
    3096                         if ( yy_current_state >= 888 )
     3074                        if ( yy_current_state >= 876 )
    30973075                                yy_c = yy_meta[(unsigned int) yy_c];
    30983076                        }
     
    31223100                {
    31233101                yy_current_state = (int) yy_def[yy_current_state];
    3124                 if ( yy_current_state >= 888 )
     3102                if ( yy_current_state >= 876 )
    31253103                        yy_c = yy_meta[(unsigned int) yy_c];
    31263104                }
    31273105        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
    3128         yy_is_jam = (yy_current_state == 887);
     3106        yy_is_jam = (yy_current_state == 875);
    31293107
    31303108        return yy_is_jam ? 0 : yy_current_state;
     
    37723750#define YYTABLES_NAME "yytables"
    37733751
    3774 #line 410 "lex.ll"
     3752#line 407 "lex.ll"
    37753753
    37763754
Note: See TracChangeset for help on using the changeset viewer.