1 #include "config.h" 2 3 #line 2 "<stdout>" 4 5 #define YY_INT_ALIGNED short int 6 7 /* A lexical scanner generated by flex */ 8 9 #define yy_create_buffer c__create_buffer 10 #define yy_delete_buffer c__delete_buffer 11 #define yy_scan_buffer c__scan_buffer 12 #define yy_scan_string c__scan_string 13 #define yy_scan_bytes c__scan_bytes 14 #define yy_init_buffer c__init_buffer 15 #define yy_flush_buffer c__flush_buffer 16 #define yy_load_buffer_state c__load_buffer_state 17 #define yy_switch_to_buffer c__switch_to_buffer 18 #define yypush_buffer_state c_push_buffer_state 19 #define yypop_buffer_state c_pop_buffer_state 20 #define yyensure_buffer_stack c_ensure_buffer_stack 21 #define yy_flex_debug c__flex_debug 22 #define yyin c_in 23 #define yyleng c_leng 24 #define yylex c_lex 25 #define yylineno c_lineno 26 #define yyout c_out 27 #define yyrestart c_restart 28 #define yytext c_text 29 #define yywrap c_wrap 30 #define yyalloc c_alloc 31 #define yyrealloc c_realloc 32 #define yyfree c_free 33 34 #define FLEX_SCANNER 35 #define YY_FLEX_MAJOR_VERSION 2 36 #define YY_FLEX_MINOR_VERSION 6 37 #define YY_FLEX_SUBMINOR_VERSION 4 38 #if YY_FLEX_SUBMINOR_VERSION > 0 39 #define FLEX_BETA 40 #endif 41 42 #ifdef yy_create_buffer 43 #define c__create_buffer_ALREADY_DEFINED 44 #else 45 #define yy_create_buffer c__create_buffer 46 #endif 47 48 #ifdef yy_delete_buffer 49 #define c__delete_buffer_ALREADY_DEFINED 50 #else 51 #define yy_delete_buffer c__delete_buffer 52 #endif 53 54 #ifdef yy_scan_buffer 55 #define c__scan_buffer_ALREADY_DEFINED 56 #else 57 #define yy_scan_buffer c__scan_buffer 58 #endif 59 60 #ifdef yy_scan_string 61 #define c__scan_string_ALREADY_DEFINED 62 #else 63 #define yy_scan_string c__scan_string 64 #endif 65 66 #ifdef yy_scan_bytes 67 #define c__scan_bytes_ALREADY_DEFINED 68 #else 69 #define yy_scan_bytes c__scan_bytes 70 #endif 71 72 #ifdef yy_init_buffer 73 #define c__init_buffer_ALREADY_DEFINED 74 #else 75 #define yy_init_buffer c__init_buffer 76 #endif 77 78 #ifdef yy_flush_buffer 79 #define c__flush_buffer_ALREADY_DEFINED 80 #else 81 #define yy_flush_buffer c__flush_buffer 82 #endif 83 84 #ifdef yy_load_buffer_state 85 #define c__load_buffer_state_ALREADY_DEFINED 86 #else 87 #define yy_load_buffer_state c__load_buffer_state 88 #endif 89 90 #ifdef yy_switch_to_buffer 91 #define c__switch_to_buffer_ALREADY_DEFINED 92 #else 93 #define yy_switch_to_buffer c__switch_to_buffer 94 #endif 95 96 #ifdef yypush_buffer_state 97 #define c_push_buffer_state_ALREADY_DEFINED 98 #else 99 #define yypush_buffer_state c_push_buffer_state 100 #endif 101 102 #ifdef yypop_buffer_state 103 #define c_pop_buffer_state_ALREADY_DEFINED 104 #else 105 #define yypop_buffer_state c_pop_buffer_state 106 #endif 107 108 #ifdef yyensure_buffer_stack 109 #define c_ensure_buffer_stack_ALREADY_DEFINED 110 #else 111 #define yyensure_buffer_stack c_ensure_buffer_stack 112 #endif 113 114 #ifdef yylex 115 #define c_lex_ALREADY_DEFINED 116 #else 117 #define yylex c_lex 118 #endif 119 120 #ifdef yyrestart 121 #define c_restart_ALREADY_DEFINED 122 #else 123 #define yyrestart c_restart 124 #endif 125 126 #ifdef yylex_init 127 #define c_lex_init_ALREADY_DEFINED 128 #else 129 #define yylex_init c_lex_init 130 #endif 131 132 #ifdef yylex_init_extra 133 #define c_lex_init_extra_ALREADY_DEFINED 134 #else 135 #define yylex_init_extra c_lex_init_extra 136 #endif 137 138 #ifdef yylex_destroy 139 #define c_lex_destroy_ALREADY_DEFINED 140 #else 141 #define yylex_destroy c_lex_destroy 142 #endif 143 144 #ifdef yyget_debug 145 #define c_get_debug_ALREADY_DEFINED 146 #else 147 #define yyget_debug c_get_debug 148 #endif 149 150 #ifdef yyset_debug 151 #define c_set_debug_ALREADY_DEFINED 152 #else 153 #define yyset_debug c_set_debug 154 #endif 155 156 #ifdef yyget_extra 157 #define c_get_extra_ALREADY_DEFINED 158 #else 159 #define yyget_extra c_get_extra 160 #endif 161 162 #ifdef yyset_extra 163 #define c_set_extra_ALREADY_DEFINED 164 #else 165 #define yyset_extra c_set_extra 166 #endif 167 168 #ifdef yyget_in 169 #define c_get_in_ALREADY_DEFINED 170 #else 171 #define yyget_in c_get_in 172 #endif 173 174 #ifdef yyset_in 175 #define c_set_in_ALREADY_DEFINED 176 #else 177 #define yyset_in c_set_in 178 #endif 179 180 #ifdef yyget_out 181 #define c_get_out_ALREADY_DEFINED 182 #else 183 #define yyget_out c_get_out 184 #endif 185 186 #ifdef yyset_out 187 #define c_set_out_ALREADY_DEFINED 188 #else 189 #define yyset_out c_set_out 190 #endif 191 192 #ifdef yyget_leng 193 #define c_get_leng_ALREADY_DEFINED 194 #else 195 #define yyget_leng c_get_leng 196 #endif 197 198 #ifdef yyget_text 199 #define c_get_text_ALREADY_DEFINED 200 #else 201 #define yyget_text c_get_text 202 #endif 203 204 #ifdef yyget_lineno 205 #define c_get_lineno_ALREADY_DEFINED 206 #else 207 #define yyget_lineno c_get_lineno 208 #endif 209 210 #ifdef yyset_lineno 211 #define c_set_lineno_ALREADY_DEFINED 212 #else 213 #define yyset_lineno c_set_lineno 214 #endif 215 216 #ifdef yywrap 217 #define c_wrap_ALREADY_DEFINED 218 #else 219 #define yywrap c_wrap 220 #endif 221 222 #ifdef yyalloc 223 #define c_alloc_ALREADY_DEFINED 224 #else 225 #define yyalloc c_alloc 226 #endif 227 228 #ifdef yyrealloc 229 #define c_realloc_ALREADY_DEFINED 230 #else 231 #define yyrealloc c_realloc 232 #endif 233 234 #ifdef yyfree 235 #define c_free_ALREADY_DEFINED 236 #else 237 #define yyfree c_free 238 #endif 239 240 #ifdef yytext 241 #define c_text_ALREADY_DEFINED 242 #else 243 #define yytext c_text 244 #endif 245 246 #ifdef yyleng 247 #define c_leng_ALREADY_DEFINED 248 #else 249 #define yyleng c_leng 250 #endif 251 252 #ifdef yyin 253 #define c_in_ALREADY_DEFINED 254 #else 255 #define yyin c_in 256 #endif 257 258 #ifdef yyout 259 #define c_out_ALREADY_DEFINED 260 #else 261 #define yyout c_out 262 #endif 263 264 #ifdef yy_flex_debug 265 #define c__flex_debug_ALREADY_DEFINED 266 #else 267 #define yy_flex_debug c__flex_debug 268 #endif 269 270 #ifdef yylineno 271 #define c_lineno_ALREADY_DEFINED 272 #else 273 #define yylineno c_lineno 274 #endif 275 276 /* First, we deal with platform-specific or compiler-specific issues. */ 277 278 /* begin standard C headers. */ 279 #include <stdio.h> 280 #include <string.h> 281 #include <errno.h> 282 #include <stdlib.h> 283 284 /* end standard C headers. */ 285 286 /* flex integer type definitions */ 287 288 #ifndef FLEXINT_H 289 #define FLEXINT_H 290 291 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 292 293 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 294 295 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 296 * if you want the limit (max/min) macros for int types. 297 */ 298 #ifndef __STDC_LIMIT_MACROS 299 #define __STDC_LIMIT_MACROS 1 300 #endif 301 302 #include <inttypes.h> 303 typedef int8_t flex_int8_t; 304 typedef uint8_t flex_uint8_t; 305 typedef int16_t flex_int16_t; 306 typedef uint16_t flex_uint16_t; 307 typedef int32_t flex_int32_t; 308 typedef uint32_t flex_uint32_t; 309 #else 310 typedef signed char flex_int8_t; 311 typedef short int flex_int16_t; 312 typedef int flex_int32_t; 313 typedef unsigned char flex_uint8_t; 314 typedef unsigned short int flex_uint16_t; 315 typedef unsigned int flex_uint32_t; 316 317 /* Limits of integral types. */ 318 #ifndef INT8_MIN 319 #define INT8_MIN (-128) 320 #endif 321 #ifndef INT16_MIN 322 #define INT16_MIN (-32767-1) 323 #endif 324 #ifndef INT32_MIN 325 #define INT32_MIN (-2147483647-1) 326 #endif 327 #ifndef INT8_MAX 328 #define INT8_MAX (127) 329 #endif 330 #ifndef INT16_MAX 331 #define INT16_MAX (32767) 332 #endif 333 #ifndef INT32_MAX 334 #define INT32_MAX (2147483647) 335 #endif 336 #ifndef UINT8_MAX 337 #define UINT8_MAX (255U) 338 #endif 339 #ifndef UINT16_MAX 340 #define UINT16_MAX (65535U) 341 #endif 342 #ifndef UINT32_MAX 343 #define UINT32_MAX (4294967295U) 344 #endif 345 346 #ifndef SIZE_MAX 347 #define SIZE_MAX (~(size_t)0) 348 #endif 349 350 #endif /* ! C99 */ 351 352 #endif /* ! FLEXINT_H */ 353 354 /* begin standard C++ headers. */ 355 356 /* TODO: this is always defined, so inline it */ 357 #define yyconst const 358 359 #if defined(__GNUC__) && __GNUC__ >= 3 360 #define yynoreturn __attribute__((__noreturn__)) 361 #else 362 #define yynoreturn 363 #endif 364 365 /* Returned upon end-of-file. */ 366 #define YY_NULL 0 367 368 /* Promotes a possibly negative, possibly signed char to an 369 * integer in range [0..255] for use as an array index. 370 */ 371 #define YY_SC_TO_UI(c) ((YY_CHAR) (c)) 372 373 /* Enter a start condition. This macro really ought to take a parameter, 374 * but we do it the disgusting crufty way forced on us by the ()-less 375 * definition of BEGIN. 376 */ 377 #define BEGIN (yy_start) = 1 + 2 * 378 /* Translate the current start state into a value that can be later handed 379 * to BEGIN to return to the state. The YYSTATE alias is for lex 380 * compatibility. 381 */ 382 #define YY_START (((yy_start) - 1) / 2) 383 #define YYSTATE YY_START 384 /* Action number for EOF rule of a given start state. */ 385 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 386 /* Special action meaning "start processing a new file". */ 387 #define YY_NEW_FILE yyrestart( yyin ) 388 #define YY_END_OF_BUFFER_CHAR 0 389 390 /* Size of default input buffer. */ 391 #ifndef YY_BUF_SIZE 392 #ifdef __ia64__ 393 /* On IA-64, the buffer size is 16k, not 8k. 394 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 395 * Ditto for the __ia64__ case accordingly. 396 */ 397 #define YY_BUF_SIZE 32768 398 #else 399 #define YY_BUF_SIZE 16384 400 #endif /* __ia64__ */ 401 #endif 402 403 /* The state buf must be large enough to hold one state per character in the main buffer. 404 */ 405 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 406 407 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 408 #define YY_TYPEDEF_YY_BUFFER_STATE 409 typedef struct yy_buffer_state *YY_BUFFER_STATE; 410 #endif 411 412 #ifndef YY_TYPEDEF_YY_SIZE_T 413 #define YY_TYPEDEF_YY_SIZE_T 414 typedef size_t yy_size_t; 415 #endif 416 417 extern int yyleng; 418 419 extern FILE *yyin, *yyout; 420 421 #define EOB_ACT_CONTINUE_SCAN 0 422 #define EOB_ACT_END_OF_FILE 1 423 #define EOB_ACT_LAST_MATCH 2 424 425 #define YY_LESS_LINENO(n) 426 #define YY_LINENO_REWIND_TO(ptr) 427 428 /* Return all but the first "n" matched characters back to the input stream. */ 429 #define yyless(n) \ 430 do \ 431 { \ 432 /* Undo effects of setting up yytext. */ \ 433 int yyless_macro_arg = (n); \ 434 YY_LESS_LINENO(yyless_macro_arg);\ 435 *yy_cp = (yy_hold_char); \ 436 YY_RESTORE_YY_MORE_OFFSET \ 437 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 438 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 439 } \ 440 while ( 0 ) 441 #define unput(c) yyunput( c, (yytext_ptr) ) 442 443 #ifndef YY_STRUCT_YY_BUFFER_STATE 444 #define YY_STRUCT_YY_BUFFER_STATE 445 struct yy_buffer_state 446 { 447 FILE *yy_input_file; 448 449 char *yy_ch_buf; /* input buffer */ 450 char *yy_buf_pos; /* current position in input buffer */ 451 452 /* Size of input buffer in bytes, not including room for EOB 453 * characters. 454 */ 455 int yy_buf_size; 456 457 /* Number of characters read into yy_ch_buf, not including EOB 458 * characters. 459 */ 460 int yy_n_chars; 461 462 /* Whether we "own" the buffer - i.e., we know we created it, 463 * and can realloc() it to grow it, and should free() it to 464 * delete it. 465 */ 466 int yy_is_our_buffer; 467 468 /* Whether this is an "interactive" input source; if so, and 469 * if we're using stdio for input, then we want to use getc() 470 * instead of fread(), to make sure we stop fetching input after 471 * each newline. 472 */ 473 int yy_is_interactive; 474 475 /* Whether we're considered to be at the beginning of a line. 476 * If so, '^' rules will be active on the next match, otherwise 477 * not. 478 */ 479 int yy_at_bol; 480 481 int yy_bs_lineno; /**< The line count. */ 482 int yy_bs_column; /**< The column count. */ 483 484 /* Whether to try to fill the input buffer when we reach the 485 * end of it. 486 */ 487 int yy_fill_buffer; 488 489 int yy_buffer_status; 490 491 #define YY_BUFFER_NEW 0 492 #define YY_BUFFER_NORMAL 1 493 /* When an EOF's been seen but there's still some text to process 494 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 495 * shouldn't try reading from the input source any more. We might 496 * still have a bunch of tokens to match, though, because of 497 * possible backing-up. 498 * 499 * When we actually see the EOF, we change the status to "new" 500 * (via yyrestart()), so that the user can continue scanning by 501 * just pointing yyin at a new input file. 502 */ 503 #define YY_BUFFER_EOF_PENDING 2 504 505 }; 506 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 507 508 /* Stack of input buffers. */ 509 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 510 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 511 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ 512 513 /* We provide macros for accessing buffer states in case in the 514 * future we want to put the buffer states in a more general 515 * "scanner state". 516 * 517 * Returns the top of the stack, or NULL. 518 */ 519 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 520 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 521 : NULL) 522 /* Same as previous macro, but useful when we know that the buffer stack is not 523 * NULL or when we need an lvalue. For internal use only. 524 */ 525 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 526 527 /* yy_hold_char holds the character lost when yytext is formed. */ 528 static char yy_hold_char; 529 static int yy_n_chars; /* number of characters read into yy_ch_buf */ 530 int yyleng; 531 532 /* Points to current character in buffer. */ 533 static char *yy_c_buf_p = NULL; 534 static int yy_init = 0; /* whether we need to initialize */ 535 static int yy_start = 0; /* start state number */ 536 537 /* Flag which is used to allow yywrap()'s to do buffer switches 538 * instead of setting up a fresh yyin. A bit of a hack ... 539 */ 540 static int yy_did_buffer_switch_on_eof; 541 542 void yyrestart ( FILE *input_file ); 543 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); 544 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); 545 void yy_delete_buffer ( YY_BUFFER_STATE b ); 546 void yy_flush_buffer ( YY_BUFFER_STATE b ); 547 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); 548 void yypop_buffer_state ( void ); 549 550 static void yyensure_buffer_stack ( void ); 551 static void yy_load_buffer_state ( void ); 552 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); 553 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) 554 555 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); 556 YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); 557 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); 558 559 void *yyalloc ( yy_size_t ); 560 void *yyrealloc ( void *, yy_size_t ); 561 void yyfree ( void * ); 562 563 #define yy_new_buffer yy_create_buffer 564 #define yy_set_interactive(is_interactive) \ 565 { \ 566 if ( ! YY_CURRENT_BUFFER ){ \ 567 yyensure_buffer_stack (); \ 568 YY_CURRENT_BUFFER_LVALUE = \ 569 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 570 } \ 571 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 572 } 573 #define yy_set_bol(at_bol) \ 574 { \ 575 if ( ! YY_CURRENT_BUFFER ){\ 576 yyensure_buffer_stack (); \ 577 YY_CURRENT_BUFFER_LVALUE = \ 578 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 579 } \ 580 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 581 } 582 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 583 584 /* Begin user sect3 */ 585 typedef flex_uint8_t YY_CHAR; 586 587 FILE *yyin = NULL, *yyout = NULL; 588 589 typedef int yy_state_type; 590 591 extern int yylineno; 592 int yylineno = 1; 593 594 extern char *yytext; 595 #ifdef yytext_ptr 596 #undef yytext_ptr 597 #endif 598 #define yytext_ptr yytext 599 600 static yy_state_type yy_get_previous_state ( void ); 601 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); 602 static int yy_get_next_buffer ( void ); 603 static void yynoreturn yy_fatal_error ( const char* msg ); 604 605 /* Done after the current pattern has been matched and before the 606 * corresponding action - sets up yytext. 607 */ 608 #define YY_DO_BEFORE_ACTION \ 609 (yytext_ptr) = yy_bp; \ 610 (yytext_ptr) -= (yy_more_len); \ 611 yyleng = (int) (yy_cp - (yytext_ptr)); \ 612 (yy_hold_char) = *yy_cp; \ 613 *yy_cp = '\0'; \ 614 (yy_c_buf_p) = yy_cp; 615 #define YY_NUM_RULES 177 616 #define YY_END_OF_BUFFER 178 617 /* This struct is not used in this scanner, 618 but its presence is necessary. */ 619 struct yy_trans_info 620 { 621 flex_int32_t yy_verify; 622 flex_int32_t yy_nxt; 623 }; 624 static const flex_int16_t yy_accept[1575] = 625 { 0, 626 1, 1, 165, 165, 169, 169, 173, 173, 178, 176, 627 1, 157, 164, 2, 176, 176, 176, 176, 176, 176, 628 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 629 176, 176, 176, 176, 177, 165, 166, 177, 167, 177, 630 172, 169, 170, 171, 177, 173, 174, 175, 177, 176, 631 0, 1, 2, 2, 2, 2, 176, 176, 176, 176, 632 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 633 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 634 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 635 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 636 637 176, 176, 176, 176, 176, 176, 176, 165, 0, 172, 638 0, 169, 173, 0, 176, 176, 176, 176, 176, 176, 639 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 640 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 641 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 642 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 643 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 644 176, 176, 176, 176, 84, 176, 176, 176, 176, 176, 645 176, 176, 176, 176, 83, 176, 176, 176, 176, 176, 646 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 647 648 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 649 176, 176, 176, 66, 176, 176, 176, 176, 176, 176, 650 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 651 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 652 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 653 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 654 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 655 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 656 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 657 176, 176, 176, 176, 176, 176, 4, 176, 23, 176, 658 659 176, 176, 37, 176, 176, 176, 176, 176, 176, 176, 660 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 661 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 662 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 663 176, 176, 176, 176, 176, 49, 176, 176, 176, 176, 664 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 665 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 666 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 667 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 668 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 669 670 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 671 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 672 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 673 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 674 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 675 176, 176, 176, 176, 176, 40, 176, 176, 176, 176, 676 176, 176, 176, 176, 176, 176, 95, 18, 19, 176, 677 142, 176, 176, 176, 176, 176, 176, 176, 176, 176, 678 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 679 176, 176, 176, 176, 176, 176, 176, 176, 55, 176, 680 681 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 682 176, 176, 176, 176, 176, 176, 68, 176, 176, 3, 683 176, 160, 176, 176, 176, 176, 176, 176, 176, 176, 684 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 685 141, 176, 176, 176, 176, 176, 176, 176, 176, 176, 686 46, 176, 176, 176, 176, 176, 176, 176, 176, 176, 687 176, 176, 176, 149, 176, 176, 176, 176, 176, 176, 688 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 689 176, 176, 176, 176, 176, 168, 176, 176, 176, 176, 690 176, 176, 176, 176, 176, 176, 176, 176, 24, 176, 691 692 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 693 69, 36, 176, 176, 176, 176, 176, 176, 176, 176, 694 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 695 176, 158, 160, 0, 176, 176, 176, 176, 176, 31, 696 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 697 176, 176, 22, 176, 176, 176, 176, 176, 176, 176, 698 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 699 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 700 176, 176, 176, 176, 176, 176, 20, 176, 44, 176, 701 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 702 703 21, 176, 176, 176, 176, 176, 16, 17, 176, 176, 704 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 705 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 706 176, 176, 176, 176, 176, 176, 176, 176, 176, 85, 707 87, 176, 176, 176, 176, 176, 176, 176, 158, 0, 708 176, 176, 176, 176, 176, 176, 176, 176, 176, 61, 709 176, 130, 176, 176, 41, 176, 176, 145, 176, 176, 710 176, 176, 176, 176, 176, 176, 45, 50, 176, 176, 711 42, 176, 67, 176, 176, 176, 176, 176, 176, 176, 712 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 713 714 176, 176, 176, 176, 176, 176, 98, 176, 176, 176, 715 176, 176, 176, 176, 176, 176, 6, 176, 176, 176, 716 176, 176, 176, 122, 176, 176, 176, 176, 176, 176, 717 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 718 176, 176, 176, 176, 176, 176, 176, 176, 176, 38, 719 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 720 176, 176, 176, 27, 176, 176, 176, 176, 176, 176, 721 176, 176, 176, 48, 176, 176, 176, 176, 176, 176, 722 176, 176, 176, 176, 176, 176, 176, 176, 51, 176, 723 176, 176, 176, 176, 176, 176, 176, 176, 176, 64, 724 725 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 726 11, 176, 176, 176, 176, 176, 176, 99, 176, 176, 727 176, 176, 176, 5, 176, 176, 176, 176, 176, 176, 728 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 729 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 730 115, 176, 176, 176, 176, 176, 176, 176, 176, 176, 731 176, 176, 176, 176, 176, 39, 121, 176, 176, 176, 732 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 733 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 734 176, 176, 176, 58, 176, 176, 176, 176, 176, 63, 735 736 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 737 124, 176, 176, 176, 176, 176, 176, 176, 176, 176, 738 176, 176, 176, 8, 176, 176, 176, 123, 176, 176, 739 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 740 176, 176, 176, 176, 176, 176, 57, 176, 176, 176, 741 176, 54, 112, 176, 176, 176, 176, 176, 176, 176, 742 176, 176, 176, 176, 176, 176, 30, 176, 176, 176, 743 176, 12, 176, 176, 176, 143, 176, 176, 176, 176, 744 176, 176, 176, 176, 176, 176, 176, 176, 176, 52, 745 176, 176, 159, 176, 176, 176, 176, 176, 176, 176, 746 747 176, 74, 176, 176, 161, 176, 176, 176, 176, 176, 748 176, 176, 176, 176, 176, 15, 176, 13, 176, 176, 749 176, 176, 176, 176, 111, 176, 176, 176, 176, 82, 750 81, 176, 176, 176, 176, 176, 176, 56, 176, 176, 751 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 752 176, 26, 176, 176, 176, 176, 176, 176, 176, 176, 753 176, 176, 176, 176, 176, 176, 144, 176, 176, 176, 754 176, 176, 176, 176, 139, 176, 176, 176, 43, 176, 755 135, 176, 159, 0, 176, 176, 65, 176, 176, 176, 756 176, 176, 176, 136, 176, 96, 176, 176, 176, 176, 757 758 176, 176, 176, 176, 176, 14, 176, 176, 176, 176, 759 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 760 176, 176, 176, 176, 176, 176, 92, 176, 176, 176, 761 86, 176, 91, 176, 176, 176, 176, 176, 176, 176, 762 176, 131, 176, 176, 176, 176, 176, 176, 176, 176, 763 176, 176, 152, 176, 176, 176, 176, 176, 176, 176, 764 176, 176, 176, 176, 176, 176, 72, 176, 176, 176, 765 176, 176, 176, 176, 176, 176, 176, 176, 176, 107, 766 176, 7, 34, 35, 176, 110, 176, 118, 79, 176, 767 176, 176, 119, 176, 176, 176, 176, 176, 176, 176, 768 769 71, 176, 176, 176, 176, 176, 176, 176, 53, 176, 770 176, 176, 176, 176, 176, 176, 176, 146, 176, 176, 771 155, 156, 176, 176, 176, 176, 176, 176, 176, 176, 772 176, 176, 176, 114, 176, 176, 176, 176, 176, 106, 773 176, 176, 176, 176, 176, 176, 176, 70, 25, 176, 774 176, 120, 176, 176, 176, 176, 176, 176, 176, 176, 775 176, 176, 176, 176, 176, 176, 75, 176, 29, 176, 776 176, 133, 127, 176, 129, 176, 176, 176, 176, 176, 777 176, 176, 93, 94, 176, 62, 176, 176, 176, 176, 778 77, 176, 176, 176, 176, 176, 176, 176, 176, 176, 779 780 176, 116, 176, 117, 176, 176, 176, 176, 32, 176, 781 176, 176, 176, 176, 9, 176, 76, 33, 176, 176, 782 128, 176, 148, 154, 153, 176, 176, 176, 176, 176, 783 176, 78, 73, 176, 176, 176, 176, 176, 176, 176, 784 176, 176, 176, 80, 113, 176, 176, 176, 176, 176, 785 176, 176, 176, 176, 176, 132, 176, 162, 176, 140, 786 176, 176, 176, 137, 176, 176, 176, 176, 176, 97, 787 176, 176, 176, 176, 125, 176, 59, 176, 176, 176, 788 176, 176, 176, 176, 147, 176, 60, 176, 176, 176, 789 176, 176, 176, 105, 176, 176, 176, 176, 126, 134, 790 791 10, 176, 176, 176, 176, 28, 47, 176, 176, 176, 792 176, 176, 104, 176, 176, 176, 176, 176, 176, 176, 793 176, 176, 151, 138, 176, 176, 176, 176, 176, 176, 794 176, 176, 176, 163, 150, 176, 176, 101, 176, 176, 795 100, 88, 89, 176, 176, 176, 176, 176, 90, 176, 796 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 797 102, 176, 176, 103, 176, 176, 176, 176, 108, 176, 798 176, 176, 109, 0 799 } ; 800 801 static const YY_CHAR yy_ec[256] = 802 { 0, 803 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 804 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 805 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 806 1, 2, 1, 5, 6, 1, 1, 1, 1, 1, 807 1, 1, 1, 1, 7, 1, 1, 8, 9, 9, 808 9, 10, 9, 11, 9, 9, 9, 12, 1, 1, 809 13, 1, 1, 1, 14, 15, 16, 17, 18, 19, 810 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 811 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 812 1, 40, 1, 1, 1, 1, 41, 42, 43, 44, 813 814 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 815 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 816 65, 66, 1, 1, 1, 1, 1, 1, 1, 1, 817 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 818 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 819 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 820 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 821 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 822 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 823 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 824 825 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 826 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 827 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 828 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 829 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 830 1, 1, 1, 1, 1 831 } ; 832 833 static const YY_CHAR yy_meta[67] = 834 { 0, 835 1, 2, 3, 4, 4, 1, 1, 1, 1, 1, 836 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 837 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 838 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 839 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 840 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 841 1, 1, 1, 1, 1, 1 842 } ; 843 844 static const flex_int16_t yy_base[1587] = 845 { 0, 846 0, 0, 64, 67, 71, 75, 78, 81, 4435, 4394, 847 85, 4436, 4436, 88, 72, 73, 123, 168, 62, 74, 848 102, 80, 77, 127, 166, 113, 188, 187, 216, 208, 849 133, 90, 143, 115, 199, 4393, 4436, 4436, 4436, 96, 850 4392, 4429, 4436, 4436, 248, 4390, 4436, 4436, 180, 4389, 851 253, 132, 0, 262, 0, 0, 234, 180, 229, 195, 852 243, 235, 232, 251, 252, 237, 264, 245, 272, 275, 853 261, 87, 256, 285, 291, 292, 300, 312, 284, 289, 854 298, 299, 301, 315, 319, 322, 313, 327, 317, 318, 855 339, 341, 340, 384, 330, 361, 388, 326, 392, 356, 856 857 357, 382, 389, 377, 410, 409, 416, 4388, 226, 4387, 858 421, 4424, 4385, 383, 423, 424, 417, 433, 428, 443, 859 444, 434, 437, 457, 448, 204, 451, 455, 460, 474, 860 465, 479, 473, 491, 490, 482, 486, 492, 520, 464, 861 500, 505, 510, 157, 535, 511, 512, 537, 516, 529, 862 524, 538, 543, 525, 548, 539, 552, 553, 557, 556, 863 567, 566, 569, 575, 517, 572, 591, 570, 594, 599, 864 586, 593, 597, 613, 4384, 614, 626, 616, 619, 607, 865 624, 602, 631, 643, 4382, 627, 637, 629, 634, 651, 866 639, 656, 666, 653, 675, 661, 676, 678, 669, 687, 867 868 674, 695, 670, 689, 680, 704, 693, 697, 703, 706, 869 705, 725, 729, 4374, 719, 717, 709, 731, 723, 730, 870 738, 750, 745, 760, 748, 757, 755, 761, 767, 744, 871 770, 754, 782, 765, 775, 781, 789, 796, 790, 804, 872 794, 802, 807, 809, 820, 850, 855, 808, 810, 813, 873 833, 821, 890, 875, 901, 852, 849, 846, 883, 888, 874 889, 885, 898, 845, 894, 917, 921, 919, 928, 941, 875 930, 926, 940, 931, 938, 950, 951, 957, 956, 967, 876 958, 973, 966, 968, 970, 976, 977, 978, 997, 998, 877 1007, 1008, 989, 1009, 1016, 1021, 4358, 995, 4357, 1018, 878 879 1024, 1019, 4356, 1022, 1034, 1028, 1025, 1052, 1054, 1041, 880 1046, 1038, 1047, 1065, 1055, 1068, 1051, 1070, 1057, 1078, 881 1073, 1069, 1107, 1089, 1097, 1090, 1087, 1105, 1102, 1092, 882 1115, 1103, 1116, 1098, 1125, 1122, 1119, 1112, 1135, 1142, 883 1145, 1138, 1155, 1152, 1149, 4355, 1154, 1165, 1160, 1150, 884 1192, 1172, 1181, 1185, 1188, 851, 1204, 1198, 1199, 1210, 885 1207, 1216, 1202, 1201, 1205, 1248, 866, 1219, 1208, 1228, 886 1235, 1240, 1229, 1247, 1253, 1232, 1255, 1243, 1246, 1251, 887 1261, 1264, 1262, 1277, 1281, 1284, 1289, 1292, 1280, 1287, 888 1295, 1290, 1318, 1306, 1282, 1313, 1330, 1332, 1320, 1333, 889 890 1324, 1347, 1349, 1326, 1329, 1348, 1328, 1352, 1341, 1360, 891 1361, 1353, 1357, 1387, 1382, 1374, 1365, 1380, 1377, 1376, 892 1381, 1386, 1392, 1404, 1401, 1393, 1397, 1405, 1407, 1422, 893 1427, 1425, 1446, 1429, 1431, 1433, 1419, 1432, 1445, 1450, 894 1438, 1457, 1468, 1459, 1456, 1467, 1478, 1472, 1463, 1466, 895 1464, 1486, 1484, 1495, 1510, 4354, 1512, 1498, 1507, 1499, 896 1508, 1511, 1514, 1506, 1524, 1552, 4353, 4352, 4351, 1527, 897 4349, 1535, 1525, 1503, 1566, 1546, 1548, 1567, 1558, 1556, 898 1562, 1568, 1576, 1565, 1580, 1575, 1592, 1611, 1541, 1594, 899 1617, 1604, 1598, 1602, 1621, 1622, 1608, 1610, 4348, 1625, 900 901 1619, 1631, 1640, 1618, 1647, 1641, 1648, 1653, 1660, 1639, 902 1646, 1667, 1665, 1666, 1663, 1662, 4347, 1675, 1707, 4346, 903 1536, 4344, 1659, 1686, 1687, 1698, 1680, 1692, 1697, 1696, 904 1716, 1709, 1706, 1720, 1708, 1729, 1727, 1731, 1723, 1734, 905 4342, 1747, 1746, 1759, 1750, 1756, 1743, 1753, 1768, 1761, 906 4341, 1767, 1776, 1779, 1778, 1787, 1775, 1789, 1780, 1786, 907 1803, 1788, 1805, 4339, 1812, 1814, 1802, 1847, 1815, 1824, 908 1816, 1827, 1830, 1854, 1841, 1860, 1844, 1865, 1857, 1861, 909 1871, 1875, 1881, 1874, 1878, 4329, 1890, 1885, 1897, 1893, 910 1911, 1912, 1896, 1899, 1917, 1908, 1702, 1920, 4315, 1923, 911 912 1905, 1932, 1907, 1924, 1933, 1935, 1942, 1940, 1938, 1960, 913 4313, 4307, 1939, 1956, 1970, 1959, 1962, 1964, 1954, 1974, 914 1980, 1990, 1998, 1981, 1975, 1996, 2005, 1997, 2017, 2011, 915 2013, 4267, 4243, 2042, 2019, 2024, 2023, 2015, 2031, 4134, 916 2014, 2044, 2033, 2058, 2055, 2060, 2052, 2059, 2066, 2042, 917 2074, 2057, 4131, 2051, 2071, 2062, 2063, 2083, 2077, 2089, 918 2096, 2101, 2099, 2097, 2087, 2103, 2091, 2102, 2094, 2098, 919 2108, 2118, 2110, 2104, 2116, 2121, 2126, 2145, 2137, 2138, 920 2153, 2140, 2154, 2159, 2147, 2163, 3966, 2161, 3915, 2170, 921 2184, 2164, 2168, 2178, 2173, 2180, 2183, 2186, 2188, 2185, 922 923 3904, 2203, 2210, 2195, 2209, 2216, 3880, 3821, 2224, 2226, 924 2220, 2228, 2213, 2233, 2219, 2230, 2231, 2235, 2253, 2243, 925 2237, 2269, 2261, 2247, 2258, 2257, 2270, 2272, 2262, 2265, 926 2275, 2287, 2289, 2285, 2288, 2298, 2292, 2294, 2302, 3819, 927 3815, 2312, 2315, 2319, 2358, 2305, 2336, 2306, 3811, 2352, 928 2339, 2321, 2342, 2337, 2347, 2351, 2345, 2341, 2355, 3761, 929 2368, 3754, 2372, 2363, 3747, 2374, 2388, 3711, 2366, 2383, 930 2387, 2390, 2399, 2403, 2410, 2406, 3707, 3647, 2389, 2415, 931 3643, 2413, 3598, 2426, 2423, 2407, 2398, 2414, 2436, 2430, 932 2433, 2425, 2468, 2450, 2446, 2453, 2438, 2444, 2456, 2460, 933 934 2472, 2441, 2466, 2477, 2480, 2475, 3590, 2492, 2486, 2483, 935 2498, 2481, 2507, 2505, 2488, 2502, 3584, 2499, 2516, 2506, 936 2504, 2509, 2517, 3532, 2513, 2518, 2527, 2534, 2532, 2547, 937 2533, 2536, 2539, 2564, 2559, 2550, 2549, 2566, 2577, 2554, 938 2573, 2579, 2574, 2575, 2583, 2586, 2597, 2588, 2593, 3529, 939 2598, 2600, 2604, 2594, 2614, 2610, 2613, 2606, 2630, 2638, 940 2642, 2643, 2647, 3521, 2649, 2645, 2653, 2631, 2637, 2654, 941 2640, 2657, 2655, 3477, 2658, 2663, 2674, 2672, 2675, 2689, 942 2693, 2684, 2690, 2699, 2704, 2698, 2706, 2700, 3421, 2708, 943 2688, 2723, 2719, 2743, 2733, 2740, 2741, 2744, 2731, 3356, 944 945 2722, 2732, 2749, 2756, 2750, 2737, 2758, 2753, 2766, 2754, 946 3354, 2770, 2767, 2772, 2792, 2790, 2793, 3312, 2789, 2783, 947 2781, 2797, 2786, 3293, 2804, 2800, 2817, 2821, 2808, 2815, 948 2833, 2822, 2827, 2831, 2839, 2838, 2842, 2825, 2835, 2852, 949 2847, 2857, 2853, 2858, 2861, 2867, 2862, 2848, 2888, 2875, 950 3169, 2883, 2872, 2894, 2896, 2899, 2901, 2898, 2893, 2902, 951 2895, 2903, 2915, 2905, 2900, 3155, 3057, 2919, 2922, 2925, 952 2942, 2926, 2927, 2933, 2954, 2951, 2934, 2952, 2943, 2966, 953 2967, 2960, 2970, 2964, 2953, 2972, 2965, 2961, 2982, 2978, 954 2971, 3000, 3007, 3033, 3003, 2997, 1833, 3005, 2992, 2980, 955 956 2991, 3006, 3026, 3017, 3004, 3009, 3027, 3019, 3031, 3044, 957 2882, 3020, 3041, 3030, 3052, 3035, 3058, 3054, 3049, 3066, 958 3042, 3076, 3068, 2874, 3069, 3072, 3078, 2832, 3075, 3080, 959 3081, 3086, 3096, 3099, 3094, 3093, 3116, 3108, 3102, 3105, 960 3113, 3125, 3121, 3131, 3129, 3130, 2824, 3126, 3132, 3120, 961 3135, 2788, 2777, 3136, 3145, 3140, 3154, 3152, 3172, 3159, 962 3176, 3161, 3177, 3163, 3164, 3167, 2765, 3173, 3182, 3191, 963 3208, 2739, 3188, 3201, 3209, 2727, 3181, 3186, 3210, 3212, 964 3215, 3198, 3218, 3222, 3225, 3235, 3234, 3248, 3244, 2681, 965 3249, 3254, 2679, 3241, 3257, 3264, 3252, 3263, 3267, 3268, 966 967 3271, 2671, 3279, 3270, 2666, 3265, 3282, 3283, 3281, 3284, 968 3294, 3287, 3291, 3295, 3301, 2639, 3318, 2636, 3306, 3299, 969 3320, 3326, 3308, 3327, 2627, 3328, 3329, 3333, 3335, 2569, 970 2561, 3330, 3339, 3344, 3345, 3364, 3350, 2491, 3351, 3360, 971 3362, 3361, 3381, 3370, 3375, 3376, 3391, 3399, 3383, 3394, 972 3396, 2420, 3401, 3389, 3409, 3390, 3410, 3400, 3418, 3408, 973 3419, 3422, 3434, 3423, 3435, 3429, 2386, 3430, 3428, 3431, 974 3448, 3458, 3440, 3455, 2378, 3456, 3466, 3452, 2299, 3461, 975 2246, 3465, 2212, 3485, 3490, 3482, 2202, 3484, 3485, 3498, 976 3500, 3491, 3496, 2143, 3504, 2135, 3481, 3499, 3505, 3495, 977 978 3508, 3516, 3514, 3493, 3539, 2132, 3530, 3540, 3546, 3548, 979 3542, 3551, 3541, 3553, 3556, 3557, 3555, 3552, 3562, 3545, 980 3566, 3567, 3571, 3569, 3559, 3568, 1995, 3591, 3575, 3576, 981 1992, 3587, 1969, 3580, 3602, 3597, 3607, 3611, 3592, 3596, 982 3603, 1851, 3614, 3615, 3619, 3618, 3636, 3623, 3625, 3632, 983 3655, 3657, 1848, 3630, 3640, 3652, 3656, 3659, 3654, 3667, 984 3664, 3670, 3646, 3680, 3678, 3673, 1748, 3687, 3696, 3694, 985 3689, 3705, 3712, 3695, 3691, 3714, 3717, 3699, 3719, 1744, 986 3720, 1742, 1704, 1693, 3721, 1689, 3722, 1658, 1650, 3726, 987 3732, 3728, 1649, 3738, 3740, 3742, 3751, 3739, 3741, 3744, 988 989 1635, 3767, 3768, 3772, 3759, 3769, 3771, 3781, 1633, 3777, 990 3784, 3783, 3780, 3788, 3794, 3785, 3798, 1595, 3790, 3786, 991 1539, 1505, 3810, 3812, 3802, 3813, 3809, 3825, 3827, 3829, 992 3828, 3833, 3837, 1483, 3838, 3839, 3836, 3841, 3846, 1363, 993 3857, 3842, 3849, 3852, 3865, 3861, 3859, 1322, 1321, 3860, 994 3878, 1305, 3891, 3876, 3879, 3888, 3894, 3892, 3885, 3887, 995 3886, 3899, 3908, 3917, 3920, 3918, 1279, 3931, 1244, 3921, 996 3907, 1242, 1237, 3937, 1234, 3925, 3938, 3941, 3942, 3924, 997 3935, 3948, 1226, 1178, 3940, 1133, 3934, 3945, 3947, 3958, 998 1095, 3968, 3960, 3957, 3974, 3977, 3967, 3975, 3970, 3994, 999 1000 3995, 1043, 3993, 1002, 3997, 3988, 4000, 4002, 994, 3990, 1001 3985, 4009, 4018, 4020, 949, 4005, 946, 937, 4001, 4032, 1002 923, 4028, 914, 848, 822, 4038, 4021, 4040, 4043, 4024, 1003 4034, 817, 806, 4041, 4035, 4051, 4039, 4037, 4059, 4064, 1004 4060, 4079, 4061, 777, 702, 4078, 4081, 4080, 4069, 4067, 1005 4083, 4084, 4091, 4086, 4100, 664, 4094, 603, 4106, 522, 1006 4105, 4107, 4101, 508, 4109, 4102, 4119, 4113, 4132, 487, 1007 4133, 4139, 4140, 4142, 483, 4149, 472, 4150, 4152, 4147, 1008 4148, 4159, 4136, 4153, 435, 4158, 421, 4160, 4179, 4169, 1009 4163, 4176, 4174, 404, 4180, 4175, 4172, 4181, 365, 362, 1010 1011 358, 4190, 4202, 4185, 4201, 354, 353, 4186, 4205, 4215, 1012 4229, 4216, 350, 4204, 4213, 4240, 4234, 4227, 4236, 4232, 1013 4246, 4247, 344, 342, 4225, 4231, 4248, 4254, 4245, 4256, 1014 4265, 4270, 4259, 288, 277, 4271, 4275, 273, 4278, 4273, 1015 248, 207, 200, 4286, 4268, 4294, 4281, 4277, 196, 4272, 1016 4283, 4300, 4288, 4318, 4317, 4320, 4302, 4321, 4305, 4327, 1017 160, 4326, 4311, 153, 4314, 4334, 4337, 4336, 151, 4345, 1018 4340, 4338, 119, 4436, 4399, 4403, 4407, 156, 4411, 4415, 1019 139, 4417, 4419, 109, 102, 87 1020 } ; 1021 1022 static const flex_int16_t yy_def[1587] = 1023 { 0, 1024 1574, 1, 1575, 1575, 1576, 1576, 1577, 1577, 1574, 1578, 1025 1574, 1574, 1574, 1579, 1578, 1578, 1578, 1578, 1578, 1578, 1026 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1027 1578, 1578, 1578, 1578, 1578, 1580, 1574, 1574, 1574, 1580, 1028 1581, 1574, 1574, 1574, 1581, 1582, 1574, 1574, 1582, 1578, 1029 1578, 1574, 1583, 1579, 1583, 1579, 1578, 1578, 1578, 1578, 1030 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1031 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1032 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1033 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1034 1035 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1580, 1580, 1581, 1036 1581, 1574, 1582, 1582, 1578, 1578, 1578, 1578, 1578, 1578, 1037 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1038 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1039 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1040 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1041 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1042 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1043 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1044 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1045 1046 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1047 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1048 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1049 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1050 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1051 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1052 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1053 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1054 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1055 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1056 1057 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1058 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1059 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1060 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1061 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1062 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1063 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1064 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1065 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1066 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1067 1068 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1069 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1070 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1071 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1072 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1073 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1074 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1075 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1076 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1077 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1078 1079 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1080 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1081 1578, 1584, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1082 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1083 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1084 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1085 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1086 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1087 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1088 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1089 1090 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1091 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1092 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1093 1578, 1585, 1584, 1584, 1578, 1578, 1578, 1578, 1578, 1578, 1094 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1095 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1096 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1097 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1098 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1099 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1100 1101 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1102 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1103 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1104 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1105 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1585, 1585, 1106 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1107 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1108 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1109 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1110 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1111 1112 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1113 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1114 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1115 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1116 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1117 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1118 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1119 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1120 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1121 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1122 1123 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1124 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1125 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1126 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1127 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1128 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1129 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1130 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1131 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1132 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1133 1134 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1135 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1136 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1137 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1138 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1139 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1140 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1141 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1142 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1143 1578, 1578, 1586, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1144 1145 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1146 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1147 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1148 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1149 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1150 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1151 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1152 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1153 1578, 1578, 1586, 1586, 1578, 1578, 1578, 1578, 1578, 1578, 1154 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1155 1156 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1157 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1158 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1159 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1160 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1161 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1162 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1163 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1164 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1165 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1166 1167 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1168 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1169 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1170 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1171 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1172 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1173 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1174 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1175 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1176 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1177 1178 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1179 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1180 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1181 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1182 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1183 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1184 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1185 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1186 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1187 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1188 1189 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1190 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1191 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1192 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1193 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1194 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1195 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1196 1578, 1578, 1578, 0, 1574, 1574, 1574, 1574, 1574, 1574, 1197 1574, 1574, 1574, 1574, 1574, 1574 1198 } ; 1199 1200 static const flex_int16_t yy_nxt[4503] = 1201 { 0, 1202 10, 11, 12, 12, 13, 14, 10, 10, 10, 10, 1203 10, 10, 10, 15, 16, 17, 18, 19, 10, 10, 1204 20, 21, 10, 22, 23, 24, 25, 26, 27, 10, 1205 28, 29, 30, 31, 32, 10, 33, 10, 34, 35, 1206 15, 16, 17, 18, 19, 10, 10, 20, 21, 10, 1207 22, 23, 24, 25, 26, 27, 10, 28, 29, 30, 1208 31, 32, 10, 33, 10, 34, 37, 38, 39, 37, 1209 38, 39, 42, 43, 43, 44, 42, 43, 43, 44, 1210 47, 47, 48, 47, 47, 48, 52, 1183, 74, 55, 1211 53, 55, 55, 132, 61, 75, 57, 80, 58, 108, 1212 1213 108, 51, 749, 40, 81, 59, 40, 104, 60, 633, 1214 45, 51, 51, 51, 45, 74, 51, 49, 76, 51, 1215 49, 61, 75, 57, 80, 58, 51, 56, 77, 51, 1216 78, 81, 59, 52, 104, 60, 62, 53, 79, 110, 1217 82, 51, 107, 63, 83, 76, 89, 64, 84, 102, 1218 65, 66, 51, 67, 51, 77, 50, 78, 51, 105, 1219 85, 106, 51, 62, 103, 79, 51, 82, 214, 107, 1220 63, 83, 51, 89, 64, 84, 102, 65, 66, 86, 1221 67, 68, 51, 113, 113, 69, 105, 85, 106, 70, 1222 51, 103, 51, 87, 71, 72, 51, 88, 73, 51, 1223 1224 50, 90, 50, 50, 94, 51, 86, 51, 68, 91, 1225 193, 117, 69, 119, 95, 92, 70, 96, 93, 51, 1226 87, 71, 72, 100, 88, 73, 51, 51, 90, 108, 1227 108, 94, 101, 97, 51, 51, 91, 98, 117, 51, 1228 119, 95, 92, 51, 96, 93, 51, 51, 99, 110, 1229 100, 110, 110, 115, 50, 51, 50, 50, 116, 101, 1230 97, 118, 122, 55, 98, 55, 55, 121, 51, 120, 1231 126, 51, 123, 51, 51, 99, 51, 128, 124, 125, 1232 115, 127, 51, 133, 51, 116, 129, 51, 118, 122, 1233 51, 51, 131, 130, 121, 51, 120, 126, 134, 123, 1234 1235 51, 56, 143, 51, 128, 124, 125, 135, 127, 136, 1236 133, 51, 51, 129, 51, 137, 51, 145, 139, 131, 1237 130, 140, 141, 51, 51, 134, 144, 51, 51, 143, 1238 51, 51, 138, 147, 135, 146, 136, 51, 51, 51, 1239 51, 148, 137, 149, 145, 151, 142, 150, 152, 153, 1240 154, 51, 51, 144, 51, 155, 51, 51, 51, 138, 1241 147, 51, 146, 164, 170, 51, 51, 157, 148, 51, 1242 149, 156, 151, 142, 150, 152, 153, 154, 51, 51, 1243 51, 51, 155, 51, 173, 165, 113, 113, 174, 51, 1244 164, 170, 51, 51, 157, 51, 51, 51, 156, 158, 1245 1246 51, 51, 159, 166, 51, 171, 176, 177, 160, 161, 1247 175, 173, 165, 162, 167, 174, 51, 163, 168, 172, 1248 169, 51, 110, 51, 110, 110, 158, 51, 51, 159, 1249 166, 51, 171, 176, 177, 160, 161, 175, 178, 179, 1250 162, 167, 180, 51, 163, 168, 172, 169, 51, 51, 1251 181, 182, 183, 184, 189, 51, 51, 187, 185, 186, 1252 51, 188, 51, 51, 194, 178, 179, 51, 195, 180, 1253 209, 192, 51, 51, 51, 190, 51, 181, 182, 183, 1254 184, 189, 51, 51, 187, 185, 186, 51, 188, 191, 1255 51, 194, 197, 196, 51, 195, 51, 198, 192, 51, 1256 1257 199, 200, 190, 51, 51, 201, 210, 202, 203, 205, 1258 204, 51, 51, 51, 211, 212, 191, 217, 51, 197, 1259 196, 51, 51, 238, 198, 51, 51, 199, 200, 51, 1260 51, 51, 201, 206, 202, 203, 205, 204, 207, 51, 1261 213, 215, 218, 219, 51, 223, 222, 51, 221, 51, 1262 51, 51, 208, 216, 224, 51, 51, 226, 220, 51, 1263 206, 51, 225, 51, 51, 207, 227, 213, 51, 218, 1264 231, 228, 223, 222, 51, 221, 51, 51, 51, 208, 1265 216, 224, 51, 233, 226, 220, 229, 51, 230, 225, 1266 232, 51, 51, 227, 234, 51, 51, 231, 228, 235, 1267 1268 236, 237, 239, 246, 241, 51, 51, 240, 51, 51, 1269 233, 51, 242, 229, 51, 230, 243, 232, 244, 247, 1270 248, 234, 253, 245, 255, 51, 235, 236, 237, 239, 1271 51, 241, 51, 51, 240, 254, 51, 257, 51, 242, 1272 250, 51, 51, 243, 249, 244, 51, 251, 258, 259, 1273 245, 255, 51, 51, 256, 51, 262, 252, 51, 260, 1274 263, 261, 254, 51, 257, 51, 51, 250, 51, 265, 1275 51, 249, 264, 51, 251, 258, 51, 266, 51, 267, 1276 270, 256, 51, 262, 252, 268, 260, 263, 261, 269, 1277 51, 272, 51, 274, 271, 51, 265, 273, 275, 264, 1278 1279 51, 276, 277, 51, 266, 51, 267, 270, 51, 51, 1280 279, 285, 268, 51, 51, 51, 269, 51, 272, 51, 1281 280, 271, 278, 281, 273, 275, 51, 282, 51, 277, 1282 283, 286, 51, 284, 51, 287, 51, 279, 290, 291, 1283 293, 51, 51, 51, 51, 51, 288, 280, 51, 278, 1284 281, 289, 292, 294, 282, 295, 51, 283, 51, 296, 1285 284, 297, 51, 298, 51, 290, 291, 293, 51, 51, 1286 51, 299, 303, 288, 301, 300, 302, 51, 289, 292, 1287 294, 305, 295, 51, 51, 307, 296, 51, 304, 51, 1288 298, 306, 310, 51, 51, 308, 51, 309, 311, 51, 1289 1290 51, 301, 300, 302, 51, 312, 51, 317, 305, 51, 1291 318, 319, 307, 321, 51, 304, 51, 313, 306, 310, 1292 51, 51, 308, 320, 309, 311, 314, 315, 51, 51, 1293 322, 316, 312, 51, 317, 51, 335, 323, 319, 334, 1294 336, 51, 338, 51, 313, 51, 51, 51, 51, 51, 1295 320, 337, 51, 314, 315, 351, 51, 322, 316, 51, 1296 51, 51, 456, 335, 323, 324, 334, 336, 330, 338, 1297 331, 358, 51, 350, 325, 326, 352, 468, 337, 327, 1298 328, 343, 329, 332, 51, 51, 333, 51, 51, 51, 1299 51, 51, 324, 344, 51, 330, 345, 331, 358, 353, 1300 1301 350, 325, 326, 352, 339, 51, 327, 328, 340, 329, 1302 332, 341, 346, 333, 51, 354, 355, 356, 342, 347, 1303 344, 359, 51, 345, 51, 348, 353, 51, 51, 51, 1304 357, 339, 349, 51, 360, 340, 362, 51, 341, 361, 1305 51, 363, 354, 355, 356, 342, 347, 364, 359, 367, 1306 368, 365, 348, 51, 366, 370, 51, 357, 51, 349, 1307 51, 360, 51, 362, 369, 51, 361, 51, 363, 51, 1308 51, 371, 373, 374, 375, 377, 51, 51, 365, 51, 1309 51, 366, 370, 376, 372, 51, 378, 381, 51, 51, 1310 51, 369, 379, 382, 380, 51, 51, 51, 371, 373, 1311 1312 374, 375, 377, 383, 385, 51, 51, 51, 384, 51, 1313 376, 372, 51, 378, 381, 51, 51, 51, 386, 379, 1314 382, 380, 387, 389, 388, 390, 391, 393, 51, 392, 1315 383, 385, 394, 51, 51, 384, 51, 51, 398, 395, 1316 399, 51, 401, 397, 406, 386, 51, 51, 51, 387, 1317 389, 388, 390, 391, 396, 51, 392, 51, 51, 394, 1318 51, 51, 400, 51, 51, 398, 395, 51, 402, 401, 1319 397, 403, 404, 51, 405, 407, 409, 51, 408, 410, 1320 51, 396, 51, 412, 413, 51, 51, 414, 411, 400, 1321 51, 51, 415, 51, 51, 402, 51, 416, 403, 404, 1322 1323 417, 405, 407, 409, 51, 408, 410, 51, 51, 51, 1324 412, 413, 51, 418, 414, 411, 419, 51, 420, 415, 1325 422, 421, 423, 424, 416, 425, 51, 417, 51, 51, 1326 427, 51, 426, 428, 51, 429, 51, 51, 430, 434, 1327 432, 51, 51, 419, 51, 420, 51, 422, 421, 423, 1328 424, 51, 425, 431, 51, 51, 433, 427, 51, 426, 1329 428, 51, 429, 435, 51, 430, 434, 432, 438, 436, 1330 439, 437, 51, 442, 51, 444, 446, 51, 452, 443, 1331 431, 51, 448, 433, 51, 440, 445, 441, 51, 51, 1332 435, 51, 447, 51, 51, 438, 436, 439, 437, 51, 1333 1334 442, 454, 444, 446, 51, 449, 443, 455, 453, 448, 1335 457, 51, 440, 445, 441, 458, 460, 51, 450, 447, 1336 51, 451, 462, 459, 51, 461, 464, 51, 454, 465, 1337 469, 51, 449, 463, 455, 453, 470, 51, 51, 471, 1338 51, 51, 458, 51, 51, 450, 51, 51, 451, 51, 1339 459, 472, 461, 464, 466, 51, 465, 473, 51, 467, 1340 463, 474, 477, 470, 475, 51, 476, 51, 51, 479, 1341 480, 51, 478, 51, 51, 481, 51, 482, 472, 51, 1342 483, 51, 51, 51, 473, 51, 51, 51, 474, 477, 1343 51, 475, 51, 476, 51, 484, 479, 480, 485, 478, 1344 1345 51, 51, 481, 51, 482, 486, 488, 483, 500, 487, 1346 489, 491, 498, 493, 495, 492, 51, 499, 51, 51, 1347 51, 51, 484, 51, 490, 485, 51, 494, 51, 51, 1348 506, 51, 486, 488, 51, 500, 487, 489, 491, 501, 1349 493, 495, 492, 496, 51, 51, 497, 502, 504, 503, 1350 505, 490, 51, 507, 494, 508, 510, 51, 509, 51, 1351 51, 51, 512, 51, 517, 51, 501, 51, 51, 51, 1352 496, 51, 51, 497, 502, 504, 503, 505, 511, 514, 1353 51, 515, 516, 510, 513, 509, 51, 51, 51, 512, 1354 518, 51, 51, 519, 522, 523, 51, 524, 520, 51, 1355 1356 51, 525, 51, 529, 51, 511, 514, 527, 515, 516, 1357 526, 513, 528, 51, 530, 51, 51, 518, 521, 51, 1358 51, 51, 523, 533, 524, 51, 51, 534, 525, 531, 1359 529, 51, 51, 532, 527, 535, 51, 526, 536, 528, 1360 51, 530, 539, 51, 51, 521, 51, 537, 538, 543, 1361 533, 545, 540, 549, 534, 542, 531, 541, 51, 546, 1362 532, 51, 535, 544, 51, 536, 51, 548, 51, 539, 1363 51, 51, 51, 547, 537, 538, 543, 51, 545, 551, 1364 549, 550, 542, 552, 51, 51, 546, 553, 554, 51, 1365 544, 555, 556, 558, 548, 51, 51, 559, 51, 557, 1366 1367 547, 560, 51, 51, 567, 51, 51, 51, 550, 561, 1368 552, 51, 562, 568, 553, 554, 563, 51, 555, 556, 1369 558, 564, 51, 51, 559, 51, 557, 565, 560, 570, 1370 569, 572, 571, 573, 51, 566, 561, 51, 51, 562, 1371 584, 574, 51, 581, 51, 51, 51, 51, 632, 51, 1372 51, 51, 582, 51, 565, 583, 570, 569, 572, 571, 1373 573, 587, 566, 51, 51, 588, 51, 584, 574, 575, 1374 581, 600, 585, 576, 51, 51, 577, 586, 51, 582, 1375 51, 589, 583, 578, 579, 51, 580, 51, 587, 590, 1376 595, 51, 588, 591, 593, 51, 575, 51, 600, 592, 1377 1378 576, 51, 594, 577, 51, 51, 51, 51, 589, 598, 1379 578, 579, 597, 580, 51, 51, 590, 595, 596, 51, 1380 591, 593, 599, 602, 601, 603, 592, 606, 604, 594, 1381 611, 51, 605, 51, 51, 607, 598, 51, 608, 597, 1382 609, 51, 612, 51, 610, 596, 613, 51, 614, 51, 1383 51, 601, 603, 615, 616, 604, 51, 51, 51, 605, 1384 51, 51, 607, 617, 51, 608, 619, 609, 618, 620, 1385 51, 610, 51, 621, 51, 614, 622, 623, 51, 51, 1386 51, 616, 624, 625, 635, 51, 51, 51, 51, 51, 1387 617, 626, 51, 628, 627, 618, 620, 51, 51, 51, 1388 1389 621, 51, 51, 640, 51, 51, 51, 636, 713, 624, 1390 625, 635, 639, 642, 51, 629, 629, 629, 626, 51, 1391 628, 627, 630, 637, 638, 51, 51, 641, 51, 644, 1392 631, 51, 51, 643, 636, 51, 51, 51, 645, 639, 1393 642, 51, 647, 51, 649, 51, 51, 51, 51, 630, 1394 637, 638, 646, 651, 641, 51, 644, 631, 653, 51, 1395 643, 648, 51, 650, 654, 645, 51, 656, 51, 647, 1396 51, 649, 652, 51, 655, 657, 658, 659, 661, 646, 1397 651, 51, 51, 51, 662, 51, 51, 51, 648, 51, 1398 650, 654, 51, 667, 656, 51, 660, 669, 51, 652, 1399 1400 51, 655, 657, 658, 659, 661, 51, 51, 663, 664, 1401 665, 662, 666, 670, 51, 51, 671, 51, 51, 51, 1402 667, 668, 672, 660, 669, 51, 51, 51, 51, 675, 1403 673, 676, 683, 674, 677, 663, 664, 665, 687, 666, 1404 670, 51, 51, 671, 51, 1093, 688, 684, 668, 672, 1405 685, 51, 686, 51, 51, 51, 675, 673, 676, 683, 1406 674, 677, 678, 51, 679, 689, 51, 690, 680, 51, 1407 681, 693, 51, 688, 684, 682, 691, 685, 697, 686, 1408 51, 696, 694, 51, 698, 701, 51, 51, 692, 678, 1409 51, 679, 695, 51, 690, 680, 51, 681, 693, 51, 1410 1411 51, 699, 682, 691, 51, 697, 702, 703, 696, 694, 1412 51, 698, 700, 51, 51, 692, 704, 51, 705, 695, 1413 51, 706, 707, 708, 51, 712, 714, 709, 699, 51, 1414 710, 711, 51, 702, 703, 51, 51, 720, 51, 700, 1415 715, 721, 716, 704, 51, 705, 51, 51, 706, 717, 1416 51, 51, 712, 718, 709, 726, 51, 710, 711, 51, 1417 719, 725, 51, 51, 720, 723, 727, 715, 721, 716, 1418 722, 51, 51, 724, 51, 728, 717, 51, 51, 51, 1419 718, 51, 726, 729, 730, 731, 740, 719, 725, 732, 1420 734, 733, 723, 51, 736, 51, 737, 722, 51, 51, 1421 1422 724, 51, 728, 51, 738, 739, 735, 741, 51, 51, 1423 729, 730, 731, 51, 51, 743, 732, 734, 733, 51, 1424 51, 736, 742, 744, 745, 745, 745, 745, 746, 51, 1425 748, 51, 739, 735, 51, 51, 51, 51, 747, 752, 1426 751, 753, 743, 633, 51, 633, 633, 754, 755, 742, 1427 51, 756, 51, 51, 51, 746, 51, 748, 51, 757, 1428 758, 761, 51, 51, 759, 747, 752, 751, 753, 760, 1429 51, 762, 51, 763, 754, 755, 764, 765, 756, 766, 1430 767, 51, 770, 51, 769, 768, 757, 758, 771, 774, 1431 51, 51, 772, 773, 51, 776, 51, 51, 51, 51, 1432 1433 763, 51, 51, 764, 775, 51, 766, 777, 781, 770, 1434 51, 769, 778, 51, 783, 771, 51, 780, 782, 772, 1435 773, 784, 51, 785, 786, 787, 51, 790, 51, 788, 1436 51, 775, 779, 51, 791, 51, 51, 51, 51, 789, 1437 51, 51, 51, 51, 780, 782, 792, 51, 784, 51, 1438 785, 786, 787, 794, 790, 51, 788, 51, 793, 779, 1439 51, 791, 795, 796, 797, 51, 789, 799, 802, 800, 1440 798, 51, 801, 792, 51, 807, 51, 51, 804, 51, 1441 794, 803, 51, 805, 51, 793, 51, 808, 810, 795, 1442 796, 797, 51, 51, 799, 802, 800, 798, 51, 801, 1443 1444 51, 806, 51, 51, 809, 804, 815, 51, 803, 51, 1445 805, 811, 51, 812, 808, 810, 816, 51, 813, 51, 1446 814, 817, 51, 51, 51, 51, 818, 51, 806, 820, 1447 821, 809, 822, 815, 51, 819, 829, 823, 811, 824, 1448 812, 51, 51, 816, 825, 813, 826, 814, 51, 51, 1449 828, 1184, 51, 818, 827, 51, 820, 830, 51, 51, 1450 834, 831, 819, 51, 823, 51, 832, 51, 835, 51, 1451 51, 825, 51, 826, 51, 836, 51, 828, 837, 838, 1452 833, 827, 51, 839, 830, 51, 51, 834, 831, 840, 1453 843, 841, 51, 832, 844, 835, 51, 51, 845, 850, 1454 1455 51, 51, 842, 849, 51, 837, 838, 833, 51, 51, 1456 839, 51, 846, 847, 51, 848, 840, 843, 841, 851, 1457 852, 844, 853, 854, 51, 845, 51, 51, 51, 842, 1458 849, 51, 856, 51, 857, 858, 855, 51, 51, 846, 1459 847, 51, 848, 860, 51, 51, 851, 852, 864, 853, 1460 854, 51, 862, 749, 51, 749, 749, 866, 51, 856, 1461 51, 857, 858, 855, 744, 745, 745, 745, 745, 859, 1462 860, 861, 863, 865, 868, 51, 51, 867, 51, 862, 1463 51, 51, 871, 869, 51, 874, 51, 872, 873, 879, 1464 51, 870, 878, 880, 51, 887, 859, 51, 861, 863, 1465 1466 865, 868, 51, 875, 867, 51, 876, 51, 881, 871, 1467 869, 51, 882, 51, 872, 873, 883, 51, 870, 878, 1468 877, 893, 51, 884, 889, 51, 51, 51, 51, 51, 1469 875, 885, 890, 876, 886, 881, 888, 51, 51, 882, 1470 894, 891, 51, 883, 892, 51, 51, 877, 893, 51, 1471 884, 895, 51, 51, 51, 896, 901, 898, 885, 51, 1472 897, 886, 51, 888, 51, 51, 903, 894, 891, 51, 1473 904, 892, 51, 909, 899, 51, 902, 51, 895, 900, 1474 51, 905, 896, 51, 898, 51, 906, 897, 911, 51, 1475 907, 908, 51, 903, 912, 51, 910, 904, 914, 51, 1476 1477 909, 913, 915, 902, 917, 51, 916, 51, 905, 918, 1478 924, 51, 919, 906, 51, 922, 51, 907, 908, 51, 1479 51, 912, 51, 910, 920, 51, 921, 51, 913, 915, 1480 51, 51, 925, 916, 923, 927, 926, 51, 51, 919, 1481 928, 51, 922, 51, 51, 51, 51, 929, 51, 931, 1482 930, 920, 51, 921, 933, 51, 51, 51, 932, 925, 1483 935, 923, 927, 926, 934, 936, 51, 928, 937, 938, 1484 939, 51, 51, 51, 929, 51, 931, 930, 51, 940, 1485 942, 933, 941, 943, 945, 932, 51, 935, 51, 51, 1486 944, 934, 936, 51, 947, 937, 938, 951, 51, 946, 1487 1488 51, 950, 949, 51, 948, 51, 940, 942, 51, 941, 1489 943, 945, 51, 51, 51, 952, 51, 944, 51, 958, 1490 953, 947, 51, 954, 955, 51, 946, 51, 950, 949, 1491 956, 948, 51, 51, 957, 959, 51, 51, 962, 51, 1492 960, 961, 952, 51, 964, 51, 958, 953, 965, 51, 1493 954, 955, 51, 51, 966, 968, 963, 956, 967, 970, 1494 969, 957, 959, 971, 972, 962, 51, 960, 961, 51, 1495 51, 976, 973, 974, 975, 51, 51, 51, 51, 51, 1496 978, 51, 51, 963, 51, 977, 51, 969, 51, 980, 1497 971, 972, 51, 51, 51, 979, 51, 51, 976, 973, 1498 1499 974, 975, 51, 981, 982, 51, 983, 978, 985, 984, 1500 51, 51, 977, 51, 51, 986, 980, 987, 1184, 988, 1501 51, 989, 979, 51, 991, 993, 992, 51, 51, 51, 1502 981, 982, 51, 983, 994, 985, 984, 51, 51, 51, 1503 995, 990, 986, 51, 987, 51, 988, 51, 989, 996, 1504 997, 991, 993, 992, 998, 1000, 1006, 999, 51, 1001, 1505 1002, 51, 51, 1004, 1003, 1011, 51, 995, 990, 1007, 1506 51, 51, 51, 1005, 1009, 1008, 51, 997, 51, 51, 1507 51, 998, 51, 51, 999, 1014, 1001, 1002, 51, 51, 1508 1004, 1003, 51, 51, 1012, 51, 1007, 51, 1015, 1013, 1509 1510 1005, 1009, 1008, 1010, 51, 51, 51, 1016, 1017, 51, 1511 1019, 51, 1014, 1021, 1020, 1024, 51, 1025, 1023, 1028, 1512 51, 1012, 51, 1022, 1018, 51, 1013, 51, 51, 51, 1513 1010, 51, 51, 1032, 1016, 1017, 51, 1019, 1026, 51, 1514 1021, 1020, 1027, 51, 1025, 1023, 1029, 51, 1030, 1031, 1515 1022, 1018, 1033, 1034, 51, 1035, 51, 1037, 1039, 1047, 1516 51, 51, 1036, 51, 51, 1026, 51, 1038, 1040, 1027, 1517 51, 51, 51, 1029, 51, 1030, 1031, 51, 51, 1033, 1518 1034, 51, 1035, 1042, 1037, 1041, 51, 51, 1043, 1036, 1519 1046, 51, 51, 1049, 1038, 1040, 51, 51, 1044, 1045, 1520 1521 51, 51, 1051, 1048, 1050, 1052, 51, 1053, 1058, 1060, 1522 1042, 51, 1041, 51, 51, 1043, 1054, 1046, 1055, 1056, 1523 1049, 51, 51, 1062, 1057, 1044, 1045, 51, 1059, 1051, 1524 1048, 1050, 51, 51, 51, 51, 1063, 51, 51, 51, 1525 51, 51, 51, 1054, 51, 1055, 1056, 1061, 1064, 1065, 1526 1062, 1057, 1066, 1067, 51, 1059, 1068, 1069, 51, 1070, 1527 1071, 51, 1072, 1063, 51, 51, 51, 1073, 1075, 1074, 1528 1081, 1082, 51, 51, 1061, 1064, 1065, 1076, 1083, 1066, 1529 1078, 51, 51, 1068, 1069, 1080, 1070, 1079, 1088, 1085, 1530 51, 51, 51, 51, 1073, 1075, 1074, 1077, 1082, 51, 1531 1532 51, 1084, 1086, 51, 51, 51, 51, 1078, 1087, 51, 1533 51, 51, 1080, 1089, 1079, 1088, 1085, 51, 1090, 51, 1534 1091, 51, 1094, 1092, 1077, 1095, 1096, 1101, 1084, 1086, 1535 51, 51, 1098, 1097, 1100, 1087, 51, 1106, 1102, 51, 1536 1089, 1099, 51, 51, 51, 51, 51, 1091, 51, 1094, 1537 1092, 1103, 1095, 1096, 1101, 1105, 51, 1104, 51, 51, 1538 1097, 1100, 1107, 1108, 1106, 51, 51, 1111, 1099, 51, 1539 51, 1114, 51, 1109, 51, 1112, 1115, 1116, 1103, 1117, 1540 51, 51, 1113, 51, 1104, 1119, 1110, 1118, 51, 1107, 1541 1108, 51, 1125, 51, 1111, 1120, 51, 51, 1114, 1123, 1542 1543 1109, 1124, 1112, 1115, 1130, 51, 1117, 51, 51, 1113, 1544 1121, 51, 1119, 1110, 51, 51, 1122, 51, 1126, 51, 1545 51, 1127, 1120, 1128, 1129, 51, 1123, 1131, 1124, 1132, 1546 1134, 1136, 51, 51, 1133, 51, 1140, 1121, 51, 1143, 1547 1135, 51, 1138, 1122, 51, 1126, 1139, 51, 1127, 1142, 1548 1128, 1129, 51, 1141, 1145, 51, 1132, 1134, 1137, 51, 1549 51, 1133, 1144, 1146, 51, 51, 1143, 1135, 51, 51, 1550 51, 51, 1147, 1139, 51, 51, 1142, 1151, 1150, 51, 1551 1141, 1145, 1153, 1149, 51, 1137, 1148, 1152, 1159, 1144, 1552 1146, 51, 1167, 51, 51, 1154, 1155, 1156, 51, 1147, 1553 1554 51, 1157, 51, 51, 1151, 1158, 51, 1160, 51, 1153, 1555 1149, 51, 51, 1148, 1164, 51, 51, 1165, 1168, 1173, 1556 51, 51, 1154, 1155, 1156, 51, 1166, 51, 1157, 1170, 1557 51, 1161, 1158, 1175, 1160, 1162, 1163, 51, 1169, 1171, 1558 51, 1164, 1176, 1172, 1165, 1168, 1173, 51, 51, 51, 1559 1174, 51, 1177, 1166, 51, 1178, 1170, 51, 1161, 1179, 1560 1181, 51, 1162, 1163, 51, 1169, 1171, 1182, 1180, 1176, 1561 1172, 1185, 1186, 51, 51, 1187, 1196, 1174, 1188, 1177, 1562 51, 1189, 1178, 51, 1190, 1193, 1191, 51, 51, 1195, 1563 1194, 51, 1192, 51, 1182, 1180, 51, 1199, 1185, 1186, 1564 1565 1201, 1200, 51, 51, 51, 1188, 51, 51, 1189, 51, 1566 51, 1190, 1203, 1191, 1197, 1198, 1195, 1202, 51, 1192, 1567 51, 51, 51, 51, 1199, 1204, 51, 1205, 1200, 1206, 1568 51, 1208, 51, 51, 51, 1211, 1207, 1209, 51, 1203, 1569 51, 1197, 1198, 1210, 1202, 51, 1214, 51, 1212, 1213, 1570 1215, 51, 1204, 1216, 1205, 1217, 1222, 51, 1208, 51, 1571 1218, 1219, 1211, 1207, 1209, 51, 51, 51, 51, 51, 1572 1210, 1220, 51, 1214, 51, 1212, 1213, 1215, 51, 1221, 1573 1216, 1223, 1217, 51, 51, 1224, 1225, 1218, 1219, 51, 1574 51, 1226, 1227, 51, 1228, 51, 1229, 1230, 1220, 51, 1575 1576 51, 51, 1231, 51, 1234, 1232, 1221, 1235, 1223, 51, 1577 1233, 1242, 1224, 1225, 51, 51, 1240, 1236, 1226, 1238, 1578 51, 1228, 51, 1229, 1230, 1237, 1239, 1241, 51, 51, 1579 51, 1234, 1244, 51, 1235, 51, 1245, 1246, 51, 51, 1580 51, 1249, 1253, 1240, 1236, 1243, 1238, 51, 51, 51, 1581 1251, 1247, 1237, 1239, 1241, 1248, 1250, 51, 51, 1244, 1582 51, 51, 51, 1245, 1246, 1252, 1256, 51, 51, 51, 1583 51, 1255, 1243, 51, 51, 1254, 1257, 1251, 1247, 51, 1584 1258, 1259, 1248, 1250, 1260, 1261, 1183, 51, 1183, 1183, 1585 1262, 51, 1252, 1256, 51, 51, 1263, 51, 1255, 1264, 1586 1587 51, 1265, 1254, 1257, 51, 51, 1266, 1258, 1259, 1267, 1588 1271, 1260, 1261, 1268, 1270, 1269, 51, 1262, 1272, 1273, 1589 51, 51, 1274, 51, 51, 1275, 1264, 1279, 1265, 51, 1590 51, 1278, 51, 1266, 51, 51, 1276, 51, 51, 51, 1591 1268, 1270, 1269, 51, 51, 1272, 1273, 51, 1277, 1274, 1592 1280, 1282, 1275, 51, 1279, 51, 1281, 1283, 1278, 1284, 1593 51, 1285, 1286, 1276, 1288, 1299, 1287, 1289, 51, 51, 1594 1290, 51, 1291, 1293, 1300, 1277, 1294, 1292, 51, 51, 1595 51, 51, 1296, 1281, 51, 51, 1295, 51, 1285, 1297, 1596 51, 51, 51, 1287, 51, 51, 51, 1290, 51, 1291, 1597 1598 1298, 51, 1301, 1294, 1292, 51, 51, 51, 51, 1296, 1599 51, 1302, 1303, 1295, 51, 51, 1297, 1304, 1305, 51, 1600 1306, 1307, 1309, 51, 1308, 1310, 51, 1298, 1311, 51, 1601 51, 51, 1314, 1312, 1318, 51, 51, 51, 1302, 1303, 1602 1313, 51, 51, 1323, 1304, 1305, 51, 1306, 1307, 1316, 1603 51, 1308, 1310, 51, 51, 1311, 1315, 51, 51, 1314, 1604 1312, 1317, 51, 1319, 51, 1320, 1321, 1313, 1322, 51, 1605 1323, 51, 1324, 1325, 1332, 51, 1316, 1328, 1330, 51, 1606 1327, 1326, 51, 1315, 1329, 51, 51, 1331, 1317, 1334, 1607 1319, 51, 1320, 51, 51, 51, 51, 1335, 51, 1324, 1608 1609 1325, 1332, 1336, 51, 1328, 1330, 51, 1327, 1326, 51, 1610 1333, 1329, 51, 1337, 1331, 1338, 1340, 51, 1341, 51, 1611 1339, 1342, 1343, 1345, 1335, 1346, 51, 1344, 51, 1336, 1612 51, 1348, 1349, 51, 51, 51, 1347, 1333, 51, 1350, 1613 1337, 1351, 1338, 1352, 51, 1353, 51, 1339, 1342, 1343, 1614 51, 51, 1346, 51, 1344, 1354, 51, 1355, 51, 51, 1615 51, 51, 1356, 1347, 1357, 51, 1350, 51, 1351, 1359, 1616 1358, 51, 1353, 1361, 1362, 1360, 1364, 51, 51, 51, 1617 51, 51, 1354, 51, 1355, 1363, 51, 1365, 1366, 1356, 1618 51, 1357, 1367, 51, 1368, 1369, 1359, 1358, 51, 1372, 1619 1620 51, 1370, 1360, 1364, 1371, 1373, 51, 51, 51, 1375, 1621 51, 51, 1363, 1374, 1365, 1366, 51, 1376, 1377, 51, 1622 51, 1368, 51, 51, 51, 51, 1378, 51, 1370, 51, 1623 1381, 1371, 1379, 51, 1380, 1382, 1383, 51, 1384, 1386, 1624 1374, 51, 1385, 1388, 1376, 1377, 1387, 1391, 51, 51, 1625 750, 51, 51, 1378, 51, 1389, 1390, 1381, 51, 1379, 1626 51, 1380, 1382, 1393, 51, 1392, 51, 51, 51, 1385, 1627 1397, 1402, 51, 1387, 1396, 51, 51, 51, 51, 1399, 1628 51, 51, 1389, 1390, 1398, 51, 1394, 1395, 51, 1401, 1629 1393, 51, 1392, 1400, 1406, 1403, 51, 1397, 51, 51, 1630 1631 51, 1396, 1404, 1409, 51, 1407, 1399, 1405, 1411, 1408, 1632 1412, 1398, 1410, 1394, 1395, 51, 1401, 51, 51, 51, 1633 1400, 1406, 1403, 1413, 51, 51, 51, 51, 1415, 1417, 1634 51, 51, 1407, 51, 1405, 1411, 1408, 1412, 51, 1410, 1635 1414, 1416, 1418, 51, 1420, 1419, 51, 51, 1421, 1423, 1636 1413, 1422, 1424, 1425, 51, 1429, 51, 51, 1432, 51, 1637 51, 1426, 1427, 51, 51, 1428, 1430, 1414, 1416, 1433, 1638 51, 1420, 1419, 51, 51, 1435, 51, 51, 1422, 51, 1639 51, 51, 1429, 1431, 51, 1434, 51, 51, 1426, 1427, 1640 1436, 1437, 1428, 1430, 1439, 1440, 51, 51, 1438, 51, 1641 1642 1442, 1443, 1435, 1441, 1444, 51, 51, 51, 1445, 51, 1643 1431, 1446, 1434, 51, 51, 1447, 51, 1436, 1437, 1448, 1644 1449, 1439, 1440, 1450, 51, 1438, 1451, 51, 1455, 51, 1645 1441, 1454, 51, 51, 51, 1452, 51, 1453, 1446, 51, 1646 51, 51, 1447, 1456, 51, 1457, 1448, 1449, 51, 1458, 1647 1450, 1460, 1464, 1451, 1459, 1455, 1462, 51, 1454, 51, 1648 51, 1463, 1452, 51, 1453, 1465, 1461, 51, 1466, 1468, 1649 1467, 51, 1457, 51, 51, 1470, 51, 51, 51, 51, 1650 51, 1459, 51, 1462, 1479, 1469, 1471, 1474, 1463, 1475, 1651 51, 1477, 1465, 1461, 1472, 1466, 1468, 1467, 51, 51, 1652 1653 51, 1478, 1473, 51, 1476, 1485, 51, 1483, 51, 1480, 1654 1481, 1479, 1469, 1471, 1474, 1482, 1487, 51, 51, 51, 1655 51, 1472, 51, 51, 1488, 51, 1490, 1489, 1478, 1473, 1656 51, 1476, 1491, 51, 1483, 1484, 1480, 1481, 1486, 51, 1657 51, 51, 1482, 1494, 51, 51, 51, 1492, 51, 1495, 1658 1493, 1488, 51, 1490, 1489, 1498, 1496, 1497, 51, 1491, 1659 1499, 1500, 1484, 1501, 1506, 1486, 1502, 1503, 1505, 1507, 1660 51, 51, 51, 51, 1492, 51, 1495, 1493, 51, 51, 1661 1504, 51, 1498, 1496, 1497, 1513, 51, 51, 51, 51, 1662 1508, 51, 51, 1502, 1503, 1505, 1509, 51, 51, 51, 1663 1664 1511, 1510, 51, 1512, 1514, 1515, 1517, 1504, 51, 1516, 1665 1520, 51, 1522, 51, 51, 51, 1523, 1508, 51, 51, 1666 51, 1527, 1518, 1509, 51, 51, 1524, 1511, 1510, 51, 1667 1512, 1514, 1515, 1517, 1519, 1525, 1516, 1520, 1521, 1522, 1668 51, 51, 1526, 51, 51, 1528, 1529, 1531, 1527, 1518, 1669 1536, 1530, 51, 1533, 51, 51, 1532, 1534, 1535, 1538, 1670 1539, 1519, 1537, 1540, 51, 1521, 51, 1541, 51, 1526, 1671 51, 51, 1528, 51, 1531, 51, 1542, 1536, 1530, 51, 1672 1533, 1543, 634, 1532, 51, 51, 51, 51, 1545, 1537, 1673 1540, 1544, 1546, 51, 1548, 51, 1547, 1549, 51, 1550, 1674 1675 1551, 1553, 1552, 1554, 51, 1557, 750, 51, 1555, 51, 1676 51, 51, 51, 1561, 51, 1545, 51, 51, 1544, 1546, 1677 51, 1548, 51, 1547, 1556, 51, 1550, 51, 1553, 1552, 1678 1554, 1558, 1557, 51, 1559, 1555, 1563, 1560, 1564, 51, 1679 1562, 51, 1566, 1565, 51, 1567, 51, 1568, 1569, 1573, 1680 51, 1556, 51, 51, 51, 1570, 51, 51, 1558, 51, 1681 51, 1559, 1571, 1563, 1560, 51, 51, 1562, 51, 1566, 1682 1565, 1572, 1567, 51, 1568, 51, 51, 51, 51, 51, 1683 51, 51, 1570, 634, 51, 51, 51, 51, 51, 1571, 1684 51, 51, 51, 51, 51, 51, 51, 51, 1572, 36, 1685 1686 36, 36, 36, 41, 41, 41, 41, 46, 46, 46, 1687 46, 54, 54, 51, 54, 108, 108, 113, 113, 55, 1688 55, 51, 55, 51, 114, 112, 111, 109, 51, 114, 1689 112, 111, 109, 51, 1574, 9, 1574, 1574, 1574, 1574, 1690 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1691 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1692 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1693 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1694 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1695 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1696 1697 1574, 1574 1698 } ; 1699 1700 static const flex_int16_t yy_chk[4503] = 1701 { 0, 1702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1708 1, 1, 1, 1, 1, 1, 3, 3, 3, 4, 1709 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 1710 7, 7, 7, 8, 8, 8, 11, 1586, 19, 14, 1711 11, 14, 14, 72, 16, 20, 15, 22, 15, 40, 1712 1713 40, 19, 1585, 3, 23, 15, 4, 32, 15, 1584, 1714 5, 15, 16, 20, 6, 19, 23, 7, 21, 22, 1715 8, 16, 20, 15, 22, 15, 72, 14, 21, 32, 1716 21, 23, 15, 52, 32, 15, 17, 52, 21, 1581, 1717 24, 21, 34, 17, 24, 21, 26, 17, 24, 31, 1718 17, 17, 26, 17, 34, 21, 1578, 21, 1573, 33, 1719 24, 33, 17, 17, 31, 21, 24, 24, 144, 34, 1720 17, 24, 31, 26, 17, 24, 31, 17, 17, 25, 1721 17, 18, 33, 49, 49, 18, 33, 24, 33, 18, 1722 1569, 31, 1564, 25, 18, 18, 144, 25, 18, 1561, 1723 1724 35, 27, 35, 35, 28, 25, 25, 18, 18, 27, 1725 126, 58, 18, 60, 28, 27, 18, 28, 27, 58, 1726 25, 18, 18, 30, 25, 18, 28, 27, 27, 109, 1727 109, 28, 30, 29, 60, 1549, 27, 29, 58, 1543, 1728 60, 28, 27, 126, 28, 27, 1542, 30, 29, 45, 1729 30, 45, 45, 57, 51, 29, 51, 51, 57, 30, 1730 29, 59, 63, 54, 29, 54, 54, 62, 59, 61, 1731 66, 63, 64, 57, 62, 29, 66, 68, 65, 65, 1732 57, 67, 61, 73, 68, 57, 69, 1541, 59, 63, 1733 64, 65, 71, 70, 62, 73, 61, 66, 74, 64, 1734 1735 71, 54, 79, 67, 68, 65, 65, 75, 67, 76, 1736 73, 69, 1538, 69, 70, 77, 1535, 81, 78, 71, 1737 70, 78, 78, 79, 74, 74, 80, 1534, 80, 79, 1738 75, 76, 77, 83, 75, 82, 76, 81, 82, 77, 1739 83, 84, 77, 85, 81, 87, 78, 86, 88, 89, 1740 90, 78, 87, 80, 84, 91, 89, 90, 85, 77, 1741 83, 86, 82, 95, 98, 98, 88, 93, 84, 95, 1742 85, 92, 87, 78, 86, 88, 89, 90, 91, 93, 1743 92, 1524, 91, 1523, 100, 96, 114, 114, 101, 1513, 1744 95, 98, 1507, 1506, 93, 100, 101, 1501, 92, 94, 1745 1746 96, 1500, 94, 97, 1499, 99, 103, 104, 94, 94, 1747 102, 100, 96, 94, 97, 101, 104, 94, 97, 99, 1748 97, 102, 111, 94, 111, 111, 94, 97, 103, 94, 1749 97, 99, 99, 103, 104, 94, 94, 102, 105, 106, 1750 94, 97, 107, 1494, 94, 97, 99, 97, 106, 105, 1751 115, 116, 117, 118, 123, 107, 117, 121, 119, 120, 1752 1487, 122, 115, 116, 127, 105, 106, 119, 128, 107, 1753 140, 125, 118, 122, 1485, 124, 123, 115, 116, 117, 1754 118, 123, 120, 121, 121, 119, 120, 125, 122, 124, 1755 127, 127, 130, 129, 128, 128, 124, 131, 125, 129, 1756 1757 132, 133, 124, 140, 131, 134, 141, 135, 136, 138, 1758 137, 1477, 133, 130, 142, 142, 124, 146, 132, 130, 1759 129, 136, 1475, 165, 131, 137, 1470, 132, 133, 135, 1760 134, 138, 134, 139, 135, 136, 138, 137, 139, 141, 1761 143, 145, 147, 148, 142, 151, 150, 1464, 149, 143, 1762 146, 147, 139, 145, 152, 149, 165, 154, 148, 139, 1763 139, 1460, 153, 151, 154, 139, 155, 143, 150, 147, 1764 158, 156, 151, 150, 145, 149, 148, 152, 156, 139, 1765 145, 152, 153, 160, 154, 148, 157, 155, 157, 153, 1766 159, 157, 158, 155, 161, 160, 159, 158, 156, 162, 1767 1768 163, 164, 166, 173, 168, 162, 161, 167, 163, 168, 1769 160, 166, 169, 157, 164, 157, 170, 159, 171, 174, 1770 176, 161, 178, 172, 180, 171, 162, 163, 164, 166, 1771 167, 168, 172, 169, 167, 179, 173, 182, 170, 169, 1772 177, 182, 1458, 170, 176, 171, 180, 177, 183, 184, 1773 172, 180, 174, 176, 181, 178, 188, 177, 179, 186, 1774 189, 187, 179, 181, 182, 177, 186, 177, 188, 191, 1775 183, 176, 190, 189, 177, 183, 187, 192, 191, 193, 1776 196, 181, 184, 188, 177, 194, 186, 189, 187, 195, 1777 190, 198, 194, 200, 197, 192, 191, 199, 201, 190, 1778 1779 196, 202, 203, 1456, 192, 193, 193, 196, 199, 203, 1780 205, 211, 194, 201, 195, 197, 195, 198, 198, 205, 1781 206, 197, 204, 207, 199, 201, 200, 208, 204, 203, 1782 209, 212, 207, 210, 202, 213, 208, 205, 216, 217, 1783 219, 1445, 209, 206, 211, 210, 215, 206, 217, 204, 1784 207, 215, 218, 219, 208, 220, 216, 209, 215, 221, 1785 210, 222, 219, 223, 212, 216, 217, 219, 213, 220, 1786 218, 224, 228, 215, 226, 225, 227, 221, 215, 218, 1787 219, 230, 220, 230, 223, 232, 221, 225, 229, 222, 1788 223, 231, 235, 232, 227, 233, 226, 234, 236, 224, 1789 1790 228, 226, 225, 227, 234, 237, 229, 239, 230, 231, 1791 240, 241, 232, 243, 235, 229, 1444, 238, 231, 235, 1792 236, 233, 233, 242, 234, 236, 238, 238, 237, 239, 1793 244, 238, 237, 241, 239, 238, 249, 245, 241, 248, 1794 250, 242, 252, 240, 238, 1433, 243, 248, 244, 249, 1795 242, 251, 250, 238, 238, 257, 1432, 244, 238, 245, 1796 252, 1425, 356, 249, 245, 246, 248, 250, 247, 252, 1797 247, 264, 251, 256, 246, 246, 258, 367, 251, 246, 1798 246, 254, 246, 247, 264, 258, 247, 1424, 257, 246, 1799 356, 256, 246, 254, 247, 247, 254, 247, 264, 259, 1800 1801 256, 246, 246, 258, 253, 367, 246, 246, 253, 246, 1802 247, 253, 255, 247, 254, 260, 261, 262, 253, 255, 1803 254, 265, 259, 254, 262, 255, 259, 260, 261, 253, 1804 263, 253, 255, 265, 266, 253, 268, 263, 253, 267, 1805 255, 269, 260, 261, 262, 253, 255, 270, 265, 273, 1806 273, 271, 255, 1423, 272, 275, 266, 263, 268, 255, 1807 267, 266, 1421, 268, 274, 272, 267, 269, 269, 271, 1808 274, 276, 277, 278, 279, 281, 1418, 275, 271, 273, 1809 270, 272, 275, 280, 276, 1417, 282, 285, 1415, 276, 1810 277, 274, 283, 286, 284, 279, 278, 281, 276, 277, 1811 1812 278, 279, 281, 287, 288, 283, 280, 284, 287, 285, 1813 280, 276, 282, 282, 285, 286, 287, 288, 289, 283, 1814 286, 284, 290, 292, 291, 293, 294, 296, 293, 295, 1815 287, 288, 298, 1409, 298, 287, 289, 290, 304, 300, 1816 305, 1404, 307, 302, 312, 289, 291, 292, 294, 290, 1817 292, 291, 293, 294, 301, 295, 295, 300, 302, 298, 1818 296, 304, 306, 301, 307, 304, 300, 306, 308, 307, 1819 302, 309, 310, 305, 311, 313, 315, 312, 314, 315, 1820 310, 301, 1402, 317, 318, 311, 313, 319, 316, 306, 1821 317, 308, 320, 309, 315, 308, 319, 321, 309, 310, 1822 1823 322, 311, 313, 315, 314, 314, 315, 316, 322, 318, 1824 317, 318, 321, 323, 319, 316, 324, 320, 325, 320, 1825 327, 326, 328, 329, 321, 330, 327, 322, 324, 326, 1826 332, 330, 331, 333, 1391, 334, 325, 334, 335, 338, 1827 337, 329, 332, 324, 328, 325, 323, 327, 326, 328, 1828 329, 338, 330, 336, 331, 333, 337, 332, 337, 331, 1829 333, 336, 334, 339, 335, 335, 338, 337, 342, 340, 1830 343, 341, 1386, 344, 339, 347, 349, 342, 352, 345, 1831 336, 340, 350, 337, 341, 343, 348, 343, 345, 350, 1832 339, 344, 349, 347, 343, 342, 340, 343, 341, 349, 1833 1834 344, 354, 347, 349, 348, 351, 345, 355, 353, 350, 1835 357, 352, 343, 348, 343, 358, 360, 1384, 351, 349, 1836 353, 351, 362, 359, 354, 361, 364, 355, 354, 365, 1837 368, 351, 351, 363, 355, 353, 369, 358, 359, 370, 1838 364, 363, 358, 357, 365, 351, 361, 369, 351, 360, 1839 359, 371, 361, 364, 366, 362, 365, 372, 368, 366, 1840 363, 373, 376, 369, 374, 1383, 375, 370, 373, 378, 1841 379, 376, 377, 1375, 371, 380, 1373, 381, 371, 372, 1842 382, 1372, 378, 1369, 372, 379, 374, 366, 373, 376, 1843 380, 374, 375, 375, 377, 383, 378, 379, 384, 377, 1844 1845 381, 383, 380, 382, 381, 385, 387, 382, 395, 386, 1846 388, 389, 394, 391, 392, 390, 384, 394, 1367, 389, 1847 385, 395, 383, 386, 388, 384, 390, 391, 387, 392, 1848 401, 388, 385, 387, 391, 395, 386, 388, 389, 396, 1849 391, 392, 390, 393, 1352, 394, 393, 397, 399, 398, 1850 400, 388, 396, 402, 391, 403, 405, 393, 404, 399, 1851 1349, 1348, 407, 401, 412, 404, 396, 407, 405, 397, 1852 393, 398, 400, 393, 397, 399, 398, 400, 406, 409, 1853 409, 410, 411, 405, 408, 404, 402, 406, 403, 407, 1854 413, 408, 412, 414, 415, 416, 413, 417, 414, 410, 1855 1856 411, 418, 1340, 422, 417, 406, 409, 420, 410, 411, 1857 419, 408, 421, 416, 423, 420, 419, 413, 414, 418, 1858 421, 415, 416, 426, 417, 422, 414, 427, 418, 424, 1859 422, 423, 426, 425, 420, 428, 427, 419, 429, 421, 1860 425, 423, 432, 424, 428, 414, 429, 430, 431, 435, 1861 426, 437, 433, 441, 427, 434, 424, 433, 437, 438, 1862 425, 430, 428, 436, 432, 429, 431, 440, 434, 432, 1863 435, 438, 436, 439, 430, 431, 435, 441, 437, 443, 1864 441, 442, 434, 444, 439, 433, 438, 445, 446, 440, 1865 436, 447, 448, 450, 440, 445, 442, 451, 444, 449, 1866 1867 439, 452, 449, 451, 458, 450, 446, 443, 442, 453, 1868 444, 448, 454, 459, 445, 446, 455, 447, 447, 448, 1869 450, 455, 1334, 453, 451, 452, 449, 457, 452, 461, 1870 460, 463, 462, 464, 454, 457, 453, 458, 460, 454, 1871 474, 465, 474, 470, 1322, 464, 459, 461, 521, 455, 1872 462, 457, 472, 463, 457, 473, 461, 460, 463, 462, 1873 464, 476, 457, 465, 473, 477, 470, 474, 465, 466, 1874 470, 489, 475, 466, 472, 521, 466, 475, 1321, 472, 1875 489, 478, 473, 466, 466, 476, 466, 477, 476, 479, 1876 484, 466, 477, 480, 482, 480, 466, 479, 489, 481, 1877 1878 466, 481, 483, 466, 484, 475, 478, 482, 478, 487, 1879 466, 466, 486, 466, 486, 483, 479, 484, 485, 485, 1880 480, 482, 488, 491, 490, 492, 481, 495, 493, 483, 1881 501, 487, 494, 490, 1318, 496, 487, 493, 497, 486, 1882 498, 494, 502, 492, 500, 485, 503, 497, 504, 498, 1883 488, 490, 492, 505, 506, 493, 491, 504, 501, 494, 1884 495, 496, 496, 507, 500, 497, 509, 498, 508, 510, 1885 502, 500, 1309, 511, 1301, 504, 512, 512, 510, 503, 1886 506, 506, 513, 514, 523, 511, 505, 507, 1293, 1289, 1887 507, 515, 508, 518, 516, 508, 510, 1288, 523, 509, 1888 1889 511, 516, 515, 528, 513, 514, 512, 524, 597, 513, 1890 514, 523, 527, 530, 518, 519, 519, 519, 515, 527, 1891 518, 516, 519, 525, 526, 524, 525, 529, 1286, 532, 1892 519, 528, 1284, 531, 524, 530, 529, 526, 533, 527, 1893 530, 597, 535, 1283, 537, 533, 519, 535, 532, 519, 1894 525, 526, 534, 539, 529, 531, 532, 519, 542, 534, 1895 531, 536, 539, 538, 543, 533, 537, 545, 536, 535, 1896 538, 537, 540, 540, 544, 546, 547, 548, 550, 534, 1897 539, 1282, 547, 1280, 552, 543, 542, 1267, 536, 545, 1898 538, 543, 548, 557, 545, 546, 549, 559, 544, 540, 1899 1900 550, 544, 546, 547, 548, 550, 552, 549, 553, 554, 1901 555, 552, 556, 560, 557, 553, 561, 555, 554, 559, 1902 557, 558, 562, 549, 559, 560, 556, 562, 558, 565, 1903 563, 566, 569, 563, 567, 553, 554, 555, 572, 556, 1904 560, 567, 561, 561, 563, 997, 573, 569, 558, 562, 1905 570, 565, 571, 566, 569, 571, 565, 563, 566, 569, 1906 563, 567, 568, 570, 568, 574, 572, 575, 568, 573, 1907 568, 577, 997, 573, 569, 568, 576, 570, 580, 571, 1908 575, 579, 578, 577, 581, 584, 568, 1253, 576, 568, 1909 1242, 568, 578, 574, 575, 568, 579, 568, 577, 576, 1910 1911 580, 582, 568, 576, 578, 580, 585, 587, 579, 578, 1912 581, 581, 583, 584, 582, 576, 588, 585, 589, 578, 1913 583, 590, 591, 592, 588, 596, 598, 593, 582, 587, 1914 594, 595, 590, 585, 587, 593, 589, 603, 594, 583, 1915 600, 604, 601, 588, 601, 589, 603, 596, 590, 602, 1916 591, 592, 596, 602, 593, 609, 595, 594, 595, 598, 1917 602, 608, 600, 604, 603, 606, 610, 600, 604, 601, 1918 605, 602, 605, 607, 606, 613, 602, 609, 613, 608, 1919 602, 607, 609, 614, 615, 616, 625, 602, 608, 617, 1920 619, 618, 606, 619, 621, 614, 622, 605, 616, 610, 1921 1922 607, 617, 613, 618, 623, 624, 620, 626, 1233, 615, 1923 614, 615, 616, 620, 625, 628, 617, 619, 618, 621, 1924 624, 621, 627, 629, 629, 629, 629, 629, 630, 622, 1925 631, 1231, 624, 620, 1227, 626, 628, 623, 630, 636, 1926 635, 637, 628, 634, 627, 634, 634, 638, 639, 627, 1927 630, 641, 631, 641, 638, 630, 629, 631, 635, 642, 1928 643, 645, 637, 636, 644, 630, 636, 635, 637, 644, 1929 639, 646, 643, 647, 638, 639, 648, 649, 641, 650, 1930 651, 650, 654, 642, 652, 651, 642, 643, 655, 658, 1931 654, 647, 656, 657, 645, 660, 652, 644, 648, 646, 1932 1933 647, 656, 657, 648, 659, 649, 650, 661, 664, 654, 1934 655, 652, 662, 651, 666, 655, 659, 663, 665, 656, 1935 657, 667, 658, 668, 669, 670, 665, 673, 660, 671, 1936 667, 659, 662, 669, 674, 661, 664, 670, 663, 672, 1937 662, 668, 666, 674, 663, 665, 675, 671, 667, 673, 1938 668, 669, 670, 677, 673, 675, 671, 672, 676, 662, 1939 676, 674, 678, 679, 680, 677, 672, 682, 685, 683, 1940 681, 1206, 684, 675, 1196, 692, 679, 680, 688, 682, 1941 677, 686, 1194, 690, 678, 676, 685, 693, 695, 678, 1942 679, 680, 681, 683, 682, 685, 683, 681, 684, 684, 1943 1944 688, 691, 686, 692, 694, 688, 700, 693, 686, 690, 1945 690, 696, 695, 697, 693, 695, 702, 694, 698, 696, 1946 699, 703, 697, 691, 700, 698, 704, 699, 691, 706, 1947 709, 694, 710, 700, 704, 705, 716, 711, 696, 712, 1948 697, 1187, 702, 702, 713, 698, 714, 699, 705, 703, 1949 715, 1183, 713, 704, 714, 706, 706, 717, 715, 711, 1950 720, 718, 705, 709, 711, 710, 719, 712, 721, 716, 1951 717, 713, 714, 714, 718, 722, 721, 715, 723, 724, 1952 719, 714, 720, 725, 717, 1181, 724, 720, 718, 726, 1953 728, 727, 719, 719, 729, 721, 726, 725, 730, 735, 1954 1955 723, 729, 727, 734, 730, 723, 724, 719, 722, 727, 1956 725, 728, 731, 732, 731, 733, 726, 728, 727, 736, 1957 737, 729, 738, 739, 734, 730, 732, 735, 733, 727, 1958 734, 737, 743, 738, 744, 746, 742, 736, 1179, 731, 1959 732, 739, 733, 748, 746, 748, 736, 737, 754, 738, 1960 739, 742, 752, 750, 743, 750, 750, 756, 744, 743, 1961 752, 744, 746, 742, 745, 745, 745, 745, 745, 747, 1962 748, 751, 753, 755, 758, 747, 754, 757, 751, 752, 1963 758, 753, 761, 759, 757, 766, 755, 763, 764, 770, 1964 756, 759, 769, 771, 759, 779, 747, 745, 751, 753, 1965 1966 755, 758, 764, 767, 757, 769, 767, 761, 772, 761, 1967 759, 763, 773, 766, 763, 764, 774, 1175, 759, 769, 1968 767, 787, 770, 775, 782, 1167, 771, 767, 779, 772, 1969 767, 776, 784, 767, 776, 772, 780, 787, 773, 773, 1970 788, 785, 774, 774, 786, 776, 786, 767, 787, 775, 1971 775, 789, 782, 788, 780, 790, 794, 792, 776, 1152, 1972 791, 776, 785, 780, 792, 784, 796, 788, 785, 790, 1973 797, 786, 791, 802, 793, 789, 795, 797, 789, 793, 1974 802, 798, 790, 798, 792, 795, 799, 791, 804, 794, 1975 800, 801, 796, 796, 805, 799, 803, 797, 808, 800, 1976 1977 802, 806, 809, 795, 811, 803, 810, 793, 798, 811, 1978 818, 801, 812, 799, 806, 815, 804, 800, 801, 805, 1979 812, 805, 810, 803, 813, 809, 814, 815, 806, 809, 1980 1138, 808, 819, 810, 816, 821, 820, 811, 818, 812, 1981 822, 816, 815, 821, 814, 820, 813, 823, 822, 826, 1982 825, 813, 825, 814, 828, 819, 823, 826, 827, 819, 1983 830, 816, 821, 820, 829, 831, 827, 822, 832, 833, 1984 834, 829, 831, 828, 823, 832, 826, 825, 833, 835, 1985 837, 828, 836, 838, 840, 827, 830, 830, 837, 836, 1986 839, 829, 831, 840, 842, 832, 833, 846, 835, 841, 1987 1988 1131, 845, 844, 834, 843, 838, 835, 837, 1130, 836, 1989 838, 840, 841, 843, 844, 847, 839, 839, 842, 854, 1990 848, 842, 845, 849, 851, 846, 841, 848, 845, 844, 1991 852, 843, 849, 854, 853, 855, 847, 851, 858, 852, 1992 856, 857, 847, 853, 860, 858, 854, 848, 861, 856, 1993 849, 851, 857, 855, 862, 865, 859, 852, 863, 867, 1994 866, 853, 855, 868, 869, 858, 1125, 856, 857, 859, 1995 868, 873, 870, 871, 872, 1118, 869, 860, 1116, 871, 1996 876, 861, 862, 859, 866, 875, 863, 866, 865, 878, 1997 868, 869, 867, 870, 873, 877, 872, 875, 873, 870, 1998 1999 871, 872, 876, 879, 880, 1105, 881, 876, 883, 882, 2000 1102, 878, 875, 877, 879, 884, 878, 885, 1093, 886, 2001 1090, 887, 877, 882, 888, 891, 890, 891, 880, 883, 2002 879, 880, 881, 881, 892, 883, 882, 886, 884, 888, 2003 893, 887, 884, 885, 885, 887, 886, 890, 887, 894, 2004 895, 888, 891, 890, 896, 898, 905, 897, 893, 899, 2005 901, 901, 892, 903, 902, 910, 1076, 893, 887, 906, 2006 899, 902, 895, 904, 908, 907, 906, 895, 1072, 896, 2007 897, 896, 894, 898, 897, 914, 899, 901, 903, 905, 2008 903, 902, 908, 910, 912, 904, 906, 907, 915, 913, 2009 2010 904, 908, 907, 909, 1067, 909, 913, 916, 917, 912, 2011 919, 914, 914, 921, 920, 925, 1053, 926, 923, 929, 2012 921, 912, 920, 922, 917, 923, 913, 1052, 919, 916, 2013 909, 915, 917, 933, 916, 917, 922, 919, 927, 926, 2014 921, 920, 928, 925, 926, 923, 930, 929, 931, 932, 2015 922, 917, 934, 935, 930, 936, 927, 938, 940, 948, 2016 928, 932, 937, 1047, 938, 927, 933, 939, 941, 928, 2017 934, 1028, 931, 930, 939, 931, 932, 936, 935, 934, 2018 935, 937, 936, 943, 938, 942, 941, 948, 944, 937, 2019 947, 940, 943, 950, 939, 941, 942, 944, 945, 946, 2020 2021 945, 947, 953, 949, 952, 954, 946, 955, 960, 962, 2022 943, 953, 942, 1024, 950, 944, 956, 947, 957, 958, 2023 950, 1011, 952, 964, 959, 945, 946, 949, 961, 953, 2024 949, 952, 959, 954, 961, 955, 965, 958, 956, 965, 2025 957, 960, 962, 956, 964, 957, 958, 963, 968, 969, 2026 964, 959, 970, 971, 963, 961, 972, 973, 968, 974, 2027 975, 969, 976, 965, 970, 972, 973, 977, 979, 978, 2028 984, 985, 974, 977, 963, 968, 969, 980, 986, 970, 2029 981, 971, 979, 972, 973, 983, 974, 982, 991, 988, 2030 976, 978, 985, 975, 977, 979, 978, 980, 985, 982, 2031 2032 988, 987, 989, 984, 987, 980, 981, 981, 990, 983, 2033 991, 986, 983, 992, 982, 991, 988, 990, 993, 1000, 2034 995, 989, 998, 996, 980, 999, 1001, 1006, 987, 989, 2035 1001, 999, 1003, 1002, 1005, 990, 996, 1012, 1007, 992, 2036 992, 1004, 995, 1005, 998, 1002, 993, 995, 1006, 998, 2037 996, 1008, 999, 1001, 1006, 1010, 1004, 1009, 1008, 1012, 2038 1002, 1005, 1013, 1014, 1012, 1003, 1007, 1016, 1004, 1014, 2039 1009, 1018, 994, 1015, 1016, 1017, 1019, 1020, 1008, 1021, 2040 1013, 1021, 1017, 1010, 1009, 1023, 1015, 1022, 1019, 1013, 2041 1014, 1015, 1031, 1018, 1016, 1025, 967, 1017, 1018, 1029, 2042 2043 1015, 1030, 1017, 1019, 1036, 1020, 1021, 1023, 1025, 1017, 2044 1026, 1026, 1023, 1015, 1029, 1022, 1027, 1027, 1032, 1030, 2045 1031, 1033, 1025, 1034, 1035, 1032, 1029, 1037, 1030, 1038, 2046 1040, 1042, 1036, 1035, 1039, 1033, 1046, 1026, 1034, 1050, 2047 1041, 1039, 1044, 1027, 1040, 1032, 1045, 1038, 1033, 1049, 2048 1034, 1035, 1041, 1048, 1054, 1037, 1038, 1040, 1043, 1050, 2049 1043, 1039, 1051, 1055, 1042, 1048, 1050, 1041, 1045, 1046, 2050 1044, 1049, 1056, 1045, 1051, 1054, 1049, 1060, 1059, 1056, 2051 1048, 1054, 1062, 1058, 1055, 1043, 1057, 1061, 1069, 1051, 2052 1055, 1058, 1077, 1057, 966, 1063, 1064, 1065, 1060, 1056, 2053 2054 1062, 1066, 1064, 1065, 1060, 1068, 1066, 1070, 951, 1062, 2055 1058, 1059, 1068, 1057, 1073, 1061, 1063, 1074, 1078, 1082, 2056 1077, 1069, 1063, 1064, 1065, 1078, 1075, 1073, 1066, 1080, 2057 1070, 1071, 1068, 1084, 1070, 1071, 1071, 1082, 1079, 1081, 2058 1074, 1073, 1085, 1081, 1074, 1078, 1082, 1071, 1075, 1079, 2059 1083, 1080, 1086, 1075, 1081, 1087, 1080, 1083, 1071, 1088, 2060 1091, 1084, 1071, 1071, 1085, 1079, 1081, 1092, 1089, 1085, 2061 1081, 1094, 1095, 1087, 1086, 1096, 1106, 1083, 1097, 1086, 2062 1094, 1098, 1087, 1089, 1099, 1103, 1100, 1088, 1091, 1104, 2063 1103, 1097, 1101, 1092, 1092, 1089, 1095, 1109, 1094, 1095, 2064 2065 1111, 1110, 1098, 1096, 1106, 1097, 1099, 1100, 1098, 1104, 2066 1101, 1099, 1113, 1100, 1107, 1108, 1104, 1112, 1103, 1101, 2067 1109, 1107, 1108, 1110, 1109, 1114, 1112, 1115, 1110, 1117, 2068 1113, 1120, 924, 1111, 1114, 1123, 1119, 1121, 1120, 1113, 2069 1115, 1107, 1108, 1122, 1112, 1119, 1127, 1123, 1124, 1126, 2070 1128, 918, 1114, 1129, 1115, 1132, 1137, 1117, 1120, 1121, 2071 1133, 1134, 1123, 1119, 1121, 1122, 1124, 1126, 1127, 1132, 2072 1122, 1135, 1128, 1127, 1129, 1124, 1126, 1128, 1133, 1136, 2073 1129, 1139, 1132, 1134, 1135, 1140, 1141, 1133, 1134, 1137, 2074 1139, 1142, 1143, 911, 1144, 900, 1145, 1146, 1135, 1140, 2075 2076 1142, 1141, 1147, 1136, 1149, 1148, 1136, 1150, 1139, 1144, 2077 1148, 1158, 1140, 1141, 1145, 1146, 1156, 1151, 1142, 1154, 2078 1143, 1144, 1149, 1145, 1146, 1153, 1155, 1157, 1154, 1156, 2079 1147, 1149, 1160, 1150, 1150, 1151, 1161, 1162, 1148, 1158, 2080 1153, 1165, 1170, 1156, 1151, 1159, 1154, 1160, 1155, 1157, 2081 1168, 1163, 1153, 1155, 1157, 1164, 1166, 1159, 1161, 1160, 2082 889, 1162, 1164, 1161, 1162, 1169, 1173, 1169, 1166, 1168, 2083 1170, 1172, 1159, 1163, 1165, 1171, 1174, 1168, 1163, 1173, 2084 1176, 1177, 1164, 1166, 1178, 1180, 1184, 1171, 1184, 1184, 2085 1182, 1178, 1169, 1173, 1174, 1176, 1185, 1172, 1172, 1186, 2086 2087 1180, 1188, 1171, 1174, 1182, 1177, 1189, 1176, 1177, 1190, 2088 1195, 1178, 1180, 1191, 1193, 1192, 874, 1182, 1197, 1198, 2089 1197, 1186, 1199, 1188, 1189, 1200, 1186, 1204, 1188, 1185, 2090 1192, 1203, 1204, 1189, 1200, 1193, 1201, 1190, 1198, 1191, 2091 1191, 1193, 1192, 1195, 1199, 1197, 1198, 1201, 1202, 1199, 2092 1205, 1208, 1200, 1203, 1204, 1202, 1207, 1209, 1203, 1210, 2093 864, 1211, 1212, 1201, 1214, 1225, 1213, 1215, 850, 1207, 2094 1216, 824, 1217, 1219, 1226, 1202, 1220, 1218, 1205, 1208, 2095 1213, 1211, 1222, 1207, 1220, 1209, 1221, 1210, 1211, 1223, 2096 1212, 1218, 1214, 1213, 1217, 1215, 1216, 1216, 1225, 1217, 2097 2098 1224, 1219, 1228, 1220, 1218, 1221, 1222, 1226, 1224, 1222, 2099 1223, 1229, 1230, 1221, 1229, 1230, 1223, 1232, 1234, 1234, 2100 1235, 1236, 1238, 817, 1237, 1239, 1232, 1224, 1240, 807, 2101 1228, 1239, 1244, 1241, 1248, 1240, 1236, 783, 1229, 1230, 2102 1243, 1235, 1241, 1254, 1232, 1234, 1237, 1235, 1236, 1246, 2103 1238, 1237, 1239, 1243, 1244, 1240, 1245, 1246, 1245, 1244, 2104 1241, 1247, 1248, 1249, 1249, 1250, 1251, 1243, 1252, 1254, 2105 1254, 1250, 1255, 1256, 1263, 1247, 1246, 1259, 1261, 1255, 2106 1258, 1257, 781, 1245, 1260, 1263, 778, 1262, 1247, 1265, 2107 1249, 1256, 1250, 1259, 1251, 1257, 1252, 1266, 1258, 1255, 2108 2109 1256, 1263, 1268, 1261, 1259, 1261, 1260, 1258, 1257, 1262, 2110 1264, 1260, 1266, 1269, 1262, 1270, 1272, 1265, 1273, 1264, 2111 1271, 1274, 1275, 1277, 1266, 1278, 1268, 1276, 1271, 1268, 2112 1275, 1281, 1285, 1270, 1274, 1269, 1279, 1264, 1278, 1287, 2113 1269, 1290, 1270, 1291, 1272, 1292, 777, 1271, 1274, 1275, 2114 768, 1273, 1278, 1276, 1276, 1294, 1277, 1295, 1279, 1281, 2115 1285, 1287, 1296, 1279, 1297, 1290, 1287, 1292, 1290, 1299, 2116 1298, 1291, 1292, 1302, 1303, 1300, 1305, 1294, 1298, 1295, 2117 1299, 1296, 1294, 1300, 1295, 1304, 765, 1306, 1307, 1296, 2118 1297, 1297, 1308, 762, 1310, 1311, 1299, 1298, 1305, 1314, 2119 2120 760, 1312, 1300, 1305, 1313, 1315, 1302, 1303, 1306, 1317, 2121 1307, 1304, 1304, 1316, 1306, 1307, 1310, 1319, 1320, 1313, 2122 1308, 1310, 1312, 1311, 1316, 1320, 1323, 1314, 1312, 1319, 2123 1326, 1313, 1324, 1315, 1325, 1327, 1328, 1317, 1329, 1331, 2124 1316, 1325, 1330, 1333, 1319, 1320, 1332, 1337, 1327, 1323, 2125 749, 1324, 1326, 1323, 741, 1335, 1336, 1326, 740, 1324, 2126 708, 1325, 1327, 1339, 1328, 1338, 1329, 1331, 1330, 1330, 2127 1343, 1350, 1332, 1332, 1342, 1337, 1333, 1335, 1336, 1345, 2128 1338, 1342, 1335, 1336, 1344, 1339, 1341, 1341, 1343, 1347, 2129 1339, 1344, 1338, 1346, 1355, 1351, 1341, 1343, 1347, 1350, 2130 2131 1346, 1342, 1353, 1358, 1345, 1356, 1345, 1354, 1360, 1357, 2132 1361, 1344, 1359, 1341, 1341, 1354, 1347, 1351, 1355, 707, 2133 1346, 1355, 1351, 1362, 1359, 1361, 1360, 1356, 1364, 1366, 2134 1353, 1358, 1356, 1357, 1354, 1360, 1357, 1361, 1362, 1359, 2135 1363, 1365, 1368, 701, 1371, 1370, 1371, 1363, 1374, 1377, 2136 1362, 1376, 1378, 1379, 689, 1385, 1364, 1366, 1389, 1365, 2137 1370, 1380, 1381, 1380, 1376, 1382, 1387, 1363, 1365, 1390, 2138 1368, 1371, 1370, 1387, 1381, 1393, 1374, 1377, 1376, 1385, 2139 1378, 1379, 1385, 1388, 1388, 1392, 1389, 1382, 1380, 1381, 2140 1394, 1395, 1382, 1387, 1397, 1398, 1394, 1390, 1396, 1393, 2141 2142 1400, 1401, 1393, 1399, 1403, 687, 1397, 1392, 1405, 1399, 2143 1388, 1406, 1392, 1395, 1398, 1407, 1396, 1394, 1395, 1408, 2144 1410, 1397, 1398, 1411, 1411, 1396, 1412, 1406, 1419, 1410, 2145 1399, 1416, 1403, 1400, 1401, 1413, 1405, 1414, 1406, 1407, 2146 1419, 1408, 1407, 1420, 1416, 1422, 1408, 1410, 1412, 1426, 2147 1411, 1428, 1434, 1412, 1427, 1419, 1430, 1413, 1416, 1414, 2148 1427, 1431, 1413, 1430, 1414, 1435, 1429, 1422, 1436, 1438, 2149 1437, 1420, 1422, 1431, 1435, 1440, 1438, 1426, 1437, 1428, 2150 1434, 1427, 1429, 1430, 1450, 1439, 1441, 1443, 1431, 1446, 2151 1436, 1448, 1435, 1429, 1442, 1436, 1438, 1437, 1439, 1441, 2152 2153 1443, 1449, 1442, 1440, 1447, 1457, 1450, 1454, 1449, 1451, 2154 1452, 1450, 1439, 1441, 1443, 1453, 1461, 1446, 1442, 1448, 2155 1447, 1442, 1451, 1452, 1462, 1454, 1465, 1463, 1449, 1442, 2156 1453, 1447, 1466, 1457, 1454, 1455, 1451, 1452, 1459, 1455, 2157 1463, 1466, 1453, 1469, 1461, 1459, 1462, 1467, 1465, 1471, 2158 1468, 1462, 1468, 1465, 1463, 1474, 1472, 1473, 1467, 1466, 2159 1476, 1478, 1455, 1479, 1484, 1459, 1480, 1481, 1483, 1486, 2160 653, 1469, 1471, 640, 1467, 1483, 1471, 1468, 1472, 1473, 2161 1482, 1474, 1474, 1472, 1473, 1493, 1480, 1481, 1476, 1478, 2162 1488, 1479, 1484, 1480, 1481, 1483, 1489, 1486, 1482, 1488, 2163 2164 1491, 1490, 1491, 1492, 1495, 1496, 1498, 1482, 1490, 1497, 2165 1504, 1497, 1508, 1493, 1496, 1492, 1509, 1488, 1489, 1495, 2166 1498, 1514, 1502, 1489, 1504, 1508, 1510, 1491, 1490, 1502, 2167 1492, 1495, 1496, 1498, 1503, 1511, 1497, 1504, 1505, 1508, 2168 1505, 1503, 1512, 1514, 1509, 1515, 1516, 1518, 1514, 1502, 2169 1525, 1517, 1515, 1520, 1510, 1512, 1519, 1521, 1522, 1527, 2170 1528, 1503, 1526, 1529, 1525, 1505, 1518, 1530, 1511, 1512, 2171 1526, 1520, 1515, 1517, 1518, 1519, 1531, 1525, 1517, 1516, 2172 1520, 1532, 633, 1519, 1529, 1521, 1522, 1527, 1536, 1526, 2173 1529, 1533, 1537, 1528, 1540, 1530, 1539, 1544, 1533, 1545, 2174 2175 1546, 1548, 1547, 1550, 1531, 1553, 632, 1545, 1551, 1532, 2176 1536, 1550, 1540, 1557, 1537, 1536, 1548, 1539, 1533, 1537, 2177 1547, 1540, 1551, 1539, 1552, 1544, 1545, 1553, 1548, 1547, 2178 1550, 1554, 1553, 1546, 1555, 1551, 1559, 1556, 1560, 1552, 2179 1558, 1557, 1563, 1562, 1559, 1565, 612, 1566, 1567, 1572, 2180 1563, 1552, 611, 1565, 599, 1568, 1555, 1554, 1554, 1556, 2181 1558, 1555, 1570, 1559, 1556, 1562, 1560, 1558, 586, 1563, 2182 1562, 1571, 1565, 1566, 1566, 1568, 1567, 1572, 564, 1571, 2183 551, 541, 1568, 522, 1570, 520, 517, 499, 471, 1570, 2184 469, 468, 467, 456, 346, 303, 299, 297, 1571, 1575, 2185 2186 1575, 1575, 1575, 1576, 1576, 1576, 1576, 1577, 1577, 1577, 2187 1577, 1579, 1579, 214, 1579, 1580, 1580, 1582, 1582, 1583, 2188 1583, 185, 1583, 175, 113, 112, 110, 108, 50, 46, 2189 42, 41, 36, 10, 9, 1574, 1574, 1574, 1574, 1574, 2190 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 2191 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 2192 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 2193 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 2194 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 2195 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 2196 2197 1574, 1574 2198 } ; 2199 2200 static yy_state_type yy_last_accepting_state; 2201 static char *yy_last_accepting_cpos; 2202 2203 extern int yy_flex_debug; 2204 int yy_flex_debug = 0; 2205 2206 /* The intent behind this definition is that it'll catch 2207 * any uses of REJECT which flex missed. 2208 */ 2209 #define REJECT reject_used_but_not_detected 2210 static int yy_more_flag = 0; 2211 static int yy_more_len = 0; 2212 #define yymore() ((yy_more_flag) = 1) 2213 #define YY_MORE_ADJ (yy_more_len) 2214 #define YY_RESTORE_YY_MORE_OFFSET 2215 char *yytext; 2216 #line 1 "configlexer.lex" 2217 #line 2 "configlexer.lex" 2218 /* 2219 * configlexer.lex - lexical analyzer for NSD config file 2220 * 2221 * Copyright (c) 2001-2006, NLnet Labs. All rights reserved 2222 * 2223 * See LICENSE for the license. 2224 * 2225 */ 2226 /* because flex keeps having sign-unsigned compare problems that are unfixed*/ 2227 #if defined(__clang__)||(defined(__GNUC__)&&((__GNUC__ >4)||(defined(__GNUC_MINOR__)&&(__GNUC__ ==4)&&(__GNUC_MINOR__ >=2)))) 2228 #pragma GCC diagnostic ignored "-Wsign-compare" 2229 #endif 2230 #include <ctype.h> 2231 #include <errno.h> 2232 #include <string.h> 2233 #include <strings.h> 2234 #ifdef HAVE_GLOB_H 2235 # include <glob.h> 2236 #endif 2237 2238 #include "options.h" 2239 #include "configparser.h" 2240 2241 #if 0 2242 #define LEXOUT(s) printf s /* used ONLY when debugging */ 2243 #else 2244 #define LEXOUT(s) 2245 #endif 2246 2247 struct inc_state { 2248 char* filename; 2249 int line; 2250 YY_BUFFER_STATE buffer; 2251 struct inc_state* next; 2252 }; 2253 static struct inc_state* config_include_stack = NULL; 2254 static int inc_depth = 0; 2255 2256 static void config_start_include(const char* filename) 2257 { 2258 FILE *input; 2259 struct inc_state* s; 2260 char* nm; 2261 if(inc_depth++ > 10000000) { 2262 c_error("too many include files"); 2263 return; 2264 } 2265 if(strlen(filename) == 0) { 2266 c_error("empty include file name"); 2267 return; 2268 } 2269 s = (struct inc_state*)malloc(sizeof(*s)); 2270 if(!s) { 2271 c_error("include %s: malloc failure", filename); 2272 return; 2273 } 2274 nm = strdup(filename); 2275 if(!nm) { 2276 c_error("include %s: strdup failure", filename); 2277 free(s); 2278 return; 2279 } 2280 input = fopen(filename, "r"); 2281 if(!input) { 2282 c_error("cannot open include file '%s': %s", 2283 filename, strerror(errno)); 2284 free(s); 2285 free(nm); 2286 return; 2287 } 2288 LEXOUT(("switch_to_include_file(%s) ", filename)); 2289 s->filename = cfg_parser->filename; 2290 s->line = cfg_parser->line; 2291 s->buffer = YY_CURRENT_BUFFER; 2292 s->next = config_include_stack; 2293 config_include_stack = s; 2294 2295 cfg_parser->filename = nm; 2296 cfg_parser->line = 1; 2297 yy_switch_to_buffer(yy_create_buffer(input, YY_BUF_SIZE)); 2298 } 2299 2300 static void config_start_include_glob(const char* filename) 2301 { 2302 /* check for wildcards */ 2303 #ifdef HAVE_GLOB 2304 glob_t g; 2305 int i, r, flags; 2306 #endif /* HAVE_GLOB */ 2307 if (cfg_parser->chroot) { 2308 int l = strlen(cfg_parser->chroot); /* chroot has trailing slash */ 2309 if (strncmp(cfg_parser->chroot, filename, l) != 0) { 2310 c_error("include file '%s' is not relative to chroot '%s'", 2311 filename, cfg_parser->chroot); 2312 return; 2313 } 2314 filename += l - 1; /* strip chroot without trailing slash */ 2315 } 2316 #ifdef HAVE_GLOB 2317 if(!(!strchr(filename, '*') && !strchr(filename, '?') && 2318 !strchr(filename, '[') && !strchr(filename, '{') && 2319 !strchr(filename, '~'))) { 2320 flags = 0 2321 #ifdef GLOB_ERR 2322 | GLOB_ERR 2323 #endif 2324 /* do not set GLOB_NOSORT so the results are sorted 2325 and in a predictable order. */ 2326 #ifdef GLOB_BRACE 2327 | GLOB_BRACE 2328 #endif 2329 #ifdef GLOB_TILDE 2330 | GLOB_TILDE 2331 #endif 2332 ; 2333 memset(&g, 0, sizeof(g)); 2334 r = glob(filename, flags, NULL, &g); 2335 if(r) { 2336 /* some error */ 2337 globfree(&g); 2338 if(r == GLOB_NOMATCH) 2339 return; /* no matches for pattern */ 2340 config_start_include(filename); /* let original deal with it */ 2341 return; 2342 } 2343 /* process files found, if any */ 2344 for(i=(int)g.gl_pathc-1; i>=0; i--) { 2345 config_start_include(g.gl_pathv[i]); 2346 } 2347 globfree(&g); 2348 return; 2349 } 2350 #endif /* HAVE_GLOB */ 2351 config_start_include(filename); 2352 } 2353 2354 static void config_end_include(void) 2355 { 2356 struct inc_state* s = config_include_stack; 2357 --inc_depth; 2358 if(!s) return; 2359 free(cfg_parser->filename); 2360 cfg_parser->filename = s->filename; 2361 cfg_parser->line = s->line; 2362 yy_delete_buffer(YY_CURRENT_BUFFER); 2363 yy_switch_to_buffer(s->buffer); 2364 config_include_stack = s->next; 2365 free(s); 2366 } 2367 2368 #ifndef yy_set_bol /* compat definition, for flex 2.4.6 */ 2369 #define yy_set_bol(at_bol) \ 2370 { \ 2371 if ( ! yy_current_buffer ) \ 2372 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 2373 yy_current_buffer->yy_ch_buf[0] = ((at_bol)?'\n':' '); \ 2374 } 2375 #endif 2376 2377 #line 2376 "<stdout>" 2378 #define YY_NO_INPUT 1 2379 #line 165 "configlexer.lex" 2380 #ifndef YY_NO_UNPUT 2381 #define YY_NO_UNPUT 1 2382 #endif 2383 #ifndef YY_NO_INPUT 2384 #define YY_NO_INPUT 1 2385 #endif 2386 #line 2385 "<stdout>" 2387 2388 #line 2387 "<stdout>" 2389 2390 #define INITIAL 0 2391 #define quotedstring 1 2392 #define include 2 2393 #define include_quoted 3 2394 2395 #ifndef YY_NO_UNISTD_H 2396 /* Special case for "unistd.h", since it is non-ANSI. We include it way 2397 * down here because we want the user's section 1 to have been scanned first. 2398 * The user has a chance to override it with an option. 2399 */ 2400 #include <unistd.h> 2401 #endif 2402 2403 #ifndef YY_EXTRA_TYPE 2404 #define YY_EXTRA_TYPE void * 2405 #endif 2406 2407 static int yy_init_globals ( void ); 2408 2409 /* Accessor methods to globals. 2410 These are made visible to non-reentrant scanners for convenience. */ 2411 2412 int yylex_destroy ( void ); 2413 2414 int yyget_debug ( void ); 2415 2416 void yyset_debug ( int debug_flag ); 2417 2418 YY_EXTRA_TYPE yyget_extra ( void ); 2419 2420 void yyset_extra ( YY_EXTRA_TYPE user_defined ); 2421 2422 FILE *yyget_in ( void ); 2423 2424 void yyset_in ( FILE * _in_str ); 2425 2426 FILE *yyget_out ( void ); 2427 2428 void yyset_out ( FILE * _out_str ); 2429 2430 int yyget_leng ( void ); 2431 2432 char *yyget_text ( void ); 2433 2434 int yyget_lineno ( void ); 2435 2436 void yyset_lineno ( int _line_number ); 2437 2438 /* Macros after this point can all be overridden by user definitions in 2439 * section 1. 2440 */ 2441 2442 #ifndef YY_SKIP_YYWRAP 2443 #ifdef __cplusplus 2444 extern "C" int yywrap ( void ); 2445 #else 2446 extern int yywrap ( void ); 2447 #endif 2448 #endif 2449 2450 #ifndef YY_NO_UNPUT 2451 2452 #endif 2453 2454 #ifndef yytext_ptr 2455 static void yy_flex_strncpy ( char *, const char *, int ); 2456 #endif 2457 2458 #ifdef YY_NEED_STRLEN 2459 static int yy_flex_strlen ( const char * ); 2460 #endif 2461 2462 #ifndef YY_NO_INPUT 2463 #ifdef __cplusplus 2464 static int yyinput ( void ); 2465 #else 2466 static int input ( void ); 2467 #endif 2468 2469 #endif 2470 2471 /* Amount of stuff to slurp up with each read. */ 2472 #ifndef YY_READ_BUF_SIZE 2473 #ifdef __ia64__ 2474 /* On IA-64, the buffer size is 16k, not 8k */ 2475 #define YY_READ_BUF_SIZE 16384 2476 #else 2477 #define YY_READ_BUF_SIZE 8192 2478 #endif /* __ia64__ */ 2479 #endif 2480 2481 /* Copy whatever the last rule matched to the standard output. */ 2482 #ifndef ECHO 2483 /* This used to be an fputs(), but since the string might contain NUL's, 2484 * we now use fwrite(). 2485 */ 2486 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) 2487 #endif 2488 2489 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 2490 * is returned in "result". 2491 */ 2492 #ifndef YY_INPUT 2493 #define YY_INPUT(buf,result,max_size) \ 2494 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 2495 { \ 2496 int c = '*'; \ 2497 int n; \ 2498 for ( n = 0; n < max_size && \ 2499 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 2500 buf[n] = (char) c; \ 2501 if ( c == '\n' ) \ 2502 buf[n++] = (char) c; \ 2503 if ( c == EOF && ferror( yyin ) ) \ 2504 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2505 result = n; \ 2506 } \ 2507 else \ 2508 { \ 2509 errno=0; \ 2510 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ 2511 { \ 2512 if( errno != EINTR) \ 2513 { \ 2514 YY_FATAL_ERROR( "input in flex scanner failed" ); \ 2515 break; \ 2516 } \ 2517 errno=0; \ 2518 clearerr(yyin); \ 2519 } \ 2520 }\ 2521 \ 2522 2523 #endif 2524 2525 /* No semi-colon after return; correct usage is to write "yyterminate();" - 2526 * we don't want an extra ';' after the "return" because that will cause 2527 * some compilers to complain about unreachable statements. 2528 */ 2529 #ifndef yyterminate 2530 #define yyterminate() return YY_NULL 2531 #endif 2532 2533 /* Number of entries by which start-condition stack grows. */ 2534 #ifndef YY_START_STACK_INCR 2535 #define YY_START_STACK_INCR 25 2536 #endif 2537 2538 /* Report a fatal error. */ 2539 #ifndef YY_FATAL_ERROR 2540 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 2541 #endif 2542 2543 /* end tables serialization structures and prototypes */ 2544 2545 /* Default declaration of generated scanner - a define so the user can 2546 * easily add parameters. 2547 */ 2548 #ifndef YY_DECL 2549 #define YY_DECL_IS_OURS 1 2550 2551 extern int yylex (void); 2552 2553 #define YY_DECL int yylex (void) 2554 #endif /* !YY_DECL */ 2555 2556 /* Code executed at the beginning of each rule, after yytext and yyleng 2557 * have been set up. 2558 */ 2559 #ifndef YY_USER_ACTION 2560 #define YY_USER_ACTION 2561 #endif 2562 2563 /* Code executed at the end of each rule. */ 2564 #ifndef YY_BREAK 2565 #define YY_BREAK /*LINTED*/break; 2566 #endif 2567 2568 #define YY_RULE_SETUP \ 2569 YY_USER_ACTION 2570 2571 /** The main scanner function which does all the work. 2572 */ 2573 YY_DECL 2574 { 2575 yy_state_type yy_current_state; 2576 char *yy_cp, *yy_bp; 2577 int yy_act; 2578 2579 if ( !(yy_init) ) 2580 { 2581 (yy_init) = 1; 2582 2583 #ifdef YY_USER_INIT 2584 YY_USER_INIT; 2585 #endif 2586 2587 if ( ! (yy_start) ) 2588 (yy_start) = 1; /* first start state */ 2589 2590 if ( ! yyin ) 2591 yyin = stdin; 2592 2593 if ( ! yyout ) 2594 yyout = stdout; 2595 2596 if ( ! YY_CURRENT_BUFFER ) { 2597 yyensure_buffer_stack (); 2598 YY_CURRENT_BUFFER_LVALUE = 2599 yy_create_buffer( yyin, YY_BUF_SIZE ); 2600 } 2601 2602 yy_load_buffer_state( ); 2603 } 2604 2605 { 2606 #line 183 "configlexer.lex" 2607 2608 #line 2607 "<stdout>" 2609 2610 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ 2611 { 2612 (yy_more_len) = 0; 2613 if ( (yy_more_flag) ) 2614 { 2615 (yy_more_len) = (int) ((yy_c_buf_p) - (yytext_ptr)); 2616 (yy_more_flag) = 0; 2617 } 2618 yy_cp = (yy_c_buf_p); 2619 2620 /* Support of yytext. */ 2621 *yy_cp = (yy_hold_char); 2622 2623 /* yy_bp points to the position in yy_ch_buf of the start of 2624 * the current run. 2625 */ 2626 yy_bp = yy_cp; 2627 2628 yy_current_state = (yy_start); 2629 yy_match: 2630 do 2631 { 2632 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; 2633 if ( yy_accept[yy_current_state] ) 2634 { 2635 (yy_last_accepting_state) = yy_current_state; 2636 (yy_last_accepting_cpos) = yy_cp; 2637 } 2638 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 2639 { 2640 yy_current_state = (int) yy_def[yy_current_state]; 2641 if ( yy_current_state >= 1575 ) 2642 yy_c = yy_meta[yy_c]; 2643 } 2644 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 2645 ++yy_cp; 2646 } 2647 while ( yy_base[yy_current_state] != 4436 ); 2648 2649 yy_find_action: 2650 yy_act = yy_accept[yy_current_state]; 2651 if ( yy_act == 0 ) 2652 { /* have to back up */ 2653 yy_cp = (yy_last_accepting_cpos); 2654 yy_current_state = (yy_last_accepting_state); 2655 yy_act = yy_accept[yy_current_state]; 2656 } 2657 2658 YY_DO_BEFORE_ACTION; 2659 2660 do_action: /* This label is used only to access EOF actions. */ 2661 2662 switch ( yy_act ) 2663 { /* beginning of action switch */ 2664 case 0: /* must back up */ 2665 /* undo the effects of YY_DO_BEFORE_ACTION */ 2666 *yy_cp = (yy_hold_char); 2667 yy_cp = (yy_last_accepting_cpos); 2668 yy_current_state = (yy_last_accepting_state); 2669 goto yy_find_action; 2670 2671 case 1: 2672 YY_RULE_SETUP 2673 #line 184 "configlexer.lex" 2674 { LEXOUT(("SP ")); /* ignore */ } 2675 YY_BREAK 2676 case 2: 2677 YY_RULE_SETUP 2678 #line 185 "configlexer.lex" 2679 { LEXOUT(("comment(%s) ", yytext)); /* ignore */ } 2680 YY_BREAK 2681 case 3: 2682 YY_RULE_SETUP 2683 #line 186 "configlexer.lex" 2684 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER;} 2685 YY_BREAK 2686 case 4: 2687 YY_RULE_SETUP 2688 #line 187 "configlexer.lex" 2689 { LEXOUT(("v(%s) ", yytext)); return VAR_NAME;} 2690 YY_BREAK 2691 case 5: 2692 YY_RULE_SETUP 2693 #line 188 "configlexer.lex" 2694 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_ADDRESS;} 2695 YY_BREAK 2696 case 6: 2697 YY_RULE_SETUP 2698 #line 189 "configlexer.lex" 2699 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_ADDRESS;} 2700 YY_BREAK 2701 case 7: 2702 YY_RULE_SETUP 2703 #line 190 "configlexer.lex" 2704 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_TRANSPARENT;} 2705 YY_BREAK 2706 case 8: 2707 YY_RULE_SETUP 2708 #line 191 "configlexer.lex" 2709 { LEXOUT(("v(%s) ", yytext)); return VAR_IP_FREEBIND;} 2710 YY_BREAK 2711 case 9: 2712 YY_RULE_SETUP 2713 #line 192 "configlexer.lex" 2714 { LEXOUT(("v(%s) ", yytext)); return VAR_SEND_BUFFER_SIZE;} 2715 YY_BREAK 2716 case 10: 2717 YY_RULE_SETUP 2718 #line 193 "configlexer.lex" 2719 { LEXOUT(("v(%s) ", yytext)); return VAR_RECEIVE_BUFFER_SIZE;} 2720 YY_BREAK 2721 case 11: 2722 YY_RULE_SETUP 2723 #line 194 "configlexer.lex" 2724 { LEXOUT(("v(%s) ", yytext)); return VAR_DEBUG_MODE;} 2725 YY_BREAK 2726 case 12: 2727 YY_RULE_SETUP 2728 #line 195 "configlexer.lex" 2729 { LEXOUT(("v(%s) ", yytext)); return VAR_USE_SYSTEMD;} 2730 YY_BREAK 2731 case 13: 2732 YY_RULE_SETUP 2733 #line 196 "configlexer.lex" 2734 { LEXOUT(("v(%s) ", yytext)); return VAR_HIDE_VERSION;} 2735 YY_BREAK 2736 case 14: 2737 YY_RULE_SETUP 2738 #line 197 "configlexer.lex" 2739 { LEXOUT(("v(%s) ", yytext)); return VAR_HIDE_IDENTITY;} 2740 YY_BREAK 2741 case 15: 2742 YY_RULE_SETUP 2743 #line 198 "configlexer.lex" 2744 { LEXOUT(("v(%s) ", yytext)); return VAR_DROP_UPDATES; } 2745 YY_BREAK 2746 case 16: 2747 YY_RULE_SETUP 2748 #line 199 "configlexer.lex" 2749 { LEXOUT(("v(%s) ", yytext)); return VAR_IP4_ONLY;} 2750 YY_BREAK 2751 case 17: 2752 YY_RULE_SETUP 2753 #line 200 "configlexer.lex" 2754 { LEXOUT(("v(%s) ", yytext)); return VAR_IP6_ONLY;} 2755 YY_BREAK 2756 case 18: 2757 YY_RULE_SETUP 2758 #line 201 "configlexer.lex" 2759 { LEXOUT(("v(%s) ", yytext)); return VAR_DO_IP4;} 2760 YY_BREAK 2761 case 19: 2762 YY_RULE_SETUP 2763 #line 202 "configlexer.lex" 2764 { LEXOUT(("v(%s) ", yytext)); return VAR_DO_IP6;} 2765 YY_BREAK 2766 case 20: 2767 YY_RULE_SETUP 2768 #line 203 "configlexer.lex" 2769 { LEXOUT(("v(%s) ", yytext)); return VAR_DATABASE;} 2770 YY_BREAK 2771 case 21: 2772 YY_RULE_SETUP 2773 #line 204 "configlexer.lex" 2774 { LEXOUT(("v(%s) ", yytext)); return VAR_IDENTITY;} 2775 YY_BREAK 2776 case 22: 2777 YY_RULE_SETUP 2778 #line 205 "configlexer.lex" 2779 { LEXOUT(("v(%s) ", yytext)); return VAR_VERSION;} 2780 YY_BREAK 2781 case 23: 2782 YY_RULE_SETUP 2783 #line 206 "configlexer.lex" 2784 { LEXOUT(("v(%s) ", yytext)); return VAR_NSID;} 2785 YY_BREAK 2786 case 24: 2787 YY_RULE_SETUP 2788 #line 207 "configlexer.lex" 2789 { LEXOUT(("v(%s) ", yytext)); return VAR_LOGFILE;} 2790 YY_BREAK 2791 case 25: 2792 YY_RULE_SETUP 2793 #line 208 "configlexer.lex" 2794 { LEXOUT(("v(%s) ", yytext)); return VAR_LOG_ONLY_SYSLOG;} 2795 YY_BREAK 2796 case 26: 2797 YY_RULE_SETUP 2798 #line 209 "configlexer.lex" 2799 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_COUNT;} 2800 YY_BREAK 2801 case 27: 2802 YY_RULE_SETUP 2803 #line 210 "configlexer.lex" 2804 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_COUNT;} 2805 YY_BREAK 2806 case 28: 2807 YY_RULE_SETUP 2808 #line 211 "configlexer.lex" 2809 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_REJECT_OVERFLOW;} 2810 YY_BREAK 2811 case 29: 2812 YY_RULE_SETUP 2813 #line 212 "configlexer.lex" 2814 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_QUERY_COUNT;} 2815 YY_BREAK 2816 case 30: 2817 YY_RULE_SETUP 2818 #line 213 "configlexer.lex" 2819 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_TIMEOUT;} 2820 YY_BREAK 2821 case 31: 2822 YY_RULE_SETUP 2823 #line 214 "configlexer.lex" 2824 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_MSS;} 2825 YY_BREAK 2826 case 32: 2827 YY_RULE_SETUP 2828 #line 215 "configlexer.lex" 2829 { LEXOUT(("v(%s) ", yytext)); return VAR_OUTGOING_TCP_MSS;} 2830 YY_BREAK 2831 case 33: 2832 YY_RULE_SETUP 2833 #line 216 "configlexer.lex" 2834 { LEXOUT(("v(%s) ", yytext)); return VAR_TCP_LISTEN_QUEUE;} 2835 YY_BREAK 2836 case 34: 2837 YY_RULE_SETUP 2838 #line 217 "configlexer.lex" 2839 { LEXOUT(("v(%s) ", yytext)); return VAR_IPV4_EDNS_SIZE;} 2840 YY_BREAK 2841 case 35: 2842 YY_RULE_SETUP 2843 #line 218 "configlexer.lex" 2844 { LEXOUT(("v(%s) ", yytext)); return VAR_IPV6_EDNS_SIZE;} 2845 YY_BREAK 2846 case 36: 2847 YY_RULE_SETUP 2848 #line 219 "configlexer.lex" 2849 { LEXOUT(("v(%s) ", yytext)); return VAR_PIDFILE;} 2850 YY_BREAK 2851 case 37: 2852 YY_RULE_SETUP 2853 #line 220 "configlexer.lex" 2854 { LEXOUT(("v(%s) ", yytext)); return VAR_PORT;} 2855 YY_BREAK 2856 case 38: 2857 YY_RULE_SETUP 2858 #line 221 "configlexer.lex" 2859 { LEXOUT(("v(%s) ", yytext)); return VAR_REUSEPORT;} 2860 YY_BREAK 2861 case 39: 2862 YY_RULE_SETUP 2863 #line 222 "configlexer.lex" 2864 { LEXOUT(("v(%s) ", yytext)); return VAR_STATISTICS;} 2865 YY_BREAK 2866 case 40: 2867 YY_RULE_SETUP 2868 #line 223 "configlexer.lex" 2869 { LEXOUT(("v(%s) ", yytext)); return VAR_CHROOT;} 2870 YY_BREAK 2871 case 41: 2872 YY_RULE_SETUP 2873 #line 224 "configlexer.lex" 2874 { LEXOUT(("v(%s) ", yytext)); return VAR_USERNAME;} 2875 YY_BREAK 2876 case 42: 2877 YY_RULE_SETUP 2878 #line 225 "configlexer.lex" 2879 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONESDIR;} 2880 YY_BREAK 2881 case 43: 2882 YY_RULE_SETUP 2883 #line 226 "configlexer.lex" 2884 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONELISTFILE;} 2885 YY_BREAK 2886 case 44: 2887 YY_RULE_SETUP 2888 #line 227 "configlexer.lex" 2889 { LEXOUT(("v(%s) ", yytext)); return VAR_DIFFFILE;} 2890 YY_BREAK 2891 case 45: 2892 YY_RULE_SETUP 2893 #line 228 "configlexer.lex" 2894 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRDFILE;} 2895 YY_BREAK 2896 case 46: 2897 YY_RULE_SETUP 2898 #line 229 "configlexer.lex" 2899 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRDIR;} 2900 YY_BREAK 2901 case 47: 2902 YY_RULE_SETUP 2903 #line 230 "configlexer.lex" 2904 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_RELOAD_TIMEOUT;} 2905 YY_BREAK 2906 case 48: 2907 YY_RULE_SETUP 2908 #line 231 "configlexer.lex" 2909 { LEXOUT(("v(%s) ", yytext)); return VAR_VERBOSITY;} 2910 YY_BREAK 2911 case 49: 2912 YY_RULE_SETUP 2913 #line 232 "configlexer.lex" 2914 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONE;} 2915 YY_BREAK 2916 case 50: 2917 YY_RULE_SETUP 2918 #line 233 "configlexer.lex" 2919 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILE;} 2920 YY_BREAK 2921 case 51: 2922 YY_RULE_SETUP 2923 #line 234 "configlexer.lex" 2924 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONESTATS;} 2925 YY_BREAK 2926 case 52: 2927 YY_RULE_SETUP 2928 #line 235 "configlexer.lex" 2929 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_NOTIFY;} 2930 YY_BREAK 2931 case 53: 2932 YY_RULE_SETUP 2933 #line 236 "configlexer.lex" 2934 { LEXOUT(("v(%s) ", yytext)); return VAR_SIZE_LIMIT_XFR;} 2935 YY_BREAK 2936 case 54: 2937 YY_RULE_SETUP 2938 #line 237 "configlexer.lex" 2939 { LEXOUT(("v(%s) ", yytext)); return VAR_REQUEST_XFR;} 2940 YY_BREAK 2941 case 55: 2942 YY_RULE_SETUP 2943 #line 238 "configlexer.lex" 2944 { LEXOUT(("v(%s) ", yytext)); return VAR_NOTIFY;} 2945 YY_BREAK 2946 case 56: 2947 YY_RULE_SETUP 2948 #line 239 "configlexer.lex" 2949 { LEXOUT(("v(%s) ", yytext)); return VAR_NOTIFY_RETRY;} 2950 YY_BREAK 2951 case 57: 2952 YY_RULE_SETUP 2953 #line 240 "configlexer.lex" 2954 { LEXOUT(("v(%s) ", yytext)); return VAR_PROVIDE_XFR;} 2955 YY_BREAK 2956 case 58: 2957 YY_RULE_SETUP 2958 #line 241 "configlexer.lex" 2959 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_QUERY;} 2960 YY_BREAK 2961 case 59: 2962 YY_RULE_SETUP 2963 #line 242 "configlexer.lex" 2964 { LEXOUT(("v(%s) ", yytext)); return VAR_OUTGOING_INTERFACE;} 2965 YY_BREAK 2966 case 60: 2967 YY_RULE_SETUP 2968 #line 243 "configlexer.lex" 2969 { LEXOUT(("v(%s) ", yytext)); return VAR_ALLOW_AXFR_FALLBACK;} 2970 YY_BREAK 2971 case 61: 2972 YY_RULE_SETUP 2973 #line 244 "configlexer.lex" 2974 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH;} 2975 YY_BREAK 2976 case 62: 2977 YY_RULE_SETUP 2978 #line 245 "configlexer.lex" 2979 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_DOMAIN_NAME;} 2980 YY_BREAK 2981 case 63: 2982 YY_RULE_SETUP 2983 #line 246 "configlexer.lex" 2984 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_CERT;} 2985 YY_BREAK 2986 case 64: 2987 YY_RULE_SETUP 2988 #line 247 "configlexer.lex" 2989 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_KEY;} 2990 YY_BREAK 2991 case 65: 2992 YY_RULE_SETUP 2993 #line 248 "configlexer.lex" 2994 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_CLIENT_KEY_PW;} 2995 YY_BREAK 2996 case 66: 2997 YY_RULE_SETUP 2998 #line 249 "configlexer.lex" 2999 { LEXOUT(("v(%s) ", yytext)); return VAR_KEY;} 3000 YY_BREAK 3001 case 67: 3002 YY_RULE_SETUP 3003 #line 250 "configlexer.lex" 3004 { LEXOUT(("v(%s) ", yytext)); return VAR_ALGORITHM;} 3005 YY_BREAK 3006 case 68: 3007 YY_RULE_SETUP 3008 #line 251 "configlexer.lex" 3009 { LEXOUT(("v(%s) ", yytext)); return VAR_SECRET;} 3010 YY_BREAK 3011 case 69: 3012 YY_RULE_SETUP 3013 #line 252 "configlexer.lex" 3014 { LEXOUT(("v(%s) ", yytext)); return VAR_PATTERN;} 3015 YY_BREAK 3016 case 70: 3017 YY_RULE_SETUP 3018 #line 253 "configlexer.lex" 3019 { LEXOUT(("v(%s) ", yytext)); return VAR_INCLUDE_PATTERN;} 3020 YY_BREAK 3021 case 71: 3022 YY_RULE_SETUP 3023 #line 254 "configlexer.lex" 3024 { LEXOUT(("v(%s) ", yytext)); return VAR_REMOTE_CONTROL;} 3025 YY_BREAK 3026 case 72: 3027 YY_RULE_SETUP 3028 #line 255 "configlexer.lex" 3029 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_ENABLE;} 3030 YY_BREAK 3031 case 73: 3032 YY_RULE_SETUP 3033 #line 256 "configlexer.lex" 3034 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_INTERFACE;} 3035 YY_BREAK 3036 case 74: 3037 YY_RULE_SETUP 3038 #line 257 "configlexer.lex" 3039 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_PORT;} 3040 YY_BREAK 3041 case 75: 3042 YY_RULE_SETUP 3043 #line 258 "configlexer.lex" 3044 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_KEY_FILE;} 3045 YY_BREAK 3046 case 76: 3047 YY_RULE_SETUP 3048 #line 259 "configlexer.lex" 3049 { LEXOUT(("v(%s) ", yytext)); return VAR_SERVER_CERT_FILE;} 3050 YY_BREAK 3051 case 77: 3052 YY_RULE_SETUP 3053 #line 260 "configlexer.lex" 3054 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_KEY_FILE;} 3055 YY_BREAK 3056 case 78: 3057 YY_RULE_SETUP 3058 #line 261 "configlexer.lex" 3059 { LEXOUT(("v(%s) ", yytext)); return VAR_CONTROL_CERT_FILE;} 3060 YY_BREAK 3061 case 79: 3062 YY_RULE_SETUP 3063 #line 262 "configlexer.lex" 3064 { LEXOUT(("v(%s) ", yytext)); return VAR_METRICS_ENABLE;} 3065 YY_BREAK 3066 case 80: 3067 YY_RULE_SETUP 3068 #line 263 "configlexer.lex" 3069 { LEXOUT(("v(%s) ", yytext)); return VAR_METRICS_INTERFACE;} 3070 YY_BREAK 3071 case 81: 3072 YY_RULE_SETUP 3073 #line 264 "configlexer.lex" 3074 { LEXOUT(("v(%s) ", yytext)); return VAR_METRICS_PORT;} 3075 YY_BREAK 3076 case 82: 3077 YY_RULE_SETUP 3078 #line 265 "configlexer.lex" 3079 { LEXOUT(("v(%s) ", yytext)); return VAR_METRICS_PATH;} 3080 YY_BREAK 3081 case 83: 3082 YY_RULE_SETUP 3083 #line 266 "configlexer.lex" 3084 { LEXOUT(("v(%s) ", yytext)); return VAR_AXFR;} 3085 YY_BREAK 3086 case 84: 3087 YY_RULE_SETUP 3088 #line 267 "configlexer.lex" 3089 { LEXOUT(("v(%s) ", yytext)); return VAR_UDP;} 3090 YY_BREAK 3091 case 85: 3092 YY_RULE_SETUP 3093 #line 268 "configlexer.lex" 3094 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_SIZE;} 3095 YY_BREAK 3096 case 86: 3097 YY_RULE_SETUP 3098 #line 269 "configlexer.lex" 3099 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_RATELIMIT;} 3100 YY_BREAK 3101 case 87: 3102 YY_RULE_SETUP 3103 #line 270 "configlexer.lex" 3104 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_SLIP;} 3105 YY_BREAK 3106 case 88: 3107 YY_RULE_SETUP 3108 #line 271 "configlexer.lex" 3109 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_IPV4_PREFIX_LENGTH;} 3110 YY_BREAK 3111 case 89: 3112 YY_RULE_SETUP 3113 #line 272 "configlexer.lex" 3114 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_IPV6_PREFIX_LENGTH;} 3115 YY_BREAK 3116 case 90: 3117 YY_RULE_SETUP 3118 #line 273 "configlexer.lex" 3119 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_WHITELIST_RATELIMIT;} 3120 YY_BREAK 3121 case 91: 3122 YY_RULE_SETUP 3123 #line 274 "configlexer.lex" 3124 { LEXOUT(("v(%s) ", yytext)); return VAR_RRL_WHITELIST;} 3125 YY_BREAK 3126 case 92: 3127 YY_RULE_SETUP 3128 #line 275 "configlexer.lex" 3129 { LEXOUT(("v(%s) ", yytext)); return VAR_RELOAD_CONFIG; } 3130 YY_BREAK 3131 case 93: 3132 YY_RULE_SETUP 3133 #line 276 "configlexer.lex" 3134 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILES_CHECK;} 3135 YY_BREAK 3136 case 94: 3137 YY_RULE_SETUP 3138 #line 277 "configlexer.lex" 3139 { LEXOUT(("v(%s) ", yytext)); return VAR_ZONEFILES_WRITE;} 3140 YY_BREAK 3141 case 95: 3142 YY_RULE_SETUP 3143 #line 278 "configlexer.lex" 3144 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP;} 3145 YY_BREAK 3146 case 96: 3147 YY_RULE_SETUP 3148 #line 279 "configlexer.lex" 3149 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_ENABLE;} 3150 YY_BREAK 3151 case 97: 3152 YY_RULE_SETUP 3153 #line 280 "configlexer.lex" 3154 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SOCKET_PATH; } 3155 YY_BREAK 3156 case 98: 3157 YY_RULE_SETUP 3158 #line 281 "configlexer.lex" 3159 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_IP; } 3160 YY_BREAK 3161 case 99: 3162 YY_RULE_SETUP 3163 #line 282 "configlexer.lex" 3164 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_TLS; } 3165 YY_BREAK 3166 case 100: 3167 YY_RULE_SETUP 3168 #line 283 "configlexer.lex" 3169 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_TLS_SERVER_NAME; } 3170 YY_BREAK 3171 case 101: 3172 YY_RULE_SETUP 3173 #line 284 "configlexer.lex" 3174 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_TLS_CERT_BUNDLE; } 3175 YY_BREAK 3176 case 102: 3177 YY_RULE_SETUP 3178 #line 285 "configlexer.lex" 3179 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_TLS_CLIENT_KEY_FILE; } 3180 YY_BREAK 3181 case 103: 3182 YY_RULE_SETUP 3183 #line 286 "configlexer.lex" 3184 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_TLS_CLIENT_CERT_FILE; } 3185 YY_BREAK 3186 case 104: 3187 YY_RULE_SETUP 3188 #line 287 "configlexer.lex" 3189 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SEND_IDENTITY; } 3190 YY_BREAK 3191 case 105: 3192 YY_RULE_SETUP 3193 #line 288 "configlexer.lex" 3194 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_SEND_VERSION; } 3195 YY_BREAK 3196 case 106: 3197 YY_RULE_SETUP 3198 #line 289 "configlexer.lex" 3199 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_IDENTITY; } 3200 YY_BREAK 3201 case 107: 3202 YY_RULE_SETUP 3203 #line 290 "configlexer.lex" 3204 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_VERSION; } 3205 YY_BREAK 3206 case 108: 3207 YY_RULE_SETUP 3208 #line 291 "configlexer.lex" 3209 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_LOG_AUTH_QUERY_MESSAGES; } 3210 YY_BREAK 3211 case 109: 3212 YY_RULE_SETUP 3213 #line 292 "configlexer.lex" 3214 { LEXOUT(("v(%s) ", yytext)); return VAR_DNSTAP_LOG_AUTH_RESPONSE_MESSAGES; } 3215 YY_BREAK 3216 case 110: 3217 YY_RULE_SETUP 3218 #line 293 "configlexer.lex" 3219 { LEXOUT(("v(%s) ", yytext)); return VAR_LOG_TIME_ASCII;} 3220 YY_BREAK 3221 case 111: 3222 YY_RULE_SETUP 3223 #line 294 "configlexer.lex" 3224 { LEXOUT(("v(%s) ", yytext)); return VAR_LOG_TIME_ISO;} 3225 YY_BREAK 3226 case 112: 3227 YY_RULE_SETUP 3228 #line 295 "configlexer.lex" 3229 { LEXOUT(("v(%s) ", yytext)); return VAR_ROUND_ROBIN;} 3230 YY_BREAK 3231 case 113: 3232 YY_RULE_SETUP 3233 #line 296 "configlexer.lex" 3234 { LEXOUT(("v(%s) ", yytext)); return VAR_MINIMAL_RESPONSES;} 3235 YY_BREAK 3236 case 114: 3237 YY_RULE_SETUP 3238 #line 297 "configlexer.lex" 3239 { LEXOUT(("v(%s) ", yytext)); return VAR_CONFINE_TO_ZONE;} 3240 YY_BREAK 3241 case 115: 3242 YY_RULE_SETUP 3243 #line 298 "configlexer.lex" 3244 { LEXOUT(("v(%s) ", yytext)); return VAR_REFUSE_ANY;} 3245 YY_BREAK 3246 case 116: 3247 YY_RULE_SETUP 3248 #line 299 "configlexer.lex" 3249 { LEXOUT(("v(%s) ", yytext)); return VAR_MAX_REFRESH_TIME;} 3250 YY_BREAK 3251 case 117: 3252 YY_RULE_SETUP 3253 #line 300 "configlexer.lex" 3254 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_REFRESH_TIME;} 3255 YY_BREAK 3256 case 118: 3257 YY_RULE_SETUP 3258 #line 301 "configlexer.lex" 3259 { LEXOUT(("v(%s) ", yytext)); return VAR_MAX_RETRY_TIME;} 3260 YY_BREAK 3261 case 119: 3262 YY_RULE_SETUP 3263 #line 302 "configlexer.lex" 3264 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_RETRY_TIME;} 3265 YY_BREAK 3266 case 120: 3267 YY_RULE_SETUP 3268 #line 303 "configlexer.lex" 3269 { LEXOUT(("v(%s) ", yytext)); return VAR_MIN_EXPIRE_TIME;} 3270 YY_BREAK 3271 case 121: 3272 YY_RULE_SETUP 3273 #line 304 "configlexer.lex" 3274 { LEXOUT(("v(%s) ", yytext)); return VAR_STORE_IXFR;} 3275 YY_BREAK 3276 case 122: 3277 YY_RULE_SETUP 3278 #line 305 "configlexer.lex" 3279 { LEXOUT(("v(%s) ", yytext)); return VAR_IXFR_SIZE;} 3280 YY_BREAK 3281 case 123: 3282 YY_RULE_SETUP 3283 #line 306 "configlexer.lex" 3284 { LEXOUT(("v(%s) ", yytext)); return VAR_IXFR_NUMBER;} 3285 YY_BREAK 3286 case 124: 3287 YY_RULE_SETUP 3288 #line 307 "configlexer.lex" 3289 { LEXOUT(("v(%s) ", yytext)); return VAR_CREATE_IXFR;} 3290 YY_BREAK 3291 case 125: 3292 YY_RULE_SETUP 3293 #line 308 "configlexer.lex" 3294 { LEXOUT(("v(%s) ", yytext)); return VAR_MULTI_PRIMARY_CHECK;} 3295 YY_BREAK 3296 case 126: 3297 YY_RULE_SETUP 3298 #line 309 "configlexer.lex" 3299 { LEXOUT(("v(%s) ", yytext)); return VAR_MULTI_PRIMARY_CHECK;} 3300 YY_BREAK 3301 case 127: 3302 YY_RULE_SETUP 3303 #line 310 "configlexer.lex" 3304 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_KEY;} 3305 YY_BREAK 3306 case 128: 3307 YY_RULE_SETUP 3308 #line 311 "configlexer.lex" 3309 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_OCSP;} 3310 YY_BREAK 3311 case 129: 3312 YY_RULE_SETUP 3313 #line 312 "configlexer.lex" 3314 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_SERVICE_PEM;} 3315 YY_BREAK 3316 case 130: 3317 YY_RULE_SETUP 3318 #line 313 "configlexer.lex" 3319 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_PORT;} 3320 YY_BREAK 3321 case 131: 3322 YY_RULE_SETUP 3323 #line 314 "configlexer.lex" 3324 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_PORT;} 3325 YY_BREAK 3326 case 132: 3327 YY_RULE_SETUP 3328 #line 315 "configlexer.lex" 3329 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_AUTH_XFR_ONLY;} 3330 YY_BREAK 3331 case 133: 3332 YY_RULE_SETUP 3333 #line 316 "configlexer.lex" 3334 { LEXOUT(("v(%s) ", yytext)); return VAR_TLS_CERT_BUNDLE; } 3335 YY_BREAK 3336 case 134: 3337 YY_RULE_SETUP 3338 #line 317 "configlexer.lex" 3339 { LEXOUT(("v(%s) ", yytext)); return VAR_PROXY_PROTOCOL_PORT; } 3340 YY_BREAK 3341 case 135: 3342 YY_RULE_SETUP 3343 #line 318 "configlexer.lex" 3344 { LEXOUT(("v(%s) ", yytext)); return VAR_ANSWER_COOKIE;} 3345 YY_BREAK 3346 case 136: 3347 YY_RULE_SETUP 3348 #line 319 "configlexer.lex" 3349 { LEXOUT(("v(%s) ", yytext)); return VAR_COOKIE_SECRET;} 3350 YY_BREAK 3351 case 137: 3352 YY_RULE_SETUP 3353 #line 320 "configlexer.lex" 3354 { LEXOUT(("v(%s) ", yytext)); return VAR_COOKIE_SECRET_FILE;} 3355 YY_BREAK 3356 case 138: 3357 YY_RULE_SETUP 3358 #line 321 "configlexer.lex" 3359 { LEXOUT(("v(%s) ", yytext)); return VAR_COOKIE_STAGING_SECRET;} 3360 YY_BREAK 3361 case 139: 3362 YY_RULE_SETUP 3363 #line 322 "configlexer.lex" 3364 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_TCP_MAX;} 3365 YY_BREAK 3366 case 140: 3367 YY_RULE_SETUP 3368 #line 323 "configlexer.lex" 3369 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_TCP_PIPELINE;} 3370 YY_BREAK 3371 case 141: 3372 YY_RULE_SETUP 3373 #line 324 "configlexer.lex" 3374 { LEXOUT(("v(%s) ", yytext)); return VAR_VERIFY; } 3375 YY_BREAK 3376 case 142: 3377 YY_RULE_SETUP 3378 #line 325 "configlexer.lex" 3379 { LEXOUT(("v(%s) ", yytext)); return VAR_ENABLE; } 3380 YY_BREAK 3381 case 143: 3382 YY_RULE_SETUP 3383 #line 326 "configlexer.lex" 3384 { LEXOUT(("v(%s) ", yytext)); return VAR_VERIFY_ZONE; } 3385 YY_BREAK 3386 case 144: 3387 YY_RULE_SETUP 3388 #line 327 "configlexer.lex" 3389 { LEXOUT(("v(%s) ", yytext)); return VAR_VERIFY_ZONES; } 3390 YY_BREAK 3391 case 145: 3392 YY_RULE_SETUP 3393 #line 328 "configlexer.lex" 3394 { LEXOUT(("v(%s) ", yytext)); return VAR_VERIFIER; } 3395 YY_BREAK 3396 case 146: 3397 YY_RULE_SETUP 3398 #line 329 "configlexer.lex" 3399 { LEXOUT(("v(%s) ", yytext)); return VAR_VERIFIER_COUNT; } 3400 YY_BREAK 3401 case 147: 3402 YY_RULE_SETUP 3403 #line 330 "configlexer.lex" 3404 { LEXOUT(("v(%s) ", yytext)); return VAR_VERIFIER_FEED_ZONE; } 3405 YY_BREAK 3406 case 148: 3407 YY_RULE_SETUP 3408 #line 331 "configlexer.lex" 3409 { LEXOUT(("v(%s) ", yytext)); return VAR_VERIFIER_TIMEOUT; } 3410 YY_BREAK 3411 case 149: 3412 YY_RULE_SETUP 3413 #line 332 "configlexer.lex" 3414 { LEXOUT(("v(%s) ", yytext)); return VAR_CATALOG; } 3415 YY_BREAK 3416 case 150: 3417 YY_RULE_SETUP 3418 #line 333 "configlexer.lex" 3419 { LEXOUT(("v(%s) ", yytext)); return VAR_CATALOG_MEMBER_PATTERN; } 3420 YY_BREAK 3421 case 151: 3422 YY_RULE_SETUP 3423 #line 334 "configlexer.lex" 3424 { LEXOUT(("v(%s) ", yytext)); return VAR_CATALOG_PRODUCER_ZONE; } 3425 YY_BREAK 3426 case 152: 3427 YY_RULE_SETUP 3428 #line 335 "configlexer.lex" 3429 { LEXOUT(("v(%s) ", yytext)); return VAR_XDP_INTERFACE; } 3430 YY_BREAK 3431 case 153: 3432 YY_RULE_SETUP 3433 #line 336 "configlexer.lex" 3434 { LEXOUT(("v(%s) ", yytext)); return VAR_XDP_PROGRAM_PATH; } 3435 YY_BREAK 3436 case 154: 3437 YY_RULE_SETUP 3438 #line 337 "configlexer.lex" 3439 { LEXOUT(("v(%s) ", yytext)); return VAR_XDP_PROGRAM_LOAD; } 3440 YY_BREAK 3441 case 155: 3442 YY_RULE_SETUP 3443 #line 338 "configlexer.lex" 3444 { LEXOUT(("v(%s) ", yytext)); return VAR_XDP_BPFFS_PATH; } 3445 YY_BREAK 3446 case 156: 3447 YY_RULE_SETUP 3448 #line 339 "configlexer.lex" 3449 { LEXOUT(("v(%s) ", yytext)); return VAR_XDP_FORCE_COPY; } 3450 YY_BREAK 3451 case 157: 3452 /* rule 157 can match eol */ 3453 YY_RULE_SETUP 3454 #line 340 "configlexer.lex" 3455 { LEXOUT(("NL\n")); cfg_parser->line++;} 3456 YY_BREAK 3457 case 158: 3458 YY_RULE_SETUP 3459 #line 342 "configlexer.lex" 3460 { 3461 yyless(yyleng - (yyleng - 8)); 3462 LEXOUT(("v(%s) ", yytext)); 3463 return VAR_SERVERS; 3464 } 3465 YY_BREAK 3466 case 159: 3467 YY_RULE_SETUP 3468 #line 347 "configlexer.lex" 3469 { 3470 yyless(yyleng - (yyleng - 13)); 3471 LEXOUT(("v(%s) ", yytext)); 3472 return VAR_BINDTODEVICE; 3473 } 3474 YY_BREAK 3475 case 160: 3476 YY_RULE_SETUP 3477 #line 352 "configlexer.lex" 3478 { 3479 yyless(yyleng - (yyleng - 7)); 3480 LEXOUT(("v(%s) ", yytext)); 3481 return VAR_SETFIB; 3482 } 3483 YY_BREAK 3484 case 161: 3485 YY_RULE_SETUP 3486 #line 358 "configlexer.lex" 3487 { LEXOUT(("v(%s) ", yytext)); return VAR_CPU_AFFINITY; } 3488 YY_BREAK 3489 case 162: 3490 YY_RULE_SETUP 3491 #line 359 "configlexer.lex" 3492 { LEXOUT(("v(%s) ", yytext)); return VAR_XFRD_CPU_AFFINITY; } 3493 YY_BREAK 3494 case 163: 3495 YY_RULE_SETUP 3496 #line 360 "configlexer.lex" 3497 { 3498 char *str = yytext; 3499 LEXOUT(("v(%s) ", yytext)); 3500 /* Skip server- */ 3501 while (*str != '\0' && (*str < '0' || *str > '9')) { 3502 str++; 3503 } 3504 c_lval.llng = strtoll(str, NULL, 10); 3505 return VAR_SERVER_CPU_AFFINITY; 3506 } 3507 YY_BREAK 3508 /* Quoted strings. Strip leading and ending quotes */ 3509 case 164: 3510 YY_RULE_SETUP 3511 #line 372 "configlexer.lex" 3512 { BEGIN(quotedstring); LEXOUT(("QS ")); } 3513 YY_BREAK 3514 case YY_STATE_EOF(quotedstring): 3515 #line 373 "configlexer.lex" 3516 { 3517 c_error("EOF inside quoted string"); 3518 BEGIN(INITIAL); 3519 } 3520 YY_BREAK 3521 case 165: 3522 YY_RULE_SETUP 3523 #line 377 "configlexer.lex" 3524 { LEXOUT(("STR(%s) ", yytext)); yymore(); } 3525 YY_BREAK 3526 case 166: 3527 /* rule 166 can match eol */ 3528 YY_RULE_SETUP 3529 #line 378 "configlexer.lex" 3530 { cfg_parser->line++; yymore(); } 3531 YY_BREAK 3532 case 167: 3533 YY_RULE_SETUP 3534 #line 379 "configlexer.lex" 3535 { 3536 LEXOUT(("QE ")); 3537 BEGIN(INITIAL); 3538 yytext[yyleng - 1] = '\0'; 3539 c_lval.str = region_strdup(cfg_parser->opt->region, yytext); 3540 return STRING; 3541 } 3542 YY_BREAK 3543 /* include: directive */ 3544 case 168: 3545 YY_RULE_SETUP 3546 #line 388 "configlexer.lex" 3547 { LEXOUT(("v(%s) ", yytext)); BEGIN(include); } 3548 YY_BREAK 3549 case YY_STATE_EOF(include): 3550 #line 389 "configlexer.lex" 3551 { 3552 c_error("EOF inside include directive"); 3553 BEGIN(INITIAL); 3554 } 3555 YY_BREAK 3556 case 169: 3557 YY_RULE_SETUP 3558 #line 393 "configlexer.lex" 3559 { LEXOUT(("ISP ")); /* ignore */ } 3560 YY_BREAK 3561 case 170: 3562 /* rule 170 can match eol */ 3563 YY_RULE_SETUP 3564 #line 394 "configlexer.lex" 3565 { LEXOUT(("NL\n")); cfg_parser->line++;} 3566 YY_BREAK 3567 case 171: 3568 YY_RULE_SETUP 3569 #line 395 "configlexer.lex" 3570 { LEXOUT(("IQS ")); BEGIN(include_quoted); } 3571 YY_BREAK 3572 case 172: 3573 YY_RULE_SETUP 3574 #line 396 "configlexer.lex" 3575 { 3576 LEXOUT(("Iunquotedstr(%s) ", yytext)); 3577 config_start_include_glob(yytext); 3578 BEGIN(INITIAL); 3579 } 3580 YY_BREAK 3581 case YY_STATE_EOF(include_quoted): 3582 #line 401 "configlexer.lex" 3583 { 3584 c_error("EOF inside quoted string"); 3585 BEGIN(INITIAL); 3586 } 3587 YY_BREAK 3588 case 173: 3589 YY_RULE_SETUP 3590 #line 405 "configlexer.lex" 3591 { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } 3592 YY_BREAK 3593 case 174: 3594 /* rule 174 can match eol */ 3595 YY_RULE_SETUP 3596 #line 406 "configlexer.lex" 3597 { cfg_parser->line++; yymore(); } 3598 YY_BREAK 3599 case 175: 3600 YY_RULE_SETUP 3601 #line 407 "configlexer.lex" 3602 { 3603 LEXOUT(("IQE ")); 3604 yytext[yyleng - 1] = '\0'; 3605 config_start_include_glob(yytext); 3606 BEGIN(INITIAL); 3607 } 3608 YY_BREAK 3609 case YY_STATE_EOF(INITIAL): 3610 #line 413 "configlexer.lex" 3611 { 3612 yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ 3613 if (!config_include_stack) { 3614 yyterminate(); 3615 } else { 3616 fclose(yyin); 3617 config_end_include(); 3618 } 3619 } 3620 YY_BREAK 3621 case 176: 3622 YY_RULE_SETUP 3623 #line 423 "configlexer.lex" 3624 { LEXOUT(("unquotedstr(%s) ", yytext)); 3625 c_lval.str = region_strdup(cfg_parser->opt->region, yytext); return STRING; } 3626 YY_BREAK 3627 case 177: 3628 YY_RULE_SETUP 3629 #line 426 "configlexer.lex" 3630 ECHO; 3631 YY_BREAK 3632 #line 3631 "<stdout>" 3633 3634 case YY_END_OF_BUFFER: 3635 { 3636 /* Amount of text matched not including the EOB char. */ 3637 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 3638 3639 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 3640 *yy_cp = (yy_hold_char); 3641 YY_RESTORE_YY_MORE_OFFSET 3642 3643 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 3644 { 3645 /* We're scanning a new file or input source. It's 3646 * possible that this happened because the user 3647 * just pointed yyin at a new source and called 3648 * yylex(). If so, then we have to assure 3649 * consistency between YY_CURRENT_BUFFER and our 3650 * globals. Here is the right place to do so, because 3651 * this is the first action (other than possibly a 3652 * back-up) that will match for the new input source. 3653 */ 3654 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3655 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 3656 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 3657 } 3658 3659 /* Note that here we test for yy_c_buf_p "<=" to the position 3660 * of the first EOB in the buffer, since yy_c_buf_p will 3661 * already have been incremented past the NUL character 3662 * (since all states make transitions on EOB to the 3663 * end-of-buffer state). Contrast this with the test 3664 * in input(). 3665 */ 3666 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3667 { /* This was really a NUL. */ 3668 yy_state_type yy_next_state; 3669 3670 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 3671 3672 yy_current_state = yy_get_previous_state( ); 3673 3674 /* Okay, we're now positioned to make the NUL 3675 * transition. We couldn't have 3676 * yy_get_previous_state() go ahead and do it 3677 * for us because it doesn't know how to deal 3678 * with the possibility of jamming (and we don't 3679 * want to build jamming into it because then it 3680 * will run more slowly). 3681 */ 3682 3683 yy_next_state = yy_try_NUL_trans( yy_current_state ); 3684 3685 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3686 3687 if ( yy_next_state ) 3688 { 3689 /* Consume the NUL. */ 3690 yy_cp = ++(yy_c_buf_p); 3691 yy_current_state = yy_next_state; 3692 goto yy_match; 3693 } 3694 3695 else 3696 { 3697 yy_cp = (yy_c_buf_p); 3698 goto yy_find_action; 3699 } 3700 } 3701 3702 else switch ( yy_get_next_buffer( ) ) 3703 { 3704 case EOB_ACT_END_OF_FILE: 3705 { 3706 (yy_did_buffer_switch_on_eof) = 0; 3707 3708 if ( yywrap( ) ) 3709 { 3710 /* Note: because we've taken care in 3711 * yy_get_next_buffer() to have set up 3712 * yytext, we can now set up 3713 * yy_c_buf_p so that if some total 3714 * hoser (like flex itself) wants to 3715 * call the scanner after we return the 3716 * YY_NULL, it'll still work - another 3717 * YY_NULL will get returned. 3718 */ 3719 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 3720 3721 yy_act = YY_STATE_EOF(YY_START); 3722 goto do_action; 3723 } 3724 3725 else 3726 { 3727 if ( ! (yy_did_buffer_switch_on_eof) ) 3728 YY_NEW_FILE; 3729 } 3730 break; 3731 } 3732 3733 case EOB_ACT_CONTINUE_SCAN: 3734 (yy_c_buf_p) = 3735 (yytext_ptr) + yy_amount_of_matched_text; 3736 3737 yy_current_state = yy_get_previous_state( ); 3738 3739 yy_cp = (yy_c_buf_p); 3740 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3741 goto yy_match; 3742 3743 case EOB_ACT_LAST_MATCH: 3744 (yy_c_buf_p) = 3745 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 3746 3747 yy_current_state = yy_get_previous_state( ); 3748 3749 yy_cp = (yy_c_buf_p); 3750 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3751 goto yy_find_action; 3752 } 3753 break; 3754 } 3755 3756 default: 3757 YY_FATAL_ERROR( 3758 "fatal flex scanner internal error--no action found" ); 3759 } /* end of action switch */ 3760 } /* end of scanning one token */ 3761 } /* end of user's declarations */ 3762 } /* end of yylex */ 3763 3764 /* yy_get_next_buffer - try to read in a new buffer 3765 * 3766 * Returns a code representing an action: 3767 * EOB_ACT_LAST_MATCH - 3768 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 3769 * EOB_ACT_END_OF_FILE - end of file 3770 */ 3771 static int yy_get_next_buffer (void) 3772 { 3773 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 3774 char *source = (yytext_ptr); 3775 int number_to_move, i; 3776 int ret_val; 3777 3778 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 3779 YY_FATAL_ERROR( 3780 "fatal flex scanner internal error--end of buffer missed" ); 3781 3782 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 3783 { /* Don't try to fill the buffer, so this is an EOF. */ 3784 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 3785 { 3786 /* We matched a single character, the EOB, so 3787 * treat this as a final EOF. 3788 */ 3789 return EOB_ACT_END_OF_FILE; 3790 } 3791 3792 else 3793 { 3794 /* We matched some text prior to the EOB, first 3795 * process it. 3796 */ 3797 return EOB_ACT_LAST_MATCH; 3798 } 3799 } 3800 3801 /* Try to read more data. */ 3802 3803 /* First move last chars to start of buffer. */ 3804 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); 3805 3806 for ( i = 0; i < number_to_move; ++i ) 3807 *(dest++) = *(source++); 3808 3809 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 3810 /* don't do the read, it's not guaranteed to return an EOF, 3811 * just force an EOF 3812 */ 3813 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 3814 3815 else 3816 { 3817 int num_to_read = 3818 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 3819 3820 while ( num_to_read <= 0 ) 3821 { /* Not enough room in the buffer - grow it. */ 3822 3823 /* just a shorter name for the current buffer */ 3824 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; 3825 3826 int yy_c_buf_p_offset = 3827 (int) ((yy_c_buf_p) - b->yy_ch_buf); 3828 3829 if ( b->yy_is_our_buffer ) 3830 { 3831 int new_size = b->yy_buf_size * 2; 3832 3833 if ( new_size <= 0 ) 3834 b->yy_buf_size += b->yy_buf_size / 8; 3835 else 3836 b->yy_buf_size *= 2; 3837 3838 b->yy_ch_buf = (char *) 3839 /* Include room in for 2 EOB chars. */ 3840 yyrealloc( (void *) b->yy_ch_buf, 3841 (yy_size_t) (b->yy_buf_size + 2) ); 3842 } 3843 else 3844 /* Can't grow it, we don't own it. */ 3845 b->yy_ch_buf = NULL; 3846 3847 if ( ! b->yy_ch_buf ) 3848 YY_FATAL_ERROR( 3849 "fatal error - scanner input buffer overflow" ); 3850 3851 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 3852 3853 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 3854 number_to_move - 1; 3855 3856 } 3857 3858 if ( num_to_read > YY_READ_BUF_SIZE ) 3859 num_to_read = YY_READ_BUF_SIZE; 3860 3861 /* Read in more data. */ 3862 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 3863 (yy_n_chars), num_to_read ); 3864 3865 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3866 } 3867 3868 if ( (yy_n_chars) == 0 ) 3869 { 3870 if ( number_to_move == YY_MORE_ADJ ) 3871 { 3872 ret_val = EOB_ACT_END_OF_FILE; 3873 yyrestart( yyin ); 3874 } 3875 3876 else 3877 { 3878 ret_val = EOB_ACT_LAST_MATCH; 3879 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 3880 YY_BUFFER_EOF_PENDING; 3881 } 3882 } 3883 3884 else 3885 ret_val = EOB_ACT_CONTINUE_SCAN; 3886 3887 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 3888 /* Extend the array by 50%, plus the number we really need. */ 3889 int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 3890 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( 3891 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); 3892 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 3893 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 3894 /* "- 2" to take care of EOB's */ 3895 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); 3896 } 3897 3898 (yy_n_chars) += number_to_move; 3899 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 3900 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 3901 3902 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 3903 3904 return ret_val; 3905 } 3906 3907 /* yy_get_previous_state - get the state just before the EOB char was reached */ 3908 3909 static yy_state_type yy_get_previous_state (void) 3910 { 3911 yy_state_type yy_current_state; 3912 char *yy_cp; 3913 3914 yy_current_state = (yy_start); 3915 3916 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 3917 { 3918 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 3919 if ( yy_accept[yy_current_state] ) 3920 { 3921 (yy_last_accepting_state) = yy_current_state; 3922 (yy_last_accepting_cpos) = yy_cp; 3923 } 3924 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3925 { 3926 yy_current_state = (int) yy_def[yy_current_state]; 3927 if ( yy_current_state >= 1575 ) 3928 yy_c = yy_meta[yy_c]; 3929 } 3930 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 3931 } 3932 3933 return yy_current_state; 3934 } 3935 3936 /* yy_try_NUL_trans - try to make a transition on the NUL character 3937 * 3938 * synopsis 3939 * next_state = yy_try_NUL_trans( current_state ); 3940 */ 3941 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 3942 { 3943 int yy_is_jam; 3944 char *yy_cp = (yy_c_buf_p); 3945 3946 YY_CHAR yy_c = 1; 3947 if ( yy_accept[yy_current_state] ) 3948 { 3949 (yy_last_accepting_state) = yy_current_state; 3950 (yy_last_accepting_cpos) = yy_cp; 3951 } 3952 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3953 { 3954 yy_current_state = (int) yy_def[yy_current_state]; 3955 if ( yy_current_state >= 1575 ) 3956 yy_c = yy_meta[yy_c]; 3957 } 3958 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; 3959 yy_is_jam = (yy_current_state == 1574); 3960 3961 return yy_is_jam ? 0 : yy_current_state; 3962 } 3963 3964 #ifndef YY_NO_UNPUT 3965 3966 #endif 3967 3968 #ifndef YY_NO_INPUT 3969 #ifdef __cplusplus 3970 static int yyinput (void) 3971 #else 3972 static int input (void) 3973 #endif 3974 3975 { 3976 int c; 3977 3978 *(yy_c_buf_p) = (yy_hold_char); 3979 3980 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 3981 { 3982 /* yy_c_buf_p now points to the character we want to return. 3983 * If this occurs *before* the EOB characters, then it's a 3984 * valid NUL; if not, then we've hit the end of the buffer. 3985 */ 3986 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3987 /* This was really a NUL. */ 3988 *(yy_c_buf_p) = '\0'; 3989 3990 else 3991 { /* need more input */ 3992 int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); 3993 ++(yy_c_buf_p); 3994 3995 switch ( yy_get_next_buffer( ) ) 3996 { 3997 case EOB_ACT_LAST_MATCH: 3998 /* This happens because yy_g_n_b() 3999 * sees that we've accumulated a 4000 * token and flags that we need to 4001 * try matching the token before 4002 * proceeding. But for input(), 4003 * there's no matching to consider. 4004 * So convert the EOB_ACT_LAST_MATCH 4005 * to EOB_ACT_END_OF_FILE. 4006 */ 4007 4008 /* Reset buffer status. */ 4009 yyrestart( yyin ); 4010 4011 /*FALLTHROUGH*/ 4012 4013 case EOB_ACT_END_OF_FILE: 4014 { 4015 if ( yywrap( ) ) 4016 return 0; 4017 4018 if ( ! (yy_did_buffer_switch_on_eof) ) 4019 YY_NEW_FILE; 4020 #ifdef __cplusplus 4021 return yyinput(); 4022 #else 4023 return input(); 4024 #endif 4025 } 4026 4027 case EOB_ACT_CONTINUE_SCAN: 4028 (yy_c_buf_p) = (yytext_ptr) + offset; 4029 break; 4030 } 4031 } 4032 } 4033 4034 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 4035 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 4036 (yy_hold_char) = *++(yy_c_buf_p); 4037 4038 return c; 4039 } 4040 #endif /* ifndef YY_NO_INPUT */ 4041 4042 /** Immediately switch to a different input stream. 4043 * @param input_file A readable stream. 4044 * 4045 * @note This function does not reset the start condition to @c INITIAL . 4046 */ 4047 void yyrestart (FILE * input_file ) 4048 { 4049 4050 if ( ! YY_CURRENT_BUFFER ){ 4051 yyensure_buffer_stack (); 4052 YY_CURRENT_BUFFER_LVALUE = 4053 yy_create_buffer( yyin, YY_BUF_SIZE ); 4054 } 4055 4056 yy_init_buffer( YY_CURRENT_BUFFER, input_file ); 4057 yy_load_buffer_state( ); 4058 } 4059 4060 /** Switch to a different input buffer. 4061 * @param new_buffer The new input buffer. 4062 * 4063 */ 4064 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 4065 { 4066 4067 /* TODO. We should be able to replace this entire function body 4068 * with 4069 * yypop_buffer_state(); 4070 * yypush_buffer_state(new_buffer); 4071 */ 4072 yyensure_buffer_stack (); 4073 if ( YY_CURRENT_BUFFER == new_buffer ) 4074 return; 4075 4076 if ( YY_CURRENT_BUFFER ) 4077 { 4078 /* Flush out information for old buffer. */ 4079 *(yy_c_buf_p) = (yy_hold_char); 4080 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4081 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4082 } 4083 4084 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4085 yy_load_buffer_state( ); 4086 4087 /* We don't actually know whether we did this switch during 4088 * EOF (yywrap()) processing, but the only time this flag 4089 * is looked at is after yywrap() is called, so it's safe 4090 * to go ahead and always set it. 4091 */ 4092 (yy_did_buffer_switch_on_eof) = 1; 4093 } 4094 4095 static void yy_load_buffer_state (void) 4096 { 4097 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 4098 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 4099 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 4100 (yy_hold_char) = *(yy_c_buf_p); 4101 } 4102 4103 /** Allocate and initialize an input buffer state. 4104 * @param file A readable stream. 4105 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 4106 * 4107 * @return the allocated buffer state. 4108 */ 4109 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 4110 { 4111 YY_BUFFER_STATE b; 4112 4113 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 4114 if ( ! b ) 4115 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 4116 4117 b->yy_buf_size = size; 4118 4119 /* yy_ch_buf has to be 2 characters longer than the size given because 4120 * we need to put in 2 end-of-buffer characters. 4121 */ 4122 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); 4123 if ( ! b->yy_ch_buf ) 4124 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 4125 4126 b->yy_is_our_buffer = 1; 4127 4128 yy_init_buffer( b, file ); 4129 4130 return b; 4131 } 4132 4133 /** Destroy the buffer. 4134 * @param b a buffer created with yy_create_buffer() 4135 * 4136 */ 4137 void yy_delete_buffer (YY_BUFFER_STATE b ) 4138 { 4139 4140 if ( ! b ) 4141 return; 4142 4143 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 4144 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 4145 4146 if ( b->yy_is_our_buffer ) 4147 yyfree( (void *) b->yy_ch_buf ); 4148 4149 yyfree( (void *) b ); 4150 } 4151 4152 /* Initializes or reinitializes a buffer. 4153 * This function is sometimes called more than once on the same buffer, 4154 * such as during a yyrestart() or at EOF. 4155 */ 4156 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 4157 4158 { 4159 int oerrno = errno; 4160 4161 yy_flush_buffer( b ); 4162 4163 b->yy_input_file = file; 4164 b->yy_fill_buffer = 1; 4165 4166 /* If b is the current buffer, then yy_init_buffer was _probably_ 4167 * called from yyrestart() or through yy_get_next_buffer. 4168 * In that case, we don't want to reset the lineno or column. 4169 */ 4170 if (b != YY_CURRENT_BUFFER){ 4171 b->yy_bs_lineno = 1; 4172 b->yy_bs_column = 0; 4173 } 4174 4175 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 4176 4177 errno = oerrno; 4178 } 4179 4180 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 4181 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 4182 * 4183 */ 4184 void yy_flush_buffer (YY_BUFFER_STATE b ) 4185 { 4186 if ( ! b ) 4187 return; 4188 4189 b->yy_n_chars = 0; 4190 4191 /* We always need two end-of-buffer characters. The first causes 4192 * a transition to the end-of-buffer state. The second causes 4193 * a jam in that state. 4194 */ 4195 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 4196 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 4197 4198 b->yy_buf_pos = &b->yy_ch_buf[0]; 4199 4200 b->yy_at_bol = 1; 4201 b->yy_buffer_status = YY_BUFFER_NEW; 4202 4203 if ( b == YY_CURRENT_BUFFER ) 4204 yy_load_buffer_state( ); 4205 } 4206 4207 /** Pushes the new state onto the stack. The new state becomes 4208 * the current state. This function will allocate the stack 4209 * if necessary. 4210 * @param new_buffer The new state. 4211 * 4212 */ 4213 void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 4214 { 4215 if (new_buffer == NULL) 4216 return; 4217 4218 yyensure_buffer_stack(); 4219 4220 /* This block is copied from yy_switch_to_buffer. */ 4221 if ( YY_CURRENT_BUFFER ) 4222 { 4223 /* Flush out information for old buffer. */ 4224 *(yy_c_buf_p) = (yy_hold_char); 4225 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4226 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4227 } 4228 4229 /* Only push if top exists. Otherwise, replace top. */ 4230 if (YY_CURRENT_BUFFER) 4231 (yy_buffer_stack_top)++; 4232 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4233 4234 /* copied from yy_switch_to_buffer. */ 4235 yy_load_buffer_state( ); 4236 (yy_did_buffer_switch_on_eof) = 1; 4237 } 4238 4239 /** Removes and deletes the top of the stack, if present. 4240 * The next element becomes the new top. 4241 * 4242 */ 4243 void yypop_buffer_state (void) 4244 { 4245 if (!YY_CURRENT_BUFFER) 4246 return; 4247 4248 yy_delete_buffer(YY_CURRENT_BUFFER ); 4249 YY_CURRENT_BUFFER_LVALUE = NULL; 4250 if ((yy_buffer_stack_top) > 0) 4251 --(yy_buffer_stack_top); 4252 4253 if (YY_CURRENT_BUFFER) { 4254 yy_load_buffer_state( ); 4255 (yy_did_buffer_switch_on_eof) = 1; 4256 } 4257 } 4258 4259 /* Allocates the stack if it does not exist. 4260 * Guarantees space for at least one push. 4261 */ 4262 static void yyensure_buffer_stack (void) 4263 { 4264 yy_size_t num_to_alloc; 4265 4266 if (!(yy_buffer_stack)) { 4267 4268 /* First allocation is just for 2 elements, since we don't know if this 4269 * scanner will even need a stack. We use 2 instead of 1 to avoid an 4270 * immediate realloc on the next call. 4271 */ 4272 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ 4273 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 4274 (num_to_alloc * sizeof(struct yy_buffer_state*) 4275 ); 4276 if ( ! (yy_buffer_stack) ) 4277 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 4278 4279 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 4280 4281 (yy_buffer_stack_max) = num_to_alloc; 4282 (yy_buffer_stack_top) = 0; 4283 return; 4284 } 4285 4286 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 4287 4288 /* Increase the buffer to prepare for a possible push. */ 4289 yy_size_t grow_size = 8 /* arbitrary grow size */; 4290 4291 num_to_alloc = (yy_buffer_stack_max) + grow_size; 4292 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 4293 ((yy_buffer_stack), 4294 num_to_alloc * sizeof(struct yy_buffer_state*) 4295 ); 4296 if ( ! (yy_buffer_stack) ) 4297 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 4298 4299 /* zero only the new slots.*/ 4300 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 4301 (yy_buffer_stack_max) = num_to_alloc; 4302 } 4303 } 4304 4305 /** Setup the input buffer state to scan directly from a user-specified character buffer. 4306 * @param base the character buffer 4307 * @param size the size in bytes of the character buffer 4308 * 4309 * @return the newly allocated buffer state object. 4310 */ 4311 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 4312 { 4313 YY_BUFFER_STATE b; 4314 4315 if ( size < 2 || 4316 base[size-2] != YY_END_OF_BUFFER_CHAR || 4317 base[size-1] != YY_END_OF_BUFFER_CHAR ) 4318 /* They forgot to leave room for the EOB's. */ 4319 return NULL; 4320 4321 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); 4322 if ( ! b ) 4323 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 4324 4325 b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ 4326 b->yy_buf_pos = b->yy_ch_buf = base; 4327 b->yy_is_our_buffer = 0; 4328 b->yy_input_file = NULL; 4329 b->yy_n_chars = b->yy_buf_size; 4330 b->yy_is_interactive = 0; 4331 b->yy_at_bol = 1; 4332 b->yy_fill_buffer = 0; 4333 b->yy_buffer_status = YY_BUFFER_NEW; 4334 4335 yy_switch_to_buffer( b ); 4336 4337 return b; 4338 } 4339 4340 /** Setup the input buffer state to scan a string. The next call to yylex() will 4341 * scan from a @e copy of @a str. 4342 * @param yystr a NUL-terminated string to scan 4343 * 4344 * @return the newly allocated buffer state object. 4345 * @note If you want to scan bytes that may contain NUL values, then use 4346 * yy_scan_bytes() instead. 4347 */ 4348 YY_BUFFER_STATE yy_scan_string (const char * yystr ) 4349 { 4350 4351 return yy_scan_bytes( yystr, (int) strlen(yystr) ); 4352 } 4353 4354 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will 4355 * scan from a @e copy of @a bytes. 4356 * @param yybytes the byte buffer to scan 4357 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. 4358 * 4359 * @return the newly allocated buffer state object. 4360 */ 4361 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) 4362 { 4363 YY_BUFFER_STATE b; 4364 char *buf; 4365 yy_size_t n; 4366 int i; 4367 4368 /* Get memory for full buffer, including space for trailing EOB's. */ 4369 n = (yy_size_t) (_yybytes_len + 2); 4370 buf = (char *) yyalloc( n ); 4371 if ( ! buf ) 4372 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 4373 4374 for ( i = 0; i < _yybytes_len; ++i ) 4375 buf[i] = yybytes[i]; 4376 4377 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 4378 4379 b = yy_scan_buffer( buf, n ); 4380 if ( ! b ) 4381 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 4382 4383 /* It's okay to grow etc. this buffer, and we should throw it 4384 * away when we're done. 4385 */ 4386 b->yy_is_our_buffer = 1; 4387 4388 return b; 4389 } 4390 4391 #ifndef YY_EXIT_FAILURE 4392 #define YY_EXIT_FAILURE 2 4393 #endif 4394 4395 static void yynoreturn yy_fatal_error (const char* msg ) 4396 { 4397 fprintf( stderr, "%s\n", msg ); 4398 exit( YY_EXIT_FAILURE ); 4399 } 4400 4401 /* Redefine yyless() so it works in section 3 code. */ 4402 4403 #undef yyless 4404 #define yyless(n) \ 4405 do \ 4406 { \ 4407 /* Undo effects of setting up yytext. */ \ 4408 int yyless_macro_arg = (n); \ 4409 YY_LESS_LINENO(yyless_macro_arg);\ 4410 yytext[yyleng] = (yy_hold_char); \ 4411 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 4412 (yy_hold_char) = *(yy_c_buf_p); \ 4413 *(yy_c_buf_p) = '\0'; \ 4414 yyleng = yyless_macro_arg; \ 4415 } \ 4416 while ( 0 ) 4417 4418 /* Accessor methods (get/set functions) to struct members. */ 4419 4420 /** Get the current line number. 4421 * 4422 */ 4423 int yyget_lineno (void) 4424 { 4425 4426 return yylineno; 4427 } 4428 4429 /** Get the input stream. 4430 * 4431 */ 4432 FILE *yyget_in (void) 4433 { 4434 return yyin; 4435 } 4436 4437 /** Get the output stream. 4438 * 4439 */ 4440 FILE *yyget_out (void) 4441 { 4442 return yyout; 4443 } 4444 4445 /** Get the length of the current token. 4446 * 4447 */ 4448 int yyget_leng (void) 4449 { 4450 return yyleng; 4451 } 4452 4453 /** Get the current token. 4454 * 4455 */ 4456 4457 char *yyget_text (void) 4458 { 4459 return yytext; 4460 } 4461 4462 /** Set the current line number. 4463 * @param _line_number line number 4464 * 4465 */ 4466 void yyset_lineno (int _line_number ) 4467 { 4468 4469 yylineno = _line_number; 4470 } 4471 4472 /** Set the input stream. This does not discard the current 4473 * input buffer. 4474 * @param _in_str A readable stream. 4475 * 4476 * @see yy_switch_to_buffer 4477 */ 4478 void yyset_in (FILE * _in_str ) 4479 { 4480 yyin = _in_str ; 4481 } 4482 4483 void yyset_out (FILE * _out_str ) 4484 { 4485 yyout = _out_str ; 4486 } 4487 4488 int yyget_debug (void) 4489 { 4490 return yy_flex_debug; 4491 } 4492 4493 void yyset_debug (int _bdebug ) 4494 { 4495 yy_flex_debug = _bdebug ; 4496 } 4497 4498 static int yy_init_globals (void) 4499 { 4500 /* Initialization is the same as for the non-reentrant scanner. 4501 * This function is called from yylex_destroy(), so don't allocate here. 4502 */ 4503 4504 (yy_buffer_stack) = NULL; 4505 (yy_buffer_stack_top) = 0; 4506 (yy_buffer_stack_max) = 0; 4507 (yy_c_buf_p) = NULL; 4508 (yy_init) = 0; 4509 (yy_start) = 0; 4510 4511 /* Defined in main.c */ 4512 #ifdef YY_STDINIT 4513 yyin = stdin; 4514 yyout = stdout; 4515 #else 4516 yyin = NULL; 4517 yyout = NULL; 4518 #endif 4519 4520 /* For future reference: Set errno on error, since we are called by 4521 * yylex_init() 4522 */ 4523 return 0; 4524 } 4525 4526 /* yylex_destroy is for both reentrant and non-reentrant scanners. */ 4527 int yylex_destroy (void) 4528 { 4529 4530 /* Pop the buffer stack, destroying each element. */ 4531 while(YY_CURRENT_BUFFER){ 4532 yy_delete_buffer( YY_CURRENT_BUFFER ); 4533 YY_CURRENT_BUFFER_LVALUE = NULL; 4534 yypop_buffer_state(); 4535 } 4536 4537 /* Destroy the stack itself. */ 4538 yyfree((yy_buffer_stack) ); 4539 (yy_buffer_stack) = NULL; 4540 4541 /* Reset the globals. This is important in a non-reentrant scanner so the next time 4542 * yylex() is called, initialization will occur. */ 4543 yy_init_globals( ); 4544 4545 return 0; 4546 } 4547 4548 /* 4549 * Internal utility routines. 4550 */ 4551 4552 #ifndef yytext_ptr 4553 static void yy_flex_strncpy (char* s1, const char * s2, int n ) 4554 { 4555 4556 int i; 4557 for ( i = 0; i < n; ++i ) 4558 s1[i] = s2[i]; 4559 } 4560 #endif 4561 4562 #ifdef YY_NEED_STRLEN 4563 static int yy_flex_strlen (const char * s ) 4564 { 4565 int n; 4566 for ( n = 0; s[n]; ++n ) 4567 ; 4568 4569 return n; 4570 } 4571 #endif 4572 4573 void *yyalloc (yy_size_t size ) 4574 { 4575 return malloc(size); 4576 } 4577 4578 void *yyrealloc (void * ptr, yy_size_t size ) 4579 { 4580 4581 /* The cast to (char *) in the following accommodates both 4582 * implementations that use char* generic pointers, and those 4583 * that use void* generic pointers. It works with the latter 4584 * because both ANSI C and C++ allow castless assignment from 4585 * any pointer type to void*, and deal with argument conversions 4586 * as though doing an assignment. 4587 */ 4588 return realloc(ptr, size); 4589 } 4590 4591 void yyfree (void * ptr ) 4592 { 4593 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 4594 } 4595 4596 #define YYTABLES_NAME "yytables" 4597 4598 #line 426 "configlexer.lex" 4599 4600 4601