i3
src/cfgparse.yy.c
Go to the documentation of this file.
00001 #line 2 "src/cfgparse.yy.c"
00002 
00003 #line 4 "src/cfgparse.yy.c"
00004 
00005 #define  YY_INT_ALIGNED short int
00006 
00007 /* A lexical scanner generated by flex */
00008 
00009 #define FLEX_SCANNER
00010 #define YY_FLEX_MAJOR_VERSION 2
00011 #define YY_FLEX_MINOR_VERSION 5
00012 #define YY_FLEX_SUBMINOR_VERSION 35
00013 #if YY_FLEX_SUBMINOR_VERSION > 0
00014 #define FLEX_BETA
00015 #endif
00016 
00017 /* First, we deal with  platform-specific or compiler-specific issues. */
00018 
00019 /* begin standard C headers. */
00020 #include <stdio.h>
00021 #include <string.h>
00022 #include <errno.h>
00023 #include <stdlib.h>
00024 
00025 /* end standard C headers. */
00026 
00027 /* flex integer type definitions */
00028 
00029 #ifndef FLEXINT_H
00030 #define FLEXINT_H
00031 
00032 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00033 
00034 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00035 
00036 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00037  * if you want the limit (max/min) macros for int types. 
00038  */
00039 #ifndef __STDC_LIMIT_MACROS
00040 #define __STDC_LIMIT_MACROS 1
00041 #endif
00042 
00043 #include <inttypes.h>
00044 typedef int8_t flex_int8_t;
00045 typedef uint8_t flex_uint8_t;
00046 typedef int16_t flex_int16_t;
00047 typedef uint16_t flex_uint16_t;
00048 typedef int32_t flex_int32_t;
00049 typedef uint32_t flex_uint32_t;
00050 #else
00051 typedef signed char flex_int8_t;
00052 typedef short int flex_int16_t;
00053 typedef int flex_int32_t;
00054 typedef unsigned char flex_uint8_t; 
00055 typedef unsigned short int flex_uint16_t;
00056 typedef unsigned int flex_uint32_t;
00057 #endif /* ! C99 */
00058 
00059 /* Limits of integral types. */
00060 #ifndef INT8_MIN
00061 #define INT8_MIN               (-128)
00062 #endif
00063 #ifndef INT16_MIN
00064 #define INT16_MIN              (-32767-1)
00065 #endif
00066 #ifndef INT32_MIN
00067 #define INT32_MIN              (-2147483647-1)
00068 #endif
00069 #ifndef INT8_MAX
00070 #define INT8_MAX               (127)
00071 #endif
00072 #ifndef INT16_MAX
00073 #define INT16_MAX              (32767)
00074 #endif
00075 #ifndef INT32_MAX
00076 #define INT32_MAX              (2147483647)
00077 #endif
00078 #ifndef UINT8_MAX
00079 #define UINT8_MAX              (255U)
00080 #endif
00081 #ifndef UINT16_MAX
00082 #define UINT16_MAX             (65535U)
00083 #endif
00084 #ifndef UINT32_MAX
00085 #define UINT32_MAX             (4294967295U)
00086 #endif
00087 
00088 #endif /* ! FLEXINT_H */
00089 
00090 #ifdef __cplusplus
00091 
00092 /* The "const" storage-class-modifier is valid. */
00093 #define YY_USE_CONST
00094 
00095 #else   /* ! __cplusplus */
00096 
00097 /* C99 requires __STDC__ to be defined as 1. */
00098 #if defined (__STDC__)
00099 
00100 #define YY_USE_CONST
00101 
00102 #endif  /* defined (__STDC__) */
00103 #endif  /* ! __cplusplus */
00104 
00105 #ifdef YY_USE_CONST
00106 #define yyconst const
00107 #else
00108 #define yyconst
00109 #endif
00110 
00111 /* Returned upon end-of-file. */
00112 #define YY_NULL 0
00113 
00114 /* Promotes a possibly negative, possibly signed char to an unsigned
00115  * integer for use as an array index.  If the signed char is negative,
00116  * we want to instead treat it as an 8-bit unsigned char, hence the
00117  * double cast.
00118  */
00119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00120 
00121 /* Enter a start condition.  This macro really ought to take a parameter,
00122  * but we do it the disgusting crufty way forced on us by the ()-less
00123  * definition of BEGIN.
00124  */
00125 #define BEGIN (yy_start) = 1 + 2 *
00126 
00127 /* Translate the current start state into a value that can be later handed
00128  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00129  * compatibility.
00130  */
00131 #define YY_START (((yy_start) - 1) / 2)
00132 #define YYSTATE YY_START
00133 
00134 /* Action number for EOF rule of a given start state. */
00135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00136 
00137 /* Special action meaning "start processing a new file". */
00138 #define YY_NEW_FILE yyrestart(yyin  )
00139 
00140 #define YY_END_OF_BUFFER_CHAR 0
00141 
00142 /* Size of default input buffer. */
00143 #ifndef YY_BUF_SIZE
00144 #define YY_BUF_SIZE 16384
00145 #endif
00146 
00147 /* The state buf must be large enough to hold one state per character in the main buffer.
00148  */
00149 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00150 
00151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00152 #define YY_TYPEDEF_YY_BUFFER_STATE
00153 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00154 #endif
00155 
00156 extern int yyleng;
00157 
00158 extern FILE *yyin, *yyout;
00159 
00160 #define EOB_ACT_CONTINUE_SCAN 0
00161 #define EOB_ACT_END_OF_FILE 1
00162 #define EOB_ACT_LAST_MATCH 2
00163 
00164     #define YY_LESS_LINENO(n)
00165     
00166 /* Return all but the first "n" matched characters back to the input stream. */
00167 #define yyless(n) \
00168         do \
00169                 { \
00170                 /* Undo effects of setting up yytext. */ \
00171         int yyless_macro_arg = (n); \
00172         YY_LESS_LINENO(yyless_macro_arg);\
00173                 *yy_cp = (yy_hold_char); \
00174                 YY_RESTORE_YY_MORE_OFFSET \
00175                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00176                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
00177                 } \
00178         while ( 0 )
00179 
00180 #define unput(c) yyunput( c, (yytext_ptr)  )
00181 
00182 #ifndef YY_TYPEDEF_YY_SIZE_T
00183 #define YY_TYPEDEF_YY_SIZE_T
00184 typedef size_t yy_size_t;
00185 #endif
00186 
00187 #ifndef YY_STRUCT_YY_BUFFER_STATE
00188 #define YY_STRUCT_YY_BUFFER_STATE
00189 struct yy_buffer_state
00190         {
00191         FILE *yy_input_file;
00192 
00193         char *yy_ch_buf;                /* input buffer */
00194         char *yy_buf_pos;               /* current position in input buffer */
00195 
00196         /* Size of input buffer in bytes, not including room for EOB
00197          * characters.
00198          */
00199         yy_size_t yy_buf_size;
00200 
00201         /* Number of characters read into yy_ch_buf, not including EOB
00202          * characters.
00203          */
00204         int yy_n_chars;
00205 
00206         /* Whether we "own" the buffer - i.e., we know we created it,
00207          * and can realloc() it to grow it, and should free() it to
00208          * delete it.
00209          */
00210         int yy_is_our_buffer;
00211 
00212         /* Whether this is an "interactive" input source; if so, and
00213          * if we're using stdio for input, then we want to use getc()
00214          * instead of fread(), to make sure we stop fetching input after
00215          * each newline.
00216          */
00217         int yy_is_interactive;
00218 
00219         /* Whether we're considered to be at the beginning of a line.
00220          * If so, '^' rules will be active on the next match, otherwise
00221          * not.
00222          */
00223         int yy_at_bol;
00224 
00225     int yy_bs_lineno; 
00226     int yy_bs_column; 
00228         /* Whether to try to fill the input buffer when we reach the
00229          * end of it.
00230          */
00231         int yy_fill_buffer;
00232 
00233         int yy_buffer_status;
00234 
00235 #define YY_BUFFER_NEW 0
00236 #define YY_BUFFER_NORMAL 1
00237         /* When an EOF's been seen but there's still some text to process
00238          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00239          * shouldn't try reading from the input source any more.  We might
00240          * still have a bunch of tokens to match, though, because of
00241          * possible backing-up.
00242          *
00243          * When we actually see the EOF, we change the status to "new"
00244          * (via yyrestart()), so that the user can continue scanning by
00245          * just pointing yyin at a new input file.
00246          */
00247 #define YY_BUFFER_EOF_PENDING 2
00248 
00249         };
00250 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00251 
00252 /* Stack of input buffers. */
00253 static size_t yy_buffer_stack_top = 0; 
00254 static size_t yy_buffer_stack_max = 0; 
00255 static YY_BUFFER_STATE * yy_buffer_stack = 0; 
00257 /* We provide macros for accessing buffer states in case in the
00258  * future we want to put the buffer states in a more general
00259  * "scanner state".
00260  *
00261  * Returns the top of the stack, or NULL.
00262  */
00263 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00264                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00265                           : NULL)
00266 
00267 /* Same as previous macro, but useful when we know that the buffer stack is not
00268  * NULL or when we need an lvalue. For internal use only.
00269  */
00270 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00271 
00272 /* yy_hold_char holds the character lost when yytext is formed. */
00273 static char yy_hold_char;
00274 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
00275 int yyleng;
00276 
00277 /* Points to current character in buffer. */
00278 static char *yy_c_buf_p = (char *) 0;
00279 static int yy_init = 0;         /* whether we need to initialize */
00280 static int yy_start = 0;        /* start state number */
00281 
00282 /* Flag which is used to allow yywrap()'s to do buffer switches
00283  * instead of setting up a fresh yyin.  A bit of a hack ...
00284  */
00285 static int yy_did_buffer_switch_on_eof;
00286 
00287 void yyrestart (FILE *input_file  );
00288 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
00289 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
00290 void yy_delete_buffer (YY_BUFFER_STATE b  );
00291 void yy_flush_buffer (YY_BUFFER_STATE b  );
00292 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
00293 void yypop_buffer_state (void );
00294 
00295 static void yyensure_buffer_stack (void );
00296 static void yy_load_buffer_state (void );
00297 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
00298 
00299 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
00300 
00301 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
00302 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
00303 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
00304 
00305 void *yyalloc (yy_size_t  );
00306 void *yyrealloc (void *,yy_size_t  );
00307 void yyfree (void *  );
00308 
00309 #define yy_new_buffer yy_create_buffer
00310 
00311 #define yy_set_interactive(is_interactive) \
00312         { \
00313         if ( ! YY_CURRENT_BUFFER ){ \
00314         yyensure_buffer_stack (); \
00315                 YY_CURRENT_BUFFER_LVALUE =    \
00316             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00317         } \
00318         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00319         }
00320 
00321 #define yy_set_bol(at_bol) \
00322         { \
00323         if ( ! YY_CURRENT_BUFFER ){\
00324         yyensure_buffer_stack (); \
00325                 YY_CURRENT_BUFFER_LVALUE =    \
00326             yy_create_buffer(yyin,YY_BUF_SIZE ); \
00327         } \
00328         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00329         }
00330 
00331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00332 
00333 /* Begin user sect3 */
00334 
00335 typedef unsigned char YY_CHAR;
00336 
00337 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00338 
00339 typedef int yy_state_type;
00340 
00341 extern int yylineno;
00342 
00343 int yylineno = 1;
00344 
00345 extern char *yytext;
00346 #define yytext_ptr yytext
00347 
00348 static yy_state_type yy_get_previous_state (void );
00349 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
00350 static int yy_get_next_buffer (void );
00351 static void yy_fatal_error (yyconst char msg[]  );
00352 
00353 /* Done after the current pattern has been matched and before the
00354  * corresponding action - sets up yytext.
00355  */
00356 #define YY_DO_BEFORE_ACTION \
00357         (yytext_ptr) = yy_bp; \
00358         yyleng = (size_t) (yy_cp - yy_bp); \
00359         (yy_hold_char) = *yy_cp; \
00360         *yy_cp = '\0'; \
00361         (yy_c_buf_p) = yy_cp;
00362 
00363 #define YY_NUM_RULES 83
00364 #define YY_END_OF_BUFFER 84
00365 /* This struct is not used in this scanner,
00366    but its presence is necessary. */
00367 struct yy_trans_info
00368         {
00369         flex_int32_t yy_verify;
00370         flex_int32_t yy_nxt;
00371         };
00372 static yyconst flex_int16_t yy_acclist[3844] =
00373     {   0,
00374         3,    3, 8193,16385,   84,   82,   83,   77,   82,   83,
00375        74,   83,   82,   83,   82,   83,   11,   82,   83,   11,
00376        82,   83,   81,   82,   83,   81,   82,   83,   81,   82,
00377        83,   81,   82,   83,   81,   82,   83,   81,   82,   83,
00378        81,   82,   83,   81,   82,   83,   81,   82,   83,   81,
00379        82,   83,   81,   82,   83,   81,   82,   83,   81,   82,
00380        83,   81,   82,   83,   81,   82,   83,   81,   82,   83,
00381        81,   82,   83,   81,   82,   83,   81,   82,   83,   77,
00382        82,   83,    7,   82,   83,    5,   82,   83,    5,   77,
00383        82,   83,    5,   82,   83,    5,   82,   83,    5,   11,
00384 
00385        82,   83,    5,   11,   82,   83,    5,   81,   82,   83,
00386         5,   81,   82,   83,    5,   81,   82,   83,    5,   81,
00387        82,   83,    5,   81,   82,   83,    5,   81,   82,   83,
00388         5,   81,   82,   83,    5,   81,   82,   83,    5,   81,
00389        82,   83,    5,   81,   82,   83,    5,   81,   82,   83,
00390         5,   81,   82,   83,    5,   81,   82,   83,    5,   81,
00391        82,   83,    5,   81,   82,   83,    5,   81,   82,   83,
00392         5,   81,   82,   83,    5,   81,   82,   83,    5,   81,
00393        82,   83,    5,   77,   82,   83,    5,    7,   82,   83,
00394        82,   83,   75,   77,   82,   83,   11,   80,   82,   83,
00395 
00396        11,   80,   82,   83,   80,   81,   82,   83,   80,   81,
00397        82,   83,   80,   81,   82,   83,   80,   81,   82,   83,
00398        80,   81,   82,   83,   80,   81,   82,   83,   80,   81,
00399        82,   83,   80,   81,   82,   83,   80,   81,   82,   83,
00400        80,   81,   82,   83,   80,   81,   82,   83,   80,   81,
00401        82,   83,   80,   81,   82,   83,   80,   81,   82,   83,
00402        80,   81,   82,   83,   80,   81,   82,   83,   80,   81,
00403        82,   83,   80,   81,   82,   83,   80,   81,   82,   83,
00404        80,   82,   83,   75,   77,   82,   83,   79,   82,   83,
00405        74,   79,   83,   79,   82,   83,   11,   79,   82,   83,
00406 
00407        11,   79,   82,   83,   79,   81,   82,   83,   79,   81,
00408        82,   83,   79,   81,   82,   83,   79,   81,   82,   83,
00409        79,   81,   82,   83,   79,   81,   82,   83,   79,   81,
00410        82,   83,   79,   81,   82,   83,   79,   81,   82,   83,
00411        79,   81,   82,   83,   79,   81,   82,   83,   79,   81,
00412        82,   83,   79,   81,   82,   83,   79,   81,   82,   83,
00413        79,   81,   82,   83,   79,   81,   82,   83,   79,   81,
00414        82,   83,   79,   81,   82,   83,   79,   81,   82,   83,
00415         7,   79,   82,   83,   10,   77,   82,   83,   82,   83,
00416        10,   77,   82,   83,    8,   11,   82,   83,    8,   11,
00417 
00418        82,   83,    8,   81,   82,   83,    8,   81,   82,   83,
00419         8,   81,   82,   83,    8,   81,   82,   83,    8,   81,
00420        82,   83,    8,   81,   82,   83,   76,   77,   82,   83,
00421         6,   82,   83,    6,   11,   82,   83,    6,   11,   82,
00422        83,    6,   81,   82,   83,    6,   81,   82,   83,    6,
00423        81,   82,   83,    6,   81,   82,   83,    6,   81,   82,
00424        83,    6,   81,   82,   83,    6,   81,   82,   83,    6,
00425        81,   82,   83,    6,   81,   82,   83,    6,   81,   82,
00426        83,    6,   81,   82,   83,    6,   81,   82,   83,    6,
00427        81,   82,   83,    6,   81,   82,   83,    6,   81,   82,
00428 
00429        83,    6,   81,   82,   83,    6,   81,   82,   83,    6,
00430        81,   82,   83,    6,   81,   82,   83,   76,   77,   82,
00431        83,    2,   82,   83,    3,   77,   82,   83,    3,   77,
00432        82,   83,   83, 8193,   83,16385, 8193,   83,   83,   77,
00433        74,   11,   81,   81,   81,   81,   81,   81,   81,   81,
00434        81,   81,   81,   81,   81,   70,   81,   81,   81,   81,
00435        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
00436        81,   81,   81,   81,   81,   81,   77,    7,    7,    5,
00437         5,   77,    5,    5,   11,    5,    5,   81,    5,   81,
00438         5,   81,    5,   81,    5,   81,    5,   81,    5,   81,
00439 
00440         5,   81,    5,   81,    5,   81,    5,   81,    5,   81,
00441         5,   81,    5,   70,   81,    5,   81,    5,   81,    5,
00442        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00443        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00444        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00445        81,    5,   81,    5,   77,    5,    7,    5,    7,   75,
00446        77,   11,   80,   80,   80,   80,   81,   80,   81,   80,
00447        81,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00448        81,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00449        81,   70,   80,   81,   80,   81,   80,   81,   80,   81,
00450 
00451        80,   81,   80,   81,   80,   81,   80,   81,   80,   81,
00452        80,   81,   80,   81,   80,   81,   80,   81,   80,   81,
00453        80,   81,   80,   81,   80,   81,   80,   81,   80,   81,
00454        80,   81,   75,   77,   79,   74,   79,   11,   79,   79,
00455        79,   81,   79,   81,   79,   81,   79,   81,   79,   81,
00456        79,   81,   79,   81,   79,   81,   79,   81,   79,   81,
00457        79,   81,   79,   81,   79,   81,   70,   79,   81,   79,
00458        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00459        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00460        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00461 
00462        81,   79,   81,   79,   81,   79,   81,    7,   79,   10,
00463        77,   10,   77,    8,   11,    8,    8,   81,    8,   81,
00464         8,   81,   76,   77,    6,    6,   11,    6,    6,   81,
00465         6,   81,    6,   81,    6,   81,    6,   81,    6,   81,
00466         6,   81,    6,   81,    6,   81,    6,   81,    6,   81,
00467         6,   81,    6,   81,    6,   70,   81,    6,   81,    6,
00468        81,    6,   81,    6,   81,    6,   81,    6,   81,    6,
00469        81,    6,   81,    6,   81,    6,   81,    6,   81,    6,
00470        81,    6,   81,    6,   81,    6,   81,    6,   81,    6,
00471        81,    6,   81,    6,   81,   76,   77,    3,   77,    3,
00472 
00473        77, 8193,16385, 8193,   78,   81,   81,   81,   81,   81,
00474        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
00475        81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
00476        81,   81,   81,   23,   81,   81,   81,   81,   81,   81,
00477        81,   81,    5,   78,    5,    5,   81,    5,   81,    5,
00478        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00479        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00480        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00481        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00482        81,    5,   81,    5,   81,    5,   81,    5,   81,    5,
00483 
00484        81,    5,   23,   81,    5,   81,    5,   81,    5,   81,
00485         5,   81,    5,   81,    5,   81,    5,   81,    4,   78,
00486        80,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00487        81,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00488        81,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00489        81,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00490        81,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00491        81,   80,   81,   80,   81,   80,   81,   23,   80,   81,
00492        80,   81,   80,   81,   80,   81,   80,   81,   80,   81,
00493        80,   81,   80,   81,   79,   79,   81,   79,   81,   79,
00494 
00495        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00496        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00497        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00498        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00499        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00500        81,   23,   79,   81,   79,   81,   79,   81,   79,   81,
00501        79,   81,   79,   81,   79,   81,   79,   81,    9,    8,
00502        81,    6,    6,   81,    6,   81,    6,   81,    6,   81,
00503         6,   81,    6,   81,    6,   81,    6,   81,    6,   81,
00504         6,   81,    6,   81,    6,   81,    6,   81,    6,   81,
00505 
00506         6,   81,    6,   81,    6,   81,    6,   81,    6,   81,
00507         6,   81,    6,   81,    6,   81,    6,   81,    6,   81,
00508         6,   81,    6,   81,    6,   81,    6,   81,    6,   23,
00509        81,    6,   81,    6,   81,    6,   81,    6,   81,    6,
00510        81,    6,   81,    6,   81,   81,   30,   81,   81,   13,
00511        81,   81,   81,   48,   81,   81,   67,   81,   81,   50,
00512        81,   81,   81,   21,   81,   81,   81,   81,   81,   60,
00513        61,   62,   63,   64,   12,   81,   34,   81,   81,   81,
00514        81,   81,   49,   81,   81,   23,   23,   81,   81,   81,
00515        81,   81,   81,   81,   81,    5,    5,   81,    5,   30,
00516 
00517        81,    5,    5,   81,    5,   13,   81,    5,   81,    5,
00518        81,    5,   48,   81,    5,   81,    5,    5,   67,   81,
00519         5,   81,    5,   50,   81,    5,   81,    5,   81,    5,
00520        21,   81,    5,   81,    5,    5,   81,    5,   81,    5,
00521         5,    5,   81,    5,   60,    5,   61,    5,   62,    5,
00522        63,    5,   64,    5,   12,   81,    5,    5,   34,   81,
00523         5,   81,    5,   81,    5,   81,    5,   81,    5,   49,
00524        81,    5,   81,    5,   23,    5,   23,   81,    5,   81,
00525         5,   81,    5,   81,    5,   81,    5,   81,    5,   81,
00526         5,   81,   80,   80,   81,   30,   80,   81,   80,   80,
00527 
00528        81,   13,   80,   81,   80,   81,   80,   81,   48,   80,
00529        81,   80,   81,   80,   67,   80,   81,   80,   81,   50,
00530        80,   81,   80,   81,   80,   81,   21,   80,   81,   80,
00531        81,   80,   80,   81,   80,   81,   80,   80,   81,   60,
00532        80,   61,   80,   62,   80,   63,   80,   64,   80,   12,
00533        80,   81,   80,   34,   80,   81,   80,   81,   80,   81,
00534        80,   81,   80,   81,   49,   80,   81,   80,   81,   23,
00535        80,   23,   80,   81,   80,   81,   80,   81,   80,   81,
00536        80,   81,   80,   81,   80,   81,   80,   81,   79,   79,
00537        81,   30,   79,   81,   79,   79,   81,   13,   79,   81,
00538 
00539        79,   81,   79,   81,   48,   79,   81,   79,   81,   79,
00540        67,   79,   81,   79,   81,   50,   79,   81,   79,   81,
00541        79,   81,   21,   79,   81,   79,   81,   79,   79,   81,
00542        79,   81,   79,   79,   79,   81,   60,   79,   61,   79,
00543        62,   79,   63,   79,   64,   79,   12,   79,   81,   79,
00544        34,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00545        81,   49,   79,   81,   79,   81,   23,   79,   23,   79,
00546        81,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00547        81,   79,   81,   79,   81,    9,    8,   81,    6,    6,
00548        81,    6,   30,   81,    6,    6,   81,    6,   13,   81,
00549 
00550         6,   81,    6,   81,    6,   48,   81,    6,   81,    6,
00551         6,   67,   81,    6,   81,    6,   50,   81,    6,   81,
00552         6,   81,    6,   21,   81,    6,   81,    6,    6,   81,
00553         6,   81,    6,    6,    6,   81,    6,   60,    6,   61,
00554         6,   62,    6,   63,    6,   64,    6,   12,   81,    6,
00555         6,   34,   81,    6,   81,    6,   81,    6,   81,    6,
00556        81,    6,   49,   81,    6,   81,    6,   23,    6,   23,
00557        81,    6,   81,    6,   81,    6,   81,    6,   81,    6,
00558        81,    6,   81,    6,   81,   81,   81,   81,   81,   81,
00559        69,   81,   81,   81,   81,   81,   81,   81,   81,   81,
00560 
00561        81,   81,   81,   81,   81,   81,   68,   81,   81,   81,
00562        81,   73,   81,   81,   81,    5,    5,   81,    5,    5,
00563         5,   81,    5,   81,    5,   81,    5,   81,    5,   69,
00564        81,    5,   81,    5,   81,    5,    5,    5,   81,    5,
00565         5,   81,    5,   81,    5,   81,    5,    5,   81,    5,
00566        81,    5,    5,    5,   81,    5,    5,    5,   81,    5,
00567        81,    5,   81,    5,   81,    5,   81,    5,   68,   81,
00568         5,   81,    5,   81,    5,   81,    5,   73,   81,    5,
00569        81,    5,   81,   80,   80,   81,   80,   80,   80,   81,
00570        80,   81,   80,   81,   80,   81,   69,   80,   81,   80,
00571 
00572        81,   80,   81,   80,   80,   80,   81,   80,   80,   81,
00573        80,   81,   80,   81,   80,   80,   81,   80,   81,   80,
00574        80,   81,   80,   80,   80,   81,   80,   81,   80,   81,
00575        80,   81,   80,   81,   68,   80,   81,   80,   81,   80,
00576        81,   80,   81,   73,   80,   81,   80,   81,   80,   81,
00577        79,   79,   81,   79,   79,   79,   81,   79,   81,   79,
00578        81,   79,   81,   69,   79,   81,   79,   81,   79,   81,
00579        79,   79,   79,   81,   79,   79,   81,   79,   81,   79,
00580        81,   79,   79,   81,   79,   81,   79,   79,   79,   81,
00581        79,   79,   79,   81,   79,   81,   79,   81,   79,   81,
00582 
00583        79,   81,   68,   79,   81,   79,   81,   79,   81,   79,
00584        81,   73,   79,   81,   79,   81,   79,   81,    6,    6,
00585        81,    6,    6,    6,   81,    6,   81,    6,   81,    6,
00586        81,    6,   69,   81,    6,   81,    6,   81,    6,    6,
00587         6,   81,    6,    6,   81,    6,   81,    6,   81,    6,
00588         6,   81,    6,   81,    6,    6,    6,   81,    6,    6,
00589         6,   81,    6,   81,    6,   81,    6,   81,    6,   81,
00590         6,   68,   81,    6,   81,    6,   81,    6,   81,    6,
00591        73,   81,    6,   81,    6,   81,   35,   22,   81,   81,
00592        81,   81,   81,   81,   81,   81,   71,   81,   81,   81,
00593 
00594        40,   81,   33,   81,   18,   81,   81,   19,   81,   81,
00595        81,   46,   81,   81,   81,   81,    5,   35,    5,   22,
00596        81,    5,    5,    5,    5,   81,    5,   81,    5,   81,
00597         5,   81,    5,   81,    5,   81,    5,   81,    5,   71,
00598         5,    5,   81,    5,    5,   81,    5,    5,    5,    5,
00599        81,    5,   40,   81,    5,    5,    5,    5,    5,    5,
00600        33,   81,    5,   18,   81,    5,    5,   81,    5,   19,
00601        81,    5,    5,   81,    5,   81,    5,   46,   81,    5,
00602        81,    5,   81,    5,   81,   35,   80,   22,   80,   81,
00603        80,   80,   80,   80,   81,   80,   81,   80,   81,   80,
00604 
00605        81,   80,   81,   80,   81,   80,   81,   71,   80,   80,
00606        80,   81,   80,   80,   81,   80,   80,   80,   80,   81,
00607        40,   80,   81,   80,   80,   80,   80,   33,   80,   81,
00608        18,   80,   81,   80,   80,   81,   19,   80,   81,   80,
00609        81,   80,   81,   46,   80,   81,   80,   81,   80,   81,
00610        80,   81,   35,   79,   22,   79,   81,   79,   79,   79,
00611        79,   81,   79,   81,   79,   81,   79,   81,   79,   81,
00612        79,   81,   79,   81,   71,   79,   79,   79,   81,   79,
00613        79,   81,   79,   79,   79,   79,   81,   40,   79,   81,
00614        79,   79,   79,   79,   79,   33,   79,   81,   18,   79,
00615 
00616        81,   79,   79,   81,   19,   79,   81,   79,   79,   81,
00617        79,   81,   46,   79,   81,   79,   81,   79,   81,   79,
00618        81,    6,   35,    6,   22,   81,    6,    6,    6,    6,
00619        81,    6,   81,    6,   81,    6,   81,    6,   81,    6,
00620        81,    6,   81,    6,   71,    6,    6,   81,    6,    6,
00621        81,    6,    6,    6,    6,   81,    6,   40,   81,    6,
00622         6,    6,    6,    6,    6,   33,   81,    6,   18,   81,
00623         6,    6,   81,    6,   19,   81,    6,    6,   81,    6,
00624        81,    6,   46,   81,    6,   81,    6,   81,    6,   81,
00625        81,   81,   81,   81,   15,   81,   81,   66,   81,   43,
00626 
00627        81,   81,   81,   81,   45,   81,   81,   81,   81,   81,
00628         5,    5,    5,    5,   81,    5,   81,    5,   81,    5,
00629        81,    5,   15,   81,    5,    5,   81,    5,   66,   81,
00630         5,    5,   43,   81,    5,    5,   81,    5,    5,    5,
00631         5,   81,    5,    5,    5,    5,    5,    5,    5,   81,
00632         5,    5,   45,   81,    5,   81,    5,   81,    5,   81,
00633         5,   81,   80,   80,   80,   80,   81,   80,   81,   80,
00634        81,   80,   81,   15,   80,   81,   80,   80,   81,   66,
00635        80,   81,   80,   43,   80,   81,   80,   80,   81,   80,
00636        80,   80,   80,   81,   80,   80,   80,   80,   80,   80,
00637 
00638        81,   45,   80,   81,   80,   81,   80,   81,   80,   81,
00639        80,   81,   79,   79,   79,   79,   81,   79,   81,   79,
00640        81,   79,   81,   15,   79,   81,   79,   79,   81,   66,
00641        79,   81,   79,   43,   79,   81,   79,   79,   81,   79,
00642        79,   79,   79,   81,   79,   79,   79,   79,   79,   79,
00643        79,   81,   79,   45,   79,   81,   79,   81,   79,   81,
00644        79,   81,   79,   81,    6,    6,    6,    6,   81,    6,
00645        81,    6,   81,    6,   81,    6,   15,   81,    6,    6,
00646        81,    6,   66,   81,    6,    6,   43,   81,    6,    6,
00647        81,    6,    6,    6,    6,   81,    6,    6,    6,    6,
00648 
00649         6,    6,    6,   81,    6,    6,   45,   81,    6,   81,
00650         6,   81,    6,   81,    6,   81,   81,   81,   81,   14,
00651        81,   81,   81,   81,   72,   81,   81,   44,   81,   20,
00652        81,   29,   81,   81,    5,    5,    5,    5,   81,    5,
00653        81,    5,   81,    5,   14,   81,    5,    5,    5,    5,
00654        81,    5,   81,    5,   81,    5,   72,    5,    5,    5,
00655        81,    5,    5,    5,    5,   81,    5,    5,    5,    5,
00656         5,    5,    5,    5,    5,   44,   81,    5,   20,   81,
00657         5,   29,   81,    5,   81,   80,   80,   80,   80,   81,
00658        80,   81,   80,   81,   14,   80,   81,   80,   80,   80,
00659 
00660        80,   81,   80,   81,   80,   81,   72,   80,   80,   80,
00661        80,   81,   80,   80,   80,   80,   81,   80,   80,   80,
00662        80,   80,   80,   44,   80,   81,   20,   80,   81,   29,
00663        80,   81,   80,   81,   79,   79,   79,   79,   81,   79,
00664        81,   79,   81,   14,   79,   81,   79,   79,   79,   79,
00665        81,   79,   81,   79,   81,   72,   79,   79,   79,   79,
00666        81,   79,   79,   79,   79,   81,   79,   79,   79,   79,
00667        79,   79,   79,   79,   44,   79,   81,   20,   79,   81,
00668        29,   79,   81,   79,   81,    6,    6,    6,    6,   81,
00669         6,   81,    6,   81,    6,   14,   81,    6,    6,    6,
00670 
00671         6,   81,    6,   81,    6,   81,    6,   72,    6,    6,
00672         6,   81,    6,    6,    6,    6,   81,    6,    6,    6,
00673         6,    6,    6,    6,    6,    6,   44,   81,    6,   20,
00674        81,    6,   29,   81,    6,   81,   81,   81,   81,   81,
00675        81,   81,   81,   81,   17,   81,    5,    5,    5,    5,
00676        81,    5,   81,    5,   81,    5,    5,    5,    5,    5,
00677        81,    5,   81,    5,   81,    5,   81,    5,    5,    5,
00678         5,    5,    5,    5,   81,    5,    5,    5,    5,    5,
00679         5,    5,    5,    5,   17,   81,   80,   80,   80,   80,
00680        81,   80,   81,   80,   81,   80,   80,   80,   80,   80,
00681 
00682        81,   80,   81,   80,   81,   80,   81,   80,   80,   80,
00683        80,   80,   80,   80,   81,   80,   80,   80,   80,   80,
00684        80,   17,   80,   81,   79,   79,   79,   79,   81,   79,
00685        81,   79,   81,   79,   79,   79,   79,   79,   81,   79,
00686        81,   79,   81,   79,   81,   79,   79,   79,   79,   79,
00687        79,   79,   81,   79,   79,   79,   79,   79,   79,   79,
00688        79,   17,   79,   81,    6,    6,    6,    6,   81,    6,
00689        81,    6,   81,    6,    6,    6,    6,    6,   81,    6,
00690        81,    6,   81,    6,   81,    6,    6,    6,    6,    6,
00691         6,    6,   81,    6,    6,    6,    6,    6,    6,    6,
00692 
00693         6,    6,   17,   81,   59,   81,   81,   59,   81,   81,
00694        81,   81,   81,   42,   28,   81,   24,   25,   32,    5,
00695         5,    5,   59,    5,   81,    5,   81,    5,   59,   81,
00696         5,    5,    5,    5,    5,   81,    5,   81,    5,   81,
00697         5,   81,    5,    5,    5,    5,    5,    5,   42,    5,
00698        28,   81,    5,   24,    5,   25,    5,    5,    5,   32,
00699         5,    5,    5,    5,   80,   80,   59,   80,   80,   81,
00700        80,   81,   59,   80,   81,   80,   80,   80,   80,   80,
00701        81,   80,   81,   80,   81,   80,   81,   80,   80,   80,
00702        80,   80,   42,   80,   28,   80,   81,   25,   80,   80,
00703 
00704        80,   32,   80,   80,   80,   80,   79,   79,   59,   79,
00705        79,   81,   79,   81,   59,   79,   81,   79,   79,   79,
00706        79,   79,   81,   79,   81,   79,   81,   79,   81,   79,
00707        79,   79,   79,   79,   42,   79,   28,   79,   81,   24,
00708        79,   25,   79,   79,   79,   32,   79,   79,   79,   79,
00709        79,    6,    6,    6,   59,    6,   81,    6,   81,    6,
00710        59,   81,    6,    6,    6,    6,    6,   81,    6,   81,
00711         6,   81,    6,   81,    6,    6,    6,    6,    6,    6,
00712        42,    6,   28,   81,    6,   24,    6,   25,    6,    6,
00713         6,   32,    6,    6,    6,    6,   57,   57,   81,   81,
00714 
00715        81,   81,   81,   81,   51,   65,   47,    5,   57,    5,
00716         5,   57,   81,    5,   81,    5,    5,    5,    5,    5,
00717        81,    5,   81,    5,   81,    5,   81,    5,    5,   51,
00718         5,    5,    5,    5,    5,   65,    5,    5,    5,   47,
00719         5,    5,   57,   80,   80,   57,   80,   81,   80,   81,
00720        80,   80,   80,   80,   80,   81,   80,   81,   80,   81,
00721        80,   81,   80,   51,   80,   80,   80,   80,   80,   65,
00722        80,   80,   80,   80,   80,   57,   79,   79,   57,   79,
00723        81,   79,   81,   79,   79,   79,   79,   79,   81,   79,
00724        81,   79,   81,   79,   81,   79,   51,   79,   79,   79,
00725 
00726        79,   79,   65,   79,   79,   79,   47,   79,   79,   79,
00727         6,   57,    6,    6,   57,   81,    6,   81,    6,    6,
00728         6,    6,    6,   81,    6,   81,    6,   81,    6,   81,
00729         6,    6,   51,    6,    6,    6,    6,    6,   65,    6,
00730         6,    6,   47,    6,    6,   81,   81,   81,   81,   81,
00731         5,    5,   81,    5,    5,    5,    5,    5,   81,    5,
00732        81,    5,   81,    5,   81,    5,    5,    5,    5,    5,
00733         5,    5,    5,    5,   80,   80,   81,   80,   80,   80,
00734        80,   80,   81,   80,   81,   80,   81,   80,   81,   80,
00735        80,   80,   80,   80,   80,   80,   80,   80,   79,   79,
00736 
00737        81,   79,   79,   79,   79,   79,   81,   79,   81,   79,
00738        81,   79,   81,   79,   79,   79,   79,   79,   79,   79,
00739        79,   79,    6,    6,   81,    6,    6,    6,    6,    6,
00740        81,    6,   81,    6,   81,    6,   81,    6,    6,    6,
00741         6,    6,    6,    6,    6,    6,   58,   58,   81,   56,
00742        81,   81,   81,   56,   81,   26,   38,    5,   58,    5,
00743        58,   81,    5,    5,    5,    5,   56,    5,   81,    5,
00744        81,    5,   81,    5,   56,   81,    5,    5,    5,    5,
00745         5,    5,    5,   26,    5,   38,    5,   58,   80,   58,
00746        80,   81,   80,   80,   80,   56,   80,   80,   81,   80,
00747 
00748        81,   80,   81,   56,   80,   81,   80,   80,   80,   80,
00749        80,   80,   26,   80,   38,   80,   80,   58,   79,   58,
00750        79,   81,   79,   79,   79,   56,   79,   79,   81,   79,
00751        81,   79,   81,   56,   79,   81,   79,   79,   79,   79,
00752        79,   79,   26,   79,   38,   79,   79,    6,   58,    6,
00753        58,   81,    6,    6,    6,    6,   56,    6,   81,    6,
00754        81,    6,   81,    6,   56,   81,    6,    6,    6,    6,
00755         6,    6,    6,   26,    6,   38,    6,   53,   81,   53,
00756        81,   81,    5,    5,   53,    5,    5,   81,    5,   53,
00757        81,    5,   81,    5,    5,    5,    5,    5,    5,    5,
00758 
00759        80,   53,   80,   80,   80,   81,   53,   80,   81,   80,
00760        81,   80,   80,   80,   80,   80,   80,   80,   79,   53,
00761        79,   79,   79,   81,   53,   79,   81,   79,   81,   79,
00762        79,   79,   79,   79,   79,   79,    6,    6,   53,    6,
00763         6,   81,    6,   53,   81,    6,   81,    6,    6,    6,
00764         6,    6,    6,    6,   81,   81,    5,    5,    5,    5,
00765        81,    5,   81,    5,    5,    5,    5,    5,    5,    5,
00766        80,   80,   80,   80,   81,   80,   81,   80,   80,   80,
00767        80,   80,   80,   80,   79,   79,   79,   79,   81,   79,
00768        81,   79,   79,   79,   79,   79,   79,   79,    6,    6,
00769 
00770         6,    6,   81,    6,   81,    6,    6,    6,    6,    6,
00771         6,    6,   55,   81,   55,   81,   41,   31,    5,    5,
00772         5,   55,    5,   81,    5,   55,   81,    5,    5,    5,
00773         5,    5,   41,    5,    5,   31,   80,   80,   55,   80,
00774        80,   81,   55,   80,   81,   80,   80,   80,   80,   41,
00775        80,   80,   31,   80,   79,   79,   55,   79,   79,   81,
00776        55,   79,   81,   79,   79,   79,   79,   41,   79,   79,
00777        31,   79,    6,    6,    6,   55,    6,   81,    6,   55,
00778        81,    6,    6,    6,    6,    6,   41,    6,    6,   31,
00779        52,   52,   81,   16,    5,   52,    5,    5,   52,   81,
00780 
00781         5,    5,   16,    5,    5,    5,   52,   80,   80,   52,
00782        80,   81,   80,   16,   80,   80,   80,   80,   52,   79,
00783        79,   52,   79,   81,   79,   16,   79,   79,   79,   79,
00784         6,   52,    6,    6,   52,   81,    6,    6,   16,    6,
00785         6,    6,    5,    5,    5,    5,    5,   80,   80,   80,
00786        80,   80,   79,   79,   79,   79,   79,    6,    6,    6,
00787         6,    6,   27,   36,    5,    5,   27,    5,   36,    5,
00788         5,   80,   27,   80,   36,   80,   80,   80,   79,   27,
00789        79,   36,   79,   79,   79,    6,    6,   27,    6,   36,
00790         6,    6,   37,    5,    5,   37,    5,   80,   37,   80,
00791 
00792        80,   79,   37,   79,   79,    6,    6,   37,    6,    5,
00793         5,   80,   80,   79,   79,    6,    6,    5,    5,   80,
00794        80,   79,   79,    6,    6,   54,   39,    5,   54,    5,
00795        39,   54,   80,   39,   80,   54,   79,   39,   79,    6,
00796        54,    6,   39
00797     } ;
00798 
00799 static yyconst flex_int16_t yy_accept[2438] =
00800     {   0,
00801         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00802         1,    1,    1,    1,    1,    1,    1,    1,    1,    2,
00803         3,    3,    5,    6,    8,   11,   13,   15,   17,   20,
00804        23,   26,   29,   32,   35,   38,   41,   44,   47,   50,
00805        53,   56,   59,   62,   65,   68,   71,   74,   77,   80,
00806        83,   86,   89,   93,   96,   99,  103,  107,  111,  115,
00807       119,  123,  127,  131,  135,  139,  143,  147,  151,  155,
00808       159,  163,  167,  171,  175,  179,  183,  187,  191,  193,
00809       197,  201,  205,  209,  213,  217,  221,  225,  229,  233,
00810       237,  241,  245,  249,  253,  257,  261,  265,  269,  273,
00811 
00812       277,  281,  284,  288,  291,  294,  297,  301,  305,  309,
00813       313,  317,  321,  325,  329,  333,  337,  341,  345,  349,
00814       353,  357,  361,  365,  369,  373,  377,  381,  385,  389,
00815       391,  395,  399,  403,  407,  411,  415,  419,  423,  427,
00816       431,  434,  438,  442,  446,  450,  454,  458,  462,  466,
00817       470,  474,  478,  482,  486,  490,  494,  498,  502,  506,
00818       510,  514,  518,  522,  525,  529,  533,  534,  537,  539,
00819       540,  541,  542,  542,  543,  543,  544,  545,  546,  547,
00820       548,  549,  550,  551,  552,  553,  554,  555,  556,  558,
00821       559,  560,  561,  562,  563,  564,  565,  566,  567,  568,
00822 
00823       569,  570,  571,  572,  573,  574,  575,  576,  577,  578,
00824       579,  580,  581,  583,  584,  586,  587,  589,  591,  593,
00825       595,  597,  599,  601,  603,  605,  607,  609,  611,  613,
00826       616,  618,  620,  622,  624,  626,  628,  630,  632,  634,
00827       636,  638,  640,  642,  644,  646,  648,  650,  652,  654,
00828       656,  658,  660,  660,  662,  664,  665,  666,  668,  670,
00829       672,  674,  676,  678,  680,  682,  684,  686,  688,  690,
00830       692,  695,  697,  699,  701,  703,  705,  707,  709,  711,
00831       713,  715,  717,  719,  721,  723,  725,  727,  729,  731,
00832       733,  735,  736,  738,  740,  741,  743,  745,  747,  749,
00833 
00834       751,  753,  755,  757,  759,  761,  763,  765,  767,  770,
00835       772,  774,  776,  778,  780,  782,  784,  786,  788,  790,
00836       792,  794,  796,  798,  800,  802,  804,  806,  808,  810,
00837       812,  812,  812,  814,  816,  817,  819,  821,  823,  825,
00838       826,  828,  829,  831,  833,  835,  837,  839,  841,  843,
00839       845,  847,  849,  851,  853,  855,  858,  860,  862,  864,
00840       866,  868,  870,  872,  874,  876,  878,  880,  882,  884,
00841       886,  888,  890,  892,  894,  896,  898,  900,  902,  904,
00842       905,  905,  906,  906,  907,  908,  909,  910,  911,  912,
00843       913,  914,  915,  916,  917,  918,  919,  920,  921,  922,
00844 
00845       923,  924,  925,  926,  927,  928,  929,  930,  931,  932,
00846       933,  934,  936,  937,  938,  939,  940,  941,  942,  943,
00847       945,  946,  948,  950,  952,  954,  956,  958,  960,  962,
00848       964,  966,  968,  970,  972,  974,  976,  978,  980,  982,
00849       984,  986,  988,  990,  992,  994,  996,  998, 1000, 1002,
00850      1005, 1007, 1009, 1011, 1013, 1015, 1017, 1019, 1021, 1022,
00851      1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040, 1042,
00852      1044, 1046, 1048, 1050, 1052, 1054, 1056, 1058, 1060, 1062,
00853      1064, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1081, 1083,
00854      1085, 1087, 1089, 1091, 1093, 1095, 1096, 1098, 1100, 1102,
00855 
00856      1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122,
00857      1124, 1126, 1128, 1130, 1132, 1134, 1136, 1138, 1140, 1142,
00858      1144, 1146, 1148, 1150, 1152, 1155, 1157, 1159, 1161, 1163,
00859      1165, 1167, 1169, 1170, 1172, 1173, 1175, 1177, 1179, 1181,
00860      1183, 1185, 1187, 1189, 1191, 1193, 1195, 1197, 1199, 1201,
00861      1203, 1205, 1207, 1209, 1211, 1213, 1215, 1217, 1219, 1221,
00862      1223, 1225, 1227, 1229, 1232, 1234, 1236, 1238, 1240, 1242,
00863      1244, 1246, 1246, 1247, 1249, 1249, 1250, 1252, 1253, 1254,
00864      1256, 1257, 1257, 1259, 1260, 1262, 1263, 1264, 1266, 1267,
00865      1267, 1268, 1269, 1269, 1269, 1270, 1271, 1272, 1273, 1274,
00866 
00867      1275, 1277, 1277, 1279, 1280, 1281, 1282, 1283, 1285, 1286,
00868      1287, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297,
00869      1299, 1302, 1303, 1305, 1308, 1310, 1312, 1315, 1317, 1318,
00870      1321, 1323, 1326, 1328, 1330, 1333, 1335, 1336, 1338, 1340,
00871      1341, 1342, 1344, 1346, 1348, 1350, 1352, 1354, 1357, 1358,
00872      1361, 1363, 1365, 1367, 1369, 1372, 1374, 1376, 1379, 1381,
00873      1383, 1385, 1387, 1389, 1391, 1393, 1394, 1396, 1399, 1400,
00874      1402, 1405, 1407, 1409, 1412, 1414, 1415, 1418, 1420, 1423,
00875      1425, 1427, 1430, 1432, 1433, 1435, 1437, 1438, 1440, 1442,
00876      1444, 1446, 1448, 1450, 1453, 1454, 1457, 1459, 1461, 1463,
00877 
00878      1465, 1468, 1470, 1472, 1475, 1477, 1479, 1481, 1483, 1485,
00879      1487, 1489, 1490, 1492, 1495, 1496, 1498, 1501, 1503, 1505,
00880      1508, 1510, 1511, 1514, 1516, 1519, 1521, 1523, 1526, 1528,
00881      1529, 1531, 1533, 1534, 1535, 1537, 1539, 1541, 1543, 1545,
00882      1547, 1550, 1551, 1554, 1556, 1558, 1560, 1562, 1565, 1567,
00883      1569, 1572, 1574, 1576, 1578, 1580, 1582, 1584, 1586, 1587,
00884      1589, 1590, 1592, 1595, 1596, 1598, 1601, 1603, 1605, 1608,
00885      1610, 1611, 1614, 1616, 1619, 1621, 1623, 1626, 1628, 1629,
00886      1631, 1633, 1634, 1635, 1637, 1639, 1641, 1643, 1645, 1647,
00887      1650, 1651, 1654, 1656, 1658, 1660, 1662, 1665, 1667, 1669,
00888 
00889      1672, 1674, 1676, 1678, 1680, 1682, 1684, 1686, 1686, 1687,
00890      1687, 1687, 1688, 1689, 1690, 1691, 1693, 1694, 1695, 1695,
00891      1695, 1696, 1696, 1697, 1698, 1699, 1699, 1700, 1701, 1701,
00892      1701, 1702, 1702, 1702, 1703, 1704, 1705, 1706, 1707, 1709,
00893      1710, 1711, 1712, 1714, 1715, 1716, 1717, 1719, 1720, 1721,
00894      1723, 1725, 1727, 1729, 1732, 1734, 1736, 1737, 1738, 1740,
00895      1741, 1743, 1745, 1747, 1748, 1750, 1752, 1753, 1754, 1756,
00896      1757, 1758, 1760, 1762, 1764, 1766, 1768, 1771, 1773, 1775,
00897      1777, 1780, 1782, 1784, 1785, 1787, 1788, 1789, 1791, 1793,
00898      1795, 1797, 1800, 1802, 1804, 1805, 1806, 1808, 1809, 1811,
00899 
00900      1813, 1815, 1816, 1818, 1820, 1821, 1823, 1824, 1825, 1827,
00901      1829, 1831, 1833, 1835, 1838, 1840, 1842, 1844, 1847, 1849,
00902      1851, 1852, 1854, 1855, 1856, 1858, 1860, 1862, 1864, 1867,
00903      1869, 1871, 1872, 1873, 1875, 1876, 1878, 1880, 1882, 1883,
00904      1885, 1887, 1888, 1889, 1891, 1892, 1893, 1895, 1897, 1899,
00905      1901, 1903, 1906, 1908, 1910, 1912, 1915, 1917, 1919, 1920,
00906      1922, 1923, 1924, 1926, 1928, 1930, 1932, 1935, 1937, 1939,
00907      1940, 1941, 1943, 1944, 1946, 1948, 1950, 1951, 1953, 1955,
00908      1956, 1957, 1959, 1960, 1961, 1963, 1965, 1967, 1969, 1971,
00909      1974, 1976, 1978, 1980, 1983, 1985, 1987, 1988, 1990, 1990,
00910 
00911      1990, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
00912      1998, 1999, 1999, 2000, 2000, 2000, 2000, 2001, 2003, 2003,
00913      2003, 2003, 2003, 2003, 2005, 2007, 2007, 2008, 2010, 2010,
00914      2011, 2012, 2014, 2015, 2016, 2017, 2019, 2022, 2023, 2024,
00915      2025, 2027, 2029, 2031, 2033, 2035, 2037, 2039, 2041, 2042,
00916      2044, 2045, 2047, 2048, 2049, 2050, 2052, 2055, 2056, 2057,
00917      2058, 2059, 2060, 2063, 2066, 2067, 2069, 2072, 2073, 2075,
00918      2077, 2080, 2082, 2084, 2086, 2088, 2091, 2092, 2093, 2094,
00919      2096, 2098, 2100, 2102, 2104, 2106, 2108, 2110, 2111, 2113,
00920      2114, 2116, 2117, 2118, 2119, 2121, 2124, 2125, 2126, 2127,
00921 
00922      2128, 2131, 2134, 2135, 2137, 2140, 2142, 2144, 2147, 2149,
00923      2151, 2153, 2155, 2158, 2159, 2160, 2161, 2163, 2165, 2167,
00924      2169, 2171, 2173, 2175, 2177, 2178, 2180, 2181, 2183, 2184,
00925      2185, 2186, 2188, 2191, 2192, 2193, 2194, 2195, 2196, 2199,
00926      2202, 2203, 2205, 2208, 2209, 2211, 2213, 2216, 2218, 2220,
00927      2222, 2224, 2227, 2228, 2229, 2230, 2232, 2234, 2236, 2238,
00928      2240, 2242, 2244, 2246, 2247, 2249, 2250, 2252, 2253, 2254,
00929      2255, 2257, 2260, 2261, 2262, 2263, 2264, 2265, 2268, 2271,
00930      2272, 2274, 2277, 2278, 2280, 2282, 2285, 2287, 2289, 2291,
00931      2291, 2291, 2291, 2292, 2293, 2294, 2295, 2297, 2297, 2298,
00932 
00933      2300, 2300, 2302, 2302, 2303, 2303, 2303, 2303, 2304, 2304,
00934      2304, 2304, 2304, 2304, 2304, 2305, 2305, 2307, 2308, 2309,
00935      2310, 2311, 2312, 2313, 2314, 2316, 2318, 2320, 2322, 2325,
00936      2326, 2328, 2331, 2332, 2335, 2336, 2338, 2339, 2340, 2341,
00937      2343, 2344, 2345, 2346, 2347, 2348, 2349, 2351, 2352, 2355,
00938      2357, 2359, 2361, 2363, 2364, 2365, 2366, 2368, 2370, 2372,
00939      2374, 2377, 2378, 2380, 2383, 2384, 2387, 2388, 2390, 2391,
00940      2392, 2393, 2395, 2396, 2397, 2398, 2399, 2400, 2402, 2405,
00941      2407, 2409, 2411, 2413, 2414, 2415, 2416, 2418, 2420, 2422,
00942      2424, 2427, 2428, 2430, 2433, 2434, 2437, 2438, 2440, 2441,
00943 
00944      2442, 2443, 2445, 2446, 2447, 2448, 2449, 2450, 2451, 2453,
00945      2454, 2457, 2459, 2461, 2463, 2465, 2466, 2467, 2468, 2470,
00946      2472, 2474, 2476, 2479, 2480, 2482, 2485, 2486, 2489, 2490,
00947      2492, 2493, 2494, 2495, 2497, 2498, 2499, 2500, 2501, 2502,
00948      2503, 2505, 2506, 2509, 2511, 2513, 2515, 2517, 2517, 2517,
00949      2517, 2518, 2519, 2520, 2522, 2522, 2522, 2522, 2523, 2524,
00950      2525, 2526, 2526, 2526, 2527, 2527, 2527, 2527, 2528, 2528,
00951      2528, 2528, 2528, 2528, 2528, 2528, 2528, 2530, 2532, 2534,
00952      2535, 2536, 2537, 2538, 2540, 2542, 2544, 2547, 2548, 2549,
00953      2550, 2552, 2554, 2556, 2558, 2559, 2560, 2562, 2563, 2564,
00954 
00955      2565, 2567, 2568, 2569, 2570, 2571, 2572, 2573, 2574, 2575,
00956      2578, 2581, 2584, 2586, 2587, 2588, 2589, 2591, 2593, 2595,
00957      2598, 2599, 2600, 2601, 2603, 2605, 2607, 2609, 2610, 2611,
00958      2613, 2614, 2615, 2616, 2618, 2619, 2620, 2621, 2622, 2623,
00959      2624, 2627, 2630, 2633, 2635, 2636, 2637, 2638, 2640, 2642,
00960      2644, 2647, 2648, 2649, 2650, 2652, 2654, 2656, 2658, 2659,
00961      2660, 2662, 2663, 2664, 2665, 2667, 2668, 2669, 2670, 2671,
00962      2672, 2673, 2674, 2675, 2678, 2681, 2684, 2686, 2687, 2688,
00963      2689, 2691, 2693, 2695, 2698, 2699, 2700, 2701, 2703, 2705,
00964      2707, 2709, 2710, 2711, 2713, 2714, 2715, 2716, 2718, 2719,
00965 
00966      2720, 2721, 2722, 2723, 2724, 2725, 2726, 2729, 2732, 2735,
00967      2737, 2737, 2737, 2737, 2738, 2739, 2740, 2740, 2740, 2740,
00968      2740, 2741, 2742, 2743, 2744, 2744, 2744, 2744, 2744, 2744,
00969      2744, 2745, 2745, 2745, 2745, 2745, 2745, 2745, 2745, 2745,
00970      2747, 2748, 2749, 2750, 2752, 2754, 2756, 2757, 2758, 2759,
00971      2760, 2762, 2764, 2766, 2768, 2769, 2770, 2771, 2772, 2773,
00972      2774, 2776, 2777, 2778, 2779, 2780, 2781, 2782, 2783, 2784,
00973      2787, 2788, 2789, 2790, 2792, 2794, 2796, 2797, 2798, 2799,
00974      2800, 2802, 2804, 2806, 2808, 2809, 2810, 2811, 2812, 2813,
00975      2814, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2825, 2826,
00976 
00977      2827, 2828, 2830, 2832, 2834, 2835, 2836, 2837, 2838, 2840,
00978      2842, 2844, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2854,
00979      2855, 2856, 2857, 2858, 2859, 2860, 2861, 2862, 2865, 2866,
00980      2867, 2868, 2870, 2872, 2874, 2875, 2876, 2877, 2878, 2880,
00981      2882, 2884, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2894,
00982      2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902, 2905, 2905,
00983      2905, 2906, 2907, 2908, 2910, 2910, 2910, 2910, 2910, 2911,
00984      2912, 2913, 2914, 2914, 2914, 2914, 2914, 2914, 2915, 2917,
00985      2918, 2919, 2919, 2919, 2920, 2920, 2920, 2920, 2920, 2921,
00986      2922, 2924, 2926, 2928, 2931, 2932, 2933, 2934, 2935, 2937,
00987 
00988      2939, 2941, 2943, 2944, 2945, 2946, 2947, 2948, 2950, 2953,
00989      2955, 2957, 2958, 2959, 2961, 2962, 2963, 2964, 2965, 2966,
00990      2967, 2969, 2971, 2973, 2976, 2977, 2978, 2979, 2980, 2982,
00991      2984, 2986, 2988, 2989, 2990, 2991, 2992, 2993, 2995, 2998,
00992      3000, 3001, 3002, 3004, 3005, 3006, 3007, 3008, 3009, 3011,
00993      3013, 3015, 3018, 3019, 3020, 3021, 3022, 3024, 3026, 3028,
00994      3030, 3031, 3032, 3033, 3034, 3035, 3037, 3040, 3042, 3044,
00995      3045, 3046, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3056,
00996      3058, 3060, 3063, 3064, 3065, 3066, 3067, 3069, 3071, 3073,
00997      3075, 3076, 3077, 3078, 3079, 3080, 3082, 3085, 3087, 3089,
00998 
00999      3090, 3091, 3093, 3094, 3095, 3096, 3097, 3098, 3098, 3100,
01000      3101, 3101, 3101, 3101, 3101, 3102, 3103, 3104, 3105, 3105,
01001      3106, 3106, 3106, 3106, 3106, 3107, 3107, 3107, 3108, 3108,
01002      3108, 3110, 3111, 3114, 3116, 3117, 3118, 3119, 3120, 3122,
01003      3124, 3126, 3128, 3129, 3131, 3132, 3133, 3134, 3135, 3137,
01004      3138, 3139, 3141, 3142, 3143, 3145, 3146, 3149, 3151, 3152,
01005      3153, 3154, 3155, 3157, 3159, 3161, 3163, 3164, 3166, 3167,
01006      3168, 3169, 3170, 3172, 3173, 3174, 3175, 3176, 3178, 3179,
01007      3182, 3184, 3185, 3186, 3187, 3188, 3190, 3192, 3194, 3196,
01008      3197, 3199, 3200, 3201, 3202, 3203, 3205, 3206, 3207, 3209,
01009 
01010      3210, 3211, 3213, 3214, 3217, 3219, 3220, 3221, 3222, 3223,
01011      3225, 3227, 3229, 3231, 3232, 3234, 3235, 3236, 3237, 3238,
01012      3240, 3241, 3242, 3244, 3245, 3246, 3246, 3247, 3247, 3247,
01013      3247, 3247, 3248, 3249, 3250, 3251, 3251, 3251, 3251, 3251,
01014      3251, 3251, 3251, 3251, 3251, 3252, 3254, 3255, 3256, 3257,
01015      3258, 3260, 3262, 3264, 3266, 3267, 3268, 3269, 3270, 3271,
01016      3272, 3273, 3274, 3275, 3276, 3278, 3279, 3280, 3281, 3282,
01017      3284, 3286, 3288, 3290, 3291, 3292, 3293, 3294, 3295, 3296,
01018      3297, 3298, 3299, 3300, 3302, 3303, 3304, 3305, 3306, 3308,
01019      3310, 3312, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321,
01020 
01021      3322, 3323, 3324, 3326, 3327, 3328, 3329, 3330, 3332, 3334,
01022      3336, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3345, 3346,
01023      3347, 3348, 3350, 3350, 3350, 3350, 3351, 3352, 3353, 3354,
01024      3356, 3356, 3356, 3356, 3356, 3356, 3356, 3357, 3358, 3358,
01025      3360, 3363, 3364, 3365, 3366, 3368, 3370, 3372, 3374, 3377,
01026      3378, 3379, 3380, 3381, 3382, 3383, 3385, 3387, 3388, 3390,
01027      3393, 3394, 3395, 3396, 3398, 3400, 3402, 3404, 3407, 3408,
01028      3409, 3410, 3411, 3412, 3413, 3415, 3417, 3418, 3420, 3423,
01029      3424, 3425, 3426, 3428, 3430, 3432, 3434, 3437, 3438, 3439,
01030      3440, 3441, 3442, 3443, 3445, 3447, 3448, 3450, 3453, 3454,
01031 
01032      3455, 3456, 3458, 3460, 3462, 3464, 3467, 3468, 3469, 3470,
01033      3471, 3472, 3473, 3475, 3477, 3478, 3478, 3479, 3479, 3480,
01034      3482, 3483, 3483, 3483, 3483, 3483, 3483, 3483, 3483, 3484,
01035      3486, 3487, 3489, 3492, 3494, 3495, 3496, 3497, 3498, 3499,
01036      3500, 3501, 3502, 3504, 3505, 3507, 3510, 3512, 3513, 3514,
01037      3515, 3516, 3517, 3518, 3519, 3520, 3522, 3523, 3525, 3528,
01038      3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3540,
01039      3541, 3543, 3546, 3548, 3549, 3550, 3551, 3552, 3553, 3554,
01040      3555, 3555, 3555, 3555, 3556, 3557, 3557, 3557, 3557, 3557,
01041      3557, 3557, 3557, 3558, 3559, 3560, 3562, 3564, 3565, 3566,
01042 
01043      3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3576, 3578,
01044      3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588,
01045      3590, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600,
01046      3601, 3602, 3604, 3606, 3607, 3608, 3609, 3610, 3611, 3612,
01047      3613, 3613, 3613, 3614, 3615, 3617, 3617, 3617, 3617, 3617,
01048      3618, 3618, 3619, 3620, 3621, 3623, 3625, 3628, 3629, 3630,
01049      3631, 3632, 3634, 3635, 3637, 3638, 3639, 3641, 3643, 3646,
01050      3647, 3648, 3649, 3650, 3652, 3653, 3655, 3656, 3657, 3659,
01051      3661, 3664, 3665, 3666, 3667, 3668, 3670, 3671, 3673, 3674,
01052      3675, 3677, 3679, 3682, 3683, 3684, 3685, 3686, 3688, 3689,
01053 
01054      3691, 3692, 3692, 3694, 3694, 3695, 3695, 3695, 3695, 3697,
01055      3698, 3701, 3702, 3704, 3705, 3706, 3707, 3709, 3710, 3713,
01056      3714, 3716, 3717, 3718, 3719, 3721, 3722, 3725, 3726, 3728,
01057      3729, 3730, 3731, 3733, 3734, 3737, 3738, 3740, 3741, 3742,
01058      3743, 3743, 3743, 3743, 3743, 3743, 3744, 3745, 3746, 3747,
01059      3748, 3749, 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757,
01060      3758, 3759, 3760, 3761, 3762, 3763, 3763, 3764, 3765, 3765,
01061      3765, 3766, 3768, 3770, 3771, 3772, 3773, 3775, 3777, 3778,
01062      3779, 3780, 3782, 3784, 3785, 3786, 3787, 3789, 3791, 3792,
01063      3793, 3793, 3794, 3794, 3795, 3797, 3798, 3799, 3801, 3802,
01064 
01065      3803, 3805, 3806, 3807, 3809, 3810, 3810, 3810, 3811, 3812,
01066      3813, 3814, 3815, 3816, 3817, 3818, 3818, 3818, 3819, 3820,
01067      3821, 3822, 3823, 3824, 3825, 3826, 3827, 3828, 3830, 3832,
01068      3834, 3836, 3838, 3840, 3842, 3844, 3844
01069     } ;
01070 
01071 static yyconst flex_int32_t yy_ec[256] =
01072     {   0,
01073         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
01074         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
01075         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01076         1,    2,    1,    5,    6,    1,    1,    1,    1,    1,
01077         1,    1,    1,    1,    7,    1,    1,    8,    9,   10,
01078        11,   12,   13,    8,    8,    8,    8,    1,    1,    1,
01079         1,    1,    1,    1,   14,   15,   16,   17,   18,   19,
01080        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
01081        23,   30,   31,   32,   33,   34,   35,   36,   37,   38,
01082         1,    1,   39,    1,   40,    1,   41,   42,   43,   44,
01083 
01084        45,   46,   47,   48,   49,   23,   50,   51,   52,   53,
01085        54,   55,   23,   56,   57,   58,   59,   60,   61,   62,
01086        63,   64,    1,    1,    1,    1,    1,    1,    1,    1,
01087         1,    1,    1,   65,    1,    1,    1,    1,    1,    1,
01088         1,    1,    1,    1,    1,   66,    1,    1,    1,    1,
01089         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01090         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01091         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01092         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01093         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01094 
01095         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01096         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01097         1,    1,    1,    1,    1,   67,    1,    1,    1,    1,
01098         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01099         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
01100         1,    1,    1,    1,    1
01101     } ;
01102 
01103 static yyconst flex_int32_t yy_meta[68] =
01104     {   0,
01105         1,    2,    3,    1,    4,    1,    5,    6,    6,    6,
01106         6,    6,    6,    7,    7,    7,    7,    7,    7,    8,
01107         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
01108         8,    8,    8,    8,    8,    8,    8,    8,    1,    9,
01109         7,    7,    7,    7,    7,    7,    8,    8,    8,    8,
01110         8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
01111         8,    8,    8,    8,    1,    1,    1
01112     } ;
01113 
01114 static yyconst flex_int16_t yy_base[2476] =
01115     {   0,
01116         0,   66,   72,  138, 1218,  140,  146,  212,  218,  284,
01117       285,  286,  346,  287,  392,  289, 1183,  292, 1219,  294,
01118         0,   66, 1210,10191, 1172,10191, 1169,    0,  293,  311,
01119       276,  296,  316,  281,  272,  288,    0,  284,  443,  328,
01120       289,  443,  292,  321,  446,  460,  461,  332,  439,  309,
01121         0,    0, 1140, 1066,  138,  370,  503,  558,  625,  495,
01122       507,  558,  559,  455,  560,  626,  627,  628,  665,  563,
01123       666,  681,  722,  682,  683,  719,  326,    0,    0, 1062,
01124       529,  740,  788,  840,  882,  757,  730,  503,  758,  778,
01125       924,  812,  810,  851,  888,  846,  900,  967, 1012,  916,
01126 
01127       935,    0,  366,    0,    0, 1057,  649,  993, 1070, 1137,
01128      1070, 1002,  997, 1071,  485,  959, 1138, 1009, 1140, 1143,
01129      1142, 1184, 1191, 1232, 1202, 1217, 1235,  463,  478,  987,
01130       480,  814, 1078, 1283, 1289, 1319,  680,  559, 1282, 1030,
01131         0, 1105, 1345, 1394, 1447, 1394, 1238, 1193, 1369,  921,
01132      1422, 1448, 1347, 1450, 1472, 1452, 1484, 1496, 1537, 1368,
01133      1521, 1535,  483,10191, 1012,  549,10191,  212,10191, 1004,
01134       995,10191,  972, 1259,  473,    0,  493,  544,  549,  566,
01135      1323,  780,  598,  625,  633,  635, 1012,  656,    0,  681,
01136       686,  704,  747,  681,  790,  714,  732,  747,  778,  804,
01137 
01138       809,  833,  844,  844,  842,  841,  845,  847,  715,    0,
01139         0,    0,  964,  324, 1420,  862, 1346, 1530, 1532, 1553,
01140      1574, 1493, 1583, 1577, 1597, 1599, 1600, 1615, 1625, 1637,
01141      1638, 1647, 1648, 1658, 1663, 1678, 1662, 1687, 1692, 1703,
01142      1699, 1721, 1696, 1725, 1736, 1743, 1749, 1745, 1746,  812,
01143         0,    0,  954,  924, 1429,    0,  866, 1072, 1772, 1780,
01144      1781, 1789, 1827, 1826, 1827, 1841, 1849, 1861, 1904, 1884,
01145      1908, 1923, 1929, 1903, 1288, 1948, 1951, 1959, 1976, 1995,
01146      1999, 1984, 1993, 2027, 2039, 2041, 2048, 2041, 2073, 2078,
01147       906,    0,    0, 1471,  901, 1747, 1949, 2065, 2095, 2071,
01148 
01149      1769, 2105, 2119, 2096, 2121, 2133, 2149, 2150, 1860, 2159,
01150      2179, 2155, 2193, 2189, 2199, 2195, 2217, 2229, 2227, 2243,
01151      2242, 2249, 2253, 2265, 2255, 2281, 2267, 2279,  754,  917,
01152       859,  851,  974,  900,    0, 1075, 2288, 2296,  904,    0,
01153      1519,  915, 2310, 2319, 2324, 2340, 2344, 2326, 2365, 2364,
01154      2358, 2397, 2381, 2407, 2403, 2417, 2427, 2429, 2433, 2447,
01155      2451, 2457, 2453, 2475, 2487, 2485, 2501, 2500, 2507, 2511,
01156      2523, 2513, 2539, 2525, 2537,  925,  885,  988,  381,10191,
01157       862,10191,  912,  947,  944, 2597,  992,  960, 1011, 1018,
01158      1168, 1080, 1021, 1029, 1053, 1136, 1138, 1123, 1131, 1145,
01159 
01160       290, 1177, 2602,  816, 1172, 1192, 1230, 1245, 1254, 1292,
01161      1196, 2664, 1242, 1266, 1347, 1333, 1342, 1366, 1397,    0,
01162      1413, 2578, 2602, 2731, 2604, 2603, 2664, 2665, 2609, 2666,
01163      2667, 2678, 2671, 2731, 2733, 2735, 2732, 2738, 2779, 2780,
01164      2832, 2763, 2808, 2810, 2834, 2825, 2838, 2854, 2864, 2913,
01165      2888, 2890, 2850, 2914, 2786, 2913, 2924,10191, 1486, 2942,
01166      2944, 3002, 2941, 2999, 3003, 3004, 3030, 2969, 3057, 3020,
01167      3060, 3071, 3006, 3070, 3073, 3083, 3096, 3110, 3162, 3111,
01168      3141, 3163, 3176, 3177, 3137, 3194, 3215, 3264, 3239, 3262,
01169      3266, 3271, 3274, 3285, 3309, 1536, 3010, 3213, 3367, 3340,
01170 
01171      3368, 3369, 3371, 3381, 3386, 3058, 3422, 3117, 3382, 3426,
01172      3429, 3432, 3433, 3469, 3463, 3515, 3466, 3472, 3494, 3516,
01173      3517, 3520, 3518, 3559, 3608, 3583, 3558, 3581, 3611, 3613,
01174      3612, 3617,  792, 2126, 1538, 3541, 3628, 3682, 3682, 3683,
01175      3684, 3686, 3696, 3716, 3693, 3730, 3736, 3737, 3742, 3766,
01176      3746, 3762, 3790, 3780, 3832, 3779, 3833, 3811, 3835, 3834,
01177      3839, 3865, 3880, 3929, 3904, 3930, 3933, 3902, 3935, 3948,
01178      3942, 1366, 1426,    0, 1829, 1989, 2202, 1546, 1577,    0,
01179      1627, 1881,    0, 1634,  753, 1698, 1715,    0, 1491, 1719,
01180      1751, 1763, 1789, 1793, 1502,10191,10191,10191,10191,10191,
01181 
01182       734, 1809,    0, 1551, 1832, 1867, 1579,    0, 1677,    0,
01183      4006, 1865, 1878, 1898, 1920, 1928, 1948, 1918, 1956, 3979,
01184      3878, 2664, 4008, 4007, 4011, 4010, 4017, 4039, 2676, 4021,
01185      4060, 4062, 4064, 4063, 4065, 4103, 1997, 4069, 4067, 2005,
01186      2039, 4110,    0,    0,    0,    0,    0, 4113, 2046, 4115,
01187      4116, 4117, 4120, 4146, 4149, 4156,    0, 4205, 4205, 4180,
01188      4206, 4159, 4217, 4211, 4212, 1984, 4221, 4257, 3302, 4261,
01189      4257, 4266, 4299, 4301, 4305, 2845, 4320, 4329, 4337, 4343,
01190      4364, 4359, 4384, 2067, 4385, 4384, 2091, 4390,    0,    0,
01191         0,    0,    0, 4402, 2117, 4414, 4430, 4432, 4440, 4444,
01192 
01193      4456, 4458, 4507, 4574, 4490, 4499, 4476, 4488, 4514, 4520,
01194      4574, 2020, 4548, 4218, 3307, 4579, 4586, 4329, 4284, 4234,
01195      4577, 3191, 4608, 4620, 4610, 4622, 4633, 4634, 4644, 2153,
01196      4646, 4651, 2166, 2204, 4680,    0,    0,    0,    0,    0,
01197      4656, 2270, 4677, 4687, 4689, 4690, 4692, 4694, 4728,  774,
01198      4777, 4777, 4710, 4752, 4753, 4778, 4754, 4784,  683, 2367,
01199      2093, 4790, 4791, 3433, 4831, 4832, 4835, 4833, 4847, 4857,
01200      3629, 4856, 4869, 4871, 4885, 4900, 4886, 4901, 2275, 4907,
01201      4910, 2286, 2295, 4940,    0,    0,    0,    0,    0, 4933,
01202      2302, 4911, 4939, 4950, 4955, 4953, 4954, 4979, 5010, 5077,
01203 
01204      4976, 5005, 5017, 4964, 5018, 5004, 5016, 2332, 2357, 2373,
01205      3466, 2374, 3736, 2408, 2420,    0, 2445, 2465, 2172, 2320,
01206      2538, 2350, 2459,  644,  613, 2468, 2540, 2577, 2542, 2600,
01207       612, 2598, 2610, 2610, 2692,  571, 2732, 2736,    0, 5015,
01208      2640, 2742,    0, 2683, 2754, 2774, 5077, 2777, 3859, 5078,
01209      5080, 5100, 5098, 5109, 5123, 5124, 2717, 2792, 5126, 2793,
01210      5146, 5148, 5152, 2839, 5157, 5168, 2862, 2913, 5180, 2911,
01211      2908, 5182, 5186, 5200, 5202, 5212, 5214, 5238, 5240, 5245,
01212      5228, 5252, 5256, 2924, 5272, 2923, 4411, 5275, 5292, 5285,
01213      5295, 5306, 5312, 5322, 2915, 3025, 5327, 3051, 5347, 5353,
01214 
01215      5365, 3068, 5372, 5368, 3091, 5393, 3096, 3118, 5393, 5399,
01216      5420, 5413, 5419, 5438, 5466, 5438, 5460, 5479, 5494, 5479,
01217      3132, 5478, 3164, 5042, 5511, 5514, 5531, 5532, 5534, 5552,
01218      5564, 3170, 3187, 5557, 3245, 5574, 5580, 5585, 3241, 5589,
01219      5610, 3188, 3266, 5600, 3281, 3343, 5617, 5605, 5630, 5631,
01220      5642, 5643, 5660, 5659, 5663, 5672, 5701, 5685, 3291, 5684,
01221      3370, 5487, 5708, 5705, 5725, 5734, 5729, 5741, 5763, 3409,
01222      3415, 5762, 3448, 5745, 5766, 5778, 3446, 5767, 5787, 3388,
01223      3508, 5800, 3513, 3492, 5809, 5788, 5816, 5821, 5825, 5831,
01224      5841, 5847, 5854, 5853, 5857, 5870,10191,    0, 3563, 3626,
01225 
01226      3629, 3669, 3753, 3761, 3788, 3542, 5925, 3688,10191, 3768,
01227      3778, 3834, 3838, 3816, 3849, 3905, 3932,    0, 3856, 3945,
01228      3944, 3937, 3950,    0,    0, 3961, 4068,    0, 4090, 3992,
01229      4119,    0, 4051, 4126, 4182,    0, 5871, 4206, 4245, 4283,
01230      5899, 5925, 5902, 5936, 5946, 5998, 5932,    0, 4147, 5998,
01231      4267, 5948, 4319, 4320, 4352, 5999, 5945, 4440, 4445, 4473,
01232      4348, 4392, 5947, 6000, 4499, 6001, 6002, 4475, 6040, 6039,
01233      6046, 6053, 6055, 6056,    0, 6054, 4504, 4520, 4520, 6002,
01234      6084, 6095, 6099, 6100, 6155, 6145,    0, 4474, 6146, 4520,
01235      6159, 4558, 4575, 4537, 6163, 6171, 4594, 4626, 4688, 4700,
01236 
01237      6201, 6202, 4669, 6198, 6208, 6217, 6244, 6249, 6131, 6263,
01238      6266,    0, 6229, 4672, 4698, 4700, 6277, 6276, 6299, 6292,
01239      6302, 6354, 6328,    0, 4707, 6354, 4783, 6356, 4792, 4805,
01240      4803, 6358, 6359, 4851, 4852, 4884, 4801, 4910, 6374, 6376,
01241      4892, 6392, 6388, 4914, 6413, 6412, 6414, 6418, 6429, 6430,
01242         0, 6434, 4963, 5002, 5003, 6444, 6450, 6454, 6467, 6466,
01243      6518, 6492,    0, 4914, 6518, 5017, 6520, 5024, 5025, 5081,
01244      6522, 6472, 5058, 5081, 5134, 5122, 5157, 6523, 6538, 5159,
01245      6548, 6552, 5174, 6564, 6568, 6574, 6577, 6578, 6588, 5179,
01246      5219, 5201, 5231, 5252, 5230, 5264,    0, 6592, 6597,    0,
01247 
01248      5268,  566, 5269, 5294, 5288, 5323, 5345, 5405, 5462, 5480,
01249      5505, 5346, 5355, 5509,  563, 5352,    0, 5392, 5526, 5536,
01250      5416, 5557, 5581, 5452, 6600, 6614, 6626, 6632, 6631, 6643,
01251      6664, 6643, 5612, 6647, 5667, 6679, 5710, 5744, 5485, 6676,
01252      5859, 5873, 5919, 5527, 5545, 5923, 6681, 5611, 6690, 6713,
01253      6715, 6722, 6702, 5960, 6018, 5630, 6735, 6727, 6697, 6747,
01254      6761, 6767, 6813, 6773, 6049, 6775, 6047, 6813, 6078, 6079,
01255      5676, 6812, 6086, 6089, 5675, 5701, 6092, 6813, 6824, 6856,
01256      6855, 6856, 6874, 6125, 6153, 5723, 6875, 6877, 6880, 6901,
01257      6776, 6918, 6921, 6898, 6158, 6934, 6148, 6935, 6157, 6185,
01258 
01259      5752, 6947, 6217, 6218, 6214, 5865, 5884, 6230, 6951, 5896,
01260      6944, 6967, 6972, 6976, 6988, 6242, 6275, 5999, 6985, 6981,
01261      6997, 7006, 7018, 7024, 7039, 7019, 6299, 7051, 6310, 7055,
01262      6347, 6359, 6069, 7062, 6368, 6392, 6414, 6069, 6252, 6476,
01263      7065, 6261, 7060, 7075, 7085, 7103, 7099, 6481, 6331, 6512,
01264      6520, 6388, 6541,    0, 6408, 6570, 6821, 6463, 6646, 7100,
01265     10191, 6704, 6590,  546, 6716, 6604, 6720, 6650, 6664, 6732,
01266      6778, 6776, 6793, 6809, 6812, 6870,    0,    0,    0, 6754,
01267      6914, 6807, 6925, 7119, 7121, 7124, 7117, 6918, 7008, 7142,
01268      7133, 7153, 7169,    0, 7017, 6927, 7164, 7027, 7047, 7058,
01269 
01270      7165, 7100, 7114, 7068, 7091, 7135, 7141, 7154, 7164, 7178,
01271      7179, 7195, 7212, 7172, 7141, 7185, 7215, 7221, 7233, 7239,
01272      7147, 7187, 7194, 7261, 7253, 7271,    0, 7205, 7194, 7278,
01273      7214, 7224, 7226, 7295, 7225, 7237, 7241, 7262, 7263, 7265,
01274      7311, 7321, 7323, 7324, 7266, 7287, 7273, 7336, 7333, 7357,
01275      7337, 7334, 7300, 7360, 7339, 7377, 7381,    0, 7329, 7378,
01276      7380, 7338, 7380, 7353, 7387, 7379, 7382, 7387, 7382, 7387,
01277      7387, 7394, 7406, 7425, 7428, 7430, 7431, 7402, 7419, 7428,
01278      7434, 7468, 7446, 7456, 7447, 7435, 7466, 7472, 7484, 7488,
01279         0, 7472, 7487, 7494, 7479, 7504, 7486, 7509, 7506, 7509,
01280 
01281      7511, 7507, 7514, 7515, 7515, 7522, 7535, 7538, 7539, 7541,
01282      7538, 7533, 7535, 7546, 7536, 7538, 7557, 7559, 7558, 7558,
01283      7565, 7569, 7570, 7574, 7567, 7561, 7573, 7576, 7570, 7571,
01284      7582, 7577, 7578, 7586, 7597, 7580, 7595, 7587, 7598,  543,
01285      7604, 7593, 7596, 7616, 7617, 7637, 7627, 7630, 7629, 7633,
01286      7663, 7667, 7641, 7674, 7612, 7630, 7645, 7647, 7641, 7656,
01287      7689, 7660, 7667, 7676, 7686, 7670, 7685, 7677, 7697, 7710,
01288      7702, 7680, 7690, 7719, 7730, 7729, 7710, 7712, 7723, 7723,
01289      7751, 7755, 7760, 7771, 7706, 7721, 7740, 7748, 7744, 7751,
01290      7785, 7758, 7770, 7758, 7761, 7775, 7773, 7795, 7796, 7792,
01291 
01292      7796, 7815, 7826, 7820, 7814, 7822, 7825, 7825, 7852, 7865,
01293      7869, 7862, 7802, 7810, 7837, 7845, 7853, 7855, 7880, 7865,
01294      7866, 7874, 7834, 7865, 7858, 7872, 7870, 7906, 7895, 7884,
01295      7890, 7919, 7920, 7913, 7916, 7920, 7919, 7919, 7935, 7958,
01296      7963, 7953, 7914, 7950, 7962, 7964, 7957, 7956, 7981, 7960,
01297      7961, 7972, 7940, 7963, 7959, 7973, 7988, 8006, 7994, 7994,
01298     10191, 8004, 7995,    0, 8003, 8000, 8006, 8011, 8011, 8003,
01299      8011, 8022, 8019, 8012, 8016, 8017, 8018,10191,    0,10191,
01300     10191, 8019, 8033,10191, 8030, 8044, 8031, 8049, 8049, 8041,
01301         0, 8065, 8064, 8066, 8049, 8044, 8056, 8072, 8094, 8090,
01302 
01303      8097, 8112, 8075, 8063, 8068, 8073, 8071,    0, 8115,    0,
01304         0, 8101, 8112,    0, 8109, 8126, 8110, 8130, 8130, 8119,
01305         0, 8146, 8153, 8160, 8128, 8126, 8137, 8151, 8182, 8179,
01306      8188, 8200, 8170, 8148, 8155, 8189, 8193,    0, 8213,    0,
01307      8199, 8207,    0, 8206, 8220, 8232, 8219, 8209,    0, 8250,
01308      8238, 8251, 8220, 8218, 8243, 8230, 8262, 8268, 8274, 8292,
01309      8231, 8247, 8253, 8265, 8267,    0, 8291,    0,    0, 8277,
01310      8268,    0, 8291, 8306, 8290, 8310, 8309, 8298,    0, 8328,
01311      8329, 8316, 8312, 8316, 8326, 8313, 8342, 8349, 8365, 8381,
01312      8324, 8328, 8340, 8346, 8345,    0, 8374,    0,    0, 8350,
01313 
01314      8363,    0, 8374, 8375, 8373, 8395,10191, 8379,    0, 8391,
01315      8392, 8386, 8397, 8391, 8401, 8394, 8412, 8405, 8411,10191,
01316      8416, 8400,  538, 8422,10191, 8421, 8413,10191, 8428, 8433,
01317         0, 8431, 8440, 8445, 8430, 8421, 8437, 8430, 8450, 8465,
01318      8486, 8471, 8464,    0, 8467, 8431,  535, 8472,    0, 8481,
01319      8463,    0, 8489, 8490,    0, 8487, 8519, 8520, 8493, 8479,
01320      8500, 8491, 8528, 8542, 8523, 8547, 8501,    0, 8508, 8488,
01321       503, 8535,    0, 8534, 8524, 8544, 8553,    0, 8562, 8570,
01322      8573, 8568, 8539, 8577, 8571, 8588, 8590, 8611, 8614, 8587,
01323         0, 8596, 8581,  493, 8601,    0, 8603, 8598,    0, 8612,
01324 
01325      8620,    0, 8620, 8629, 8644, 8625, 8617, 8630, 8622, 8657,
01326      8666, 8668, 8669, 8641,    0, 8651, 8641,  490, 8665,    0,
01327      8667, 8662,    0, 8678, 8685, 8683, 8684, 8673, 8687, 8679,
01328      8681, 8686, 8703, 8691, 8693, 8703, 8709, 8702, 8699, 8705,
01329       479, 8718, 8710, 8704, 8720, 8730, 8713, 8727, 8716, 8722,
01330      8743, 8763, 8754, 8756, 8756, 8733, 8758, 8755, 8761,  461,
01331      8775, 8766, 8761, 8777, 8790, 8770, 8783, 8773, 8786, 8809,
01332      8809, 8814, 8810, 8813, 8808, 8810, 8808, 8816,  454, 8830,
01333      8821, 8816, 8832, 8864, 8829, 8837, 8830, 8838, 8869, 8866,
01334      8873, 8880, 8844, 8852, 8859, 8858, 8868,  444, 8882, 8874,
01335 
01336      8872, 8900, 8906, 8896, 8913, 8900, 8902, 8923, 8943, 8934,
01337      8948, 8913, 8914, 8911, 8908, 8921,  433, 8928, 8944, 8939,
01338     10191,    0, 8950, 8937, 8951,10191, 8957, 8954, 8955,    0,
01339      8955, 8971,  430, 8964, 8973, 8976,10191,10191, 8971,    0,
01340      8987, 8975, 8979, 8974,    0, 8993, 9002, 9013, 9016, 8982,
01341      8991,  422, 8996, 9014, 9014,    0,    0, 9013,    0, 9036,
01342      9017, 9022, 9017,    0, 9044, 9060, 9062, 9079, 9017, 9037,
01343       346, 9025, 9040, 9054,    0,    0, 9056,    0, 9064, 9060,
01344      9080, 9061,    0, 9107, 9108, 9106, 9117, 9069, 9092,  336,
01345      9086, 9114, 9114,    0,    0, 9108,    0, 9129, 9113, 9127,
01346 
01347      9115,    0, 9151, 9160, 9154, 9161, 9122, 9145,  331, 9151,
01348      9151, 9167,    0,    0, 9160, 9156,  329, 9172, 9160,  307,
01349      9176, 9183, 9176, 9180, 9185, 9190, 9179, 9183, 9185,  296,
01350      9202, 9208, 9214, 9215, 9209, 9209, 9201, 9220, 9221, 9210,
01351      9212, 9213,  274, 9230, 9255, 9258, 9262, 9237, 9230, 9233,
01352      9248, 9247, 9235, 9249, 9250,  177, 9268, 9288, 9301, 9304,
01353      9279, 9283, 9264, 9292, 9294, 9266, 9295, 9297,   31, 9301,
01354      9322, 9321, 9346, 9310, 9309, 9314, 9324, 9330, 9319, 9324,
01355      9332, 9345, 9352, 9345, 9356, 9344, 9356, 9349, 9350, 9353,
01356      9357, 9352, 9359, 9366, 9372, 9395, 9397, 9360, 9375, 9369,
01357 
01358      9370, 9377, 9382, 9381, 9394, 9402, 9409, 9413, 9432, 9396,
01359      9413, 9406, 9408, 9415, 9420, 9423, 9430, 9410, 9418, 9450,
01360      9453, 9442, 9447, 9450, 9451, 9455, 9459, 9453, 9459, 9466,
01361      9472, 9487, 9476, 9463, 9478, 9477, 9478, 9486, 9493, 9487,
01362      9505, 9497,10191, 9509,    0, 9505, 9499, 9497, 9503,10191,
01363      9509,10191, 9518, 9510,    0, 9524, 9529, 9520, 9518, 9524,
01364      9530,    0, 9536,    0, 9535, 9537,    0, 9555, 9560, 9544,
01365      9541, 9549, 9557,    0, 9563,    0, 9550, 9564,    0, 9578,
01366      9584, 9554, 9575, 9576, 9582,    0, 9588,    0, 9579, 9589,
01367         0, 9604, 9606, 9602, 9600, 9599, 9605,    0, 9611,    0,
01368 
01369     10191, 9624,    0, 9612,10191, 9610, 9621, 9615,    0, 9630,
01370      9635, 9624,    0, 9623, 9628, 9628,    0, 9647, 9662, 9635,
01371         0, 9633, 9646, 9642,    0, 9655, 9661, 9646,    0, 9650,
01372      9664, 9661,    0, 9673, 9679, 9669,    0, 9667, 9672, 9672,
01373      9688, 9681, 9687, 9684, 9696, 9699, 9692, 9698, 9695, 9709,
01374      9710, 9703, 9709, 9706, 9719, 9720, 9711, 9722, 9717, 9725,
01375      9730, 9722, 9729, 9723, 9735, 9723,10191,10191, 9737, 9730,
01376      9729,    0,    0, 9738, 9735, 9734,    0,    0, 9749, 9741,
01377      9740,    0,    0, 9757, 9749, 9748,    0,    0, 9762, 9758,
01378      9761,10191, 9771, 9768,    0, 9775, 9772,    0, 9777, 9777,
01379 
01380         0, 9782, 9779,    0, 9784, 9773, 9785, 9774, 9793, 9779,
01381      9797, 9784, 9801, 9789, 9806, 9807, 9804, 9814, 9808, 9818,
01382      9813, 9819, 9814, 9825, 9818,10191,10191,    0,    0,    0,
01383         0,    0,    0,    0,    0,10191, 9871, 9880, 9889, 9892,
01384      9900, 9909, 9918, 9927, 9936, 9945, 9949, 9953, 9962, 9971,
01385      9980, 9984, 9987, 9992,10001,10010,10019,10028,10037,10046,
01386     10055,10064,10073,10082,10091,10100,10109,10118,10127,10136,
01387     10145,10154,10163,10172,10181
01388     } ;
01389 
01390 static yyconst flex_int16_t yy_def[2476] =
01391     {   0,
01392      2436,    1, 2436,    3,    1,    1, 2436,    7, 2436,    9,
01393         1,    1,    1,   13, 2436,   15,    1,    1,    1,    1,
01394      2437, 2438, 2436, 2436, 2436, 2436, 2436, 2439, 2436, 2436,
01395      2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440,
01396      2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2436,
01397      2441, 2442, 2442, 2442, 2443, 2442, 2442, 2444, 2444,   59,
01398        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
01399        59,   59,   59,   59,   59,   59, 2442, 2445, 2446, 2436,
01400      2447, 2447, 2448, 2448, 2448,   85,   85,   85,   85,   85,
01401        85,   85,   85,   85,   85,   85,   85,   85,   85,   99,
01402 
01403        85, 2447, 2436, 2449, 2449, 2449, 2449, 2449, 2450, 2450,
01404       110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
01405       110,  110,  110,  110,  110,  110,  110, 2451, 2436, 2436,
01406      2436, 2452, 2452, 2440,  134,  134,  134,  134,  134, 2436,
01407      2453, 2453, 2453, 2454, 2454,  145,  145,  145,  145,  145,
01408       145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
01409       145,  145, 2436, 2436, 2436, 2436, 2436, 2455, 2436, 2436,
01410      2436, 2436, 2439, 2436, 2436, 2440, 2440, 2440, 2440, 2440,
01411      2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440,
01412      2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440,
01413 
01414      2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2436, 2441,
01415      2441, 2442, 2442, 2443, 2442, 2442,   59,   59,   59,   59,
01416        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
01417        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
01418        59,   59,   59,   59,   59,   59,   59,   59,   59, 2442,
01419      2445, 2445, 2446, 2436, 2447, 2447, 2447,   85,   85,   85,
01420        85,   85,   99,   85,   85,   85,   99,   85,   85,  269,
01421       269,  269,  269,   99,   91,   91,  269,   85,   91,   91,
01422        91,  269,   85,   99,   99,   99,  269,   85,  269,  269,
01423      2436, 2449, 2449, 2449, 2449,  110,  110,  110,  110,  110,
01424 
01425       110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
01426       110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
01427       110,  110,  110,  110,  110,  110,  110,  110, 2451, 2436,
01428      2436, 2436, 2436,  133, 2452,  134,  134,  134, 2436, 2453,
01429      2453, 2453,  145,  145,  145,  145,  145,  145,  145,  145,
01430       145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
01431       145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
01432       145,  145,  145,  145,  145, 2436, 2436, 2436, 2455, 2436,
01433      2436, 2436, 2436, 2440, 2440, 2456, 2440, 2440, 2440, 2440,
01434      2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440,
01435 
01436      2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2440,
01437      2440, 2457, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2442,
01438      2442,   59,   59, 2458,   59,   59,   59,   59,   59,   59,
01439        59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
01440        59,   59,   59,   59,   59,   59,   59,   59,   59, 2459,
01441        59,   59,   59,   59,   59,   59,   59, 2436, 2447,   99,
01442        85, 2460,   91,   91,   99,   99,   85,   85,   99,  269,
01443        99,   99,   85,  269,   99,   85,   85,   85,   99,   99,
01444        99,   99,   91,   91,   85,   85,   99, 2461,   99,  269,
01445       269,  269,   85,   85,   85, 2449,  110,  110, 2462,  110,
01446 
01447       110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
01448       110,  110,  110,  110,  110,  110,  110,  110,  110,  110,
01449       110,  110,  110,  110, 2463,  110,  110,  110,  110,  110,
01450       110,  110, 2436,  134, 2453,  145,  145, 2464,  145,  145,
01451       145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
01452       145,  145,  145,  145,  145,  145,  145,  145,  145,  145,
01453       145,  145,  145, 2465,  145,  145,  145,  145,  145,  145,
01454       145, 2436, 2440, 2440, 2436, 2440, 2440, 2440, 2440, 2440,
01455      2440, 2436, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2436,
01456      2440, 2440, 2436, 2436, 2440, 2436, 2436, 2436, 2436, 2436,
01457 
01458      2440, 2436, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2466,
01459      2457, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2442,   59,
01460        59, 2442,   59,   59,   59,   59,   59,   59, 2442,   59,
01461        59,   59,   59,   59,   59,   59, 2442,   59,   59, 2442,
01462      2442,   59, 2442, 2442, 2442, 2442, 2442,   59, 2442,   59,
01463        59,   59,   59,   59,   59,   59, 2467, 2459,   59,   59,
01464        59,   59,   59,   59,   59, 2447,   91,   91, 2447,   91,
01465       269,  269,  269,  269,  269, 2447,  269,  269,  269,   85,
01466        85,   85,   99, 2447,   99,  269, 2447,   99, 2447, 2447,
01467      2447, 2447, 2447,   99, 2447,   99,   99,   99,   91,   99,
01468 
01469        99,   99, 2468, 2461,   85,   85,   99,   99,   99,   99,
01470        99, 2449,  110,  110, 2449,  110,  110,  110,  110,  110,
01471       110, 2449,  110,  110,  110,  110,  110,  110,  110, 2449,
01472       110,  110, 2449, 2449,  110, 2449, 2449, 2449, 2449, 2449,
01473       110, 2449,  110,  110,  110,  110,  110,  110,  110, 2469,
01474      2463,  110,  110,  110,  110,  110,  110,  110, 2436,  134,
01475      2453,  145,  145, 2453,  145,  145,  145,  145,  145,  145,
01476      2453,  145,  145,  145,  145,  145,  145,  145, 2453,  145,
01477       145, 2453, 2453,  145, 2453, 2453, 2453, 2453, 2453,  145,
01478      2453,  145,  145,  145,  145,  145,  145,  145, 2470, 2465,
01479 
01480       145,  145,  145,  145,  145,  145,  145, 2436, 2440, 2436,
01481      2436, 2440, 2440, 2440, 2440, 2440, 2440, 2440, 2436, 2436,
01482      2440, 2436, 2440, 2440, 2440, 2436, 2440, 2440, 2436, 2436,
01483      2440, 2436, 2436, 2440, 2440, 2440, 2440, 2440, 2440, 2440,
01484      2440, 2440, 2440, 2440, 2440, 2442,   59, 2442, 2442,   59,
01485        59,   59,   59,   59,   59,   59, 2442, 2442,   59, 2442,
01486        59,   59,   59, 2442,   59,   59, 2442, 2442,   59, 2442,
01487      2442,   59,   59,   59,   59,   59,   59,   59,   59,   59,
01488        59,   59,   59, 2447,  269, 2447, 2447,   85,  269,   85,
01489        85,   85,   85,   85, 2447, 2447,   85, 2447,   99,   99,
01490 
01491        99, 2447,   85,   99, 2447,   99, 2447, 2447,   85,   85,
01492        85,  269,  269,  269,   99,   91,  269,  269,  269,   91,
01493      2449,  110, 2449, 2449,  110,  110,  110,  110,  110,  110,
01494       110, 2449, 2449,  110, 2449,  110,  110,  110, 2449,  110,
01495       110, 2449, 2449,  110, 2449, 2449,  110,  110,  110,  110,
01496       110,  110,  110,  110,  110,  110,  110,  110, 2453,  145,
01497      2453, 2453,  145,  145,  145,  145,  145,  145,  145, 2453,
01498      2453,  145, 2453,  145,  145,  145, 2453,  145,  145, 2453,
01499      2453,  145, 2453, 2453,  145,  145,  145,  145,  145,  145,
01500       145,  145,  145,  145,  145,  145, 2436, 2440, 2436, 2436,
01501 
01502      2436, 2440, 2440, 2440, 2440, 2440, 2471, 2440, 2436, 2436,
01503      2440, 2436, 2440, 2436, 2436, 2436, 2440, 2440, 2436, 2436,
01504      2436, 2436, 2436, 2440, 2440, 2436, 2440, 2440, 2436, 2440,
01505      2440, 2440, 2440, 2440, 2440, 2442,   59, 2442, 2442, 2442,
01506        59,   59,   59,   59,   59, 2472,   59, 2442, 2442,   59,
01507      2442,   59, 2442, 2442, 2442,   59,   59, 2442, 2442, 2442,
01508      2442, 2442,   59,   59, 2442,   59,   59, 2442,   59,   59,
01509        59,   59,   59,   59, 2447,   91, 2447, 2447, 2447,  269,
01510       269,   91,   91,   91, 2473,   85, 2447, 2447,   85, 2447,
01511       269, 2447, 2447, 2447,  269,  269, 2447, 2447, 2447, 2447,
01512 
01513       269,  269, 2447,   85,   85,   91,  269,  269,   99,   99,
01514        99, 2449,  110, 2449, 2449, 2449,  110,  110,  110,  110,
01515       110, 2474,  110, 2449, 2449,  110, 2449,  110, 2449, 2449,
01516      2449,  110,  110, 2449, 2449, 2449, 2449, 2449,  110,  110,
01517      2449,  110,  110, 2449,  110,  110,  110,  110,  110,  110,
01518      2453,  145, 2453, 2453, 2453,  145,  145,  145,  145,  145,
01519      2475,  145, 2453, 2453,  145, 2453,  145, 2453, 2453, 2453,
01520       145,  145, 2453, 2453, 2453, 2453, 2453,  145,  145, 2453,
01521       145,  145, 2453,  145,  145,  145,  145,  145,  145, 2436,
01522      2436, 2436, 2440, 2440, 2440, 2440, 2440, 2436, 2440, 2440,
01523 
01524      2436, 2440, 2436, 2440, 2436, 2436, 2436, 2440, 2436, 2436,
01525      2436, 2436, 2436, 2436, 2440, 2436, 2440, 2440, 2440, 2440,
01526      2440, 2442, 2442, 2442,   59,   59,   59,   59,   59, 2442,
01527        59,   59, 2442,   59, 2442,   59, 2442, 2442, 2442,   59,
01528      2442, 2442, 2442, 2442, 2442, 2442,   59, 2442,   59,   59,
01529        59,   59,   59, 2447, 2447, 2447,   99,   85,   99,   99,
01530        99, 2447,   99,   99, 2447,   99, 2447,   91, 2447, 2447,
01531      2447,   85, 2447, 2447, 2447, 2447, 2447,   85,   85,   91,
01532        85,   85,  269, 2449, 2449, 2449,  110,  110,  110,  110,
01533       110, 2449,  110,  110, 2449,  110, 2449,  110, 2449, 2449,
01534 
01535      2449,  110, 2449, 2449, 2449, 2449, 2449, 2449,  110, 2449,
01536       110,  110,  110,  110,  110, 2453, 2453, 2453,  145,  145,
01537       145,  145,  145, 2453,  145,  145, 2453,  145, 2453,  145,
01538      2453, 2453, 2453,  145, 2453, 2453, 2453, 2453, 2453, 2453,
01539       145, 2453,  145,  145,  145,  145,  145, 2436, 2436, 2436,
01540      2440, 2440, 2440, 2440, 2436, 2436, 2436, 2440, 2440, 2440,
01541      2436, 2436, 2436, 2440, 2436, 2436, 2436, 2440, 2436, 2436,
01542      2436, 2436, 2436, 2436, 2436, 2436, 2440, 2440, 2440, 2440,
01543      2442, 2442, 2442,   59,   59,   59,   59, 2442, 2442, 2442,
01544        59,   59,   59, 2442, 2442, 2442,   59, 2442, 2442, 2442,
01545 
01546        59, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442,   59,
01547        59,   59,   59, 2447, 2447, 2447,  269,  269,  269,  269,
01548      2447, 2447, 2447,   99,   85,  269, 2447, 2447, 2447,  269,
01549      2447, 2447, 2447,   99, 2447, 2447, 2447, 2447, 2447, 2447,
01550        99,   99,   99,   99, 2449, 2449, 2449,  110,  110,  110,
01551       110, 2449, 2449, 2449,  110,  110,  110, 2449, 2449, 2449,
01552       110, 2449, 2449, 2449,  110, 2449, 2449, 2449, 2449, 2449,
01553      2449, 2449, 2449,  110,  110,  110,  110, 2453, 2453, 2453,
01554       145,  145,  145,  145, 2453, 2453, 2453,  145,  145,  145,
01555      2453, 2453, 2453,  145, 2453, 2453, 2453,  145, 2453, 2453,
01556 
01557      2453, 2453, 2453, 2453, 2453, 2453,  145,  145,  145,  145,
01558      2436, 2436, 2436, 2440, 2440, 2440, 2436, 2436, 2436, 2436,
01559      2440, 2440, 2440, 2440, 2436, 2436, 2436, 2436, 2436, 2436,
01560      2440, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2440,
01561      2442, 2442, 2442,   59,   59,   59, 2442, 2442, 2442, 2442,
01562        59,   59,   59,   59, 2442, 2442, 2442, 2442, 2442, 2442,
01563        59, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442,   59,
01564      2447, 2447, 2447,   99, 1263,   85, 2447, 2447, 2447, 2447,
01565       269,  269, 1263,   91, 2447, 2447, 2447, 2447, 2447, 2447,
01566        85, 2447, 2447, 2447, 2447, 2447, 2447,   85, 2449, 2449,
01567 
01568      2449,  110,  110,  110, 2449, 2449, 2449, 2449,  110,  110,
01569       110,  110, 2449, 2449, 2449, 2449, 2449, 2449,  110, 2449,
01570      2449, 2449, 2449, 2449, 2449, 2449, 2449,  110, 2453, 2453,
01571      2453,  145,  145,  145, 2453, 2453, 2453, 2453,  145,  145,
01572       145,  145, 2453, 2453, 2453, 2453, 2453, 2453,  145, 2453,
01573      2453, 2453, 2453, 2453, 2453, 2453, 2453,  145, 2436, 2436,
01574      2436, 2440, 2440, 2440, 2436, 2436, 2436, 2436, 2440, 2440,
01575      2440, 2440, 2436, 2436, 2436, 2436, 2436, 2436, 2440, 2436,
01576      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2442, 2442,
01577      2442,   59,   59,   59, 2442, 2442, 2442, 2442,   59,   59,
01578 
01579        59,   59, 2442, 2442, 2442, 2442, 2442, 2442,   59, 2442,
01580      2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2447, 2447,
01581      2447,   91,   91,   91, 2447, 2447, 2447, 2447,   91, 1263,
01582        85,   99, 2447, 2447, 2447, 2447, 2447, 2447,   99, 2447,
01583      2447, 2447, 2447, 2447, 2447, 2447, 2449, 2449, 2449,  110,
01584       110,  110, 2449, 2449, 2449, 2449,  110,  110,  110,  110,
01585      2449, 2449, 2449, 2449, 2449, 2449,  110, 2449, 2449, 2449,
01586      2449, 2449, 2449, 2449, 2449, 2449, 2453, 2453, 2453,  145,
01587       145,  145, 2453, 2453, 2453, 2453,  145,  145,  145,  145,
01588      2453, 2453, 2453, 2453, 2453, 2453,  145, 2453, 2453, 2453,
01589 
01590      2453, 2453, 2453, 2453, 2453, 2453, 2436, 2436, 2440, 2440,
01591      2436, 2436, 2436, 2436, 2440, 2440, 2440, 2440, 2436, 2436,
01592      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
01593      2442, 2442,   59,   59, 2442, 2442, 2442, 2442,   59,   59,
01594        59,   59, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442,
01595      2442, 2442, 2442, 2442, 2447, 2447,   99,   99, 2447, 2447,
01596      2447, 2447,   91,   91,  269,  269, 2447, 2447, 2447, 2447,
01597      2447, 2447, 2447, 2447, 2447, 2447, 2447, 2449, 2449,  110,
01598       110, 2449, 2449, 2449, 2449,  110,  110,  110,  110, 2449,
01599      2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449,
01600 
01601      2449, 2453, 2453,  145,  145, 2453, 2453, 2453, 2453,  145,
01602       145,  145,  145, 2453, 2453, 2453, 2453, 2453, 2453, 2453,
01603      2453, 2453, 2453, 2453, 2453, 2436, 2440, 2436, 2436, 2436,
01604      2436, 2440, 2440, 2440, 2440, 2436, 2436, 2436, 2436, 2436,
01605      2436, 2436, 2436, 2436, 2442,   59, 2442, 2442, 2442, 2442,
01606        59,   59,   59,   59, 2442, 2442, 2442, 2442, 2442, 2442,
01607      2442, 2442, 2442, 2447,   91, 2447, 2447, 2447, 2447,  269,
01608        99, 1263,   85, 2447, 2447, 2447, 2447, 2447, 2447, 2447,
01609      2447, 2447, 2449,  110, 2449, 2449, 2449, 2449,  110,  110,
01610       110,  110, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2449,
01611 
01612      2449, 2453,  145, 2453, 2453, 2453, 2453,  145,  145,  145,
01613       145, 2453, 2453, 2453, 2453, 2453, 2453, 2453, 2453, 2453,
01614      2436, 2440, 2436, 2436, 2436, 2436, 2440, 2440, 2440, 2440,
01615      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2442,
01616        59, 2442, 2442, 2442, 2442,   59,   59,   59,   59, 2442,
01617      2442, 2442, 2442, 2442, 2442, 2442, 2442, 2442, 2447,   85,
01618      2447, 2447, 2447, 2447,   85,   91,   91,   91, 2447, 2447,
01619      2447, 2447, 2447, 2447, 2447, 2447, 2447, 2449,  110, 2449,
01620      2449, 2449, 2449,  110,  110,  110,  110, 2449, 2449, 2449,
01621      2449, 2449, 2449, 2449, 2449, 2449, 2453,  145, 2453, 2453,
01622 
01623      2453, 2453,  145,  145,  145,  145, 2453, 2453, 2453, 2453,
01624      2453, 2453, 2453, 2453, 2453, 2436, 2436, 2436, 2440, 2440,
01625      2440, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2442, 2442,
01626      2442,   59,   59,   59, 2442, 2442, 2442, 2442, 2442, 2442,
01627      2442, 2447, 2447, 2447, 1263, 1263,   99, 2447, 2447, 2447,
01628      2447, 2447, 2447, 2447, 2449, 2449, 2449,  110,  110,  110,
01629      2449, 2449, 2449, 2449, 2449, 2449, 2449, 2453, 2453, 2453,
01630       145,  145,  145, 2453, 2453, 2453, 2453, 2453, 2453, 2453,
01631      2436, 2436, 2436, 2440, 2440, 2436, 2436, 2436, 2436, 2436,
01632      2436, 2436, 2442, 2442, 2442,   59,   59, 2442, 2442, 2442,
01633 
01634      2442, 2442, 2442, 2442, 2447, 2447, 2447,  269,   91, 2447,
01635      2447, 2447, 2447, 2447, 2447, 2447, 2449, 2449, 2449,  110,
01636       110, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2453, 2453,
01637      2453,  145,  145, 2453, 2453, 2453, 2453, 2453, 2453, 2453,
01638      2436, 2436, 2436, 2440, 2440, 2436, 2436, 2436, 2436, 2436,
01639      2436, 2436, 2442, 2442, 2442,   59,   59, 2442, 2442, 2442,
01640      2442, 2442, 2442, 2442, 2447, 2447, 2447,   91,   91, 2447,
01641      2447, 2447, 2447, 2447, 2447, 2447, 2449, 2449, 2449,  110,
01642       110, 2449, 2449, 2449, 2449, 2449, 2449, 2449, 2453, 2453,
01643      2453,  145,  145, 2453, 2453, 2453, 2453, 2453, 2453, 2453,
01644 
01645      2436, 2436, 2440, 2436, 2436, 2436, 2436, 2436, 2442, 2442,
01646        59, 2442, 2442, 2442, 2442, 2442, 2447, 2447,   91, 2447,
01647      2447, 2447, 2447, 2447, 2449, 2449,  110, 2449, 2449, 2449,
01648      2449, 2449, 2453, 2453,  145, 2453, 2453, 2453, 2453, 2453,
01649      2436, 2436, 2436, 2436, 2436, 2442, 2442, 2442, 2442, 2442,
01650      2447, 2447, 2447, 2447, 2447, 2449, 2449, 2449, 2449, 2449,
01651      2453, 2453, 2453, 2453, 2453, 2436, 2436, 2436, 2436, 2436,
01652      2442, 2442, 2442, 2442, 2442, 2447, 2447, 2447, 2447, 2447,
01653      2449, 2449, 2449, 2449, 2449, 2453, 2453, 2453, 2453, 2453,
01654      2436, 2436, 2436, 2442, 2442, 2442, 2447, 2447, 2447, 2449,
01655 
01656      2449, 2449, 2453, 2453, 2453, 2436, 2436, 2442, 2442, 2447,
01657      2447, 2449, 2449, 2453, 2453, 2436, 2436, 2442, 2442, 2447,
01658      2447, 2449, 2449, 2453, 2453, 2436, 2436, 2442, 2442, 2447,
01659      2447, 2449, 2449, 2453, 2453,    0, 2436, 2436, 2436, 2436,
01660      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
01661      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
01662      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
01663      2436, 2436, 2436, 2436, 2436
01664     } ;
01665 
01666 static yyconst flex_int16_t yy_nxt[10259] =
01667     {   0,
01668        24,   25,   26,   27,   28,   24,   24,   29,   30,   29,
01669        29,   29,   29,   31,   32,   33,   34,   35,   36,   37,
01670        38,   39,   37,   37,   40,   41,   42,   43,   44,   45,
01671        46,   47,   37,   48,   49,   37,   37,   37,   24,   24,
01672        31,   32,   33,   34,   35,   36,   37,   38,   39,   37,
01673        40,   41,   42,   43,   44,   45,   46,   47,   37,   48,
01674        49,   37,   37,   37,   24,   24,   24,   50,  169,  170,
01675      2230,   51,   52,   53,   26,   54,   55,   52,   52,   56,
01676        57,   56,   56,   56,   56,   58,   59,   60,   61,   62,
01677        63,   64,   65,   66,   64,   64,   67,   68,   69,   70,
01678 
01679        71,   72,   73,   74,   64,   75,   76,   64,   64,   64,
01680        52,   52,   58,   59,   60,   61,   62,   63,   64,   65,
01681        66,   64,   67,   68,   69,   70,   71,   72,   73,   74,
01682        64,   75,   76,   64,   64,   64,   52,   52,   52,   77,
01683       173,   50,  212,   78,   79,   51,   24,   80,   26,   27,
01684        28,   24,   24,   81,   82,   81,   81,   81,   81,   83,
01685        84,   85,   86,   87,   88,   89,   90,   91,   89,   89,
01686        92,   93,   94,   95,   96,   97,   98,   99,   89,  100,
01687       101,   89,   89,   89,   24,  102,   83,   84,   85,   86,
01688        87,   88,   89,   90,   91,   89,   92,   93,   94,   95,
01689 
01690        96,   97,   98,   99,   89,  100,  101,   89,   89,   89,
01691        24,   24,   24,  103,  380,  381, 2218,   51,  104,   25,
01692       105,  106,   28,  104,  104,  107,  108,  107,  107,  107,
01693       107,  109,  110,  111,  112,  113,  114,  115,  116,  117,
01694       115,  115,  118,  119,  120,  121,  122,  123,  124,  125,
01695       115,  126,  127,  115,  115,  115,  104,  104,  109,  110,
01696       111,  112,  113,  114,  115,  116,  117,  115,  118,  119,
01697       120,  121,  122,  123,  124,  125,  115,  126,  127,  115,
01698       115,  115,  104,  104,  104,   50,  129,  131,   50,  128,
01699       163,   51,   51,   50,   51,  166,  593,   51,  184,   51,
01700 
01701       174,  174,  174,  174,  174,  174,  177,  185,  178,  179,
01702       209,  188,  186, 2206,  210,  187,  193,  180,  174,  174,
01703       174,  174,  174,  174,  196,  184,  173,  250,  420,  594,
01704       164,  251,  177,  185,  178, 2194,  179,  188,  186,  175,
01705       181,  187,  193,  182,  180,  192, 2182,  183,  197,  207,
01706       196,  130,  130,  132,  133,  132,  132,  132,  132,  134,
01707       135,  136,  137,  138,  139,  175,  181,  291, 2182,  182,
01708      2176,  210,  192,  183,  197, 2163,  207,  215,  215,  215,
01709       215,  215,  215,  380,  381, 2150,  134,  135,  136,  137,
01710       138,  139,   24,  140,   26,   27,   28,   24,  141,  142,
01711 
01712       143,  142,  142,  142,  142,  144,  145,  146,  147,  148,
01713       149,  150,  151,  152,  150,  150,  153,  154,  155,  156,
01714       157,  158,  159,  160,  150,  161,  162,  150,  150,  150,
01715        24,  141,  144,  145,  146,  147,  148,  149,  150,  151,
01716       152,  150,  153,  154,  155,  156,  157,  158,  159,  160,
01717       150,  161,  162,  150,  150,  150,   24,   24,   24,  189,
01718       194, 2137,  190,  198,  211,  292,  208,  211,  217, 2124,
01719       195,  191, 2112,  199,  204,  200,  217,  201,  205,  330,
01720       202,  333,  206, 2093,  376,  210,  189,  194,  210,  190,
01721       198,  203,  208, 2074,  383,  217,  195,  191,  296,  199,
01722 
01723      2055,  204,  200,  217,  201,  205,  296,  202,  217,  206,
01724       215,  215,  215,  215,  215,  215,  217,  203, 2036,  222,
01725       217,  383,  223,  384,  225,  296,  224,  268,  217, 2015,
01726       269,  216, 1996,  296,  258,  217,  255,  255,  255,  255,
01727       255,  255, 1977,  217,  331,  222,  331,  217,  223,  384,
01728       378,  225,  224,  268,  210,  217,  269,  216,  212,  212,
01729       258,  212,  212,  212,  212,  212,  212,  212,  212,  212,
01730       212,  217,  217,  217, 1958,  385,  217, 1939,  386,  217,
01731       217,  217, 1688,  227,  217, 1527,  228,  229,  218,  176,
01732       219,  176,  387,  226,  185,  237,  212,  212,  217,  217,
01733 
01734       217,  385, 1375,  217,  386, 1362,  217,  217,  217,  227,
01735      1026,  217,  228,  229,  218,  176,  219,  176,  387,  226,
01736       185,  237,  212,  212,  212,  212,  212,  392,  212,  212,
01737       212,  212,  212,  212,  212,  212,  212,  212,  220,  217,
01738       217,  217,  230,  393,  233,  231,  221,  217,  217,  217,
01739       394, 1021, 1015,  392,  232,  234,  294,  294,  294,  294,
01740       294,  294,  395,  212,  212,  220,  217,  217,  217,  230,
01741       393,  233,  231,  221,  217,  217,  217,  394,  217,  217,
01742       232,  234,  235, 1014,  759,  399,  217,  217,  395,  212,
01743       212,  212,  236,  238,  217,  245,  217,  338,  239,  246,
01744 
01745       248,  401,  217,  247,  217,  217,  217,  400,  240,  235,
01746       176,  399,  176,  217,  217,  404,  209,  402,  236,  238,
01747       210,  217,  245,  217,  338,  239,  246,  248,  401,  217,
01748       247,  217,  217,  400,  240,  217,  176,  241,  176,  242,
01749       217,  404,  243,  217,  402,  407,  249,  255,  255,  255,
01750       255,  255,  255,  244,  258,  211,  292,  258,  211,  217,
01751       408,  258,  217,  403,  241,  267,  242,  217,  257,  243,
01752       217,  407,  249,  832,  266,  610,  292,  409,  610,  244,
01753       258,  258,  258,  258,  258,  258,  408,  258,  258,  258,
01754       403,  267,  822,  759,  257,  256,  256,  256,  256,  256,
01755 
01756       256,  266,  258,  409,  390,  270,  391,  258,  258,  258,
01757       258,  258,  410,  250,  258,  258,  405,  251,  259,  406,
01758       260,  334,  334,  334,  334,  334,  334,  256,  258,  274,
01759       390,  270,  391,  411,  258,  258,  258,  275,  410,  258,
01760       412,  258,  405,  258,  259,  406,  260,  256,  256,  256,
01761       256,  256,  256,  261,  413,  602,  274,  414,  415,  411,
01762       258,  262,  258,  275,  380,  258,  412,  258,  276,  258,
01763       258,  416,  417,  279,  418,  258,  419,  258,  277,  256,
01764       261,  413,  258,  421,  414,  415,  377,  459,  262,  256,
01765       256,  256,  256,  256,  256,  276,  258,  416,  417,  279,
01766 
01767       418,  258,  419,  258,  277,  339,  263,  291,  258,  264,
01768       421,  210,  258,  265,  459,  258,  533,  280,  330,  258,
01769       278,  256,  496,  332,  258,  254,  376,  281, 2436,  258,
01770       210,  258,  263,  289,  343,  264,  535,  258,  258,  265,
01771       271,  258,  343,  272,  280,  258,  278,  572,  258,  496,
01772       258,  258,  273,  281, 2436,  258,  258,  258,  458,  258,
01773       289,  343,  290,  535,  258,  213,  258,  271,  573,  343,
01774       272,  574,  296,  572,  258,  333,  382,  258,  273,  210,
01775       296,  258,  282,  331,  283,  258,  308,  284,  290,  378,
01776       578,  258,  258,  210,  258,  573,  171,  574,  285,  296,
01777 
01778       294,  294,  294,  294,  294,  294,  380,  296,  577,  282,
01779       296,  283,  308,  377,  284,  296,  578,  258,  296,  304,
01780       258,  295,  296,  296,  285,  286,  312,  396,  579,  287,
01781       296,  339,  305,  288,  584,  577,  258,  296,  397,  258,
01782       331,  398,  296,  258,  585,  296,  304,  295,  580,  296,
01783       296,  332,  286,  312,  396,  579,  287,  296,  305,  293,
01784       288,  584,  258,  254,  397,  258,  586,  398,  172,  258,
01785       292,  585,  292,  292,  580,  292,  292,  292,  292,  292,
01786       292,  292,  292,  296,  296,  334,  334,  334,  334,  334,
01787       334,  296,  296,  586,  301,  306,  258,  302,  307,  258,
01788 
01789       297,  303,  298,  258,  583,  176,  175,  176,  292,  292,
01790       296,  296,  341,  341,  341,  341,  341,  341,  296,  296,
01791       301,  306,  258,  302,  307,  258,  297,  303,  298,  258,
01792       583,  176,  175,  176,  292,  292,  292,  292,  589,  292,
01793       292,  213,  292,  292,  292,  292,  292,  292,  292,  292,
01794       299,  296,  591,  296,  309,  296,  296,  310,  300,  296,
01795       314,  296,  590,  296,  296,  589,  311,  313,  587,  588,
01796       315,  172,  592,  171,  316,  292,  292,  299,  296,  591,
01797       296,  309,  296,  296,  310,  300,  296,  314,  296,  603,
01798       296,  296,  311,  313,  587,  588,  315,  296,  592,  581,
01799 
01800       316,  292,  292,  292,  296,  296,  343,  582,  318, 2436,
01801       595,  317,  296,  609,  343,  324,  603,  604,  319,  325,
01802       165,  164,   79,  326,  296,  581, 2436, 2436,  352, 2436,
01803       296,  296,  296,  343,  327,  318,  595,  317,  296,  296,
01804       609,  343,  324,  604,  319,  296,  325,  320,  296,  321,
01805       326,  343,  322,  296,  352,  351,  296,  296,  605,  343,
01806       612,  327,  328,  323, 2436,  296,  174,  174,  174,  174,
01807       174,  174,  296, 2436,  320,  296,  321,  606,  343,  322,
01808       296,  613,  351,  296,  605,  607,  343,  612,  328,  323,
01809       335,  335,  335,  335,  335,  335,  336,  336,  336,  336,
01810 
01811       336,  336,  337,  606,  479, 2436,  186,  258,  613,  187,
01812       180,  607,  176,  177,  176,  178,  258, 2436, 2436,  176,
01813      2436,  176,  608,  336,  336,  336,  336,  336,  336,  337,
01814      2436,  479,  186, 2436,  258,  187,  388,  180,  176,  177,
01815       176,  178,  258,  181,  389,  176,  182,  176,  608,  176,
01816       183,  176,  341,  341,  341,  341,  341,  341,  615,  217,
01817       343,  614, 2436,  388,  359, 2436,  616,  217,  343,  181,
01818      2436,  389,  182,  342, 2436,  176,  183,  176, 2436, 2436,
01819      2436,  371,  343,  808,  615,  372,  217,  343,  614,  373,
01820       343,  359,  616,  353,  217,  343,  354,  617, 2436,  342,
01821 
01822       340,  340,  340,  340,  340,  340,  340,  343,  371,  343,
01823       808, 2436,  372, 2436, 2436,  343,  373,  343,  348,  353,
01824       618,  349,  354,  617,  344,  350,  345,  215,  215,  215,
01825       215,  215,  215,  340,  343,  343,  255,  255,  255,  255,
01826       255,  255,  343,  343,  348,  809,  618,  349,  619,  355,
01827       344,  350,  345,  340,  340,  340,  340,  340,  340,  340,
01828       346,  343,  343,  343,  356,  343, 2436,  357,  347,  343,
01829       343,  343,  809,  343,  619,  355,  358,  360,  294,  294,
01830       294,  294,  294,  294,  363,  343,  340,  346,  343,  361,
01831       343,  356,  343,  343,  357,  347,  343,  343,  343,  362,
01832 
01833       343, 2436,  358,  360, 2436,  343,  426, 2436,  825,  343,
01834       363,  364,  343,  365,  427, 2436,  361,  343, 2436,  831,
01835       343,  666, 2436,  366,  343,  362,  341,  341,  341,  341,
01836       341,  341,  343,  426,  343,  825,  343,  364,  374, 2436,
01837       365,  427,  343,  217,  343,  217,  831,  666,  343,  366,
01838       343,  217,  367,  217,  368, 2436,  343,  369,  343, 2436,
01839       422,  343,  375,  423,  834,  374,  217, 2436,  370,  343,
01840       217,  712,  217,  761,  217,  343,  816,  343,  217,  367,
01841       217,  368,  424,  343,  369,  343,  422,  217,  375,  423,
01842       217,  834,  837,  217,  370,  217,  217,  712,  217,  761,
01843 
01844       425,  217,  816,  817,  217, 2436,  430,  428,  424,  429,
01845       217, 2436,  217,  217,  217,  431,  432,  217,  217,  837,
01846       217,  217,  217,  217, 2436,  217,  425,  433,  217,  817,
01847       434,  217,  430,  428, 2436,  429,  217,  217,  217,  217,
01848       217,  435,  431,  432,  436,  217,  217,  217,  217, 2436,
01849       217,  217, 2436,  433,  437,  217,  818,  434,  217,  217,
01850       217,  440,  439,  217,  438,  217,  821,  435,  217,  217,
01851       436,  217, 2436,  217,  441,  217,  217,  217,  217,  217,
01852       437, 2436,  818,  217,  217,  217,  217,  217,  440,  439,
01853       438,  217,  821,  445,  838,  217,  217,  442,  217,  217,
01854 
01855       217,  441,  217,  217,  443,  217,  217,  444,  217,  217,
01856       217,  217,  217,  217, 2436,  446,  217,  451,  217,  445,
01857       217,  838,  447,  442,  217, 2436,  217,  217,  449,  823,
01858       443, 2436,  217,  444,  217,  217,  217,  448,  452,  217,
01859       217,  446,  217,  217,  451,  824,  217,  217,  447,  217,
01860       453,  217,  450,  826,  449,  823,  217,  217,  217,  217,
01861       296,  217,  217,  448,  217,  452,  217,  217,  296,  217,
01862       217,  824,  454,  217,  456,  457,  217,  453,  450,  826,
01863       455, 2436,  501,  217,  217,  217,  217,  296,  827,  217,
01864       502,  217,  828,  217,  217,  296,  258,  217,  454,  258,
01865 
01866       456,  457,  460,  258,  258,  258,  455,  258,  258,  501,
01867       462,  461,  258,  258,  827,  463,  258,  502,  828,  829,
01868       258, 2436,  258,  830, 2436,  258, 2436, 2436,  460,  258,
01869       258,  258, 2436,  258,  258, 2436,  462,  461,  258,  258,
01870       464,  463,  258,  833,  258,  829,  258,  810,  465,  830,
01871       466,  258,  467,  258,  258, 2436,  468,  258,  258,  469,
01872      2436,  811,  258, 2436,  835,  258,  470,  464,  258,  833,
01873       258,  258,  258,  296,  810,  465,  466,  258,  467,  258,
01874       258,  296,  468,  258,  258,  258,  469,  811,  471,  258,
01875       835,  258,  258,  470,  258,  836,  839,  258,  258,  258,
01876 
01877       296,  840,  819, 2436, 2436, 2436,  820, 2436,  296, 2436,
01878       258,  258, 2436,  475,  471,  841,  478, 2436,  258,  472,
01879       258,  836,  839,  258,  258, 2436,  258,  840,  258,  819,
01880       473,  258,  820,  474,  258,  258,  258,  258,  258,  475,
01881      2436,  842,  841,  478,  477,  843,  472,  258,  845,  476,
01882       258,  258,  258, 2436,  258,  258,  473,  258,  258,  474,
01883       258,  258,  296,  258,  258,  258,  258,  258,  842,  844,
01884       296,  477,  843,  846,  845,  476,  258,  481,  258,  497,
01885       482,  258,  480,  258,  258, 2436,  258, 2436, 2436,  296,
01886       483,  258,  258,  258,  258,  258,  844,  296, 2436,  258,
01887 
01888       846,  884,  258,  481,  484,  497,  482,  812,  480,  258,
01889       258,  258,  258,  487,  258,  258,  483,  258,  258,  258,
01890       258,  813,  258,  258,  488,  485,  258,  258,  884, 2436,
01891       484,  864, 2436,  486,  812,  867,  258,  921,  258,  487,
01892       258,  258,  258,  258,  258,  258,  258,  813,  489,  258,
01893       488,  485,  490,  258,  258,  491,  258,  864,  258,  486,
01894       258,  867,  258,  258,  921,  258, 2436,  258,  258,  868,
01895      2436,  258,  493, 2436,  258,  489, 2436,  492,  296,  490,
01896       871,  258,  491,  258,  296,  258,  296,  258,  258,  258,
01897       258,  258,  296,  258,  258,  868,  498,  500,  493,  258,
01898 
01899       258,  902,  494,  492,  258,  296,  871,  495,  296,  296,
01900       959,  296, 2436,  296,  506,  258,  296,  296,  296,  296,
01901       258,  905,  498,  500,  499,  258,  296,  902,  494,  503,
01902       258,  504,  296,  495,  296,  296,  296,  959,  507,  760,
01903       296,  506,  296,  296,  296,  296,  296,  905,  505, 2436,
01904       499,  908, 2436,  296,  296,  503,  176,  504,  176,  296,
01905       508,  296,  296,  296,  509,  507,  760,  296,  515,  296,
01906       296,  296,  296,  296,  505,  510,  296,  908,  511,  512,
01907       296,  296,  176, 2436,  176,  513,  508,  939, 1009,  296,
01908       296,  509,  296, 2436,  514,  515,  942,  296,  296,  296,
01909 
01910       296,  510,  296,  296,  511,  512,  296,  296,  296,  516,
01911       296,  513,  296,  939,  296, 1009,  296,  814, 2436,  296,
01912       296,  514,  942,  517, 2436,  518,  520,  296,  519,  296,
01913       296, 2436,  815,  296,  943,  296,  516,  296,  296,  296,
01914       296,  296,  296,  296,  814,  521, 2436,  296,  296,  517,
01915       296,  518,  520, 2436,  519,  296,  296,  296,  815,  522,
01916       943,  523,  296,  296,  296,  296,  527,  296,  296,  296,
01917       526,  521,  524,  525,  296,  296,  296,  296,  296,  528,
01918       296, 2436,  296,  296,  529,  522,  296,  523,  296,  296,
01919       296,  296,  296,  527,  296,  296,  531,  526,  524,  525,
01920 
01921       296,  296,  296,  296,  946,  296,  528,  296,  532,  977,
01922       529, 2436,  530,  296,  534,  296,  980,  386,  176,  296,
01923       176,  296,  531,  343, 2436,  981,  176,  296,  176,  296,
01924       946,  343,  343, 1010,  532,  977,  984,  343,  530,  540,
01925       343,  534,  980,  386,  176,  343,  176,  541, 2436,  536,
01926       343,  981,  176,  343,  176,  537,  997,  343,  343,  343,
01927      1010,  343,  984, 1012,  343,  343,  540,  343, 2436,  538,
01928       539,  343,  343, 2436,  541,  536,  545,  343,  343,  343,
01929       343,  537,  997,  998,  343,  343,  343, 2436,  343,  542,
01930      1012,  543,  343,  544,  343,  538,  539,  176,  343,  821,
01931 
01932       999, 1002,  343,  545,  343,  343,  343, 2436,  547,  998,
01933       343, 2436,  343,  343,  546,  542,  343,  543,  343,  544,
01934       343,  343,  548,  176,  343,  821,  999, 1002,  343,  343,
01935       343, 2436,  551,  549,  547, 1005,  550,  343,  343, 2436,
01936       343,  546,  343,  343,  553,  343,  554,  343,  343,  548,
01937       343,  343, 2436,  552,  343,  343, 1006,  343,  551,  549,
01938       343, 1005,  550,  555,  343,  343,  343,  343,  343,  343,
01939       343,  553,  343,  554,  343,  343, 1007,  343,  343,  552,
01940      1013,  343, 1006,  557,  559,  556,  558,  343,  343, 1016,
01941       555,  343, 1008,  343, 2436,  343,  343,  343,  343,  343,
01942 
01943       343,  343, 1007,  560, 2436,  343,  343, 1013,  343,  557,
01944       559,  556,  558,  343,  343,  343, 1016,  561, 1008,  562,
01945       343,  343,  343,  343,  566,  343,  343,  343,  565,  560,
01946       563,  564,  343,  343,  343,  343,  343,  567,  343, 2436,
01947       343,  343,  568,  561,  343,  562,  343,  343,  343,  343,
01948       343,  566,  343,  343,  570,  565,  563,  564,  343,  343,
01949       343,  343, 1011,  343,  567,  343,  571, 1017,  568, 1019,
01950       569,  343, 2436,  343, 2436, 2436, 2436,  343, 2436,  343,
01951       570, 2436, 2436, 2436, 2436,  343, 2436,  343, 1011, 2436,
01952      2436,  217,  571, 1017, 1018, 1019,  569,  575,  575,  620,
01953 
01954       575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
01955       596,  597,  598,  599,  600,  217,  217,  217,  217,  601,
01956       624, 1018,  217,  217,  217,  217,  620, 1020, 1022,  621,
01957       217, 1023, 2436,  625, 1024,  575,  575, 2436, 2436, 2436,
01958       628, 2436,  217,  217,  217, 2436,  601,  624,  629,  217,
01959       217,  217,  217, 1020, 1022,  621, 1032,  217, 1023,  625,
01960      1024,  575,  575,  575,  610,  610,  628,  610,  610,  610,
01961       610,  610,  610,  610,  610,  610,  610,  217,  217,  217,
01962       631,  626,  848, 1032,  633,  217,  217,  217,  217, 2436,
01963       630,  217,  217,  632, 2436,  627,  849,  857, 1034,  217,
01964 
01965      2436,  858,  610,  610,  217,  217,  217,  631,  626,  848,
01966      2436,  633,  217,  217,  217,  217,  630, 2436,  217,  217,
01967       632,  627,  849, 1025,  857, 1034,  217,  858,  610,  610,
01968       610,  622,  622, 1048,  622,  622,  622,  622,  622,  622,
01969       622,  622,  622,  622,  217,  217,  217, 2436,  217, 1025,
01970       636,  217,  217,  638,  217, 2436,  217, 2436, 2436,  217,
01971      1048, 1027, 1028,  634,  635,  639, 2436, 2436, 1033,  622,
01972       622,  217,  217,  217,  637,  217,  217,  636,  217,  217,
01973       638,  217, 1035,  217,  217,  640,  217, 1027, 1028,  634,
01974       635,  639,  217,  217, 1033,  622,  622,  622, 1036,  217,
01975 
01976       217,  217,  649,  217, 1038, 1049, 1051,  217, 1035, 2436,
01977       663,  217, 2436,  642, 2436, 2436, 2436, 2436,  641,  217,
01978       217,  217, 2436,  217, 1036,  650,  217,  217,  217,  217,
01979      1038,  217, 1049, 1051,  217,  651,  663, 2436,  217,  642,
01980       643,  644,  645,  646,  647,  217,  217,  217,  217,  648,
01981       217,  217,  650,  217, 2436,  217,  217,  653,  217,  217,
01982      1055,  651,  652,  217,  661,  217,  895,  217, 2436,  654,
01983       896,  217,  217,  217,  217,  217,  648,  217,  217, 2436,
01984       217,  656,  217,  653,  655,  217,  217, 1055,  652, 1058,
01985       217,  661, 2436,  895,  217,  654,  896, 2436,  217, 2436,
01986 
01987      2436,  217,  217,  217,  217,  660,  659, 2436,  656,  217,
01988       655,  217,  217,  657,  657, 1058,  657,  657,  657,  657,
01989       657,  657,  657,  657,  657,  657,  217,  217,  217, 1062,
01990       217, 1087,  660,  659,  217,  217,  217,  217,  217,  662,
01991      1059, 1061, 2436, 2436,  664,  217, 2436,  665, 1075, 2436,
01992      1077,  657,  657,  217,  217,  258, 1062,  671, 1087,  258,
01993       258,  217,  217,  667,  217,  662, 1059, 1061,  258,  258,
01994       664,  668,  217,  665, 1075,  258, 1077,  657,  657,  657,
01995      2436, 2436,  258, 2436,  671, 2436,  258,  258, 2436, 2436,
01996       667, 2436, 2436,  677,  258,  258,  258,  668, 2436, 2436,
01997 
01998       258,  258,  575,  575, 2436,  575,  575,  575,  575,  669,
01999       669,  669,  669,  669,  669,  258,  258,  258,  258,  677,
02000       673,  258,  258,  296,  258,  258,  258,  258, 2436,  672,
02001       258,  713, 2436,  258,  674,  679, 2436,  682, 1088, 2436,
02002       575,  669,  258,  258,  258,  258,  258,  673,  258,  258,
02003       296,  258,  258,  258,  258,  672,  258,  258,  713,  258,
02004       674,  675,  679,  682, 1090, 1088,  575,  575,  575,  676,
02005       678,  724,  258,  680,  258,  258, 2436,  258,  258,  296,
02006       258,  258, 2436,  258,  258,  683,  258,  675,  258, 1094,
02007       258, 1090,  258, 2436,  685, 2436,  258,  678,  724,  258,
02008 
02009       680,  258,  593,  681,  258,  258,  296,  258,  258,  684,
02010       686,  258,  683,  258,  258,  258, 1094,  258, 1097,  258,
02011       258,  685,  258,  258,  258,  258, 1099,  258,  258,  681,
02012       726, 2436,  258,  258,  258,  687,  686,  258,  296, 1100,
02013       258,  258, 2436,  688, 1097, 2436,  258, 2436, 2436,  258,
02014       695,  258, 1099,  258,  258,  258, 1112,  726,  696,  258,
02015       258,  258,  258,  258,  258,  296, 1100,  258,  700,  688,
02016       689,  690,  691,  692,  693,  258,  258, 2436, 2436,  694,
02017       258,  258, 1112,  258,  258,  696, 1124,  258,  697,  258,
02018       258, 1114,  258,  258,  700,  258,  258, 2436, 2436, 2436,
02019 
02020      1125, 2436,  258,  258,  698,  258,  694,  258, 2436,  699,
02021       258,  258,  932, 1124,  697, 1134,  933, 1114,  258,  258,
02022       258,  258,  258,  258,  701,  258,  296, 1125,  258, 2436,
02023       698,  258,  702, 2436,  296,  699,  258, 2436, 2436,  932,
02024       714, 1134,  933, 2436,  258, 2436, 2436,  258, 2436, 2436,
02025       701,  258,  258,  296, 2436,  258,  258,  705, 1127,  702,
02026       258,  296, 1131,  258,  610,  610,  714,  610,  610,  610,
02027       610,  703,  703,  703,  703,  703,  703,  706, 2436,  258,
02028       707,  258, 2436,  258,  705, 1127,  258,  258,  258, 1131,
02029      2436,  258,  258, 1135, 2436,  258,  708,  258,  709, 2436,
02030 
02031       258,  258,  610,  703,  706,  258, 2436,  707,  258,  258,
02032      2436, 1137,  258,  258,  258, 1151,  710,  258,  258, 1135,
02033       886,  258,  708,  258,  709,  923,  258,  258,  610,  610,
02034       610,  258,  711,  258,  887,  258,  258, 1137,  258,  924,
02035       258, 1151,  710, 2436, 2436, 2436, 2436,  886, 2436, 2436,
02036      2436, 2436,  923,  296, 2436, 2436,  717, 2436,  711,  258,
02037       887,  296,  258, 2436, 1138,  924,  258,  715,  575,  292,
02038       715,  575,  715,  715,  715,  715,  715,  715,  715,  715,
02039       296,  296,  296,  717,  296, 2436,  719, 2436,  296,  296,
02040       296, 1138,  296, 2436,  296,  296, 2436, 1153,  718,  296,
02041 
02042      2436,  720,  296,  296, 2436,  715,  715,  296,  296,  296,
02043       723,  296,  721,  719,  727, 1173,  296,  296, 2436,  296,
02044       722,  296,  296, 1153,  718, 1163,  296,  720, 1164,  296,
02045       296,  715,  715,  715,  296,  296,  723,  725,  721,  296,
02046       727, 1173,  296,  296,  729,  296,  296,  296, 2436, 2436,
02047       296,  961, 1163,  731,  296, 1164, 2436,  728, 2436, 2436,
02048       732, 1166,  296, 2436,  725,  962,  296, 1170,  730,  296,
02049       296,  729,  296,  296,  296,  733,  296,  296,  961,  296,
02050       731,  296,  296,  728,  296,  296,  732,  296, 1166,  743,
02051       296,  962, 1000,  296, 1170, 1001,  735, 2436, 2436, 2436,
02052 
02053      2436, 2436, 2436,  296, 2436,  742,  296,  296,  734,  296,
02054      2436,  296,  296, 1177,  296,  296,  743,  296, 1000,  744,
02055       296, 1001,  735,  736,  737,  738,  739,  740,  296,  296,
02056       296,  296,  741,  296,  296, 1174,  296,  296,  296,  296,
02057      1177,  296,  296, 1176,  745,  744, 2436, 2436,  748,  746,
02058      2436,  747, 2436, 2436,  343,  296,  296,  296,  296,  741,
02059       296, 1174,  762,  296,  296,  296,  296, 1197,  296, 1176,
02060       745,  296,  296,  753,  748,  746,  749,  747, 1190,  296,
02061       296,  343, 2436, 2436, 2436, 2436, 2436, 2436, 2436,  762,
02062      2436, 2436, 2436, 1197,  296,  754,  296, 2436,  296,  296,
02063 
02064       753,  752,  296,  749,  296, 1190,  296,  296,  750,  610,
02065       292,  750,  610,  750,  750,  750,  750,  750,  750,  750,
02066       750,  296,  754,  296,  296,  296,  296, 2436,  752,  296,
02067       296,  296,  296,  296,  296, 2436,  755,  756,  296, 2436,
02068       758,  343, 2436,  757, 1191, 2436,  750,  750, 1192,  343,
02069       970,  296,  296,  296,  971,  763, 2436,  296, 2436,  296,
02070       296,  296,  755,  756, 2436,  296,  758, 2436,  343,  757,
02071      2436, 1191,  750,  750,  750, 1192,  343,  970, 2436, 2436,
02072       971,  763,  575,  575, 1193,  575,  575,  575,  764,  764,
02073       764,  764,  764,  764,  764,  343,  343,  343,  766,  343,
02074 
02075      2436,  768, 2436,  343,  343,  343,  773,  343, 2436,  343,
02076      2436, 1193, 1200,  767,  343, 2436,  769,  343, 2436, 2436,
02077       575,  764,  343,  343,  343,  766,  343,  770,  768,  343,
02078       343,  343,  343,  773,  343,  771,  343,  343, 1200,  767,
02079       772,  343,  769,  343,  343,  774,  575,  575,  575,  775,
02080       343,  343, 2436,  770, 2436,  343,  343,  343,  343,  343,
02081      2436, 2436, 1003,  343,  343, 1004,  772,  780, 2436,  776,
02082       343, 1194,  774,  777, 2436,  343,  775,  343,  343,  343,
02083      1195,  778,  343,  343,  343,  343,  343,  343, 1003,  781,
02084       343, 1004,  343,  343,  780,  776,  782, 1201, 1194,  777,
02085 
02086       343,  343,  343,  343, 1196,  779,  343, 1195,  778, 1202,
02087       343,  343, 2436,  784,  343,  781, 2436, 2436,  791,  343,
02088       343, 2436, 2436, 1201,  343, 2436, 2436,  343,  343,  783,
02089       343, 1196,  343, 2436, 1205, 1202,  793, 2436,  343,  784,
02090       785,  786,  787,  788,  789,  343,  343,  343,  343,  790,
02091       792,  343,  343,  343,  343,  343,  343, 2436, 1203,  343,
02092       343, 1205,  793,  794, 1204, 2436,  795, 1206, 2436, 2436,
02093       796, 1209,  343,  343,  343,  343,  790,  792,  343,  343,
02094       343,  343,  343,  343, 1203, 1039,  343,  343, 1040,  794,
02095      1204,  217,  795,  343, 1206,  797,  796,  798, 1209,  217,
02096 
02097      2436,  343, 2436, 2436, 2436,  343, 2436, 2436, 2436, 2436,
02098      2436, 1039, 2436,  343, 1040,  343, 2436,  343,  217, 2436,
02099       343,  797,  801,  343,  798,  343,  217,  804,  343,  610,
02100       610, 1207,  610,  610,  610,  799,  799,  799,  799,  799,
02101       799,  799,  343,  343,  343,  802,  343,  803,  343,  801,
02102       343,  343,  343,  804,  343,  343,  343, 1207, 1208,  805,
02103      1210,  343, 1211,  343, 2436,  807, 2436,  610,  799,  343,
02104       343, 1212,  802,  343,  803,  343, 1213, 1214,  343,  806,
02105      2436,  343,  343,  343, 1208,  805, 2436, 1210,  343, 1211,
02106       343,  807,  217,  610,  610,  610,  343, 1212,  847, 2436,
02107 
02108       217, 2436, 1213, 2436, 1214,  806,  610,  610, 1217,  610,
02109       610,  610,  610,  610,  610,  610,  610,  610,  610,  217,
02110       217,  217,  852,  217,  217,  847,  850,  217,  217,  217,
02111       217,  217,  217, 2436,  217, 1217,  855,  853,  217, 2436,
02112       851,  854,  217, 2436,  610,  610, 2436,  217,  217,  852,
02113       217,  217,  217,  850, 2436,  217,  217,  217,  217,  217,
02114       217,  217,  855,  853, 1219,  217,  851,  854,  856,  217,
02115       610,  610,  610,  217, 2436,  217,  217,  217,  217,  217,
02116       217,  217,  217,  217,  217,  217,  217,  217,  217, 2436,
02117       217, 1219,  859,  862,  856,  861,  866, 2436, 2436, 1215,
02118 
02119       217,  860,  217,  217,  217,  217,  865,  217,  217,  217,
02120       217,  217,  217,  217, 1216,  217,  217,  217,  859,  862,
02121       863,  861,  866,  217,  217, 1215,  217,  869,  217,  872,
02122       217,  217,  865,  217,  217, 2436,  217,  217,  217, 1220,
02123      1216,  217, 2436,  217, 2436, 1218, 2436,  863,  874,  873,
02124       217,  217,  870,  217,  869,  217,  872,  217,  217,  875,
02125       217,  217,  217,  217,  217,  217, 1220,  217,  217,  217,
02126       217, 1218,  217,  876,  874,  873, 1233,  217, 2436, 2436,
02127       880, 2436, 2436, 2436, 2436, 2436,  875, 2436, 2436,  217,
02128      2436, 2436, 2436,  217,  217, 1221,  217,  217, 2436,  217,
02129 
02130       876,  217, 1233,  878,  217,  657,  657,  880,  657,  657,
02131       657,  657,  657,  657,  657,  657,  657,  657,  217,  217,
02132       217, 1222, 1221,  879,  217,  217,  217,  217,  217,  878,
02133       217,  296,  882,  217,  881, 2436,  877,  258,  217,  296,
02134       885, 2436,  883,  657,  657,  217,  217,  296, 1222,  258,
02135       879,  217,  217,  217,  217,  296, 2436,  217,  296,  882,
02136       217,  881,  877, 1223,  258,  217,  296,  885,  883,  657,
02137       657,  657,  890,  258,  296,  258,  258,  258, 2436,  888,
02138       258,  258,  296,  258, 2436,  258,  258,  891, 2436,  258,
02139      1223, 1235,  258,  889, 2436,  258,  892,  296, 2436,  890,
02140 
02141       258, 2436, 1224,  258,  258,  296,  888,  258,  258,  258,
02142       930,  258,  258,  891,  258,  258,  258, 1235,  258,  889,
02143       258,  258,  892, 2436,  296,  893, 2436,  258,  258, 1224,
02144       258,  258,  296, 2436,  894,  258,  930, 1237, 1238, 2436,
02145      2436,  258,  296,  258,  258, 2436,  258,  258, 2436,  258,
02146       296,  893,  258,  258,  258,  258,  258,  258,  258,  929,
02147       894,  897,  258,  258, 1237, 1238,  258,  258, 2436,  296,
02148       258,  258,  258, 2436,  899,  258,  898,  296, 1239,  258,
02149      2436,  258, 1244,  258,  258,  929,  258,  897,  258,  258,
02150       258,  258,  258,  258,  900,  258,  258,  258,  258,  258,
02151 
02152       899,  901,  258,  258, 1239,  258,  258,  906, 1244,  258,
02153       258,  258,  258,  904,  258,  258,  258,  258, 1245,  258,
02154       900,  258,  903,  258,  258,  258,  258,  258,  901,  258,
02155       258,  258,  258,  258,  906,  258,  258, 1078,  258,  904,
02156      1079,  907,  258,  909, 1245,  258,  258,  258,  903,  258,
02157       258,  258, 2436,  258,  258, 1241,  258,  912,  258,  258,
02158      1242,  258,  258, 1078,  910,  258, 1079, 2436,  911,  258,
02159       909,  258,  258,  258,  258,  913,  258,  258,  258,  258,
02160       258, 2436, 1241,  258,  912, 2436,  258, 1242,  258,  258,
02161       910, 1243,  258,  916,  911, 2436,  258,  258,  258, 1248,
02162 
02163       258,  258,  913, 1265,  258,  258,  258,  610,  610,  917,
02164       610,  610,  610,  610,  258, 1246,  258,  258, 1243, 1254,
02165       916,  914,  915,  258,  258, 1248,  258,  258,  258, 1265,
02166       258,  918,  258,  258, 2436,  258,  917,  258, 1255, 1256,
02167       258,  919, 1246,  258, 1267,  610, 1254,  914,  915,  258,
02168      2436, 2436,  258, 2436,  258, 2436,  258, 2436,  918, 2436,
02169       258,  296,  258, 1271,  258, 1255, 1256,  922,  919,  296,
02170      1267,  610,  610,  610,  610,  610, 1269,  610,  610,  610,
02171       610,  703,  703,  703,  703,  703,  703,  258,  296, 1271,
02172       296,  258,  296, 1270,  922,  258,  296,  925,  296,  296,
02173 
02174       296,  927, 2436, 1269,  920, 2436,  931,  296, 2436, 1273,
02175      2436,  926,  610,  703,  258, 2436,  928,  296,  258,  296,
02176      1270,  296,  258,  296,  925,  296,  296,  296,  927,  296,
02177       920,  296,  931,  296,  296,  296, 1273,  926,  610,  610,
02178       610,  296,  928,  296, 1274, 2436,  296,  296,  296,  935,
02179       296, 2436,  934,  936,  296,  296,  296,  296,  296,  296,
02180       296,  938,  296,  937,  296,  296, 2436,  296,  296,  296,
02181       296, 1274,  296,  296,  296, 2436, 2436,  296,  934,  936,
02182       941,  296,  296,  940,  296, 1277,  296, 1284,  938,  937,
02183       296,  296,  296,  296,  296,  945,  296,  944,  296,  296,
02184 
02185       947,  296,  296,  296,  296,  950,  941,  296,  296,  940,
02186       296,  296, 1277,  296, 1284,  296, 1285,  296,  949, 1286,
02187       296,  948, 1275,  296,  944,  296, 1276,  947,  296,  296,
02188       296,  296,  950,  953,  296,  296, 1295,  296,  296, 2436,
02189       296,  296,  296, 1285,  949,  951, 1286,  948, 1275,  296,
02190       296, 2436, 1276, 2436, 2436, 2436, 2436, 2436,  296,  953,
02191      2436, 2436, 1295, 2436, 2436,  296,  296,  296,  296,  954,
02192      2436, 2436,  951,  296,  955,  957,  296,  750,  610,  292,
02193       750,  610,  750,  750,  750,  750,  750,  750,  750,  750,
02194       296,  296,  296,  296,  296,  956,  954,  296,  296,  296,
02195 
02196       296,  955,  957,  343,  343,  296, 2436, 1297,  952,  960,
02197      1299,  343,  343, 2436,  958,  750,  750,  296,  296, 2436,
02198      2436, 2436,  956, 1300,  296,  296,  296, 2436, 2436, 1301,
02199       343,  343,  296, 1297,  952, 1306,  960, 1299,  343,  343,
02200       958,  750,  750,  750,  343,  343,  343,  965,  343,  963,
02201      1300, 2436,  343,  343,  343, 1301,  343, 2436, 2436,  968,
02202       343, 1306,  966,  964, 2436,  967, 1303, 1304,  343,  343,
02203       343,  343,  343,  343,  965,  343,  963,  343,  343,  343,
02204       343,  343,  343,  343,  343,  968,  969,  343,  966,  964,
02205       343,  967,  343, 1303, 1304,  343,  343,  343,  343,  343,
02206 
02207      2436,  972, 1305, 2436,  343,  343,  343,  343, 1308,  343,
02208       973,  343,  969,  343,  343, 2436,  974,  343,  976,  343,
02209       343,  343,  343,  343,  343,  343,  343,  972,  343, 1305,
02210       975,  343,  343,  343,  343, 1308, 1307, 2436, 1310,  979,
02211       343,  343,  974, 1327,  978,  976,  343,  343,  343,  343,
02212       343,  343,  985,  343,  343,  343,  975,  982,  343,  343,
02213       343,  343, 1307,  343, 1310,  979,  988,  343,  343, 1327,
02214       978,  343,  983,  343,  343,  343,  343,  343, 1316,  985,
02215       343,  343,  986,  987,  982,  993, 2436,  343,  343,  343,
02216       343, 2436,  343,  988,  343,  343,  989,  343,  343, 2436,
02217 
02218       343,  343,  343,  343,  343, 1316, 2436,  990,  986,  987,
02219       610,  610,  993,  610,  610,  610,  343,  343,  343,  343,
02220      1317, 1029, 1318,  989,  343,  995,  343,  343,  991,  343,
02221       343,  343, 1030,  990,  992,  994, 1031,  343,  343,  343,
02222      2436, 1329, 1331, 1332,  343,  343,  996, 1317,  610, 1318,
02223      2436, 2436,  995,  343,  991, 2436,  343,  343,  343, 1030,
02224      2436,  992,  994, 1031,  343,  343,  343, 1329, 1115, 1331,
02225      1332, 1116,  996, 1335,  610,  610,  610,  610,  610, 2436,
02226       610,  610,  610,  799,  799,  799,  799,  799,  799,  799,
02227       217,  217, 2436,  217, 1115, 2436, 1336, 1116,  217,  217,
02228 
02229      1335,  217, 2436, 1037, 2436, 1041, 1042, 1333, 2436, 1043,
02230      2436,  217, 2436,  217, 2436,  610,  799,  217,  217,  217,
02231       217,  217,  217, 1336, 2436,  217,  217, 1044,  217, 1037,
02232       217, 1041, 1042, 1333, 1045, 1043,  217,  217,  217,  217,
02233       217,  610,  610,  610,  217,  217,  217,  217,  217,  217,
02234      1050, 1047, 1337, 1044, 1046, 2436, 1338,  217, 2436,  217,
02235      1045,  217, 2436,  217,  217,  217,  217, 1052, 2436,  217,
02236       217,  217,  217,  217,  217, 1340, 1050, 1047,  217, 1337,
02237      1046,  217, 1338, 1339, 1056, 1057,  217, 1053,  217,  217,
02238      2436, 1054,  217,  217, 1052,  217,  217,  217, 1342,  217,
02239 
02240       217,  217, 1340,  217, 2436,  217, 1063,  217,  217, 1339,
02241      1056, 1348, 1057,  217, 2436,  217,  217, 1064, 1350, 1060,
02242       217,  217,  217,  217, 1342,  217,  217,  217,  217, 2436,
02243       217, 1066, 1063,  217,  217,  217, 2436, 1348, 1067, 1065,
02244       217,  217,  217, 1064, 1068, 1350, 1349, 1353,  217,  217,
02245       217,  217,  217,  217,  217, 1069, 1071, 1066,  217, 1070,
02246       217,  217,  217, 1351, 1067,  217,  217, 1073,  217,  217,
02247      2436, 1072, 1349,  217, 1353, 2436,  217,  217,  217, 1352,
02248       217, 1354, 1069, 1071, 1074,  217, 1070,  258,  217, 1351,
02249      2436, 1361,  217,  217, 1073, 2436,  217, 1072, 1076,  258,
02250 
02251       217,  258, 1080, 1363,  217, 1352,  258,  258, 1354,  258,
02252      1074, 2436, 1083, 1364,  258, 1365,  258, 1361, 1081,  258,
02253      2436, 1082,  258, 2436, 1076,  258,  258,  258, 1080, 1363,
02254       258, 1084,  258,  258,  258,  258,  258,  258, 1083,  258,
02255      1364, 1365,  258, 1085, 1081,  258,  258, 1082,  258, 1086,
02256      1366, 1089,  258,  258,  258, 2436,  258, 1084,  258,  258,
02257       258, 1367,  258,  258,  258,  258,  258, 1372, 1091, 1085,
02258       258, 1373,  258, 1376,  258, 1086, 1366, 1089,  258,  258,
02259       258,  258,  258, 2436,  258, 1096,  258,  258, 1367,  258,
02260      2436,  258, 1092,  258, 1372, 1091,  258,  258, 1373, 1095,
02261 
02262      1376,  258, 2436,  258, 1093,  258,  258, 2436,  258,  258,
02263       258, 1377, 1096,  258,  258, 2436,  258, 1101, 2436, 2436,
02264       258, 2436,  258,  258,  258, 1095,  258, 2436,  258,  258,
02265      1102, 1380, 1098,  258,  258, 2436, 1368,  258, 1377,  258,
02266      2436,  258, 1104, 1101,  258, 1105,  258,  258,  258,  258,
02267       258,  258,  258,  258, 1108,  258, 1102,  258, 1380, 1103,
02268      2436,  258, 1368, 2436,  258,  258,  258,  258, 1104, 1383,
02269       258, 1105, 1029,  258,  258,  258, 2436,  258, 2436,  258,
02270       258, 1108, 2436, 1106,  258, 1369, 1109, 1107, 2436,  258,
02271       258,  296,  258,  258,  258,  258, 1383, 2436,  258,  296,
02272 
02273      2436, 1400,  258, 1370, 1113,  258,  258, 1111,  258, 1110,
02274      1106, 1369, 1109, 1154, 1107,  258, 1155, 2436,  296, 2436,
02275       258,  258,  258,  258,  296,  258,  296,  296, 1400, 1370,
02276      1113,  258,  296, 1111,  258,  296, 1110, 1371, 1117, 1154,
02277      1118, 1374, 1155, 1119,  296,  296,  258,  296, 1405,  258,
02278      1378,  296,  296,  296,  296,  296, 2436, 2436, 1120,  296,
02279      1379, 1406,  296, 1371, 1117,  296, 1118, 1374, 1121, 1119,
02280       296,  296,  296,  296,  296, 1405, 1378,  296,  296,  296,
02281       296, 1126,  296, 1122, 1120,  296, 1379,  296, 1406, 1381,
02282      2436, 1123,  296,  296, 1121, 1128, 2436,  296,  296, 2436,
02283 
02284       296,  296,  296, 2436,  296,  296,  296, 1126, 1382, 1122,
02285       296, 2436,  296,  296,  296, 1381, 1132, 1123,  296, 1129,
02286       296,  296, 1128,  296, 1130,  296,  296, 1133,  296,  296,
02287       296,  296, 1409,  296, 1382, 1394, 1140,  296,  296, 1136,
02288       296, 1139, 1132,  296,  296,  296, 2436, 1416,  296, 2436,
02289       296,  296,  296,  296, 1133,  296,  296,  296,  296, 1409,
02290      1142, 1394, 1140,  296,  296,  296, 1144, 1139, 1143, 1141,
02291       296,  296,  296,  296, 1416, 1147,  296, 1145,  296,  296,
02292       296, 1146,  296,  296,  296,  296, 1142, 2436, 2436, 1148,
02293       296,  296, 1433,  296, 1143, 2436, 1437,  343,  296,  296,
02294 
02295       296, 1396, 1147,  296, 1145,  343,  296,  296, 1146, 2436,
02296      1152,  296,  296, 1150,  296, 1148, 1149, 1438,  343, 1433,
02297       296,  343,  296, 1437,  343,  296,  343, 1396, 2436,  343,
02298      2436, 1157,  343,  296, 1158, 1156, 1152, 1398,  343, 1150,
02299      1447,  296,  343, 1149, 1438,  343,  343,  343,  343,  296,
02300       343, 2436, 1159,  343,  343,  343,  343, 1157,  343, 2436,
02301      1158, 1156,  343, 1398, 2436,  343, 1167, 1447, 1464,  343,
02302      1160, 1399, 1161,  343,  343,  343,  343,  343, 1159,  343,
02303       343,  343,  343,  343,  343,  343, 1165,  343,  343,  343,
02304      1162,  343, 2436, 1167, 1171, 1464, 1160, 1399, 1161,  343,
02305 
02306       343,  343,  343,  343, 1172, 1168,  343,  343,  343,  343,
02307       343,  343, 1165,  343,  343,  343, 1162, 1169,  343, 1179,
02308      1171,  343,  343, 2436, 2436, 2436,  343,  343,  343,  343,
02309       343, 1172, 2436, 1178,  343,  343,  343,  343,  343, 1175,
02310       343, 2436,  343, 2436,  343, 1179,  343, 1183,  343,  343,
02311      1181, 1182,  343, 2436,  343, 1180,  343,  343, 1184, 1178,
02312       343,  343, 1185, 1186,  343,  343,  343,  343,  343,  343,
02313       343,  343, 1188,  343,  343,  343, 1181, 1182,  343,  343,
02314      1187,  343, 1402,  343,  217, 1184, 1469,  343, 2436, 1185,
02315      1186,  343,  217,  343,  343,  343, 1403,  343, 1189, 1188,
02316 
02317      1470,  343,  343, 2436, 2436,  343, 1187, 2436, 1402, 2436,
02318       343,  217,  217, 1469, 1225,  217, 2436, 1473,  343,  217,
02319       217, 1227, 1403,  217, 1189, 1198, 1198, 1470, 1198, 1198,
02320      1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,  217,  217,
02321      2436, 1225,  217, 1226, 1473,  217,  217,  217, 1227,  217,
02322       217, 1404, 1228,  217, 2436, 1407, 1232,  217,  217,  217,
02323       217,  217, 2436, 1198, 1198,  217,  217,  217,  217,  217,
02324      1226, 1229,  217,  217, 1236, 2436,  217, 1404, 2436, 1228,
02325       217, 1407, 1232, 2436,  217,  217,  217,  217,  217, 1198,
02326      1198, 1198, 1414,  217,  217,  217,  217, 1229, 1230, 1230,
02327 
02328      1236, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230,
02329      1230,  217,  217,  217,  217,  217, 1480, 1257, 1414,  217,
02330       217,  217,  217,  217, 2436, 1240, 2436, 2436,  258, 1234,
02331      2436,  258, 1247, 2436, 2436, 2436, 1230, 1230,  217,  217,
02332       217,  217,  217, 1480, 1257, 1415,  217,  217,  217,  217,
02333       217, 1240,  217,  217,  258, 1234, 1249,  258, 1247,  217,
02334       217,  217, 1230, 1230, 1230, 1250, 1251,  217, 1252, 1253,
02335       258, 1415, 1427,  258,  217, 2436,  217,  217, 2436,  217,
02336       217, 1429,  258, 1249, 2436, 1497,  217,  217,  217, 2436,
02337      1502, 1250, 2436, 1251,  217, 1252, 1253,  258, 1427,  258,
02338 
02339       258,  217, 1258,  217,  217, 1431, 1432, 1429,  258, 1435,
02340       258,  258, 1497,  258, 1259, 1260,  258, 1502,  258,  258,
02341      2436, 1436, 2436,  258, 1439, 1261,  258,  258,  258, 1258,
02342      2436, 1431, 1432, 2436, 2436, 1435,  258, 2436,  258,  258,
02343      2436, 1259, 1260,  258, 1281,  258,  258, 1436,  258,  258,
02344      1439, 1261,  258,  258,  258, 1198, 1198, 1445, 1198, 1198,
02345      1198, 1198, 1262, 1262, 1262, 1262, 1262, 1262, 2436, 1264,
02346       258, 1281,  258,  258,  258,  258,  258, 1266,  258,  258,
02347      1446, 1458, 1460, 1445, 1462, 1268,  258, 2436,  258, 1272,
02348      2436, 2436,  258, 1198, 1262, 1264,  258,  258,  258,  258,
02349 
02350       258,  258,  258, 1266, 2436,  258, 1446, 1458, 1460, 2436,
02351      1462, 1268, 1463,  258,  258, 1272,  258,  258,  258, 1198,
02352      1198, 1198,  258,  258, 2436,  258,  258,  258,  258, 1278,
02353       258,  258,  258, 1279, 2436,  258,  258, 2436, 1463,  258,
02354      1466, 1467,  296,  258,  258,  258, 1468, 2436,  258, 2436,
02355       296,  258, 2436,  258,  258, 1278,  258,  258,  258,  258,
02356      1279,  258, 1471,  258,  258,  258, 1466, 1467, 1503,  296,
02357      1280,  258, 1468,  258, 1478,  258, 1282,  296,  258, 1283,
02358       258, 2436, 1506,  258,  258, 2436,  258,  258, 1471,  296,
02359       296,  258, 1287, 2436, 1288, 1503, 1280,  296,  296,  258,
02360 
02361      1478,  258, 1479, 1282,  258,  296, 1283,  258, 1290, 1506,
02362       258,  258,  296,  296,  258,  296,  296,  296, 1289, 1287,
02363       296, 1288, 1491,  296,  296,  296, 2436, 1291, 1479, 2436,
02364      2436, 2436,  296, 2436, 2436, 1290, 2436, 2436, 2436,  296,
02365       296,  296,  296, 2436, 1493, 1289, 1512,  296, 1491,  296,
02366       296, 2436, 1294, 1291, 1292, 1198,  292, 1292, 1198, 1292,
02367      1292, 1292, 1292, 1292, 1292, 1292, 1292,  296,  296,  296,
02368      1493,  296,  296, 1512, 1495,  296,  296,  296, 1294,  296,
02369       296, 2436, 1298, 2436, 1302, 1296, 1496,  296, 2436,  296,
02370      2436, 1499, 1292, 1292,  296,  296,  296,  296,  296,  296,
02371 
02372      1495,  296,  296, 1515,  296,  296,  296,  296, 1298,  296,
02373      1302, 1296, 1496,  296,  296, 1500,  296, 1499, 1292, 1292,
02374      1292, 1517,  296, 1309,  296,  296,  296,  296,  296, 1311,
02375      1515, 1313,  296,  296,  296,  296,  296, 2436, 1312,  296,
02376       296, 1500, 1314, 1315, 2436, 2436, 1501,  343, 1517, 1309,
02377       296,  296,  296,  296,  296,  343, 1311,  343, 1313, 1319,
02378       296,  296,  296,  343, 1312,  343,  296,  343, 1320, 1314,
02379      1315,  343, 1501, 1321,  343,  343, 1521,  296,  296,  343,
02380       343, 2436,  343, 1322,  343,  343, 1319,  343,  343, 2436,
02381       343, 1323,  343,  343,  343, 1320, 2436, 2436,  343, 2436,
02382 
02383      1321, 2436,  343, 1521, 2436,  343,  343,  343, 1504, 2436,
02384      1322, 1511,  343,  343,  343,  343, 1326, 1323, 1198, 1198,
02385       343, 1198, 1198, 1198, 1324, 1324, 1324, 1324, 1324, 1324,
02386      1324,  343,  343,  343, 1504,  343,  343, 1511, 1513,  343,
02387       343,  343, 1326,  343,  343, 2436, 1330, 2436, 1334, 1328,
02388      1514,  343, 2436, 2436, 2436, 2436, 1198, 1324,  343,  343,
02389       343,  343,  343,  343, 1513,  343,  343, 1516,  343,  343,
02390       343,  343, 1330,  343, 1334, 1328, 1514,  343,  343, 1341,
02391      1343,  343, 1198, 1198, 1198,  343,  343,  343,  343,  343,
02392      1345, 1346,  343, 1516, 1344,  343,  343, 1518,  343,  343,
02393 
02394       343, 1347, 2436, 1526,  343, 1341, 1355, 1343,  343,  343,
02395      1356, 1358,  343,  217,  343, 1359,  343, 1345, 1346, 1529,
02396      1344,  217,  343, 1518, 1357,  343,  343,  217, 1347, 1360,
02397      1526, 2436, 1384, 1355, 2436,  217,  343, 1356, 1358,  217,
02398       217, 1385, 1359, 1386,  217,  217, 1529,  217,  217, 1387,
02399      1357, 2436,  217,  217,  217, 1360,  217, 1388, 1384, 2436,
02400       217, 1389,  217, 1531,  217, 2436,  217, 1385,  217, 2436,
02401      1386,  217,  217, 1522,  217, 1390, 1387,  217, 1391,  217,
02402       217, 1532, 1392,  217, 1388,  217, 1395,  217, 1389,  217,
02403      1531,  217,  217, 2436,  217,  217, 1393,  217, 1397, 1522,
02404 
02405       217, 1390,  217,  217,  217, 1391, 2436, 1401, 1532, 1392,
02406       258,  217,  217, 2436, 1419,  217,  217, 1413,  258,  217,
02407      1408,  217, 1393,  217,  217, 1397,  217,  217,  217,  217,
02408       217, 1525, 1410, 1401,  217,  217,  217,  258,  217, 1411,
02409      1528, 1419,  217,  217, 1413,  258, 1412, 1530,  258, 1533,
02410       217,  258,  258,  217, 1418,  217,  258, 1525,  258, 1410,
02411       258,  217,  217,  217, 1420, 1411, 1528, 1417,  258, 2436,
02412       217, 1540, 1412, 1530,  258,  258, 1533,  258,  258,  258,
02413      1418, 1421,  258,  258,  258, 1422,  258,  258,  258,  296,
02414       258, 1420,  258, 1417,  258,  258,  258,  296, 1540, 1423,
02415 
02416      2436,  258, 1534, 2436, 2436,  258, 2436, 1535, 1421,  258,
02417      2436, 2436, 1422,  258, 1428,  258,  296,  258, 2436,  258,
02418      1536,  258, 1542,  258,  296, 1423,  258, 1424, 1534,  258,
02419       258, 1425, 1430, 1535,  258, 2436,  258,  258, 1537,  258,
02420       258,  258, 1538, 1434,  258, 1426, 1536, 1519,  258, 1542,
02421      1520,  258, 1440,  258, 1424,  258,  258,  258, 1425, 1430,
02422      2436,  258,  258,  258, 1537,  258,  258,  258, 1538, 1434,
02423       258, 1426,  258, 1519,  258, 1441, 1520,  258, 2436, 1442,
02424      1443,  258,  258,  258,  258, 2436,  258,  258,  296, 1444,
02425       296, 2436, 2436,  296, 2436, 1539,  296, 1450,  296,  258,
02426 
02427       258,  296, 1441,  258, 1449, 1442, 1443, 1448,  258,  258,
02428       258,  296,  258,  258,  296,  296, 1444,  296, 1451,  296,
02429       296, 1539,  296,  296, 1450,  296,  258, 2436,  296,  258,
02430      1449, 1547, 1452, 1448,  296, 1455, 1453, 2436,  296, 1456,
02431      1556,  296,  296, 2436, 1541, 1451,  296,  296,  296,  296,
02432      1454, 1543, 2436, 1457, 1461,  296,  296,  296, 1547, 1452,
02433       296,  296, 1455, 1453,  296,  296, 1456, 1556,  296,  296,
02434      1541, 2436,  296, 1459,  296,  296, 1454, 1543, 1465, 1457,
02435       296, 1461,  296,  296,  296,  296, 1474,  296,  296,  296,
02436      1472,  296,  296,  296,  343,  296, 1475,  296,  343,  296,
02437 
02438      1476,  296,  343, 1477, 1465, 2436,  343,  296, 1482,  296,
02439       343, 2436,  296, 1474, 1483,  296,  296, 1481,  343,  343,
02440       296,  343, 1475, 1484,  296,  343, 1476,  343,  296,  343,
02441      1477,  343,  343,  343, 1482, 1548,  296,  343, 1485,  343,
02442       343, 1483, 1486, 1481, 1555,  343,  343, 2436, 2436, 2436,
02443      1484, 1558,  343, 1488,  343, 2436, 1487, 1489,  343,  343,
02444       343, 1548, 1559, 2436,  343, 1485,  343,  343,  343, 1486,
02445      1555, 1490,  343,  343, 1494,  343,  343, 1558,  343,  343,
02446      1488,  343, 1487,  343, 1489, 1560,  343,  343,  343, 1559,
02447      1492,  343, 1564, 1498, 1507,  343,  343, 1490,  343,  343,
02448 
02449       343, 1494,  343,  343, 1505,  343,  343, 2436,  343, 1508,
02450       343, 1560,  343,  343, 1510,  343,  343, 1562, 1564, 1498,
02451       343, 1507, 1565,  343,  343,  343, 1523, 1509, 2436, 1524,
02452       217, 1563,  217,  343,  217, 1508, 1545,  217,  217,  343,
02453       217, 1510,  217,  343, 1562,  217, 1551,  343, 1565, 1544,
02454      1546,  343, 1523, 1509,  217, 1524, 1572,  217, 1563,  217,
02455      1577,  217, 1566, 1545,  217,  217,  217,  217, 1549,  217,
02456      1567, 1550,  217, 1551,  217, 1544, 1546,  217, 1561, 2436,
02457      1552,  217,  217, 1572, 1568,  217,  217, 1577, 1566, 1569,
02458       217,  217,  217,  217, 1549, 1553, 1567, 1550, 1554,  217,
02459 
02460       217,  217, 1571, 1557,  217, 1561, 1552, 1586,  217,  217,
02461      1568, 1573,  217,  217, 1578, 1569,  217,  217,  217,  217,
02462      1579, 1553, 2436, 1580, 1554,  217,  217,  217, 1571, 1570,
02463       258, 2436, 1585,  217, 1586,  217, 1575, 1573, 1588, 1589,
02464      1578,  258, 1592,  217,  258, 1574, 1579,  258,  258, 1580,
02465       258, 2436,  217, 1590,  258, 2436, 1570,  258, 1585, 1576,
02466       217, 1593,  258, 1575, 1588,  258, 1589,  258,  258, 1592,
02467       258, 1574, 1594,  258, 1581,  258,  258,  258,  258, 1590,
02468      1582,  258,  258, 2436,  258, 1576,  258, 1593,  258, 1595,
02469      2436,  258, 1596,  258,  258, 1597, 1599, 1583, 1594, 1601,
02470 
02471      1584, 1581, 1600,  258,  258,  258, 1582,  258, 1591,  258,
02472       258, 2436,  258,  258, 2436, 1595,  258, 1587, 1596, 2436,
02473       258, 1597, 1599, 1583,  258, 1601, 1584, 1606,  258, 1600,
02474       258, 2436,  258,  258,  258, 1591,  258,  258,  258,  258,
02475       258, 1598,  258,  258,  258,  258,  296, 1605, 1603,  296,
02476       296,  258, 1609, 1606,  296,  258, 1613,  296,  296,  258,
02477       296,  258, 1616,  258,  258,  258, 1602,  258, 1598,  258,
02478       296,  258,  258,  296, 1605, 1603,  296,  296,  296, 1609,
02479      1618,  296, 1613, 1604,  296,  296, 1607,  296, 1616, 1608,
02480       296, 1614, 1602,  296,  296, 1617, 1620,  296,  296, 1621,
02481 
02482      1619,  296,  296, 2436, 1610,  296, 1618, 1611,  296, 1604,
02483      1612, 1622, 1607, 1623, 1624, 1608, 1625,  296, 1614, 1615,
02484       296,  296, 1617, 1620, 1626,  296, 1621, 1619,  296,  296,
02485      1610, 1627, 1629, 1611, 1630,  296, 1612, 1622,  296, 1623,
02486      1624,  296, 1625,  296,  296, 2436,  296,  343, 1628,  296,
02487      1626,  296,  296, 2436, 1631,  343, 2436, 1627, 1629,  343,
02488      1635, 1630, 1636, 2436, 1632,  296, 2436,  343,  296,  343,
02489       296,  296, 1634,  296,  343, 1628,  296,  343,  296,  296,
02490      1631,  343,  343, 1633, 2436, 1639,  343, 1635, 1636,  343,
02491      1632, 2436, 1637,  343,  343, 1638,  343,  343, 1634, 1643,
02492 
02493      1644,  343, 2436, 1646,  343,  343, 2436,  343,  343,  343,
02494      1633, 1640, 1639, 1648, 1641,  343,  343, 1642, 1637, 1647,
02495       343, 1638, 1649, 1650,  343, 1643, 1651, 1644,  343, 1646,
02496       343, 2436,  343, 1645,  343, 1652,  343, 1640, 1653, 1648,
02497      1641, 1654,  343, 1642, 1655, 1656, 1647, 1657,  343, 1649,
02498      1650,  343,  343, 1651,  343, 1659,  343,  343, 1658,  343,
02499       343, 1652,  343, 1662, 1653, 1660, 1661, 1654, 1663, 1664,
02500      1655, 1656, 1665, 1657, 1666,  343, 1667, 1668,  343,  343,
02501      1669,  343, 1659,  343, 1670, 1658,  343,  343, 1671,  343,
02502      1662, 1660, 1661, 1672, 1663, 1664, 1673, 1674, 1675, 1665,
02503 
02504      1676, 1666, 1677, 1667, 1668, 1678, 1679, 1669, 1680, 1681,
02505      1682, 1670, 1683, 2436, 1684, 1671, 1685, 2436, 1686, 1687,
02506      1672, 1689, 1673, 1674, 1675, 1690, 1676, 1691, 1677,  217,
02507       217, 1678, 1679, 1692, 1680, 1681, 1682,  217,  217, 1683,
02508      1684, 1703, 1695, 1685, 1686, 1696, 1687, 1697, 1689, 1693,
02509       217, 1690, 1698, 1691,  217, 2436,  217,  217,  217, 1701,
02510      1692, 2436,  217, 2436,  217,  217, 1704, 1703, 1694, 1695,
02511      1705, 1706, 1696, 1707, 1697, 1693,  217,  217, 1699, 1698,
02512       217,  217, 1700, 2436,  217,  217, 1701,  217,  217,  217,
02513      1708, 1710, 1704, 1702, 1694,  217, 1705, 1706, 1711, 1707,
02514 
02515      1712, 1713,  217,  217, 1714, 1699, 1715,  217, 1716, 1700,
02516       217,  217, 1720, 1709,  217,  217, 1708, 1710, 1717, 1719,
02517      1702, 1721,  217,  217, 1711, 1725, 1712, 1726, 1713,  217,
02518      1714,  217,  258, 1715, 1716, 1733, 1722,  217, 1720, 1709,
02519       258, 1727, 1728, 2436,  258, 1717, 1719, 1721,  258, 1718,
02520       217, 2436, 1725,  258, 1726, 2436,  258, 1734,  217,  258,
02521      1724, 1733, 1723, 1722, 2436, 1735, 1729,  258, 1727, 1728,
02522      1730,  258, 1736, 1742,  258,  258, 1737,  258, 1731,  258,
02523       258,  258,  258, 1734,  258, 1738, 1724,  258, 1723, 1740,
02524      1732, 1735,  258, 1729, 1741, 1743, 1744, 1730, 1736,  258,
02525 
02526      1742,  258, 1737,  258, 1745, 1731,  258,  258, 2436, 1739,
02527       258, 1738,  258, 1747,  258, 1740,  258, 1732,  258,  258,
02528      1741, 1743,  258, 1744, 1748,  258,  258, 1749,  296, 1753,
02529      1745, 1761, 1750,  296, 1746, 1739,  296, 1754,  258,  296,
02530      1747,  296,  258, 1755, 1756,  258, 1762,  296,  258, 1771,
02531      1748, 1752,  258, 1749, 2436,  296, 1753, 1761, 1751, 1750,
02532       296, 2436, 1763,  296, 1754,  296,  296, 1757,  296, 1764,
02533      1755, 1756, 1762,  296,  296,  296, 1771, 1752,  296, 1773,
02534      1758, 1760,  296,  296, 1751, 1765,  296, 1759, 1763, 1766,
02535       296, 1775,  296,  296, 1757, 1764, 1768, 1769, 1770, 1772,
02536 
02537       296,  296,  296, 1774, 1767,  296, 1773, 1758, 1760,  296,
02538       296, 1765, 1777,  296, 1759, 1766, 1778,  296, 1775,  296,
02539       296, 1779, 1768, 1769, 1770, 1772,  343,  296,  296, 1774,
02540      1767, 1783,  343,  343,  343, 1784, 1780, 1785, 1786, 1777,
02541       343,  343, 1778, 1791, 1782, 1776,  296, 1779,  343, 2436,
02542      1787, 2436, 1781,  343,  296, 1801,  343, 2436, 1783,  343,
02543       343,  343, 1784, 1780, 1785, 1786,  343,  343,  343, 1791,
02544      1782,  343, 1790, 1788,  343,  343,  343, 1787, 1781,  343,
02545      1803, 1789, 1801,  343,  343, 2436, 1792, 1793, 1794, 1795,
02546      1796, 1798, 1799,  343,  343, 2436, 1800, 1802,  343, 1790,
02547 
02548      1788,  343,  343,  343, 1804, 1797,  343, 1803, 1789, 1805,
02549      1807,  343, 1792, 1793, 1794, 1795, 1796, 1798, 1799,  343,
02550      1809,  343, 1800, 1802, 1808, 1810, 1811,  343, 1814,  343,
02551      1804, 1797, 1812, 1813, 1815, 1816, 1805, 1807, 1817, 1818,
02552      1819, 2436, 1820, 1821, 1822, 1806,  343, 1809, 1823, 1824,
02553      1808, 1810, 1811, 1825,  343, 1814, 1826, 1827, 1812, 1813,
02554      1815, 1816, 1828, 1829, 1817, 1831, 1818, 1819, 1820, 1821,
02555      1822, 1832, 1835, 1830, 1823, 1824, 1836,  217,  217,  217,
02556      1825, 1833, 1826, 1837, 1827,  217,  217,  217, 1828, 1838,
02557      1829, 2436, 1831, 1844, 1834, 1845, 1843, 1832, 1835, 1830,
02558 
02559      1846, 1847, 1836,  217,  217,  217,  217,  217, 1833, 1837,
02560       217,  217,  217,  217,  217,  217, 1838, 1839,  217, 1844,
02561      1834, 1845, 1840, 1843, 1841,  217, 1846, 1847,  217, 1842,
02562       217, 1848, 1849,  217,  217, 1850,  217,  217,  217, 1851,
02563      2436, 1852,  217, 1839, 1853,  217, 1855, 2436, 1840, 1856,
02564      1841, 1859,  217, 2436, 1854,  217, 1842, 1848, 1860, 1849,
02565       217, 1850, 1857,  217, 1861,  258, 1851, 1852, 1862,  258,
02566      2436, 1853,  258, 1855,  258, 1856,  258, 1859, 1868,  258,
02567      1854,  258, 1869, 1858, 1860, 2436, 2436, 2436,  258, 1857,
02568      1861, 1867,  258,  258, 2436, 1862,  258,  258,  258,  258,
02569 
02570       258,  258, 2436,  258, 1868, 1863,  258,  258, 1869, 1858,
02571       258, 1864,  258,  258,  258, 1865, 1870, 1866, 1867,  258,
02572       258,  258, 2436, 1871,  258,  258,  258, 1873,  258, 1872,
02573       258, 1863, 1874, 1875,  258, 1878,  258, 1864,  258, 1879,
02574       258, 1865, 1870, 1882, 1866,  258, 1876, 1885,  258, 1871,
02575      1883,  296, 1890,  258, 1873, 1872, 1877,  258, 1874,  296,
02576      1875,  258, 1878,  296,  296, 1879, 1880, 2436, 1881, 1882,
02577      1884,  296,  296, 1876, 1885,  296, 1883, 1891,  296, 1890,
02578      1892,  296, 1877,  296, 2436, 1886,  296,  296, 1896,  296,
02579       296,  296, 1893, 1880, 1881,  296, 1884, 1894,  296,  296,
02580 
02581      1887, 1888,  296, 1891,  296,  296, 1892, 1895,  296, 1889,
02582       296, 1886,  296,  296,  296, 1896,  296, 1897, 1893, 1898,
02583      2436, 1899,  296, 1894, 1900, 1902, 1887, 1888, 1903,  343,
02584      1909,  296,  296, 1895, 1901, 1906, 1889,  343, 2436,  296,
02585       296,  343,  343, 1897, 1904, 1914, 1898, 1899, 1907,  343,
02586       343, 1900, 1902, 1908, 1903,  343,  343, 1909, 1915, 1905,
02587      1901, 1906,  343,  343,  343, 1910, 2436, 1916,  343,  343,
02588       343, 1904, 1914, 1917, 1907, 1918,  343,  343,  343, 1908,
02589      1919, 1911,  343, 1920, 1915, 1905,  343,  343, 1922,  343,
02590       343, 1910, 1912, 1916,  343,  343, 1926,  343, 1913, 1917,
02591 
02592      1921, 1918,  343, 2436, 1923,  343, 1919, 1911, 1927, 1924,
02593      1920, 1928, 1930,  343,  343, 1922, 1929, 1931, 1912, 1925,
02594      1932,  343,  343, 1926, 1933, 1913, 1921, 1934, 1936,  343,
02595      1923, 1935, 1937, 2436, 1938, 1927, 1924, 1940, 1928, 1930,
02596      1941, 1943, 1929, 1931, 1942, 1925, 1944, 1932, 1945, 1947,
02597      1933, 1948, 1949,  217, 1934, 1936, 1950, 1935,  217, 1937,
02598      1938,  217, 1946,  217, 1940, 1957,  217, 1941, 1943, 1951,
02599      1942,  217, 2436, 1944, 2436, 1945, 1947, 1948,  217, 1949,
02600       217, 1955, 1950, 1956,  217,  217,  217, 1959,  217, 1946,
02601       217, 1957,  217,  217, 1961, 1952, 1951, 1954,  217,  217,
02602 
02603      1960, 1953, 1962, 1963, 1964,  217, 2436,  217, 1955, 1967,
02604      1956,  217, 1966,  217, 1959, 1968, 2436, 1969, 1974,  217,
02605      1961, 1952, 1976, 1954, 1975, 2436,  217, 1960, 1953, 1962,
02606      1963, 1964,  258,  258,  217, 1967,  258, 1965, 1972, 1966,
02607       258,  258, 1968, 1969,  258, 1974, 2436, 1970, 1976,  258,
02608      1978, 1975,  258, 1979, 2436, 1980,  258, 1981,  258,  258,
02609       258,  258,  258,  258, 1965, 1972, 1982,  258,  258, 1986,
02610       258,  258, 1971, 1973, 1970,  258,  258, 1978,  258, 1983,
02611      1979, 1980,  258,  296, 1981,  258,  296, 1985,  258,  258,
02612      1984,  296, 1987, 1982,  296, 1986,  258, 1988, 1971, 1973,
02613 
02614      2436,  296,  258,  296, 1993, 2436, 1983, 1989, 2436,  296,
02615       296,  296, 1994,  296, 1985, 1995, 1997, 1984,  296, 1987,
02616      1990,  296, 1998, 1988,  296, 2000, 1991,  296,  296, 1999,
02617       296, 1993,  296, 2001, 1989,  296,  296, 2002,  296, 1994,
02618      1992, 1995,  343, 1997, 2004, 2006, 1990, 2005, 2007, 1998,
02619       343,  296, 2000, 1991,  296, 1999, 2436,  343, 2012,  296,
02620      2001, 2003,  296, 2436, 2002,  343, 1992, 2013, 2436,  343,
02621       343, 2004, 2006, 2005, 2007, 2014, 2008,  343,  343,  343,
02622      2016,  343,  343, 2010,  343, 2012, 2017,  343, 2003,  343,
02623       343, 2019,  343, 2018, 2013, 2011, 2009,  343, 2020, 2021,
02624 
02625      2022, 2014, 2023, 2008, 2024,  343,  343, 2016,  343,  343,
02626      2010, 2025, 2026, 2017,  343, 2027,  343,  343, 2019, 2018,
02627      2028, 2011, 2009, 2029, 2030, 2020, 2021, 2022, 2023, 2031,
02628      2032, 2024, 2033, 2034, 2035, 2037, 2040, 2025, 2026, 2038,
02629      2039, 2027, 2042,  217, 2043, 2436, 2041, 2028, 2044, 2029,
02630      2030,  217, 2436, 2045, 2051, 2031,  217, 2032, 2033, 2034,
02631      2035, 2436, 2037, 2040,  217, 2038, 2039,  217, 2042,  217,
02632       217, 2043, 2046, 2041, 2044,  217,  217,  217,  217, 2045,
02633      2047, 2051, 2050,  217,  217, 2436, 2048, 2049, 2052, 2053,
02634      2054,  217, 2056, 2059,  217, 2057,  217, 2058, 2046, 2061,
02635 
02636      2062, 2436,  217,  217,  217, 2063, 2060, 2047, 2050,  258,
02637      2436,  217, 2048, 2049, 2052, 2053, 2054, 2064,  258, 2056,
02638      2059, 2057,  258, 2058,  258, 2061, 2066, 2062,  258, 2070,
02639       258, 2063,  258, 2060,  258,  258,  258,  258, 2065, 2069,
02640      2071, 2068, 2072, 2064,  258, 2073, 2067, 2075, 2078,  258,
02641      2076,  258, 2077, 2066, 2081,  258, 2070,  258, 2080,  258,
02642       258,  258, 2082,  258, 2065, 2069, 2071, 2068, 2072, 2083,
02643      2088, 2073, 2067, 2089, 2075, 2078, 2076,  296, 2077,  296,
02644      2079, 2081,  296, 2085, 2080,  296,  296,  296, 2082, 2090,
02645       296, 2436, 2091,  296,  296, 2083, 2088, 2092, 2084, 2094,
02646 
02647      2089,  296, 2436, 2095,  296, 2086,  296, 2079, 2096,  296,
02648      2085, 2087,  296,  296,  296, 2090, 2097,  296, 2091,  343,
02649       296,  296, 2098, 2092, 2084, 2099, 2094,  343,  296, 2095,
02650      2100, 2086, 2101, 2102, 2096, 2108,  343, 2087, 2436, 2107,
02651      2436, 2109, 2110, 2097,  343, 2113,  343,  343, 2436, 2098,
02652      2111, 2099, 2103, 2117,  343,  343,  343, 2100, 2101, 2102,
02653      2104,  343, 2108,  343,  343, 2107, 2105, 2109, 2110,  343,
02654      2120,  343, 2113, 2114,  343, 2115, 2111, 2116, 2103, 2106,
02655      2117, 2118,  343,  343, 2119, 2121, 2122, 2104,  343, 2123,
02656      2126,  343, 2105, 2125, 2127, 2130,  343, 2120, 2128, 2114,
02657 
02658       217, 2115, 2129, 2116, 2131, 2106,  217, 2118,  217, 2136,
02659      2119, 2121, 2122, 2135,  217,  217, 2123, 2126, 2133, 2125,
02660      2132, 2127, 2130,  217, 2128, 2138,  217,  217, 2129,  217,
02661      2131, 2139, 2140,  217,  217,  217, 2136,  217, 2143, 2135,
02662      2141,  217,  217, 2134, 2142, 2133, 2132, 2144, 2148, 2436,
02663       217, 2138, 2436,  217, 2151, 2149,  217, 2152, 2139, 2140,
02664       258,  217, 2436,  258,  217, 2143, 2141,  258,  258, 2134,
02665      2142, 2145, 2153, 2144, 2148,  258, 2146,  296,  258,  258,
02666      2151,  258, 2149, 2154, 2152,  296,  258, 2155,  258,  258,
02667       258, 2157, 2147,  258,  258,  258, 2156, 2145,  258, 2153,
02668 
02669      2161,  258, 2436, 2146,  296,  258,  258,  258,  258, 2154,
02670      2162, 2436,  296, 2155,  258, 2164,  258, 2157, 2147,  296,
02671       296,  296,  258, 2156, 2159,  258, 2161,  296,  296,  296,
02672       296, 2165, 2166,  258, 2158, 2167, 2160, 2162,  296, 2436,
02673      2168, 2164,  343, 2169, 2436, 2170,  296,  296,  296, 2436,
02674       343, 2159, 2436, 2174,  296,  296,  296,  296, 2165, 2166,
02675      2158, 2167, 2160, 2175,  343,  296, 2168,  343, 2178,  343,
02676      2169, 2170,  343,  343,  343,  343, 2172,  343, 2171, 2174,
02677      2177,  343,  343, 2436, 2173, 2179, 2436, 2180, 2181, 2183,
02678      2175,  343, 2184, 2185,  343, 2178, 2186, 2187, 2189,  343,
02679 
02680       343,  343,  343, 2172, 2171, 2188, 2177, 2190,  343,  343,
02681      2173, 2191, 2179, 2180, 2181, 2192, 2183, 2193, 2184, 2195,
02682      2185,  217, 2198, 2186, 2187, 2189, 2200,  217,  217,  217,
02683      2199, 2188, 2197, 2201, 2190,  217,  217, 2191, 2202, 2436,
02684      2196, 2192, 2203, 2193, 2204, 2205, 2195, 2207,  217, 2198,
02685      2210, 2211, 2200, 2194,  217,  217,  217, 2199, 2212, 2197,
02686      2201, 2213,  217,  217, 2214, 2202, 2196, 2215, 2203,  258,
02687      2204, 2205,  258,  258, 2207,  258,  258, 2210, 2211, 2209,
02688      2436, 2216, 2217,  258, 2212, 2219, 2436, 2208, 2213, 2224,
02689       258, 2214, 2222, 2215, 2436, 2436,  258, 2206, 2227,  258,
02690 
02691       258,  296,  258,  258, 2223, 2225, 2209, 2216, 2217,  296,
02692       258, 2226, 2219, 2208,  296, 2224,  258,  296, 2231, 2222,
02693      2220, 2221,  296, 2234, 2227,  296, 2436, 2228,  296, 2229,
02694      2235, 2223, 2225, 2436,  343,  343,  296, 2237, 2226, 2236,
02695      2218,  296,  343,  343,  296, 2231, 2220, 2238, 2221,  296,
02696      2234, 2239,  296, 2228, 2232, 2229, 2240, 2235, 2241,  343,
02697      2230,  343,  343, 2233, 2237, 2236, 2242,  343, 2243,  343,
02698       343, 2244, 2245, 2247, 2238, 2246, 2248, 2239, 2249, 2250,
02699      2232, 2251, 2240, 2252, 2241, 2253,  343, 2254, 2255, 2436,
02700      2233, 2258, 2259, 2242,  343, 2243, 2260, 2244, 2261, 2245,
02701 
02702      2247, 2246, 2248, 2262, 2249, 2250, 2263, 2251,  217, 2252,
02703       217, 2253, 2264, 2257, 2254, 2255,  217, 2258,  217, 2259,
02704      2265, 2256, 2260, 2266, 2261, 2267, 2436, 2270,  258, 2262,
02705      2271, 2278, 2263, 2272, 2279,  217, 2273,  217, 2264, 2268,
02706      2257, 2274,  258,  217, 2275,  217, 2265, 2256, 2269, 2436,
02707      2266,  258, 2267, 2270, 2276,  258, 2277, 2271, 2278, 2272,
02708       258, 2279, 2273,  296, 2283, 2268,  296, 2274,  258, 2281,
02709      2275,  296, 2436, 2282,  296, 2269, 2280, 2284,  258, 2285,
02710      2276, 2286, 2277, 2287, 2288, 2289,  258, 2290, 2291,  343,
02711       296, 2283, 2293,  296, 2294, 2295, 2281,  343,  296, 2282,
02712 
02713       343,  296, 2280, 2284, 2296, 2285, 2297, 2286,  343, 2287,
02714      2288, 2289, 2298, 2292, 2290, 2291,  343, 2299, 2300, 2293,
02715      2294, 2301, 2295, 2302,  343, 2303, 2304,  343, 2305, 2306,
02716      2296, 2307, 2297, 2308, 2309,  343, 2310,  217, 2298, 2292,
02717      2311, 2312,  217, 2299, 2300,  217, 2436, 2313, 2301, 2302,
02718       217, 2317, 2303, 2304, 2305, 2306, 2314, 2307, 2315, 2308,
02719      2316, 2309, 2310, 2318,  217, 2320, 2325, 2311, 2312,  217,
02720      2321, 2319,  217, 2313,  258, 2328,  258,  217, 2317,  258,
02721      2436, 2322, 2314,  258, 2315, 2323, 2316, 2324,  258, 2318,
02722      2326,  296, 2320, 2325, 2327, 2333, 2321,  296, 2319,  296,
02723 
02724      2436,  258, 2328,  258, 2329,  296,  258, 2322, 2330,  258,
02725      2331, 2323, 2332, 2324,  258, 2334, 2326,  343,  296,  343,
02726      2335, 2327, 2333, 2336,  296,  343,  296,  343, 2436, 2337,
02727      2329, 2338,  296, 2339, 2330, 2340, 2331, 2341, 2332, 2342,
02728      2343, 2334, 2344, 2346,  343, 2345,  343, 2335,  217, 2349,
02729      2336, 2347,  343, 2348,  343, 2337,  217, 2338, 2350, 2339,
02730      2351, 2340, 2352, 2353, 2341, 2342, 2343, 2354, 2356, 2344,
02731      2346, 2345, 2355, 2357,  296,  217, 2349, 2347,  258, 2348,
02732      2358,  258,  296,  217, 2350, 2359, 2361, 2351, 2352, 2353,
02733       258, 2360,  343, 2364, 2354, 2356, 2362, 2363, 2355, 2357,
02734 
02735       343,  296, 2365, 2366, 2368,  258, 2358, 2367,  258,  296,
02736      2369, 2370, 2359, 2361, 2371, 2373,  258, 2360, 2372,  343,
02737      2364, 2374, 2362, 2363, 2375, 2376, 2378,  343, 2365, 2377,
02738      2366, 2368, 2379, 2367, 2380, 2381, 2369, 2382, 2370, 2383,
02739      2385, 2371, 2373, 2384, 2372, 2386, 2388, 2374, 2387, 2389,
02740      2390, 2375, 2376, 2378, 2391, 2377, 2392, 2395, 2379, 2393,
02741      2394, 2380, 2381, 2382, 2396, 2397, 2383, 2385, 2398, 2384,
02742      2399, 2400, 2386, 2388, 2387, 2389, 2401, 2390, 2402, 2403,
02743      2391, 2404, 2406, 2392, 2395, 2393, 2394, 2405, 2407, 2408,
02744      2396, 2397, 2409, 2410, 2411, 2398, 2399, 2400, 2412, 2413,
02745 
02746      2414, 2415, 2417, 2401, 2402, 2403, 2416, 2418, 2404, 2406,
02747      2419, 2436, 2420, 2405, 2421, 2407, 2408, 2422, 2423, 2409,
02748      2410, 2411, 2424, 2425, 2426, 2412, 2413, 2414, 2415, 2417,
02749      2427, 2428, 2416, 2418, 2429, 2430, 2432, 2419, 2420, 2431,
02750      2433, 2421, 2434, 2422, 2435, 2423, 2436, 2436, 2424, 2436,
02751      2425, 2426, 2436, 2436, 2436, 2436, 2427, 2436, 2428, 2436,
02752      2429, 2436, 2430, 2432, 2436, 2431, 2433, 2436, 2436, 2434,
02753      2435,  167,  167,  167,  167,  167,  167,  167,  167,  167,
02754       168,  168,  168,  168,  168,  168,  168,  168,  168,  173,
02755       173,  173, 2436,  173,  173,  173,  173,  173,  176,  176,
02756 
02757       211,  211, 2436,  211,  211,  211,  211,  211,  211,  212,
02758       212, 2436,  212,  212,  212,  212,  212,  212,  214,  214,
02759       214,  214,  214,  214,  214,  214,  214,  217,  217, 2436,
02760       217,  217,  217,  217,  217,  217,  252,  252, 2436,  252,
02761       252,  252,  252,  252,  252,  253,  253,  253, 2436,  253,
02762       253,  253,  253,  253,  256,  256,  256,  256,  258,  258,
02763       258,  258,  292, 2436,  292, 2436,  292,  292,  292,  292,
02764       292,  296, 2436,  296, 2436,  296,  296,  296,  296,  296,
02765       329,  329,  329,  329,  329,  329,  329,  329,  329,  335,
02766       335,  340,  340,  340,  340,  340,  343,  343,  343,  343,
02767 
02768       343,  379,  379,  379,  379,  379,  379,  379,  379,  379,
02769       576,  576, 2436,  576,  576,  576,  576,  576,  576,  611,
02770       611, 2436,  611,  611,  611,  611,  611,  611,  623,  623,
02771      2436,  623,  623,  623,  623,  623,  623,  658,  658, 2436,
02772       658,  658,  658,  658,  658,  658,  670,  670, 2436,  670,
02773       670,  670,  670,  670,  670,  704,  704, 2436,  704,  704,
02774       704,  704,  704,  704,  716,  716,  716,  716,  716,  716,
02775       716,  716,  716,  751,  751,  751,  751,  751,  751,  751,
02776       751,  751,  765,  765, 2436,  765,  765,  765,  765,  765,
02777       765,  800,  800, 2436,  800,  800,  800,  800,  800,  800,
02778 
02779       610,  610, 2436,  610,  610,  610,  610,  610,  610,  657,
02780       657, 2436,  657,  657,  657,  657,  657,  657,  703,  703,
02781      2436,  703,  703,  703,  703,  703,  703,  750,  750,  750,
02782       750,  750,  750,  750,  750,  750,  799,  799, 2436,  799,
02783       799,  799,  799,  799,  799, 1199, 1199, 2436, 1199, 1199,
02784      1199, 1199, 1199, 1199, 1231, 1231, 2436, 1231, 1231, 1231,
02785      1231, 1231, 1231, 1263, 1263, 2436, 1263, 1263, 1263, 1263,
02786      1263, 1263, 1293, 1293, 1293, 1293, 1293, 1293, 1293, 1293,
02787      1293, 1325, 1325, 2436, 1325, 1325, 1325, 1325, 1325, 1325,
02788        23, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
02789 
02790      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
02791      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
02792      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
02793      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
02794      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
02795      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436
02796     } ;
02797 
02798 static yyconst flex_int16_t yy_chk[10259] =
02799     {   0,
02800         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02801         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02802         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02803         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02804         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02805         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
02806         1,    1,    1,    1,    1,    1,    1,    2,   22,   22,
02807      2169,    2,    3,    3,    3,    3,    3,    3,    3,    3,
02808         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
02809         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
02810 
02811         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
02812         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
02813         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
02814         3,    3,    3,    3,    3,    3,    3,    3,    3,    4,
02815        55,    6,   55,    4,    6,    6,    7,    7,    7,    7,
02816         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
02817         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
02818         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
02819         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
02820         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
02821 
02822         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
02823         7,    7,    7,    8,  168,  168, 2156,    8,    9,    9,
02824         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02825         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02826         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02827         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02828         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02829         9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
02830         9,    9,    9,    9,    9,   10,   11,   12,   14,   10,
02831        16,   12,   14,   18,   16,   20,  401,   18,   34,   20,
02832 
02833        29,   29,   29,   29,   29,   29,   31,   35,   31,   32,
02834        50,   38,   36, 2143,   50,   36,   41,   32,   30,   30,
02835        30,   30,   30,   30,   43,   34,  214,   77,  214,  401,
02836        18,   77,   31,   35,   31, 2130,   32,   38,   36,   30,
02837        33,   36,   41,   33,   32,   40, 2120,   33,   44,   48,
02838        43,   11,   12,   13,   13,   13,   13,   13,   13,   13,
02839        13,   13,   13,   13,   13,   30,   33,  103, 2117,   33,
02840      2109,  103,   40,   33,   44, 2090,   48,   56,   56,   56,
02841        56,   56,   56,  379,  379, 2071,   13,   13,   13,   13,
02842        13,   13,   15,   15,   15,   15,   15,   15,   15,   15,
02843 
02844        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
02845        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
02846        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
02847        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
02848        15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
02849        15,   15,   15,   15,   15,   15,   15,   15,   15,   39,
02850        42, 2052,   39,   45,  128,  128,   49,  128,   64, 2033,
02851        42,   39, 2017,   45,   47,   46,   64,   46,   47,  129,
02852        46,  131,   47, 1998,  163,  131,   39,   42,  163,   39,
02853        45,   46,   49, 1979,  175,   64,   42,   39,  115,   45,
02854 
02855      1960,   47,   46,   64,   46,   47,  115,   46,   60,   47,
02856        57,   57,   57,   57,   57,   57,   60,   46, 1941,   60,
02857        61,  175,   60,  177,   61,  115,   60,   88,   61, 1918,
02858        88,   57, 1894,  115,   88,   60,   81,   81,   81,   81,
02859        81,   81, 1871,   60,  129,   60,  131,   61,   60,  177,
02860       166,   61,   60,   88,  166,   61,   88,   57,   58,   58,
02861        88,   58,   58,   58,   58,   58,   58,   58,   58,   58,
02862        58,   62,   63,   65, 1847,  178,   70, 1823,  179,   62,
02863        63,   65, 1540,   63,   70, 1364,   63,   65,   58,  138,
02864        58,  138,  180,   62,  138,   70,   58,   58,   62,   63,
02865 
02866        65,  178, 1215,   70,  179, 1202,   62,   63,   65,   63,
02867       836,   70,   63,   65,   58,  138,   58,  138,  180,   62,
02868       138,   70,   58,   58,   58,   59,   59,  183,   59,   59,
02869        59,   59,   59,   59,   59,   59,   59,   59,   59,   66,
02870        67,   68,   66,  184,   67,   66,   59,   66,   67,   68,
02871       185,  831,  825,  183,   66,   68,  107,  107,  107,  107,
02872       107,  107,  186,   59,   59,   59,   66,   67,   68,   66,
02873       184,   67,   66,   59,   66,   67,   68,  185,   69,   71,
02874        66,   68,   69,  824,  759,  188,   69,   71,  186,   59,
02875        59,   59,   69,   71,   72,   74,   75,  137,   72,   74,
02876 
02877        75,  191,   72,   74,   75,   69,   71,  190,   72,   69,
02878       137,  188,  137,   69,   71,  194,  209,  192,   69,   71,
02879       209,   72,   74,   75,  137,   72,   74,   75,  191,   72,
02880        74,   75,   76,  190,   72,   73,  137,   73,  137,   73,
02881        76,  194,   73,   73,  192,  196,   76,   82,   82,   82,
02882        82,   82,   82,   73,   87,  329,  329,   87,  329,   76,
02883       197,   87,   73,  193,   73,   87,   73,   76,   82,   73,
02884        73,  196,   76,  601,   86,  750,  750,  198,  750,   73,
02885        87,   86,   89,   87,   86,   89,  197,   87,   86,   89,
02886       193,   87,  585,  533,   82,   83,   83,   83,   83,   83,
02887 
02888        83,   86,   90,  198,  182,   90,  182,   86,   89,   90,
02889        86,   89,  199,  250,   86,   89,  195,  250,   83,  195,
02890        83,  132,  132,  132,  132,  132,  132,   83,   90,   92,
02891       182,   90,  182,  200,   93,   90,   92,   93,  199,   92,
02892       201,   93,  195,   92,   83,  195,   83,   84,   84,   84,
02893        84,   84,   84,   84,  202,  404,   92,  203,  204,  200,
02894        93,   84,   92,   93,  381,   92,  201,   93,   94,   92,
02895        96,  205,  206,   96,  207,   94,  208,   96,   94,   84,
02896        84,  202,   94,  216,  203,  204,  377,  257,   84,   85,
02897        85,   85,   85,   85,   85,   94,   96,  205,  206,   96,
02898 
02899       207,   94,  208,   96,   94,  339,   85,  291,   94,   85,
02900       216,  291,   95,   85,  257,   95,  332,   97,  330,   95,
02901        95,   85,  295,  331,   97,  254,  376,   97,  334,  100,
02902       376,   97,   85,  100,  150,   85,  342,  100,   95,   85,
02903        91,   95,  150,   91,   97,   95,   95,  383,   91,  295,
02904        97,   91,   91,   97,  334,   91,  100,   97,  253,  101,
02905       100,  150,  101,  342,  100,  213,  101,   91,  384,  150,
02906        91,  385,  116,  383,   91,  333,  173,   91,   91,  333,
02907       116,   91,   98,  330,   98,  101,  116,   98,  101,  378,
02908       388,   98,  101,  378,   98,  384,  171,  385,   98,  116,
02909 
02910       108,  108,  108,  108,  108,  108,  170,  116,  387,   98,
02911       113,   98,  116,  165,   98,  112,  388,   98,  113,  112,
02912        98,  108,  118,  112,   98,   99,  118,  187,  389,   99,
02913       118,  140,  113,   99,  393,  387,   99,  113,  187,   99,
02914       333,  187,  112,   99,  394,  113,  112,  108,  390,  118,
02915       112,  130,   99,  118,  187,  389,   99,  118,  113,  106,
02916        99,  393,   99,   80,  187,   99,  395,  187,   54,   99,
02917       109,  394,  109,  109,  390,  109,  109,  109,  109,  109,
02918       109,  109,  109,  111,  114,  133,  133,  133,  133,  133,
02919       133,  111,  114,  395,  111,  114,  258,  111,  114,  258,
02920 
02921       109,  111,  109,  258,  392,  336,  133,  336,  109,  109,
02922       111,  114,  142,  142,  142,  142,  142,  142,  111,  114,
02923       111,  114,  258,  111,  114,  258,  109,  111,  109,  258,
02924       392,  336,  133,  336,  109,  109,  109,  110,  398,  110,
02925       110,   53,  110,  110,  110,  110,  110,  110,  110,  110,
02926       110,  117,  399,  119,  117,  121,  120,  117,  110,  117,
02927       120,  119,  398,  121,  120,  398,  117,  119,  396,  397,
02928       120,   27,  400,   25,  121,  110,  110,  110,  117,  399,
02929       119,  117,  121,  120,  117,  110,  117,  120,  119,  405,
02930       121,  120,  117,  119,  396,  397,  120,  122,  400,  391,
02931 
02932       121,  110,  110,  110,  123,  122,  148,  391,  123,   23,
02933       402,  122,  123,  411,  148,  125,  405,  406,  123,  125,
02934        19,   17,    5,  125,  122,  391,    0,    0,  148,    0,
02935       126,  123,  122,  148,  126,  123,  402,  122,  126,  123,
02936       411,  148,  125,  406,  123,  124,  125,  124,  127,  124,
02937       125,  147,  124,  124,  148,  147,  127,  126,  407,  147,
02938       413,  126,  127,  124,    0,  126,  174,  174,  174,  174,
02939       174,  174,  124,    0,  124,  127,  124,  408,  147,  124,
02940       124,  414,  147,  127,  407,  409,  147,  413,  127,  124,
02941       134,  134,  134,  134,  134,  134,  134,  134,  134,  134,
02942 
02943       134,  134,  135,  408,  275,    0,  139,  275,  414,  139,
02944       135,  409,  139,  134,  139,  134,  275,    0,    0,  135,
02945         0,  135,  410,  134,  134,  134,  134,  134,  134,  135,
02946         0,  275,  139,    0,  275,  139,  181,  135,  139,  134,
02947       139,  134,  275,  136,  181,  135,  136,  135,  410,  136,
02948       136,  136,  143,  143,  143,  143,  143,  143,  416,  217,
02949       153,  415,    0,  181,  153,    0,  417,  217,  153,  136,
02950         0,  181,  136,  143,    0,  136,  136,  136,    0,    0,
02951         0,  160,  149,  572,  416,  160,  217,  153,  415,  160,
02952       149,  153,  417,  149,  217,  153,  149,  418,    0,  143,
02953 
02954       144,  144,  144,  144,  144,  144,  144,  146,  160,  149,
02955       572,    0,  160,    0,    0,  146,  160,  149,  146,  149,
02956       419,  146,  149,  418,  144,  146,  144,  215,  215,  215,
02957       215,  215,  215,  144,  146,  151,  255,  255,  255,  255,
02958       255,  255,  146,  151,  146,  573,  419,  146,  421,  151,
02959       144,  146,  144,  145,  145,  145,  145,  145,  145,  145,
02960       145,  152,  151,  154,  152,  156,    0,  152,  145,  152,
02961       151,  154,  573,  156,  421,  151,  152,  154,  294,  294,
02962       294,  294,  294,  294,  156,  155,  145,  145,  152,  155,
02963       154,  152,  156,  155,  152,  145,  152,  157,  154,  155,
02964 
02965       156,    0,  152,  154,    0,  157,  222,    0,  589,  158,
02966       156,  157,  155,  158,  222,    0,  155,  158,    0,  595,
02967       155,  459,    0,  158,  157,  155,  341,  341,  341,  341,
02968       341,  341,  157,  222,  161,  589,  158,  157,  161,    0,
02969       158,  222,  161,  218,  158,  219,  595,  459,  162,  158,
02970       159,  218,  159,  219,  159,    0,  162,  159,  159,    0,
02971       218,  161,  162,  219,  604,  161,  220,    0,  159,  161,
02972       218,  496,  219,  535,  220,  162,  578,  159,  218,  159,
02973       219,  159,  220,  162,  159,  159,  218,  221,  162,  219,
02974       224,  604,  607,  220,  159,  221,  223,  496,  224,  535,
02975 
02976       221,  220,  578,  579,  223,    0,  224,  223,  220,  223,
02977       225,    0,  226,  227,  221,  225,  226,  224,  225,  607,
02978       226,  227,  221,  223,    0,  224,  221,  227,  228,  579,
02979       228,  223,  224,  223,    0,  223,  228,  225,  229,  226,
02980       227,  228,  225,  226,  228,  225,  229,  226,  227,    0,
02981       230,  231,    0,  227,  229,  228,  581,  228,  230,  231,
02982       232,  233,  232,  228,  231,  229,  584,  228,  232,  233,
02983       228,  234,    0,  229,  234,  237,  235,  230,  231,  234,
02984       229,    0,  581,  237,  235,  230,  231,  232,  233,  232,
02985       231,  236,  584,  237,  609,  232,  233,  235,  234,  236,
02986 
02987       238,  234,  237,  235,  236,  239,  234,  236,  238,  243,
02988       237,  235,  241,  239,    0,  238,  240,  243,  236,  237,
02989       241,  609,  239,  235,  240,    0,  236,  238,  241,  586,
02990       236,    0,  239,  236,  242,  238,  243,  240,  244,  241,
02991       239,  238,  242,  240,  243,  587,  244,  241,  239,  245,
02992       245,  240,  242,  590,  241,  586,  246,  245,  248,  249,
02993       296,  242,  247,  240,  246,  244,  248,  249,  296,  242,
02994       247,  587,  246,  244,  248,  249,  245,  245,  242,  590,
02995       247,    0,  301,  246,  245,  248,  249,  296,  591,  247,
02996       301,  246,  592,  248,  249,  296,  259,  247,  246,  259,
02997 
02998       248,  249,  259,  259,  260,  261,  247,  260,  261,  301,
02999       261,  260,  261,  262,  591,  262,  262,  301,  592,  593,
03000       262,    0,  259,  594,    0,  259,    0,    0,  259,  259,
03001       260,  261,    0,  260,  261,    0,  261,  260,  261,  262,
03002       263,  262,  262,  602,  263,  593,  262,  575,  263,  594,
03003       264,  265,  264,  264,  265,    0,  265,  264,  265,  266,
03004         0,  575,  267,    0,  605,  266,  267,  263,  266,  602,
03005       267,  263,  266,  309,  575,  263,  264,  265,  264,  264,
03006       265,  309,  265,  264,  265,  268,  266,  575,  268,  267,
03007       605,  266,  268,  267,  266,  606,  612,  267,  266,  270,
03008 
03009       309,  613,  582,    0,    0,    0,  582,    0,  309,    0,
03010       270,  268,    0,  270,  268,  614,  274,    0,  268,  269,
03011       274,  606,  612,  271,  274,    0,  270,  613,  269,  582,
03012       269,  269,  582,  269,  271,  269,  270,  271,  272,  270,
03013         0,  615,  614,  274,  273,  616,  269,  274,  618,  272,
03014       271,  274,  272,    0,  269,  273,  269,  269,  273,  269,
03015       271,  269,  297,  271,  276,  272,  277,  276,  615,  617,
03016       297,  273,  616,  619,  618,  272,  276,  277,  272,  297,
03017       277,  273,  276,  278,  273,    0,  278,    0,    0,  297,
03018       278,  276,  279,  277,  276,  279,  617,  297,    0,  282,
03019 
03020       619,  666,  276,  277,  279,  297,  277,  576,  276,  278,
03021       282,  280,  278,  282,  280,  281,  278,  283,  281,  279,
03022       283,  576,  279,  280,  283,  280,  282,  281,  666,    0,
03023       279,  637,    0,  281,  576,  640,  282,  712,  280,  282,
03024       284,  280,  281,  283,  284,  281,  283,  576,  284,  280,
03025       283,  280,  285,  281,  286,  286,  285,  637,  286,  281,
03026       285,  640,  286,  287,  712,  288,    0,  284,  288,  641,
03027         0,  284,  288,    0,  287,  284,    0,  287,  298,  285,
03028       649,  286,  286,  285,  300,  286,  298,  285,  289,  286,
03029       287,  288,  300,  290,  288,  641,  298,  300,  288,  289,
03030 
03031       287,  684,  289,  287,  290,  298,  649,  290,  299,  304,
03032       761,  300,    0,  298,  304,  289,  299,  304,  302,  300,
03033       290,  687,  298,  300,  299,  289,  302,  684,  289,  302,
03034       290,  302,  303,  290,  305,  299,  304,  761,  305,  534,
03035       303,  304,  305,  299,  304,  302,  306,  687,  303,    0,
03036       299,  695,    0,  302,  306,  302,  534,  302,  534,  303,
03037       306,  305,  307,  308,  307,  305,  534,  303,  312,  305,
03038       307,  308,  310,  306,  303,  307,  312,  695,  307,  308,
03039       310,  306,  534,    0,  534,  310,  306,  730,  819,  307,
03040       308,  307,  311,    0,  311,  312,  733,  307,  308,  310,
03041 
03042       311,  307,  314,  312,  307,  308,  313,  310,  316,  313,
03043       314,  310,  315,  730,  313,  819,  316,  577,    0,  311,
03044       315,  311,  733,  314,    0,  315,  316,  311,  315,  314,
03045       317,    0,  577,  313,  734,  316,  313,  314,  317,  315,
03046       319,  313,  318,  316,  577,  317,    0,  315,  319,  314,
03047       318,  315,  316,    0,  315,  321,  320,  317,  577,  318,
03048       734,  319,  322,  321,  320,  317,  323,  319,  325,  318,
03049       322,  317,  320,  321,  323,  319,  325,  318,  324,  324,
03050       327,    0,  321,  320,  325,  318,  324,  319,  327,  322,
03051       321,  320,  328,  323,  326,  325,  327,  322,  320,  321,
03052 
03053       328,  323,  326,  325,  742,  324,  324,  327,  328,  779,
03054       325,    0,  326,  324,  338,  327,  782,  337,  337,  328,
03055       337,  326,  327,  343,    0,  783,  338,  328,  338,  326,
03056       742,  343,  344,  820,  328,  779,  791,  345,  326,  348,
03057       344,  338,  782,  337,  337,  345,  337,  348,    0,  344,
03058       343,  783,  338,  346,  338,  345,  808,  347,  343,  344,
03059       820,  346,  791,  822,  345,  347,  348,  344,    0,  346,
03060       347,  351,  345,    0,  348,  344,  351,  350,  349,  351,
03061       346,  345,  808,  809,  347,  350,  349,    0,  346,  349,
03062       822,  349,  347,  350,  353,  346,  347,  760,  351,  760,
03063 
03064       810,  812,  353,  351,  350,  349,  351,    0,  353,  809,
03065       352,    0,  350,  349,  352,  349,  355,  349,  352,  350,
03066       354,  353,  354,  760,  355,  760,  810,  812,  354,  353,
03067       356,    0,  355,  354,  353,  814,  354,  352,  356,    0,
03068       357,  352,  358,  355,  358,  352,  359,  354,  357,  354,
03069       358,  355,    0,  357,  359,  354,  815,  356,  355,  354,
03070       360,  814,  354,  360,  361,  356,  363,  357,  360,  358,
03071       362,  358,  361,  359,  363,  357,  817,  358,  362,  357,
03072       823,  359,  815,  362,  363,  361,  362,  360,  364,  826,
03073       360,  361,  818,  363,    0,  360,  364,  362,  366,  361,
03074 
03075       365,  363,  817,  364,    0,  362,  366,  823,  365,  362,
03076       363,  361,  362,  368,  367,  364,  826,  365,  818,  366,
03077       369,  368,  367,  364,  370,  366,  372,  365,  369,  364,
03078       367,  368,  370,  366,  372,  365,  371,  371,  374,    0,
03079       368,  367,  372,  365,  371,  366,  374,  369,  368,  367,
03080       375,  370,  373,  372,  374,  369,  367,  368,  375,  370,
03081       373,  372,  821,  371,  371,  374,  375,  827,  372,  829,
03082       373,  371,    0,  374,    0,    0,    0,  375,    0,  373,
03083       374,    0,    0,    0,    0,  375,    0,  373,  821,    0,
03084         0,  422,  375,  827,  828,  829,  373,  386,  386,  422,
03085 
03086       386,  386,  386,  386,  386,  386,  386,  386,  386,  386,
03087       403,  403,  403,  403,  403,  423,  426,  425,  422,  403,
03088       425,  828,  429,  423,  426,  425,  422,  830,  832,  423,
03089       429,  833,    0,  426,  834,  386,  386,    0,    0,    0,
03090       429,    0,  423,  426,  425,    0,  403,  425,  429,  429,
03091       423,  426,  425,  830,  832,  423,  841,  429,  833,  426,
03092       834,  386,  386,  386,  412,  412,  429,  412,  412,  412,
03093       412,  412,  412,  412,  412,  412,  412,  427,  428,  430,
03094       431,  427,  622,  841,  433,  427,  428,  430,  431,    0,
03095       430,  432,  433,  432,    0,  428,  622,  629,  844,  432,
03096 
03097         0,  629,  412,  412,  427,  428,  430,  431,  427,  622,
03098         0,  433,  427,  428,  430,  431,  430,    0,  432,  433,
03099       432,  428,  622,  835,  629,  844,  432,  629,  412,  412,
03100       412,  424,  424,  857,  424,  424,  424,  424,  424,  424,
03101       424,  424,  424,  424,  434,  437,  435,    0,  436,  835,
03102       436,  438,  434,  437,  435,    0,  436,    0,    0,  438,
03103       857,  837,  838,  434,  435,  438,    0,    0,  842,  424,
03104       424,  434,  437,  435,  436,  436,  442,  436,  438,  434,
03105       437,  435,  845,  436,  442,  439,  438,  837,  838,  434,
03106       435,  438,  439,  440,  842,  424,  424,  424,  846,  455,
03107 
03108       439,  440,  442,  442,  848,  858,  860,  455,  845,    0,
03109       455,  442,    0,  440,    0,    0,    0,    0,  439,  439,
03110       440,  443,    0,  444,  846,  443,  455,  439,  440,  443,
03111       848,  444,  858,  860,  455,  444,  455,    0,  446,  440,
03112       441,  441,  441,  441,  441,  441,  446,  445,  443,  441,
03113       444,  447,  443,  441,    0,  445,  443,  446,  444,  447,
03114       864,  444,  445,  453,  453,  446,  676,  448,    0,  447,
03115       676,  453,  441,  446,  445,  448,  441,  449,  447,    0,
03116       441,  449,  445,  446,  448,  449,  447,  864,  445,  867,
03117       453,  453,    0,  676,  448,  447,  676,    0,  453,    0,
03118 
03119         0,  451,  448,  452,  449,  452,  451,    0,  449,  451,
03120       448,  452,  449,  450,  450,  867,  450,  450,  450,  450,
03121       450,  450,  450,  450,  450,  450,  456,  454,  451,  871,
03122       452,  895,  452,  451,  456,  454,  451,  457,  452,  454,
03123       868,  870,    0,    0,  456,  457,    0,  457,  884,    0,
03124       886,  450,  450,  456,  454,  460,  871,  463,  895,  460,
03125       463,  456,  454,  460,  457,  454,  868,  870,  461,  463,
03126       456,  461,  457,  457,  884,  461,  886,  450,  450,  450,
03127         0,    0,  460,    0,  463,    0,  460,  463,    0,    0,
03128       460,    0,    0,  468,  461,  463,  468,  461,    0,    0,
03129 
03130       468,  461,  462,  462,    0,  462,  462,  462,  462,  462,
03131       462,  462,  462,  462,  462,  464,  465,  466,  464,  468,
03132       465,  466,  468,  497,  465,  466,  468,  464,    0,  464,
03133       473,  497,    0,  473,  466,  470,    0,  473,  896,    0,
03134       462,  462,  464,  465,  466,  464,  470,  465,  466,  470,
03135       497,  465,  466,  464,  467,  464,  473,  467,  497,  473,
03136       466,  467,  470,  473,  898,  896,  462,  462,  462,  467,
03137       469,  506,  470,  471,  469,  470,    0,  471,  469,  506,
03138       467,  471,    0,  467,  472,  474,  475,  467,  472,  902,
03139       475,  898,  472,    0,  475,    0,  474,  469,  506,  474,
03140 
03141       471,  469,  477,  472,  471,  469,  506,  476,  471,  474,
03142       476,  472,  474,  475,  476,  472,  902,  475,  905,  472,
03143       477,  475,  474,  477,  480,  474,  907,  477,  480,  472,
03144       508,    0,  480,  476,  478,  477,  476,  478,  508,  908,
03145       476,  478,    0,  478,  905,    0,  477,    0,    0,  477,
03146       480,  480,  907,  477,  481,  480,  921,  508,  481,  480,
03147       478,  485,  481,  478,  485,  508,  908,  478,  485,  478,
03148       479,  479,  479,  479,  479,  479,  482,    0,    0,  479,
03149       482,  481,  921,  479,  482,  481,  932,  485,  482,  481,
03150       485,  923,  483,  484,  485,  483,  484,    0,    0,    0,
03151 
03152       933,    0,  479,  482,  483,  484,  479,  482,    0,  484,
03153       479,  482,  722,  932,  482,  942,  722,  923,  486,  483,
03154       484,  486,  483,  484,  486,  486,  498,  933,  487,    0,
03155       483,  484,  487,    0,  498,  484,  487,    0,    0,  722,
03156       498,  942,  722,    0,  486,    0,    0,  486,    0,    0,
03157       486,  486,  489,  498,    0,  487,  489,  489,  935,  487,
03158       489,  498,  939,  487,  488,  488,  498,  488,  488,  488,
03159       488,  488,  488,  488,  488,  488,  488,  490,    0,  489,
03160       491,  491,    0,  489,  489,  935,  492,  489,  490,  939,
03161         0,  490,  491,  943,    0,  491,  492,  492,  493,    0,
03162 
03163       492,  493,  488,  488,  490,  493,    0,  491,  491,  494,
03164         0,  945,  494,  492,  490,  959,  494,  490,  491,  943,
03165       669,  491,  492,  492,  493,  715,  492,  493,  488,  488,
03166       488,  493,  495,  495,  669,  494,  495,  945,  494,  715,
03167       495,  959,  494,    0,    0,    0,    0,  669,    0,    0,
03168         0,    0,  715,  500,    0,    0,  500,    0,  495,  495,
03169       669,  500,  495,    0,  946,  715,  495,  499,  499,  499,
03170       499,  499,  499,  499,  499,  499,  499,  499,  499,  499,
03171       500,  501,  502,  500,  503,    0,  502,    0,  500,  501,
03172       502,  946,  503,    0,  504,  509,    0,  961,  501,  505,
03173 
03174         0,  503,  504,  509,    0,  499,  499,  505,  501,  502,
03175       505,  503,  504,  502,  509,  980,  501,  502,    0,  503,
03176       504,  504,  509,  961,  501,  970,  505,  503,  971,  504,
03177       509,  499,  499,  499,  505,  507,  505,  507,  504,  510,
03178       509,  980,  511,  507,  511,  512,  513,  510,    0,    0,
03179       511,  764,  970,  512,  513,  971,    0,  510,    0,    0,
03180       513,  973,  507,    0,  507,  764,  510,  977,  511,  511,
03181       507,  511,  512,  513,  510,  514,  515,  511,  764,  517,
03182       512,  513,  514,  510,  515,  518,  513,  517,  973,  518,
03183       514,  764,  811,  518,  977,  811,  515,    0,    0,    0,
03184 
03185         0,    0,    0,  515,    0,  517,  517,  519,  514,  514,
03186         0,  515,  518,  984,  517,  519,  518,  514,  811,  519,
03187       518,  811,  515,  516,  516,  516,  516,  516,  516,  520,
03188       521,  523,  516,  522,  519,  981,  516,  520,  521,  523,
03189       984,  522,  519,  983,  520,  519,    0,    0,  523,  521,
03190         0,  522,    0,    0,  536,  516,  520,  521,  523,  516,
03191       522,  981,  536,  516,  520,  521,  523, 1006,  522,  983,
03192       520,  527,  524,  527,  523,  521,  524,  522,  999,  527,
03193       524,  536,    0,    0,    0,    0,    0,    0,    0,  536,
03194         0,    0,    0, 1006,  528,  528,  526,    0,  527,  524,
03195 
03196       527,  526,  528,  524,  526,  999,  527,  524,  525,  525,
03197       525,  525,  525,  525,  525,  525,  525,  525,  525,  525,
03198       525,  528,  528,  526,  529,  531,  530,    0,  526,  528,
03199       532,  526,  529,  531,  530,    0,  529,  530,  532,    0,
03200       532,  537,    0,  531, 1000,    0,  525,  525, 1001,  537,
03201       771,  529,  531,  530,  771,  537,    0,  532,    0,  529,
03202       531,  530,  529,  530,    0,  532,  532,    0,  537,  531,
03203         0, 1000,  525,  525,  525, 1001,  537,  771,    0,    0,
03204       771,  537,  538,  538, 1002,  538,  538,  538,  538,  538,
03205       538,  538,  538,  538,  538,  539,  540,  541,  539,  542,
03206 
03207         0,  541,    0,  539,  540,  541,  545,  542,    0,  543,
03208         0, 1002, 1008,  540,  545,    0,  542,  543,    0,    0,
03209       538,  538,  539,  540,  541,  539,  542,  543,  541,  544,
03210       539,  540,  541,  545,  542,  543,  543,  544, 1008,  540,
03211       544,  545,  542,  546,  543,  546,  538,  538,  538,  547,
03212       548,  546,    0,  543,    0,  549,  544,  547,  548,  551,
03213         0,    0,  813,  549,  544,  813,  544,  551,    0,  548,
03214       546, 1003,  546,  549,    0,  552,  547,  548,  546,  550,
03215      1004,  550,  549,  552,  547,  548,  551,  550,  813,  552,
03216       549,  813,  556,  554,  551,  548,  553, 1010, 1003,  549,
03217 
03218       556,  554,  552,  553, 1005,  550,  550, 1004,  550, 1011,
03219       552,  553,    0,  554,  550,  552,    0,    0,  556,  556,
03220       554,    0,    0, 1010,  558,    0,    0,  556,  554,  553,
03221       553, 1005,  558,    0, 1014, 1011,  558,    0,  553,  554,
03222       555,  555,  555,  555,  555,  555,  557,  560,  559,  555,
03223       557,  558,  561,  555,  557,  560,  559,    0, 1012,  558,
03224       561, 1014,  558,  559, 1013,    0,  560, 1015,    0,    0,
03225       561, 1019,  555,  557,  560,  559,  555,  557,  562,  561,
03226       555,  557,  560,  559, 1012,  849,  562,  561,  849,  559,
03227      1013,  621,  560,  563, 1015,  562,  561,  563, 1019,  621,
03228 
03229         0,  563,    0,    0,    0,  562,    0,    0,    0,    0,
03230         0,  849,    0,  562,  849,  568,    0,  565,  621,    0,
03231       563,  562,  565,  568,  563,  565,  621,  568,  563,  564,
03232       564, 1016,  564,  564,  564,  564,  564,  564,  564,  564,
03233       564,  564,  568,  566,  565,  566,  567,  567,  569,  565,
03234       568,  566,  565,  568,  567,  571,  569, 1016, 1017,  569,
03235      1020,  570, 1021,  571,    0,  571,    0,  564,  564,  570,
03236       566, 1022,  566,  567,  567,  569, 1023, 1026,  566,  570,
03237         0,  567,  571,  569, 1017,  569,    0, 1020,  570, 1021,
03238       571,  571,  620,  564,  564,  564,  570, 1022,  620,    0,
03239 
03240       620,    0, 1023,    0, 1026,  570,  611,  611, 1030,  611,
03241       611,  611,  611,  611,  611,  611,  611,  611,  611,  620,
03242       624,  623,  624,  626,  625,  620,  623,  620,  624,  623,
03243       627,  626,  625,    0,  630, 1030,  626,  624,  627,    0,
03244       623,  625,  630,    0,  611,  611,    0,  624,  623,  624,
03245       626,  625,  628,  623,    0,  624,  623,  627,  626,  625,
03246       628,  630,  626,  624, 1033,  627,  623,  625,  628,  630,
03247       611,  611,  611,  631,    0,  632,  634,  633,  635,  628,
03248       639,  631,  638,  632,  634,  633,  635,  628,  639,    0,
03249       638, 1033,  631,  634,  628,  633,  639,    0,    0, 1027,
03250 
03251       631,  632,  632,  634,  633,  635,  638,  639,  631,  638,
03252       632,  634,  633,  635, 1029,  639,  636,  638,  631,  634,
03253       636,  633,  639,  642,  636, 1027,  648,  642,  650,  651,
03254       652,  642,  638,  653,  648,    0,  650,  651,  652, 1034,
03255      1029,  653,    0,  636,    0, 1031,    0,  636,  653,  652,
03256       642,  636,  648,  648,  642,  650,  651,  652,  642,  654,
03257       653,  648,  655,  650,  651,  652, 1034,  654,  653,  656,
03258       655, 1031,  662,  656,  653,  652, 1049,  656,    0,    0,
03259       662,    0,    0,    0,    0,    0,  654,    0,    0,  655,
03260         0,    0,    0,  660,  654, 1035,  656,  655,    0,  662,
03261 
03262       656,  660, 1049,  660,  656,  658,  658,  662,  658,  658,
03263       658,  658,  658,  658,  658,  658,  658,  658,  659,  661,
03264       660, 1038, 1035,  661,  664,  665,  659,  661,  660,  660,
03265       663,  714,  664,  665,  663,    0,  659,  667,  663,  714,
03266       667,    0,  665,  658,  658,  659,  661,  720, 1038,  667,
03267       661,  664,  665,  659,  661,  720,    0,  663,  714,  664,
03268       665,  663,  659, 1039,  667,  663,  714,  667,  665,  658,
03269       658,  658,  671,  668,  720,  667,  668,  670,    0,  670,
03270       670,  672,  720,  671,    0,  668,  671,  671,    0,  670,
03271      1039, 1051,  672,  670,    0,  672,  672,  719,    0,  671,
03272 
03273       668,    0, 1040,  668,  670,  719,  670,  670,  672,  671,
03274       719,  668,  671,  671,  673,  670,  674, 1051,  672,  670,
03275       675,  672,  672,    0,  719,  673,    0,  674,  673, 1040,
03276       674,  675,  719,    0,  675,  677,  719, 1053, 1054,    0,
03277         0,  673,  718,  674,  678,    0,  677,  675,    0,  677,
03278       718,  673,  679,  674,  673,  678,  674,  675,  678,  718,
03279       675,  678,  677,  679, 1053, 1054,  679,  680,    0,  718,
03280       680,  678,  677,    0,  680,  677,  679,  718, 1055,  679,
03281         0,  678, 1061,  682,  678,  718,  682,  678,  681,  679,
03282       682,  681,  679,  680,  681,  681,  680,  683,  685,  686,
03283 
03284       680,  683,  685,  688, 1055,  683,  685,  688, 1061,  682,
03285       686,  688,  682,  686,  681,  694,  682,  681, 1062,  694,
03286       681,  681,  685,  694,  683,  685,  686,  696,  683,  685,
03287       688,  696,  683,  685,  688,  696,  686,  887,  688,  686,
03288       887,  694,  694,  697, 1062,  698,  694,  697,  685,  698,
03289       694,  697,    0,  698,  696, 1058,  699,  700,  696,  699,
03290      1059,  700,  696,  887,  698,  700,  887,    0,  699,  701,
03291       697,  702,  698,  701,  697,  702,  698,  701,  697,  702,
03292       698,    0, 1058,  699,  700,    0,  699, 1059,  700,  707,
03293       698, 1060,  700,  707,  699,    0,  701,  707,  702, 1068,
03294 
03295       701,  708,  702, 1088,  701,  708,  702,  703,  703,  708,
03296       703,  703,  703,  703,  705, 1065,  707,  705, 1060, 1077,
03297       707,  705,  706,  706,  707, 1068,  706,  709,  708, 1088,
03298       706,  709,  708,  710,    0,  709,  708,  710, 1078, 1079,
03299       705,  710, 1065,  705, 1090,  703, 1077,  705,  706,  706,
03300         0,    0,  706,    0,  709,    0,  706,    0,  709,    0,
03301       710,  713,  709, 1094,  710, 1078, 1079,  713,  710,  713,
03302      1090,  703,  703,  703,  704,  704, 1092,  704,  704,  704,
03303       704,  704,  704,  704,  704,  704,  704,  711,  713, 1094,
03304       721,  711,  716, 1093,  713,  711,  713,  716,  721,  717,
03305 
03306       716,  717,    0, 1092,  711,    0,  721,  717,    0, 1097,
03307         0,  716,  704,  704,  711,    0,  717,  721,  711,  716,
03308      1093,  723,  711,  725,  716,  721,  717,  716,  717,  723,
03309       711,  725,  721,  724,  717,  726, 1097,  716,  704,  704,
03310       704,  724,  717,  726, 1098,    0,  727,  728,  723,  725,
03311       725,    0,  724,  726,  727,  728,  723,  729,  725,  731,
03312       724,  729,  726,  727,  732,  729,    0,  731,  724,  741,
03313       726, 1098,  732,  727,  728,    0,    0,  741,  724,  726,
03314       732,  727,  728,  731,  729, 1103,  731, 1114,  729,  727,
03315       743,  732,  729,  735,  731,  741,  741,  735,  743,  732,
03316 
03317       744,  735,  745,  746,  741,  747,  732,  748,  744,  731,
03318       745,  746, 1103,  747, 1114,  748, 1115,  743,  746, 1116,
03319       735,  745, 1099,  753,  735,  743, 1100,  744,  735,  745,
03320       746,  753,  747,  753,  748,  744, 1125,  745,  746,    0,
03321       747,  749,  748, 1115,  746,  749, 1116,  745, 1099,  749,
03322       753,    0, 1100,    0,    0,    0,    0,    0,  753,  753,
03323         0,    0, 1125,    0,    0,  754,  755,  757,  749,  754,
03324         0,    0,  749,  754,  755,  757,  749,  751,  751,  751,
03325       751,  751,  751,  751,  751,  751,  751,  751,  751,  751,
03326       752,  756,  754,  755,  757,  756,  754,  758,  752,  756,
03327 
03328       754,  755,  757,  762,  763,  758,    0, 1127,  752,  762,
03329      1129,  762,  763,    0,  758,  751,  751,  752,  756,    0,
03330         0,    0,  756, 1130,  758,  752,  756,    0,    0, 1131,
03331       762,  763,  758, 1127,  752, 1137,  762, 1129,  762,  763,
03332       758,  751,  751,  751,  765,  766,  768,  766,  767,  765,
03333      1130,    0,  765,  766,  768, 1131,  767,    0,    0,  768,
03334       769, 1137,  766,  765,    0,  767, 1134, 1135,  769,  772,
03335       770,  765,  766,  768,  766,  767,  765,  772,  770,  765,
03336       766,  768,  773,  767,  774,  768,  770,  769,  766,  765,
03337       773,  767,  774, 1134, 1135,  769,  772,  770,  775,  777,
03338 
03339         0,  773, 1136,    0,  772,  770,  775,  777, 1141,  773,
03340       774,  774,  770,  776,  778,    0,  775,  773,  778,  774,
03341       780,  776,  778,  781,  792,  775,  777,  773,  780, 1136,
03342       776,  781,  792,  775,  777, 1141, 1138,    0, 1144,  781,
03343       776,  778,  775, 1164,  780,  778,  790,  780,  776,  778,
03344       781,  792,  793,  784,  790,  780,  776,  784,  781,  792,
03345       793,  784, 1138,  794, 1144,  781,  796,  797,  795, 1164,
03346       780,  794,  790,  790,  796,  797,  795,  804, 1153,  793,
03347       784,  790,  794,  795,  784,  804,    0,  793,  784,  801,
03348       794,    0,  798,  796,  797,  795,  798,  801,  794,    0,
03349 
03350       798,  796,  797,  795,  804, 1153,    0,  801,  794,  795,
03351       799,  799,  804,  799,  799,  799,  801,  806,  802,  798,
03352      1154,  840, 1155,  798,  801,  806,  802,  798,  802,  807,
03353       803,  805,  840,  801,  803,  805,  840,  807,  803,  805,
03354         0, 1166, 1168, 1169,  806,  802,  807, 1154,  799, 1155,
03355         0,    0,  806,  802,  802,    0,  807,  803,  805,  840,
03356         0,  803,  805,  840,  807,  803,  805, 1166,  924, 1168,
03357      1169,  924,  807, 1173,  799,  799,  799,  800,  800,    0,
03358       800,  800,  800,  800,  800,  800,  800,  800,  800,  800,
03359       847,  850,    0,  851,  924,    0, 1174,  924,  847,  850,
03360 
03361      1173,  851,    0,  847,    0,  850,  851, 1170,    0,  851,
03362         0,  853,    0,  852,    0,  800,  800,  847,  850,  853,
03363       851,  852,  854, 1174,    0,  847,  850,  852,  851,  847,
03364       854,  850,  851, 1170,  853,  851,  855,  856,  853,  859,
03365       852,  800,  800,  800,  855,  856,  853,  859,  852,  854,
03366       859,  856, 1175,  852,  855,    0, 1176,  854,    0,  861,
03367       853,  862,    0,  855,  856,  863,  859,  861,    0,  862,
03368       865,  855,  856,  863,  859, 1180,  859,  856,  865, 1175,
03369       855,  866, 1176, 1177,  865,  866,  861,  862,  862,  866,
03370         0,  863,  863,  869,  861,  872,  862,  865, 1183,  873,
03371 
03372       863,  869, 1180,  872,    0,  865,  872,  873,  866, 1177,
03373       865, 1190,  866,  874,    0,  875,  866,  873, 1192,  869,
03374       869,  874,  872,  875, 1183,  876,  873,  877,  869,    0,
03375       872,  875,  872,  876,  873,  877,    0, 1190,  876,  874,
03376       874,  881,  875,  873,  878, 1192, 1191, 1195,  874,  881,
03377       875,  878,  876,  879,  877,  878,  879,  875,  880,  878,
03378       876,  879,  877, 1193,  876,  882,  880,  882,  881,  883,
03379         0,  880, 1191,  882, 1195,    0,  881,  883,  878, 1194,
03380       879, 1196,  878,  879,  883,  880,  878,  885,  879, 1193,
03381         0, 1201,  882,  880,  882,    0,  883,  880,  885,  888,
03382 
03383       882,  885,  888, 1203,  883, 1194,  888,  889, 1196,  890,
03384       883,    0,  890, 1204,  885, 1205,  890, 1201,  889,  891,
03385         0,  889,  891,    0,  885,  888,  891,  885,  888, 1203,
03386       892,  891,  888,  892,  889,  890,  893,  892,  890,  893,
03387      1204, 1205,  890,  893,  889,  891,  894,  889,  891,  894,
03388      1206,  897,  891,  894,  897,    0,  892,  891,  897,  892,
03389       899, 1207,  893,  892,  899,  893,  900, 1212,  899,  893,
03390       900, 1213,  894, 1216,  900,  894, 1206,  897,  901,  894,
03391       897,  904,  901,    0,  897,  904,  901,  899, 1207,  904,
03392         0,  899,  900,  900, 1212,  899,  903,  900, 1213,  903,
03393 
03394      1216,  900,    0,  903,  901,  901,  906,    0,  904,  901,
03395       906, 1218,  904,  901,  906,    0,  904,  909,    0,    0,
03396       909,    0,  903,  910,  909,  903,  910,    0,  912,  903,
03397       910, 1221,  906,  906,  913,    0, 1208,  906, 1218,  912,
03398         0,  906,  912,  909,  911,  913,  909,  911,  913,  910,
03399       909,  911,  910,  914,  916,  912,  910,  916, 1221,  911,
03400         0,  913, 1208,    0,  914,  912,  916,  914,  912, 1224,
03401       911,  913,  915,  911,  913,  917,    0,  911,    0,  915,
03402       914,  916,    0,  915,  916, 1209,  917,  915,    0,  917,
03403       914,  922,  916,  914,  918,  920, 1224,    0,  920,  922,
03404 
03405         0, 1239,  917, 1210,  922,  918,  915,  920,  918,  919,
03406       915, 1209,  917,  962,  915,  917,  962,    0,  922,    0,
03407       919,  918,  920,  919,  925,  920,  922,  926, 1239, 1210,
03408       922,  918,  925,  920,  918,  926,  919, 1211,  925,  962,
03409       926, 1214,  962,  926,  927,  928,  919,  929, 1244,  919,
03410      1219,  925,  927,  928,  926,  929,    0,    0,  927,  925,
03411      1220, 1245,  926, 1211,  925,  930,  926, 1214,  928,  926,
03412       934,  927,  928,  930,  929, 1244, 1219,  931,  934,  927,
03413       928,  934,  929,  930,  927,  931, 1220,  936, 1245, 1222,
03414         0,  931,  930,  937,  928,  936,    0,  934,  938,    0,
03415 
03416       930,  937,  940,    0,  931,  934,  938,  934, 1223,  930,
03417       940,    0,  931,  944,  936, 1222,  940,  931,  948,  937,
03418       937,  944,  936,  941,  938,  938,  948,  941,  937,  940,
03419       947,  941, 1248,  938, 1223, 1233,  948,  940,  947,  944,
03420       944,  947,  940,  949,  950,  948,    0, 1256,  944,    0,
03421       941,  949,  950,  948,  941,  951,  952,  947,  941, 1248,
03422       950, 1233,  948,  951,  952,  947,  953,  947,  951,  949,
03423       949,  950,  954,  953, 1256,  954,  955,  953,  949,  950,
03424       954,  953,  951,  952,  955,  956,  950,    0,    0,  955,
03425       951,  952, 1271,  956,  951,    0, 1275,  960,  958,  954,
03426 
03427       953, 1235,  954,  955,  953,  960,  958,  954,  953,    0,
03428       960,  955,  956,  958,  957,  955,  957, 1276,  964, 1271,
03429       956,  963,  957, 1275,  960,  958,  964, 1235,    0,  963,
03430         0,  964,  960,  958,  964,  963,  960, 1237,  965,  958,
03431      1286,  957,  967,  957, 1276,  964,  965,  966,  963,  957,
03432       967,    0,  965,  964,  968,  966,  963,  964,  974,    0,
03433       964,  963,  968, 1237,    0,  965,  974, 1286, 1301,  967,
03434       966, 1238,  968,  965,  966,  972,  969,  967,  965,  975,
03435       978,  968,  966,  972,  969,  974,  972,  975,  978,  968,
03436       969,  976,    0,  974,  978, 1301,  966, 1238,  968,  976,
03437 
03438       979,  986,  972,  969,  979,  975,  975,  978,  979,  986,
03439       972,  969,  972,  982,  975,  978,  969,  976,  976,  986,
03440       978,  982,  985,    0,    0,    0,  976,  979,  986,  987,
03441       985,  979,    0,  985,  988,  979,  986,  987,  989,  982,
03442       982,    0,  988,    0,  990,  986,  989,  991,  982,  985,
03443       988,  989,  990,    0,  991,  987,  987,  985,  991,  985,
03444       992,  988,  991,  992,  987,  989,  994,  993,  992,  988,
03445       995,  990,  995,  989,  994,  993,  988,  989,  995,  990,
03446       993,  991, 1241,  996, 1037,  991, 1306,  992,    0,  991,
03447       992,  996, 1037,  994,  993,  992, 1242,  995,  996,  995,
03448 
03449      1307,  994,  993,    0,    0,  995,  993,    0, 1241,    0,
03450       996, 1037, 1041, 1306, 1041, 1043,    0, 1310,  996, 1037,
03451      1041, 1043, 1242, 1043,  996, 1007, 1007, 1307, 1007, 1007,
03452      1007, 1007, 1007, 1007, 1007, 1007, 1007, 1007, 1042, 1041,
03453         0, 1041, 1043, 1042, 1310, 1047, 1042, 1041, 1043, 1044,
03454      1043, 1243, 1044, 1047,    0, 1246, 1047, 1044, 1057, 1045,
03455      1063, 1052,    0, 1007, 1007, 1042, 1057, 1045, 1063, 1052,
03456      1042, 1045, 1047, 1042, 1052,    0, 1044, 1243,    0, 1044,
03457      1047, 1246, 1047,    0, 1044, 1057, 1045, 1063, 1052, 1007,
03458      1007, 1007, 1254, 1057, 1045, 1063, 1052, 1045, 1046, 1046,
03459 
03460      1052, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046, 1046,
03461      1046, 1050, 1056, 1064, 1066, 1067, 1318, 1080, 1254, 1050,
03462      1056, 1064, 1066, 1067,    0, 1056,    0,    0, 1080, 1050,
03463         0, 1080, 1066,    0,    0,    0, 1046, 1046, 1050, 1056,
03464      1064, 1066, 1067, 1318, 1080, 1255, 1050, 1056, 1064, 1066,
03465      1067, 1056, 1070, 1069, 1080, 1050, 1069, 1080, 1066, 1071,
03466      1070, 1069, 1046, 1046, 1046, 1070, 1072, 1071, 1073, 1074,
03467      1076, 1255, 1265, 1076, 1072,    0, 1073, 1074,    0, 1070,
03468      1069, 1267, 1076, 1069,    0, 1333, 1071, 1070, 1069,    0,
03469      1338, 1070,    0, 1072, 1071, 1073, 1074, 1076, 1265, 1081,
03470 
03471      1076, 1072, 1081, 1073, 1074, 1269, 1270, 1267, 1076, 1273,
03472      1081, 1082, 1333, 1081, 1082, 1083, 1084, 1338, 1083, 1084,
03473         0, 1274,    0, 1082, 1277, 1084, 1081, 1083, 1084, 1081,
03474         0, 1269, 1270,    0,    0, 1273, 1081,    0, 1082, 1081,
03475         0, 1082, 1083, 1084, 1109, 1083, 1084, 1274, 1109, 1082,
03476      1277, 1084, 1109, 1083, 1084, 1085, 1085, 1284, 1085, 1085,
03477      1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,    0, 1086,
03478      1089, 1109, 1086, 1089, 1091, 1109, 1086, 1089, 1095, 1109,
03479      1285, 1295, 1297, 1284, 1299, 1091, 1096,    0, 1091, 1095,
03480         0,    0, 1095, 1085, 1085, 1086, 1089, 1096, 1086, 1089,
03481 
03482      1096, 1091, 1086, 1089,    0, 1095, 1285, 1295, 1297,    0,
03483      1299, 1091, 1300, 1096, 1091, 1095, 1101, 1102, 1095, 1085,
03484      1085, 1085, 1104, 1096,    0, 1104, 1096, 1101, 1102, 1104,
03485      1101, 1102, 1105, 1106,    0, 1105, 1106,    0, 1300, 1105,
03486      1303, 1304, 1113, 1101, 1102, 1106, 1305,    0, 1104,    0,
03487      1113, 1104,    0, 1101, 1102, 1104, 1101, 1102, 1105, 1107,
03488      1106, 1105, 1308, 1106, 1108, 1105, 1303, 1304, 1339, 1113,
03489      1107, 1106, 1305, 1107, 1316, 1108, 1110, 1113, 1108, 1111,
03490      1110,    0, 1342, 1111, 1110,    0, 1107, 1111, 1308, 1118,
03491      1117, 1108, 1117,    0, 1118, 1339, 1107, 1118, 1117, 1107,
03492 
03493      1316, 1108, 1317, 1110, 1108, 1120, 1111, 1110, 1120, 1342,
03494      1111, 1110, 1119, 1120, 1111, 1121, 1118, 1117, 1119, 1117,
03495      1119, 1118, 1327, 1121, 1118, 1117,    0, 1121, 1317,    0,
03496         0,    0, 1120,    0,    0, 1120,    0,    0,    0, 1119,
03497      1120, 1123, 1121,    0, 1329, 1119, 1349, 1119, 1327, 1123,
03498      1121,    0, 1123, 1121, 1122, 1122, 1122, 1122, 1122, 1122,
03499      1122, 1122, 1122, 1122, 1122, 1122, 1122, 1126, 1123, 1128,
03500      1329, 1132, 1133, 1349, 1331, 1126, 1123, 1128, 1123, 1132,
03501      1133,    0, 1128,    0, 1132, 1126, 1332, 1139,    0, 1140,
03502         0, 1335, 1122, 1122, 1126, 1139, 1128, 1140, 1132, 1133,
03503 
03504      1331, 1143, 1126, 1352, 1128, 1142, 1132, 1133, 1128, 1143,
03505      1132, 1126, 1332, 1142, 1139, 1336, 1140, 1335, 1122, 1122,
03506      1122, 1355, 1139, 1142, 1140, 1146, 1145, 1147, 1143, 1145,
03507      1352, 1148, 1142, 1146, 1145, 1147, 1143,    0, 1146, 1148,
03508      1142, 1336, 1149, 1150,    0,    0, 1337, 1152, 1355, 1142,
03509      1149, 1150, 1146, 1145, 1147, 1152, 1145, 1156, 1148, 1156,
03510      1146, 1145, 1147, 1157, 1146, 1156, 1148, 1158, 1157, 1149,
03511      1150, 1157, 1337, 1158, 1152, 1158, 1358, 1149, 1150, 1160,
03512      1159,    0, 1152, 1159, 1156, 1172, 1156, 1160, 1159,    0,
03513      1157, 1160, 1156, 1172, 1158, 1157,    0,    0, 1157,    0,
03514 
03515      1158,    0, 1158, 1358,    0, 1162, 1160, 1159, 1340,    0,
03516      1159, 1348, 1172, 1162, 1160, 1159, 1162, 1160, 1161, 1161,
03517      1172, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
03518      1161, 1165, 1162, 1167, 1340, 1171, 1178, 1348, 1350, 1165,
03519      1162, 1167, 1162, 1171, 1178,    0, 1167,    0, 1171, 1165,
03520      1351, 1179,    0,    0,    0,    0, 1161, 1161, 1165, 1179,
03521      1167, 1181, 1171, 1178, 1350, 1182, 1165, 1353, 1167, 1181,
03522      1171, 1178, 1167, 1182, 1171, 1165, 1351, 1184, 1179, 1181,
03523      1184, 1185, 1161, 1161, 1161, 1184, 1179, 1186, 1181, 1185,
03524      1187, 1188, 1182, 1353, 1185, 1186, 1181, 1356, 1187, 1188,
03525 
03526      1182, 1189,    0, 1363, 1184, 1181, 1198, 1184, 1185, 1189,
03527      1198, 1199, 1184, 1225, 1186, 1199, 1185, 1187, 1188, 1366,
03528      1185, 1225, 1186, 1356, 1198, 1187, 1188, 1226, 1189, 1199,
03529      1363,    0, 1225, 1198,    0, 1226, 1189, 1198, 1199, 1227,
03530      1225, 1226, 1199, 1227, 1229, 1228, 1366, 1227, 1225, 1228,
03531      1198,    0, 1229, 1228, 1226, 1199, 1232, 1230, 1225,    0,
03532      1234, 1230, 1226, 1368, 1232,    0, 1227, 1226, 1234,    0,
03533      1227, 1229, 1228, 1359, 1227, 1230, 1228, 1231, 1231, 1229,
03534      1228, 1369, 1231, 1232, 1230, 1231, 1234, 1234, 1230, 1240,
03535      1368, 1232, 1236,    0, 1247, 1234, 1231, 1240, 1236, 1359,
03536 
03537      1236, 1230, 1247, 1249, 1231, 1231,    0, 1240, 1369, 1231,
03538      1259, 1249, 1231,    0, 1259, 1253, 1240, 1253, 1259, 1236,
03539      1247, 1247, 1231, 1253, 1240, 1236, 1250, 1236, 1251, 1247,
03540      1249, 1362, 1250, 1240, 1250, 1252, 1251, 1259, 1249, 1251,
03541      1365, 1259, 1253, 1252, 1253, 1259, 1252, 1367, 1257, 1370,
03542      1253, 1258, 1257, 1250, 1258, 1251, 1257, 1362, 1258, 1250,
03543      1260, 1250, 1252, 1251, 1260, 1251, 1365, 1257, 1260,    0,
03544      1252, 1380, 1252, 1367, 1261, 1257, 1370, 1258, 1261, 1257,
03545      1258, 1262, 1261, 1257, 1258, 1262, 1264, 1260, 1266, 1291,
03546      1264, 1260, 1266, 1257, 1264, 1260, 1266, 1291, 1380, 1262,
03547 
03548         0, 1261, 1371,    0,    0, 1261,    0, 1372, 1262, 1261,
03549         0,    0, 1262, 1264, 1266, 1266, 1291, 1264,    0, 1266,
03550      1373, 1264, 1382, 1266, 1291, 1262, 1263, 1263, 1371, 1268,
03551      1263, 1263, 1268, 1372, 1263,    0, 1272, 1278, 1374, 1272,
03552      1278, 1268, 1375, 1272, 1278, 1263, 1373, 1357, 1279, 1382,
03553      1357, 1279, 1278, 1263, 1263, 1279, 1268, 1263, 1263, 1268,
03554         0, 1263, 1272, 1278, 1374, 1272, 1278, 1268, 1375, 1272,
03555      1278, 1263, 1280, 1357, 1279, 1280, 1357, 1279,    0, 1281,
03556      1282, 1279, 1281, 1282, 1280,    0, 1281, 1282, 1287, 1283,
03557      1288,    0,    0, 1289,    0, 1376, 1287, 1289, 1288, 1280,
03558 
03559      1283, 1289, 1280, 1283, 1288, 1281, 1282, 1287, 1281, 1282,
03560      1280, 1294, 1281, 1282, 1290, 1287, 1283, 1288, 1290, 1294,
03561      1289, 1376, 1290, 1287, 1289, 1288, 1283,    0, 1289, 1283,
03562      1288, 1388, 1292, 1287, 1293, 1293, 1292,    0, 1294, 1293,
03563      1396, 1290, 1293,    0, 1381, 1290, 1294, 1296, 1298, 1290,
03564      1292, 1383,    0, 1293, 1298, 1296, 1298, 1311, 1388, 1292,
03565      1302, 1293, 1293, 1292, 1309, 1311, 1293, 1396, 1302, 1293,
03566      1381,    0, 1309, 1296, 1296, 1298, 1292, 1383, 1302, 1293,
03567      1312, 1298, 1296, 1298, 1311, 1313, 1312, 1302, 1312, 1314,
03568      1309, 1309, 1311, 1313, 1320, 1302, 1313, 1314, 1319, 1309,
03569 
03570      1314, 1315, 1320, 1315, 1302,    0, 1319, 1312, 1320, 1315,
03571      1321,    0, 1313, 1312, 1321, 1312, 1314, 1319, 1321, 1322,
03572      1313, 1320, 1313, 1322, 1314, 1319, 1314, 1322, 1315, 1320,
03573      1315, 1323, 1326, 1319, 1320, 1389, 1315, 1321, 1324, 1323,
03574      1326, 1321, 1324, 1319, 1395, 1321, 1322,    0,    0,    0,
03575      1322, 1398, 1325, 1325, 1322,    0, 1324, 1325, 1323, 1326,
03576      1325, 1389, 1399,    0, 1328, 1324, 1323, 1326, 1330, 1324,
03577      1395, 1325, 1328, 1343, 1330, 1334, 1330, 1398, 1341, 1325,
03578      1325, 1343, 1324, 1334, 1325, 1400, 1341, 1325, 1344, 1399,
03579      1328, 1328, 1404, 1334, 1344, 1330, 1344, 1325, 1345, 1328,
03580 
03581      1343, 1330, 1334, 1330, 1341, 1341, 1345,    0, 1343, 1345,
03582      1334, 1400, 1347, 1341, 1347, 1344, 1346, 1402, 1404, 1334,
03583      1347, 1344, 1405, 1344, 1346, 1345, 1360, 1346,    0, 1360,
03584      1387, 1403, 1384, 1345, 1385, 1345, 1385, 1386, 1387, 1347,
03585      1384, 1347, 1385, 1346, 1402, 1386, 1391, 1347, 1405, 1384,
03586      1386, 1346, 1360, 1346, 1391, 1360, 1415, 1387, 1403, 1384,
03587      1421, 1385, 1406, 1385, 1386, 1387, 1392, 1384, 1390, 1385,
03588      1407, 1390, 1386, 1391, 1392, 1384, 1386, 1397, 1401,    0,
03589      1392, 1391, 1393, 1415, 1408, 1397, 1401, 1421, 1406, 1409,
03590      1393, 1410, 1411, 1392, 1390, 1393, 1407, 1390, 1393, 1410,
03591 
03592      1411, 1392, 1414, 1397, 1397, 1401, 1392, 1429, 1412, 1393,
03593      1408, 1416, 1397, 1401, 1422, 1409, 1412, 1393, 1410, 1411,
03594      1423, 1393,    0, 1423, 1393, 1413, 1410, 1411, 1414, 1413,
03595      1417,    0, 1428, 1413, 1429, 1412, 1418, 1416, 1431, 1432,
03596      1422, 1417, 1435, 1412, 1417, 1417, 1423, 1418, 1419, 1423,
03597      1418,    0, 1413, 1433, 1420,    0, 1413, 1417, 1428, 1419,
03598      1413, 1436, 1419, 1418, 1431, 1420, 1432, 1417, 1420, 1435,
03599      1417, 1417, 1437, 1418, 1424, 1419, 1418, 1425, 1424, 1433,
03600      1425, 1420, 1424,    0, 1425, 1419, 1426, 1436, 1419, 1438,
03601         0, 1420, 1439, 1430, 1420, 1440, 1445, 1426, 1437, 1447,
03602 
03603      1426, 1424, 1446, 1425, 1430, 1424, 1425, 1430, 1434, 1424,
03604      1425,    0, 1434, 1426,    0, 1438, 1434, 1430, 1439,    0,
03605      1430, 1440, 1445, 1426, 1441, 1447, 1426, 1453, 1441, 1446,
03606      1430,    0, 1441, 1430, 1442, 1434, 1443, 1444, 1442, 1434,
03607      1443, 1444, 1442, 1434, 1443, 1444, 1449, 1452, 1449, 1448,
03608      1451, 1441, 1455, 1453, 1449, 1441, 1459, 1448, 1451, 1441,
03609      1455, 1442, 1462, 1443, 1444, 1442, 1448, 1443, 1444, 1442,
03610      1450, 1443, 1444, 1449, 1452, 1449, 1448, 1451, 1450, 1455,
03611      1464, 1449, 1459, 1450, 1448, 1451, 1454, 1455, 1462, 1454,
03612      1456, 1460, 1448, 1461, 1457, 1463, 1466, 1450, 1456, 1467,
03613 
03614      1465, 1461, 1457,    0, 1456, 1450, 1464, 1457, 1465, 1450,
03615      1457, 1468, 1454, 1469, 1470, 1454, 1471, 1456, 1460, 1461,
03616      1461, 1457, 1463, 1466, 1472, 1456, 1467, 1465, 1461, 1457,
03617      1456, 1473, 1478, 1457, 1479, 1465, 1457, 1468, 1474, 1469,
03618      1470, 1475, 1471, 1476, 1477,    0, 1474, 1481, 1477, 1475,
03619      1472, 1476, 1477,    0, 1480, 1481,    0, 1473, 1478, 1483,
03620      1485, 1479, 1486,    0, 1481, 1474,    0, 1483, 1475, 1484,
03621      1476, 1477, 1483, 1474, 1481, 1477, 1475, 1484, 1476, 1477,
03622      1480, 1482, 1481, 1482,    0, 1488, 1483, 1485, 1486, 1482,
03623      1481,    0, 1487, 1488, 1483, 1487, 1484, 1489, 1483, 1492,
03624 
03625      1493, 1490,    0, 1495, 1484, 1489,    0, 1494, 1482, 1490,
03626      1482, 1489, 1488, 1497, 1490, 1494, 1482, 1490, 1487, 1496,
03627      1488, 1487, 1498, 1499, 1489, 1492, 1500, 1493, 1490, 1495,
03628      1498,    0, 1489, 1494, 1494, 1501, 1490, 1489, 1502, 1497,
03629      1490, 1503, 1494, 1490, 1504, 1505, 1496, 1506, 1507, 1498,
03630      1499, 1508, 1509, 1500, 1510, 1511, 1507, 1498, 1510, 1508,
03631      1509, 1501, 1510, 1514, 1502, 1512, 1513, 1503, 1515, 1516,
03632      1504, 1505, 1517, 1506, 1518, 1507, 1519, 1520, 1508, 1509,
03633      1521, 1510, 1511, 1507, 1522, 1510, 1508, 1509, 1523, 1510,
03634      1514, 1512, 1513, 1524, 1515, 1516, 1525, 1526, 1527, 1517,
03635 
03636      1528, 1518, 1529, 1519, 1520, 1530, 1531, 1521, 1532, 1533,
03637      1534, 1522, 1535,    0, 1536, 1523, 1537,    0, 1538, 1539,
03638      1524, 1541, 1525, 1526, 1527, 1542, 1528, 1543, 1529, 1544,
03639      1545, 1530, 1531, 1544, 1532, 1533, 1534, 1544, 1545, 1535,
03640      1536, 1555, 1547, 1537, 1538, 1548, 1539, 1549, 1541, 1545,
03641      1546, 1542, 1550, 1543, 1553,    0, 1544, 1545, 1546, 1553,
03642      1544,    0, 1553,    0, 1544, 1545, 1556, 1555, 1546, 1547,
03643      1557, 1558, 1548, 1559, 1549, 1545, 1551, 1546, 1551, 1550,
03644      1552, 1553, 1552,    0, 1551, 1546, 1553, 1554, 1552, 1553,
03645      1560, 1562, 1556, 1554, 1546, 1554, 1557, 1558, 1563, 1559,
03646 
03647      1564, 1565, 1561, 1551, 1566, 1551, 1567, 1552, 1568, 1552,
03648      1561, 1551, 1572, 1561, 1554, 1552, 1560, 1562, 1569, 1571,
03649      1554, 1573, 1554, 1570, 1563, 1577, 1564, 1578, 1565, 1561,
03650      1566, 1570, 1574, 1567, 1568, 1585, 1574, 1561, 1572, 1561,
03651      1574, 1579, 1580,    0, 1575, 1569, 1571, 1573, 1575, 1570,
03652      1570,    0, 1577, 1576, 1578,    0, 1576, 1586, 1570, 1574,
03653      1576, 1585, 1575, 1574,    0, 1587, 1581, 1574, 1579, 1580,
03654      1582, 1575, 1588, 1594, 1583, 1575, 1589, 1581, 1583, 1576,
03655      1581, 1582, 1576, 1586, 1582, 1590, 1576, 1584, 1575, 1592,
03656      1584, 1587, 1583, 1581, 1593, 1595, 1596, 1582, 1588, 1584,
03657 
03658      1594, 1583, 1589, 1581, 1597, 1583, 1581, 1582,    0, 1591,
03659      1582, 1590, 1591, 1599, 1584, 1592, 1591, 1584, 1583, 1598,
03660      1593, 1595, 1598, 1596, 1600, 1584, 1598, 1601, 1602, 1605,
03661      1597, 1613, 1602, 1604, 1598, 1591, 1602, 1606, 1591, 1603,
03662      1599, 1604, 1591, 1607, 1608, 1598, 1614, 1603, 1598, 1623,
03663      1600, 1604, 1598, 1601,    0, 1602, 1605, 1613, 1603, 1602,
03664      1604,    0, 1615, 1602, 1606, 1609, 1603, 1609, 1604, 1616,
03665      1607, 1608, 1614, 1609, 1603, 1612, 1623, 1604, 1610, 1625,
03666      1610, 1612, 1611, 1612, 1603, 1617, 1610, 1611, 1615, 1618,
03667      1611, 1627, 1609, 1619, 1609, 1616, 1620, 1621, 1622, 1624,
03668 
03669      1609, 1619, 1612, 1626, 1619, 1610, 1625, 1610, 1612, 1611,
03670      1612, 1617, 1629, 1610, 1611, 1618, 1630, 1611, 1627, 1628,
03671      1619, 1631, 1620, 1621, 1622, 1624, 1634, 1628, 1619, 1626,
03672      1619, 1635, 1632, 1633, 1634, 1636, 1632, 1637, 1638, 1629,
03673      1632, 1633, 1630, 1643, 1634, 1628, 1628, 1631, 1639,    0,
03674      1639,    0, 1633, 1634, 1628, 1653, 1639,    0, 1635, 1632,
03675      1633, 1634, 1636, 1632, 1637, 1638, 1642, 1632, 1633, 1643,
03676      1634, 1640, 1642, 1640, 1642, 1639, 1641, 1639, 1633, 1640,
03677      1655, 1641, 1653, 1639, 1641,    0, 1644, 1645, 1646, 1647,
03678      1648, 1650, 1651, 1642, 1649,    0, 1652, 1654, 1640, 1642,
03679 
03680      1640, 1642, 1649, 1641, 1656, 1649, 1640, 1655, 1641, 1657,
03681      1659, 1641, 1644, 1645, 1646, 1647, 1648, 1650, 1651, 1658,
03682      1662, 1649, 1652, 1654, 1660, 1663, 1665, 1658, 1668, 1649,
03683      1656, 1649, 1666, 1667, 1669, 1670, 1657, 1659, 1671, 1672,
03684      1673,    0, 1674, 1675, 1676, 1658, 1658, 1662, 1677, 1682,
03685      1660, 1663, 1665, 1683, 1658, 1668, 1685, 1686, 1666, 1667,
03686      1669, 1670, 1687, 1688, 1671, 1689, 1672, 1673, 1674, 1675,
03687      1676, 1690, 1695, 1688, 1677, 1682, 1696, 1693, 1692, 1694,
03688      1683, 1692, 1685, 1697, 1686, 1693, 1692, 1694, 1687, 1698,
03689      1688,    0, 1689, 1704, 1693, 1705, 1703, 1690, 1695, 1688,
03690 
03691      1706, 1707, 1696, 1700, 1693, 1692, 1694, 1699, 1692, 1697,
03692      1701, 1700, 1693, 1692, 1694, 1699, 1698, 1699, 1701, 1704,
03693      1693, 1705, 1700, 1703, 1701, 1702, 1706, 1707, 1709, 1702,
03694      1700, 1712, 1713, 1702, 1699, 1715, 1709, 1701, 1700, 1716,
03695         0, 1717, 1699, 1699, 1718, 1701, 1719,    0, 1700, 1720,
03696      1701, 1725, 1702,    0, 1718, 1709, 1702, 1712, 1726, 1713,
03697      1702, 1715, 1722, 1709, 1727, 1722, 1716, 1717, 1728, 1723,
03698         0, 1718, 1723, 1719, 1722, 1720, 1724, 1725, 1734, 1724,
03699      1718, 1723, 1735, 1723, 1726,    0,    0,    0, 1724, 1722,
03700      1727, 1733, 1722, 1730,    0, 1728, 1723, 1730, 1729, 1723,
03701 
03702      1722, 1729,    0, 1724, 1734, 1729, 1724, 1723, 1735, 1723,
03703      1729, 1730, 1731, 1732, 1724, 1731, 1736, 1732, 1733, 1731,
03704      1730, 1732,    0, 1737, 1730, 1729, 1739, 1742, 1729, 1741,
03705      1739, 1729, 1744, 1745, 1739, 1747, 1729, 1730, 1731, 1748,
03706      1732, 1731, 1736, 1753, 1732, 1731, 1746, 1756, 1732, 1737,
03707      1754, 1751, 1761, 1739, 1742, 1741, 1746, 1739, 1744, 1751,
03708      1745, 1739, 1747, 1750, 1752, 1748, 1750,    0, 1751, 1753,
03709      1755, 1750, 1752, 1746, 1756, 1757, 1754, 1762, 1751, 1761,
03710      1763, 1758, 1746, 1757,    0, 1757, 1751, 1759, 1771, 1758,
03711      1750, 1752, 1764, 1750, 1751, 1759, 1755, 1765, 1750, 1752,
03712 
03713      1758, 1759, 1757, 1762, 1767, 1760, 1763, 1770, 1758, 1760,
03714      1757, 1757, 1767, 1760, 1759, 1771, 1758, 1773, 1764, 1774,
03715         0, 1775, 1759, 1765, 1776, 1777, 1758, 1759, 1778, 1782,
03716      1786, 1767, 1760, 1770, 1776, 1783, 1760, 1782,    0, 1767,
03717      1760, 1780, 1781, 1773, 1780, 1791, 1774, 1775, 1784, 1780,
03718      1781, 1776, 1777, 1785, 1778, 1787, 1782, 1786, 1792, 1781,
03719      1776, 1783, 1788, 1787, 1782, 1787,    0, 1793, 1780, 1781,
03720      1788, 1780, 1791, 1794, 1784, 1795, 1780, 1781, 1789, 1785,
03721      1800, 1788, 1787, 1801, 1792, 1781, 1789, 1797, 1804, 1788,
03722      1787, 1787, 1789, 1793, 1790, 1797, 1808, 1788, 1790, 1794,
03723 
03724      1803, 1795, 1790,    0, 1805, 1789, 1800, 1788, 1810, 1806,
03725      1801, 1811, 1813, 1789, 1797, 1804, 1812, 1814, 1789, 1806,
03726      1815, 1790, 1797, 1808, 1816, 1790, 1803, 1817, 1819, 1790,
03727      1805, 1818, 1821,    0, 1822, 1810, 1806, 1824, 1811, 1813,
03728      1826, 1829, 1812, 1814, 1827, 1806, 1830, 1815, 1832, 1835,
03729      1816, 1836, 1837, 1833, 1817, 1819, 1838, 1818, 1834, 1821,
03730      1822, 1833, 1834, 1839, 1824, 1846, 1834, 1826, 1829, 1839,
03731      1827, 1839,    0, 1830,    0, 1832, 1835, 1836, 1840, 1837,
03732      1833, 1843, 1838, 1845, 1842, 1834, 1840, 1848, 1833, 1834,
03733      1839, 1846, 1842, 1834, 1851, 1840, 1839, 1842, 1839, 1841,
03734 
03735      1850, 1841, 1853, 1854, 1856, 1840,    0, 1841, 1843, 1860,
03736      1845, 1842, 1859, 1840, 1848, 1861,    0, 1862, 1867, 1842,
03737      1851, 1840, 1870, 1842, 1869,    0, 1841, 1850, 1841, 1853,
03738      1854, 1856, 1857, 1858, 1841, 1860, 1857, 1858, 1865, 1859,
03739      1857, 1858, 1861, 1862, 1863, 1867,    0, 1863, 1870, 1865,
03740      1872, 1869, 1865, 1874,    0, 1875, 1863, 1876, 1864, 1857,
03741      1858, 1864, 1866, 1857, 1858, 1865, 1877, 1857, 1858, 1883,
03742      1864, 1863, 1864, 1866, 1863, 1865, 1866, 1872, 1865, 1879,
03743      1874, 1875, 1863, 1880, 1876, 1864, 1881, 1882, 1864, 1866,
03744      1881, 1880, 1884, 1877, 1881, 1883, 1864, 1885, 1864, 1866,
03745 
03746         0, 1886, 1866, 1887, 1890,    0, 1879, 1886,    0, 1886,
03747      1880, 1887, 1892, 1881, 1882, 1893, 1895, 1881, 1880, 1884,
03748      1887, 1881, 1897, 1885, 1888, 1900, 1888, 1889, 1886, 1898,
03749      1887, 1890, 1888, 1901, 1886, 1889, 1886, 1903, 1887, 1892,
03750      1889, 1893, 1904, 1895, 1906, 1908, 1887, 1907, 1909, 1897,
03751      1904, 1888, 1900, 1888, 1889, 1898,    0, 1905, 1914, 1888,
03752      1901, 1905, 1889,    0, 1903, 1905, 1889, 1916,    0, 1904,
03753      1910, 1906, 1908, 1907, 1909, 1917, 1910, 1904, 1910, 1911,
03754      1919, 1912, 1913, 1912, 1905, 1914, 1921, 1911, 1905, 1912,
03755      1913, 1924, 1905, 1922, 1916, 1913, 1911, 1910, 1925, 1926,
03756 
03757      1927, 1917, 1928, 1910, 1929, 1910, 1911, 1919, 1912, 1913,
03758      1912, 1930, 1931, 1921, 1911, 1932, 1912, 1913, 1924, 1922,
03759      1933, 1913, 1911, 1934, 1935, 1925, 1926, 1927, 1928, 1936,
03760      1937, 1929, 1938, 1939, 1940, 1942, 1945, 1930, 1931, 1943,
03761      1944, 1932, 1947, 1946, 1948,    0, 1946, 1933, 1949, 1934,
03762      1935, 1946,    0, 1950, 1956, 1936, 1951, 1937, 1938, 1939,
03763      1940,    0, 1942, 1945, 1951, 1943, 1944, 1953, 1947, 1954,
03764      1946, 1948, 1951, 1946, 1949, 1953, 1952, 1954, 1946, 1950,
03765      1952, 1956, 1955, 1951, 1952,    0, 1953, 1954, 1957, 1958,
03766      1959, 1951, 1961, 1964, 1953, 1962, 1954, 1963, 1951, 1966,
03767 
03768      1967,    0, 1953, 1952, 1954, 1968, 1965, 1952, 1955, 1965,
03769         0, 1952, 1953, 1954, 1957, 1958, 1959, 1969, 1965, 1961,
03770      1964, 1962, 1971, 1963, 1970, 1966, 1971, 1967, 1972, 1975,
03771      1971, 1968, 1972, 1965, 1973, 1970, 1965, 1973, 1970, 1974,
03772      1976, 1973, 1977, 1969, 1965, 1978, 1972, 1980, 1983, 1971,
03773      1981, 1970, 1982, 1971, 1986, 1972, 1975, 1971, 1985, 1972,
03774      1973, 1970, 1987, 1973, 1970, 1974, 1976, 1973, 1977, 1988,
03775      1993, 1978, 1972, 1994, 1980, 1983, 1981, 1984, 1982, 1990,
03776      1984, 1986, 1989, 1990, 1985, 1984, 1991, 1990, 1987, 1995,
03777      1989,    0, 1996, 1992, 1991, 1988, 1993, 1997, 1989, 1999,
03778 
03779      1994, 1992,    0, 2000, 1984, 1991, 1990, 1984, 2001, 1989,
03780      1990, 1992, 1984, 1991, 1990, 1995, 2002, 1989, 1996, 2003,
03781      1992, 1991, 2003, 1997, 1989, 2004, 1999, 2003, 1992, 2000,
03782      2005, 1991, 2006, 2007, 2001, 2013, 2008, 1992,    0, 2012,
03783         0, 2014, 2015, 2002, 2008, 2018, 2003, 2010,    0, 2003,
03784      2016, 2004, 2008, 2024, 2003, 2010, 2009, 2005, 2006, 2007,
03785      2009, 2011, 2013, 2008, 2009, 2012, 2010, 2014, 2015, 2011,
03786      2028, 2008, 2018, 2019, 2010, 2020, 2016, 2023, 2008, 2011,
03787      2024, 2025, 2010, 2009, 2027, 2029, 2031, 2009, 2011, 2032,
03788      2035, 2009, 2010, 2034, 2036, 2043, 2011, 2028, 2039, 2019,
03789 
03790      2041, 2020, 2042, 2023, 2044, 2011, 2046, 2025, 2041, 2051,
03791      2027, 2029, 2031, 2050, 2046, 2047, 2032, 2035, 2047, 2034,
03792      2046, 2036, 2043, 2047, 2039, 2053, 2048, 2041, 2042, 2049,
03793      2044, 2054, 2055, 2046, 2048, 2041, 2051, 2049, 2062, 2050,
03794      2058, 2046, 2047, 2048, 2061, 2047, 2046, 2063, 2069,    0,
03795      2047, 2053,    0, 2048, 2072, 2070, 2049, 2073, 2054, 2055,
03796      2060, 2048,    0, 2060, 2049, 2062, 2058, 2060, 2065, 2048,
03797      2061, 2065, 2074, 2063, 2069, 2065, 2066, 2079, 2067, 2066,
03798      2072, 2067, 2070, 2077, 2073, 2079, 2060, 2080, 2066, 2060,
03799      2067, 2082, 2067, 2060, 2065, 2068, 2081, 2065, 2068, 2074,
03800 
03801      2088, 2065,    0, 2066, 2079, 2067, 2066, 2068, 2067, 2077,
03802      2089,    0, 2079, 2080, 2066, 2091, 2067, 2082, 2067, 2086,
03803      2084, 2085, 2068, 2081, 2085, 2068, 2088, 2086, 2084, 2085,
03804      2087, 2092, 2093, 2068, 2084, 2096, 2086, 2089, 2087,    0,
03805      2099, 2091, 2098, 2100,    0, 2101, 2086, 2084, 2085,    0,
03806      2098, 2085,    0, 2107, 2086, 2084, 2085, 2087, 2092, 2093,
03807      2084, 2096, 2086, 2108, 2103, 2087, 2099, 2105, 2111, 2098,
03808      2100, 2101, 2103, 2104, 2106, 2105, 2104, 2098, 2103, 2107,
03809      2110, 2104, 2106,    0, 2105, 2112,    0, 2115, 2116, 2118,
03810      2108, 2103, 2119, 2121, 2105, 2111, 2122, 2123, 2125, 2103,
03811 
03812      2104, 2106, 2105, 2104, 2103, 2124, 2110, 2126, 2104, 2106,
03813      2105, 2127, 2112, 2115, 2116, 2128, 2118, 2129, 2119, 2131,
03814      2121, 2132, 2135, 2122, 2123, 2125, 2137, 2133, 2134, 2132,
03815      2136, 2124, 2134, 2138, 2126, 2133, 2134, 2127, 2139,    0,
03816      2132, 2128, 2140, 2129, 2141, 2142, 2131, 2144, 2132, 2135,
03817      2148, 2149, 2137, 2133, 2133, 2134, 2132, 2136, 2150, 2134,
03818      2138, 2151, 2133, 2134, 2152, 2139, 2132, 2153, 2140, 2145,
03819      2141, 2142, 2146, 2145, 2144, 2147, 2146, 2148, 2149, 2147,
03820         0, 2154, 2155, 2147, 2150, 2157,    0, 2145, 2151, 2163,
03821      2146, 2152, 2161, 2153,    0,    0, 2145, 2146, 2166, 2146,
03822 
03823      2145, 2158, 2147, 2146, 2162, 2164, 2147, 2154, 2155, 2158,
03824      2147, 2165, 2157, 2145, 2159, 2163, 2146, 2160, 2170, 2161,
03825      2158, 2160, 2159, 2174, 2166, 2160,    0, 2167, 2158, 2168,
03826      2175, 2162, 2164,    0, 2172, 2171, 2158, 2177, 2165, 2176,
03827      2159, 2159, 2172, 2171, 2160, 2170, 2158, 2178, 2160, 2159,
03828      2174, 2179, 2160, 2167, 2171, 2168, 2180, 2175, 2181, 2173,
03829      2172, 2172, 2171, 2173, 2177, 2176, 2182, 2173, 2183, 2172,
03830      2171, 2184, 2185, 2187, 2178, 2186, 2188, 2179, 2189, 2190,
03831      2171, 2191, 2180, 2192, 2181, 2193, 2173, 2194, 2195,    0,
03832      2173, 2198, 2199, 2182, 2173, 2183, 2200, 2184, 2201, 2185,
03833 
03834      2187, 2186, 2188, 2202, 2189, 2190, 2203, 2191, 2196, 2192,
03835      2197, 2193, 2204, 2197, 2194, 2195, 2196, 2198, 2197, 2199,
03836      2205, 2196, 2200, 2206, 2201, 2207,    0, 2210, 2208, 2202,
03837      2211, 2218, 2203, 2212, 2219, 2196, 2213, 2197, 2204, 2208,
03838      2197, 2214, 2208, 2196, 2215, 2197, 2205, 2196, 2209,    0,
03839      2206, 2209, 2207, 2210, 2216, 2208, 2217, 2211, 2218, 2212,
03840      2209, 2219, 2213, 2220, 2223, 2208, 2221, 2214, 2208, 2221,
03841      2215, 2220,    0, 2222, 2221, 2209, 2220, 2224, 2209, 2225,
03842      2216, 2226, 2217, 2227, 2228, 2229, 2209, 2230, 2231, 2233,
03843      2220, 2223, 2233, 2221, 2234, 2235, 2221, 2233, 2220, 2222,
03844 
03845      2232, 2221, 2220, 2224, 2236, 2225, 2237, 2226, 2232, 2227,
03846      2228, 2229, 2238, 2232, 2230, 2231, 2233, 2239, 2240, 2233,
03847      2234, 2241, 2235, 2242, 2233, 2244, 2246, 2232, 2247, 2248,
03848      2236, 2249, 2237, 2251, 2253, 2232, 2254, 2256, 2238, 2232,
03849      2256, 2258, 2257, 2239, 2240, 2256,    0, 2259, 2241, 2242,
03850      2257, 2265, 2244, 2246, 2247, 2248, 2260, 2249, 2261, 2251,
03851      2263, 2253, 2254, 2266, 2256, 2270, 2277, 2256, 2258, 2257,
03852      2271, 2268, 2256, 2259, 2268, 2282, 2269, 2257, 2265, 2269,
03853         0, 2272, 2260, 2268, 2261, 2273, 2263, 2275, 2269, 2266,
03854      2278, 2280, 2270, 2277, 2280, 2289, 2271, 2281, 2268, 2280,
03855 
03856         0, 2268, 2282, 2269, 2283, 2281, 2269, 2272, 2284, 2268,
03857      2285, 2273, 2287, 2275, 2269, 2290, 2278, 2292, 2280, 2293,
03858      2292, 2280, 2289, 2294, 2281, 2292, 2280, 2293,    0, 2295,
03859      2283, 2296, 2281, 2297, 2284, 2299, 2285, 2302, 2287, 2304,
03860      2306, 2290, 2307, 2310, 2292, 2308, 2293, 2292, 2311, 2315,
03861      2294, 2312, 2292, 2314, 2293, 2295, 2311, 2296, 2316, 2297,
03862      2318, 2299, 2320, 2322, 2302, 2304, 2306, 2323, 2326, 2307,
03863      2310, 2308, 2324, 2328, 2327, 2311, 2315, 2312, 2319, 2314,
03864      2330, 2319, 2327, 2311, 2316, 2331, 2334, 2318, 2320, 2322,
03865      2319, 2332, 2335, 2339, 2323, 2326, 2336, 2338, 2324, 2328,
03866 
03867      2335, 2327, 2340, 2341, 2343, 2319, 2330, 2342, 2319, 2327,
03868      2344, 2345, 2331, 2334, 2346, 2348, 2319, 2332, 2347, 2335,
03869      2339, 2349, 2336, 2338, 2350, 2351, 2353, 2335, 2340, 2352,
03870      2341, 2343, 2354, 2342, 2355, 2356, 2344, 2357, 2345, 2358,
03871      2360, 2346, 2348, 2359, 2347, 2361, 2363, 2349, 2362, 2364,
03872      2365, 2350, 2351, 2353, 2366, 2352, 2369, 2374, 2354, 2370,
03873      2371, 2355, 2356, 2357, 2375, 2376, 2358, 2360, 2379, 2359,
03874      2380, 2381, 2361, 2363, 2362, 2364, 2384, 2365, 2385, 2386,
03875      2366, 2389, 2391, 2369, 2374, 2370, 2371, 2390, 2393, 2394,
03876      2375, 2376, 2396, 2397, 2399, 2379, 2380, 2381, 2400, 2402,
03877 
03878      2403, 2405, 2407, 2384, 2385, 2386, 2406, 2408, 2389, 2391,
03879      2409,    0, 2410, 2390, 2411, 2393, 2394, 2412, 2413, 2396,
03880      2397, 2399, 2414, 2415, 2416, 2400, 2402, 2403, 2405, 2407,
03881      2417, 2418, 2406, 2408, 2419, 2420, 2422, 2409, 2410, 2421,
03882      2423, 2411, 2424, 2412, 2425, 2413,    0,    0, 2414,    0,
03883      2415, 2416,    0,    0,    0,    0, 2417,    0, 2418,    0,
03884      2419,    0, 2420, 2422,    0, 2421, 2423,    0,    0, 2424,
03885      2425, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437, 2437,
03886      2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2438, 2439,
03887      2439, 2439,    0, 2439, 2439, 2439, 2439, 2439, 2440, 2440,
03888 
03889      2441, 2441,    0, 2441, 2441, 2441, 2441, 2441, 2441, 2442,
03890      2442,    0, 2442, 2442, 2442, 2442, 2442, 2442, 2443, 2443,
03891      2443, 2443, 2443, 2443, 2443, 2443, 2443, 2444, 2444,    0,
03892      2444, 2444, 2444, 2444, 2444, 2444, 2445, 2445,    0, 2445,
03893      2445, 2445, 2445, 2445, 2445, 2446, 2446, 2446,    0, 2446,
03894      2446, 2446, 2446, 2446, 2447, 2447, 2447, 2447, 2448, 2448,
03895      2448, 2448, 2449,    0, 2449,    0, 2449, 2449, 2449, 2449,
03896      2449, 2450,    0, 2450,    0, 2450, 2450, 2450, 2450, 2450,
03897      2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2451, 2452,
03898      2452, 2453, 2453, 2453, 2453, 2453, 2454, 2454, 2454, 2454,
03899 
03900      2454, 2455, 2455, 2455, 2455, 2455, 2455, 2455, 2455, 2455,
03901      2456, 2456,    0, 2456, 2456, 2456, 2456, 2456, 2456, 2457,
03902      2457,    0, 2457, 2457, 2457, 2457, 2457, 2457, 2458, 2458,
03903         0, 2458, 2458, 2458, 2458, 2458, 2458, 2459, 2459,    0,
03904      2459, 2459, 2459, 2459, 2459, 2459, 2460, 2460,    0, 2460,
03905      2460, 2460, 2460, 2460, 2460, 2461, 2461,    0, 2461, 2461,
03906      2461, 2461, 2461, 2461, 2462, 2462, 2462, 2462, 2462, 2462,
03907      2462, 2462, 2462, 2463, 2463, 2463, 2463, 2463, 2463, 2463,
03908      2463, 2463, 2464, 2464,    0, 2464, 2464, 2464, 2464, 2464,
03909      2464, 2465, 2465,    0, 2465, 2465, 2465, 2465, 2465, 2465,
03910 
03911      2466, 2466,    0, 2466, 2466, 2466, 2466, 2466, 2466, 2467,
03912      2467,    0, 2467, 2467, 2467, 2467, 2467, 2467, 2468, 2468,
03913         0, 2468, 2468, 2468, 2468, 2468, 2468, 2469, 2469, 2469,
03914      2469, 2469, 2469, 2469, 2469, 2469, 2470, 2470,    0, 2470,
03915      2470, 2470, 2470, 2470, 2470, 2471, 2471,    0, 2471, 2471,
03916      2471, 2471, 2471, 2471, 2472, 2472,    0, 2472, 2472, 2472,
03917      2472, 2472, 2472, 2473, 2473,    0, 2473, 2473, 2473, 2473,
03918      2473, 2473, 2474, 2474, 2474, 2474, 2474, 2474, 2474, 2474,
03919      2474, 2475, 2475,    0, 2475, 2475, 2475, 2475, 2475, 2475,
03920      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
03921 
03922      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
03923      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
03924      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
03925      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
03926      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436,
03927      2436, 2436, 2436, 2436, 2436, 2436, 2436, 2436
03928     } ;
03929 
03930 extern int yy_flex_debug;
03931 int yy_flex_debug = 0;
03932 
03933 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
03934 static char *yy_full_match;
03935 static int yy_lp;
03936 static int yy_looking_for_trail_begin = 0;
03937 static int yy_full_lp;
03938 static int *yy_full_state;
03939 #define YY_TRAILING_MASK 0x2000
03940 #define YY_TRAILING_HEAD_MASK 0x4000
03941 #define REJECT \
03942 { \
03943 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
03944 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
03945 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
03946 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
03947 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
03948 ++(yy_lp); \
03949 goto find_rule; \
03950 }
03951 
03952 #define yymore() yymore_used_but_not_detected
03953 #define YY_MORE_ADJ 0
03954 #define YY_RESTORE_YY_MORE_OFFSET
03955 char *yytext;
03956 #line 1 "src/cfgparse.l"
03957 /*
03958  * vim:ts=4:sw=4:expandtab
03959  *
03960  */
03961 #define YY_NO_INPUT 1
03962 #line 11 "src/cfgparse.l"
03963 #include <stdio.h>
03964 #include <string.h>
03965 #include <stdint.h>
03966 #include <xcb/xcb.h>
03967 
03968 #include "data.h"
03969 #include "config.h"
03970 #include "log.h"
03971 #include "util.h"
03972 
03973 #include "cfgparse.tab.h"
03974 
03975 int yycolumn = 1;
03976 
03977 #define YY_DECL int yylex (struct context *context)
03978 
03979 #define YY_USER_ACTION { \
03980     context->first_column = yycolumn; \
03981     context->last_column = yycolumn+yyleng-1; \
03982     yycolumn += yyleng; \
03983 }
03984 
03985 /* macro to first eat whitespace, then expect a string */
03986 #define WS_STRING do { \
03987     yy_push_state(WANT_STRING); \
03988     yy_push_state(EAT_WHITESPACE); \
03989 } while (0)
03990 
03991 
03992 
03993 
03994 
03995 
03996 
03997 
03998 
03999 
04000 
04001 #line 4002 "src/cfgparse.yy.c"
04002 
04003 #define INITIAL 0
04004 #define WANT_STRING 1
04005 #define WANT_QSTRING 2
04006 #define BINDSYM_COND 3
04007 #define ASSIGN_COND 4
04008 #define ASSIGN_TARGET_COND 5
04009 #define COLOR_COND 6
04010 #define OUTPUT_COND 7
04011 #define FOR_WINDOW_COND 8
04012 #define EAT_WHITESPACE 9
04013 #define BUFFER_LINE 10
04014 
04015 #ifndef YY_NO_UNISTD_H
04016 /* Special case for "unistd.h", since it is non-ANSI. We include it way
04017  * down here because we want the user's section 1 to have been scanned first.
04018  * The user has a chance to override it with an option.
04019  */
04020 #include <unistd.h>
04021 #endif
04022 
04023 #ifndef YY_EXTRA_TYPE
04024 #define YY_EXTRA_TYPE void *
04025 #endif
04026 
04027 static int yy_init_globals (void );
04028 
04029 /* Accessor methods to globals.
04030    These are made visible to non-reentrant scanners for convenience. */
04031 
04032 int yylex_destroy (void );
04033 
04034 int yyget_debug (void );
04035 
04036 void yyset_debug (int debug_flag  );
04037 
04038 YY_EXTRA_TYPE yyget_extra (void );
04039 
04040 void yyset_extra (YY_EXTRA_TYPE user_defined  );
04041 
04042 FILE *yyget_in (void );
04043 
04044 void yyset_in  (FILE * in_str  );
04045 
04046 FILE *yyget_out (void );
04047 
04048 void yyset_out  (FILE * out_str  );
04049 
04050 int yyget_leng (void );
04051 
04052 char *yyget_text (void );
04053 
04054 int yyget_lineno (void );
04055 
04056 void yyset_lineno (int line_number  );
04057 
04058 /* Macros after this point can all be overridden by user definitions in
04059  * section 1.
04060  */
04061 
04062 #ifndef YY_SKIP_YYWRAP
04063 #ifdef __cplusplus
04064 extern "C" int yywrap (void );
04065 #else
04066 extern int yywrap (void );
04067 #endif
04068 #endif
04069 
04070 #ifndef yytext_ptr
04071 static void yy_flex_strncpy (char *,yyconst char *,int );
04072 #endif
04073 
04074 #ifdef YY_NEED_STRLEN
04075 static int yy_flex_strlen (yyconst char * );
04076 #endif
04077 
04078 #ifndef YY_NO_INPUT
04079 
04080 #ifdef __cplusplus
04081 static int yyinput (void );
04082 #else
04083 static int input (void );
04084 #endif
04085 
04086 #endif
04087 
04088         static int yy_start_stack_ptr = 0;
04089         static int yy_start_stack_depth = 0;
04090         static int *yy_start_stack = NULL;
04091     
04092     static void yy_push_state (int new_state );
04093     
04094     static void yy_pop_state (void );
04095     
04096 /* Amount of stuff to slurp up with each read. */
04097 #ifndef YY_READ_BUF_SIZE
04098 #define YY_READ_BUF_SIZE 8192
04099 #endif
04100 
04101 /* Copy whatever the last rule matched to the standard output. */
04102 #ifndef ECHO
04103 /* This used to be an fputs(), but since the string might contain NUL's,
04104  * we now use fwrite().
04105  */
04106 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
04107 #endif
04108 
04109 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
04110  * is returned in "result".
04111  */
04112 #ifndef YY_INPUT
04113 #define YY_INPUT(buf,result,max_size) \
04114         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
04115                 { \
04116                 int c = '*'; \
04117                 unsigned n; \
04118                 for ( n = 0; n < max_size && \
04119                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
04120                         buf[n] = (char) c; \
04121                 if ( c == '\n' ) \
04122                         buf[n++] = (char) c; \
04123                 if ( c == EOF && ferror( yyin ) ) \
04124                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
04125                 result = n; \
04126                 } \
04127         else \
04128                 { \
04129                 errno=0; \
04130                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
04131                         { \
04132                         if( errno != EINTR) \
04133                                 { \
04134                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
04135                                 break; \
04136                                 } \
04137                         errno=0; \
04138                         clearerr(yyin); \
04139                         } \
04140                 }\
04141 \
04142 
04143 #endif
04144 
04145 /* No semi-colon after return; correct usage is to write "yyterminate();" -
04146  * we don't want an extra ';' after the "return" because that will cause
04147  * some compilers to complain about unreachable statements.
04148  */
04149 #ifndef yyterminate
04150 #define yyterminate() return YY_NULL
04151 #endif
04152 
04153 /* Number of entries by which start-condition stack grows. */
04154 #ifndef YY_START_STACK_INCR
04155 #define YY_START_STACK_INCR 25
04156 #endif
04157 
04158 /* Report a fatal error. */
04159 #ifndef YY_FATAL_ERROR
04160 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
04161 #endif
04162 
04163 /* end tables serialization structures and prototypes */
04164 
04165 /* Default declaration of generated scanner - a define so the user can
04166  * easily add parameters.
04167  */
04168 #ifndef YY_DECL
04169 #define YY_DECL_IS_OURS 1
04170 
04171 extern int yylex (void);
04172 
04173 #define YY_DECL int yylex (void)
04174 #endif /* !YY_DECL */
04175 
04176 /* Code executed at the beginning of each rule, after yytext and yyleng
04177  * have been set up.
04178  */
04179 #ifndef YY_USER_ACTION
04180 #define YY_USER_ACTION
04181 #endif
04182 
04183 /* Code executed at the end of each rule. */
04184 #ifndef YY_BREAK
04185 #define YY_BREAK break;
04186 #endif
04187 
04188 #define YY_RULE_SETUP \
04189         if ( yyleng > 0 ) \
04190                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
04191                                 (yytext[yyleng - 1] == '\n'); \
04192         YY_USER_ACTION
04193 
04196 YY_DECL
04197 {
04198         register yy_state_type yy_current_state;
04199         register char *yy_cp, *yy_bp;
04200         register int yy_act;
04201     
04202 #line 54 "src/cfgparse.l"
04203 
04204 
04205     {
04206         /* This is called when a new line is lexed. We only want the
04207          * first line to match to go into state BUFFER_LINE */
04208         if (context->line_number == 0) {
04209             context->line_number = 1;
04210             BEGIN(INITIAL);
04211             yy_push_state(BUFFER_LINE);
04212         }
04213     }
04214 
04215 #line 4216 "src/cfgparse.yy.c"
04216 
04217         if ( !(yy_init) )
04218                 {
04219                 (yy_init) = 1;
04220 
04221 #ifdef YY_USER_INIT
04222                 YY_USER_INIT;
04223 #endif
04224 
04225         /* Create the reject buffer large enough to save one state per allowed character. */
04226         if ( ! (yy_state_buf) )
04227             (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE  );
04228             if ( ! (yy_state_buf) )
04229                 YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
04230 
04231                 if ( ! (yy_start) )
04232                         (yy_start) = 1; /* first start state */
04233 
04234                 if ( ! yyin )
04235                         yyin = stdin;
04236 
04237                 if ( ! yyout )
04238                         yyout = stdout;
04239 
04240                 if ( ! YY_CURRENT_BUFFER ) {
04241                         yyensure_buffer_stack ();
04242                         YY_CURRENT_BUFFER_LVALUE =
04243                                 yy_create_buffer(yyin,YY_BUF_SIZE );
04244                 }
04245 
04246                 yy_load_buffer_state( );
04247                 }
04248 
04249         while ( 1 )             /* loops until end-of-file is reached */
04250                 {
04251                 yy_cp = (yy_c_buf_p);
04252 
04253                 /* Support of yytext. */
04254                 *yy_cp = (yy_hold_char);
04255 
04256                 /* yy_bp points to the position in yy_ch_buf of the start of
04257                  * the current run.
04258                  */
04259                 yy_bp = yy_cp;
04260 
04261                 yy_current_state = (yy_start);
04262                 yy_current_state += YY_AT_BOL();
04263 
04264                 (yy_state_ptr) = (yy_state_buf);
04265                 *(yy_state_ptr)++ = yy_current_state;
04266 
04267 yy_match:
04268                 do
04269                         {
04270                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
04271                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
04272                                 {
04273                                 yy_current_state = (int) yy_def[yy_current_state];
04274                                 if ( yy_current_state >= 2437 )
04275                                         yy_c = yy_meta[(unsigned int) yy_c];
04276                                 }
04277                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
04278                         *(yy_state_ptr)++ = yy_current_state;
04279                         ++yy_cp;
04280                         }
04281                 while ( yy_base[yy_current_state] != 10191 );
04282 
04283 yy_find_action:
04284                 yy_current_state = *--(yy_state_ptr);
04285                 (yy_lp) = yy_accept[yy_current_state];
04286 find_rule: /* we branch to this label when backing up */
04287                 for ( ; ; ) /* until we find what rule we matched */
04288                         {
04289                         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
04290                                 {
04291                                 yy_act = yy_acclist[(yy_lp)];
04292                                 if ( yy_act & YY_TRAILING_HEAD_MASK ||
04293                                      (yy_looking_for_trail_begin) )
04294                                         {
04295                                         if ( yy_act == (yy_looking_for_trail_begin) )
04296                                                 {
04297                                                 (yy_looking_for_trail_begin) = 0;
04298                                                 yy_act &= ~YY_TRAILING_HEAD_MASK;
04299                                                 break;
04300                                                 }
04301                                         }
04302                                 else if ( yy_act & YY_TRAILING_MASK )
04303                                         {
04304                                         (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
04305                                         (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
04306                                         }
04307                                 else
04308                                         {
04309                                         (yy_full_match) = yy_cp;
04310                                         (yy_full_state) = (yy_state_ptr);
04311                                         (yy_full_lp) = (yy_lp);
04312                                         break;
04313                                         }
04314                                 ++(yy_lp);
04315                                 goto find_rule;
04316                                 }
04317                         --yy_cp;
04318                         yy_current_state = *--(yy_state_ptr);
04319                         (yy_lp) = yy_accept[yy_current_state];
04320                         }
04321 
04322                 YY_DO_BEFORE_ACTION;
04323 
04324 do_action:      /* This label is used only to access EOF actions. */
04325 
04326                 switch ( yy_act )
04327         { /* beginning of action switch */
04328 case 1:
04329 /* rule 1 can match eol */
04330 YY_RULE_SETUP
04331 #line 66 "src/cfgparse.l"
04332 {
04333     /* save whole line */
04334     context->line_copy = sstrdup(yytext);
04335 
04336     yyless(0);
04337     yy_pop_state();
04338     yy_set_bol(true);
04339     yycolumn = 1;
04340 }
04341         YY_BREAK
04342 case 2:
04343 YY_RULE_SETUP
04344 #line 77 "src/cfgparse.l"
04345 { yy_pop_state(); return ']'; }
04346         YY_BREAK
04347 case 3:
04348 YY_RULE_SETUP
04349 #line 78 "src/cfgparse.l"
04350 { yy_pop_state(); }
04351         YY_BREAK
04352 case 4:
04353 /* rule 4 can match eol */
04354 YY_RULE_SETUP
04355 #line 79 "src/cfgparse.l"
04356 {
04357                                   yy_pop_state();
04358                                   /* strip quotes */
04359                                   char *copy = sstrdup(yytext+1);
04360                                   copy[strlen(copy)-1] = '\0';
04361                                   yylval.string = copy;
04362                                   return STR;
04363                                 }
04364         YY_BREAK
04365 case 5:
04366 YY_RULE_SETUP
04367 #line 87 "src/cfgparse.l"
04368 { BEGIN(INITIAL); yylval.string = sstrdup(yytext); return STR; }
04369         YY_BREAK
04370 case 6:
04371 YY_RULE_SETUP
04372 #line 88 "src/cfgparse.l"
04373 { yylval.string = sstrdup(yytext); return OUTPUT; }
04374         YY_BREAK
04375 case 7:
04376 YY_RULE_SETUP
04377 #line 89 "src/cfgparse.l"
04378 { return TOKCOMMENT; }
04379         YY_BREAK
04380 case 8:
04381 YY_RULE_SETUP
04382 #line 90 "src/cfgparse.l"
04383 { yylval.string = sstrdup(yytext); return HEX; }
04384         YY_BREAK
04385 case 9:
04386 YY_RULE_SETUP
04387 #line 91 "src/cfgparse.l"
04388 { BEGIN(WANT_STRING); }
04389         YY_BREAK
04390 case 10:
04391 YY_RULE_SETUP
04392 #line 92 "src/cfgparse.l"
04393 { BEGIN(WANT_STRING); }
04394         YY_BREAK
04395 case 11:
04396 YY_RULE_SETUP
04397 #line 93 "src/cfgparse.l"
04398 { yylval.number = atoi(yytext); return NUMBER; }
04399         YY_BREAK
04400 case 12:
04401 YY_RULE_SETUP
04402 #line 94 "src/cfgparse.l"
04403 { return TOKMODE; }
04404         YY_BREAK
04405 case 13:
04406 YY_RULE_SETUP
04407 #line 95 "src/cfgparse.l"
04408 { yy_push_state(WANT_STRING); yy_push_state(EAT_WHITESPACE); yy_push_state(EAT_WHITESPACE); return TOKBINDCODE; }
04409         YY_BREAK
04410 case 14:
04411 YY_RULE_SETUP
04412 #line 96 "src/cfgparse.l"
04413 { yy_push_state(WANT_STRING); yy_push_state(EAT_WHITESPACE); yy_push_state(EAT_WHITESPACE); return TOKBINDCODE; }
04414         YY_BREAK
04415 case 15:
04416 YY_RULE_SETUP
04417 #line 97 "src/cfgparse.l"
04418 { yy_push_state(BINDSYM_COND); yy_push_state(EAT_WHITESPACE); return TOKBINDSYM; }
04419         YY_BREAK
04420 case 16:
04421 YY_RULE_SETUP
04422 #line 98 "src/cfgparse.l"
04423 { BEGIN(INITIAL); return TOKFLOATING_MODIFIER; }
04424         YY_BREAK
04425 case 17:
04426 YY_RULE_SETUP
04427 #line 99 "src/cfgparse.l"
04428 { BEGIN(INITIAL); return TOKWORKSPACE; }
04429         YY_BREAK
04430 case 18:
04431 YY_RULE_SETUP
04432 #line 100 "src/cfgparse.l"
04433 { yy_push_state(OUTPUT_COND); yy_push_state(EAT_WHITESPACE); return TOKOUTPUT; }
04434         YY_BREAK
04435 case 19:
04436 YY_RULE_SETUP
04437 #line 101 "src/cfgparse.l"
04438 {
04439                                   /* for compatibility until v3.φ */
04440                                   ELOG("Assignments to screens are DEPRECATED and will not work. " \
04441                                        "Please replace them with assignments to outputs.\n");
04442                                   yy_push_state(OUTPUT_COND); yy_push_state(EAT_WHITESPACE);
04443                                   return TOKOUTPUT;
04444                                 }
04445         YY_BREAK
04446 case 20:
04447 YY_RULE_SETUP
04448 #line 108 "src/cfgparse.l"
04449 { WS_STRING; return TOKTERMINAL; }
04450         YY_BREAK
04451 case 21:
04452 YY_RULE_SETUP
04453 #line 109 "src/cfgparse.l"
04454 { WS_STRING; return TOKFONT; }
04455         YY_BREAK
04456 case 22:
04457 YY_RULE_SETUP
04458 #line 110 "src/cfgparse.l"
04459 { yy_push_state(ASSIGN_TARGET_COND); yy_push_state(ASSIGN_COND); return TOKASSIGN; }
04460         YY_BREAK
04461 case 23:
04462 YY_RULE_SETUP
04463 #line 111 "src/cfgparse.l"
04464 { return TOKCOMMENT; }
04465         YY_BREAK
04466 case 24:
04467 YY_RULE_SETUP
04468 #line 112 "src/cfgparse.l"
04469 { WS_STRING; return TOKIPCSOCKET; }
04470         YY_BREAK
04471 case 25:
04472 YY_RULE_SETUP
04473 #line 113 "src/cfgparse.l"
04474 { WS_STRING; return TOKIPCSOCKET; }
04475         YY_BREAK
04476 case 26:
04477 YY_RULE_SETUP
04478 #line 114 "src/cfgparse.l"
04479 { WS_STRING; return TOKRESTARTSTATE; }
04480         YY_BREAK
04481 case 27:
04482 YY_RULE_SETUP
04483 #line 115 "src/cfgparse.l"
04484 { return TOK_ORIENTATION; }
04485         YY_BREAK
04486 case 28:
04487 YY_RULE_SETUP
04488 #line 116 "src/cfgparse.l"
04489 { return TOK_HORIZ; }
04490         YY_BREAK
04491 case 29:
04492 YY_RULE_SETUP
04493 #line 117 "src/cfgparse.l"
04494 { return TOK_VERT; }
04495         YY_BREAK
04496 case 30:
04497 YY_RULE_SETUP
04498 #line 118 "src/cfgparse.l"
04499 { return TOK_AUTO; }
04500         YY_BREAK
04501 case 31:
04502 YY_RULE_SETUP
04503 #line 119 "src/cfgparse.l"
04504 { return TOK_WORKSPACE_LAYOUT; }
04505         YY_BREAK
04506 case 32:
04507 YY_RULE_SETUP
04508 #line 120 "src/cfgparse.l"
04509 { return TOKNEWWINDOW; }
04510         YY_BREAK
04511 case 33:
04512 YY_RULE_SETUP
04513 #line 121 "src/cfgparse.l"
04514 { return TOK_NORMAL; }
04515         YY_BREAK
04516 case 34:
04517 YY_RULE_SETUP
04518 #line 122 "src/cfgparse.l"
04519 { return TOK_NONE; }
04520         YY_BREAK
04521 case 35:
04522 YY_RULE_SETUP
04523 #line 123 "src/cfgparse.l"
04524 { return TOK_1PIXEL; }
04525         YY_BREAK
04526 case 36:
04527 YY_RULE_SETUP
04528 #line 124 "src/cfgparse.l"
04529 { return TOKFOCUSFOLLOWSMOUSE; }
04530         YY_BREAK
04531 case 37:
04532 YY_RULE_SETUP
04533 #line 125 "src/cfgparse.l"
04534 { return TOK_FORCE_FOCUS_WRAPPING; }
04535         YY_BREAK
04536 case 38:
04537 YY_RULE_SETUP
04538 #line 126 "src/cfgparse.l"
04539 { return TOKWORKSPACEBAR; }
04540         YY_BREAK
04541 case 39:
04542 YY_RULE_SETUP
04543 #line 127 "src/cfgparse.l"
04544 { return TOK_POPUP_DURING_FULLSCREEN; }
04545         YY_BREAK
04546 case 40:
04547 YY_RULE_SETUP
04548 #line 128 "src/cfgparse.l"
04549 { return TOK_IGNORE; }
04550         YY_BREAK
04551 case 41:
04552 YY_RULE_SETUP
04553 #line 129 "src/cfgparse.l"
04554 { return TOK_LEAVE_FULLSCREEN; }
04555         YY_BREAK
04556 case 42:
04557 YY_RULE_SETUP
04558 #line 130 "src/cfgparse.l"
04559 {
04560                                   /* Example: for_window [class="urxvt"] border none
04561                                    *
04562                                    * First, we wait for the ']' that finishes a match (FOR_WINDOW_COND)
04563                                    * Then, we require a whitespace (EAT_WHITESPACE)
04564                                    * And the rest of the line is parsed as a string
04565                                    */
04566                                   yy_push_state(WANT_STRING);
04567                                   yy_push_state(EAT_WHITESPACE);
04568                                   yy_push_state(FOR_WINDOW_COND);
04569                                   return TOK_FOR_WINDOW;
04570                                 }
04571         YY_BREAK
04572 case 43:
04573 YY_RULE_SETUP
04574 #line 142 "src/cfgparse.l"
04575 { /* yylval.number = MODE_DEFAULT; */return TOK_DEFAULT; }
04576         YY_BREAK
04577 case 44:
04578 YY_RULE_SETUP
04579 #line 143 "src/cfgparse.l"
04580 { /* yylval.number = MODE_STACK; */return TOK_STACKING; }
04581         YY_BREAK
04582 case 45:
04583 YY_RULE_SETUP
04584 #line 144 "src/cfgparse.l"
04585 { return TOK_STACKING; }
04586         YY_BREAK
04587 case 46:
04588 YY_RULE_SETUP
04589 #line 145 "src/cfgparse.l"
04590 { /* yylval.number = MODE_TABBED; */return TOK_TABBED; }
04591         YY_BREAK
04592 case 47:
04593 YY_RULE_SETUP
04594 #line 146 "src/cfgparse.l"
04595 { return TOKSTACKLIMIT; }
04596         YY_BREAK
04597 case 48:
04598 YY_RULE_SETUP
04599 #line 147 "src/cfgparse.l"
04600 { /* yylval.number = STACK_LIMIT_COLS; */return TOKSTACKLIMIT; }
04601         YY_BREAK
04602 case 49:
04603 YY_RULE_SETUP
04604 #line 148 "src/cfgparse.l"
04605 { /* yylval.number = STACK_LIMIT_ROWS; */return TOKSTACKLIMIT; }
04606         YY_BREAK
04607 case 50:
04608 YY_RULE_SETUP
04609 #line 149 "src/cfgparse.l"
04610 { WS_STRING; return TOKEXEC; }
04611         YY_BREAK
04612 case 51:
04613 YY_RULE_SETUP
04614 #line 150 "src/cfgparse.l"
04615 { WS_STRING; return TOKEXEC_ALWAYS; }
04616         YY_BREAK
04617 case 52:
04618 YY_RULE_SETUP
04619 #line 151 "src/cfgparse.l"
04620 { BEGIN(COLOR_COND); yylval.single_color = &config.client.background; return TOKSINGLECOLOR; }
04621         YY_BREAK
04622 case 53:
04623 YY_RULE_SETUP
04624 #line 152 "src/cfgparse.l"
04625 { BEGIN(COLOR_COND); yylval.color = &config.client.focused; return TOKCOLOR; }
04626         YY_BREAK
04627 case 54:
04628 YY_RULE_SETUP
04629 #line 153 "src/cfgparse.l"
04630 { BEGIN(COLOR_COND); yylval.color = &config.client.focused_inactive; return TOKCOLOR; }
04631         YY_BREAK
04632 case 55:
04633 YY_RULE_SETUP
04634 #line 154 "src/cfgparse.l"
04635 { BEGIN(COLOR_COND); yylval.color = &config.client.unfocused; return TOKCOLOR; }
04636         YY_BREAK
04637 case 56:
04638 YY_RULE_SETUP
04639 #line 155 "src/cfgparse.l"
04640 { BEGIN(COLOR_COND); yylval.color = &config.client.urgent; return TOKCOLOR; }
04641         YY_BREAK
04642 case 57:
04643 YY_RULE_SETUP
04644 #line 156 "src/cfgparse.l"
04645 { BEGIN(COLOR_COND); yylval.color = &config.bar.focused; return TOKCOLOR; }
04646         YY_BREAK
04647 case 58:
04648 YY_RULE_SETUP
04649 #line 157 "src/cfgparse.l"
04650 { BEGIN(COLOR_COND); yylval.color = &config.bar.unfocused; return TOKCOLOR; }
04651         YY_BREAK
04652 case 59:
04653 YY_RULE_SETUP
04654 #line 158 "src/cfgparse.l"
04655 { BEGIN(COLOR_COND); yylval.color = &config.bar.urgent; return TOKCOLOR; }
04656         YY_BREAK
04657 case 60:
04658 YY_RULE_SETUP
04659 #line 159 "src/cfgparse.l"
04660 { yylval.number = BIND_MOD1; return MODIFIER; }
04661         YY_BREAK
04662 case 61:
04663 YY_RULE_SETUP
04664 #line 160 "src/cfgparse.l"
04665 { yylval.number = BIND_MOD2; return MODIFIER; }
04666         YY_BREAK
04667 case 62:
04668 YY_RULE_SETUP
04669 #line 161 "src/cfgparse.l"
04670 { yylval.number = BIND_MOD3; return MODIFIER; }
04671         YY_BREAK
04672 case 63:
04673 YY_RULE_SETUP
04674 #line 162 "src/cfgparse.l"
04675 { yylval.number = BIND_MOD4; return MODIFIER; }
04676         YY_BREAK
04677 case 64:
04678 YY_RULE_SETUP
04679 #line 163 "src/cfgparse.l"
04680 { yylval.number = BIND_MOD5; return MODIFIER; }
04681         YY_BREAK
04682 case 65:
04683 YY_RULE_SETUP
04684 #line 164 "src/cfgparse.l"
04685 { yylval.number = BIND_MODE_SWITCH; return MODIFIER; }
04686         YY_BREAK
04687 case 66:
04688 YY_RULE_SETUP
04689 #line 165 "src/cfgparse.l"
04690 { return TOKCONTROL; }
04691         YY_BREAK
04692 case 67:
04693 YY_RULE_SETUP
04694 #line 166 "src/cfgparse.l"
04695 { return TOKCONTROL; }
04696         YY_BREAK
04697 case 68:
04698 YY_RULE_SETUP
04699 #line 167 "src/cfgparse.l"
04700 { return TOKSHIFT; }
04701         YY_BREAK
04702 case 69:
04703 YY_RULE_SETUP
04704 #line 169 "src/cfgparse.l"
04705 { yy_push_state(WANT_QSTRING); return TOK_CLASS; }
04706         YY_BREAK
04707 case 70:
04708 YY_RULE_SETUP
04709 #line 170 "src/cfgparse.l"
04710 { yy_push_state(WANT_QSTRING); return TOK_ID; }
04711         YY_BREAK
04712 case 71:
04713 YY_RULE_SETUP
04714 #line 171 "src/cfgparse.l"
04715 { yy_push_state(WANT_QSTRING); return TOK_CON_ID; }
04716         YY_BREAK
04717 case 72:
04718 YY_RULE_SETUP
04719 #line 172 "src/cfgparse.l"
04720 { yy_push_state(WANT_QSTRING); return TOK_MARK; }
04721         YY_BREAK
04722 case 73:
04723 YY_RULE_SETUP
04724 #line 173 "src/cfgparse.l"
04725 { yy_push_state(WANT_QSTRING); return TOK_TITLE; }
04726         YY_BREAK
04727 case 74:
04728 /* rule 74 can match eol */
04729 YY_RULE_SETUP
04730 #line 175 "src/cfgparse.l"
04731 {
04732                                   FREE(context->line_copy);
04733                                   context->line_number++;
04734                                   BEGIN(INITIAL);
04735                                   yy_push_state(BUFFER_LINE);
04736                                 }
04737         YY_BREAK
04738 case 75:
04739 YY_RULE_SETUP
04740 #line 181 "src/cfgparse.l"
04741 { BEGIN(WANT_STRING); }
04742         YY_BREAK
04743 case 76:
04744 YY_RULE_SETUP
04745 #line 182 "src/cfgparse.l"
04746 { BEGIN(WANT_STRING); }
04747         YY_BREAK
04748 case 77:
04749 YY_RULE_SETUP
04750 #line 183 "src/cfgparse.l"
04751 { /* ignore whitespace */ ; }
04752         YY_BREAK
04753 case 78:
04754 /* rule 78 can match eol */
04755 YY_RULE_SETUP
04756 #line 184 "src/cfgparse.l"
04757 {
04758                                   /* if ASSIGN_COND then */
04759                                   if (yy_start_stack_ptr > 0)
04760                                       yy_pop_state();
04761                                   else BEGIN(INITIAL);
04762                                   /* yylval will be the string, but without quotes */
04763                                   char *copy = sstrdup(yytext+1);
04764                                   copy[strlen(copy)-1] = '\0';
04765                                   yylval.string = copy;
04766                                   return QUOTEDSTRING;
04767                                 }
04768         YY_BREAK
04769 case 79:
04770 /* rule 79 can match eol */
04771 YY_RULE_SETUP
04772 #line 195 "src/cfgparse.l"
04773 { BEGIN(ASSIGN_TARGET_COND); yylval.string = sstrdup(yytext); return STR_NG; }
04774         YY_BREAK
04775 case 80:
04776 YY_RULE_SETUP
04777 #line 196 "src/cfgparse.l"
04778 { yylval.string = sstrdup(yytext); return WORD; }
04779         YY_BREAK
04780 case 81:
04781 YY_RULE_SETUP
04782 #line 197 "src/cfgparse.l"
04783 { yylval.string = sstrdup(yytext); return WORD; }
04784         YY_BREAK
04785 case 82:
04786 YY_RULE_SETUP
04787 #line 198 "src/cfgparse.l"
04788 { return (int)yytext[0]; }
04789         YY_BREAK
04790 case YY_STATE_EOF(INITIAL):
04791 case YY_STATE_EOF(WANT_STRING):
04792 case YY_STATE_EOF(WANT_QSTRING):
04793 case YY_STATE_EOF(BINDSYM_COND):
04794 case YY_STATE_EOF(ASSIGN_COND):
04795 case YY_STATE_EOF(ASSIGN_TARGET_COND):
04796 case YY_STATE_EOF(COLOR_COND):
04797 case YY_STATE_EOF(OUTPUT_COND):
04798 case YY_STATE_EOF(FOR_WINDOW_COND):
04799 case YY_STATE_EOF(EAT_WHITESPACE):
04800 case YY_STATE_EOF(BUFFER_LINE):
04801 #line 200 "src/cfgparse.l"
04802 {
04803     while (yy_start_stack_ptr > 0)
04804         yy_pop_state();
04805     yyterminate();
04806 }
04807         YY_BREAK
04808 case 83:
04809 YY_RULE_SETUP
04810 #line 206 "src/cfgparse.l"
04811 ECHO;
04812         YY_BREAK
04813 #line 4814 "src/cfgparse.yy.c"
04814 
04815         case YY_END_OF_BUFFER:
04816                 {
04817                 /* Amount of text matched not including the EOB char. */
04818                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
04819 
04820                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
04821                 *yy_cp = (yy_hold_char);
04822                 YY_RESTORE_YY_MORE_OFFSET
04823 
04824                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
04825                         {
04826                         /* We're scanning a new file or input source.  It's
04827                          * possible that this happened because the user
04828                          * just pointed yyin at a new source and called
04829                          * yylex().  If so, then we have to assure
04830                          * consistency between YY_CURRENT_BUFFER and our
04831                          * globals.  Here is the right place to do so, because
04832                          * this is the first action (other than possibly a
04833                          * back-up) that will match for the new input source.
04834                          */
04835                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
04836                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
04837                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
04838                         }
04839 
04840                 /* Note that here we test for yy_c_buf_p "<=" to the position
04841                  * of the first EOB in the buffer, since yy_c_buf_p will
04842                  * already have been incremented past the NUL character
04843                  * (since all states make transitions on EOB to the
04844                  * end-of-buffer state).  Contrast this with the test
04845                  * in input().
04846                  */
04847                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
04848                         { /* This was really a NUL. */
04849                         yy_state_type yy_next_state;
04850 
04851                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
04852 
04853                         yy_current_state = yy_get_previous_state(  );
04854 
04855                         /* Okay, we're now positioned to make the NUL
04856                          * transition.  We couldn't have
04857                          * yy_get_previous_state() go ahead and do it
04858                          * for us because it doesn't know how to deal
04859                          * with the possibility of jamming (and we don't
04860                          * want to build jamming into it because then it
04861                          * will run more slowly).
04862                          */
04863 
04864                         yy_next_state = yy_try_NUL_trans( yy_current_state );
04865 
04866                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
04867 
04868                         if ( yy_next_state )
04869                                 {
04870                                 /* Consume the NUL. */
04871                                 yy_cp = ++(yy_c_buf_p);
04872                                 yy_current_state = yy_next_state;
04873                                 goto yy_match;
04874                                 }
04875 
04876                         else
04877                                 {
04878                                 yy_cp = (yy_c_buf_p);
04879                                 goto yy_find_action;
04880                                 }
04881                         }
04882 
04883                 else switch ( yy_get_next_buffer(  ) )
04884                         {
04885                         case EOB_ACT_END_OF_FILE:
04886                                 {
04887                                 (yy_did_buffer_switch_on_eof) = 0;
04888 
04889                                 if ( yywrap( ) )
04890                                         {
04891                                         /* Note: because we've taken care in
04892                                          * yy_get_next_buffer() to have set up
04893                                          * yytext, we can now set up
04894                                          * yy_c_buf_p so that if some total
04895                                          * hoser (like flex itself) wants to
04896                                          * call the scanner after we return the
04897                                          * YY_NULL, it'll still work - another
04898                                          * YY_NULL will get returned.
04899                                          */
04900                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
04901 
04902                                         yy_act = YY_STATE_EOF(YY_START);
04903                                         goto do_action;
04904                                         }
04905 
04906                                 else
04907                                         {
04908                                         if ( ! (yy_did_buffer_switch_on_eof) )
04909                                                 YY_NEW_FILE;
04910                                         }
04911                                 break;
04912                                 }
04913 
04914                         case EOB_ACT_CONTINUE_SCAN:
04915                                 (yy_c_buf_p) =
04916                                         (yytext_ptr) + yy_amount_of_matched_text;
04917 
04918                                 yy_current_state = yy_get_previous_state(  );
04919 
04920                                 yy_cp = (yy_c_buf_p);
04921                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
04922                                 goto yy_match;
04923 
04924                         case EOB_ACT_LAST_MATCH:
04925                                 (yy_c_buf_p) =
04926                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
04927 
04928                                 yy_current_state = yy_get_previous_state(  );
04929 
04930                                 yy_cp = (yy_c_buf_p);
04931                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
04932                                 goto yy_find_action;
04933                         }
04934                 break;
04935                 }
04936 
04937         default:
04938                 YY_FATAL_ERROR(
04939                         "fatal flex scanner internal error--no action found" );
04940         } /* end of action switch */
04941                 } /* end of scanning one token */
04942 } /* end of yylex */
04943 
04944 /* yy_get_next_buffer - try to read in a new buffer
04945  *
04946  * Returns a code representing an action:
04947  *      EOB_ACT_LAST_MATCH -
04948  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
04949  *      EOB_ACT_END_OF_FILE - end of file
04950  */
04951 static int yy_get_next_buffer (void)
04952 {
04953         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
04954         register char *source = (yytext_ptr);
04955         register int number_to_move, i;
04956         int ret_val;
04957 
04958         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
04959                 YY_FATAL_ERROR(
04960                 "fatal flex scanner internal error--end of buffer missed" );
04961 
04962         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
04963                 { /* Don't try to fill the buffer, so this is an EOF. */
04964                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
04965                         {
04966                         /* We matched a single character, the EOB, so
04967                          * treat this as a final EOF.
04968                          */
04969                         return EOB_ACT_END_OF_FILE;
04970                         }
04971 
04972                 else
04973                         {
04974                         /* We matched some text prior to the EOB, first
04975                          * process it.
04976                          */
04977                         return EOB_ACT_LAST_MATCH;
04978                         }
04979                 }
04980 
04981         /* Try to read more data. */
04982 
04983         /* First move last chars to start of buffer. */
04984         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
04985 
04986         for ( i = 0; i < number_to_move; ++i )
04987                 *(dest++) = *(source++);
04988 
04989         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
04990                 /* don't do the read, it's not guaranteed to return an EOF,
04991                  * just force an EOF
04992                  */
04993                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
04994 
04995         else
04996                 {
04997                         int num_to_read =
04998                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
04999 
05000                 while ( num_to_read <= 0 )
05001                         { /* Not enough room in the buffer - grow it. */
05002 
05003                         YY_FATAL_ERROR(
05004 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
05005 
05006                         }
05007 
05008                 if ( num_to_read > YY_READ_BUF_SIZE )
05009                         num_to_read = YY_READ_BUF_SIZE;
05010 
05011                 /* Read in more data. */
05012                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
05013                         (yy_n_chars), (size_t) num_to_read );
05014 
05015                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
05016                 }
05017 
05018         if ( (yy_n_chars) == 0 )
05019                 {
05020                 if ( number_to_move == YY_MORE_ADJ )
05021                         {
05022                         ret_val = EOB_ACT_END_OF_FILE;
05023                         yyrestart(yyin  );
05024                         }
05025 
05026                 else
05027                         {
05028                         ret_val = EOB_ACT_LAST_MATCH;
05029                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
05030                                 YY_BUFFER_EOF_PENDING;
05031                         }
05032                 }
05033 
05034         else
05035                 ret_val = EOB_ACT_CONTINUE_SCAN;
05036 
05037         if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
05038                 /* Extend the array by 50%, plus the number we really need. */
05039                 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
05040                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
05041                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
05042                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
05043         }
05044 
05045         (yy_n_chars) += number_to_move;
05046         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
05047         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
05048 
05049         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
05050 
05051         return ret_val;
05052 }
05053 
05054 /* yy_get_previous_state - get the state just before the EOB char was reached */
05055 
05056     static yy_state_type yy_get_previous_state (void)
05057 {
05058         register yy_state_type yy_current_state;
05059         register char *yy_cp;
05060     
05061         yy_current_state = (yy_start);
05062         yy_current_state += YY_AT_BOL();
05063 
05064         (yy_state_ptr) = (yy_state_buf);
05065         *(yy_state_ptr)++ = yy_current_state;
05066 
05067         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
05068                 {
05069                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
05070                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
05071                         {
05072                         yy_current_state = (int) yy_def[yy_current_state];
05073                         if ( yy_current_state >= 2437 )
05074                                 yy_c = yy_meta[(unsigned int) yy_c];
05075                         }
05076                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
05077                 *(yy_state_ptr)++ = yy_current_state;
05078                 }
05079 
05080         return yy_current_state;
05081 }
05082 
05083 /* yy_try_NUL_trans - try to make a transition on the NUL character
05084  *
05085  * synopsis
05086  *      next_state = yy_try_NUL_trans( current_state );
05087  */
05088     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
05089 {
05090         register int yy_is_jam;
05091     
05092         register YY_CHAR yy_c = 1;
05093         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
05094                 {
05095                 yy_current_state = (int) yy_def[yy_current_state];
05096                 if ( yy_current_state >= 2437 )
05097                         yy_c = yy_meta[(unsigned int) yy_c];
05098                 }
05099         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
05100         yy_is_jam = (yy_current_state == 2436);
05101         if ( ! yy_is_jam )
05102                 *(yy_state_ptr)++ = yy_current_state;
05103 
05104         return yy_is_jam ? 0 : yy_current_state;
05105 }
05106 
05107 #ifndef YY_NO_INPUT
05108 #ifdef __cplusplus
05109     static int yyinput (void)
05110 #else
05111     static int input  (void)
05112 #endif
05113 
05114 {
05115         int c;
05116     
05117         *(yy_c_buf_p) = (yy_hold_char);
05118 
05119         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
05120                 {
05121                 /* yy_c_buf_p now points to the character we want to return.
05122                  * If this occurs *before* the EOB characters, then it's a
05123                  * valid NUL; if not, then we've hit the end of the buffer.
05124                  */
05125                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
05126                         /* This was really a NUL. */
05127                         *(yy_c_buf_p) = '\0';
05128 
05129                 else
05130                         { /* need more input */
05131                         int offset = (yy_c_buf_p) - (yytext_ptr);
05132                         ++(yy_c_buf_p);
05133 
05134                         switch ( yy_get_next_buffer(  ) )
05135                                 {
05136                                 case EOB_ACT_LAST_MATCH:
05137                                         /* This happens because yy_g_n_b()
05138                                          * sees that we've accumulated a
05139                                          * token and flags that we need to
05140                                          * try matching the token before
05141                                          * proceeding.  But for input(),
05142                                          * there's no matching to consider.
05143                                          * So convert the EOB_ACT_LAST_MATCH
05144                                          * to EOB_ACT_END_OF_FILE.
05145                                          */
05146 
05147                                         /* Reset buffer status. */
05148                                         yyrestart(yyin );
05149 
05150                                         /*FALLTHROUGH*/
05151 
05152                                 case EOB_ACT_END_OF_FILE:
05153                                         {
05154                                         if ( yywrap( ) )
05155                                                 return EOF;
05156 
05157                                         if ( ! (yy_did_buffer_switch_on_eof) )
05158                                                 YY_NEW_FILE;
05159 #ifdef __cplusplus
05160                                         return yyinput();
05161 #else
05162                                         return input();
05163 #endif
05164                                         }
05165 
05166                                 case EOB_ACT_CONTINUE_SCAN:
05167                                         (yy_c_buf_p) = (yytext_ptr) + offset;
05168                                         break;
05169                                 }
05170                         }
05171                 }
05172 
05173         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
05174         *(yy_c_buf_p) = '\0';   /* preserve yytext */
05175         (yy_hold_char) = *++(yy_c_buf_p);
05176 
05177         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
05178 
05179         return c;
05180 }
05181 #endif  /* ifndef YY_NO_INPUT */
05182 
05188     void yyrestart  (FILE * input_file )
05189 {
05190     
05191         if ( ! YY_CURRENT_BUFFER ){
05192         yyensure_buffer_stack ();
05193                 YY_CURRENT_BUFFER_LVALUE =
05194             yy_create_buffer(yyin,YY_BUF_SIZE );
05195         }
05196 
05197         yy_init_buffer(YY_CURRENT_BUFFER,input_file );
05198         yy_load_buffer_state( );
05199 }
05200 
05205     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
05206 {
05207     
05208         /* TODO. We should be able to replace this entire function body
05209          * with
05210          *              yypop_buffer_state();
05211          *              yypush_buffer_state(new_buffer);
05212      */
05213         yyensure_buffer_stack ();
05214         if ( YY_CURRENT_BUFFER == new_buffer )
05215                 return;
05216 
05217         if ( YY_CURRENT_BUFFER )
05218                 {
05219                 /* Flush out information for old buffer. */
05220                 *(yy_c_buf_p) = (yy_hold_char);
05221                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
05222                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
05223                 }
05224 
05225         YY_CURRENT_BUFFER_LVALUE = new_buffer;
05226         yy_load_buffer_state( );
05227 
05228         /* We don't actually know whether we did this switch during
05229          * EOF (yywrap()) processing, but the only time this flag
05230          * is looked at is after yywrap() is called, so it's safe
05231          * to go ahead and always set it.
05232          */
05233         (yy_did_buffer_switch_on_eof) = 1;
05234 }
05235 
05236 static void yy_load_buffer_state  (void)
05237 {
05238         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
05239         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
05240         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
05241         (yy_hold_char) = *(yy_c_buf_p);
05242 }
05243 
05250     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
05251 {
05252         YY_BUFFER_STATE b;
05253     
05254         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
05255         if ( ! b )
05256                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
05257 
05258         b->yy_buf_size = size;
05259 
05260         /* yy_ch_buf has to be 2 characters longer than the size given because
05261          * we need to put in 2 end-of-buffer characters.
05262          */
05263         b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
05264         if ( ! b->yy_ch_buf )
05265                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
05266 
05267         b->yy_is_our_buffer = 1;
05268 
05269         yy_init_buffer(b,file );
05270 
05271         return b;
05272 }
05273 
05278     void yy_delete_buffer (YY_BUFFER_STATE  b )
05279 {
05280     
05281         if ( ! b )
05282                 return;
05283 
05284         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
05285                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
05286 
05287         if ( b->yy_is_our_buffer )
05288                 yyfree((void *) b->yy_ch_buf  );
05289 
05290         yyfree((void *) b  );
05291 }
05292 
05293 #ifndef __cplusplus
05294 extern int isatty (int );
05295 #endif /* __cplusplus */
05296     
05297 /* Initializes or reinitializes a buffer.
05298  * This function is sometimes called more than once on the same buffer,
05299  * such as during a yyrestart() or at EOF.
05300  */
05301     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
05302 
05303 {
05304         int oerrno = errno;
05305     
05306         yy_flush_buffer(b );
05307 
05308         b->yy_input_file = file;
05309         b->yy_fill_buffer = 1;
05310 
05311     /* If b is the current buffer, then yy_init_buffer was _probably_
05312      * called from yyrestart() or through yy_get_next_buffer.
05313      * In that case, we don't want to reset the lineno or column.
05314      */
05315     if (b != YY_CURRENT_BUFFER){
05316         b->yy_bs_lineno = 1;
05317         b->yy_bs_column = 0;
05318     }
05319 
05320         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
05321     
05322         errno = oerrno;
05323 }
05324 
05329     void yy_flush_buffer (YY_BUFFER_STATE  b )
05330 {
05331         if ( ! b )
05332                 return;
05333 
05334         b->yy_n_chars = 0;
05335 
05336         /* We always need two end-of-buffer characters.  The first causes
05337          * a transition to the end-of-buffer state.  The second causes
05338          * a jam in that state.
05339          */
05340         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
05341         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
05342 
05343         b->yy_buf_pos = &b->yy_ch_buf[0];
05344 
05345         b->yy_at_bol = 1;
05346         b->yy_buffer_status = YY_BUFFER_NEW;
05347 
05348         if ( b == YY_CURRENT_BUFFER )
05349                 yy_load_buffer_state( );
05350 }
05351 
05358 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
05359 {
05360         if (new_buffer == NULL)
05361                 return;
05362 
05363         yyensure_buffer_stack();
05364 
05365         /* This block is copied from yy_switch_to_buffer. */
05366         if ( YY_CURRENT_BUFFER )
05367                 {
05368                 /* Flush out information for old buffer. */
05369                 *(yy_c_buf_p) = (yy_hold_char);
05370                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
05371                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
05372                 }
05373 
05374         /* Only push if top exists. Otherwise, replace top. */
05375         if (YY_CURRENT_BUFFER)
05376                 (yy_buffer_stack_top)++;
05377         YY_CURRENT_BUFFER_LVALUE = new_buffer;
05378 
05379         /* copied from yy_switch_to_buffer. */
05380         yy_load_buffer_state( );
05381         (yy_did_buffer_switch_on_eof) = 1;
05382 }
05383 
05388 void yypop_buffer_state (void)
05389 {
05390         if (!YY_CURRENT_BUFFER)
05391                 return;
05392 
05393         yy_delete_buffer(YY_CURRENT_BUFFER );
05394         YY_CURRENT_BUFFER_LVALUE = NULL;
05395         if ((yy_buffer_stack_top) > 0)
05396                 --(yy_buffer_stack_top);
05397 
05398         if (YY_CURRENT_BUFFER) {
05399                 yy_load_buffer_state( );
05400                 (yy_did_buffer_switch_on_eof) = 1;
05401         }
05402 }
05403 
05404 /* Allocates the stack if it does not exist.
05405  *  Guarantees space for at least one push.
05406  */
05407 static void yyensure_buffer_stack (void)
05408 {
05409         int num_to_alloc;
05410     
05411         if (!(yy_buffer_stack)) {
05412 
05413                 /* First allocation is just for 2 elements, since we don't know if this
05414                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
05415                  * immediate realloc on the next call.
05416          */
05417                 num_to_alloc = 1;
05418                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
05419                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
05420                                                                 );
05421                 if ( ! (yy_buffer_stack) )
05422                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
05423                                                                   
05424                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
05425                                 
05426                 (yy_buffer_stack_max) = num_to_alloc;
05427                 (yy_buffer_stack_top) = 0;
05428                 return;
05429         }
05430 
05431         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
05432 
05433                 /* Increase the buffer to prepare for a possible push. */
05434                 int grow_size = 8 /* arbitrary grow size */;
05435 
05436                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
05437                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
05438                                                                 ((yy_buffer_stack),
05439                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
05440                                                                 );
05441                 if ( ! (yy_buffer_stack) )
05442                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
05443 
05444                 /* zero only the new slots.*/
05445                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
05446                 (yy_buffer_stack_max) = num_to_alloc;
05447         }
05448 }
05449 
05456 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
05457 {
05458         YY_BUFFER_STATE b;
05459     
05460         if ( size < 2 ||
05461              base[size-2] != YY_END_OF_BUFFER_CHAR ||
05462              base[size-1] != YY_END_OF_BUFFER_CHAR )
05463                 /* They forgot to leave room for the EOB's. */
05464                 return 0;
05465 
05466         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
05467         if ( ! b )
05468                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
05469 
05470         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
05471         b->yy_buf_pos = b->yy_ch_buf = base;
05472         b->yy_is_our_buffer = 0;
05473         b->yy_input_file = 0;
05474         b->yy_n_chars = b->yy_buf_size;
05475         b->yy_is_interactive = 0;
05476         b->yy_at_bol = 1;
05477         b->yy_fill_buffer = 0;
05478         b->yy_buffer_status = YY_BUFFER_NEW;
05479 
05480         yy_switch_to_buffer(b  );
05481 
05482         return b;
05483 }
05484 
05493 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
05494 {
05495     
05496         return yy_scan_bytes(yystr,strlen(yystr) );
05497 }
05498 
05506 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
05507 {
05508         YY_BUFFER_STATE b;
05509         char *buf;
05510         yy_size_t n;
05511         int i;
05512     
05513         /* Get memory for full buffer, including space for trailing EOB's. */
05514         n = _yybytes_len + 2;
05515         buf = (char *) yyalloc(n  );
05516         if ( ! buf )
05517                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
05518 
05519         for ( i = 0; i < _yybytes_len; ++i )
05520                 buf[i] = yybytes[i];
05521 
05522         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
05523 
05524         b = yy_scan_buffer(buf,n );
05525         if ( ! b )
05526                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
05527 
05528         /* It's okay to grow etc. this buffer, and we should throw it
05529          * away when we're done.
05530          */
05531         b->yy_is_our_buffer = 1;
05532 
05533         return b;
05534 }
05535 
05536     static void yy_push_state (int  new_state )
05537 {
05538         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
05539                 {
05540                 yy_size_t new_size;
05541 
05542                 (yy_start_stack_depth) += YY_START_STACK_INCR;
05543                 new_size = (yy_start_stack_depth) * sizeof( int );
05544 
05545                 if ( ! (yy_start_stack) )
05546                         (yy_start_stack) = (int *) yyalloc(new_size  );
05547 
05548                 else
05549                         (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
05550 
05551                 if ( ! (yy_start_stack) )
05552                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
05553                 }
05554 
05555         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
05556 
05557         BEGIN(new_state);
05558 }
05559 
05560     static void yy_pop_state  (void)
05561 {
05562         if ( --(yy_start_stack_ptr) < 0 )
05563                 YY_FATAL_ERROR( "start-condition stack underflow" );
05564 
05565         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
05566 }
05567 
05568 #ifndef YY_EXIT_FAILURE
05569 #define YY_EXIT_FAILURE 2
05570 #endif
05571 
05572 static void yy_fatal_error (yyconst char* msg )
05573 {
05574         (void) fprintf( stderr, "%s\n", msg );
05575         exit( YY_EXIT_FAILURE );
05576 }
05577 
05578 /* Redefine yyless() so it works in section 3 code. */
05579 
05580 #undef yyless
05581 #define yyless(n) \
05582         do \
05583                 { \
05584                 /* Undo effects of setting up yytext. */ \
05585         int yyless_macro_arg = (n); \
05586         YY_LESS_LINENO(yyless_macro_arg);\
05587                 yytext[yyleng] = (yy_hold_char); \
05588                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
05589                 (yy_hold_char) = *(yy_c_buf_p); \
05590                 *(yy_c_buf_p) = '\0'; \
05591                 yyleng = yyless_macro_arg; \
05592                 } \
05593         while ( 0 )
05594 
05595 /* Accessor  methods (get/set functions) to struct members. */
05596 
05600 int yyget_lineno  (void)
05601 {
05602         
05603     return yylineno;
05604 }
05605 
05609 FILE *yyget_in  (void)
05610 {
05611         return yyin;
05612 }
05613 
05617 FILE *yyget_out  (void)
05618 {
05619         return yyout;
05620 }
05621 
05625 int yyget_leng  (void)
05626 {
05627         return yyleng;
05628 }
05629 
05634 char *yyget_text  (void)
05635 {
05636         return yytext;
05637 }
05638 
05643 void yyset_lineno (int  line_number )
05644 {
05645     
05646     yylineno = line_number;
05647 }
05648 
05655 void yyset_in (FILE *  in_str )
05656 {
05657         yyin = in_str ;
05658 }
05659 
05660 void yyset_out (FILE *  out_str )
05661 {
05662         yyout = out_str ;
05663 }
05664 
05665 int yyget_debug  (void)
05666 {
05667         return yy_flex_debug;
05668 }
05669 
05670 void yyset_debug (int  bdebug )
05671 {
05672         yy_flex_debug = bdebug ;
05673 }
05674 
05675 static int yy_init_globals (void)
05676 {
05677         /* Initialization is the same as for the non-reentrant scanner.
05678      * This function is called from yylex_destroy(), so don't allocate here.
05679      */
05680 
05681     (yy_buffer_stack) = 0;
05682     (yy_buffer_stack_top) = 0;
05683     (yy_buffer_stack_max) = 0;
05684     (yy_c_buf_p) = (char *) 0;
05685     (yy_init) = 0;
05686     (yy_start) = 0;
05687 
05688     (yy_start_stack_ptr) = 0;
05689     (yy_start_stack_depth) = 0;
05690     (yy_start_stack) =  NULL;
05691 
05692     (yy_state_buf) = 0;
05693     (yy_state_ptr) = 0;
05694     (yy_full_match) = 0;
05695     (yy_lp) = 0;
05696 
05697 /* Defined in main.c */
05698 #ifdef YY_STDINIT
05699     yyin = stdin;
05700     yyout = stdout;
05701 #else
05702     yyin = (FILE *) 0;
05703     yyout = (FILE *) 0;
05704 #endif
05705 
05706     /* For future reference: Set errno on error, since we are called by
05707      * yylex_init()
05708      */
05709     return 0;
05710 }
05711 
05712 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
05713 int yylex_destroy  (void)
05714 {
05715     
05716     /* Pop the buffer stack, destroying each element. */
05717         while(YY_CURRENT_BUFFER){
05718                 yy_delete_buffer(YY_CURRENT_BUFFER  );
05719                 YY_CURRENT_BUFFER_LVALUE = NULL;
05720                 yypop_buffer_state();
05721         }
05722 
05723         /* Destroy the stack itself. */
05724         yyfree((yy_buffer_stack) );
05725         (yy_buffer_stack) = NULL;
05726 
05727     /* Destroy the start condition stack. */
05728         yyfree((yy_start_stack)  );
05729         (yy_start_stack) = NULL;
05730 
05731     yyfree ( (yy_state_buf) );
05732     (yy_state_buf)  = NULL;
05733 
05734     /* Reset the globals. This is important in a non-reentrant scanner so the next time
05735      * yylex() is called, initialization will occur. */
05736     yy_init_globals( );
05737 
05738     return 0;
05739 }
05740 
05741 /*
05742  * Internal utility routines.
05743  */
05744 
05745 #ifndef yytext_ptr
05746 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
05747 {
05748         register int i;
05749         for ( i = 0; i < n; ++i )
05750                 s1[i] = s2[i];
05751 }
05752 #endif
05753 
05754 #ifdef YY_NEED_STRLEN
05755 static int yy_flex_strlen (yyconst char * s )
05756 {
05757         register int n;
05758         for ( n = 0; s[n]; ++n )
05759                 ;
05760 
05761         return n;
05762 }
05763 #endif
05764 
05765 void *yyalloc (yy_size_t  size )
05766 {
05767         return (void *) malloc( size );
05768 }
05769 
05770 void *yyrealloc  (void * ptr, yy_size_t  size )
05771 {
05772         /* The cast to (char *) in the following accommodates both
05773          * implementations that use char* generic pointers, and those
05774          * that use void* generic pointers.  It works with the latter
05775          * because both ANSI C and C++ allow castless assignment from
05776          * any pointer type to void*, and deal with argument conversions
05777          * as though doing an assignment.
05778          */
05779         return (void *) realloc( (char *) ptr, size );
05780 }
05781 
05782 void yyfree (void * ptr )
05783 {
05784         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
05785 }
05786 
05787 #define YYTABLES_NAME "yytables"
05788 
05789 #line 206 "src/cfgparse.l"
05790 
05791 
05792