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