Home | History | Annotate | Download | only in MVS
      1 /* A lexical scanner generated by flex */
      2 
      3 /* scanner skeleton version:
      4  * $Header: flex.skel,v 2.13 90/05/26 17:24:13 ve
      5  */
      6 
      7 #define FLEX_SCANNER
      8 
      9 #include <stdio.h>
     10 
     11 #ifdef __STDC__
     12 
     13 #ifndef DONT_HAVE_STDLIB_H
     14 #include <stdlib.h>
     15 #else
     16 void *malloc( unsigned );
     17 void free( void* );
     18 #endif
     19 
     20 #define YY_USE_PROTOS
     21 #define YY_USE_CONST
     22 #endif
     23 
     24 
     25 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
     26 #ifdef c_plusplus
     27 #ifndef __cplusplus
     28 #define __cplusplus
     29 #endif
     30 #endif
     31 
     32 
     33 #ifdef __cplusplus
     34 
     35 #ifndef __STDC__
     36 #include <stdlib.h>
     37 #endif
     38 
     39 #include <osfcn.h>
     40 
     41 /* use prototypes in function declarations */
     42 #define YY_USE_PROTOS
     43 
     44 /* the "const" storage-class-modifier is valid */
     45 #define YY_USE_CONST
     46 
     47 #endif
     48 
     49 
     50 #ifdef __TURBOC__
     51 #define YY_USE_CONST
     52 #endif
     53 
     54 
     55 #ifndef YY_USE_CONST
     56 #define const
     57 #endif
     58 
     59 
     60 #ifdef YY_USE_PROTOS
     61 #define YY_PROTO(proto) proto
     62 #else
     63 #define YY_PROTO(proto) ()
     64 /* there's no standard place to get these definitions */
     65 char *malloc();
     66 int free();
     67 int read();
     68 #endif
     69 
     70 
     71 /* amount of stuff to slurp up with each read */
     72 #ifndef YY_READ_BUF_SIZE
     73 #define YY_READ_BUF_SIZE 8192
     74 #endif
     75 
     76 /* returned upon end-of-file */
     77 #define YY_END_TOK 0
     78 
     79 /* copy whatever the last rule matched to the standard output */
     80 
     81 /* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
     82 /* this used to be an fputs(), but since the string might contain NUL's,
     83  * we now use fwrite()
     84  */
     85 #define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
     86 
     87 /* gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
     88  * is returned in "result".
     89  */
     90 #define YY_INPUT(buf,result,max_size) \
     91         if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
     92             YY_FATAL_ERROR( "read() in flex scanner failed" );
     93 #define YY_NULL 0
     94 
     95 /* no semi-colon after return; correct usage is to write "yyterminate();" -
     96  * we don't want an extra ';' after the "return" because that will cause
     97  * some compilers to complain about unreachable statements.
     98  */
     99 #define yyterminate() return ( YY_NULL )
    100 
    101 /* report a fatal error */
    102 
    103 /* The funky do-while is used to turn this macro definition into
    104  * a single C statement (which needs a semi-colon terminator).
    105  * This avoids problems with code like:
    106  *
    107  *      if ( something_happens )
    108  *              YY_FATAL_ERROR( "oops, the something happened" );
    109  *      else
    110  *              everything_okay();
    111  *
    112  * Prior to using the do-while the compiler would get upset at the
    113  * "else" because it interpreted the "if" statement as being all
    114  * done when it reached the ';' after the YY_FATAL_ERROR() call.
    115  */
    116 
    117 #define YY_FATAL_ERROR(msg) \
    118         do \
    119                 { \
    120                 (void) fputs( msg, stderr ); \
    121                 (void) putc( '\n', stderr ); \
    122                 exit( 1 ); \
    123                 } \
    124         while ( 0 )
    125 
    126 /* default yywrap function - always treat EOF as an EOF */
    127 #define yywrap() 1
    128 
    129 /* enter a start condition.  This macro really ought to take a parameter,
    130  * but we do it the disgusting crufty way forced on us by the ()-less
    131  * definition of BEGIN
    132  */
    133 #define BEGIN yy_start = 1 + 2 *
    134 
    135 /* action number for EOF rule of a given start state */
    136 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
    137 
    138 /* special action meaning "start processing a new file" */
    139 #define YY_NEW_FILE \
    140         do \
    141                 { \
    142                 yyinbffr( yy_current_buffer, yyin ); \
    143                 yyldbfst(); \
    144                 } \
    145         while ( 0 )
    146 
    147 /* default declaration of generated scanner - a define so the user can
    148  * easily add parameters
    149  */
    150 #define YY_DECL int yylex YY_PROTO(( void ))
    151 
    152 /* code executed at the end of each rule */
    153 #define YY_BREAK break;
    154 
    155 #define YY_END_OF_BUFFER_CHAR 0
    156 
    157 #ifndef YY_BUF_SIZE
    158 #define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
    159 #endif
    160 
    161 typedef struct yy_buffer_state *YY_BUFFER_STATE;
    162 
    163 #define YY_CHAR unsigned char
    164 # line 1 "<stdin>"
    165 #define INITIAL 0
    166 /* scan.l - scanner for flex input */
    167 # line 5 "<stdin>"
    168 /*-
    169  * Copyright (c) 1990 The Regents of the University of California.
    170  * All rights reserved.
    171  *
    172  * This code is derived from software contributed to Berkeley by
    173  * Vern Paxson.
    174  *
    175  * The United States Government has rights in this work pursuant
    176  * to contract no. DE-AC03-76SF00098 between the United States
    177  * Department of Energy and the University of California.
    178  *
    179  * Redistribution and use in source and binary forms with or without
    180  * modification are permitted provided that: (1) source distributions retain
    181  * this entire copyright notice and comment, and (2) distributions including
    182  * binaries display the following acknowledgement:  ``This product includes
    183  * software developed by the University of California, Berkeley and its
    184  * contributors'' in the documentation or other materials provided with the
    185  * distribution and in all advertising materials mentioning features or use
    186  * of this software.  Neither the name of the University nor the names of
    187  * its contributors may be used to endorse or promote products derived from
    188  * this software without specific prior written permission.
    189  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
    190  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
    191  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    192  */
    193 
    194 #ifndef lint
    195 static char rcsid[] =
    196     "@(#) $Header: scan.l,v 2.9 90/06/27 23:48:34 vern Exp $ (LBL)";
    197 #endif
    198 
    199 #undef yywrap
    200 
    201 #include <flexdef.h>
    202 #include <parse.h>
    203 
    204 #define ACTION_ECHO fprintf( tmpactfl, "%s", yytext )
    205 #define MARK_END_OF_PROLOG fprintf( tmpactfl, "%%%% end of prolog\n" );
    206 
    207 #undef YY_DECL
    208 #define YY_DECL \
    209         int flexscan()
    210 
    211 #define RETURNCHAR \
    212         yylval = yytext[0]; \
    213         return ( CHAR );
    214 
    215 #define RETURNNAME \
    216         (void) strcpy( nmstr, (char *) yytext ); \
    217         return ( NAME );
    218 
    219 #define PUT_BACK_STRING(str, start) \
    220         for ( i = strlen( (char *) (str) ) - 1; i >= start; --i ) \
    221             unput((str)[i])
    222 
    223 #define CHECK_REJECT(str) \
    224         if ( allupper( str ) ) \
    225             reject = true;
    226 
    227 #define CHECK_YYMORE(str) \
    228         if ( alllower( str ) ) \
    229             yymrused = true;
    230 #define SECT2 1
    231 #define SECT2PROLOG 2
    232 #define SECT3 3
    233 #define CODEBLOCK 4
    234 #define PICKUPDEF 5
    235 #define SC 6
    236 #define CARETISBOL 7
    237 #define NUM 8
    238 #define QUOTE 9
    239 #define FIRSTCCL 10
    240 #define CCL 11
    241 #define ACTION 12
    242 #define RECOVER 13
    243 #define BRACEERROR 14
    244 #define C_COMMENT 15
    245 #define ACTION_COMMENT 16
    246 #define ACTION_STRING 17
    247 #define PERCENT_BRACE_ACTION 18
    248 #define USED_LIST 19
    249 #define CODEBLOCK_2 20
    250 #define XLATION 21
    251 # line 84 "<stdin>"
    252 
    253 /* done after the current pattern has been matched and before the
    254  * corresponding action - sets up yytext
    255  */
    256 #define YY_DO_BEFORE_ACTION \
    257         yytext = yy_bp; \
    258 	yyleng = yy_cp - yy_bp; \
    259         yy_hold_char = *yy_cp; \
    260         *yy_cp = '\0'; \
    261         yy_c_buf_p = yy_cp;
    262 
    263 #define EOB_ACT_CONTINUE_SCAN 0
    264 #define EOB_ACT_END_OF_FILE 1
    265 #define EOB_ACT_LAST_MATCH 2
    266 
    267 /* return all but the first 'n' matched characters back to the input stream */
    268 #define yyless(n) \
    269         do \
    270                 { \
    271                 /* undo effects of setting up yytext */ \
    272                 *yy_cp = yy_hold_char; \
    273                 yy_c_buf_p = yy_cp = yy_bp + n; \
    274                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
    275                 } \
    276         while ( 0 )
    277 
    278 #define unput(c) yyunput( c, yytext )
    279 
    280 
    281 struct yy_buffer_state
    282     {
    283     FILE *yy_input_file;
    284 
    285     YY_CHAR *yy_ch_buf;         /* input buffer */
    286     YY_CHAR *yy_buf_pos;        /* current position in input buffer */
    287 
    288     /* size of input buffer in bytes, not including room for EOB characters*/
    289     int yy_buf_size;
    290 
    291     /* number of characters read into yy_ch_buf, not including EOB characters */
    292     int yy_n_chars;
    293 
    294     int yy_eof_status;          /* whether we've seen an EOF on this buffer */
    295 #define EOF_NOT_SEEN 0
    296     /* "pending" happens when the EOF has been seen but there's still
    297      * some text process
    298      */
    299 #define EOF_PENDING 1
    300 #define EOF_DONE 2
    301     };
    302 
    303 static YY_BUFFER_STATE yy_current_buffer;
    304 
    305 /* we provide macros for accessing buffer states in case in the
    306  * future we want to put the buffer states in a more general
    307  * "scanner state"
    308  */
    309 #define YY_CURRENT_BUFFER yy_current_buffer
    310 
    311 
    312 /* yy_hold_char holds the character lost when yytext is formed */
    313 static YY_CHAR yy_hold_char;
    314 
    315 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
    316 
    317 
    318 
    319 #ifndef YY_USER_ACTION
    320 #define YY_USER_ACTION
    321 #endif
    322 
    323 #ifndef YY_USER_INIT
    324 #define YY_USER_INIT
    325 #endif
    326 
    327 extern YY_CHAR *yytext;
    328 extern int yyleng;
    329 extern FILE *yyin, *yyout;
    330 
    331 YY_CHAR *yytext;
    332 int yyleng;
    333 
    334 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
    335 
    336 #define YY_END_OF_BUFFER 121
    337 typedef int yy_ste_type;
    338 static const short int yy_accept[341] =
    339     {   0,
    340         0,    0,    0,    0,    0,    0,  119,  119,    0,    0,
    341         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    342         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    343         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    344         0,    0,    0,    0,  121,   19,    7,   18,   19,   16,
    345         1,   17,   19,   19,   15,   19,   67,   59,   60,   66,
    346        51,   67,   53,   67,   67,   67,   50,   49,   52,   67,
    347       120,   47,  119,  119,   28,   29,   28,   28,   28,   28,
    348        31,   30,   32,   73,  120,   69,   72,   70,   74,   88,
    349        89,   86,   87,   85,   75,   77,   76,   75,   81,   81,
    350 
    351        80,   81,   83,   83,   84,   83,   99,  104,  105,  100,
    352       105,  103,  100,  100,   97,   98,  120,   33,   91,   90,
    353        22,   24,   23,  107,  109,  108,  111,  113,  114,  115,
    354        95,   95,   96,   95,   95,   95,   95,   38,   35,   34,
    355        38,   38,   44,   42,   45,   44,   44,   41,   41,   41,
    356        41,   40,    7,   18,    0,   16,    1,   17,    3,   14,
    357         8,    0,   12,    4,    0,    0,    5,    0,   15,    0,
    358         2,   59,   60,    0,    0,    0,   56,    0,    0,   55,
    359        55,   54,  117,  117,  117,   50,   49,   63,   50,    0,
    360        47,   46,  119,  119,   28,   28,   28,   28,   28,   31,
    361 
    362        30,   72,   71,   85,   78,   79,  118,  118,  118,   82,
    363        99,  101,  100,    0,  102,    0,  100,  100,    0,   33,
    364        22,   20,  107,  106,  111,  112,   95,   95,   95,   92,
    365        95,   95,   95,   38,   35,   38,   38,   42,    0,   43,
    366        43,   43,   42,   40,    0,   13,   14,    8,    8,    0,
    367        12,    4,    0,    0,    0,    5,    0,    6,    0,   58,
    368        57,    0,   64,    0,    0,   55,   55,   65,  117,  117,
    369        63,   28,   28,   28,   25,    0,  118,  118,  100,  100,
    370         0,   21,   92,   92,   95,   95,   38,   38,    0,   39,
    371        43,   43,    0,   11,    4,    0,   11,    0,    0,    5,
    372 
    373         0,    0,    0,  117,   28,   28,  118,  100,  100,   95,
    374        95,   38,   38,   43,    0,    9,    0,    0,    0,   28,
    375        28,  100,  100,   95,   95,   38,   38,    0,    0,   26,
    376        27,   93,   94,   93,   94,   36,   37,   10,   62,    0
    377     } ;
    378 
    379 static const YY_CHAR yy_ec[256] =
    380     {   0,
    381         1,    1,    1,    1,    2,    1,    1,    1,    1,    1,
    382         1,    3,    1,    1,    1,    1,    1,    1,    1,    1,
    383         4,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    384         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    385         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    386         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    387         1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
    388         1,    1,    1,    1,    6,    7,    6,    6,    8,    1,
    389         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    390         9,   10,    6,    1,   11,   12,   13,    1,    1,    1,
    391 
    392         1,    1,    1,    1,    1,    1,   14,   15,   16,   17,
    393         6,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    394         1,    1,   18,    1,   19,    1,   20,    1,   21,   22,
    395        23,   24,   25,   26,   16,   16,   16,   16,   16,   16,
    396        16,   16,   16,   16,   27,   28,   16,   29,   30,   31,
    397        28,   16,   32,   16,   16,   16,   16,   16,   16,   16,
    398        16,   33,   34,   35,   16,   16,   36,   37,   16,    1,
    399         1,    1,   38,    1,    1,    1,    1,    1,    1,    1,
    400         1,    1,    1,    1,    1,    1,    1,    1,   39,    1,
    401         1,   40,   21,   22,   23,   24,   25,   26,   16,   16,
    402 
    403        16,    1,    1,    1,    1,    1,    1,   41,   27,   28,
    404        16,   29,   30,   31,   28,   16,   32,    1,    1,    1,
    405         1,    1,    1,   42,    1,   33,   34,   35,   16,   16,
    406        36,   37,   16,    1,    1,    1,    1,    1,    1,   43,
    407        43,   43,   43,   43,   43,   43,   43,   43,   43,    1,
    408         1,    1,    1,    1,    1
    409     } ;
    410 
    411 static const short int yy_base[404] =
    412     {   0,
    413         0,   43,   85,  126, 1573, 1572, 1571, 1570,  168, 1558,
    414        97,  104,  211,    0, 1544, 1543,   99,  106,  118,  251,
    415       252,  254,  112,  114,  296,    0, 1549, 1548,  107,  111,
    416       140,  151,  153,  155,  253,  336,  378,    0,  339,  420,
    417         0,    0,  424,  465, 1550, 3243,  257, 3243, 1515,    0,
    418       265, 3243, 1538,  494,    0, 1540, 3243,  272, 3243, 3243,
    419      1495,  277, 3243, 1459,  534,   61,  343, 3243, 3243,   81,
    420      1496,    0, 1495, 3243,    0, 3243,    0, 1473, 1443, 1438,
    421         0,  281, 3243, 3243, 3243, 3243,    0, 1467, 3243, 3243,
    422      3243, 3243, 3243, 1434, 3243, 3243, 3243,   76, 3243, 1463,
    423 
    424      3243,  242, 3243,    0, 3243,  314,    0, 3243, 1464,    0,
    425       330, 3243, 1448,  745, 3243, 3243,  777, 3243, 3243, 3243,
    426         0, 3243,  767,    0, 3243,  766,    0, 3243, 3243,    0,
    427         0,  350, 3243,  737,    0,  752,  739,    0,  286, 3243,
    428       750,  737, 3243,  357, 3243,  739,  318, 3243,  428,  738,
    429       327,  728,  364, 3243,  432,    0,  438, 3243, 3243,  372,
    430       442,  765,  446,    0,  451,   84,    0,  765,    0,  764,
    431      3243,  457, 3243,  763,  718,  732, 3243,  434,  438,    0,
    432       566, 3243, 3243,    0,  712,  480, 3243,    0, 3243,  750,
    433         0, 3243,  749, 3243,    0,    0,  725,  722,  609,    0,
    434 
    435       484,    0, 3243,  707, 3243, 3243, 3243,    0,  706, 3243,
    436         0, 3243,    0,  456, 3243,    0,  721,  718,  742, 3243,
    437         0,  741,    0, 3243,    0, 3243,    0,  488,  703,  652,
    438         0,  709,  706,    0,  494,  707,  704,  499,  508, 3243,
    439         0,  689,  694,  688,  581, 3243,  518,    0,  603,  725,
    440       698,    0,  702,  693,  697,    0,  706, 3243,  705, 3243,
    441      3243,  671, 3243,  717,  669,    0,    0, 3243,    0,  655,
    442         0,  631,  573,    0, 3243,  577,    0,  537,  554,  507,
    443       529, 3243,    0,    0,  507,  500,  493,  485,  711, 3243,
    444         0,  471,  502, 3243,    0,  715, 3243,  472,  476,    0,
    445 
    446       468,  740,  682, 3243,  469,  447, 3243,  455,  432,  440,
    447       426,  427,  414, 3243,  413, 3243,  415,  684,  688,  339,
    448       339,  258,  265,  238,  142,  128,  133,  121,  126,    0,
    449         0,    0,    0,    0,    0,    0,    0, 3243, 3243, 3243,
    450       783,  826,  869,  912,  955,  998, 1041, 1084, 1127, 1170,
    451      1213, 1256, 1299, 1342, 1385, 1428, 1460, 1503, 1535, 1578,
    452      1621, 1664, 1707, 1750, 1793, 1836, 1868, 1911, 1943, 1986,
    453      2029, 2072, 2115, 2147, 2190, 2233, 2276, 2319, 2362, 2405,
    454      2448, 2480, 2523, 2566, 2609, 2637, 2659, 2696, 2739, 2782,
    455      2805, 2848, 2871, 2914, 2937, 2980, 3012, 3044, 3067, 3110,
    456 
    457      3133, 3176, 3199
    458     } ;
    459 
    460 static const short int yy_def[404] =
    461     {   0,
    462       340,  340,  341,  341,  342,  342,  343,  343,  340,    9,
    463       344,  344,  340,   13,  345,  345,  346,  346,  347,  347,
    464       348,  348,  349,  349,  340,   25,  350,  350,  345,  345,
    465       351,  351,  352,  352,  353,  353,  340,   37,  354,  354,
    466        37,   37,  355,  356,  340,  340,  340,  340,  340,  357,
    467       340,  340,  340,  358,  359,  360,  340,  340,  340,  340,
    468       340,  340,  340,  361,  340,  362,  340,  340,  340,  340,
    469       363,  364,  365,  340,  366,  340,  367,  367,  367,  366,
    470       368,  340,  340,  340,  340,  340,  369,  340,  340,  340,
    471       340,  340,  340,  340,  340,  340,  340,  362,  340,  370,
    472 
    473       340,  371,  340,  372,  340,  362,  373,  340,  340,  374,
    474       375,  340,  374,  374,  340,  340,  376,  340,  340,  340,
    475       377,  340,  340,  378,  340,  340,  379,  340,  340,  380,
    476       381,  381,  340,  381,  382,  382,  382,  383,  340,  340,
    477       383,  383,  340,  340,  340,  340,  384,  340,  340,  340,
    478       384,  340,  340,  340,  340,  357,  340,  340,  340,  340,
    479       385,  340,  340,  386,  340,  340,  387,  388,  359,  360,
    480       340,  340,  340,  389,  340,  340,  340,  361,  361,  390,
    481       390,  340,  340,  391,  340,  340,  340,  392,  340,  363,
    482       364,  340,  365,  340,  366,  367,  367,  367,  340,  368,
    483 
    484       340,  369,  340,  340,  340,  340,  340,  393,  340,  340,
    485       373,  340,  374,  375,  340,  375,  374,  374,  376,  340,
    486       377,  394,  378,  340,  379,  340,  381,  381,  381,  340,
    487       382,  382,  382,  383,  340,  383,  383,  340,  340,  340,
    488       395,  340,  340,  340,  340,  340,  340,  385,  385,  396,
    489       340,  397,  396,  340,  340,  398,  388,  340,  389,  340,
    490       340,  340,  340,  361,  361,  390,  181,  340,  399,  340,
    491       392,  367,  367,  199,  340,  400,  401,  340,  374,  374,
    492       394,  340,  230,  402,  382,  382,  383,  383,  340,  340,
    493       403,  340,  396,  340,  397,  396,  340,  340,  340,  398,
    494 
    495       340,  264,  361,  340,  367,  367,  340,  374,  374,  382,
    496       382,  383,  383,  340,  340,  340,  340,  361,  361,  367,
    497       367,  374,  374,  382,  382,  383,  383,  340,  340,  367,
    498       367,  374,  374,  382,  382,  383,  383,  340,  340,    0,
    499       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    500       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    501       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    502       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    503       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    504       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    505 
    506       340,  340,  340
    507     } ;
    508 
    509 static const short int yy_nxt[3287] =
    510     {   0,
    511        46,   47,   47,   48,   47,   46,   46,   46,   46,   46,
    512        46,   46,   46,   46,   49,   50,   46,   46,   46,   46,
    513        50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
    514        50,   50,   50,   50,   50,   50,   50,   46,   46,   46,
    515        46,   46,   46,   46,   51,   51,   52,   51,   46,   46,
    516        46,   46,   46,   46,   46,   53,   46,   54,   55,   46,
    517        56,   46,   46,   55,   55,   55,   55,   55,   55,   55,
    518        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
    519        46,   46,   46,   46,   46,   46,   58,   58,   59,   58,
    520        60,   61,   60,   62,   60,  188,  184,   60,   82,   82,
    521 
    522        83,   82,   91,  185,   63,   82,   82,   83,   82,   91,
    523       119,  184,   92,  254,  119,   85,  255,   85,  185,   92,
    524       189,   96,   64,  104,   65,  104,   66,   67,   67,   68,
    525        67,   60,   61,   60,   62,   60,   69,   97,   60,   93,
    526        70,   94,  339,  122,  338,   63,   93,  120,   94,  123,
    527       105,  120,  105,  106,  122,  106,  125,  337,  125,   98,
    528       123,  336,  126,   64,  126,   65,  335,   66,   75,   75,
    529        75,   76,   75,   75,   75,   75,   75,   75,   75,   75,
    530        75,   75,   75,   77,   75,   75,   75,   75,   77,   77,
    531        77,   77,   77,   77,   77,   77,   77,   77,   77,   78,
    532 
    533        77,   77,   77,   77,   79,   75,   75,   75,   75,   75,
    534        75,   84,   84,   84,   85,   84,   84,   84,   84,   84,
    535        84,   84,   84,   84,   86,   84,   87,   88,   84,   84,
    536        84,   87,   87,   87,   87,   87,   87,   87,   87,   87,
    537        87,   87,   87,   87,   87,   87,   87,   87,   84,   84,
    538        84,   84,   84,   84,   96,   85,  128,   85,  153,  153,
    539       154,  153,  100,  101,  100,  101,  157,  157,  158,  157,
    540        97,  334,  129,  172,  172,  173,  172,  208,  177,  174,
    541       177,  177,  201,  201,  209,  201,  175,  235,  235,  333,
    542       235,  332,   98,  102,  130,  102,  107,  107,  107,  108,
    543 
    544       107,  107,  107,  107,  107,  107,  107,  107,  109,  107,
    545       107,  110,  107,  107,  111,  112,  110,  110,  110,  110,
    546       110,  110,  110,  110,  110,  110,  110,  113,  110,  110,
    547       110,  110,  114,  107,  107,  115,  116,  107,  107,  128,
    548       139,  139,  140,  139,  186,  186,  187,  186,  215,  184,
    549       174,  228,  228,  241,  228,  129,  185,  175,  238,  238,
    550       242,  238,  241,  331,  229,  153,  153,  154,  153,  242,
    551       141,  216,  330,  247,  247,  142,  247,  130,  131,  132,
    552       132,  133,  132,  131,  131,  131,  131,  131,  131,  131,
    553       131,  131,  134,  135,  131,  131,  131,  131,  135,  135,
    554 
    555       135,  135,  135,  135,  135,  135,  135,  135,  135,  136,
    556       135,  135,  135,  135,  137,  131,  131,  131,  131,  131,
    557       131,  139,  139,  140,  139,  144,  144,  145,  144,  243,
    558       243,  329,  243,  245,  245,  246,  245,  328,  146,  157,
    559       157,  158,  157,  249,  249,  327,  249,  251,  251,  326,
    560       251,  141,  245,  245,  246,  253,  142,  325,  172,  172,
    561       173,  172,  324,  323,  174,  147,  149,  149,  145,  149,
    562       244,  175,  263,  264,  215,  179,  178,  322,  321,  150,
    563       265,  186,  186,  187,  186,  201,  201,  174,  201,  228,
    564       228,  320,  228,  317,  175,  235,  235,  216,  235,  316,
    565 
    566       238,  238,  229,  238,  315,  294,  151,  152,  161,  289,
    567       289,  290,  289,  240,  162,  313,  163,  312,  162,  247,
    568       247,  162,  247,  162,  162,  163,  164,  165,  166,  167,
    569       311,  310,  282,  168,  180,  180,  180,  309,  180,  180,
    570       180,  180,  180,  180,  180,  180,  180,  180,  180,  181,
    571       180,  180,  180,  180,  181,  181,  181,  181,  181,  181,
    572       181,  181,  181,  181,  181,  181,  181,  181,  181,  181,
    573       181,  180,  180,  180,  180,  180,  182,  267,  308,  207,
    574       275,  267,  245,  245,  246,  245,  267,  267,  267,  267,
    575       267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
    576 
    577       267,  267,  267,  306,  249,  249,  268,  249,  267,  274,
    578       274,  274,  275,  274,  274,  274,  274,  274,  274,  274,
    579       274,  274,  274,  274,  276,  274,  274,  274,  274,  276,
    580       276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
    581       276,  276,  276,  276,  276,  276,  274,  274,  274,  274,
    582       274,  274,  283,  283,  283,  305,  283,  283,  283,  283,
    583       283,  283,  283,  283,  283,  283,  283,  284,  283,  283,
    584       283,  283,  284,  284,  284,  284,  284,  284,  284,  284,
    585       284,  284,  284,  284,  284,  284,  284,  284,  284,  283,
    586       283,  283,  283,  283,  283,  243,  243,  183,  243,  251,
    587 
    588       251,  301,  251,  296,  296,  297,  296,  263,  260,  258,
    589       179,  303,  289,  289,  290,  289,  296,  296,  297,  296,
    590       263,  299,  263,  179,  319,  179,  263,  298,  294,  179,
    591       244,  292,  288,  287,  286,  285,  244,  302,  302,  302,
    592       302,  302,  302,  230,  282,  220,  280,  279,  278,  204,
    593       273,  272,  194,  191,  270,  263,  262,  261,  179,  302,
    594       318,  318,  318,  318,  318,  318,  260,  171,  258,  250,
    595       244,  239,  239,  237,  236,  233,  232,  230,  224,  222,
    596       220,  218,  318,   57,   57,   57,   57,   57,   57,   57,
    597        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    598 
    599        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    600        57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
    601        57,   57,   57,   57,   57,   57,   71,   71,   71,   71,
    602        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    603        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    604        71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
    605        71,   71,   71,   71,   71,   71,   71,   71,   71,   73,
    606        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    607        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    608        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    609 
    610        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
    611        73,   73,   81,   81,   81,   81,   81,   81,   81,   81,
    612        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    613        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    614        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
    615        81,   81,   81,   81,   81,   85,   85,   85,   85,   85,
    616        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
    617        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
    618        85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
    619        85,   85,   85,   85,   85,   85,   85,   85,   90,   90,
    620 
    621        90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    622        90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    623        90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    624        90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
    625        90,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    626        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    627        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    628        95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
    629        95,   95,   95,   95,   99,   99,   99,   99,   99,   99,
    630        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    631 
    632        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    633        99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
    634        99,   99,   99,   99,   99,   99,   99,  103,  103,  103,
    635       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    636       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    637       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    638       103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
    639       117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    640       117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    641       117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    642 
    643       117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
    644       117,  117,  117,  121,  121,  121,  121,  121,  121,  121,
    645       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
    646       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
    647       121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
    648       121,  121,  121,  121,  121,  121,  124,  124,  124,  124,
    649       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
    650       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
    651       124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
    652       124,  124,  124,  124,  124,  124,  124,  124,  124,  127,
    653 
    654       127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
    655       127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
    656       127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
    657       127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
    658       127,  127,  138,  138,  138,  138,  138,  138,  138,  138,
    659       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    660       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    661       138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
    662       138,  138,  138,  138,  138,  143,  143,  143,  143,  143,
    663       143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
    664 
    665       143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
    666       143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
    667       143,  143,  143,  143,  143,  143,  143,  143,  148,  148,
    668       148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
    669       148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
    670       148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
    671       148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
    672       148,  156,  217,  212,  206,  156,  204,  203,  199,  198,
    673       156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
    674       156,  156,  156,  156,  156,  156,  156,  197,  194,  191,
    675 
    676       179,  176,  156,  160,  160,  160,  160,  160,  160,  160,
    677       160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
    678       160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
    679       160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
    680       160,  160,  160,  171,  160,  160,  169,  159,  155,  340,
    681       169,  118,  118,   89,   89,  169,  169,  169,  169,  169,
    682       169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
    683       169,  169,   80,   74,   74,   72,   72,  169,  170,  170,
    684       170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    685       170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    686 
    687       170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    688       170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
    689       170,  178,  178,  178,  340,  178,  178,  178,  178,  178,
    690       178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    691       178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
    692       178,  178,  178,  178,  178,  178,  178,  178,  178,  340,
    693       178,  178,  178,  178,  183,  183,  183,  340,  183,  183,
    694       183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    695       183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    696       183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
    697 
    698       183,  183,  183,  183,  183,  183,  183,  190,  190,  190,
    699       190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
    700       190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
    701       190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
    702       190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
    703       192,  340,  340,  340,  340,  192,  192,  192,  192,  192,
    704       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
    705       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
    706       192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
    707       192,  192,  192,  193,  193,  193,  193,  193,  193,  193,
    708 
    709       193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
    710       193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
    711       193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
    712       193,  193,  193,  193,  193,  193,  195,  195,  195,  340,
    713       195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
    714       195,  340,  195,  195,  195,  195,  340,  340,  340,  340,
    715       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    716       340,  340,  340,  195,  195,  195,  195,  195,  195,  196,
    717       340,  340,  340,  196,  340,  340,  340,  340,  196,  196,
    718       196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
    719 
    720       196,  196,  196,  196,  196,  340,  340,  340,  340,  340,
    721       196,  200,  200,  200,  340,  200,  200,  200,  200,  200,
    722       200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
    723       200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
    724       200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
    725       200,  200,  200,  200,  202,  340,  340,  340,  202,  340,
    726       340,  340,  340,  202,  202,  202,  202,  202,  202,  202,
    727       202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
    728       340,  340,  340,  340,  340,  202,  205,  205,  205,  340,
    729       205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    730 
    731       205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    732       205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
    733       205,  205,  205,  205,  205,  205,  205,  205,  205,  207,
    734       207,  207,  340,  207,  207,  207,  207,  207,  207,  207,
    735       207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
    736       207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
    737       207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
    738       207,  207,  210,  210,  210,  340,  210,  210,  210,  210,
    739       210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
    740       210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
    741 
    742       210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
    743       340,  210,  210,  210,  210,  211,  211,  211,  340,  211,
    744       211,  211,  211,  211,  211,  211,  211,  340,  211,  211,
    745       340,  211,  211,  340,  340,  340,  340,  340,  340,  340,
    746       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    747       340,  340,  211,  211,  340,  340,  211,  211,  213,  340,
    748       340,  340,  213,  340,  340,  340,  340,  213,  213,  213,
    749       213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
    750       213,  213,  213,  213,  340,  340,  340,  340,  340,  213,
    751       214,  214,  214,  340,  214,  214,  214,  214,  214,  214,
    752 
    753       214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
    754       214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
    755       214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
    756       214,  214,  214,  219,  219,  219,  219,  219,  219,  219,
    757       219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
    758       219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
    759       219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
    760       219,  219,  219,  219,  219,  219,  221,  221,  221,  340,
    761       221,  221,  221,  221,  221,  340,  221,  221,  221,  221,
    762       221,  221,  221,  221,  221,  221,  221,  221,  221,  221,
    763 
    764       221,  221,  221,  221,  221,  221,  221,  221,  221,  221,
    765       221,  221,  221,  221,  221,  221,  221,  221,  221,  223,
    766       223,  223,  340,  223,  223,  223,  223,  223,  340,  223,
    767       223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
    768       223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
    769       223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
    770       223,  223,  225,  225,  225,  340,  225,  225,  225,  225,
    771       225,  225,  225,  225,  225,  225,  225,  225,  225,  225,
    772       225,  340,  225,  225,  225,  225,  225,  225,  225,  225,
    773       225,  225,  225,  225,  225,  225,  225,  225,  225,  225,
    774 
    775       225,  225,  225,  340,  225,  226,  226,  226,  340,  226,
    776       226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
    777       226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
    778       226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
    779       226,  226,  226,  226,  226,  226,  226,  226,  227,  227,
    780       227,  340,  227,  227,  227,  227,  227,  227,  227,  227,
    781       227,  227,  227,  340,  227,  227,  227,  227,  340,  340,
    782       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    783       340,  340,  340,  340,  340,  227,  227,  227,  227,  227,
    784       227,  231,  340,  340,  340,  231,  340,  340,  340,  340,
    785 
    786       231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
    787       231,  231,  231,  231,  231,  231,  231,  340,  340,  340,
    788       340,  340,  231,  234,  340,  340,  340,  340,  234,  234,
    789       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
    790       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
    791       234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
    792       234,  234,  234,  234,  234,  234,  240,  240,  240,  340,
    793       240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
    794       240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
    795       240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
    796 
    797       240,  240,  240,  240,  240,  240,  240,  240,  240,  248,
    798       248,  248,  340,  248,  248,  248,  248,  248,  248,  248,
    799       248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
    800       248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
    801       248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
    802       248,  248,  252,  340,  340,  340,  340,  252,  252,  252,
    803       252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
    804       252,  252,  252,  252,  256,  340,  340,  340,  340,  256,
    805       256,  256,  256,  256,  256,  256,  256,  256,  256,  256,
    806       256,  256,  256,  256,  256,  256,  257,  257,  257,  257,
    807 
    808       257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
    809       257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
    810       257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
    811       257,  257,  257,  257,  257,  257,  257,  257,  257,  259,
    812       259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
    813       259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
    814       259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
    815       259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
    816       259,  259,  266,  266,  266,  340,  266,  266,  266,  266,
    817       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    818 
    819       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    820       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
    821       266,  266,  340,  266,  266,  269,  269,  269,  269,  269,
    822       269,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    823       340,  340,  340,  340,  340,  340,  340,  269,  271,  271,
    824       271,  340,  271,  271,  271,  271,  271,  271,  271,  271,
    825       271,  271,  271,  271,  271,  271,  271,  271,  271,  271,
    826       271,  271,  271,  271,  271,  271,  271,  271,  271,  271,
    827       271,  271,  271,  271,  271,  271,  271,  271,  271,  271,
    828       271,  277,  277,  277,  277,  277,  277,  340,  340,  340,
    829 
    830       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    831       340,  340,  340,  277,  281,  281,  281,  281,  281,  281,
    832       281,  281,  281,  281,  281,  281,  281,  281,  281,  281,
    833       281,  281,  281,  281,  281,  281,  281,  281,  281,  281,
    834       281,  281,  281,  281,  281,  281,  281,  281,  281,  281,
    835       281,  281,  281,  281,  281,  281,  281,  291,  291,  291,
    836       291,  291,  291,  340,  340,  340,  340,  340,  340,  340,
    837       340,  340,  340,  340,  340,  340,  340,  340,  340,  291,
    838       293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
    839       293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
    840 
    841       293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
    842       293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
    843       293,  293,  293,  295,  340,  340,  340,  295,  340,  340,
    844       340,  340,  295,  295,  295,  295,  295,  295,  295,  295,
    845       295,  295,  295,  295,  295,  295,  295,  295,  295,  340,
    846       340,  340,  340,  340,  295,  300,  340,  340,  340,  300,
    847       340,  340,  340,  340,  300,  300,  300,  300,  300,  300,
    848       300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
    849       300,  340,  340,  340,  340,  340,  300,  304,  304,  304,
    850       304,  304,  304,  340,  340,  340,  340,  340,  340,  340,
    851 
    852       340,  340,  340,  340,  340,  340,  340,  340,  340,  304,
    853       276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
    854       276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
    855       276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
    856       276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
    857       276,  276,  276,  307,  307,  307,  307,  307,  307,  340,
    858       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    859       340,  340,  340,  340,  340,  307,  284,  284,  284,  340,
    860       284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
    861       284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
    862 
    863       284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
    864       284,  284,  284,  284,  284,  284,  284,  284,  284,  314,
    865       314,  314,  314,  314,  314,  340,  340,  340,  340,  340,
    866       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    867       340,  314,   45,  340,  340,  340,  340,  340,  340,  340,
    868       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    869       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    870       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
    871       340,  340,  340,  340,  340,  340
    872     } ;
    873 
    874 static const short int yy_chk[3287] =
    875     {   0,
    876         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    877         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    878         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    879         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
    880         1,    1,    1,    2,    2,    2,    2,    2,    2,    2,
    881         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
    882         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
    883         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
    884         2,    2,    2,    2,    2,    2,    3,    3,    3,    3,
    885         3,    3,    3,    3,    3,   70,   66,    3,   11,   11,
    886 
    887        11,   11,   17,   66,    3,   12,   12,   12,   12,   18,
    888        29,   98,   17,  166,   30,   23,  166,   24,   98,   18,
    889        70,   19,    3,   23,    3,   24,    3,    4,    4,    4,
    890         4,    4,    4,    4,    4,    4,    4,   19,    4,   17,
    891         4,   17,  329,   31,  328,    4,   18,   29,   18,   31,
    892        23,   30,   24,   23,   32,   24,   33,  327,   34,   19,
    893        32,  326,   33,    4,   34,    4,  325,    4,    9,    9,
    894         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
    895         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
    896         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
    897 
    898         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
    899         9,   13,   13,   13,   13,   13,   13,   13,   13,   13,
    900        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
    901        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
    902        13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
    903        13,   13,   13,   13,   20,   21,   35,   22,   47,   47,
    904        47,   47,   21,   21,   22,   22,   51,   51,   51,   51,
    905        20,  324,   35,   58,   58,   58,   58,  102,   62,   58,
    906        62,   62,   82,   82,  102,   82,   58,  139,  139,  323,
    907       139,  322,   20,   21,   35,   22,   25,   25,   25,   25,
    908 
    909        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
    910        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
    911        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
    912        25,   25,   25,   25,   25,   25,   25,   25,   25,   36,
    913        39,   39,   39,   39,   67,   67,   67,   67,  111,  106,
    914        67,  132,  132,  147,  132,   36,  106,   67,  144,  144,
    915       147,  144,  151,  321,  132,  153,  153,  153,  153,  151,
    916        39,  111,  320,  160,  160,   39,  160,   36,   37,   37,
    917        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
    918        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
    919 
    920        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
    921        37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
    922        37,   40,   40,   40,   40,   43,   43,   43,   43,  149,
    923       149,  317,  149,  155,  155,  155,  155,  315,   43,  157,
    924       157,  157,  157,  161,  161,  313,  161,  163,  163,  312,
    925       163,   40,  165,  165,  165,  165,   40,  311,  172,  172,
    926       172,  172,  310,  309,  172,   43,   44,   44,   44,   44,
    927       149,  172,  178,  179,  214,  178,  179,  308,  306,   44,
    928       179,  186,  186,  186,  186,  201,  201,  186,  201,  228,
    929       228,  305,  228,  301,  186,  235,  235,  214,  235,  299,
    930 
    931       238,  238,  228,  238,  298,  293,   44,   44,   54,  239,
    932       239,  239,  239,  292,   54,  288,   54,  287,   54,  247,
    933       247,   54,  247,   54,   54,   54,   54,   54,   54,   54,
    934       286,  285,  281,   54,   65,   65,   65,  280,   65,   65,
    935        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
    936        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
    937        65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
    938        65,   65,   65,   65,   65,   65,   65,  181,  279,  278,
    939       276,  181,  245,  245,  245,  245,  181,  181,  181,  181,
    940       181,  181,  181,  181,  181,  181,  181,  181,  181,  181,
    941 
    942       181,  181,  181,  273,  249,  249,  181,  249,  181,  199,
    943       199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    944       199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    945       199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    946       199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
    947       199,  199,  230,  230,  230,  272,  230,  230,  230,  230,
    948       230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    949       230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    950       230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
    951       230,  230,  230,  230,  230,  243,  243,  270,  243,  251,
    952 
    953       251,  262,  251,  253,  253,  253,  253,  265,  259,  257,
    954       265,  265,  289,  289,  289,  289,  296,  296,  296,  296,
    955       303,  255,  318,  303,  303,  318,  319,  254,  250,  319,
    956       244,  242,  237,  236,  233,  232,  243,  264,  264,  264,
    957       264,  264,  264,  229,  222,  219,  218,  217,  209,  204,
    958       198,  197,  193,  190,  185,  264,  176,  175,  264,  264,
    959       302,  302,  302,  302,  302,  302,  174,  170,  168,  162,
    960       152,  150,  146,  142,  141,  137,  136,  134,  126,  123,
    961       117,  114,  302,  341,  341,  341,  341,  341,  341,  341,
    962       341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
    963 
    964       341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
    965       341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
    966       341,  341,  341,  341,  341,  341,  342,  342,  342,  342,
    967       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
    968       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
    969       342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
    970       342,  342,  342,  342,  342,  342,  342,  342,  342,  343,
    971       343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
    972       343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
    973       343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
    974 
    975       343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
    976       343,  343,  344,  344,  344,  344,  344,  344,  344,  344,
    977       344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
    978       344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
    979       344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
    980       344,  344,  344,  344,  344,  345,  345,  345,  345,  345,
    981       345,  345,  345,  345,  345,  345,  345,  345,  345,  345,
    982       345,  345,  345,  345,  345,  345,  345,  345,  345,  345,
    983       345,  345,  345,  345,  345,  345,  345,  345,  345,  345,
    984       345,  345,  345,  345,  345,  345,  345,  345,  346,  346,
    985 
    986       346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
    987       346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
    988       346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
    989       346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
    990       346,  347,  347,  347,  347,  347,  347,  347,  347,  347,
    991       347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
    992       347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
    993       347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
    994       347,  347,  347,  347,  348,  348,  348,  348,  348,  348,
    995       348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
    996 
    997       348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
    998       348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
    999       348,  348,  348,  348,  348,  348,  348,  349,  349,  349,
   1000       349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
   1001       349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
   1002       349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
   1003       349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
   1004       350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
   1005       350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
   1006       350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
   1007 
   1008       350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
   1009       350,  350,  350,  351,  351,  351,  351,  351,  351,  351,
   1010       351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
   1011       351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
   1012       351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
   1013       351,  351,  351,  351,  351,  351,  352,  352,  352,  352,
   1014       352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
   1015       352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
   1016       352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
   1017       352,  352,  352,  352,  352,  352,  352,  352,  352,  353,
   1018 
   1019       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
   1020       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
   1021       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
   1022       353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
   1023       353,  353,  354,  354,  354,  354,  354,  354,  354,  354,
   1024       354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
   1025       354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
   1026       354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
   1027       354,  354,  354,  354,  354,  355,  355,  355,  355,  355,
   1028       355,  355,  355,  355,  355,  355,  355,  355,  355,  355,
   1029 
   1030       355,  355,  355,  355,  355,  355,  355,  355,  355,  355,
   1031       355,  355,  355,  355,  355,  355,  355,  355,  355,  355,
   1032       355,  355,  355,  355,  355,  355,  355,  355,  356,  356,
   1033       356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
   1034       356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
   1035       356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
   1036       356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
   1037       356,  357,  113,  109,  100,  357,   94,   88,   80,   79,
   1038       357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
   1039       357,  357,  357,  357,  357,  357,  357,   78,   73,   71,
   1040 
   1041        64,   61,  357,  358,  358,  358,  358,  358,  358,  358,
   1042       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
   1043       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
   1044       358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
   1045       358,  358,  358,   56,  358,  358,  359,   53,   49,   45,
   1046       359,   28,   27,   16,   15,  359,  359,  359,  359,  359,
   1047       359,  359,  359,  359,  359,  359,  359,  359,  359,  359,
   1048       359,  359,   10,    8,    7,    6,    5,  359,  360,  360,
   1049       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
   1050       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
   1051 
   1052       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
   1053       360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
   1054       360,  361,  361,  361,    0,  361,  361,  361,  361,  361,
   1055       361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
   1056       361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
   1057       361,  361,  361,  361,  361,  361,  361,  361,  361,    0,
   1058       361,  361,  361,  361,  362,  362,  362,    0,  362,  362,
   1059       362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
   1060       362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
   1061       362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
   1062 
   1063       362,  362,  362,  362,  362,  362,  362,  363,  363,  363,
   1064       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
   1065       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
   1066       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
   1067       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
   1068       364,    0,    0,    0,    0,  364,  364,  364,  364,  364,
   1069       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
   1070       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
   1071       364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
   1072       364,  364,  364,  365,  365,  365,  365,  365,  365,  365,
   1073 
   1074       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
   1075       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
   1076       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
   1077       365,  365,  365,  365,  365,  365,  366,  366,  366,    0,
   1078       366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
   1079       366,    0,  366,  366,  366,  366,    0,    0,    0,    0,
   1080         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1081         0,    0,    0,  366,  366,  366,  366,  366,  366,  367,
   1082         0,    0,    0,  367,    0,    0,    0,    0,  367,  367,
   1083       367,  367,  367,  367,  367,  367,  367,  367,  367,  367,
   1084 
   1085       367,  367,  367,  367,  367,    0,    0,    0,    0,    0,
   1086       367,  368,  368,  368,    0,  368,  368,  368,  368,  368,
   1087       368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
   1088       368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
   1089       368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
   1090       368,  368,  368,  368,  369,    0,    0,    0,  369,    0,
   1091         0,    0,    0,  369,  369,  369,  369,  369,  369,  369,
   1092       369,  369,  369,  369,  369,  369,  369,  369,  369,  369,
   1093         0,    0,    0,    0,    0,  369,  370,  370,  370,    0,
   1094       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
   1095 
   1096       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
   1097       370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
   1098       370,  370,  370,  370,  370,  370,  370,  370,  370,  371,
   1099       371,  371,    0,  371,  371,  371,  371,  371,  371,  371,
   1100       371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
   1101       371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
   1102       371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
   1103       371,  371,  372,  372,  372,    0,  372,  372,  372,  372,
   1104       372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
   1105       372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
   1106 
   1107       372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
   1108         0,  372,  372,  372,  372,  373,  373,  373,    0,  373,
   1109       373,  373,  373,  373,  373,  373,  373,    0,  373,  373,
   1110         0,  373,  373,    0,    0,    0,    0,    0,    0,    0,
   1111         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1112         0,    0,  373,  373,    0,    0,  373,  373,  374,    0,
   1113         0,    0,  374,    0,    0,    0,    0,  374,  374,  374,
   1114       374,  374,  374,  374,  374,  374,  374,  374,  374,  374,
   1115       374,  374,  374,  374,    0,    0,    0,    0,    0,  374,
   1116       375,  375,  375,    0,  375,  375,  375,  375,  375,  375,
   1117 
   1118       375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
   1119       375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
   1120       375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
   1121       375,  375,  375,  376,  376,  376,  376,  376,  376,  376,
   1122       376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
   1123       376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
   1124       376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
   1125       376,  376,  376,  376,  376,  376,  377,  377,  377,    0,
   1126       377,  377,  377,  377,  377,    0,  377,  377,  377,  377,
   1127       377,  377,  377,  377,  377,  377,  377,  377,  377,  377,
   1128 
   1129       377,  377,  377,  377,  377,  377,  377,  377,  377,  377,
   1130       377,  377,  377,  377,  377,  377,  377,  377,  377,  378,
   1131       378,  378,    0,  378,  378,  378,  378,  378,    0,  378,
   1132       378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
   1133       378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
   1134       378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
   1135       378,  378,  379,  379,  379,    0,  379,  379,  379,  379,
   1136       379,  379,  379,  379,  379,  379,  379,  379,  379,  379,
   1137       379,    0,  379,  379,  379,  379,  379,  379,  379,  379,
   1138       379,  379,  379,  379,  379,  379,  379,  379,  379,  379,
   1139 
   1140       379,  379,  379,    0,  379,  380,  380,  380,    0,  380,
   1141       380,  380,  380,  380,  380,  380,  380,  380,  380,  380,
   1142       380,  380,  380,  380,  380,  380,  380,  380,  380,  380,
   1143       380,  380,  380,  380,  380,  380,  380,  380,  380,  380,
   1144       380,  380,  380,  380,  380,  380,  380,  380,  381,  381,
   1145       381,    0,  381,  381,  381,  381,  381,  381,  381,  381,
   1146       381,  381,  381,    0,  381,  381,  381,  381,    0,    0,
   1147         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1148         0,    0,    0,    0,    0,  381,  381,  381,  381,  381,
   1149       381,  382,    0,    0,    0,  382,    0,    0,    0,    0,
   1150 
   1151       382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
   1152       382,  382,  382,  382,  382,  382,  382,    0,    0,    0,
   1153         0,    0,  382,  383,    0,    0,    0,    0,  383,  383,
   1154       383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
   1155       383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
   1156       383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
   1157       383,  383,  383,  383,  383,  383,  384,  384,  384,    0,
   1158       384,  384,  384,  384,  384,  384,  384,  384,  384,  384,
   1159       384,  384,  384,  384,  384,  384,  384,  384,  384,  384,
   1160       384,  384,  384,  384,  384,  384,  384,  384,  384,  384,
   1161 
   1162       384,  384,  384,  384,  384,  384,  384,  384,  384,  385,
   1163       385,  385,    0,  385,  385,  385,  385,  385,  385,  385,
   1164       385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
   1165       385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
   1166       385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
   1167       385,  385,  386,    0,    0,    0,    0,  386,  386,  386,
   1168       386,  386,  386,  386,  386,  386,  386,  386,  386,  386,
   1169       386,  386,  386,  386,  387,    0,    0,    0,    0,  387,
   1170       387,  387,  387,  387,  387,  387,  387,  387,  387,  387,
   1171       387,  387,  387,  387,  387,  387,  388,  388,  388,  388,
   1172 
   1173       388,  388,  388,  388,  388,  388,  388,  388,  388,  388,
   1174       388,  388,  388,  388,  388,  388,  388,  388,  388,  388,
   1175       388,  388,  388,  388,  388,  388,  388,  388,  388,  388,
   1176       388,  388,  388,  388,  388,  388,  388,  388,  388,  389,
   1177       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
   1178       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
   1179       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
   1180       389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
   1181       389,  389,  390,  390,  390,    0,  390,  390,  390,  390,
   1182       390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
   1183 
   1184       390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
   1185       390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
   1186       390,  390,    0,  390,  390,  391,  391,  391,  391,  391,
   1187       391,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1188         0,    0,    0,    0,    0,    0,    0,  391,  392,  392,
   1189       392,    0,  392,  392,  392,  392,  392,  392,  392,  392,
   1190       392,  392,  392,  392,  392,  392,  392,  392,  392,  392,
   1191       392,  392,  392,  392,  392,  392,  392,  392,  392,  392,
   1192       392,  392,  392,  392,  392,  392,  392,  392,  392,  392,
   1193       392,  393,  393,  393,  393,  393,  393,    0,    0,    0,
   1194 
   1195         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1196         0,    0,    0,  393,  394,  394,  394,  394,  394,  394,
   1197       394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
   1198       394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
   1199       394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
   1200       394,  394,  394,  394,  394,  394,  394,  395,  395,  395,
   1201       395,  395,  395,    0,    0,    0,    0,    0,    0,    0,
   1202         0,    0,    0,    0,    0,    0,    0,    0,    0,  395,
   1203       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
   1204       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
   1205 
   1206       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
   1207       396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
   1208       396,  396,  396,  397,    0,    0,    0,  397,    0,    0,
   1209         0,    0,  397,  397,  397,  397,  397,  397,  397,  397,
   1210       397,  397,  397,  397,  397,  397,  397,  397,  397,    0,
   1211         0,    0,    0,    0,  397,  398,    0,    0,    0,  398,
   1212         0,    0,    0,    0,  398,  398,  398,  398,  398,  398,
   1213       398,  398,  398,  398,  398,  398,  398,  398,  398,  398,
   1214       398,    0,    0,    0,    0,    0,  398,  399,  399,  399,
   1215       399,  399,  399,    0,    0,    0,    0,    0,    0,    0,
   1216 
   1217         0,    0,    0,    0,    0,    0,    0,    0,    0,  399,
   1218       400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
   1219       400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
   1220       400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
   1221       400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
   1222       400,  400,  400,  401,  401,  401,  401,  401,  401,    0,
   1223         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1224         0,    0,    0,    0,    0,  401,  402,  402,  402,    0,
   1225       402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
   1226       402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
   1227 
   1228       402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
   1229       402,  402,  402,  402,  402,  402,  402,  402,  402,  403,
   1230       403,  403,  403,  403,  403,    0,    0,    0,    0,    0,
   1231         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
   1232         0,  403,  340,  340,  340,  340,  340,  340,  340,  340,
   1233       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
   1234       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
   1235       340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
   1236       340,  340,  340,  340,  340,  340
   1237     } ;
   1238 
   1239 static yy_ste_type yy_last_accepting_state;
   1240 static YY_CHAR *yy_last_accepting_cpos;
   1241 
   1242 /* the intent behind this definition is that it'll catch
   1243  * any uses of REJECT which flex missed
   1244  */
   1245 #define REJECT reject_used_but_not_detected
   1246 #define yymore() yymrused_but_not_detected
   1247 #define YY_MORE_ADJ 0
   1248 
   1249 /* these variables are all declared out here so that section 3 code can
   1250  * manipulate them
   1251  */
   1252 /* points to current character in buffer */
   1253 static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
   1254 static int yy_init = 1;         /* whether we need to initialize */
   1255 static int yy_start = 0;        /* start state number */
   1256 
   1257 /* flag which is used to allow yywrap()'s to do buffer switches
   1258  * instead of setting up a fresh yyin.  A bit of a hack ...
   1259  */
   1260 static int yy_did_buffer_switch_on_eof;
   1261 
   1262 static yy_ste_type yy_get_previous_state YY_PROTO(( void ));
   1263 static yy_ste_type yy_try_NUL_trans YY_PROTO(( yy_ste_type current_state ));
   1264 static int yy_get_next_buffer YY_PROTO(( void ));
   1265 static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
   1266 void yyrestrt YY_PROTO(( FILE *input_file ));
   1267 void yyswtobf YY_PROTO(( YY_BUFFER_STATE new_buffer ));
   1268 void yyldbfst YY_PROTO(( void ));
   1269 YY_BUFFER_STATE yycrbffr YY_PROTO(( FILE *file, int size ));
   1270 void yydlbffr YY_PROTO(( YY_BUFFER_STATE b ));
   1271 void yyinbffr YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
   1272 
   1273 #define yy_new_buffer yycrbffr
   1274 
   1275 #ifdef __cplusplus
   1276 static int yyinput YY_PROTO(( void ));
   1277 #else
   1278 static int input YY_PROTO(( void ));
   1279 #endif
   1280 
   1281 YY_DECL
   1282     {
   1283     register yy_ste_type yy_current_state;
   1284     register YY_CHAR *yy_cp, *yy_bp;
   1285     register int yy_act;
   1286 
   1287 
   1288     static int bracelevel, didadef;
   1289     int i, indented_code, checking_used, new_xlation;
   1290     int doing_codeblock = false;
   1291     Char nmdef[MAXLINE], myesc();
   1292 
   1293 
   1294     if ( yy_init )
   1295         {
   1296         YY_USER_INIT;
   1297 
   1298         if ( ! yy_start )
   1299             yy_start = 1;       /* first start state */
   1300 
   1301         if ( ! yyin )
   1302             yyin = stdin;
   1303 
   1304         if ( ! yyout )
   1305             yyout = stdout;
   1306 
   1307         if ( yy_current_buffer )
   1308             yyinbffr( yy_current_buffer, yyin );
   1309         else
   1310             yy_current_buffer = yycrbffr( yyin, YY_BUF_SIZE );
   1311 
   1312         yyldbfst();
   1313 
   1314         yy_init = 0;
   1315         }
   1316 
   1317     while ( 1 )         /* loops until end-of-file is reached */
   1318         {
   1319         yy_cp = yy_c_buf_p;
   1320 
   1321         /* support of yytext */
   1322         *yy_cp = yy_hold_char;
   1323 
   1324         /* yy_bp points to the position in yy_ch_buf of the start of the
   1325          * current run.
   1326          */
   1327         yy_bp = yy_cp;
   1328 
   1329 	yy_current_state = yy_start;
   1330 	if ( yy_bp[-1] == '\n' )
   1331 	    ++yy_current_state;
   1332 yy_match:
   1333 	do
   1334 	    {
   1335 	    register YY_CHAR yy_c = yy_ec[*yy_cp];
   1336 	    if ( yy_accept[yy_current_state] )
   1337 		{
   1338 		yy_last_accepting_state = yy_current_state;
   1339 		yy_last_accepting_cpos = yy_cp;
   1340 		}
   1341 	    while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
   1342 		{
   1343 		yy_current_state = yy_def[yy_current_state];
   1344 		}
   1345 	    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   1346 	    ++yy_cp;
   1347 	    }
   1348 	while ( yy_current_state != 340 );
   1349 	yy_cp = yy_last_accepting_cpos;
   1350 	yy_current_state = yy_last_accepting_state;
   1351 
   1352 yy_find_action:
   1353 	yy_act = yy_accept[yy_current_state];
   1354 
   1355         YY_DO_BEFORE_ACTION;
   1356         YY_USER_ACTION;
   1357 
   1358 do_action:      /* this label is used only to access EOF actions */
   1359 
   1360 
   1361         switch ( yy_act )
   1362             {
   1363 	    case 0: /* must backtrack */
   1364 	    /* undo the effects of YY_DO_BEFORE_ACTION */
   1365 	    *yy_cp = yy_hold_char;
   1366 	    yy_cp = yy_last_accepting_cpos;
   1367 	    yy_current_state = yy_last_accepting_state;
   1368 	    goto yy_find_action;
   1369 
   1370 case 1:
   1371 # line 90 "<stdin>"
   1372 indented_code = true; BEGIN(CODEBLOCK);
   1373 	YY_BREAK
   1374 case 2:
   1375 # line 91 "<stdin>"
   1376 ++linenum; /* treat as a comment */
   1377 	YY_BREAK
   1378 case 3:
   1379 # line 92 "<stdin>"
   1380 ECHO; BEGIN(C_COMMENT);
   1381 	YY_BREAK
   1382 case 4:
   1383 # line 93 "<stdin>"
   1384 return ( SCDECL );
   1385 	YY_BREAK
   1386 case 5:
   1387 # line 94 "<stdin>"
   1388 return ( XSCDECL );
   1389 	YY_BREAK
   1390 case 6:
   1391 # line 95 "<stdin>"
   1392 {
   1393                         ++linenum;
   1394                         lndirout( stdout );
   1395                         indented_code = false;
   1396                         BEGIN(CODEBLOCK);
   1397                         }
   1398 	YY_BREAK
   1399 case 7:
   1400 # line 102 "<stdin>"
   1401 return ( WHITESPACE );
   1402 	YY_BREAK
   1403 case 8:
   1404 # line 104 "<stdin>"
   1405 {
   1406                         sectnum = 2;
   1407                         lndirout( stdout );
   1408                         BEGIN(SECT2PROLOG);
   1409                         return ( SECTEND );
   1410                         }
   1411 	YY_BREAK
   1412 case 9:
   1413 # line 111 "<stdin>"
   1414 {
   1415         pptmsg( "warning - %%used/%%unused have been deprecated" );
   1416                         checking_used = REALLY_USED; BEGIN(USED_LIST);
   1417                         }
   1418 	YY_BREAK
   1419 case 10:
   1420 # line 115 "<stdin>"
   1421 {
   1422                         checking_used = REALLY_NOT_USED; BEGIN(USED_LIST);
   1423         pptmsg( "warning - %%used/%%unused have been deprecated" );
   1424                         checking_used = REALLY_NOT_USED; BEGIN(USED_LIST);
   1425                         }
   1426 	YY_BREAK
   1427 case 11:
   1428 # line 122 "<stdin>"
   1429 {
   1430 #ifdef NOTDEF
   1431                         fprintf( stderr,
   1432                              "old-style lex command at line %d ignored:\n\t%s",
   1433                                  linenum, yytext );
   1434 #endif
   1435                         ++linenum;
   1436                         }
   1437 	YY_BREAK
   1438 case 12:
   1439 # line 131 "<stdin>"
   1440 /* ignore old lex directive */
   1441 	YY_BREAK
   1442 case 13:
   1443 # line 133 "<stdin>"
   1444 {
   1445                         ++linenum;
   1446                         xlation =
   1447                             (int *) malloc( sizeof( int ) * (unsigned) csize );
   1448 
   1449                         if ( ! xlation )
   1450                             flxfatal(
   1451                                 "dynamic memory failure building %t table" );
   1452 
   1453                         for ( i = 0; i < csize; ++i )
   1454                             xlation[i] = 0;
   1455 
   1456                         nuxlatns = 0;
   1457 
   1458                         BEGIN(XLATION);
   1459                         }
   1460 	YY_BREAK
   1461 case 14:
   1462 # line 150 "<stdin>"
   1463 synerr( "unrecognized '%' directive" );
   1464 	YY_BREAK
   1465 case 15:
   1466 # line 152 "<stdin>"
   1467 {
   1468                         (void) strcpy( nmstr, (char *) yytext );
   1469                         didadef = false;
   1470                         BEGIN(PICKUPDEF);
   1471                         }
   1472 	YY_BREAK
   1473 case 16:
   1474 # line 158 "<stdin>"
   1475 RETURNNAME;
   1476 	YY_BREAK
   1477 case 17:
   1478 # line 159 "<stdin>"
   1479 ++linenum; /* allows blank lines in section 1 */
   1480 	YY_BREAK
   1481 case 18:
   1482 # line 160 "<stdin>"
   1483 ++linenum; return ( '\n' );
   1484 	YY_BREAK
   1485 case 19:
   1486 # line 161 "<stdin>"
   1487 synerr( "illegal character" ); BEGIN(RECOVER);
   1488 	YY_BREAK
   1489 case 20:
   1490 # line 164 "<stdin>"
   1491 ECHO; BEGIN(INITIAL);
   1492 	YY_BREAK
   1493 case 21:
   1494 # line 165 "<stdin>"
   1495 ++linenum; ECHO; BEGIN(INITIAL);
   1496 	YY_BREAK
   1497 case 22:
   1498 # line 166 "<stdin>"
   1499 ECHO;
   1500 	YY_BREAK
   1501 case 23:
   1502 # line 167 "<stdin>"
   1503 ECHO;
   1504 	YY_BREAK
   1505 case 24:
   1506 # line 168 "<stdin>"
   1507 ++linenum; ECHO;
   1508 	YY_BREAK
   1509 case 25:
   1510 # line 171 "<stdin>"
   1511 ++linenum; BEGIN(INITIAL);
   1512 	YY_BREAK
   1513 case 26:
   1514 # line 172 "<stdin>"
   1515 ECHO; CHECK_REJECT(yytext);
   1516 	YY_BREAK
   1517 case 27:
   1518 # line 173 "<stdin>"
   1519 ECHO; CHECK_YYMORE(yytext);
   1520 	YY_BREAK
   1521 case 28:
   1522 # line 174 "<stdin>"
   1523 ECHO;
   1524 	YY_BREAK
   1525 case 29:
   1526 # line 175 "<stdin>"
   1527 {
   1528                         ++linenum;
   1529                         ECHO;
   1530                         if ( indented_code )
   1531                             BEGIN(INITIAL);
   1532                         }
   1533 	YY_BREAK
   1534 case 30:
   1535 # line 183 "<stdin>"
   1536 /* separates name and definition */
   1537 	YY_BREAK
   1538 case 31:
   1539 # line 185 "<stdin>"
   1540 {
   1541                         (void) strcpy( (char *) nmdef, (char *) yytext );
   1542 
   1543                         for ( i = strlen( (char *) nmdef ) - 1;
   1544                               i >= 0 &&
   1545                               nmdef[i] == ' ' || nmdef[i] == '\t';
   1546                               --i )
   1547                             ;
   1548 
   1549                         nmdef[i + 1] = '\0';
   1550 
   1551                         ndinstal( nmstr, nmdef );
   1552                         didadef = true;
   1553                         }
   1554 	YY_BREAK
   1555 case 32:
   1556 # line 200 "<stdin>"
   1557 {
   1558                         if ( ! didadef )
   1559                             synerr( "incomplete name definition" );
   1560                         BEGIN(INITIAL);
   1561                         ++linenum;
   1562                         }
   1563 	YY_BREAK
   1564 case 33:
   1565 # line 207 "<stdin>"
   1566 ++linenum; BEGIN(INITIAL); RETURNNAME;
   1567 	YY_BREAK
   1568 case 34:
   1569 # line 210 "<stdin>"
   1570 ++linenum; BEGIN(INITIAL);
   1571 	YY_BREAK
   1572 case 35:
   1573 # line 211 "<stdin>"
   1574 
   1575 	YY_BREAK
   1576 case 36:
   1577 # line 212 "<stdin>"
   1578 {
   1579                         if ( allupper( yytext ) )
   1580                             rjctused = checking_used;
   1581                         else
   1582                             synerr( "unrecognized %used/%unused construct" );
   1583                         }
   1584 	YY_BREAK
   1585 case 37:
   1586 # line 218 "<stdin>"
   1587 {
   1588                         if ( alllower( yytext ) )
   1589                             yymrreus = checking_used;
   1590                         else
   1591                             synerr( "unrecognized %used/%unused construct" );
   1592                         }
   1593 	YY_BREAK
   1594 case 38:
   1595 # line 224 "<stdin>"
   1596 synerr( "unrecognized %used/%unused construct" );
   1597 	YY_BREAK
   1598 case 39:
   1599 # line 227 "<stdin>"
   1600 ++linenum; BEGIN(INITIAL);
   1601 	YY_BREAK
   1602 case 40:
   1603 # line 228 "<stdin>"
   1604 ++nuxlatns; new_xlation = true;
   1605 	YY_BREAK
   1606 case 41:
   1607 # line 229 "<stdin>"
   1608 synerr( "bad row in translation table" );
   1609 	YY_BREAK
   1610 case 42:
   1611 # line 230 "<stdin>"
   1612 /* ignore whitespace */
   1613 	YY_BREAK
   1614 case 43:
   1615 # line 232 "<stdin>"
   1616 {
   1617                         xlation[myesc( yytext )] =
   1618                                 (new_xlation ? nuxlatns : -nuxlatns);
   1619                         new_xlation = false;
   1620                         }
   1621 	YY_BREAK
   1622 case 44:
   1623 # line 237 "<stdin>"
   1624 {
   1625                         xlation[yytext[0]] =
   1626                                 (new_xlation ? nuxlatns : -nuxlatns);
   1627                         new_xlation = false;
   1628                         }
   1629 	YY_BREAK
   1630 case 45:
   1631 # line 243 "<stdin>"
   1632 ++linenum;
   1633 	YY_BREAK
   1634 case 46:
   1635 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1636 yy_c_buf_p = yy_cp -= 1;
   1637 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1638 # line 246 "<stdin>"
   1639 {
   1640                         ++linenum;
   1641                         ACTION_ECHO;
   1642                         MARK_END_OF_PROLOG;
   1643                         BEGIN(SECT2);
   1644                         }
   1645 	YY_BREAK
   1646 case 47:
   1647 # line 253 "<stdin>"
   1648 ++linenum; ACTION_ECHO;
   1649 	YY_BREAK
   1650 case YY_STATE_EOF(SECT2PROLOG):
   1651 # line 255 "<stdin>"
   1652 MARK_END_OF_PROLOG; yyterminate();
   1653 	YY_BREAK
   1654 case 49:
   1655 # line 257 "<stdin>"
   1656 ++linenum; /* allow blank lines in section 2 */
   1657 	YY_BREAK
   1658 case 50:
   1659 # line 259 "<stdin>"
   1660 {
   1661                         indented_code = (yytext[0] != '%');
   1662                         doing_codeblock = true;
   1663                         bracelevel = 1;
   1664 
   1665                         if ( indented_code )
   1666                             ACTION_ECHO;
   1667 
   1668                         BEGIN(CODEBLOCK_2);
   1669                         }
   1670 	YY_BREAK
   1671 case 51:
   1672 # line 270 "<stdin>"
   1673 BEGIN(SC); return ( '<' );
   1674 	YY_BREAK
   1675 case 52:
   1676 # line 271 "<stdin>"
   1677 return ( '^' );
   1678 	YY_BREAK
   1679 case 53:
   1680 # line 272 "<stdin>"
   1681 BEGIN(QUOTE); return ( '"' );
   1682 	YY_BREAK
   1683 case 54:
   1684 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1685 yy_c_buf_p = yy_cp = yy_bp + 1;
   1686 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1687 # line 273 "<stdin>"
   1688 BEGIN(NUM); return ( '{' );
   1689 	YY_BREAK
   1690 case 55:
   1691 # line 274 "<stdin>"
   1692 BEGIN(BRACEERROR);
   1693 	YY_BREAK
   1694 case 56:
   1695 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1696 yy_c_buf_p = yy_cp = yy_bp + 1;
   1697 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1698 # line 275 "<stdin>"
   1699 return ( '$' );
   1700 	YY_BREAK
   1701 case 57:
   1702 # line 277 "<stdin>"
   1703 {
   1704                         bracelevel = 1;
   1705                         BEGIN(PERCENT_BRACE_ACTION);
   1706                         return ( '\n' );
   1707                         }
   1708 	YY_BREAK
   1709 case 58:
   1710 # line 282 "<stdin>"
   1711 cntdactn = true; ++linenum; return ( '\n' );
   1712 	YY_BREAK
   1713 case 59:
   1714 # line 284 "<stdin>"
   1715 {
   1716                         /* this rule is separate from the one below because
   1717                          * otherwise we get variable trailing context, so
   1718                          * we can't build the scanner using -{f,F}
   1719                          */
   1720                         bracelevel = 0;
   1721                         cntdactn = false;
   1722                         BEGIN(ACTION);
   1723                         return ( '\n' );
   1724                         }
   1725 	YY_BREAK
   1726 case 60:
   1727 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1728 yy_c_buf_p = yy_cp -= 1;
   1729 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1730 # line 295 "<stdin>"
   1731 {
   1732                         bracelevel = 0;
   1733                         cntdactn = false;
   1734                         BEGIN(ACTION);
   1735                         return ( '\n' );
   1736                         }
   1737 	YY_BREAK
   1738 case 61:
   1739 # line 302 "<stdin>"
   1740 ++linenum; return ( '\n' );
   1741 	YY_BREAK
   1742 case 62:
   1743 # line 304 "<stdin>"
   1744 return ( EOF_OP );
   1745 	YY_BREAK
   1746 case 63:
   1747 # line 306 "<stdin>"
   1748 {
   1749                         sectnum = 3;
   1750                         BEGIN(SECT3);
   1751                         return ( EOF ); /* to stop the parser */
   1752                         }
   1753 	YY_BREAK
   1754 case 64:
   1755 # line 312 "<stdin>"
   1756 {
   1757                         int cclval;
   1758 
   1759                         (void) strcpy( nmstr, (char *) yytext );
   1760 
   1761                         /* check to see if we've already encountered this ccl */
   1762                         if ( (cclval = ccllookp( (Char *) nmstr )) )
   1763                             {
   1764                             yylval = cclval;
   1765                             ++cclreuse;
   1766                             return ( PREVCCL );
   1767                             }
   1768                         else
   1769                             {
   1770                             /* we fudge a bit.  We know that this ccl will
   1771                              * soon be numbered as lastccl + 1 by cclinit
   1772                              */
   1773                             cclnstal( (Char *) nmstr, lastccl + 1 );
   1774 
   1775                             /* push back everything but the leading bracket
   1776                              * so the ccl can be rescanned
   1777                              */
   1778                             PUT_BACK_STRING((Char *) nmstr, 1);
   1779 
   1780                             BEGIN(FIRSTCCL);
   1781                             return ( '[' );
   1782                             }
   1783                         }
   1784 	YY_BREAK
   1785 case 65:
   1786 # line 341 "<stdin>"
   1787 {
   1788                         register Char *nmdefptr;
   1789                         Char *ndlookup();
   1790 
   1791                         (void) strcpy( nmstr, (char *) yytext );
   1792                         nmstr[yyleng - 1] = '\0';  /* chop trailing brace */
   1793 
   1794                         /* lookup from "nmstr + 1" to chop leading brace */
   1795                         if ( ! (nmdefptr = ndlookup( nmstr + 1 )) )
   1796                             synerr( "undefined {name}" );
   1797 
   1798                         else
   1799                             { /* push back name surrounded by ()'s */
   1800                             unput(')');
   1801                             PUT_BACK_STRING(nmdefptr, 0);
   1802                             unput('(');
   1803                             }
   1804                         }
   1805 	YY_BREAK
   1806 case 66:
   1807 # line 360 "<stdin>"
   1808 return ( yytext[0] );
   1809 	YY_BREAK
   1810 case 67:
   1811 # line 361 "<stdin>"
   1812 RETURNCHAR;
   1813 	YY_BREAK
   1814 case 68:
   1815 # line 362 "<stdin>"
   1816 ++linenum; return ( '\n' );
   1817 	YY_BREAK
   1818 case 69:
   1819 # line 365 "<stdin>"
   1820 return ( ',' );
   1821 	YY_BREAK
   1822 case 70:
   1823 # line 366 "<stdin>"
   1824 BEGIN(SECT2); return ( '>' );
   1825 	YY_BREAK
   1826 case 71:
   1827 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1828 yy_c_buf_p = yy_cp = yy_bp + 1;
   1829 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1830 # line 367 "<stdin>"
   1831 BEGIN(CARETISBOL); return ( '>' );
   1832 	YY_BREAK
   1833 case 72:
   1834 # line 368 "<stdin>"
   1835 RETURNNAME;
   1836 	YY_BREAK
   1837 case 73:
   1838 # line 369 "<stdin>"
   1839 synerr( "bad start condition name" );
   1840 	YY_BREAK
   1841 case 74:
   1842 # line 371 "<stdin>"
   1843 BEGIN(SECT2); return ( '^' );
   1844 	YY_BREAK
   1845 case 75:
   1846 # line 374 "<stdin>"
   1847 RETURNCHAR;
   1848 	YY_BREAK
   1849 case 76:
   1850 # line 375 "<stdin>"
   1851 BEGIN(SECT2); return ( '"' );
   1852 	YY_BREAK
   1853 case 77:
   1854 # line 377 "<stdin>"
   1855 {
   1856                         synerr( "missing quote" );
   1857                         BEGIN(SECT2);
   1858                         ++linenum;
   1859                         return ( '"' );
   1860                         }
   1861 	YY_BREAK
   1862 case 78:
   1863 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1864 yy_c_buf_p = yy_cp = yy_bp + 1;
   1865 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1866 # line 385 "<stdin>"
   1867 BEGIN(CCL); return ( '^' );
   1868 	YY_BREAK
   1869 case 79:
   1870 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1871 yy_c_buf_p = yy_cp = yy_bp + 1;
   1872 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1873 # line 386 "<stdin>"
   1874 return ( '^' );
   1875 	YY_BREAK
   1876 case 80:
   1877 # line 387 "<stdin>"
   1878 BEGIN(CCL); yylval = '-'; return ( CHAR );
   1879 	YY_BREAK
   1880 case 81:
   1881 # line 388 "<stdin>"
   1882 BEGIN(CCL); RETURNCHAR;
   1883 	YY_BREAK
   1884 case 82:
   1885 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
   1886 yy_c_buf_p = yy_cp = yy_bp + 1;
   1887 YY_DO_BEFORE_ACTION; /* set up yytext again */
   1888 # line 390 "<stdin>"
   1889 return ( '-' );
   1890 	YY_BREAK
   1891 case 83:
   1892 # line 391 "<stdin>"
   1893 RETURNCHAR;
   1894 	YY_BREAK
   1895 case 84:
   1896 # line 392 "<stdin>"
   1897 BEGIN(SECT2); return ( ']' );
   1898 	YY_BREAK
   1899 case 85:
   1900 # line 395 "<stdin>"
   1901 {
   1902                         yylval = myctoi( yytext );
   1903                         return ( NUMBER );
   1904                         }
   1905 	YY_BREAK
   1906 case 86:
   1907 # line 400 "<stdin>"
   1908 return ( ',' );
   1909 	YY_BREAK
   1910 case 87:
   1911 # line 401 "<stdin>"
   1912 BEGIN(SECT2); return ( '}' );
   1913 	YY_BREAK
   1914 case 88:
   1915 # line 403 "<stdin>"
   1916 {
   1917                         synerr( "bad character inside {}'s" );
   1918                         BEGIN(SECT2);
   1919                         return ( '}' );
   1920                         }
   1921 	YY_BREAK
   1922 case 89:
   1923 # line 409 "<stdin>"
   1924 {
   1925                         synerr( "missing }" );
   1926                         BEGIN(SECT2);
   1927                         ++linenum;
   1928                         return ( '}' );
   1929                         }
   1930 	YY_BREAK
   1931 case 90:
   1932 # line 417 "<stdin>"
   1933 synerr( "bad name in {}'s" ); BEGIN(SECT2);
   1934 	YY_BREAK
   1935 case 91:
   1936 # line 418 "<stdin>"
   1937 synerr( "missing }" ); ++linenum; BEGIN(SECT2);
   1938 	YY_BREAK
   1939 case 92:
   1940 # line 421 "<stdin>"
   1941 bracelevel = 0;
   1942 	YY_BREAK
   1943 case 93:
   1944 # line 422 "<stdin>"
   1945 {
   1946                         ACTION_ECHO;
   1947                         CHECK_REJECT(yytext);
   1948                         }
   1949 	YY_BREAK
   1950 case 94:
   1951 # line 426 "<stdin>"
   1952 {
   1953                         ACTION_ECHO;
   1954                         CHECK_YYMORE(yytext);
   1955                         }
   1956 	YY_BREAK
   1957 case 95:
   1958 # line 430 "<stdin>"
   1959 ACTION_ECHO;
   1960 	YY_BREAK
   1961 case 96:
   1962 # line 431 "<stdin>"
   1963 {
   1964                         ++linenum;
   1965                         ACTION_ECHO;
   1966                         if ( bracelevel == 0 ||
   1967                              (doing_codeblock && indented_code) )
   1968                             {
   1969                             if ( ! doing_codeblock )
   1970                                 fputs( "\tYY_BREAK\n", tmpactfl );
   1971 
   1972                             doing_codeblock = false;
   1973                             BEGIN(SECT2);
   1974                             }
   1975                         }
   1976 	YY_BREAK
   1977         /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
   1978 case 97:
   1979 # line 447 "<stdin>"
   1980 ACTION_ECHO; ++bracelevel;
   1981 	YY_BREAK
   1982 case 98:
   1983 # line 448 "<stdin>"
   1984 ACTION_ECHO; --bracelevel;
   1985 	YY_BREAK
   1986 case 99:
   1987 # line 449 "<stdin>"
   1988 ACTION_ECHO;
   1989 	YY_BREAK
   1990 case 100:
   1991 # line 450 "<stdin>"
   1992 ACTION_ECHO;
   1993 	YY_BREAK
   1994 case 101:
   1995 # line 451 "<stdin>"
   1996 ACTION_ECHO; BEGIN(ACTION_COMMENT);
   1997 	YY_BREAK
   1998 case 102:
   1999 # line 452 "<stdin>"
   2000 ACTION_ECHO; /* character constant */
   2001 	YY_BREAK
   2002 case 103:
   2003 # line 453 "<stdin>"
   2004 ACTION_ECHO; BEGIN(ACTION_STRING);
   2005 	YY_BREAK
   2006 case 104:
   2007 # line 454 "<stdin>"
   2008 {
   2009                         ++linenum;
   2010                         ACTION_ECHO;
   2011                         if ( bracelevel == 0 )
   2012                             {
   2013                             fputs( "\tYY_BREAK\n", tmpactfl );
   2014                             BEGIN(SECT2);
   2015                             }
   2016                         }
   2017 	YY_BREAK
   2018 case 105:
   2019 # line 463 "<stdin>"
   2020 ACTION_ECHO;
   2021 	YY_BREAK
   2022 case 106:
   2023 # line 465 "<stdin>"
   2024 ACTION_ECHO; BEGIN(ACTION);
   2025 	YY_BREAK
   2026 case 107:
   2027 # line 466 "<stdin>"
   2028 ACTION_ECHO;
   2029 	YY_BREAK
   2030 case 108:
   2031 # line 467 "<stdin>"
   2032 ACTION_ECHO;
   2033 	YY_BREAK
   2034 case 109:
   2035 # line 468 "<stdin>"
   2036 ++linenum; ACTION_ECHO;
   2037 	YY_BREAK
   2038 case 110:
   2039 # line 469 "<stdin>"
   2040 ACTION_ECHO;
   2041 	YY_BREAK
   2042 case 111:
   2043 # line 471 "<stdin>"
   2044 ACTION_ECHO;
   2045 	YY_BREAK
   2046 case 112:
   2047 # line 472 "<stdin>"
   2048 ACTION_ECHO;
   2049 	YY_BREAK
   2050 case 113:
   2051 # line 473 "<stdin>"
   2052 ++linenum; ACTION_ECHO;
   2053 	YY_BREAK
   2054 case 114:
   2055 # line 474 "<stdin>"
   2056 ACTION_ECHO; BEGIN(ACTION);
   2057 	YY_BREAK
   2058 case 115:
   2059 # line 475 "<stdin>"
   2060 ACTION_ECHO;
   2061 	YY_BREAK
   2062 case YY_STATE_EOF(ACTION):
   2063 case YY_STATE_EOF(ACTION_COMMENT):
   2064 case YY_STATE_EOF(ACTION_STRING):
   2065 # line 477 "<stdin>"
   2066 {
   2067                         synerr( "EOF encountered inside an action" );
   2068                         yyterminate();
   2069                         }
   2070 	YY_BREAK
   2071 case 117:
   2072 # line 483 "<stdin>"
   2073 {
   2074                         yylval = myesc( yytext );
   2075                         return ( CHAR );
   2076                         }
   2077 	YY_BREAK
   2078 case 118:
   2079 # line 488 "<stdin>"
   2080 {
   2081                         yylval = myesc( yytext );
   2082                         BEGIN(CCL);
   2083                         return ( CHAR );
   2084                         }
   2085 	YY_BREAK
   2086 case 119:
   2087 # line 495 "<stdin>"
   2088 ECHO;
   2089 	YY_BREAK
   2090 case 120:
   2091 # line 496 "<stdin>"
   2092 YY_FATAL_ERROR( "flex scanner jammed" );
   2093 	YY_BREAK
   2094 case YY_STATE_EOF(INITIAL):
   2095 case YY_STATE_EOF(SECT2):
   2096 case YY_STATE_EOF(SECT3):
   2097 case YY_STATE_EOF(CODEBLOCK):
   2098 case YY_STATE_EOF(PICKUPDEF):
   2099 case YY_STATE_EOF(SC):
   2100 case YY_STATE_EOF(CARETISBOL):
   2101 case YY_STATE_EOF(NUM):
   2102 case YY_STATE_EOF(QUOTE):
   2103 case YY_STATE_EOF(FIRSTCCL):
   2104 case YY_STATE_EOF(CCL):
   2105 case YY_STATE_EOF(RECOVER):
   2106 case YY_STATE_EOF(BRACEERROR):
   2107 case YY_STATE_EOF(C_COMMENT):
   2108 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
   2109 case YY_STATE_EOF(USED_LIST):
   2110 case YY_STATE_EOF(CODEBLOCK_2):
   2111 case YY_STATE_EOF(XLATION):
   2112     yyterminate();
   2113 
   2114             case YY_END_OF_BUFFER:
   2115                 {
   2116                 /* amount of text matched not including the EOB char */
   2117                 int yy_amount_of_matched_text = yy_cp - yytext - 1;
   2118 
   2119                 /* undo the effects of YY_DO_BEFORE_ACTION */
   2120                 *yy_cp = yy_hold_char;
   2121 
   2122                 /* note that here we test for yy_c_buf_p "<=" to the position
   2123                  * of the first EOB in the buffer, since yy_c_buf_p will
   2124                  * already have been incremented past the NUL character
   2125                  * (since all states make transitions on EOB to the end-
   2126                  * of-buffer state).  Contrast this with the test in yyinput().
   2127                  */
   2128                 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
   2129                     /* this was really a NUL */
   2130                     {
   2131                     yy_ste_type yy_next_state;
   2132 
   2133                     yy_c_buf_p = yytext + yy_amount_of_matched_text;
   2134 
   2135                     yy_current_state = yy_get_previous_state();
   2136 
   2137                     /* okay, we're now positioned to make the
   2138                      * NUL transition.  We couldn't have
   2139                      * yy_get_previous_state() go ahead and do it
   2140                      * for us because it doesn't know how to deal
   2141                      * with the possibility of jamming (and we
   2142                      * don't want to build jamming into it because
   2143                      * then it will run more slowly)
   2144                      */
   2145 
   2146                     yy_next_state = yy_try_NUL_trans( yy_current_state );
   2147 
   2148                     yy_bp = yytext + YY_MORE_ADJ;
   2149 
   2150                     if ( yy_next_state )
   2151                         {
   2152                         /* consume the NUL */
   2153                         yy_cp = ++yy_c_buf_p;
   2154                         yy_current_state = yy_next_state;
   2155                         goto yy_match;
   2156                         }
   2157 
   2158                     else
   2159                         {
   2160 			    yy_cp = yy_last_accepting_cpos;
   2161 			    yy_current_state = yy_last_accepting_state;
   2162                         goto yy_find_action;
   2163                         }
   2164                     }
   2165 
   2166                 else switch ( yy_get_next_buffer() )
   2167                     {
   2168                     case EOB_ACT_END_OF_FILE:
   2169                         {
   2170                         yy_did_buffer_switch_on_eof = 0;
   2171 
   2172                         if ( yywrap() )
   2173                             {
   2174                             /* note: because we've taken care in
   2175                              * yy_get_next_buffer() to have set up yytext,
   2176                              * we can now set up yy_c_buf_p so that if some
   2177                              * total hoser (like flex itself) wants
   2178                              * to call the scanner after we return the
   2179                              * YY_NULL, it'll still work - another YY_NULL
   2180                              * will get returned.
   2181                              */
   2182                             yy_c_buf_p = yytext + YY_MORE_ADJ;
   2183 
   2184                             yy_act = YY_STATE_EOF((yy_start - 1) / 2);
   2185                             goto do_action;
   2186                             }
   2187 
   2188                         else
   2189                             {
   2190                             if ( ! yy_did_buffer_switch_on_eof )
   2191                                 YY_NEW_FILE;
   2192                             }
   2193                         }
   2194                         break;
   2195 
   2196                     case EOB_ACT_CONTINUE_SCAN:
   2197                         yy_c_buf_p = yytext + yy_amount_of_matched_text;
   2198 
   2199                         yy_current_state = yy_get_previous_state();
   2200 
   2201                         yy_cp = yy_c_buf_p;
   2202                         yy_bp = yytext + YY_MORE_ADJ;
   2203                         goto yy_match;
   2204 
   2205                     case EOB_ACT_LAST_MATCH:
   2206                         yy_c_buf_p =
   2207                             &yy_current_buffer->yy_ch_buf[yy_n_chars];
   2208 
   2209                         yy_current_state = yy_get_previous_state();
   2210 
   2211                         yy_cp = yy_c_buf_p;
   2212                         yy_bp = yytext + YY_MORE_ADJ;
   2213                         goto yy_find_action;
   2214                     }
   2215                 break;
   2216                 }
   2217 
   2218             default:
   2219 #ifdef FLEX_DEBUG
   2220                 printf( "action # %d\n", yy_act );
   2221 #endif
   2222                 YY_FATAL_ERROR(
   2223                         "fatal flex scanner internal error--no action found" );
   2224             }
   2225         }
   2226     }
   2227 
   2228 
   2229 /* yy_get_next_buffer - try to read in a new buffer
   2230  *
   2231  * synopsis
   2232  *     int yy_get_next_buffer();
   2233  *
   2234  * returns a code representing an action
   2235  *     EOB_ACT_LAST_MATCH -
   2236  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
   2237  *     EOB_ACT_END_OF_FILE - end of file
   2238  */
   2239 
   2240 static int yy_get_next_buffer()
   2241 
   2242     {
   2243     register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
   2244     register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
   2245     register int number_to_move, i;
   2246     int ret_val;
   2247 
   2248     if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
   2249         YY_FATAL_ERROR(
   2250                 "fatal flex scanner internal error--end of buffer missed" );
   2251 
   2252     /* try to read more data */
   2253 
   2254     /* first move last chars to start of buffer */
   2255     number_to_move = yy_c_buf_p - yytext;
   2256 
   2257     for ( i = 0; i < number_to_move; ++i )
   2258         *(dest++) = *(source++);
   2259 
   2260     if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
   2261         /* don't do the read, it's not guaranteed to return an EOF,
   2262          * just force an EOF
   2263          */
   2264         yy_n_chars = 0;
   2265 
   2266     else
   2267         {
   2268         int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
   2269 
   2270         if ( num_to_read > YY_READ_BUF_SIZE )
   2271             num_to_read = YY_READ_BUF_SIZE;
   2272 
   2273         else if ( num_to_read <= 0 )
   2274             YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
   2275 
   2276         /* read in more data */
   2277         YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
   2278                   yy_n_chars, num_to_read );
   2279         }
   2280 
   2281     if ( yy_n_chars == 0 )
   2282         {
   2283         if ( number_to_move == 1 )
   2284             {
   2285             ret_val = EOB_ACT_END_OF_FILE;
   2286             yy_current_buffer->yy_eof_status = EOF_DONE;
   2287             }
   2288 
   2289         else
   2290             {
   2291             ret_val = EOB_ACT_LAST_MATCH;
   2292             yy_current_buffer->yy_eof_status = EOF_PENDING;
   2293             }
   2294         }
   2295 
   2296     else
   2297         ret_val = EOB_ACT_CONTINUE_SCAN;
   2298 
   2299     yy_n_chars += number_to_move;
   2300     yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
   2301     yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
   2302 
   2303     /* yytext begins at the second character in yy_ch_buf; the first
   2304      * character is the one which preceded it before reading in the latest
   2305      * buffer; it needs to be kept around in case it's a newline, so
   2306      * yy_get_previous_state() will have with '^' rules active
   2307      */
   2308 
   2309     yytext = &yy_current_buffer->yy_ch_buf[1];
   2310 
   2311     return ( ret_val );
   2312     }
   2313 
   2314 
   2315 /* yy_get_previous_state - get the state just before the EOB char was reached
   2316  *
   2317  * synopsis
   2318  *     yy_ste_type yy_get_previous_state();
   2319  */
   2320 
   2321 static yy_ste_type yy_get_previous_state()
   2322 
   2323     {
   2324     register yy_ste_type yy_current_state;
   2325     register YY_CHAR *yy_cp;
   2326 
   2327     register YY_CHAR *yy_bp = yytext;
   2328 
   2329     yy_current_state = yy_start;
   2330     if ( yy_bp[-1] == '\n' )
   2331 	++yy_current_state;
   2332 
   2333     for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
   2334         {
   2335 	register YY_CHAR yy_c = (*yy_cp ? yy_ec[*yy_cp] : 1);
   2336 	if ( yy_accept[yy_current_state] )
   2337 	    {
   2338 	    yy_last_accepting_state = yy_current_state;
   2339 	    yy_last_accepting_cpos = yy_cp;
   2340 	    }
   2341 	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   2342 	    {
   2343 	    yy_current_state = yy_def[yy_current_state];
   2344 	    }
   2345 	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   2346         }
   2347 
   2348     return ( yy_current_state );
   2349     }
   2350 
   2351 
   2352 /* yy_try_NUL_trans - try to make a transition on the NUL character
   2353  *
   2354  * synopsis
   2355  *     next_state = yy_try_NUL_trans( current_state );
   2356  */
   2357 
   2358 #ifdef YY_USE_PROTOS
   2359 static yy_ste_type yy_try_NUL_trans( register yy_ste_type yy_current_state )
   2360 #else
   2361 static yy_ste_type yy_try_NUL_trans( yy_current_state )
   2362 register yy_ste_type yy_current_state;
   2363 #endif
   2364 
   2365     {
   2366     register int yy_is_jam;
   2367     register YY_CHAR *yy_cp = yy_c_buf_p;
   2368 
   2369     register YY_CHAR yy_c = 1;
   2370     if ( yy_accept[yy_current_state] )
   2371 	{
   2372 	yy_last_accepting_state = yy_current_state;
   2373 	yy_last_accepting_cpos = yy_cp;
   2374 	}
   2375     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
   2376 	{
   2377 	yy_current_state = yy_def[yy_current_state];
   2378 	}
   2379     yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
   2380     yy_is_jam = (yy_current_state == 340);
   2381 
   2382     return ( yy_is_jam ? 0 : yy_current_state );
   2383     }
   2384 
   2385 
   2386 #ifdef YY_USE_PROTOS
   2387 static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
   2388 #else
   2389 static void yyunput( c, yy_bp )
   2390 YY_CHAR c;
   2391 register YY_CHAR *yy_bp;
   2392 #endif
   2393 
   2394     {
   2395     register YY_CHAR *yy_cp = yy_c_buf_p;
   2396 
   2397     /* undo effects of setting up yytext */
   2398     *yy_cp = yy_hold_char;
   2399 
   2400     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
   2401         { /* need to shift things up to make room */
   2402         register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
   2403         register YY_CHAR *dest =
   2404             &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
   2405         register YY_CHAR *source =
   2406             &yy_current_buffer->yy_ch_buf[number_to_move];
   2407 
   2408         while ( source > yy_current_buffer->yy_ch_buf )
   2409             *--dest = *--source;
   2410 
   2411         yy_cp += dest - source;
   2412         yy_bp += dest - source;
   2413         yy_n_chars = yy_current_buffer->yy_buf_size;
   2414 
   2415         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
   2416             YY_FATAL_ERROR( "flex scanner push-back overflow" );
   2417         }
   2418 
   2419     if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
   2420         yy_cp[-2] = '\n';
   2421 
   2422     *--yy_cp = c;
   2423 
   2424     /* note: the formal parameter *must* be called "yy_bp" for this
   2425      *       macro to now work correctly
   2426      */
   2427     YY_DO_BEFORE_ACTION; /* set up yytext again */
   2428     }
   2429 
   2430 
   2431 #ifdef __cplusplus
   2432 static int yyinput()
   2433 #else
   2434 static int input()
   2435 #endif
   2436 
   2437     {
   2438     int c;
   2439     YY_CHAR *yy_cp = yy_c_buf_p;
   2440 
   2441     *yy_cp = yy_hold_char;
   2442 
   2443     if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
   2444         {
   2445         /* yy_c_buf_p now points to the character we want to return.
   2446          * If this occurs *before* the EOB characters, then it's a
   2447          * valid NUL; if not, then we've hit the end of the buffer.
   2448          */
   2449         if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
   2450             /* this was really a NUL */
   2451             *yy_c_buf_p = '\0';
   2452 
   2453         else
   2454             { /* need more input */
   2455             yytext = yy_c_buf_p;
   2456             ++yy_c_buf_p;
   2457 
   2458             switch ( yy_get_next_buffer() )
   2459                 {
   2460                 case EOB_ACT_END_OF_FILE:
   2461                     {
   2462                     if ( yywrap() )
   2463                         {
   2464                         yy_c_buf_p = yytext + YY_MORE_ADJ;
   2465                         return ( EOF );
   2466                         }
   2467 
   2468                     YY_NEW_FILE;
   2469 
   2470 #ifdef __cplusplus
   2471                     return ( yyinput() );
   2472 #else
   2473                     return ( input() );
   2474 #endif
   2475                     }
   2476                     break;
   2477 
   2478                 case EOB_ACT_CONTINUE_SCAN:
   2479                     yy_c_buf_p = yytext + YY_MORE_ADJ;
   2480                     break;
   2481 
   2482                 case EOB_ACT_LAST_MATCH:
   2483 #ifdef __cplusplus
   2484                     YY_FATAL_ERROR( "unexpected last match in yyinput()" );
   2485 #else
   2486                     YY_FATAL_ERROR( "unexpected last match in input()" );
   2487 #endif
   2488                 }
   2489             }
   2490         }
   2491 
   2492     c = *yy_c_buf_p;
   2493     yy_hold_char = *++yy_c_buf_p;
   2494 
   2495     return ( c );
   2496     }
   2497 
   2498 
   2499 #ifdef YY_USE_PROTOS
   2500 void yyrestrt( FILE *input_file )
   2501 #else
   2502 void yyrestrt( input_file )
   2503 FILE *input_file;
   2504 #endif
   2505 
   2506     {
   2507     yyinbffr( yy_current_buffer, input_file );
   2508     yyldbfst();
   2509     }
   2510 
   2511 
   2512 #ifdef YY_USE_PROTOS
   2513 void yyswtobf( YY_BUFFER_STATE new_buffer )
   2514 #else
   2515 void yyswtobf( new_buffer )
   2516 YY_BUFFER_STATE new_buffer;
   2517 #endif
   2518 
   2519     {
   2520     if ( yy_current_buffer == new_buffer )
   2521         return;
   2522 
   2523     if ( yy_current_buffer )
   2524         {
   2525         /* flush out information for old buffer */
   2526         *yy_c_buf_p = yy_hold_char;
   2527         yy_current_buffer->yy_buf_pos = yy_c_buf_p;
   2528         yy_current_buffer->yy_n_chars = yy_n_chars;
   2529         }
   2530 
   2531     yy_current_buffer = new_buffer;
   2532     yyldbfst();
   2533 
   2534     /* we don't actually know whether we did this switch during
   2535      * EOF (yywrap()) processing, but the only time this flag
   2536      * is looked at is after yywrap() is called, so it's safe
   2537      * to go ahead and always set it.
   2538      */
   2539     yy_did_buffer_switch_on_eof = 1;
   2540     }
   2541 
   2542 
   2543 #ifdef YY_USE_PROTOS
   2544 void yyldbfst( void )
   2545 #else
   2546 void yyldbfst()
   2547 #endif
   2548 
   2549     {
   2550     yy_n_chars = yy_current_buffer->yy_n_chars;
   2551     yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
   2552     yyin = yy_current_buffer->yy_input_file;
   2553     yy_hold_char = *yy_c_buf_p;
   2554     }
   2555 
   2556 
   2557 #ifdef YY_USE_PROTOS
   2558 YY_BUFFER_STATE yycrbffr( FILE *file, int size )
   2559 #else
   2560 YY_BUFFER_STATE yycrbffr( file, size )
   2561 FILE *file;
   2562 int size;
   2563 #endif
   2564 
   2565     {
   2566     YY_BUFFER_STATE b;
   2567 
   2568     b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
   2569 
   2570     if ( ! b )
   2571         YY_FATAL_ERROR( "out of dynamic memory in yycrbffr()" );
   2572 
   2573     b->yy_buf_size = size;
   2574 
   2575     /* yy_ch_buf has to be 2 characters longer than the size given because
   2576      * we need to put in 2 end-of-buffer characters.
   2577      */
   2578     b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
   2579 
   2580     if ( ! b->yy_ch_buf )
   2581         YY_FATAL_ERROR( "out of dynamic memory in yycrbffr()" );
   2582 
   2583     yyinbffr( b, file );
   2584 
   2585     return ( b );
   2586     }
   2587 
   2588 
   2589 #ifdef YY_USE_PROTOS
   2590 void yydlbffr( YY_BUFFER_STATE b )
   2591 #else
   2592 void yydlbffr( b )
   2593 YY_BUFFER_STATE b;
   2594 #endif
   2595 
   2596     {
   2597     if ( b == yy_current_buffer )
   2598         yy_current_buffer = (YY_BUFFER_STATE) 0;
   2599 
   2600     free( (char *) b->yy_ch_buf );
   2601     free( (char *) b );
   2602     }
   2603 
   2604 
   2605 #ifdef YY_USE_PROTOS
   2606 void yyinbffr( YY_BUFFER_STATE b, FILE *file )
   2607 #else
   2608 void yyinbffr( b, file )
   2609 YY_BUFFER_STATE b;
   2610 FILE *file;
   2611 #endif
   2612 
   2613     {
   2614     b->yy_input_file = file;
   2615 
   2616     /* we put in the '\n' and start reading from [1] so that an
   2617      * initial match-at-newline will be true.
   2618      */
   2619 
   2620     b->yy_ch_buf[0] = '\n';
   2621     b->yy_n_chars = 1;
   2622 
   2623     /* we always need two end-of-buffer characters.  The first causes
   2624      * a transition to the end-of-buffer state.  The second causes
   2625      * a jam in that state.
   2626      */
   2627     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
   2628     b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
   2629 
   2630     b->yy_buf_pos = &b->yy_ch_buf[1];
   2631 
   2632     b->yy_eof_status = EOF_NOT_SEEN;
   2633     }
   2634 # line 496 "<stdin>"
   2635 
   2636 
   2637 
   2638 int yywrap()
   2639 
   2640     {
   2641     if ( --ninfiles > 0 )
   2642         {
   2643         stinpfle( *++inp_fles );
   2644         return ( 0 );
   2645         }
   2646 
   2647     else
   2648         return ( 1 );
   2649     }
   2650 
   2651 
   2652 /* stinpfle - open the given file (if NULL, stdin) for scanning */
   2653 
   2654 void stinpfle( file )
   2655 char *file;
   2656 
   2657     {
   2658     if ( file )
   2659         {
   2660         infilnam = file;
   2661         yyin = fopen( infilnam, "r" );
   2662 
   2663         if ( yyin == NULL )
   2664             lerrsf( "can't open %s", file );
   2665         }
   2666 
   2667     else
   2668         {
   2669         yyin = stdin;
   2670         infilnam = "<stdin>";
   2671         }
   2672     }
   2673