5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 6
12 #define YY_FLEX_SUBMINOR_VERSION 4
13 #if YY_FLEX_SUBMINOR_VERSION > 0
17 /* First, we deal with platform-specific or compiler-specific issues. */
19 #if defined(__FreeBSD__)
20 #include <sys/cdefs.h>
25 /* begin standard C headers. */
31 /* end standard C headers. */
33 /* flex integer type definitions */
38 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
40 #if defined(__FreeBSD__) || \
41 (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
43 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
44 * if you want the limit (max/min) macros for int types.
46 #ifndef __STDC_LIMIT_MACROS
47 #define __STDC_LIMIT_MACROS 1
51 typedef int8_t flex_int8_t;
52 typedef uint8_t flex_uint8_t;
53 typedef int16_t flex_int16_t;
54 typedef uint16_t flex_uint16_t;
55 typedef int32_t flex_int32_t;
56 typedef uint32_t flex_uint32_t;
58 typedef signed char flex_int8_t;
59 typedef short int flex_int16_t;
60 typedef int flex_int32_t;
61 typedef unsigned char flex_uint8_t;
62 typedef unsigned short int flex_uint16_t;
63 typedef unsigned int flex_uint32_t;
65 /* Limits of integral types. */
67 #define INT8_MIN (-128)
70 #define INT16_MIN (-32767-1)
73 #define INT32_MIN (-2147483647-1)
76 #define INT8_MAX (127)
79 #define INT16_MAX (32767)
82 #define INT32_MAX (2147483647)
85 #define UINT8_MAX (255U)
88 #define UINT16_MAX (65535U)
91 #define UINT32_MAX (4294967295U)
95 #define SIZE_MAX (~(size_t)0)
100 #endif /* ! FLEXINT_H */
102 /* begin standard C++ headers. */
104 /* TODO: this is always defined, so inline it */
105 #define yyconst const
107 #if defined(__GNUC__) && __GNUC__ >= 3
108 #define yynoreturn __attribute__((__noreturn__))
113 /* Returned upon end-of-file. */
116 /* Promotes a possibly negative, possibly signed char to an
117 * integer in range [0..255] for use as an array index.
119 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
121 /* Enter a start condition. This macro really ought to take a parameter,
122 * but we do it the disgusting crufty way forced on us by the ()-less
123 * definition of BEGIN.
125 #define BEGIN (yy_start) = 1 + 2 *
126 /* Translate the current start state into a value that can be later handed
127 * to BEGIN to return to the state. The YYSTATE alias is for lex
130 #define YY_START (((yy_start) - 1) / 2)
131 #define YYSTATE YY_START
132 /* Action number for EOF rule of a given start state. */
133 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
134 /* Special action meaning "start processing a new file". */
135 #define YY_NEW_FILE yyrestart( yyin )
136 #define YY_END_OF_BUFFER_CHAR 0
138 /* Size of default input buffer. */
141 /* On IA-64, the buffer size is 16k, not 8k.
142 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
143 * Ditto for the __ia64__ case accordingly.
145 #define YY_BUF_SIZE 32768
147 #define YY_BUF_SIZE 16384
148 #endif /* __ia64__ */
151 /* The state buf must be large enough to hold one state per character in the main buffer.
153 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
155 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
156 #define YY_TYPEDEF_YY_BUFFER_STATE
157 typedef struct yy_buffer_state *YY_BUFFER_STATE;
160 #ifndef YY_TYPEDEF_YY_SIZE_T
161 #define YY_TYPEDEF_YY_SIZE_T
162 typedef size_t yy_size_t;
167 extern FILE *yyin, *yyout;
169 #define EOB_ACT_CONTINUE_SCAN 0
170 #define EOB_ACT_END_OF_FILE 1
171 #define EOB_ACT_LAST_MATCH 2
173 #define YY_LESS_LINENO(n)
174 #define YY_LINENO_REWIND_TO(ptr)
176 /* Return all but the first "n" matched characters back to the input stream. */
180 /* Undo effects of setting up yytext. */ \
181 int yyless_macro_arg = (n); \
182 YY_LESS_LINENO(yyless_macro_arg);\
183 *yy_cp = (yy_hold_char); \
184 YY_RESTORE_YY_MORE_OFFSET \
185 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
186 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
189 #define unput(c) yyunput( c, (yytext_ptr) )
191 #ifndef YY_STRUCT_YY_BUFFER_STATE
192 #define YY_STRUCT_YY_BUFFER_STATE
193 struct yy_buffer_state
197 char *yy_ch_buf; /* input buffer */
198 char *yy_buf_pos; /* current position in input buffer */
200 /* Size of input buffer in bytes, not including room for EOB
205 /* Number of characters read into yy_ch_buf, not including EOB
210 /* Whether we "own" the buffer - i.e., we know we created it,
211 * and can realloc() it to grow it, and should free() it to
214 int yy_is_our_buffer;
216 /* Whether this is an "interactive" input source; if so, and
217 * if we're using stdio for input, then we want to use getc()
218 * instead of fread(), to make sure we stop fetching input after
221 int yy_is_interactive;
223 /* Whether we're considered to be at the beginning of a line.
224 * If so, '^' rules will be active on the next match, otherwise
229 int yy_bs_lineno; /**< The line count. */
230 int yy_bs_column; /**< The column count. */
232 /* Whether to try to fill the input buffer when we reach the
237 int yy_buffer_status;
239 #define YY_BUFFER_NEW 0
240 #define YY_BUFFER_NORMAL 1
241 /* When an EOF's been seen but there's still some text to process
242 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
243 * shouldn't try reading from the input source any more. We might
244 * still have a bunch of tokens to match, though, because of
245 * possible backing-up.
247 * When we actually see the EOF, we change the status to "new"
248 * (via yyrestart()), so that the user can continue scanning by
249 * just pointing yyin at a new input file.
251 #define YY_BUFFER_EOF_PENDING 2
254 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
256 /* Stack of input buffers. */
257 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
258 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
259 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
261 /* We provide macros for accessing buffer states in case in the
262 * future we want to put the buffer states in a more general
265 * Returns the top of the stack, or NULL.
267 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
268 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
270 #define yy_current_buffer YY_CURRENT_BUFFER
271 /* Same as previous macro, but useful when we know that the buffer stack is not
272 * NULL or when we need an lvalue. For internal use only.
274 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
276 /* yy_hold_char holds the character lost when yytext is formed. */
277 static char yy_hold_char;
278 static int yy_n_chars; /* number of characters read into yy_ch_buf */
281 /* Points to current character in buffer. */
282 static char *yy_c_buf_p = NULL;
283 static int yy_init = 0; /* whether we need to initialize */
284 static int yy_start = 0; /* start state number */
286 /* Flag which is used to allow yywrap()'s to do buffer switches
287 * instead of setting up a fresh yyin. A bit of a hack ...
289 static int yy_did_buffer_switch_on_eof;
291 void yyrestart ( FILE *input_file );
292 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
293 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
294 void yy_delete_buffer ( YY_BUFFER_STATE b );
295 void yy_flush_buffer ( YY_BUFFER_STATE b );
296 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
297 void yypop_buffer_state ( void );
299 static void yyensure_buffer_stack ( void );
300 static void yy_load_buffer_state ( void );
301 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
302 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
304 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
305 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
306 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
308 void *yyalloc ( yy_size_t );
309 void *yyrealloc ( void *, yy_size_t );
310 void yyfree ( void * );
312 #define yy_new_buffer yy_create_buffer
313 #define yy_set_interactive(is_interactive) \
315 if ( ! YY_CURRENT_BUFFER ){ \
316 yyensure_buffer_stack (); \
317 YY_CURRENT_BUFFER_LVALUE = \
318 yy_create_buffer( yyin, YY_BUF_SIZE ); \
320 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
322 #define yy_set_bol(at_bol) \
324 if ( ! YY_CURRENT_BUFFER ){\
325 yyensure_buffer_stack (); \
326 YY_CURRENT_BUFFER_LVALUE = \
327 yy_create_buffer( yyin, YY_BUF_SIZE ); \
329 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
331 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
333 /* Begin user sect3 */
334 typedef flex_uint8_t YY_CHAR;
336 FILE *yyin = NULL, *yyout = NULL;
338 typedef int yy_state_type;
347 #define yytext_ptr yytext
349 static yy_state_type yy_get_previous_state ( void );
350 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
351 static int yy_get_next_buffer ( void );
352 static void yynoreturn yy_fatal_error ( const char* msg ) __dead2;
354 /* Done after the current pattern has been matched and before the
355 * corresponding action - sets up yytext.
357 #define YY_DO_BEFORE_ACTION \
358 (yytext_ptr) = yy_bp; \
359 yyleng = (int) (yy_cp - yy_bp); \
360 (yy_hold_char) = *yy_cp; \
362 (yy_c_buf_p) = yy_cp;
363 #define YY_NUM_RULES 253
364 #define YY_END_OF_BUFFER 254
365 /* This struct is not used in this scanner,
366 but its presence is necessary. */
369 flex_int32_t yy_verify;
372 static const flex_int16_t yy_accept[1114] =
374 0, 0, 0, 0, 0, 0, 246, 246, 40, 40,
375 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
376 0, 0, 0, 0, 0, 0, 0, 0, 21, 21,
377 239, 239, 0, 0, 0, 0, 0, 0, 0, 0,
378 0, 0, 0, 0, 0, 0, 0, 0, 21, 21,
379 250, 250, 239, 239, 254, 252, 9, 20, 252, 18,
380 1, 19, 252, 252, 252, 252, 17, 163, 148, 149,
381 163, 141, 163, 160, 161, 162, 162, 163, 163, 163,
382 162, 147, 137, 163, 163, 139, 140, 135, 136, 135,
383 134, 133, 134, 246, 247, 247, 40, 42, 40, 41,
385 40, 40, 41, 41, 41, 50, 49, 51, 252, 169,
386 169, 164, 169, 165, 166, 168, 170, 218, 219, 218,
387 216, 215, 217, 171, 173, 171, 172, 171, 185, 185,
388 185, 185, 187, 189, 187, 187, 187, 187, 188, 228,
389 233, 228, 232, 231, 234, 229, 229, 229, 234, 234,
390 226, 227, 252, 130, 252, 21, 23, 21, 22, 22,
391 22, 235, 241, 235, 236, 242, 242, 242, 224, 224,
392 225, 224, 224, 224, 224, 224, 224, 224, 129, 53,
393 52, 129, 129, 129, 129, 54, 129, 129, 129, 129,
394 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
396 129, 129, 129, 129, 129, 129, 129, 36, 33, 36,
397 34, 48, 45, 252, 48, 48, 44, 43, 175, 174,
398 176, 177, 178, 179, 180, 181, 182, 31, 32, 31,
399 30, 28, 29, 28, 27, 22, 250, 251, 251, 237,
400 237, 238, 9, 20, 0, 18, 1, 19, 0, 0,
401 0, 16, 10, 0, 0, 0, 0, 4, 16, 5,
402 0, 2, 17, 148, 149, 0, 0, 0, 143, 0,
403 159, 157, 0, 153, 153, 0, 243, 243, 243, 0,
404 0, 142, 0, 147, 137, 0, 0, 0, 139, 140,
405 152, 138, 0, 136, 134, 133, 131, 132, 246, 244,
407 245, 40, 42, 40, 40, 37, 38, 0, 50, 49,
408 51, 0, 164, 0, 164, 167, 168, 219, 215, 173,
409 0, 183, 184, 189, 186, 228, 233, 0, 0, 221,
410 229, 229, 229, 0, 130, 0, 21, 23, 24, 235,
411 241, 240, 239, 240, 0, 0, 225, 220, 0, 0,
412 53, 52, 0, 128, 0, 0, 129, 129, 129, 129,
413 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
414 129, 129, 129, 129, 129, 129, 55, 129, 129, 129,
415 129, 129, 129, 129, 129, 129, 129, 129, 0, 35,
416 34, 48, 45, 46, 47, 31, 32, 29, 26, 25,
418 250, 248, 249, 237, 0, 16, 10, 0, 14, 0,
419 0, 0, 0, 0, 4, 16, 5, 0, 6, 0,
420 144, 0, 145, 0, 158, 0, 153, 153, 0, 153,
421 153, 153, 243, 243, 155, 154, 0, 156, 138, 146,
422 0, 152, 0, 131, 132, 40, 40, 0, 39, 0,
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 0, 0, 230, 229, 229, 0, 0, 220, 0, 0,
425 0, 0, 129, 129, 129, 129, 129, 129, 65, 129,
426 129, 129, 70, 129, 129, 129, 129, 129, 129, 129,
427 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
429 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
430 129, 129, 129, 129, 129, 129, 129, 129, 0, 0,
431 0, 0, 14, 0, 0, 0, 0, 0, 0, 4,
432 8, 5, 0, 153, 153, 153, 153, 153, 153, 153,
433 243, 156, 0, 0, 40, 40, 0, 0, 0, 0,
434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 229, 229,
436 0, 0, 56, 57, 129, 129, 129, 129, 129, 129,
437 129, 129, 129, 129, 71, 72, 129, 129, 129, 129,
438 77, 78, 129, 129, 129, 129, 129, 129, 129, 83,
440 129, 129, 129, 129, 129, 129, 129, 129, 129, 92,
441 129, 129, 129, 129, 129, 129, 129, 129, 129, 0,
442 0, 0, 0, 15, 0, 0, 0, 0, 0, 8,
443 8, 8, 0, 153, 153, 153, 153, 153, 153, 153,
444 0, 0, 40, 40, 214, 0, 0, 0, 0, 0,
445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 0, 0, 229, 229,
447 0, 0, 58, 129, 60, 129, 62, 129, 129, 129,
448 129, 68, 129, 129, 129, 73, 129, 129, 129, 129,
449 129, 129, 129, 129, 129, 129, 129, 86, 129, 129,
451 129, 129, 90, 129, 129, 129, 129, 129, 129, 129,
452 129, 129, 129, 0, 0, 0, 0, 3, 0, 0,
453 0, 8, 7, 8, 0, 153, 153, 153, 0, 0,
454 40, 40, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
456 0, 0, 0, 0, 0, 0, 222, 223, 222, 223,
457 129, 61, 129, 129, 129, 129, 129, 129, 129, 125,
458 129, 129, 129, 129, 129, 129, 129, 129, 123, 129,
459 85, 129, 88, 129, 89, 129, 129, 129, 104, 0,
460 129, 94, 129, 0, 95, 0, 0, 0, 0, 0,
462 12, 0, 13, 0, 151, 0, 150, 0, 0, 0,
463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
465 0, 129, 129, 129, 129, 129, 66, 129, 69, 129,
466 129, 129, 129, 129, 129, 122, 129, 82, 129, 129,
467 87, 129, 91, 102, 124, 0, 0, 0, 0, 0,
468 0, 129, 129, 0, 0, 0, 0, 0, 0, 0,
469 0, 0, 0, 150, 0, 0, 0, 0, 0, 0,
470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
471 0, 0, 0, 0, 0, 0, 0, 0, 129, 129,
473 129, 129, 129, 67, 129, 129, 129, 129, 79, 129,
474 129, 129, 129, 129, 129, 0, 0, 113, 0, 0,
475 0, 0, 0, 0, 93, 129, 0, 0, 114, 0,
476 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
477 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
478 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
479 0, 0, 0, 0, 129, 129, 129, 129, 129, 129,
480 129, 129, 129, 129, 129, 129, 84, 129, 129, 0,
481 0, 0, 0, 0, 0, 115, 0, 103, 0, 0,
482 0, 0, 0, 116, 0, 0, 0, 0, 0, 201,
484 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
485 212, 0, 129, 129, 129, 129, 129, 121, 129, 129,
486 75, 129, 129, 129, 129, 129, 0, 0, 109, 0,
487 119, 117, 110, 0, 0, 0, 120, 118, 0, 0,
488 0, 0, 0, 0, 213, 129, 129, 129, 129, 129,
489 125, 74, 129, 81, 129, 126, 129, 105, 107, 0,
490 106, 108, 0, 0, 0, 0, 0, 0, 0, 129,
491 63, 129, 129, 129, 129, 76, 129, 111, 112, 97,
492 0, 0, 0, 0, 98, 129, 129, 129, 129, 129,
493 127, 96, 0, 100, 0, 129, 129, 129, 66, 129,
495 99, 101, 129, 64, 129, 129, 129, 67, 129, 129,
499 static const YY_CHAR yy_ec[256] =
501 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
502 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
503 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
504 1, 2, 1, 6, 7, 8, 9, 1, 10, 11,
505 12, 13, 14, 15, 16, 17, 18, 19, 19, 19,
506 19, 19, 19, 19, 20, 21, 22, 23, 1, 24,
507 25, 26, 27, 1, 28, 29, 30, 31, 32, 33,
508 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
509 44, 45, 46, 47, 48, 49, 50, 51, 52, 44,
510 53, 54, 55, 56, 57, 1, 58, 59, 60, 61,
512 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
513 72, 73, 44, 74, 75, 76, 77, 78, 79, 80,
514 81, 44, 82, 83, 84, 1, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
524 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
525 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
526 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 static const YY_CHAR yy_meta[85] =
533 1, 1, 2, 1, 3, 4, 1, 1, 5, 6,
534 1, 7, 8, 9, 1, 10, 1, 11, 12, 12,
535 12, 12, 13, 1, 1, 1, 1, 14, 14, 14,
536 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
537 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
538 15, 15, 16, 17, 18, 1, 19, 14, 14, 14,
539 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
540 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
544 static const flex_int16_t yy_base[1221] =
546 0, 84, 167, 250, 171, 184, 135, 142, 220, 231,
547 196, 200, 334, 0, 3627, 3625, 211, 416, 203, 212,
548 189, 225, 266, 417, 500, 0, 207, 208, 234, 421,
549 424, 436, 583, 588, 669, 0, 294, 304, 584, 751,
550 579, 580, 417, 576, 287, 306, 241, 441, 595, 608,
551 169, 238, 440, 754, 3680, 4511, 325, 4511, 3676, 0,
552 446, 4511, 3673, 430, 827, 3661, 0, 4511, 758, 4511,
553 3650, 4511, 453, 3621, 4511, 4511, 3619, 3584, 129, 746,
554 445, 766, 4511, 3604, 198, 3582, 4511, 4511, 4511, 3600,
555 0, 3599, 214, 0, 3506, 3483, 0, 4511, 3532, 4511,
557 420, 119, 3481, 3478, 3446, 0, 3526, 4511, 3520, 4511,
558 482, 3520, 3518, 4511, 3455, 0, 4511, 4511, 4511, 3504,
559 4511, 598, 4511, 4511, 4511, 3499, 4511, 754, 4511, 3477,
560 759, 180, 4511, 4511, 3467, 0, 3442, 762, 4511, 0,
561 4511, 3459, 4511, 3406, 3434, 0, 562, 167, 3393, 3370,
562 4511, 4511, 326, 4511, 420, 0, 4511, 3418, 3402, 3366,
563 3342, 0, 4511, 3368, 4511, 3317, 444, 3314, 4511, 471,
564 4511, 3354, 3271, 3337, 572, 189, 3295, 3285, 4511, 3332,
565 4511, 3307, 3303, 585, 594, 4511, 746, 734, 744, 754,
566 763, 770, 0, 755, 748, 763, 818, 789, 240, 822,
568 762, 381, 802, 791, 813, 824, 577, 4511, 4511, 3302,
569 871, 0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511,
570 4511, 4511, 4511, 4511, 4511, 4511, 4511, 0, 4511, 3279,
571 4511, 4511, 4511, 3276, 3260, 3259, 0, 3221, 3214, 0,
572 3264, 4511, 835, 4511, 3262, 0, 903, 4511, 3257, 842,
573 817, 0, 0, 910, 914, 918, 922, 0, 814, 0,
574 457, 4511, 0, 943, 4511, 3241, 3141, 483, 4511, 3217,
575 3212, 4511, 826, 556, 903, 930, 4511, 757, 0, 3134,
576 3131, 4511, 3129, 964, 4511, 3190, 3110, 3174, 3161, 4511,
577 0, 4511, 896, 4511, 0, 3172, 0, 0, 0, 4511,
579 4511, 0, 4511, 910, 913, 4511, 4511, 602, 0, 3169,
580 4511, 957, 3164, 3161, 3127, 4511, 0, 4511, 976, 4511,
581 1020, 4511, 4511, 4511, 4511, 0, 4511, 3116, 0, 4511,
582 0, 926, 930, 644, 4511, 662, 0, 4511, 4511, 0,
583 4511, 4511, 3071, 3121, 794, 3037, 4511, 0, 934, 932,
584 3117, 4511, 3091, 4511, 938, 939, 0, 940, 738, 956,
585 802, 3059, 876, 978, 933, 933, 939, 948, 964, 1030,
586 938, 958, 976, 968, 0, 996, 4511, 999, 1057, 1068,
587 981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511,
588 1014, 0, 4511, 4511, 4511, 0, 4511, 4511, 4511, 4511,
590 0, 4511, 4511, 0, 1078, 0, 0, 1153, 4511, 3063,
591 1166, 1077, 1076, 1091, 0, 1089, 0, 1018, 4511, 1022,
592 4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242,
593 1177, 1308, 1105, 0, 4511, 4511, 2954, 1198, 4511, 4511,
594 1144, 0, 1137, 0, 0, 1161, 1156, 1123, 4511, 1202,
595 1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321,
596 1323, 1382, 4511, 1172, 1166, 2589, 2537, 0, 1178, 1169,
597 1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323, 0, 1341,
598 1332, 1348, 0, 1346, 1350, 1348, 1361, 1350, 1367, 2573,
599 1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400,
601 1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424,
602 1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450,
603 1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451, 0,
604 1143, 0, 1461, 1534, 1600, 1636, 204, 2525, 1606, 1681,
605 4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600,
606 1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654,
607 1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674,
608 1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692,
609 1731, 1711, 1702, 1718, 0, 0, 1719, 1706, 1716, 1735,
610 0, 0, 2553, 1722, 1732, 2540, 1725, 1722, 1733, 0,
612 1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746, 0,
613 1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769,
614 1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780, 0,
615 1507, 1234, 2364, 732, 2273, 1809, 1845, 1430, 1076, 1585,
616 1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821,
617 1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825,
618 1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891,
619 1882, 1899, 0, 1887, 0, 1892, 0, 2260, 1900, 1891,
620 1909, 0, 1904, 2253, 1902, 0, 1916, 1907, 1918, 2227,
621 1912, 1909, 1924, 2201, 1908, 1918, 1922, 0, 1934, 1925,
623 1931, 1947, 0, 1936, 1942, 1941, 1953, 2103, 1957, 1958,
624 1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961,
625 1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983,
626 0, 0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007,
627 2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029,
628 2037, 2035, 2045, 2051, 2054, 2061, 0, 0, 4511, 4511,
629 1922, 0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831,
630 2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085, 0, 2091,
631 0, 2074, 0, 1824, 0, 2091, 2094, 2082, 0, 2116,
632 2088, 0, 2092, 2133, 0, 1728, 2097, 2095, 1714, 1678,
634 4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601,
635 1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128,
636 2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167,
637 2164, 2157, 2151, 2159, 2158, 2173, 0, 2165, 0, 2166,
638 2182, 2173, 2179, 2178, 2186, 0, 2185, 0, 2187, 2193,
639 0, 2202, 0, 0, 0, 2204, 2187, 2201, 2224, 2200,
640 2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162,
641 1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057, 984,
642 976, 969, 923, 913, 910, 931, 895, 891, 887, 881,
643 874, 856, 848, 843, 840, 804, 788, 2259, 2248, 2258,
645 2265, 2264, 2241, 0, 2254, 2265, 2268, 2279, 0, 2262,
646 2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281,
647 2281, 2300, 2283, 2281, 0, 2303, 2307, 2292, 4511, 2302,
648 2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362,
649 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
650 4511, 746, 725, 597, 577, 441, 426, 420, 267, 253,
651 247, 230, 183, 181, 2317, 2338, 2342, 2330, 2336, 2343,
652 2339, 2331, 2334, 2350, 2341, 2345, 0, 2350, 2346, 2344,
653 2349, 2361, 2364, 2367, 2359, 4511, 2357, 0, 2358, 2362,
654 2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511,
656 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
657 4511, 122, 2399, 2398, 2382, 2391, 2391, 0, 2407, 2408,
658 0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414,
659 4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437,
660 2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452,
661 0, 0, 2461, 0, 2444, 0, 2459, 4511, 4511, 2452,
662 4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481,
663 0, 2468, 2465, 2465, 2485, 0, 2465, 4511, 4511, 4511,
664 2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490,
665 0, 4511, 2497, 4511, 2510, 2500, 2502, 2500, 0, 2514,
667 4511, 4511, 2516, 0, 2523, 2508, 2509, 0, 2528, 2531,
668 0, 0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719,
669 2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929,
670 2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108,
671 3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292,
672 3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463,
673 3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609,
674 3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789,
675 3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973,
676 3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167,
678 4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325,
679 4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
682 static const flex_int16_t yy_def[1221] =
684 1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
685 1119, 1119, 1113, 13, 1120, 1120, 1121, 1121, 1122, 1122,
686 1123, 1123, 1124, 1124, 1113, 25, 1125, 1125, 1126, 1126,
687 1127, 1127, 1128, 1128, 1113, 35, 1129, 1129, 1130, 1130,
688 1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126,
689 1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135,
690 1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113,
691 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139,
692 1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
693 1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113,
695 1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113,
696 1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113,
697 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113,
698 1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148,
699 1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113,
700 1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113,
701 1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113,
702 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
703 1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156,
704 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156,
706 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158,
707 1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
708 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160,
709 1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162,
710 1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113,
711 1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167,
712 1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113,
713 1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113,
714 1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
715 1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113,
717 1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113,
718 1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113,
719 1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113,
720 1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189,
721 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113,
722 1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192,
723 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
724 1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192,
725 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113,
726 1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113,
728 1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113,
729 1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203,
730 1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113,
731 1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113,
732 1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212,
733 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
734 1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113,
735 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
736 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
737 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
739 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
740 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113,
741 1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201,
742 1218, 1202, 1113, 1113, 1205, 432, 430, 430, 1205, 432,
743 1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213,
744 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
745 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
746 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217,
747 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
748 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
750 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
751 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
752 1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218,
753 1218, 1218, 1113, 534, 534, 1205, 432, 1205, 1205, 1205,
754 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213,
755 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
756 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
757 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
758 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
759 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
761 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
762 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113,
763 1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113,
764 1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
765 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
766 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113,
767 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
768 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
769 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
770 1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219,
772 1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213,
773 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
774 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
775 1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
776 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
777 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
778 1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
779 1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
780 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213,
781 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217,
783 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
784 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
785 1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113,
786 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220,
787 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
788 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
789 1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217,
790 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
791 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113,
792 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
794 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
795 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
796 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113,
797 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
798 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
799 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
800 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217,
801 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
802 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
803 1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
805 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
806 1217, 1217, 0, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
807 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
808 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
809 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
810 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
811 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
812 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
813 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
814 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
816 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
817 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
820 static const flex_int16_t yy_nxt[4596] =
822 56, 57, 58, 56, 59, 56, 56, 56, 56, 56,
823 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
824 56, 56, 56, 56, 56, 56, 56, 60, 60, 60,
825 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
826 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
827 60, 60, 56, 56, 56, 56, 60, 60, 60, 60,
828 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
829 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
830 60, 56, 56, 56, 56, 61, 62, 56, 63, 56,
831 64, 56, 65, 56, 56, 56, 56, 56, 56, 56,
833 56, 66, 56, 56, 56, 56, 56, 56, 56, 56,
834 56, 67, 67, 67, 67, 67, 67, 67, 67, 67,
835 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
836 67, 67, 67, 67, 67, 67, 56, 56, 56, 56,
837 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
838 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
839 67, 67, 67, 67, 67, 56, 56, 56, 69, 70,
840 305, 71, 72, 89, 73, 90, 1045, 74, 75, 76,
841 76, 275, 276, 76, 77, 92, 89, 95, 90, 96,
842 78, 56, 93, 76, 95, 323, 96, 107, 108, 305,
844 109, 107, 108, 1012, 109, 125, 291, 126, 127, 154,
845 154, 155, 155, 119, 125, 120, 126, 127, 333, 79,
846 80, 238, 98, 239, 99, 121, 638, 56, 100, 122,
847 122, 122, 122, 98, 323, 99, 157, 1011, 158, 105,
848 350, 130, 131, 233, 132, 234, 159, 333, 81, 76,
849 76, 82, 83, 235, 84, 72, 128, 73, 85, 427,
850 74, 75, 76, 76, 101, 128, 76, 77, 134, 350,
851 135, 102, 103, 86, 104, 101, 76, 130, 131, 292,
852 132, 136, 102, 103, 1010, 104, 160, 378, 161, 229,
853 238, 230, 239, 101, 123, 297, 209, 298, 231, 210,
855 102, 1009, 79, 80, 101, 87, 209, 1008, 229, 210,
856 230, 102, 211, 211, 211, 211, 378, 231, 137, 138,
857 139, 1007, 211, 211, 211, 211, 243, 244, 335, 245,
858 336, 81, 76, 76, 110, 111, 112, 110, 113, 110,
859 110, 110, 110, 110, 110, 110, 114, 110, 114, 110,
860 110, 110, 110, 110, 110, 110, 110, 110, 110, 115,
861 110, 116, 116, 116, 116, 116, 116, 116, 116, 116,
862 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
863 116, 116, 116, 116, 116, 116, 110, 110, 110, 110,
864 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
866 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
867 116, 116, 116, 116, 116, 110, 110, 110, 119, 134,
868 120, 135, 335, 157, 336, 158, 163, 383, 164, 165,
869 121, 250, 136, 159, 122, 122, 122, 122, 163, 224,
870 164, 165, 163, 233, 241, 234, 343, 247, 248, 242,
871 249, 304, 225, 235, 269, 269, 383, 270, 280, 419,
872 281, 420, 226, 282, 282, 282, 282, 227, 251, 137,
873 138, 139, 345, 160, 1006, 161, 166, 167, 168, 346,
874 1005, 304, 225, 312, 313, 423, 314, 424, 166, 167,
875 168, 226, 166, 167, 168, 1004, 227, 344, 251, 123,
877 140, 140, 141, 140, 142, 143, 140, 140, 140, 144,
878 140, 140, 140, 140, 140, 140, 140, 145, 140, 140,
879 140, 140, 140, 140, 140, 140, 140, 146, 146, 146,
880 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
881 146, 146, 146, 146, 147, 146, 146, 146, 146, 146,
882 146, 148, 149, 140, 150, 140, 146, 146, 146, 146,
883 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
884 146, 146, 146, 147, 146, 146, 146, 146, 146, 146,
885 148, 151, 140, 152, 170, 171, 213, 172, 214, 170,
886 171, 173, 172, 332, 219, 219, 173, 157, 224, 158,
888 174, 220, 220, 349, 449, 174, 450, 236, 428, 429,
889 157, 225, 158, 355, 221, 221, 319, 319, 319, 319,
890 236, 226, 356, 332, 222, 222, 227, 175, 388, 223,
891 223, 1003, 175, 349, 176, 177, 215, 178, 216, 176,
892 177, 225, 178, 355, 221, 221, 335, 160, 336, 161,
893 226, 1002, 356, 222, 222, 227, 175, 388, 223, 223,
894 160, 175, 161, 176, 335, 217, 336, 218, 176, 179,
895 180, 181, 179, 182, 183, 179, 179, 179, 179, 179,
896 179, 179, 179, 179, 179, 179, 179, 179, 184, 185,
897 179, 179, 179, 186, 179, 179, 187, 188, 189, 190,
899 191, 192, 193, 194, 195, 193, 193, 196, 197, 198,
900 199, 200, 193, 201, 202, 203, 204, 205, 206, 193,
901 207, 179, 179, 179, 179, 179, 187, 188, 189, 190,
902 191, 192, 193, 194, 195, 193, 193, 196, 197, 198,
903 199, 200, 201, 202, 203, 204, 205, 206, 193, 207,
904 179, 179, 179, 213, 726, 214, 163, 362, 241, 264,
905 265, 360, 266, 242, 278, 278, 267, 284, 285, 361,
906 286, 363, 278, 278, 287, 433, 433, 278, 278, 1001,
907 278, 278, 475, 288, 358, 364, 369, 427, 370, 289,
908 359, 360, 365, 382, 371, 345, 279, 367, 372, 361,
910 1000, 363, 346, 215, 279, 216, 166, 167, 168, 279,
911 963, 475, 279, 366, 358, 364, 369, 368, 370, 359,
912 376, 290, 365, 382, 371, 279, 962, 367, 372, 384,
913 377, 385, 217, 279, 218, 253, 243, 244, 279, 245,
914 268, 279, 366, 250, 386, 373, 368, 478, 268, 374,
915 376, 387, 405, 379, 254, 416, 255, 426, 255, 384,
916 377, 385, 961, 380, 255, 960, 381, 255, 256, 257,
917 959, 255, 258, 259, 386, 373, 478, 260, 958, 374,
918 251, 387, 405, 379, 254, 416, 255, 426, 255, 391,
919 391, 391, 391, 380, 255, 381, 957, 255, 256, 257,
921 255, 258, 259, 956, 247, 248, 260, 249, 261, 955,
922 251, 408, 409, 954, 410, 408, 409, 953, 410, 408,
923 409, 480, 410, 408, 409, 430, 410, 443, 411, 411,
924 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
925 411, 411, 411, 411, 264, 265, 446, 266, 431, 431,
926 480, 267, 447, 952, 412, 428, 429, 443, 312, 313,
927 413, 314, 464, 414, 951, 284, 285, 950, 286, 465,
928 469, 470, 287, 471, 472, 473, 446, 949, 483, 484,
929 432, 288, 447, 412, 485, 476, 486, 289, 490, 474,
930 413, 487, 464, 414, 319, 319, 319, 319, 491, 465,
932 469, 470, 477, 471, 472, 473, 481, 483, 484, 432,
933 482, 492, 499, 485, 493, 476, 486, 490, 474, 290,
934 419, 487, 420, 948, 419, 268, 420, 423, 491, 424,
935 947, 477, 391, 391, 391, 391, 481, 423, 946, 424,
936 482, 492, 499, 493, 494, 495, 268, 451, 452, 453,
937 454, 455, 455, 456, 455, 455, 455, 455, 457, 455,
938 455, 455, 458, 455, 455, 459, 455, 460, 455, 455,
939 461, 455, 488, 494, 495, 462, 489, 451, 452, 453,
940 454, 455, 455, 456, 455, 455, 455, 455, 457, 455,
941 455, 455, 458, 455, 459, 455, 460, 455, 455, 461,
943 455, 496, 488, 497, 503, 489, 500, 504, 505, 506,
944 501, 945, 508, 498, 509, 502, 507, 944, 520, 428,
945 429, 527, 528, 277, 277, 449, 529, 450, 428, 429,
946 496, 531, 533, 497, 503, 943, 500, 504, 505, 506,
947 501, 508, 498, 509, 631, 502, 507, 510, 520, 511,
948 527, 528, 512, 513, 522, 523, 529, 524, 514, 515,
949 534, 531, 533, 942, 516, 517, 941, 526, 409, 518,
950 410, 525, 525, 525, 525, 543, 519, 510, 544, 511,
951 535, 535, 512, 513, 411, 411, 411, 411, 514, 515,
952 428, 429, 545, 516, 517, 539, 539, 546, 518, 542,
954 542, 542, 542, 569, 449, 543, 450, 570, 544, 571,
955 572, 624, 536, 625, 936, 573, 427, 523, 935, 625,
956 526, 409, 545, 410, 632, 885, 624, 546, 625, 428,
957 429, 626, 523, 569, 524, 722, 723, 570, 724, 571,
958 572, 536, 427, 427, 573, 427, 427, 427, 427, 427,
959 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
960 427, 427, 427, 427, 427, 427, 427, 427, 427, 537,
961 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
962 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
963 537, 537, 537, 537, 428, 429, 884, 538, 427, 537,
965 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
966 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
967 537, 537, 537, 427, 427, 427, 540, 540, 540, 540,
968 547, 547, 547, 547, 547, 540, 540, 540, 540, 540,
969 540, 547, 547, 547, 574, 547, 548, 549, 575, 547,
970 550, 576, 553, 558, 551, 883, 552, 577, 578, 579,
971 428, 429, 556, 557, 580, 540, 540, 540, 540, 540,
972 540, 554, 581, 574, 555, 583, 548, 549, 575, 582,
973 550, 576, 553, 558, 551, 552, 586, 577, 578, 579,
974 584, 587, 556, 557, 580, 882, 585, 588, 589, 881,
976 554, 591, 581, 555, 1113, 583, 592, 593, 582, 559,
977 560, 561, 562, 594, 595, 563, 586, 596, 597, 584,
978 564, 587, 598, 599, 565, 585, 588, 566, 589, 567,
979 600, 591, 568, 601, 602, 603, 592, 593, 606, 559,
980 560, 561, 562, 594, 595, 563, 607, 596, 597, 604,
981 564, 608, 598, 599, 565, 605, 566, 609, 567, 610,
982 600, 568, 611, 601, 602, 603, 612, 614, 606, 613,
983 615, 616, 617, 618, 620, 607, 619, 621, 622, 604,
984 608, 623, 428, 429, 274, 605, 644, 609, 627, 610,
985 628, 629, 611, 633, 641, 642, 612, 614, 613, 880,
987 615, 616, 617, 618, 620, 619, 621, 622, 631, 522,
988 523, 623, 524, 626, 523, 644, 524, 801, 627, 802,
989 628, 629, 879, 633, 641, 642, 525, 525, 525, 525,
990 525, 525, 525, 525, 427, 427, 878, 427, 427, 427,
991 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
992 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
993 427, 634, 634, 634, 634, 634, 634, 634, 634, 634,
994 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
995 634, 634, 634, 634, 634, 634, 428, 429, 632, 635,
996 427, 634, 634, 634, 634, 634, 634, 634, 634, 634,
998 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
999 634, 634, 634, 634, 634, 427, 427, 427, 636, 636,
1000 643, 547, 547, 877, 639, 639, 547, 547, 547, 547,
1001 547, 648, 651, 547, 876, 547, 547, 428, 429, 646,
1002 650, 647, 547, 653, 428, 429, 649, 655, 656, 657,
1003 643, 658, 428, 429, 637, 637, 637, 637, 428, 429,
1004 652, 648, 651, 637, 637, 637, 637, 637, 637, 646,
1005 650, 647, 547, 653, 547, 649, 547, 655, 656, 657,
1006 801, 658, 802, 547, 669, 547, 547, 661, 547, 652,
1007 654, 671, 659, 637, 637, 637, 637, 637, 637, 640,
1009 640, 640, 640, 660, 547, 662, 666, 663, 640, 640,
1010 640, 640, 640, 640, 669, 547, 547, 661, 670, 672,
1011 654, 671, 659, 673, 668, 875, 664, 674, 675, 665,
1012 676, 677, 678, 660, 662, 667, 666, 663, 640, 640,
1013 640, 640, 640, 640, 682, 684, 679, 670, 672, 683,
1014 685, 874, 686, 673, 668, 664, 674, 675, 665, 676,
1015 687, 677, 678, 680, 688, 667, 690, 691, 695, 681,
1016 872, 693, 694, 696, 682, 684, 697, 698, 683, 699,
1017 685, 686, 700, 701, 869, 702, 703, 704, 705, 687,
1018 706, 707, 709, 680, 688, 690, 708, 691, 695, 681,
1020 693, 694, 696, 710, 711, 713, 697, 698, 712, 699,
1021 714, 700, 716, 701, 702, 703, 715, 704, 705, 717,
1022 706, 707, 709, 719, 720, 708, 721, 727, 727, 729,
1023 547, 731, 710, 547, 711, 713, 547, 712, 732, 852,
1024 714, 757, 716, 547, 547, 715, 841, 547, 734, 717,
1025 738, 547, 719, 739, 720, 721, 737, 547, 733, 729,
1026 731, 428, 429, 728, 728, 728, 728, 547, 732, 735,
1027 757, 748, 728, 728, 728, 728, 728, 728, 734, 736,
1028 738, 547, 547, 739, 547, 740, 737, 733, 741, 742,
1029 547, 547, 547, 743, 428, 429, 547, 747, 547, 735,
1031 748, 744, 728, 728, 728, 728, 728, 728, 736, 745,
1032 547, 746, 547, 547, 753, 740, 547, 750, 741, 742,
1033 547, 749, 758, 743, 547, 751, 752, 747, 759, 754,
1034 760, 744, 761, 756, 762, 764, 755, 832, 766, 745,
1035 767, 746, 768, 771, 753, 765, 770, 750, 772, 773,
1036 775, 749, 758, 776, 751, 777, 752, 759, 779, 754,
1037 760, 761, 780, 756, 762, 764, 755, 766, 781, 782,
1038 767, 783, 768, 771, 765, 770, 784, 785, 772, 773,
1039 775, 786, 776, 787, 789, 777, 788, 779, 791, 792,
1040 793, 780, 795, 796, 547, 797, 798, 781, 799, 782,
1042 783, 803, 804, 722, 723, 784, 724, 785, 807, 547,
1043 786, 808, 547, 787, 789, 788, 547, 809, 791, 792,
1044 793, 547, 795, 796, 797, 811, 798, 547, 799, 547,
1045 547, 803, 804, 428, 429, 427, 810, 547, 547, 547,
1046 812, 808, 813, 547, 547, 547, 547, 809, 547, 814,
1047 806, 547, 547, 815, 817, 811, 819, 547, 821, 547,
1048 818, 816, 822, 805, 820, 824, 810, 547, 826, 812,
1049 823, 825, 813, 547, 828, 827, 547, 833, 814, 835,
1050 829, 836, 815, 547, 817, 830, 819, 834, 821, 818,
1051 816, 837, 822, 820, 831, 824, 838, 839, 826, 823,
1053 840, 825, 842, 843, 828, 827, 844, 833, 845, 835,
1054 829, 836, 846, 847, 849, 830, 848, 834, 850, 723,
1055 851, 837, 853, 854, 831, 838, 839, 855, 862, 840,
1056 863, 870, 842, 843, 718, 871, 844, 801, 845, 802,
1057 873, 794, 846, 847, 849, 848, 856, 857, 850, 851,
1058 547, 858, 853, 854, 859, 547, 855, 860, 862, 790,
1059 863, 870, 861, 864, 865, 871, 547, 887, 866, 873,
1060 547, 867, 547, 547, 868, 888, 856, 857, 547, 886,
1061 547, 858, 890, 547, 859, 547, 547, 860, 889, 547,
1062 892, 861, 899, 864, 865, 900, 891, 887, 866, 898,
1064 901, 867, 893, 902, 868, 888, 547, 894, 886, 895,
1065 904, 897, 890, 903, 906, 896, 778, 905, 889, 907,
1066 892, 908, 899, 909, 900, 891, 910, 911, 912, 898,
1067 901, 893, 902, 913, 914, 916, 894, 917, 895, 904,
1068 897, 918, 774, 903, 906, 896, 905, 923, 907, 928,
1069 915, 908, 909, 924, 925, 919, 910, 911, 912, 920,
1070 926, 927, 921, 913, 914, 916, 917, 929, 769, 933,
1071 934, 918, 922, 937, 930, 763, 923, 931, 928, 915,
1072 939, 547, 940, 924, 925, 919, 969, 932, 965, 920,
1073 926, 927, 921, 966, 967, 968, 970, 929, 933, 934,
1075 971, 922, 937, 972, 930, 964, 973, 931, 974, 975,
1076 976, 730, 977, 978, 979, 969, 932, 980, 965, 981,
1077 982, 983, 984, 966, 967, 968, 970, 985, 427, 986,
1078 971, 987, 988, 972, 964, 989, 973, 974, 990, 975,
1079 976, 977, 991, 978, 979, 992, 993, 980, 981, 994,
1080 982, 983, 984, 995, 996, 999, 997, 985, 986, 939,
1081 987, 940, 988, 1013, 939, 989, 940, 990, 1014, 1015,
1082 1016, 1017, 991, 998, 1018, 992, 993, 1019, 994, 1020,
1083 1021, 1022, 995, 996, 999, 1023, 997, 1024, 1025, 725,
1084 1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015,
1086 1016, 1017, 998, 1033, 1018, 1034, 1035, 1019, 1020, 1021,
1087 1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026,
1088 1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041,
1089 1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052,
1090 1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057,
1091 1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063,
1092 1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052,
1093 1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057,
1094 1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063,
1095 1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082,
1097 1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087,
1098 1072, 1088, 1073, 1089, 1090, 718, 1091, 1074, 1075, 1076,
1099 1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082,
1100 1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087,
1101 1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106,
1102 1092, 1107, 1093, 1094, 1108, 692, 1109, 1110, 1095, 1111,
1103 1096, 1097, 1112, 1098, 1099, 1100, 375, 375, 689, 434,
1104 1101, 434, 541, 1102, 541, 1103, 1104, 1105, 645, 1106,
1105 427, 1107, 415, 415, 1108, 1109, 1110, 415, 590, 1111,
1106 344, 343, 1112, 68, 68, 68, 68, 68, 68, 68,
1108 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
1109 68, 68, 68, 68, 88, 88, 88, 88, 88, 88,
1110 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1111 88, 88, 88, 88, 88, 91, 91, 91, 91, 91,
1112 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1113 91, 91, 91, 91, 91, 91, 94, 94, 94, 94,
1114 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1115 94, 94, 94, 94, 94, 94, 94, 97, 97, 97,
1116 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1117 97, 97, 97, 97, 97, 97, 97, 97, 106, 106,
1119 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
1120 106, 106, 106, 106, 106, 106, 106, 106, 106, 56,
1121 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1122 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1123 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1124 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1125 118, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1126 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1127 124, 124, 129, 129, 129, 129, 129, 129, 129, 129,
1128 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1130 129, 129, 129, 133, 133, 133, 133, 133, 133, 133,
1131 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1132 133, 133, 133, 133, 153, 153, 153, 153, 153, 153,
1133 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1134 153, 153, 153, 153, 153, 156, 156, 156, 156, 156,
1135 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
1136 156, 156, 156, 156, 156, 156, 162, 162, 162, 162,
1137 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1138 162, 162, 162, 162, 162, 162, 162, 169, 169, 169,
1139 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
1141 169, 169, 169, 169, 169, 169, 169, 169, 208, 208,
1142 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
1143 208, 208, 208, 208, 208, 208, 208, 208, 208, 212,
1144 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1145 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1146 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1147 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1148 228, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1149 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1150 232, 232, 237, 237, 237, 237, 237, 237, 237, 237,
1152 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
1153 237, 237, 237, 240, 240, 240, 240, 240, 240, 240,
1154 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
1155 240, 240, 240, 240, 246, 547, 246, 438, 246, 246,
1156 455, 455, 455, 246, 252, 252, 252, 252, 252, 252,
1157 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
1158 252, 252, 252, 252, 263, 409, 263, 390, 263, 263,
1159 417, 417, 479, 263, 274, 417, 274, 274, 274, 274,
1160 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1161 274, 274, 274, 274, 274, 277, 354, 277, 277, 277,
1163 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
1164 277, 277, 277, 277, 277, 277, 283, 283, 351, 283,
1165 348, 283, 283, 467, 466, 463, 283, 295, 315, 295,
1166 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1167 295, 295, 295, 295, 295, 295, 295, 295, 299, 299,
1168 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1169 299, 299, 299, 313, 299, 315, 299, 299, 299, 302,
1170 310, 302, 302, 296, 302, 302, 302, 302, 302, 302,
1171 302, 302, 302, 302, 441, 302, 440, 302, 302, 302,
1172 309, 439, 285, 309, 309, 309, 309, 309, 309, 309,
1174 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
1175 309, 317, 438, 317, 436, 317, 317, 435, 425, 269,
1176 317, 322, 421, 322, 322, 322, 322, 322, 322, 322,
1177 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1178 322, 322, 325, 265, 325, 325, 325, 325, 325, 325,
1179 325, 325, 325, 325, 325, 325, 325, 325, 325, 248,
1180 325, 325, 325, 326, 244, 326, 341, 326, 403, 326,
1181 326, 326, 326, 402, 326, 326, 400, 399, 398, 326,
1182 328, 397, 328, 328, 328, 395, 328, 328, 328, 328,
1183 328, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1185 328, 331, 394, 331, 393, 331, 331, 390, 354, 352,
1186 331, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1187 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1188 334, 334, 337, 351, 337, 337, 337, 337, 337, 307,
1189 337, 337, 337, 337, 337, 337, 337, 306, 337, 330,
1190 337, 337, 337, 340, 348, 340, 347, 340, 340, 340,
1191 340, 340, 340, 340, 340, 340, 340, 340, 307, 306,
1192 341, 340, 340, 340, 342, 342, 342, 342, 342, 342,
1193 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1194 342, 342, 342, 342, 342, 353, 307, 353, 353, 353,
1196 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1197 353, 353, 353, 353, 353, 353, 357, 357, 306, 339,
1198 338, 357, 357, 389, 307, 389, 389, 389, 389, 389,
1199 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
1200 389, 389, 389, 389, 392, 306, 330, 392, 392, 392,
1201 392, 392, 392, 392, 392, 392, 392, 392, 392, 329,
1202 392, 327, 392, 396, 321, 396, 396, 396, 396, 324,
1203 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1204 396, 396, 396, 396, 401, 401, 401, 401, 401, 401,
1205 401, 401, 401, 401, 401, 401, 401, 401, 401, 321,
1207 401, 320, 401, 401, 401, 404, 318, 404, 404, 404,
1208 316, 404, 404, 404, 404, 404, 404, 404, 404, 404,
1209 313, 315, 311, 404, 404, 404, 246, 310, 246, 308,
1210 246, 246, 307, 306, 303, 246, 406, 301, 406, 406,
1211 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1212 406, 406, 406, 406, 406, 406, 406, 407, 300, 407,
1213 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1214 407, 407, 407, 407, 407, 407, 407, 407, 418, 418,
1215 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
1216 418, 418, 418, 418, 418, 418, 418, 418, 418, 263,
1218 296, 263, 294, 263, 263, 293, 285, 273, 263, 422,
1219 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1220 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1221 427, 272, 427, 427, 427, 427, 427, 427, 427, 427,
1222 427, 427, 427, 427, 427, 427, 427, 271, 427, 427,
1223 427, 274, 265, 274, 274, 274, 274, 274, 274, 274,
1224 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1225 274, 274, 437, 262, 437, 248, 437, 437, 244, 1113,
1226 117, 437, 117, 437, 442, 1113, 442, 442, 442, 442,
1227 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
1229 442, 442, 442, 442, 442, 295, 1113, 295, 295, 295,
1230 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1231 295, 295, 295, 295, 295, 295, 444, 1113, 444, 444,
1232 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1233 444, 444, 444, 444, 444, 444, 444, 445, 1113, 445,
1234 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
1235 445, 445, 445, 445, 445, 445, 445, 445, 299, 299,
1236 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1237 299, 299, 299, 1113, 299, 1113, 299, 299, 299, 302,
1238 1113, 302, 302, 1113, 302, 302, 302, 302, 302, 302,
1240 302, 302, 302, 302, 1113, 302, 1113, 302, 302, 302,
1241 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1242 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1243 448, 309, 1113, 1113, 309, 309, 309, 309, 309, 309,
1244 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
1245 309, 309, 317, 1113, 317, 1113, 317, 317, 1113, 1113,
1246 1113, 317, 326, 1113, 326, 1113, 326, 1113, 326, 326,
1247 326, 326, 1113, 326, 326, 1113, 1113, 1113, 326, 328,
1248 1113, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1249 328, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1251 331, 1113, 331, 1113, 331, 331, 1113, 1113, 1113, 331,
1252 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1253 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1254 334, 337, 1113, 337, 337, 337, 337, 337, 1113, 337,
1255 337, 337, 337, 337, 337, 337, 1113, 337, 1113, 337,
1256 337, 337, 340, 1113, 340, 1113, 340, 340, 340, 340,
1257 340, 340, 340, 340, 340, 340, 340, 1113, 1113, 1113,
1258 340, 340, 340, 468, 1113, 468, 468, 468, 468, 468,
1259 468, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1260 468, 468, 468, 468, 353, 1113, 353, 353, 353, 353,
1262 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1263 353, 353, 353, 353, 353, 357, 357, 1113, 1113, 1113,
1264 357, 357, 389, 1113, 389, 389, 389, 389, 389, 389,
1265 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
1266 389, 389, 389, 392, 1113, 1113, 392, 392, 392, 392,
1267 392, 392, 392, 392, 392, 392, 392, 392, 1113, 392,
1268 1113, 392, 396, 1113, 396, 396, 396, 396, 1113, 396,
1269 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1270 396, 396, 396, 401, 401, 401, 401, 401, 401, 401,
1271 401, 401, 401, 401, 401, 401, 401, 401, 1113, 401,
1273 1113, 401, 401, 401, 404, 1113, 404, 404, 404, 1113,
1274 404, 404, 404, 404, 404, 404, 404, 404, 404, 1113,
1275 1113, 1113, 404, 404, 404, 406, 1113, 406, 406, 406,
1276 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1277 406, 406, 406, 406, 406, 406, 407, 1113, 407, 407,
1278 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1279 407, 407, 407, 407, 407, 407, 407, 521, 521, 521,
1280 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
1281 521, 521, 521, 521, 521, 521, 521, 521, 530, 1113,
1282 530, 1113, 530, 530, 1113, 1113, 1113, 530, 532, 1113,
1284 532, 1113, 532, 532, 1113, 1113, 1113, 532, 418, 418,
1285 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
1286 418, 418, 418, 418, 418, 418, 418, 418, 418, 422,
1287 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1288 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1289 427, 1113, 427, 427, 427, 427, 427, 427, 427, 427,
1290 427, 427, 427, 427, 427, 427, 427, 1113, 427, 427,
1291 427, 437, 1113, 437, 1113, 437, 437, 1113, 1113, 1113,
1292 437, 1113, 437, 442, 1113, 442, 442, 442, 442, 442,
1293 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
1295 442, 442, 442, 442, 444, 1113, 444, 444, 444, 444,
1296 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1297 444, 444, 444, 444, 444, 445, 1113, 445, 445, 445,
1298 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
1299 445, 445, 445, 445, 445, 445, 302, 1113, 302, 302,
1300 1113, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1301 302, 1113, 302, 1113, 302, 302, 302, 448, 448, 448,
1302 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1303 448, 448, 448, 448, 448, 448, 448, 448, 331, 1113,
1304 331, 1113, 331, 331, 1113, 1113, 1113, 331, 342, 1113,
1306 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1307 342, 342, 342, 342, 342, 342, 342, 342, 342, 468,
1308 1113, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1309 468, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1310 357, 357, 1113, 1113, 1113, 357, 357, 630, 1113, 630,
1311 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
1312 630, 630, 630, 630, 630, 630, 630, 630, 800, 800,
1313 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1314 800, 800, 800, 800, 800, 800, 800, 800, 800, 938,
1315 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1317 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1318 55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1319 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1320 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1321 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1322 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1323 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1324 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1325 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1326 1113, 1113, 1113, 1113, 1113
1330 static const flex_int16_t yy_chk[4596] =
1332 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1333 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1334 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1335 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1336 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1337 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1338 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1339 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1340 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
1341 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1343 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1344 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1345 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1346 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1347 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1348 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1349 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
1350 102, 3, 3, 5, 3, 5, 1012, 3, 3, 3,
1351 3, 79, 79, 3, 3, 6, 6, 7, 6, 7,
1352 3, 21, 6, 3, 8, 132, 8, 11, 11, 102,
1354 11, 12, 12, 964, 12, 19, 85, 19, 19, 27,
1355 28, 27, 28, 17, 20, 17, 20, 20, 148, 3,
1356 3, 51, 9, 51, 9, 17, 537, 22, 9, 17,
1357 17, 17, 17, 10, 132, 10, 29, 963, 29, 10,
1358 176, 21, 21, 47, 21, 47, 29, 148, 3, 3,
1359 3, 4, 4, 47, 4, 4, 19, 4, 4, 537,
1360 4, 4, 4, 4, 9, 20, 4, 4, 23, 176,
1361 23, 9, 9, 4, 9, 10, 4, 22, 22, 85,
1362 22, 23, 10, 10, 962, 10, 29, 199, 29, 45,
1363 52, 45, 52, 9, 17, 93, 37, 93, 45, 37,
1365 9, 961, 4, 4, 10, 4, 38, 960, 46, 38,
1366 46, 10, 37, 37, 37, 37, 199, 46, 23, 23,
1367 23, 959, 38, 38, 38, 38, 57, 57, 153, 57,
1368 153, 4, 4, 4, 13, 13, 13, 13, 13, 13,
1369 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1370 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1371 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1372 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1373 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1374 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1376 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1377 13, 13, 13, 13, 13, 13, 13, 13, 18, 24,
1378 18, 24, 155, 30, 155, 30, 31, 202, 31, 31,
1379 18, 64, 24, 30, 18, 18, 18, 18, 32, 43,
1380 32, 32, 53, 48, 53, 48, 167, 61, 61, 53,
1381 61, 101, 43, 48, 73, 73, 202, 73, 81, 261,
1382 81, 261, 43, 81, 81, 81, 81, 43, 64, 24,
1383 24, 24, 170, 30, 958, 30, 31, 31, 31, 170,
1384 957, 101, 43, 111, 111, 268, 111, 268, 32, 32,
1385 32, 43, 53, 53, 53, 956, 43, 167, 64, 18,
1387 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1388 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1389 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1390 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1391 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1392 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1393 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1394 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1395 25, 25, 25, 25, 33, 33, 39, 33, 39, 34,
1396 34, 33, 34, 147, 41, 42, 34, 49, 44, 49,
1398 33, 41, 42, 175, 308, 34, 308, 49, 274, 274,
1399 50, 44, 50, 184, 41, 42, 122, 122, 122, 122,
1400 50, 44, 185, 147, 41, 42, 44, 33, 207, 41,
1401 42, 955, 34, 175, 33, 33, 39, 33, 39, 34,
1402 34, 44, 34, 184, 41, 42, 334, 49, 334, 49,
1403 44, 954, 185, 41, 42, 44, 33, 207, 41, 42,
1404 50, 34, 50, 33, 336, 39, 336, 39, 34, 35,
1405 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1406 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1407 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1409 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1410 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1411 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1412 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1413 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1414 35, 35, 35, 40, 634, 40, 54, 189, 54, 69,
1415 69, 188, 69, 54, 80, 80, 69, 82, 82, 188,
1416 82, 189, 128, 128, 82, 278, 278, 131, 131, 953,
1417 138, 138, 359, 82, 187, 190, 194, 634, 195, 82,
1418 187, 188, 191, 201, 196, 345, 80, 192, 196, 188,
1420 952, 189, 345, 40, 128, 40, 54, 54, 54, 131,
1421 897, 359, 138, 191, 187, 190, 194, 192, 195, 187,
1422 198, 82, 191, 201, 196, 80, 896, 192, 196, 203,
1423 198, 204, 40, 128, 40, 65, 243, 243, 131, 243,
1424 69, 138, 191, 250, 205, 197, 192, 361, 82, 197,
1425 198, 206, 251, 200, 65, 259, 65, 273, 65, 203,
1426 198, 204, 895, 200, 65, 894, 200, 65, 65, 65,
1427 893, 65, 65, 65, 205, 197, 361, 65, 892, 197,
1428 250, 206, 251, 200, 65, 259, 65, 273, 65, 211,
1429 211, 211, 211, 200, 65, 200, 891, 65, 65, 65,
1431 65, 65, 65, 890, 247, 247, 65, 247, 65, 889,
1432 250, 254, 254, 888, 254, 255, 255, 887, 255, 256,
1433 256, 363, 256, 257, 257, 275, 257, 293, 254, 254,
1434 254, 254, 255, 255, 255, 255, 256, 256, 256, 256,
1435 257, 257, 257, 257, 264, 264, 304, 264, 276, 276,
1436 363, 264, 305, 886, 254, 275, 275, 293, 312, 312,
1437 256, 312, 332, 257, 885, 284, 284, 884, 284, 333,
1438 349, 350, 284, 355, 356, 358, 304, 883, 365, 366,
1439 276, 284, 305, 254, 367, 360, 368, 284, 371, 358,
1440 256, 369, 332, 257, 319, 319, 319, 319, 372, 333,
1442 349, 350, 360, 355, 356, 358, 364, 365, 366, 276,
1443 364, 373, 381, 367, 374, 360, 368, 371, 358, 284,
1444 418, 369, 418, 882, 420, 264, 420, 422, 372, 422,
1445 881, 360, 391, 391, 391, 391, 364, 424, 880, 424,
1446 364, 373, 381, 374, 376, 378, 284, 321, 321, 321,
1447 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1448 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1449 321, 321, 370, 376, 378, 321, 370, 321, 321, 321,
1450 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1451 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1453 321, 379, 370, 380, 383, 370, 382, 383, 384, 385,
1454 382, 879, 386, 380, 387, 382, 385, 878, 405, 427,
1455 427, 412, 413, 433, 433, 448, 414, 448, 639, 639,
1456 379, 416, 426, 380, 383, 877, 382, 383, 384, 385,
1457 382, 386, 380, 387, 531, 382, 385, 388, 405, 388,
1458 412, 413, 388, 388, 408, 408, 414, 408, 388, 388,
1459 428, 416, 426, 876, 388, 388, 875, 411, 411, 388,
1460 411, 408, 408, 408, 408, 441, 388, 388, 443, 388,
1461 429, 429, 388, 388, 411, 411, 411, 411, 388, 388,
1462 428, 428, 446, 388, 388, 431, 431, 447, 388, 438,
1464 438, 438, 438, 464, 450, 441, 450, 465, 443, 469,
1465 470, 521, 429, 521, 871, 471, 429, 524, 870, 524,
1466 526, 526, 446, 526, 531, 818, 625, 447, 625, 431,
1467 431, 626, 626, 464, 626, 632, 632, 465, 632, 469,
1468 470, 429, 430, 430, 471, 430, 430, 430, 430, 430,
1469 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1470 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1471 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1472 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1473 430, 430, 430, 430, 430, 430, 817, 430, 430, 430,
1475 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1476 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1477 430, 430, 430, 430, 430, 430, 432, 432, 432, 432,
1478 451, 452, 453, 457, 456, 432, 432, 432, 432, 432,
1479 432, 454, 459, 460, 472, 461, 451, 452, 473, 458,
1480 453, 474, 457, 461, 454, 816, 456, 475, 476, 477,
1481 432, 432, 459, 460, 478, 432, 432, 432, 432, 432,
1482 432, 458, 480, 472, 458, 482, 451, 452, 473, 481,
1483 453, 474, 457, 461, 454, 456, 486, 475, 476, 477,
1484 484, 487, 459, 460, 478, 815, 485, 488, 489, 814,
1486 458, 491, 480, 458, 462, 482, 492, 493, 481, 462,
1487 462, 462, 462, 494, 495, 462, 486, 496, 497, 484,
1488 462, 487, 498, 499, 462, 485, 488, 462, 489, 462,
1489 500, 491, 462, 501, 502, 503, 492, 493, 505, 462,
1490 462, 462, 462, 494, 495, 462, 506, 496, 497, 504,
1491 462, 507, 498, 499, 462, 504, 462, 508, 462, 509,
1492 500, 462, 510, 501, 502, 503, 511, 513, 505, 512,
1493 514, 515, 516, 517, 519, 506, 518, 519, 519, 504,
1494 507, 520, 638, 638, 638, 504, 546, 508, 527, 509,
1495 528, 529, 510, 533, 543, 544, 511, 513, 512, 813,
1497 514, 515, 516, 517, 519, 518, 519, 519, 631, 522,
1498 522, 520, 522, 525, 525, 546, 525, 719, 527, 719,
1499 528, 529, 812, 533, 543, 544, 522, 522, 522, 522,
1500 525, 525, 525, 525, 534, 534, 811, 534, 534, 534,
1501 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1502 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1503 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1504 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1505 534, 534, 534, 534, 534, 534, 534, 534, 631, 534,
1506 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1508 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1509 534, 534, 534, 534, 534, 534, 534, 534, 535, 535,
1510 545, 548, 550, 810, 539, 539, 549, 552, 557, 551,
1511 554, 549, 552, 553, 809, 559, 558, 640, 640, 548,
1512 551, 548, 556, 554, 727, 727, 550, 556, 557, 558,
1513 545, 559, 535, 535, 536, 536, 536, 536, 539, 539,
1514 553, 549, 552, 536, 536, 536, 536, 536, 536, 548,
1515 551, 548, 555, 554, 562, 550, 560, 556, 557, 558,
1516 800, 559, 800, 563, 569, 561, 566, 562, 564, 553,
1517 555, 571, 560, 536, 536, 536, 536, 536, 536, 540,
1519 540, 540, 540, 561, 565, 563, 566, 564, 540, 540,
1520 540, 540, 540, 540, 569, 567, 568, 562, 570, 572,
1521 555, 571, 560, 575, 568, 808, 565, 576, 577, 565,
1522 578, 579, 580, 561, 563, 567, 566, 564, 540, 540,
1523 540, 540, 540, 540, 582, 584, 581, 570, 572, 583,
1524 587, 806, 588, 575, 568, 565, 576, 577, 565, 578,
1525 589, 579, 580, 581, 590, 567, 594, 595, 599, 581,
1526 799, 597, 598, 601, 582, 584, 602, 603, 583, 604,
1527 587, 588, 605, 606, 796, 607, 608, 609, 611, 589,
1528 612, 613, 615, 581, 590, 594, 614, 595, 599, 581,
1530 597, 598, 601, 616, 617, 619, 602, 603, 618, 604,
1531 620, 605, 621, 606, 607, 608, 620, 609, 611, 622,
1532 612, 613, 615, 627, 628, 614, 629, 636, 636, 641,
1533 651, 643, 616, 646, 617, 619, 647, 618, 644, 784,
1534 620, 669, 621, 650, 652, 620, 770, 660, 647, 622,
1535 651, 648, 627, 652, 628, 629, 650, 649, 646, 641,
1536 643, 636, 636, 637, 637, 637, 637, 653, 644, 648,
1537 669, 660, 637, 637, 637, 637, 637, 637, 647, 649,
1538 651, 654, 655, 652, 656, 653, 650, 646, 654, 655,
1539 657, 658, 659, 656, 728, 728, 665, 659, 663, 648,
1541 660, 657, 637, 637, 637, 637, 637, 637, 649, 658,
1542 661, 658, 662, 664, 665, 653, 667, 662, 654, 655,
1543 668, 661, 670, 656, 666, 663, 664, 659, 671, 666,
1544 672, 657, 674, 668, 676, 679, 667, 761, 680, 658,
1545 681, 658, 683, 687, 665, 679, 685, 662, 688, 689,
1546 691, 661, 670, 692, 663, 693, 664, 671, 695, 666,
1547 672, 674, 696, 668, 676, 679, 667, 680, 697, 699,
1548 681, 700, 683, 687, 679, 685, 701, 702, 688, 689,
1549 691, 704, 692, 705, 707, 693, 706, 695, 709, 710,
1550 711, 696, 713, 714, 733, 715, 716, 697, 717, 699,
1552 700, 720, 721, 722, 722, 701, 722, 702, 730, 736,
1553 704, 733, 734, 705, 707, 706, 737, 734, 709, 710,
1554 711, 735, 713, 714, 715, 736, 716, 739, 717, 740,
1555 738, 720, 721, 726, 726, 726, 735, 741, 743, 745,
1556 737, 733, 738, 744, 747, 742, 746, 734, 748, 739,
1557 729, 750, 749, 740, 742, 736, 744, 752, 746, 751,
1558 743, 741, 747, 725, 745, 749, 735, 753, 751, 737,
1559 748, 750, 738, 754, 753, 752, 755, 763, 739, 764,
1560 754, 765, 740, 756, 742, 755, 744, 763, 746, 743,
1561 741, 766, 747, 745, 756, 749, 767, 768, 751, 748,
1563 769, 750, 771, 772, 753, 752, 773, 763, 774, 764,
1564 754, 765, 775, 776, 778, 755, 777, 763, 780, 724,
1565 782, 766, 786, 787, 756, 767, 768, 788, 791, 769,
1566 793, 797, 771, 772, 718, 798, 773, 802, 774, 802,
1567 804, 712, 775, 776, 778, 777, 790, 790, 780, 782,
1568 820, 790, 786, 787, 790, 819, 788, 790, 791, 708,
1569 793, 797, 790, 794, 794, 798, 823, 820, 794, 804,
1570 821, 794, 824, 822, 794, 821, 790, 790, 825, 819,
1571 826, 790, 823, 827, 790, 828, 831, 790, 822, 830,
1572 825, 790, 832, 794, 794, 833, 824, 820, 794, 831,
1574 834, 794, 826, 835, 794, 821, 829, 827, 819, 828,
1575 838, 830, 823, 836, 841, 829, 694, 840, 822, 842,
1576 825, 843, 832, 844, 833, 824, 845, 847, 849, 831,
1577 834, 826, 835, 850, 852, 856, 827, 857, 828, 838,
1578 830, 858, 690, 836, 841, 829, 840, 860, 842, 865,
1579 852, 843, 844, 861, 862, 859, 845, 847, 849, 859,
1580 863, 864, 859, 850, 852, 856, 857, 866, 684, 868,
1581 869, 858, 859, 872, 867, 678, 860, 867, 865, 852,
1582 873, 898, 873, 861, 862, 859, 903, 867, 899, 859,
1583 863, 864, 859, 900, 901, 902, 905, 866, 868, 869,
1585 906, 859, 872, 907, 867, 898, 908, 867, 910, 911,
1586 912, 642, 913, 914, 915, 903, 867, 916, 899, 917,
1587 919, 920, 921, 900, 901, 902, 905, 922, 635, 923,
1588 906, 924, 926, 907, 898, 927, 908, 910, 928, 911,
1589 912, 913, 930, 914, 915, 931, 932, 916, 917, 933,
1590 919, 920, 921, 934, 935, 937, 936, 922, 923, 938,
1591 924, 938, 926, 965, 940, 927, 940, 928, 966, 967,
1592 968, 969, 930, 936, 970, 931, 932, 971, 933, 972,
1593 973, 974, 934, 935, 937, 975, 936, 976, 978, 633,
1594 979, 980, 965, 981, 982, 983, 984, 985, 966, 967,
1596 968, 969, 936, 987, 970, 989, 990, 971, 972, 973,
1597 991, 974, 992, 993, 975, 995, 999, 976, 978, 979,
1598 980, 996, 981, 998, 982, 983, 984, 985, 1015, 997,
1599 1013, 1014, 987, 997, 989, 990, 1016, 1017, 1019, 1020,
1600 991, 1022, 992, 993, 1023, 995, 999, 1024, 1025, 1026,
1601 996, 1027, 998, 1028, 1030, 1034, 1035, 1015, 997, 1036,
1602 1013, 1014, 997, 1039, 1040, 1016, 1017, 1041, 1019, 1020,
1603 1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026,
1604 1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036,
1605 1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066,
1607 1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072,
1608 1048, 1073, 1049, 1074, 1075, 623, 1077, 1050, 1053, 1055,
1609 1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066,
1610 1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072,
1611 1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100,
1612 1081, 1103, 1082, 1083, 1105, 596, 1106, 1107, 1084, 1109,
1613 1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157, 593, 1173,
1614 1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098, 547, 1100,
1615 538, 1103, 1166, 1166, 1105, 1106, 1107, 1166, 490, 1109,
1616 467, 466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1618 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1619 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
1620 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1621 1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116,
1622 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1623 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117,
1624 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1625 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118,
1626 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1627 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
1629 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1630 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
1631 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1632 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1633 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1634 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1635 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1636 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1637 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1638 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1640 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1641 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1642 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125,
1643 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1644 1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126,
1645 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1646 1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
1647 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1648 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
1649 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1651 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129,
1652 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1653 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
1654 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1655 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1656 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1657 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1658 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1659 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1660 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1662 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1663 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1664 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1665 1134, 1134, 1134, 1134, 1135, 455, 1135, 437, 1135, 1135,
1666 1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136,
1667 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1668 1136, 1136, 1136, 1136, 1137, 410, 1137, 389, 1137, 1137,
1669 1167, 1167, 362, 1137, 1138, 1167, 1138, 1138, 1138, 1138,
1670 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1671 1138, 1138, 1138, 1138, 1138, 1139, 353, 1139, 1139, 1139,
1673 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1674 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140, 351, 1140,
1675 346, 1140, 1140, 344, 343, 328, 1140, 1141, 315, 1141,
1676 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1677 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142,
1678 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1679 1142, 1142, 1142, 314, 1142, 313, 1142, 1142, 1142, 1143,
1680 310, 1143, 1143, 296, 1143, 1143, 1143, 1143, 1143, 1143,
1681 1143, 1143, 1143, 1143, 289, 1143, 288, 1143, 1143, 1143,
1682 1144, 287, 286, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1684 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1685 1144, 1145, 283, 1145, 281, 1145, 1145, 280, 271, 270,
1686 1145, 1146, 267, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1687 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1688 1146, 1146, 1147, 266, 1147, 1147, 1147, 1147, 1147, 1147,
1689 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 249,
1690 1147, 1147, 1147, 1148, 245, 1148, 241, 1148, 239, 1148,
1691 1148, 1148, 1148, 238, 1148, 1148, 236, 235, 234, 1148,
1692 1149, 230, 1149, 1149, 1149, 216, 1149, 1149, 1149, 1149,
1693 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1695 1149, 1150, 215, 1150, 214, 1150, 1150, 210, 183, 182,
1696 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1697 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1698 1151, 1151, 1152, 180, 1152, 1152, 1152, 1152, 1152, 178,
1699 1152, 1152, 1152, 1152, 1152, 1152, 1152, 177, 1152, 174,
1700 1152, 1152, 1152, 1153, 173, 1153, 172, 1153, 1153, 1153,
1701 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 168, 166,
1702 164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1703 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1704 1154, 1154, 1154, 1154, 1154, 1155, 161, 1155, 1155, 1155,
1706 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1707 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 160, 159,
1708 158, 1156, 1156, 1158, 150, 1158, 1158, 1158, 1158, 1158,
1709 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1710 1158, 1158, 1158, 1158, 1159, 149, 145, 1159, 1159, 1159,
1711 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 144,
1712 1159, 142, 1159, 1160, 137, 1160, 1160, 1160, 1160, 135,
1713 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1714 1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
1715 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 130,
1717 1161, 126, 1161, 1161, 1161, 1162, 120, 1162, 1162, 1162,
1718 115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1719 113, 112, 109, 1162, 1162, 1162, 1163, 107, 1163, 105,
1720 1163, 1163, 104, 103, 99, 1163, 1164, 96, 1164, 1164,
1721 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1722 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 95, 1165,
1723 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1724 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168,
1725 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1726 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169,
1728 92, 1169, 90, 1169, 1169, 86, 84, 78, 1169, 1170,
1729 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1730 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1731 1171, 77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1732 1171, 1171, 1171, 1171, 1171, 1171, 1171, 74, 1171, 1171,
1733 1171, 1172, 71, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1734 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1735 1172, 1172, 1174, 66, 1174, 63, 1174, 1174, 59, 55,
1736 16, 1174, 15, 1174, 1175, 0, 1175, 1175, 1175, 1175,
1737 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1739 1175, 1175, 1175, 1175, 1175, 1176, 0, 1176, 1176, 1176,
1740 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1741 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177, 1177,
1742 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1743 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 0, 1178,
1744 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1745 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179,
1746 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1747 1179, 1179, 1179, 0, 1179, 0, 1179, 1179, 1179, 1180,
1748 0, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180,
1750 1180, 1180, 1180, 1180, 0, 1180, 0, 1180, 1180, 1180,
1751 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1752 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1753 1181, 1182, 0, 0, 1182, 1182, 1182, 1182, 1182, 1182,
1754 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1755 1182, 1182, 1183, 0, 1183, 0, 1183, 1183, 0, 0,
1756 0, 1183, 1184, 0, 1184, 0, 1184, 0, 1184, 1184,
1757 1184, 1184, 0, 1184, 1184, 0, 0, 0, 1184, 1185,
1758 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1759 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1761 1186, 0, 1186, 0, 1186, 1186, 0, 0, 0, 1186,
1762 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1763 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1764 1187, 1188, 0, 1188, 1188, 1188, 1188, 1188, 0, 1188,
1765 1188, 1188, 1188, 1188, 1188, 1188, 0, 1188, 0, 1188,
1766 1188, 1188, 1189, 0, 1189, 0, 1189, 1189, 1189, 1189,
1767 1189, 1189, 1189, 1189, 1189, 1189, 1189, 0, 0, 0,
1768 1189, 1189, 1189, 1190, 0, 1190, 1190, 1190, 1190, 1190,
1769 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1770 1190, 1190, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191,
1772 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1773 1191, 1191, 1191, 1191, 1191, 1192, 1192, 0, 0, 0,
1774 1192, 1192, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193,
1775 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1776 1193, 1193, 1193, 1194, 0, 0, 1194, 1194, 1194, 1194,
1777 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 0, 1194,
1778 0, 1194, 1195, 0, 1195, 1195, 1195, 1195, 0, 1195,
1779 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1780 1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
1781 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 0, 1196,
1783 0, 1196, 1196, 1196, 1197, 0, 1197, 1197, 1197, 0,
1784 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 0,
1785 0, 0, 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198,
1786 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1787 1198, 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199,
1788 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1789 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1790 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1791 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0,
1792 1201, 0, 1201, 1201, 0, 0, 0, 1201, 1202, 0,
1794 1202, 0, 1202, 1202, 0, 0, 0, 1202, 1203, 1203,
1795 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1796 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204,
1797 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1798 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1799 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1800 1205, 1205, 1205, 1205, 1205, 1205, 1205, 0, 1205, 1205,
1801 1205, 1207, 0, 1207, 0, 1207, 1207, 0, 0, 0,
1802 1207, 0, 1207, 1208, 0, 1208, 1208, 1208, 1208, 1208,
1803 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1805 1208, 1208, 1208, 1208, 1209, 0, 1209, 1209, 1209, 1209,
1806 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1807 1209, 1209, 1209, 1209, 1209, 1210, 0, 1210, 1210, 1210,
1808 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1809 1210, 1210, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211,
1810 0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1811 1211, 0, 1211, 0, 1211, 1211, 1211, 1212, 1212, 1212,
1812 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1813 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214, 0,
1814 1214, 0, 1214, 1214, 0, 0, 0, 1214, 1215, 0,
1816 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1817 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
1818 0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1819 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1820 1217, 1217, 0, 0, 0, 1217, 1217, 1218, 0, 1218,
1821 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1822 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1823 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1824 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220,
1825 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1827 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1828 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1829 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1830 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1831 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1832 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1833 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1834 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1835 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1836 1113, 1113, 1113, 1113, 1113
1840 static yy_state_type yy_last_accepting_state;
1841 static char *yy_last_accepting_cpos;
1843 extern int yy_flex_debug;
1844 int yy_flex_debug = 0;
1846 /* The intent behind this definition is that it'll catch
1847 * any uses of REJECT which flex missed.
1849 #define REJECT reject_used_but_not_detected
1850 #define yymore() yymore_used_but_not_detected
1851 #define YY_MORE_ADJ 0
1852 #define YY_RESTORE_YY_MORE_OFFSET
1855 /* scan.l - scanner for flex input -*-C-*- */
1857 /* Copyright (c) 1990 The Regents of the University of California. */
1858 /* All rights reserved. */
1860 /* This code is derived from software contributed to Berkeley by */
1863 /* The United States Government has rights in this work pursuant */
1864 /* to contract no. DE-AC03-76SF00098 between the United States */
1865 /* Department of Energy and the University of California. */
1867 /* This file is part of flex. */
1869 /* Redistribution and use in source and binary forms, with or without */
1870 /* modification, are permitted provided that the following conditions */
1873 /* 1. Redistributions of source code must retain the above copyright */
1874 /* notice, this list of conditions and the following disclaimer. */
1875 /* 2. Redistributions in binary form must reproduce the above copyright */
1876 /* notice, this list of conditions and the following disclaimer in the */
1877 /* documentation and/or other materials provided with the distribution. */
1879 /* Neither the name of the University nor the names of its contributors */
1880 /* may be used to endorse or promote products derived from this software */
1881 /* without specific prior written permission. */
1883 /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1884 /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1885 /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1888 #include "flexdef.h"
1890 extern bool tablesverify, tablesext;
1891 extern int trlcontxt; /* Set in parse.y for each rule. */
1892 extern const char *escaped_qstart, *escaped_qend;
1895 #define M4QSTART "[""["
1896 #define M4QEND "]""]"
1898 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART
1899 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART
1901 #define ACTION_ECHO add_action( yytext )
1902 #define ACTION_IFDEF(def, should_define) \
1904 if ( should_define ) \
1905 action_define( def, 1 ); \
1908 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART)
1909 #define ACTION_ECHO_QEND add_action (ESCAPED_QEND)
1911 #define ACTION_M4_IFDEF(def, should_define) \
1913 if ( should_define ) \
1914 buf_m4_define( &m4defs_buf, def, NULL);\
1916 buf_m4_undefine( &m4defs_buf, def);\
1919 #define MARK_END_OF_PROLOG mark_prolog();
1924 #define RETURNCHAR \
1925 yylval = (unsigned char) yytext[0]; \
1928 #define RETURNNAME \
1929 if(yyleng < MAXLINE) \
1931 strncpy( nmstr, yytext, sizeof(nmstr) ); \
1936 synerr(_("Input line too long\n")); \
1937 FLEX_EXIT(EXIT_FAILURE); \
1940 #define PUT_BACK_STRING(str, start) \
1941 { size_t i = strlen( str ); \
1942 while ( i > start ) \
1943 unput((str)[--i]); \
1946 #define CHECK_REJECT(str) \
1947 if ( all_upper( str ) ) \
1950 #define CHECK_YYMORE(str) \
1951 if ( all_lower( str ) ) \
1954 #define YY_USER_INIT \
1955 if ( getenv("POSIXLY_CORRECT") ) \
1956 posix_compat = true;
1958 #define START_CODEBLOCK(x) do { \
1959 /* Emit the needed line directive... */\
1960 if (indented_code == false) { \
1962 line_directive_out(NULL, 1); \
1964 add_action(M4QSTART); \
1965 yy_push_state(CODEBLOCK); \
1966 if ((indented_code = x)) ACTION_ECHO; \
1969 #define END_CODEBLOCK do { \
1971 add_action(M4QEND); \
1972 if (!indented_code) line_directive_out(NULL, 0);\
1975 #line 1974 "<stdout>"
1977 #line 1976 "<stdout>"
1981 #define SECT2PROLOG 2
1986 #define CARETISBOL 7
1994 #define ACTION_STRING 15
1995 #define PERCENT_BRACE_ACTION 16
1998 #define CODEBLOCK_MATCH_BRACE 19
1999 #define GROUP_WITH_PARAMS 20
2000 #define GROUP_MINUS_PARAMS 21
2001 #define EXTENDED_COMMENT 22
2002 #define COMMENT_DISCARD 23
2003 #define CODE_COMMENT 24
2004 #define SECT3_NOESCAPE 25
2005 #define CHARACTER_CONSTANT 26
2007 #ifndef YY_NO_UNISTD_H
2008 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2009 * down here because we want the user's section 1 to have been scanned first.
2010 * The user has a chance to override it with an option.
2015 #ifndef YY_EXTRA_TYPE
2016 #define YY_EXTRA_TYPE void *
2019 static int yy_init_globals ( void );
2021 /* Accessor methods to globals.
2022 These are made visible to non-reentrant scanners for convenience. */
2024 int yylex_destroy ( void );
2026 int yyget_debug ( void );
2028 void yyset_debug ( int debug_flag );
2030 YY_EXTRA_TYPE yyget_extra ( void );
2032 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2034 FILE *yyget_in ( void );
2036 void yyset_in ( FILE * _in_str );
2038 FILE *yyget_out ( void );
2040 void yyset_out ( FILE * _out_str );
2042 int yyget_leng ( void );
2044 char *yyget_text ( void );
2046 int yyget_lineno ( void );
2048 void yyset_lineno ( int _line_number );
2050 /* Macros after this point can all be overridden by user definitions in
2054 #ifndef YY_SKIP_YYWRAP
2056 extern "C" int yywrap ( void );
2058 extern int yywrap ( void );
2064 static void yyunput ( int c, char *buf_ptr );
2069 static void yy_flex_strncpy ( char *, const char *, int );
2072 #ifdef YY_NEED_STRLEN
2073 static int yy_flex_strlen ( const char * );
2078 static int yyinput ( void );
2080 static int input ( void );
2085 static int yy_start_stack_ptr = 0;
2086 static int yy_start_stack_depth = 0;
2087 static int *yy_start_stack = NULL;
2089 static void yy_push_state ( int _new_state );
2091 static void yy_pop_state ( void );
2093 /* Amount of stuff to slurp up with each read. */
2094 #ifndef YY_READ_BUF_SIZE
2096 /* On IA-64, the buffer size is 16k, not 8k */
2097 #define YY_READ_BUF_SIZE 16384
2099 #define YY_READ_BUF_SIZE 8192
2100 #endif /* __ia64__ */
2103 /* Copy whatever the last rule matched to the standard output. */
2105 /* This used to be an fputs(), but since the string might contain NUL's,
2106 * we now use fwrite().
2108 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2111 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2112 * is returned in "result".
2115 #define YY_INPUT(buf,result,max_size) \
2116 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2120 for ( n = 0; n < max_size && \
2121 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2122 buf[n] = (char) c; \
2124 buf[n++] = (char) c; \
2125 if ( c == EOF && ferror( yyin ) ) \
2126 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2132 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2134 if( errno != EINTR) \
2136 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2147 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2148 * we don't want an extra ';' after the "return" because that will cause
2149 * some compilers to complain about unreachable statements.
2152 #define yyterminate() return YY_NULL
2155 /* Number of entries by which start-condition stack grows. */
2156 #ifndef YY_START_STACK_INCR
2157 #define YY_START_STACK_INCR 25
2160 /* Report a fatal error. */
2161 #ifndef YY_FATAL_ERROR
2162 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2165 /* end tables serialization structures and prototypes */
2167 /* Default declaration of generated scanner - a define so the user can
2168 * easily add parameters.
2171 #define YY_DECL_IS_OURS 1
2173 extern int yylex (void);
2175 #define YY_DECL int yylex (void)
2176 #endif /* !YY_DECL */
2178 /* Code executed at the beginning of each rule, after yytext and yyleng
2181 #ifndef YY_USER_ACTION
2182 #define YY_USER_ACTION
2185 /* Code executed at the end of each rule. */
2187 #define YY_BREAK /*LINTED*/break;
2190 #define YY_RULE_SETUP \
2192 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2193 (yytext[yyleng - 1] == '\n'); \
2196 /** The main scanner function which does all the work.
2200 yy_state_type yy_current_state;
2201 char *yy_cp, *yy_bp;
2213 (yy_start) = 1; /* first start state */
2221 if ( ! YY_CURRENT_BUFFER ) {
2222 yyensure_buffer_stack ();
2223 YY_CURRENT_BUFFER_LVALUE =
2224 yy_create_buffer( yyin, YY_BUF_SIZE );
2227 yy_load_buffer_state( );
2234 static int bracelevel, didadef, indented_code;
2235 static int doing_rule_action = false;
2236 static int option_sense;
2238 int doing_codeblock = false;
2239 int brace_depth=0, brace_start_line=0;
2240 char nmdef[MAXLINE];
2243 #line 2242 "<stdout>"
2245 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2247 yy_cp = (yy_c_buf_p);
2249 /* Support of yytext. */
2250 *yy_cp = (yy_hold_char);
2252 /* yy_bp points to the position in yy_ch_buf of the start of
2257 yy_current_state = (yy_start);
2258 yy_current_state += YY_AT_BOL();
2262 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2263 if ( yy_accept[yy_current_state] )
2265 (yy_last_accepting_state) = yy_current_state;
2266 (yy_last_accepting_cpos) = yy_cp;
2268 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2270 yy_current_state = (int) yy_def[yy_current_state];
2271 if ( yy_current_state >= 1114 )
2272 yy_c = yy_meta[yy_c];
2274 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2277 while ( yy_base[yy_current_state] != 4511 );
2280 yy_act = yy_accept[yy_current_state];
2282 { /* have to back up */
2283 yy_cp = (yy_last_accepting_cpos);
2284 yy_current_state = (yy_last_accepting_state);
2285 yy_act = yy_accept[yy_current_state];
2288 YY_DO_BEFORE_ACTION;
2290 do_action: /* This label is used only to access EOF actions. */
2293 { /* beginning of action switch */
2294 case 0: /* must back up */
2295 /* undo the effects of YY_DO_BEFORE_ACTION */
2296 *yy_cp = (yy_hold_char);
2297 yy_cp = (yy_last_accepting_cpos);
2298 yy_current_state = (yy_last_accepting_state);
2299 goto yy_find_action;
2304 START_CODEBLOCK(true);
2309 add_action("/*[""["); yy_push_state( COMMENT );
2314 yy_push_state( LINEDIR );
2327 /* rule 6 can match eol */
2330 START_CODEBLOCK(false);
2333 /* rule 7 can match eol */
2337 brace_start_line = linenum;
2339 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2341 yy_push_state(CODEBLOCK_MATCH_BRACE);
2347 synerr( _("malformed '%top' directive") );
2361 line_directive_out(NULL, 1);
2367 /* rule 11 can match eol */
2370 yytext_is_array = false; ++linenum;
2373 /* rule 12 can match eol */
2376 yytext_is_array = true; ++linenum;
2381 BEGIN(OPTION); return TOK_OPTION;
2384 /* rule 14 can match eol */
2387 ++linenum; /* ignore */
2390 /* rule 15 can match eol */
2393 ++linenum; /* ignore */
2395 /* xgettext: no-c-format */
2397 /* rule 16 can match eol */
2400 synerr( _( "unrecognized '%' directive" ) );
2406 if(yyleng < MAXLINE)
2408 strncpy( nmstr, yytext, sizeof(nmstr) );
2412 synerr( _("Definition name too long\n"));
2413 FLEX_EXIT(EXIT_FAILURE);
2426 /* rule 19 can match eol */
2429 ++linenum; /* allows blank lines in section 1 */
2432 /* rule 20 can match eol */
2435 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2450 /* rule 23 can match eol */
2453 ++linenum; ACTION_ECHO;
2460 add_action("*/]""]"); yy_pop_state();
2467 ACTION_ECHO; yy_pop_state();
2471 /* This is the same as COMMENT, but is discarded rather than output. */
2488 /* rule 29 can match eol */
2506 /* rule 32 can match eol */
2514 /* rule 33 can match eol */
2522 linenum = myctoi( yytext );
2529 infilename = xstrdup(yytext + 1);
2530 infilename[strlen( infilename ) - 1] = '\0';
2536 /* ignore spurious characters */
2553 /* rule 39 can match eol */
2556 ++linenum; END_CODEBLOCK;
2569 /* rule 42 can match eol */
2575 if ( indented_code ) END_CODEBLOCK;
2584 if( --brace_depth == 0){
2585 /* TODO: Matched. */
2588 buf_strnappend(&top_buf, yytext, yyleng);
2596 buf_strnappend(&top_buf, yytext, yyleng);
2600 /* rule 45 can match eol */
2605 buf_strnappend(&top_buf, yytext, yyleng);
2611 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
2616 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
2622 buf_strnappend(&top_buf, yytext, yyleng);
2625 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2628 linenum = brace_start_line;
2629 synerr(_("Unmatched '{'"));
2638 /* separates name and definition */
2644 if(yyleng < MAXLINE)
2646 strncpy( nmdef, yytext, sizeof(nmdef) );
2650 format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2651 FLEX_EXIT(EXIT_FAILURE);
2653 /* Skip trailing whitespace. */
2655 size_t i = strlen( nmdef );
2656 while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t'))
2661 ndinstal( nmstr, nmdef );
2666 /* rule 51 can match eol */
2671 synerr( _( "incomplete name definition" ) );
2679 /* rule 52 can match eol */
2682 ++linenum; BEGIN(INITIAL);
2687 option_sense = true;
2697 option_sense = ! option_sense;
2702 csize = option_sense ? 128 : 256;
2707 csize = option_sense ? 256 : 128;
2712 long_align = option_sense;
2718 ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2719 interactive = option_sense;
2725 yytext_is_array = option_sense;
2730 backing_up_report = option_sense;
2735 interactive = ! option_sense;
2740 bison_bridge_lval = option_sense;
2745 { if((bison_bridge_lloc = option_sense))
2746 bison_bridge_lval = true;
2752 C_plus_plus = option_sense;
2757 sf_set_case_ins(!option_sense);
2762 sf_set_case_ins(option_sense);
2767 ddebug = option_sense;
2772 spprdflt = ! option_sense;
2777 useecs = option_sense;
2783 useecs = usemecs = false;
2784 use_read = fullspd = true;
2791 useecs = usemecs = false;
2792 use_read = fulltbl = true;
2798 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2803 interactive = option_sense;
2808 lex_compat = option_sense;
2813 posix_compat = option_sense;
2818 gen_line_dirs = option_sense;
2824 ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2825 /* Override yywrap */
2826 if( option_sense == true )
2833 usemecs = option_sense;
2839 ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2840 interactive = !option_sense;
2846 performance_report += option_sense ? 1 : -1;
2851 yytext_is_array = ! option_sense;
2856 use_read = option_sense;
2861 reentrant = option_sense;
2866 reject_really_used = option_sense;
2871 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2876 do_stdinit = option_sense;
2881 use_stdout = option_sense;
2886 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2891 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2896 printstats = option_sense;
2901 nowarn = ! option_sense;
2906 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2911 yymore_really_used = option_sense;
2916 do_yywrap = option_sense;
2921 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2926 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2931 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2936 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2941 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2946 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2951 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2956 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2961 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2966 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2971 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2976 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2981 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2986 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2991 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2996 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
3001 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
3006 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
3011 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
3016 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
3021 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
3026 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
3031 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
3036 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
3041 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
3046 return TOK_EXTRA_TYPE;
3066 return TOK_HEADER_FILE;
3071 return TOK_TABLES_FILE;
3077 tablesverify = option_sense;
3078 if(!tablesext && option_sense)
3086 if(yyleng-1 < MAXLINE)
3088 strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3092 synerr( _("Option line too long\n"));
3093 FLEX_EXIT(EXIT_FAILURE);
3095 nmstr[strlen( nmstr ) - 1] = '\0';
3103 format_synerr( _( "unrecognized %%option: %s" ),
3110 /* rule 130 can match eol */
3113 ++linenum; BEGIN(INITIAL);
3119 ++bracelevel; yyless( 2 ); /* eat only %{ */
3124 --bracelevel; yyless( 2 ); /* eat only %} */
3129 START_CODEBLOCK(true); /* indented code in prolog */
3135 /* non-indented code */
3136 if ( bracelevel <= 0 ) {
3137 /* not in %{ ... %} */
3138 yyless( 0 ); /* put it all back */
3143 START_CODEBLOCK(true);
3153 /* rule 136 can match eol */
3156 ++linenum; ACTION_ECHO;
3158 case YY_STATE_EOF(SECT2PROLOG):
3163 yyterminate(); /* to stop the parser */
3169 /* rule 137 can match eol */
3172 ++linenum; /* allow blank lines in section 2 */
3178 indented_code = false;
3179 doing_codeblock = true;
3181 BEGIN(PERCENT_BRACE_ACTION);
3188 /* Allow "<" to appear in (?x) patterns. */
3202 BEGIN(QUOTE); return '"';
3205 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3206 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3207 YY_DO_BEFORE_ACTION; /* set up yytext again */
3212 if ( lex_compat || posix_compat )
3213 return BEGIN_REPEAT_POSIX;
3215 return BEGIN_REPEAT_FLEX;
3219 /* rule 143 can match eol */
3220 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3221 YY_LINENO_REWIND_TO(yy_bp + 1);
3222 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3223 YY_DO_BEFORE_ACTION; /* set up yytext again */
3233 BEGIN(PERCENT_BRACE_ACTION);
3237 doing_rule_action = true;
3244 /* rule 145 can match eol */
3249 /* We're in the middle of a (?x: ) pattern. */
3250 /* Push back everything starting at the "|" */
3251 int amt = (int) (strchr (yytext, '|') - yytext);
3256 continued_action = true;
3268 /* We're in the middle of a (?x: ) pattern. */
3269 yy_push_state(COMMENT_DISCARD);
3272 yyless( yyleng - 2 ); /* put back '/', '*' */
3274 continued_action = false;
3282 /* allow indented rules */ ;
3289 /* We're in the middle of a (?x: ) pattern. */
3292 /* This rule is separate from the one below because
3293 * otherwise we get variable trailing context, so
3294 * we can't build the scanner using -{f,F}.
3297 continued_action = false;
3302 doing_rule_action = true;
3310 /* rule 149 can match eol */
3315 /* We're in the middle of a (?x: ) pattern. */
3320 continued_action = false;
3322 unput( '\n' ); /* so <ACTION> sees it */
3326 doing_rule_action = true;
3345 BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
3346 outn("/* Begin user sect3 */");
3347 yyterminate(); /* to stop the parser */
3357 if(yyleng < MAXLINE)
3359 strncpy( nmstr, yytext, sizeof(nmstr) );
3363 synerr( _("Input line too long\n"));
3364 FLEX_EXIT(EXIT_FAILURE);
3367 /* Check to see if we've already encountered this
3370 if (0 /* <--- This "0" effectively disables the reuse of a
3371 * character class (purely based on its source text).
3372 * The reason it was disabled is so yacc/bison can parse
3373 * ccl operations, such as ccl difference and union.
3375 && (cclval = ccllookup( nmstr )) != 0 )
3377 if ( input() != ']' )
3378 synerr( _( "bad character class" ) );
3386 /* We fudge a bit. We know that this ccl will
3387 * soon be numbered as lastccl + 1 by cclinit.
3389 cclinstal( nmstr, lastccl + 1 );
3391 /* Push back everything but the leading bracket
3392 * so the ccl can be rescanned.
3409 return CCL_OP_UNION;
3411 /* Check for :space: at the end of the rule so we don't
3412 * wrap the expanded regex in '(' ')' -- breaking trailing
3416 /* rule 156 can match eol */
3421 int end_is_ws, end_ch;
3423 end_ch = yytext[yyleng-1];
3424 end_is_ws = end_ch != '}' ? 1 : 0;
3426 if(yyleng-1 < MAXLINE)
3428 strncpy( nmstr, yytext + 1, sizeof(nmstr) );
3432 synerr( _("Input line too long\n"));
3433 FLEX_EXIT(EXIT_FAILURE);
3435 nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
3437 if ( (nmdefptr = ndlookup( nmstr )) == NULL )
3439 _( "undefined definition {%s}" ),
3443 { /* push back name surrounded by ()'s */
3444 size_t len = strlen( nmdefptr );
3448 if ( lex_compat || nmdefptr[0] == '^' ||
3449 (len > 0 && nmdefptr[len - 1] == '$')
3450 || (end_is_ws && trlcontxt && !sf_skip_ws()))
3451 { /* don't use ()'s after all */
3452 PUT_BACK_STRING(nmdefptr, 0);
3454 if ( nmdefptr[0] == '^' )
3461 PUT_BACK_STRING(nmdefptr, 0);
3472 yy_push_state(COMMENT_DISCARD);
3474 /* Push back the "*" and return "/" as usual. */
3484 if (lex_compat || posix_compat){
3485 /* Push back the "?#" and treat it like a normal parens. */
3491 yy_push_state(EXTENDED_COMMENT);
3499 if (lex_compat || posix_compat)
3500 /* Push back the "?" and treat it like a normal parens. */
3503 BEGIN(GROUP_WITH_PARAMS);
3510 sf_push(); return '(';
3516 if (_sf_top_ix > 0) {
3520 synerr(_("unbalanced parenthesis"));
3526 return (unsigned char) yytext[0];
3536 /* rule 164 can match eol */
3539 ++linenum; /* Allow blank lines & continuations */
3544 return (unsigned char) yytext[0];
3549 BEGIN(SECT2); return '>';
3552 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3553 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3554 YY_DO_BEFORE_ACTION; /* set up yytext again */
3557 BEGIN(CARETISBOL); return '>';
3568 format_synerr( _( "bad <start condition>: %s" ),
3576 BEGIN(SECT2); return '^';
3587 BEGIN(SECT2); return '"';
3590 /* rule 173 can match eol */
3594 synerr( _( "missing quote" ) );
3610 BEGIN(GROUP_MINUS_PARAMS);
3652 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3653 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3654 YY_DO_BEFORE_ACTION; /* set up yytext again */
3657 BEGIN(CCL); return '^';
3660 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3661 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3662 YY_DO_BEFORE_ACTION; /* set up yytext again */
3670 BEGIN(CCL); RETURNCHAR;
3675 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3676 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3677 YY_DO_BEFORE_ACTION; /* set up yytext again */
3690 BEGIN(SECT2); return ']';
3693 /* rule 189 can match eol */
3697 synerr( _( "bad character class" ) );
3707 BEGIN(CCL); return CCE_ALNUM;
3712 BEGIN(CCL); return CCE_ALPHA;
3717 BEGIN(CCL); return CCE_BLANK;
3722 BEGIN(CCL); return CCE_CNTRL;
3727 BEGIN(CCL); return CCE_DIGIT;
3732 BEGIN(CCL); return CCE_GRAPH;
3737 BEGIN(CCL); return CCE_LOWER;
3742 BEGIN(CCL); return CCE_PRINT;
3747 BEGIN(CCL); return CCE_PUNCT;
3752 BEGIN(CCL); return CCE_SPACE;
3757 BEGIN(CCL); return CCE_UPPER;
3762 BEGIN(CCL); return CCE_XDIGIT;
3767 BEGIN(CCL); return CCE_NEG_ALNUM;
3772 BEGIN(CCL); return CCE_NEG_ALPHA;
3777 BEGIN(CCL); return CCE_NEG_BLANK;
3782 BEGIN(CCL); return CCE_NEG_CNTRL;
3787 BEGIN(CCL); return CCE_NEG_DIGIT;
3792 BEGIN(CCL); return CCE_NEG_GRAPH;
3797 BEGIN(CCL); return CCE_NEG_LOWER;
3802 BEGIN(CCL); return CCE_NEG_PRINT;
3807 BEGIN(CCL); return CCE_NEG_PUNCT;
3812 BEGIN(CCL); return CCE_NEG_SPACE;
3817 BEGIN(CCL); return CCE_NEG_UPPER;
3822 BEGIN(CCL); return CCE_NEG_XDIGIT;
3829 _( "bad character class expression: %s" ),
3831 BEGIN(CCL); return CCE_ALNUM;
3840 yylval = myctoi( yytext );
3854 if ( lex_compat || posix_compat )
3855 return END_REPEAT_POSIX;
3857 return END_REPEAT_FLEX;
3864 synerr( _( "bad character inside {}'s" ) );
3870 /* rule 219 can match eol */
3874 synerr( _( "missing }" ) );
3890 ACTION_ECHO; yy_push_state( CODE_COMMENT );
3898 CHECK_REJECT(yytext);
3906 CHECK_YYMORE(yytext);
3916 /* rule 225 can match eol */
3922 if (bracelevel <= 0 || (doing_codeblock && indented_code)) {
3923 if ( doing_rule_action )
3924 add_action( "\tYY_BREAK]""]\n" );
3926 doing_rule_action = doing_codeblock = false;
3932 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3937 ACTION_ECHO; ++bracelevel;
3942 ACTION_ECHO; --bracelevel;
3957 ACTION_ECHO; /* character constant */
3962 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
3967 ACTION_ECHO; BEGIN(ACTION_STRING);
3970 /* rule 233 can match eol */
3976 if (bracelevel <= 0) {
3977 if ( doing_rule_action )
3978 add_action( "\tYY_BREAK]""]\n" );
3980 doing_rule_action = false;
4000 ACTION_ECHO; BEGIN(ACTION);
4012 ACTION_ECHO; BEGIN(ACTION);
4017 /* rule 239 can match eol */
4023 /* rule 240 can match eol */
4029 /* rule 241 can match eol */
4032 ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); } else { BEGIN(ACTION); }
4040 case YY_STATE_EOF(COMMENT):
4041 case YY_STATE_EOF(CODE_COMMENT):
4042 case YY_STATE_EOF(COMMENT_DISCARD):
4043 case YY_STATE_EOF(ACTION):
4044 case YY_STATE_EOF(ACTION_STRING):
4045 case YY_STATE_EOF(CHARACTER_CONSTANT):
4048 synerr( _( "EOF encountered inside an action" ) );
4052 case YY_STATE_EOF(EXTENDED_COMMENT):
4053 case YY_STATE_EOF(GROUP_WITH_PARAMS):
4054 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
4057 synerr( _( "EOF encountered inside pattern" ) );
4065 yylval = myesc( (unsigned char *) yytext );
4067 if ( YY_START == FIRSTCCL )
4077 fputs(escaped_qstart, yyout);
4082 fputs(escaped_qend, yyout);
4085 /* rule 246 can match eol */
4095 case YY_STATE_EOF(SECT3):
4107 fprintf(yyout, "[""[%s]""]", escaped_qstart);
4112 fprintf(yyout, "[""[%s]""]", escaped_qend);
4115 /* rule 250 can match eol */
4125 case YY_STATE_EOF(SECT3_NOESCAPE):
4134 /* rule 252 can match eol */
4137 format_synerr( _( "bad character: %s" ), yytext );
4142 YY_FATAL_ERROR( "flex scanner jammed" );
4144 #line 4143 "<stdout>"
4145 case YY_STATE_EOF(INITIAL):
4146 case YY_STATE_EOF(SECT2):
4147 case YY_STATE_EOF(CODEBLOCK):
4148 case YY_STATE_EOF(PICKUPDEF):
4149 case YY_STATE_EOF(SC):
4150 case YY_STATE_EOF(CARETISBOL):
4151 case YY_STATE_EOF(NUM):
4152 case YY_STATE_EOF(QUOTE):
4153 case YY_STATE_EOF(FIRSTCCL):
4154 case YY_STATE_EOF(CCL):
4155 case YY_STATE_EOF(RECOVER):
4156 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
4157 case YY_STATE_EOF(OPTION):
4158 case YY_STATE_EOF(LINEDIR):
4161 case YY_END_OF_BUFFER:
4163 /* Amount of text matched not including the EOB char. */
4164 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4166 /* Undo the effects of YY_DO_BEFORE_ACTION. */
4167 *yy_cp = (yy_hold_char);
4168 YY_RESTORE_YY_MORE_OFFSET
4170 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4172 /* We're scanning a new file or input source. It's
4173 * possible that this happened because the user
4174 * just pointed yyin at a new source and called
4175 * yylex(). If so, then we have to assure
4176 * consistency between YY_CURRENT_BUFFER and our
4177 * globals. Here is the right place to do so, because
4178 * this is the first action (other than possibly a
4179 * back-up) that will match for the new input source.
4181 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4182 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4183 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4186 /* Note that here we test for yy_c_buf_p "<=" to the position
4187 * of the first EOB in the buffer, since yy_c_buf_p will
4188 * already have been incremented past the NUL character
4189 * (since all states make transitions on EOB to the
4190 * end-of-buffer state). Contrast this with the test
4193 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4194 { /* This was really a NUL. */
4195 yy_state_type yy_next_state;
4197 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4199 yy_current_state = yy_get_previous_state( );
4201 /* Okay, we're now positioned to make the NUL
4202 * transition. We couldn't have
4203 * yy_get_previous_state() go ahead and do it
4204 * for us because it doesn't know how to deal
4205 * with the possibility of jamming (and we don't
4206 * want to build jamming into it because then it
4207 * will run more slowly).
4210 yy_next_state = yy_try_NUL_trans( yy_current_state );
4212 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4214 if ( yy_next_state )
4216 /* Consume the NUL. */
4217 yy_cp = ++(yy_c_buf_p);
4218 yy_current_state = yy_next_state;
4224 yy_cp = (yy_c_buf_p);
4225 goto yy_find_action;
4229 else switch ( yy_get_next_buffer( ) )
4231 case EOB_ACT_END_OF_FILE:
4233 (yy_did_buffer_switch_on_eof) = 0;
4237 /* Note: because we've taken care in
4238 * yy_get_next_buffer() to have set up
4239 * yytext, we can now set up
4240 * yy_c_buf_p so that if some total
4241 * hoser (like flex itself) wants to
4242 * call the scanner after we return the
4243 * YY_NULL, it'll still work - another
4244 * YY_NULL will get returned.
4246 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
4248 yy_act = YY_STATE_EOF(YY_START);
4254 if ( ! (yy_did_buffer_switch_on_eof) )
4260 case EOB_ACT_CONTINUE_SCAN:
4262 (yytext_ptr) + yy_amount_of_matched_text;
4264 yy_current_state = yy_get_previous_state( );
4266 yy_cp = (yy_c_buf_p);
4267 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4270 case EOB_ACT_LAST_MATCH:
4272 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4274 yy_current_state = yy_get_previous_state( );
4276 yy_cp = (yy_c_buf_p);
4277 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
4278 goto yy_find_action;
4285 "fatal flex scanner internal error--no action found" );
4286 } /* end of action switch */
4287 } /* end of scanning one token */
4288 } /* end of user's declarations */
4289 } /* end of yylex */
4291 /* yy_get_next_buffer - try to read in a new buffer
4293 * Returns a code representing an action:
4294 * EOB_ACT_LAST_MATCH -
4295 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4296 * EOB_ACT_END_OF_FILE - end of file
4298 static int yy_get_next_buffer (void)
4300 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4301 char *source = (yytext_ptr);
4302 int number_to_move, i;
4305 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4307 "fatal flex scanner internal error--end of buffer missed" );
4309 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4310 { /* Don't try to fill the buffer, so this is an EOF. */
4311 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4313 /* We matched a single character, the EOB, so
4314 * treat this as a final EOF.
4316 return EOB_ACT_END_OF_FILE;
4321 /* We matched some text prior to the EOB, first
4324 return EOB_ACT_LAST_MATCH;
4328 /* Try to read more data. */
4330 /* First move last chars to start of buffer. */
4331 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4333 for ( i = 0; i < number_to_move; ++i )
4334 *(dest++) = *(source++);
4336 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4337 /* don't do the read, it's not guaranteed to return an EOF,
4340 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4345 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4347 while ( num_to_read <= 0 )
4348 { /* Not enough room in the buffer - grow it. */
4350 /* just a shorter name for the current buffer */
4351 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4353 int yy_c_buf_p_offset =
4354 (int) ((yy_c_buf_p) - b->yy_ch_buf);
4356 if ( b->yy_is_our_buffer )
4358 int new_size = b->yy_buf_size * 2;
4360 if ( new_size <= 0 )
4361 b->yy_buf_size += b->yy_buf_size / 8;
4363 b->yy_buf_size *= 2;
4365 b->yy_ch_buf = (char *)
4366 /* Include room in for 2 EOB chars. */
4367 yyrealloc( (void *) b->yy_ch_buf,
4368 (yy_size_t) (b->yy_buf_size + 2) );
4371 /* Can't grow it, we don't own it. */
4372 b->yy_ch_buf = NULL;
4374 if ( ! b->yy_ch_buf )
4376 "fatal error - scanner input buffer overflow" );
4378 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4380 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4385 if ( num_to_read > YY_READ_BUF_SIZE )
4386 num_to_read = YY_READ_BUF_SIZE;
4388 /* Read in more data. */
4389 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4390 (yy_n_chars), num_to_read );
4392 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4395 if ( (yy_n_chars) == 0 )
4397 if ( number_to_move == YY_MORE_ADJ )
4399 ret_val = EOB_ACT_END_OF_FILE;
4405 ret_val = EOB_ACT_LAST_MATCH;
4406 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4407 YY_BUFFER_EOF_PENDING;
4412 ret_val = EOB_ACT_CONTINUE_SCAN;
4414 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4415 /* Extend the array by 50%, plus the number we really need. */
4416 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4417 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4418 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
4419 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4420 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4421 /* "- 2" to take care of EOB's */
4422 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4425 (yy_n_chars) += number_to_move;
4426 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4427 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4429 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4434 /* yy_get_previous_state - get the state just before the EOB char was reached */
4436 static yy_state_type yy_get_previous_state (void)
4438 yy_state_type yy_current_state;
4441 yy_current_state = (yy_start);
4442 yy_current_state += YY_AT_BOL();
4444 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4446 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4447 if ( yy_accept[yy_current_state] )
4449 (yy_last_accepting_state) = yy_current_state;
4450 (yy_last_accepting_cpos) = yy_cp;
4452 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4454 yy_current_state = (int) yy_def[yy_current_state];
4455 if ( yy_current_state >= 1114 )
4456 yy_c = yy_meta[yy_c];
4458 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4461 return yy_current_state;
4464 /* yy_try_NUL_trans - try to make a transition on the NUL character
4467 * next_state = yy_try_NUL_trans( current_state );
4469 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4472 char *yy_cp = (yy_c_buf_p);
4475 if ( yy_accept[yy_current_state] )
4477 (yy_last_accepting_state) = yy_current_state;
4478 (yy_last_accepting_cpos) = yy_cp;
4480 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4482 yy_current_state = (int) yy_def[yy_current_state];
4483 if ( yy_current_state >= 1114 )
4484 yy_c = yy_meta[yy_c];
4486 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4487 yy_is_jam = (yy_current_state == 1113);
4489 return yy_is_jam ? 0 : yy_current_state;
4494 static void yyunput (int c, char * yy_bp )
4498 yy_cp = (yy_c_buf_p);
4500 /* undo effects of setting up yytext */
4501 *yy_cp = (yy_hold_char);
4503 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4504 { /* need to shift things up to make room */
4505 /* +2 for EOB chars. */
4506 int number_to_move = (yy_n_chars) + 2;
4507 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4508 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4510 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4512 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4513 *--dest = *--source;
4515 yy_cp += (int) (dest - source);
4516 yy_bp += (int) (dest - source);
4517 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4518 (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4520 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4521 YY_FATAL_ERROR( "flex scanner push-back overflow" );
4524 *--yy_cp = (char) c;
4526 (yytext_ptr) = yy_bp;
4527 (yy_hold_char) = *yy_cp;
4528 (yy_c_buf_p) = yy_cp;
4535 static int yyinput (void)
4537 static int input (void)
4543 *(yy_c_buf_p) = (yy_hold_char);
4545 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4547 /* yy_c_buf_p now points to the character we want to return.
4548 * If this occurs *before* the EOB characters, then it's a
4549 * valid NUL; if not, then we've hit the end of the buffer.
4551 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4552 /* This was really a NUL. */
4553 *(yy_c_buf_p) = '\0';
4556 { /* need more input */
4557 int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4560 switch ( yy_get_next_buffer( ) )
4562 case EOB_ACT_LAST_MATCH:
4563 /* This happens because yy_g_n_b()
4564 * sees that we've accumulated a
4565 * token and flags that we need to
4566 * try matching the token before
4567 * proceeding. But for input(),
4568 * there's no matching to consider.
4569 * So convert the EOB_ACT_LAST_MATCH
4570 * to EOB_ACT_END_OF_FILE.
4573 /* Reset buffer status. */
4578 case EOB_ACT_END_OF_FILE:
4583 if ( ! (yy_did_buffer_switch_on_eof) )
4592 case EOB_ACT_CONTINUE_SCAN:
4593 (yy_c_buf_p) = (yytext_ptr) + offset;
4599 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4600 *(yy_c_buf_p) = '\0'; /* preserve yytext */
4601 (yy_hold_char) = *++(yy_c_buf_p);
4603 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4607 #endif /* ifndef YY_NO_INPUT */
4609 /** Immediately switch to a different input stream.
4610 * @param input_file A readable stream.
4612 * @note This function does not reset the start condition to @c INITIAL .
4614 void yyrestart (FILE * input_file )
4617 if ( ! YY_CURRENT_BUFFER ){
4618 yyensure_buffer_stack ();
4619 YY_CURRENT_BUFFER_LVALUE =
4620 yy_create_buffer( yyin, YY_BUF_SIZE );
4623 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4624 yy_load_buffer_state( );
4627 /** Switch to a different input buffer.
4628 * @param new_buffer The new input buffer.
4631 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
4634 /* TODO. We should be able to replace this entire function body
4636 * yypop_buffer_state();
4637 * yypush_buffer_state(new_buffer);
4639 yyensure_buffer_stack ();
4640 if ( YY_CURRENT_BUFFER == new_buffer )
4643 if ( YY_CURRENT_BUFFER )
4645 /* Flush out information for old buffer. */
4646 *(yy_c_buf_p) = (yy_hold_char);
4647 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4648 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4651 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4652 yy_load_buffer_state( );
4654 /* We don't actually know whether we did this switch during
4655 * EOF (yywrap()) processing, but the only time this flag
4656 * is looked at is after yywrap() is called, so it's safe
4657 * to go ahead and always set it.
4659 (yy_did_buffer_switch_on_eof) = 1;
4662 static void yy_load_buffer_state (void)
4664 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4665 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4666 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4667 (yy_hold_char) = *(yy_c_buf_p);
4670 /** Allocate and initialize an input buffer state.
4671 * @param file A readable stream.
4672 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4674 * @return the allocated buffer state.
4676 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
4680 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4682 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4684 b->yy_buf_size = size;
4686 /* yy_ch_buf has to be 2 characters longer than the size given because
4687 * we need to put in 2 end-of-buffer characters.
4689 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
4690 if ( ! b->yy_ch_buf )
4691 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4693 b->yy_is_our_buffer = 1;
4695 yy_init_buffer( b, file );
4700 /** Destroy the buffer.
4701 * @param b a buffer created with yy_create_buffer()
4704 void yy_delete_buffer (YY_BUFFER_STATE b )
4710 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4711 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4713 if ( b->yy_is_our_buffer )
4714 yyfree( (void *) b->yy_ch_buf );
4716 yyfree( (void *) b );
4719 /* Initializes or reinitializes a buffer.
4720 * This function is sometimes called more than once on the same buffer,
4721 * such as during a yyrestart() or at EOF.
4723 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
4728 yy_flush_buffer( b );
4730 b->yy_input_file = file;
4731 b->yy_fill_buffer = 1;
4733 /* If b is the current buffer, then yy_init_buffer was _probably_
4734 * called from yyrestart() or through yy_get_next_buffer.
4735 * In that case, we don't want to reset the lineno or column.
4737 if (b != YY_CURRENT_BUFFER){
4738 b->yy_bs_lineno = 1;
4739 b->yy_bs_column = 0;
4742 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4747 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4748 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4751 void yy_flush_buffer (YY_BUFFER_STATE b )
4758 /* We always need two end-of-buffer characters. The first causes
4759 * a transition to the end-of-buffer state. The second causes
4760 * a jam in that state.
4762 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4763 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4765 b->yy_buf_pos = &b->yy_ch_buf[0];
4768 b->yy_buffer_status = YY_BUFFER_NEW;
4770 if ( b == YY_CURRENT_BUFFER )
4771 yy_load_buffer_state( );
4774 /** Pushes the new state onto the stack. The new state becomes
4775 * the current state. This function will allocate the stack
4777 * @param new_buffer The new state.
4780 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4782 if (new_buffer == NULL)
4785 yyensure_buffer_stack();
4787 /* This block is copied from yy_switch_to_buffer. */
4788 if ( YY_CURRENT_BUFFER )
4790 /* Flush out information for old buffer. */
4791 *(yy_c_buf_p) = (yy_hold_char);
4792 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4793 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4796 /* Only push if top exists. Otherwise, replace top. */
4797 if (YY_CURRENT_BUFFER)
4798 (yy_buffer_stack_top)++;
4799 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4801 /* copied from yy_switch_to_buffer. */
4802 yy_load_buffer_state( );
4803 (yy_did_buffer_switch_on_eof) = 1;
4806 /** Removes and deletes the top of the stack, if present.
4807 * The next element becomes the new top.
4810 void yypop_buffer_state (void)
4812 if (!YY_CURRENT_BUFFER)
4815 yy_delete_buffer(YY_CURRENT_BUFFER );
4816 YY_CURRENT_BUFFER_LVALUE = NULL;
4817 if ((yy_buffer_stack_top) > 0)
4818 --(yy_buffer_stack_top);
4820 if (YY_CURRENT_BUFFER) {
4821 yy_load_buffer_state( );
4822 (yy_did_buffer_switch_on_eof) = 1;
4826 /* Allocates the stack if it does not exist.
4827 * Guarantees space for at least one push.
4829 static void yyensure_buffer_stack (void)
4831 yy_size_t num_to_alloc;
4833 if (!(yy_buffer_stack)) {
4835 /* First allocation is just for 2 elements, since we don't know if this
4836 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4837 * immediate realloc on the next call.
4839 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4840 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4841 (num_to_alloc * sizeof(struct yy_buffer_state*)
4843 if ( ! (yy_buffer_stack) )
4844 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4846 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4848 (yy_buffer_stack_max) = num_to_alloc;
4849 (yy_buffer_stack_top) = 0;
4853 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4855 /* Increase the buffer to prepare for a possible push. */
4856 yy_size_t grow_size = 8 /* arbitrary grow size */;
4858 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4859 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4861 num_to_alloc * sizeof(struct yy_buffer_state*)
4863 if ( ! (yy_buffer_stack) )
4864 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4866 /* zero only the new slots.*/
4867 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4868 (yy_buffer_stack_max) = num_to_alloc;
4872 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4873 * @param base the character buffer
4874 * @param size the size in bytes of the character buffer
4876 * @return the newly allocated buffer state object.
4878 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
4883 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4884 base[size-1] != YY_END_OF_BUFFER_CHAR )
4885 /* They forgot to leave room for the EOB's. */
4888 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4890 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4892 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
4893 b->yy_buf_pos = b->yy_ch_buf = base;
4894 b->yy_is_our_buffer = 0;
4895 b->yy_input_file = NULL;
4896 b->yy_n_chars = b->yy_buf_size;
4897 b->yy_is_interactive = 0;
4899 b->yy_fill_buffer = 0;
4900 b->yy_buffer_status = YY_BUFFER_NEW;
4902 yy_switch_to_buffer( b );
4907 /** Setup the input buffer state to scan a string. The next call to yylex() will
4908 * scan from a @e copy of @a str.
4909 * @param yystr a NUL-terminated string to scan
4911 * @return the newly allocated buffer state object.
4912 * @note If you want to scan bytes that may contain NUL values, then use
4913 * yy_scan_bytes() instead.
4915 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4918 return yy_scan_bytes( yystr, (int) strlen(yystr) );
4921 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4922 * scan from a @e copy of @a bytes.
4923 * @param yybytes the byte buffer to scan
4924 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4926 * @return the newly allocated buffer state object.
4928 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
4935 /* Get memory for full buffer, including space for trailing EOB's. */
4936 n = (yy_size_t) (_yybytes_len + 2);
4937 buf = (char *) yyalloc( n );
4939 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4941 for ( i = 0; i < _yybytes_len; ++i )
4942 buf[i] = yybytes[i];
4944 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4946 b = yy_scan_buffer( buf, n );
4948 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4950 /* It's okay to grow etc. this buffer, and we should throw it
4951 * away when we're done.
4953 b->yy_is_our_buffer = 1;
4958 static void yy_push_state (int _new_state )
4960 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4964 (yy_start_stack_depth) += YY_START_STACK_INCR;
4965 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4967 if ( ! (yy_start_stack) )
4968 (yy_start_stack) = (int *) yyalloc( new_size );
4971 (yy_start_stack) = (int *) yyrealloc(
4972 (void *) (yy_start_stack), new_size );
4974 if ( ! (yy_start_stack) )
4975 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4978 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4983 static void yy_pop_state (void)
4985 if ( --(yy_start_stack_ptr) < 0 )
4986 YY_FATAL_ERROR( "start-condition stack underflow" );
4988 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4991 #ifndef YY_EXIT_FAILURE
4992 #define YY_EXIT_FAILURE 2
4995 static void yynoreturn yy_fatal_error (const char* msg )
4997 fprintf( stderr, "%s\n", msg );
4998 exit( YY_EXIT_FAILURE );
5001 /* Redefine yyless() so it works in section 3 code. */
5007 /* Undo effects of setting up yytext. */ \
5008 int yyless_macro_arg = (n); \
5009 YY_LESS_LINENO(yyless_macro_arg);\
5010 yytext[yyleng] = (yy_hold_char); \
5011 (yy_c_buf_p) = yytext + yyless_macro_arg; \
5012 (yy_hold_char) = *(yy_c_buf_p); \
5013 *(yy_c_buf_p) = '\0'; \
5014 yyleng = yyless_macro_arg; \
5018 /* Accessor methods (get/set functions) to struct members. */
5020 /** Get the current line number.
5023 int yyget_lineno (void)
5029 /** Get the input stream.
5032 FILE *yyget_in (void)
5037 /** Get the output stream.
5040 FILE *yyget_out (void)
5045 /** Get the length of the current token.
5048 int yyget_leng (void)
5053 /** Get the current token.
5057 char *yyget_text (void)
5062 /** Set the current line number.
5063 * @param _line_number line number
5066 void yyset_lineno (int _line_number )
5069 yylineno = _line_number;
5072 /** Set the input stream. This does not discard the current
5074 * @param _in_str A readable stream.
5076 * @see yy_switch_to_buffer
5078 void yyset_in (FILE * _in_str )
5083 void yyset_out (FILE * _out_str )
5088 int yyget_debug (void)
5090 return yy_flex_debug;
5093 void yyset_debug (int _bdebug )
5095 yy_flex_debug = _bdebug ;
5098 static int yy_init_globals (void)
5100 /* Initialization is the same as for the non-reentrant scanner.
5101 * This function is called from yylex_destroy(), so don't allocate here.
5104 (yy_buffer_stack) = NULL;
5105 (yy_buffer_stack_top) = 0;
5106 (yy_buffer_stack_max) = 0;
5107 (yy_c_buf_p) = NULL;
5111 (yy_start_stack_ptr) = 0;
5112 (yy_start_stack_depth) = 0;
5113 (yy_start_stack) = NULL;
5115 /* Defined in main.c */
5124 /* For future reference: Set errno on error, since we are called by
5130 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
5131 int yylex_destroy (void)
5134 /* Pop the buffer stack, destroying each element. */
5135 while(YY_CURRENT_BUFFER){
5136 yy_delete_buffer( YY_CURRENT_BUFFER );
5137 YY_CURRENT_BUFFER_LVALUE = NULL;
5138 yypop_buffer_state();
5141 /* Destroy the stack itself. */
5142 yyfree((yy_buffer_stack) );
5143 (yy_buffer_stack) = NULL;
5145 /* Destroy the start condition stack. */
5146 yyfree( (yy_start_stack) );
5147 (yy_start_stack) = NULL;
5149 /* Reset the globals. This is important in a non-reentrant scanner so the next time
5150 * yylex() is called, initialization will occur. */
5157 * Internal utility routines.
5161 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5165 for ( i = 0; i < n; ++i )
5170 #ifdef YY_NEED_STRLEN
5171 static int yy_flex_strlen (const char * s )
5174 for ( n = 0; s[n]; ++n )
5181 void *yyalloc (yy_size_t size )
5183 return malloc(size);
5186 void *yyrealloc (void * ptr, yy_size_t size )
5189 /* The cast to (char *) in the following accommodates both
5190 * implementations that use char* generic pointers, and those
5191 * that use void* generic pointers. It works with the latter
5192 * because both ANSI C and C++ allow castless assignment from
5193 * any pointer type to void*, and deal with argument conversions
5194 * as though doing an assignment.
5196 return realloc(ptr, size);
5199 void yyfree (void * ptr )
5201 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5204 #define YYTABLES_NAME "yytables"
5212 if ( --num_input_files > 0 )
5214 set_input_file( *++input_files );
5223 /* set_input_file - open the given file (if NULL, stdin) for scanning */
5225 void set_input_file( char *file )
5227 if ( file && strcmp( file, "-" ) )
5229 infilename = xstrdup(file);
5230 yyin = fopen( infilename, "r" );
5233 lerr( _( "can't open %s" ), file );
5239 infilename = xstrdup("<stdin>");