File indexing completed on 2024-04-28 04:36:05
0001 #line 2 "cclexer.cpp" 0002 0003 #line 4 "cclexer.cpp" 0004 0005 #define YY_INT_ALIGNED short int 0006 0007 /* A lexical scanner generated by flex */ 0008 0009 #define FLEX_SCANNER 0010 #define YY_FLEX_MAJOR_VERSION 2 0011 #define YY_FLEX_MINOR_VERSION 5 0012 #define YY_FLEX_SUBMINOR_VERSION 39 0013 #if YY_FLEX_SUBMINOR_VERSION > 0 0014 #define FLEX_BETA 0015 #endif 0016 0017 /* The c++ scanner is a mess. The FlexLexer.h header file relies on the 0018 * following macro. This is required in order to pass the c++-multiple-scanners 0019 * test in the regression suite. We get reports that it breaks inheritance. 0020 * We will address this in a future release of flex, or omit the C++ scanner 0021 * altogether. 0022 */ 0023 #define yyFlexLexer yyFlexLexer 0024 0025 /* First, we deal with platform-specific or compiler-specific issues. */ 0026 0027 /* begin standard C headers. */ 0028 0029 /* end standard C headers. */ 0030 0031 /* flex integer type definitions */ 0032 0033 #ifndef FLEXINT_H 0034 #define FLEXINT_H 0035 0036 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 0037 0038 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 0039 0040 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 0041 * if you want the limit (max/min) macros for int types. 0042 */ 0043 #ifndef __STDC_LIMIT_MACROS 0044 #define __STDC_LIMIT_MACROS 1 0045 #endif 0046 0047 #include <inttypes.h> 0048 typedef int8_t flex_int8_t; 0049 typedef uint8_t flex_uint8_t; 0050 typedef int16_t flex_int16_t; 0051 typedef uint16_t flex_uint16_t; 0052 typedef int32_t flex_int32_t; 0053 typedef uint32_t flex_uint32_t; 0054 #else 0055 typedef signed char flex_int8_t; 0056 typedef short int flex_int16_t; 0057 typedef int flex_int32_t; 0058 typedef unsigned char flex_uint8_t; 0059 typedef unsigned short int flex_uint16_t; 0060 typedef unsigned int flex_uint32_t; 0061 0062 /* Limits of integral types. */ 0063 #ifndef INT8_MIN 0064 #define INT8_MIN (-128) 0065 #endif 0066 #ifndef INT16_MIN 0067 #define INT16_MIN (-32767-1) 0068 #endif 0069 #ifndef INT32_MIN 0070 #define INT32_MIN (-2147483647-1) 0071 #endif 0072 #ifndef INT8_MAX 0073 #define INT8_MAX (127) 0074 #endif 0075 #ifndef INT16_MAX 0076 #define INT16_MAX (32767) 0077 #endif 0078 #ifndef INT32_MAX 0079 #define INT32_MAX (2147483647) 0080 #endif 0081 #ifndef UINT8_MAX 0082 #define UINT8_MAX (255U) 0083 #endif 0084 #ifndef UINT16_MAX 0085 #define UINT16_MAX (65535U) 0086 #endif 0087 #ifndef UINT32_MAX 0088 #define UINT32_MAX (4294967295U) 0089 #endif 0090 0091 #endif /* ! C99 */ 0092 0093 #endif /* ! FLEXINT_H */ 0094 0095 /* begin standard C++ headers. */ 0096 #include <iostream> 0097 #include <errno.h> 0098 #include <cstdlib> 0099 #include <cstdio> 0100 #include <cstring> 0101 /* end standard C++ headers. */ 0102 0103 #ifdef __cplusplus 0104 0105 /* The "const" storage-class-modifier is valid. */ 0106 #define YY_USE_CONST 0107 0108 #else /* ! __cplusplus */ 0109 0110 /* C99 requires __STDC__ to be defined as 1. */ 0111 #if defined (__STDC__) 0112 0113 #define YY_USE_CONST 0114 0115 #endif /* defined (__STDC__) */ 0116 #endif /* ! __cplusplus */ 0117 0118 #ifdef YY_USE_CONST 0119 #define yyconst const 0120 #else 0121 #define yyconst 0122 #endif 0123 0124 /* Returned upon end-of-file. */ 0125 #define YY_NULL 0 0126 0127 /* Promotes a possibly negative, possibly signed char to an unsigned 0128 * integer for use as an array index. If the signed char is negative, 0129 * we want to instead treat it as an 8-bit unsigned char, hence the 0130 * double cast. 0131 */ 0132 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 0133 0134 /* Enter a start condition. This macro really ought to take a parameter, 0135 * but we do it the disgusting crufty way forced on us by the ()-less 0136 * definition of BEGIN. 0137 */ 0138 #define BEGIN (yy_start) = 1 + 2 * 0139 0140 /* Translate the current start state into a value that can be later handed 0141 * to BEGIN to return to the state. The YYSTATE alias is for lex 0142 * compatibility. 0143 */ 0144 #define YY_START (((yy_start) - 1) / 2) 0145 #define YYSTATE YY_START 0146 0147 /* Action number for EOF rule of a given start state. */ 0148 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 0149 0150 /* Special action meaning "start processing a new file". */ 0151 #define YY_NEW_FILE yyrestart( yyin ) 0152 0153 #define YY_END_OF_BUFFER_CHAR 0 0154 0155 /* Size of default input buffer. */ 0156 #ifndef YY_BUF_SIZE 0157 #define YY_BUF_SIZE 16384 0158 #endif 0159 0160 /* The state buf must be large enough to hold one state per character in the main buffer. 0161 */ 0162 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 0163 0164 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 0165 #define YY_TYPEDEF_YY_BUFFER_STATE 0166 typedef struct yy_buffer_state *YY_BUFFER_STATE; 0167 #endif 0168 0169 #ifndef YY_TYPEDEF_YY_SIZE_T 0170 #define YY_TYPEDEF_YY_SIZE_T 0171 typedef size_t yy_size_t; 0172 #endif 0173 0174 extern yy_size_t yyleng; 0175 0176 #define EOB_ACT_CONTINUE_SCAN 0 0177 #define EOB_ACT_END_OF_FILE 1 0178 #define EOB_ACT_LAST_MATCH 2 0179 0180 #define YY_LESS_LINENO(n) 0181 #define YY_LINENO_REWIND_TO(ptr) 0182 0183 /* Return all but the first "n" matched characters back to the input stream. */ 0184 #define yyless(n) \ 0185 do \ 0186 { \ 0187 /* Undo effects of setting up yytext. */ \ 0188 int yyless_macro_arg = (n); \ 0189 YY_LESS_LINENO(yyless_macro_arg);\ 0190 *yy_cp = (yy_hold_char); \ 0191 YY_RESTORE_YY_MORE_OFFSET \ 0192 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 0193 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 0194 } \ 0195 while ( 0 ) 0196 0197 #define unput(c) yyunput( c, (yytext_ptr) ) 0198 0199 #ifndef YY_STRUCT_YY_BUFFER_STATE 0200 #define YY_STRUCT_YY_BUFFER_STATE 0201 struct yy_buffer_state 0202 { 0203 0204 std::istream* yy_input_file; 0205 0206 char *yy_ch_buf; /* input buffer */ 0207 char *yy_buf_pos; /* current position in input buffer */ 0208 0209 /* Size of input buffer in bytes, not including room for EOB 0210 * characters. 0211 */ 0212 yy_size_t yy_buf_size; 0213 0214 /* Number of characters read into yy_ch_buf, not including EOB 0215 * characters. 0216 */ 0217 yy_size_t yy_n_chars; 0218 0219 /* Whether we "own" the buffer - i.e., we know we created it, 0220 * and can realloc() it to grow it, and should free() it to 0221 * delete it. 0222 */ 0223 int yy_is_our_buffer; 0224 0225 /* Whether this is an "interactive" input source; if so, and 0226 * if we're using stdio for input, then we want to use getc() 0227 * instead of fread(), to make sure we stop fetching input after 0228 * each newline. 0229 */ 0230 int yy_is_interactive; 0231 0232 /* Whether we're considered to be at the beginning of a line. 0233 * If so, '^' rules will be active on the next match, otherwise 0234 * not. 0235 */ 0236 int yy_at_bol; 0237 0238 int yy_bs_lineno; /**< The line count. */ 0239 int yy_bs_column; /**< The column count. */ 0240 0241 /* Whether to try to fill the input buffer when we reach the 0242 * end of it. 0243 */ 0244 int yy_fill_buffer; 0245 0246 int yy_buffer_status; 0247 0248 #define YY_BUFFER_NEW 0 0249 #define YY_BUFFER_NORMAL 1 0250 /* When an EOF's been seen but there's still some text to process 0251 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 0252 * shouldn't try reading from the input source any more. We might 0253 * still have a bunch of tokens to match, though, because of 0254 * possible backing-up. 0255 * 0256 * When we actually see the EOF, we change the status to "new" 0257 * (via yyrestart()), so that the user can continue scanning by 0258 * just pointing yyin at a new input file. 0259 */ 0260 #define YY_BUFFER_EOF_PENDING 2 0261 0262 }; 0263 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 0264 0265 /* We provide macros for accessing buffer states in case in the 0266 * future we want to put the buffer states in a more general 0267 * "scanner state". 0268 * 0269 * Returns the top of the stack, or NULL. 0270 */ 0271 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 0272 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 0273 : NULL) 0274 0275 /* Same as previous macro, but useful when we know that the buffer stack is not 0276 * NULL or when we need an lvalue. For internal use only. 0277 */ 0278 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 0279 0280 void *yyalloc (yy_size_t ); 0281 void *yyrealloc (void *,yy_size_t ); 0282 void yyfree (void * ); 0283 0284 #define yy_new_buffer yy_create_buffer 0285 0286 #define yy_set_interactive(is_interactive) \ 0287 { \ 0288 if ( ! YY_CURRENT_BUFFER ){ \ 0289 yyensure_buffer_stack (); \ 0290 YY_CURRENT_BUFFER_LVALUE = \ 0291 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 0292 } \ 0293 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 0294 } 0295 0296 #define yy_set_bol(at_bol) \ 0297 { \ 0298 if ( ! YY_CURRENT_BUFFER ){\ 0299 yyensure_buffer_stack (); \ 0300 YY_CURRENT_BUFFER_LVALUE = \ 0301 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 0302 } \ 0303 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 0304 } 0305 0306 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 0307 0308 /* Begin user sect3 */ 0309 #define YY_SKIP_YYWRAP 0310 0311 typedef unsigned char YY_CHAR; 0312 0313 #define yytext_ptr yytext 0314 #define YY_INTERACTIVE 0315 0316 #include <FlexLexer.h> 0317 0318 int yyFlexLexer::yywrap() { return 1; } 0319 int yyFlexLexer::yylex() 0320 { 0321 LexerError( "yyFlexLexer::yylex invoked but %option yyclass used" ); 0322 return 0; 0323 } 0324 0325 #define YY_DECL int cc::Lexer::yylex() 0326 0327 /* Done after the current pattern has been matched and before the 0328 * corresponding action - sets up yytext. 0329 */ 0330 #define YY_DO_BEFORE_ACTION \ 0331 (yytext_ptr) = yy_bp; \ 0332 yyleng = (size_t) (yy_cp - yy_bp); \ 0333 (yy_hold_char) = *yy_cp; \ 0334 *yy_cp = '\0'; \ 0335 (yy_c_buf_p) = yy_cp; 0336 0337 #define YY_NUM_RULES 100 0338 #define YY_END_OF_BUFFER 101 0339 /* This struct is not used in this scanner, 0340 but its presence is necessary. */ 0341 struct yy_trans_info 0342 { 0343 flex_int32_t yy_verify; 0344 flex_int32_t yy_nxt; 0345 }; 0346 static yyconst flex_int16_t yy_accept[746] = 0347 { 0, 0348 0, 0, 6, 6, 101, 99, 1, 2, 22, 99, 0349 4, 96, 49, 43, 99, 10, 11, 39, 35, 16, 0350 37, 18, 41, 97, 97, 20, 17, 25, 34, 27, 0351 21, 14, 15, 47, 96, 96, 96, 96, 96, 96, 0352 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 0353 12, 45, 13, 23, 99, 99, 99, 99, 99, 99, 0354 99, 99, 99, 99, 6, 8, 7, 1, 29, 0, 0355 95, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0356 0, 0, 4, 96, 96, 0, 0, 0, 0, 0, 0357 0, 0, 0, 0, 0, 50, 30, 44, 0, 93, 0358 0359 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0360 40, 32, 36, 33, 38, 19, 0, 98, 0, 0, 0361 0, 0, 0, 5, 3, 42, 98, 97, 0, 98, 0362 98, 97, 0, 0, 0, 0, 0, 0, 97, 0, 0363 0, 0, 0, 0, 51, 26, 24, 28, 53, 48, 0364 96, 96, 96, 96, 96, 96, 96, 96, 60, 96, 0365 96, 96, 96, 96, 96, 65, 96, 96, 96, 96, 0366 96, 96, 96, 96, 96, 96, 96, 46, 31, 96, 0367 96, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0368 0, 0, 0, 0, 0, 0, 0, 0, 6, 7, 0369 0370 7, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0371 96, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0372 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0374 0, 0, 0, 0, 0, 0, 0, 0, 55, 98, 0375 98, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0376 98, 98, 98, 0, 0, 0, 0, 0, 97, 0, 0377 98, 98, 0, 0, 0, 0, 0, 0, 97, 0, 0378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0379 0, 0, 0, 0, 52, 54, 96, 96, 96, 96, 0380 0381 87, 96, 96, 96, 96, 96, 96, 96, 96, 96, 0382 96, 96, 63, 96, 96, 78, 96, 96, 96, 96, 0383 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 0384 96, 96, 0, 0, 0, 0, 0, 96, 96, 96, 0385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0387 96, 96, 96, 0, 0, 0, 0, 0, 0, 0, 0388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0389 0, 98, 0, 0, 0, 0, 0, 98, 0, 98, 0390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0391 0392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0393 0, 0, 0, 97, 98, 0, 97, 96, 96, 96, 0394 96, 75, 96, 57, 79, 96, 96, 96, 96, 61, 0395 62, 96, 96, 64, 96, 81, 96, 96, 96, 96, 0396 96, 96, 96, 96, 96, 77, 96, 96, 96, 96, 0397 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0398 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0400 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0401 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0402 0403 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0404 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0405 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0406 0, 0, 0, 98, 98, 98, 0, 0, 98, 98, 0407 0, 0, 0, 0, 0, 96, 96, 96, 96, 56, 0408 72, 96, 96, 96, 96, 84, 96, 96, 96, 80, 0409 96, 96, 96, 96, 86, 96, 96, 68, 96, 0, 0410 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0411 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0413 0414 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0416 0, 0, 0, 0, 0, 0, 0, 0, 98, 98, 0417 0, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0418 0, 0, 0, 0, 0, 0, 96, 96, 96, 96, 0419 96, 96, 85, 74, 91, 96, 66, 82, 69, 67, 0420 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 0421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0424 0425 0, 0, 0, 98, 88, 96, 96, 96, 96, 59, 0426 96, 73, 96, 96, 0, 0, 0, 0, 0, 0, 0427 0, 0, 0, 0, 0, 0, 98, 96, 90, 96, 0428 58, 76, 83, 70, 0, 96, 96, 96, 96, 96, 0429 96, 96, 71, 89, 0 0430 } ; 0431 0432 static yyconst flex_int32_t yy_ec[256] = 0433 { 0, 0434 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 0435 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0436 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0437 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 0438 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 0439 20, 20, 20, 20, 20, 21, 21, 22, 23, 24, 0440 25, 26, 27, 1, 28, 28, 28, 29, 30, 31, 0441 7, 7, 7, 7, 7, 32, 7, 7, 7, 33, 0442 7, 7, 7, 7, 7, 7, 7, 34, 7, 7, 0443 35, 36, 37, 38, 39, 1, 40, 41, 42, 43, 0444 0445 44, 45, 46, 47, 48, 7, 49, 50, 51, 52, 0446 53, 54, 7, 55, 56, 57, 58, 59, 60, 61, 0447 62, 7, 63, 64, 65, 66, 1, 67, 68, 69, 0448 69, 70, 70, 71, 72, 73, 73, 74, 74, 75, 0449 75, 74, 74, 76, 76, 76, 76, 76, 76, 76, 0450 77, 78, 78, 79, 79, 79, 79, 79, 79, 80, 0451 80, 80, 80, 81, 82, 83, 84, 85, 86, 87, 0452 88, 89, 90, 91, 92, 93, 94, 93, 95, 96, 0453 97, 98, 99, 100, 101, 102, 103, 104, 102, 102, 0454 102, 1, 1, 105, 106, 107, 107, 107, 107, 107, 0455 0456 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 0457 107, 107, 107, 107, 107, 107, 108, 107, 109, 107, 0458 107, 107, 107, 110, 111, 112, 113, 114, 115, 115, 0459 115, 115, 115, 112, 112, 112, 112, 112, 116, 117, 0460 118, 118, 118, 118, 118, 118, 118, 119, 120, 120, 0461 120, 121, 122, 1, 1 0462 } ; 0463 0464 static yyconst flex_int32_t yy_meta[123] = 0465 { 0, 0466 1, 1, 2, 1, 1, 1, 3, 1, 1, 1, 0467 1, 1, 4, 1, 1, 1, 1, 5, 3, 3, 0468 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 0469 3, 3, 3, 3, 1, 1, 1, 1, 3, 3, 0470 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0471 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0472 3, 3, 1, 1, 1, 1, 6, 7, 7, 7, 0473 7, 6, 6, 6, 7, 7, 8, 7, 7, 7, 0474 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0475 9, 9, 9, 9, 9, 9, 10, 10, 11, 10, 0476 0477 10, 10, 10, 10, 1, 3, 3, 3, 3, 3, 0478 3, 1, 3, 3, 3, 3, 1, 1, 1, 1, 0479 1, 1 0480 } ; 0481 0482 static yyconst flex_int16_t yy_base[800] = 0483 { 0, 0484 0, 0, 120, 121, 2366, 8770, 2363, 8770, 2339, 132, 0485 0, 106, 2338, 119, 252, 8770, 8770, 2334, 115, 8770, 0486 116, 150, 118, 358, 159, 8770, 8770, 114, 2329, 120, 0487 8770, 8770, 8770, 2319, 186, 91, 109, 112, 119, 123, 0488 142, 121, 148, 143, 111, 217, 115, 114, 144, 147, 0489 8770, 160, 8770, 8770, 0, 0, 146, 185, 395, 2274, 0490 235, 211, 0, 235, 0, 8770, 143, 2339, 8770, 497, 0491 8770, 8770, 390, 617, 673, 273, 702, 382, 734, 257, 0492 769, 166, 0, 314, 397, 0, 0, 300, 421, 794, 0493 2268, 336, 336, 0, 442, 8770, 8770, 8770, 896, 8770, 0494 0495 529, 1016, 1072, 483, 1101, 521, 1133, 391, 1168, 204, 0496 8770, 8770, 8770, 8770, 8770, 8770, 2318, 881, 543, 537, 0497 557, 2266, 2228, 8770, 0, 8770, 914, 931, 1256, 8770, 0498 951, 8770, 1262, 581, 575, 1226, 2263, 2226, 1305, 597, 0499 820, 1287, 2260, 2223, 2301, 8770, 8770, 8770, 2296, 8770, 0500 523, 2269, 2262, 2274, 2261, 2276, 2258, 2264, 2248, 2241, 0501 2238, 2238, 2241, 2238, 2235, 0, 151, 2238, 153, 2236, 0502 2242, 2247, 2237, 2230, 242, 239, 2235, 8770, 8770, 0, 0503 0, 1366, 0, 985, 0, 1255, 2063, 0, 231, 869, 0504 0, 1331, 0, 0, 0, 0, 0, 260, 0, 0, 0505 0506 205, 8770, 1480, 1600, 1720, 1840, 1960, 2080, 2136, 2174, 0507 0, 0, 0, 1339, 0, 1349, 2062, 0, 277, 964, 0508 0, 1375, 0, 0, 0, 0, 0, 320, 2276, 8770, 0509 1448, 2396, 2452, 1387, 2481, 1440, 2513, 473, 2548, 345, 0510 2650, 2770, 2890, 1507, 2946, 2984, 3022, 3060, 8770, 8770, 0511 1539, 1488, 1523, 1533, 1542, 1554, 394, 1289, 459, 0, 0512 1637, 8770, 1655, 1438, 1594, 1686, 2072, 2029, 8770, 935, 0513 1707, 8770, 1459, 1697, 1805, 2064, 2027, 1884, 1890, 1716, 0514 1763, 1883, 1892, 1902, 499, 1592, 1914, 1924, 1934, 1943, 0515 1953, 502, 1662, 521, 8770, 8770, 2028, 2261, 382, 338, 0516 0517 2069, 380, 196, 503, 511, 512, 354, 315, 539, 589, 0518 598, 404, 2068, 448, 150, 2067, 230, 596, 846, 848, 0519 412, 866, 892, 861, 595, 916, 885, 868, 918, 2294, 0520 2056, 2668, 1970, 1993, 3085, 1996, 2014, 0, 1985, 1934, 0521 2288, 3187, 3243, 2036, 3272, 2052, 3304, 916, 3339, 931, 0522 3441, 3561, 2340, 3617, 3655, 3692, 3794, 1977, 3850, 3888, 0523 1903, 1882, 1881, 3990, 4110, 4230, 2635, 4334, 4372, 4410, 0524 4505, 4555, 2621, 4593, 4631, 4668, 2767, 4706, 4744, 4782, 0525 2337, 2638, 2219, 2318, 2642, 1873, 1835, 2797, 2341, 2828, 0526 2267, 2736, 2859, 1870, 1833, 2777, 2880, 2890, 2899, 3110, 0527 0528 951, 2732, 972, 3120, 3130, 3141, 3150, 3160, 977, 2783, 0529 980, 3438, 3465, 1261, 3483, 3977, 4008, 1223, 912, 1248, 0530 1267, 1875, 917, 1856, 1855, 1021, 1018, 1272, 1302, 1840, 0531 1835, 1234, 1313, 1833, 594, 1831, 1333, 1258, 1319, 886, 0532 1330, 1290, 977, 1236, 1019, 1829, 1351, 1020, 4028, 1827, 0533 3367, 3436, 4807, 1818, 3486, 4047, 3492, 0, 3517, 1796, 0534 0, 1341, 3471, 1393, 4909, 5029, 5149, 3812, 5253, 5291, 0535 5329, 5431, 5551, 3765, 5607, 5645, 5682, 5784, 3530, 3720, 0536 3791, 3804, 4084, 3933, 4110, 4121, 4261, 3950, 4067, 5904, 0537 6024, 4214, 6080, 6118, 6155, 6257, 4128, 6313, 6351, 4511, 0538 0539 4161, 4287, 4476, 517, 1774, 6446, 4240, 4500, 4513, 4835, 0540 4848, 4313, 4879, 4890, 4958, 6496, 0, 4921, 4952, 4968, 0541 4982, 4992, 1402, 4539, 1410, 5002, 5012, 5022, 5031, 5041, 0542 1414, 4923, 1418, 5191, 5418, 5450, 1419, 4024, 5454, 8770, 0543 5075, 5102, 5406, 1809, 1771, 5485, 5771, 1453, 1458, 1830, 0544 1829, 1481, 1512, 1822, 1502, 1821, 1820, 1363, 1517, 1812, 0545 1310, 288, 1437, 1800, 1780, 1626, 1486, 1777, 5802, 5140, 0546 5154, 5367, 1737, 0, 1575, 5146, 1625, 5819, 6598, 6718, 0547 5713, 6774, 6812, 6849, 6951, 5167, 7007, 7045, 7147, 7267, 0548 0, 5427, 5488, 0, 5782, 5874, 5891, 7387, 6009, 7507, 0549 0550 7627, 5904, 7683, 7721, 7758, 7860, 5522, 5981, 5994, 6223, 0551 6236, 5232, 6262, 6188, 7980, 5205, 5360, 6452, 6269, 6418, 0552 6431, 6444, 6457, 6528, 6555, 6566, 8093, 6634, 6637, 6652, 0553 4168, 7134, 8770, 5744, 5855, 6640, 1714, 1647, 6601, 6686, 0554 6874, 6913, 6923, 1666, 5784, 1681, 1460, 1633, 1652, 1680, 0555 1523, 1705, 1655, 1653, 1629, 1628, 1610, 1591, 1560, 1539, 0556 1348, 1522, 1513, 7165, 6997, 5961, 6950, 7129, 1705, 1460, 0557 7285, 5084, 7079, 7202, 7329, 7100, 7121, 7357, 7368, 7279, 0558 7153, 7375, 8207, 7443, 7388, 7431, 7444, 7464, 7477, 7494, 0559 7514, 7525, 7845, 7612, 7639, 7814, 7824, 7834, 7601, 7844, 0560 0561 1708, 7604, 1734, 7919, 1485, 1711, 1428, 1635, 1324, 1287, 0562 1733, 1267, 1488, 1252, 8012, 7978, 7991, 8059, 8072, 8085, 0563 7911, 8111, 8137, 8225, 8087, 8207, 8242, 1731, 1236, 1710, 0564 1019, 977, 951, 949, 8260, 1769, 887, 1717, 1775, 1818, 0565 1819, 1828, 557, 494, 8770, 8358, 8369, 8380, 528, 8391, 0566 8397, 8402, 8408, 8413, 8417, 8428, 8439, 8450, 8461, 443, 0567 8467, 8472, 8478, 8483, 8487, 8498, 8509, 8515, 8521, 8527, 0568 8533, 8539, 8547, 8558, 8569, 8580, 8586, 8592, 8598, 8604, 0569 8610, 8618, 8629, 260, 8635, 8641, 8652, 8663, 8674, 8680, 0570 8686, 8697, 8708, 8719, 154, 8725, 8736, 8747, 8758 0571 0572 } ; 0573 0574 static yyconst flex_int16_t yy_def[800] = 0575 { 0, 0576 745, 1, 746, 746, 745, 745, 745, 745, 745, 747, 0577 748, 749, 745, 745, 750, 745, 745, 745, 745, 745, 0578 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0579 745, 745, 745, 745, 749, 35, 35, 35, 35, 35, 0580 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0581 745, 745, 745, 745, 751, 752, 752, 752, 745, 753, 0582 754, 745, 755, 745, 756, 745, 757, 745, 745, 747, 0583 745, 745, 758, 747, 74, 75, 75, 77, 77, 79, 0584 79, 81, 759, 760, 760, 761, 762, 762, 762, 745, 0585 763, 764, 745, 765, 745, 745, 745, 745, 766, 745, 0586 0587 766, 766, 102, 103, 103, 105, 105, 107, 107, 109, 0588 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0589 745, 745, 745, 745, 767, 745, 745, 745, 745, 745, 0590 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0591 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0592 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0593 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0594 85, 85, 85, 85, 85, 85, 85, 745, 745, 85, 0595 85, 85, 768, 768, 184, 184, 186, 184, 768, 768, 0596 769, 745, 770, 771, 772, 770, 770, 745, 773, 774, 0597 0598 774, 745, 775, 776, 776, 775, 776, 776, 208, 208, 0599 85, 85, 777, 777, 214, 214, 216, 214, 777, 777, 0600 778, 745, 779, 780, 781, 779, 779, 745, 782, 745, 0601 782, 782, 232, 233, 233, 235, 235, 237, 237, 239, 0602 782, 782, 782, 243, 239, 239, 239, 239, 745, 745, 0603 745, 745, 745, 745, 745, 745, 745, 745, 745, 783, 0604 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0605 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0606 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0607 745, 745, 745, 745, 745, 745, 784, 784, 298, 298, 0608 0609 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 0610 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 0611 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 0612 298, 298, 785, 785, 745, 786, 745, 330, 298, 298, 0613 787, 787, 342, 343, 343, 345, 345, 347, 347, 349, 0614 788, 788, 352, 352, 354, 354, 787, 352, 352, 352, 0615 298, 298, 298, 789, 789, 789, 366, 366, 368, 368, 0616 366, 368, 372, 372, 374, 374, 366, 374, 374, 374, 0617 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0618 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0619 0620 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0621 745, 745, 745, 745, 745, 745, 745, 298, 298, 298, 0622 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 0623 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 0624 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 0625 790, 790, 745, 791, 745, 449, 790, 457, 457, 459, 0626 457, 790, 790, 745, 792, 792, 792, 467, 467, 469, 0627 469, 793, 793, 473, 473, 475, 475, 793, 473, 473, 0628 473, 473, 473, 473, 473, 473, 467, 473, 473, 794, 0629 794, 491, 491, 493, 493, 794, 491, 491, 491, 496, 0630 0631 491, 491, 493, 495, 495, 496, 491, 491, 491, 491, 0632 491, 491, 491, 491, 496, 491, 516, 745, 745, 745, 0633 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0634 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0635 745, 745, 745, 745, 745, 795, 795, 547, 547, 547, 0636 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 0637 547, 547, 547, 547, 547, 547, 547, 547, 547, 796, 0638 796, 796, 572, 571, 796, 796, 745, 547, 797, 797, 0639 580, 580, 582, 582, 797, 580, 580, 580, 798, 798, 0640 590, 590, 590, 590, 590, 590, 590, 798, 585, 799, 0641 0642 799, 601, 601, 603, 603, 799, 601, 601, 601, 601, 0643 601, 601, 601, 601, 799, 601, 601, 615, 601, 601, 0644 601, 601, 601, 601, 601, 601, 615, 615, 745, 745, 0645 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0646 745, 745, 745, 745, 745, 745, 547, 547, 547, 547, 0647 547, 547, 547, 547, 547, 547, 547, 547, 547, 547, 0648 547, 547, 547, 547, 585, 580, 580, 582, 584, 584, 0649 585, 580, 580, 580, 580, 580, 580, 580, 580, 585, 0650 580, 580, 798, 615, 601, 601, 601, 601, 601, 601, 0651 601, 601, 615, 615, 615, 745, 745, 745, 745, 745, 0652 0653 745, 745, 745, 745, 547, 547, 547, 547, 547, 547, 0654 547, 547, 547, 547, 585, 580, 580, 580, 580, 580, 0655 580, 580, 580, 585, 585, 615, 745, 547, 547, 547, 0656 547, 547, 547, 547, 585, 547, 547, 547, 547, 547, 0657 547, 547, 547, 547, 0, 745, 745, 745, 745, 745, 0658 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0659 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0660 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0661 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 0662 745, 745, 745, 745, 745, 745, 745, 745, 745 0663 0664 } ; 0665 0666 static yyconst flex_int16_t yy_nxt[8893] = 0667 { 0, 0668 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 0669 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0670 25, 26, 27, 28, 29, 30, 31, 12, 12, 12, 0671 12, 12, 12, 12, 32, 6, 33, 34, 35, 36, 0672 37, 38, 39, 40, 41, 42, 12, 43, 12, 44, 0673 12, 12, 12, 12, 45, 46, 47, 48, 49, 50, 0674 12, 12, 51, 52, 53, 54, 6, 6, 6, 6, 0675 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0676 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0677 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0678 0679 6, 6, 6, 6, 6, 55, 56, 57, 58, 59, 0680 60, 6, 61, 62, 63, 64, 6, 6, 6, 6, 0681 6, 6, 66, 66, 85, 85, 85, 97, 112, 84, 0682 124, 114, 67, 67, 71, 125, 72, 145, 146, 113, 0683 115, 116, 126, 98, 148, 149, 152, 84, 153, 84, 0684 84, 155, 84, 84, 169, 201, 84, 84, 156, 84, 0685 202, 84, 158, 154, 157, 175, 117, 73, 118, 118, 0686 118, 159, 160, 165, 161, 127, 174, 139, 139, 139, 0687 84, 84, 84, 162, 178, 84, 84, 130, 131, 130, 0688 132, 163, 166, 177, 164, 168, 176, 435, 318, 167, 0689 0690 315, 130, 131, 130, 85, 85, 85, 316, 132, 319, 0691 84, 86, 87, 88, 89, 90, 91, 201, 92, 93, 0692 94, 95, 202, 179, 151, 182, 182, 182, 182, 182, 0693 182, 182, 210, 210, 210, 423, 74, 74, 74, 74, 0694 74, 75, 76, 76, 76, 76, 76, 76, 77, 78, 0695 79, 80, 81, 82, 100, 84, 84, 119, 120, 121, 0696 122, 100, 84, 170, 171, 123, 140, 141, 142, 143, 0697 248, 248, 248, 172, 144, 436, 173, 182, 182, 182, 0698 182, 182, 182, 182, 182, 182, 327, 101, 328, 325, 0699 84, 86, 87, 88, 89, 90, 91, 326, 92, 93, 0700 0701 94, 95, 191, 191, 191, 192, 182, 182, 182, 193, 0702 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 0703 197, 197, 197, 209, 209, 209, 209, 209, 209, 659, 0704 195, 84, 85, 85, 85, 129, 129, 129, 198, 74, 0705 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 0706 74, 74, 212, 212, 212, 429, 102, 102, 102, 102, 0707 102, 103, 104, 104, 104, 104, 104, 104, 105, 106, 0708 107, 108, 109, 110, 127, 84, 128, 128, 129, 212, 0709 212, 212, 212, 212, 212, 212, 130, 131, 130, 132, 0710 421, 133, 71, 428, 70, 85, 85, 85, 84, 204, 0711 0712 130, 131, 130, 221, 221, 221, 222, 132, 205, 205, 0713 223, 370, 370, 370, 84, 85, 85, 85, 133, 86, 0714 87, 88, 89, 90, 91, 70, 92, 93, 94, 95, 0715 204, 225, 422, 420, 204, 226, 226, 226, 226, 226, 0716 84, 204, 84, 433, 204, 84, 204, 206, 208, 208, 0717 208, 208, 208, 208, 208, 208, 208, 247, 247, 247, 0718 247, 247, 247, 440, 84, 134, 135, 136, 137, 118, 0719 118, 118, 84, 138, 183, 183, 184, 183, 184, 183, 0720 185, 183, 185, 183, 186, 183, 187, 183, 188, 188, 0721 183, 188, 183, 183, 183, 189, 183, 189, 183, 71, 0722 0723 434, 72, 86, 87, 88, 89, 90, 91, 84, 92, 0724 93, 94, 95, 212, 212, 212, 212, 212, 212, 212, 0725 212, 212, 227, 227, 227, 227, 227, 227, 227, 227, 0726 84, 100, 73, 241, 118, 118, 118, 84, 99, 369, 0727 369, 369, 369, 369, 369, 228, 424, 242, 242, 245, 0728 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 0729 245, 245, 297, 84, 99, 425, 298, 426, 427, 241, 0730 299, 84, 84, 241, 129, 129, 129, 139, 139, 139, 0731 241, 300, 430, 241, 625, 241, 243, 246, 246, 246, 0732 246, 246, 246, 246, 246, 246, 139, 139, 139, 84, 0733 0734 84, 74, 74, 74, 74, 74, 75, 76, 76, 76, 0735 76, 76, 76, 77, 78, 79, 80, 81, 82, 71, 0736 232, 72, 118, 118, 118, 118, 118, 118, 118, 118, 0737 118, 118, 118, 118, 118, 118, 118, 118, 252, 431, 0738 252, 432, 253, 437, 253, 557, 254, 444, 255, 84, 0739 256, 256, 73, 256, 84, 84, 84, 257, 84, 257, 0740 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 0741 129, 129, 129, 129, 129, 129, 139, 139, 139, 139, 0742 139, 139, 139, 207, 207, 207, 207, 207, 207, 207, 0743 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 0744 0745 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 0746 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 0747 207, 74, 74, 74, 74, 74, 75, 76, 76, 76, 0748 76, 76, 76, 77, 78, 79, 80, 81, 82, 70, 0749 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 0750 70, 70, 74, 74, 74, 74, 74, 74, 74, 74, 0751 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 0752 74, 74, 74, 74, 74, 74, 74, 208, 208, 208, 0753 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 0754 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 0755 0756 208, 208, 208, 208, 208, 208, 209, 209, 209, 209, 0757 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 0758 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 0759 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, 0760 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0761 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0762 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0763 210, 210, 210, 213, 213, 214, 213, 214, 213, 215, 0764 213, 215, 213, 216, 213, 217, 213, 218, 218, 213, 0765 218, 213, 213, 213, 219, 213, 219, 213, 100, 118, 0766 0767 118, 118, 439, 438, 443, 230, 84, 447, 84, 250, 0768 251, 250, 139, 139, 139, 139, 139, 139, 139, 139, 0769 139, 84, 441, 250, 251, 250, 84, 446, 84, 561, 0770 739, 231, 261, 261, 261, 182, 182, 182, 182, 182, 0771 182, 182, 262, 263, 262, 84, 84, 127, 442, 128, 0772 128, 129, 84, 271, 271, 271, 262, 263, 262, 130, 0773 131, 130, 269, 445, 270, 550, 270, 448, 547, 271, 0774 271, 271, 84, 130, 131, 130, 84, 84, 84, 272, 0775 269, 272, 470, 470, 470, 470, 470, 470, 119, 120, 0776 121, 122, 84, 272, 84, 272, 123, 471, 471, 471, 0777 0778 232, 232, 232, 232, 232, 233, 234, 234, 234, 234, 0779 234, 234, 235, 236, 237, 238, 239, 240, 100, 564, 0780 84, 264, 265, 266, 267, 230, 261, 261, 261, 268, 0781 212, 212, 212, 212, 212, 212, 212, 84, 134, 135, 0782 136, 137, 273, 274, 275, 276, 138, 261, 261, 261, 0783 277, 231, 271, 271, 271, 271, 271, 271, 273, 274, 0784 275, 276, 84, 568, 566, 552, 277, 182, 182, 182, 0785 182, 182, 182, 182, 182, 182, 182, 551, 84, 84, 0786 84, 84, 244, 244, 244, 244, 244, 244, 244, 244, 0787 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 0788 0789 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 0790 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 0791 232, 232, 232, 232, 232, 233, 234, 234, 234, 234, 0792 234, 234, 235, 236, 237, 238, 239, 240, 229, 229, 0793 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 0794 229, 245, 245, 245, 245, 245, 245, 245, 245, 245, 0795 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 0796 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 0797 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 0798 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 0799 0800 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 0801 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 0802 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 0803 247, 247, 247, 247, 247, 247, 247, 248, 248, 248, 0804 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 0805 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 0806 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 0807 248, 248, 127, 546, 129, 129, 129, 537, 278, 84, 0808 279, 279, 279, 84, 130, 131, 130, 565, 555, 279, 0809 279, 279, 279, 415, 84, 734, 84, 548, 130, 131, 0810 0811 130, 279, 279, 279, 279, 279, 279, 280, 84, 280, 0812 84, 281, 559, 281, 415, 282, 549, 283, 84, 284, 0813 284, 127, 284, 139, 139, 139, 285, 84, 285, 553, 0814 84, 563, 84, 130, 131, 130, 132, 338, 338, 338, 0815 338, 338, 338, 338, 338, 338, 338, 130, 131, 130, 0816 84, 554, 658, 84, 132, 118, 118, 118, 118, 118, 0817 118, 118, 84, 134, 135, 136, 137, 731, 287, 556, 0818 287, 138, 288, 84, 288, 560, 289, 562, 290, 84, 0819 291, 291, 127, 291, 330, 330, 330, 292, 558, 292, 0820 84, 84, 712, 84, 331, 332, 331, 339, 339, 339, 0821 0822 339, 339, 339, 339, 339, 339, 84, 567, 331, 332, 0823 331, 84, 140, 141, 142, 143, 456, 456, 456, 656, 0824 144, 212, 212, 212, 212, 212, 212, 212, 212, 212, 0825 212, 361, 361, 361, 361, 361, 361, 361, 361, 361, 0826 361, 362, 362, 362, 362, 362, 362, 362, 362, 362, 0827 100, 415, 364, 232, 232, 232, 232, 232, 232, 232, 0828 232, 232, 232, 232, 232, 232, 365, 365, 330, 330, 0829 330, 729, 415, 333, 334, 335, 336, 382, 382, 382, 0830 84, 337, 71, 660, 71, 382, 382, 382, 364, 390, 0831 390, 390, 364, 390, 390, 390, 84, 650, 705, 364, 0832 0833 649, 84, 364, 84, 364, 366, 368, 368, 368, 368, 0834 368, 368, 368, 368, 368, 341, 230, 261, 261, 261, 0835 261, 261, 261, 261, 84, 229, 229, 229, 84, 84, 0836 733, 84, 651, 663, 229, 229, 229, 229, 271, 271, 0837 271, 271, 271, 271, 271, 84, 229, 229, 229, 229, 0838 229, 229, 381, 654, 381, 84, 84, 382, 382, 382, 0839 84, 652, 714, 723, 229, 713, 84, 250, 657, 250, 0840 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 0841 709, 250, 84, 250, 342, 342, 342, 342, 342, 343, 0842 344, 344, 344, 344, 344, 344, 345, 346, 347, 348, 0843 0844 349, 350, 71, 84, 72, 118, 118, 118, 118, 118, 0845 118, 118, 118, 118, 118, 388, 388, 388, 388, 388, 0846 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, 0847 388, 388, 388, 388, 84, 73, 118, 118, 118, 118, 0848 118, 118, 118, 118, 118, 118, 383, 384, 385, 386, 0849 569, 569, 569, 84, 387, 261, 261, 261, 129, 129, 0850 129, 129, 129, 129, 129, 262, 263, 262, 389, 84, 0851 389, 711, 84, 390, 390, 390, 84, 662, 84, 262, 0852 263, 262, 730, 262, 706, 262, 261, 261, 261, 261, 0853 261, 261, 261, 261, 261, 84, 84, 262, 84, 262, 0854 0855 449, 449, 449, 707, 74, 74, 74, 74, 74, 75, 0856 76, 76, 76, 76, 76, 76, 77, 78, 79, 80, 0857 81, 82, 71, 84, 72, 271, 271, 271, 139, 139, 0858 139, 139, 139, 139, 139, 272, 708, 272, 351, 351, 0859 351, 539, 539, 539, 264, 265, 266, 267, 84, 272, 0860 703, 272, 268, 84, 84, 73, 539, 539, 539, 737, 0861 84, 710, 391, 392, 393, 394, 728, 396, 740, 396, 0862 395, 397, 722, 397, 84, 398, 84, 399, 736, 400, 0863 400, 702, 400, 632, 632, 632, 401, 732, 401, 271, 0864 271, 271, 271, 271, 271, 271, 271, 271, 129, 129, 0865 0866 129, 129, 129, 129, 129, 129, 129, 129, 342, 632, 0867 632, 632, 84, 741, 273, 274, 275, 276, 84, 211, 0868 84, 738, 277, 84, 74, 74, 74, 352, 353, 354, 0869 355, 76, 76, 76, 76, 356, 77, 78, 79, 80, 0870 81, 82, 71, 661, 71, 129, 129, 129, 129, 129, 0871 129, 129, 129, 129, 129, 84, 742, 743, 357, 357, 0872 357, 84, 84, 655, 84, 653, 744, 357, 357, 357, 0873 357, 84, 84, 84, 646, 341, 645, 626, 211, 357, 0874 357, 357, 357, 357, 357, 576, 404, 84, 404, 84, 0875 405, 84, 405, 84, 406, 84, 407, 206, 408, 408, 0876 0877 84, 408, 412, 412, 412, 409, 413, 409, 279, 279, 0878 279, 412, 412, 412, 412, 84, 84, 279, 279, 279, 0879 279, 414, 415, 412, 412, 412, 412, 412, 412, 279, 0880 279, 279, 279, 279, 279, 84, 533, 532, 525, 414, 0881 524, 84, 84, 415, 342, 342, 342, 342, 342, 343, 0882 344, 344, 344, 344, 344, 344, 345, 346, 347, 348, 0883 349, 350, 71, 84, 72, 416, 416, 416, 416, 416, 0884 416, 416, 416, 416, 416, 416, 416, 416, 416, 416, 0885 416, 416, 416, 416, 129, 129, 129, 129, 129, 129, 0886 129, 129, 129, 129, 84, 73, 139, 139, 139, 139, 0887 0888 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 0889 139, 139, 139, 139, 139, 139, 417, 417, 417, 417, 0890 417, 417, 417, 417, 417, 417, 417, 417, 417, 417, 0891 417, 417, 417, 417, 417, 139, 139, 139, 139, 139, 0892 139, 139, 139, 139, 139, 84, 85, 85, 85, 456, 0893 456, 456, 456, 456, 456, 456, 207, 207, 207, 207, 0894 207, 207, 207, 463, 74, 74, 74, 74, 74, 75, 0895 76, 76, 76, 76, 76, 76, 77, 78, 79, 80, 0896 81, 82, 71, 418, 72, 456, 456, 456, 456, 456, 0897 456, 456, 456, 456, 227, 227, 227, 227, 227, 227, 0898 0899 227, 227, 342, 342, 342, 342, 342, 342, 342, 342, 0900 342, 342, 342, 342, 342, 73, 84, 464, 469, 469, 0901 469, 469, 469, 469, 469, 469, 469, 84, 84, 84, 0902 411, 410, 403, 86, 87, 88, 89, 90, 91, 402, 0903 92, 93, 94, 95, 211, 181, 358, 358, 358, 358, 0904 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 0905 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 0906 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 0907 358, 358, 358, 358, 74, 74, 74, 74, 74, 75, 0908 76, 76, 76, 76, 76, 76, 77, 78, 79, 80, 0909 0910 81, 82, 359, 359, 359, 359, 359, 359, 359, 359, 0911 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 0912 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 0913 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 0914 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 0915 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 0916 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 0917 360, 360, 360, 360, 360, 360, 360, 360, 100, 85, 0918 85, 85, 329, 324, 323, 100, 322, 321, 320, 317, 0919 71, 314, 313, 312, 311, 310, 309, 465, 382, 382, 0920 0921 382, 382, 382, 382, 382, 308, 466, 466, 307, 306, 0922 127, 231, 330, 330, 330, 305, 304, 303, 302, 301, 0923 296, 419, 331, 332, 331, 295, 294, 293, 465, 198, 0924 286, 259, 465, 258, 249, 220, 331, 332, 331, 465, 0925 68, 190, 465, 150, 465, 467, 390, 390, 390, 390, 0926 390, 390, 390, 147, 84, 382, 382, 382, 111, 390, 0927 390, 390, 96, 69, 68, 745, 86, 87, 88, 89, 0928 90, 91, 745, 92, 93, 94, 95, 745, 745, 745, 0929 232, 232, 232, 232, 232, 233, 234, 234, 234, 234, 0930 234, 234, 235, 236, 237, 238, 239, 240, 100, 745, 0931 0932 745, 333, 334, 335, 336, 100, 745, 745, 745, 337, 0933 382, 382, 382, 382, 382, 382, 382, 382, 382, 207, 0934 207, 207, 207, 207, 207, 207, 745, 745, 745, 745, 0935 745, 231, 478, 478, 478, 478, 478, 478, 478, 478, 0936 478, 745, 745, 745, 383, 384, 385, 386, 391, 392, 0937 393, 394, 387, 745, 745, 745, 395, 745, 745, 745, 0938 745, 745, 367, 367, 367, 367, 367, 367, 367, 367, 0939 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 0940 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 0941 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 0942 0943 232, 232, 232, 232, 232, 233, 234, 234, 234, 234, 0944 234, 234, 235, 236, 237, 238, 239, 240, 229, 229, 0945 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 0946 229, 232, 232, 232, 232, 232, 232, 232, 232, 232, 0947 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 0948 232, 232, 232, 232, 232, 232, 368, 368, 368, 368, 0949 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 0950 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 0951 368, 368, 368, 368, 368, 369, 369, 369, 369, 369, 0952 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 0953 0954 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 0955 369, 369, 369, 369, 369, 369, 369, 370, 370, 370, 0956 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 0957 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 0958 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 0959 370, 370, 100, 229, 229, 229, 382, 382, 382, 230, 0960 745, 745, 229, 229, 229, 229, 250, 745, 250, 745, 0961 745, 745, 745, 745, 229, 229, 229, 229, 229, 229, 0962 250, 270, 250, 270, 745, 231, 449, 449, 449, 745, 0963 745, 745, 229, 745, 745, 745, 450, 745, 450, 745, 0964 0965 367, 367, 367, 367, 367, 367, 367, 745, 745, 745, 0966 450, 745, 450, 506, 506, 506, 506, 506, 506, 506, 0967 506, 506, 745, 518, 745, 518, 745, 519, 84, 519, 0968 745, 520, 745, 521, 745, 522, 522, 745, 522, 745, 0969 745, 745, 523, 745, 523, 383, 384, 385, 386, 745, 0970 745, 745, 745, 387, 232, 232, 232, 232, 232, 233, 0971 234, 234, 234, 234, 234, 234, 235, 236, 237, 238, 0972 239, 240, 100, 745, 745, 451, 452, 453, 454, 230, 0973 745, 745, 745, 455, 745, 515, 515, 515, 371, 371, 0974 371, 745, 745, 745, 515, 515, 515, 515, 261, 261, 0975 0976 261, 261, 261, 261, 261, 231, 515, 515, 515, 515, 0977 515, 515, 745, 745, 745, 118, 118, 118, 745, 745, 0978 745, 745, 745, 745, 229, 250, 251, 250, 390, 390, 0979 390, 390, 390, 390, 390, 390, 390, 745, 745, 250, 0980 251, 250, 745, 745, 745, 745, 390, 390, 390, 271, 0981 271, 271, 271, 271, 271, 271, 262, 745, 262, 261, 0982 261, 261, 261, 261, 261, 261, 261, 261, 261, 745, 0983 262, 745, 262, 745, 232, 232, 232, 372, 373, 374, 0984 375, 234, 234, 234, 234, 376, 235, 236, 237, 238, 0985 239, 240, 100, 745, 745, 745, 745, 745, 745, 100, 0986 0987 745, 745, 745, 745, 119, 120, 121, 122, 377, 377, 0988 377, 745, 123, 745, 745, 745, 745, 377, 377, 377, 0989 377, 745, 745, 745, 745, 231, 745, 745, 745, 377, 0990 377, 377, 377, 377, 377, 391, 392, 393, 394, 745, 0991 526, 745, 526, 395, 527, 745, 527, 243, 528, 745, 0992 529, 745, 530, 530, 745, 530, 745, 745, 745, 531, 0993 745, 531, 261, 261, 261, 261, 261, 261, 261, 261, 0994 261, 261, 534, 534, 534, 534, 534, 534, 534, 534, 0995 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, 0996 534, 745, 745, 745, 232, 232, 232, 232, 232, 233, 0997 0998 234, 234, 234, 234, 234, 234, 235, 236, 237, 238, 0999 239, 240, 244, 244, 244, 244, 244, 244, 244, 244, 1000 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1001 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1002 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1003 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 1004 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 1005 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 1006 378, 378, 378, 378, 378, 378, 378, 378, 379, 379, 1007 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 1008 1009 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 1010 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 1011 379, 379, 379, 379, 379, 379, 380, 380, 380, 380, 1012 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 1013 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 1014 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 1015 380, 380, 380, 380, 213, 213, 457, 213, 457, 213, 1016 458, 213, 458, 213, 459, 213, 460, 213, 461, 461, 1017 213, 461, 213, 213, 213, 462, 213, 462, 213, 71, 1018 745, 71, 261, 261, 261, 261, 261, 261, 261, 261, 1019 1020 261, 261, 271, 271, 271, 271, 271, 271, 271, 271, 1021 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, 1022 271, 271, 341, 535, 535, 535, 535, 535, 535, 535, 1023 535, 535, 535, 535, 535, 535, 535, 535, 535, 535, 1024 535, 535, 271, 271, 271, 271, 271, 271, 271, 271, 1025 271, 271, 745, 468, 468, 468, 468, 468, 468, 468, 1026 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1027 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1028 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1029 468, 342, 342, 342, 342, 342, 343, 344, 344, 344, 1030 1031 344, 344, 344, 345, 346, 347, 348, 349, 350, 203, 1032 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 1033 203, 203, 342, 342, 342, 342, 342, 342, 342, 342, 1034 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 1035 342, 342, 342, 342, 342, 342, 342, 469, 469, 469, 1036 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 1037 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 1038 469, 469, 469, 469, 469, 469, 470, 470, 470, 470, 1039 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1040 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 1041 1042 470, 470, 470, 470, 470, 470, 470, 470, 471, 471, 1043 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 1044 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 1045 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 1046 471, 471, 471, 71, 745, 72, 569, 569, 569, 569, 1047 569, 569, 569, 745, 745, 745, 412, 412, 412, 472, 1048 472, 472, 745, 745, 745, 412, 412, 412, 412, 745, 1049 536, 745, 745, 745, 745, 745, 73, 412, 412, 412, 1050 412, 412, 412, 412, 412, 412, 745, 745, 745, 745, 1051 745, 536, 412, 412, 412, 412, 538, 415, 538, 745, 1052 1053 745, 539, 539, 539, 412, 412, 412, 412, 412, 412, 1054 745, 540, 745, 540, 745, 745, 745, 745, 415, 745, 1055 745, 745, 745, 745, 745, 540, 745, 540, 569, 569, 1056 569, 569, 569, 569, 569, 569, 569, 456, 456, 456, 1057 456, 456, 456, 456, 745, 74, 74, 74, 473, 474, 1058 475, 476, 76, 76, 76, 76, 477, 77, 78, 79, 1059 80, 81, 82, 71, 745, 72, 227, 227, 227, 227, 1060 227, 227, 227, 227, 456, 456, 456, 456, 456, 456, 1061 456, 456, 456, 456, 745, 745, 745, 745, 745, 577, 1062 541, 542, 543, 544, 745, 745, 73, 745, 545, 578, 1063 1064 578, 578, 578, 578, 578, 578, 578, 578, 578, 207, 1065 207, 207, 478, 478, 478, 478, 478, 478, 478, 478, 1066 478, 478, 745, 745, 745, 745, 745, 207, 207, 207, 1067 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 1068 478, 478, 478, 478, 478, 478, 478, 207, 207, 207, 1069 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 1070 207, 207, 207, 207, 207, 74, 74, 74, 74, 74, 1071 75, 76, 76, 76, 76, 76, 76, 77, 78, 79, 1072 80, 81, 82, 70, 70, 70, 70, 70, 70, 70, 1073 70, 70, 70, 70, 70, 70, 74, 74, 479, 74, 1074 1075 479, 74, 480, 74, 480, 74, 481, 74, 482, 74, 1076 483, 483, 74, 483, 74, 74, 74, 484, 74, 484, 1077 74, 74, 485, 74, 74, 74, 74, 74, 74, 74, 1078 74, 74, 74, 74, 745, 745, 74, 745, 74, 745, 1079 74, 745, 74, 745, 74, 745, 74, 745, 74, 74, 1080 745, 74, 745, 745, 745, 74, 745, 74, 74, 74, 1081 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 1082 74, 745, 745, 74, 745, 74, 745, 74, 745, 74, 1083 745, 74, 745, 74, 745, 74, 74, 745, 74, 745, 1084 745, 745, 74, 745, 74, 486, 71, 745, 71, 207, 1085 1086 207, 207, 478, 478, 478, 478, 478, 478, 478, 478, 1087 478, 478, 487, 487, 487, 745, 745, 745, 745, 745, 1088 745, 487, 487, 487, 487, 745, 745, 745, 745, 341, 1089 203, 203, 203, 487, 487, 487, 487, 487, 487, 203, 1090 203, 203, 203, 745, 207, 207, 207, 207, 207, 207, 1091 207, 203, 203, 203, 203, 203, 203, 589, 589, 589, 1092 589, 589, 589, 589, 589, 589, 745, 745, 745, 203, 1093 207, 207, 207, 598, 598, 598, 598, 598, 598, 598, 1094 598, 598, 598, 207, 207, 207, 207, 598, 598, 598, 1095 598, 598, 598, 598, 598, 598, 745, 745, 342, 342, 1096 1097 342, 342, 342, 343, 344, 344, 344, 344, 344, 344, 1098 345, 346, 347, 348, 349, 350, 488, 488, 488, 488, 1099 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 1100 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 1101 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, 1102 488, 488, 488, 488, 489, 489, 489, 489, 489, 489, 1103 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 1104 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 1105 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, 1106 489, 489, 100, 127, 745, 129, 129, 129, 745, 100, 1107 1108 745, 745, 745, 745, 745, 130, 131, 130, 478, 478, 1109 478, 745, 207, 207, 207, 207, 207, 207, 207, 130, 1110 131, 130, 745, 745, 127, 231, 139, 139, 139, 207, 1111 207, 207, 207, 207, 207, 207, 130, 131, 130, 132, 1112 745, 745, 539, 539, 539, 745, 449, 449, 449, 745, 1113 130, 131, 130, 745, 745, 745, 450, 132, 450, 745, 1114 745, 745, 745, 127, 745, 330, 330, 330, 745, 745, 1115 450, 745, 450, 745, 745, 331, 332, 331, 745, 745, 1116 745, 745, 745, 745, 134, 135, 136, 137, 84, 331, 1117 332, 331, 138, 745, 232, 232, 232, 232, 232, 233, 1118 1119 234, 234, 234, 234, 234, 234, 235, 236, 237, 238, 1120 239, 240, 100, 745, 745, 140, 141, 142, 143, 100, 1121 745, 745, 745, 144, 745, 745, 745, 745, 490, 490, 1122 490, 541, 542, 543, 544, 451, 452, 453, 454, 545, 1123 745, 745, 745, 455, 745, 231, 207, 207, 207, 207, 1124 207, 207, 207, 745, 333, 334, 335, 336, 745, 745, 1125 745, 745, 337, 207, 207, 207, 478, 478, 478, 478, 1126 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 1127 478, 478, 478, 745, 745, 745, 632, 632, 632, 207, 1128 207, 207, 207, 207, 207, 207, 478, 478, 478, 745, 1129 1130 207, 207, 207, 207, 207, 207, 207, 367, 367, 367, 1131 367, 367, 367, 367, 232, 232, 232, 491, 492, 493, 1132 494, 234, 234, 234, 234, 495, 235, 236, 237, 238, 1133 239, 240, 100, 745, 745, 745, 745, 745, 745, 100, 1134 618, 618, 618, 618, 618, 618, 618, 745, 496, 496, 1135 496, 745, 745, 745, 745, 745, 745, 496, 496, 496, 1136 496, 745, 745, 745, 745, 231, 745, 745, 745, 496, 1137 496, 496, 496, 496, 496, 634, 635, 636, 637, 599, 1138 599, 599, 745, 638, 745, 745, 745, 366, 599, 599, 1139 599, 599, 745, 367, 367, 367, 367, 367, 367, 367, 1140 1141 599, 599, 599, 599, 599, 599, 606, 606, 606, 606, 1142 606, 606, 606, 606, 606, 745, 745, 745, 203, 367, 1143 367, 367, 506, 506, 506, 506, 506, 506, 506, 506, 1144 506, 506, 745, 745, 232, 232, 232, 232, 232, 233, 1145 234, 234, 234, 234, 234, 234, 235, 236, 237, 238, 1146 239, 240, 229, 229, 229, 745, 745, 745, 745, 745, 1147 745, 229, 229, 229, 229, 745, 367, 367, 367, 367, 1148 367, 367, 367, 229, 229, 229, 229, 229, 229, 618, 1149 618, 618, 618, 618, 618, 618, 618, 618, 506, 506, 1150 506, 229, 367, 367, 367, 367, 367, 367, 367, 745, 1151 1152 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 1153 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 1154 497, 497, 497, 497, 497, 497, 497, 497, 497, 497, 1155 497, 497, 497, 497, 497, 497, 497, 497, 498, 498, 1156 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 1157 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 1158 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 1159 498, 498, 498, 498, 498, 498, 499, 499, 499, 499, 1160 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 1161 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 1162 1163 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 1164 499, 499, 499, 499, 230, 745, 745, 745, 745, 745, 1165 230, 745, 745, 500, 500, 500, 745, 745, 745, 229, 1166 229, 229, 229, 229, 229, 229, 745, 745, 229, 229, 1167 229, 229, 745, 745, 229, 229, 229, 229, 229, 229, 1168 229, 229, 229, 229, 229, 229, 745, 619, 745, 619, 1169 745, 620, 229, 620, 745, 621, 745, 622, 745, 623, 1170 623, 745, 623, 745, 745, 745, 624, 745, 624, 367, 1171 367, 367, 506, 506, 506, 506, 506, 506, 506, 506, 1172 506, 506, 367, 367, 367, 627, 627, 627, 627, 627, 1173 1174 627, 627, 627, 627, 627, 382, 382, 382, 382, 382, 1175 382, 382, 501, 502, 503, 504, 745, 745, 745, 745, 1176 505, 367, 367, 367, 367, 367, 367, 367, 367, 367, 1177 367, 367, 367, 367, 506, 506, 506, 506, 506, 506, 1178 506, 367, 367, 367, 367, 367, 367, 367, 367, 367, 1179 367, 367, 367, 367, 367, 367, 367, 367, 367, 229, 1180 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 1181 229, 229, 232, 232, 507, 232, 507, 232, 508, 232, 1182 508, 232, 509, 232, 510, 232, 511, 511, 232, 511, 1183 232, 232, 232, 512, 232, 512, 232, 232, 513, 232, 1184 1185 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1186 745, 745, 232, 745, 232, 745, 232, 745, 232, 745, 1187 232, 745, 232, 745, 232, 232, 745, 232, 745, 745, 1188 745, 232, 745, 232, 232, 232, 232, 232, 232, 232, 1189 232, 232, 232, 232, 232, 232, 232, 745, 745, 232, 1190 745, 232, 745, 232, 745, 232, 745, 232, 745, 232, 1191 745, 232, 232, 745, 232, 745, 745, 745, 232, 745, 1192 232, 514, 244, 244, 244, 244, 244, 244, 244, 244, 1193 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1194 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1195 1196 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1197 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 1198 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 1199 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 1200 516, 516, 516, 516, 516, 516, 516, 516, 517, 517, 1201 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 1202 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 1203 517, 517, 517, 517, 517, 517, 517, 517, 517, 517, 1204 517, 517, 517, 517, 517, 517, 213, 213, 570, 213, 1205 570, 213, 571, 213, 571, 213, 572, 213, 573, 213, 1206 1207 574, 574, 213, 574, 213, 213, 213, 575, 213, 575, 1208 213, 71, 745, 71, 367, 367, 367, 367, 627, 627, 1209 627, 627, 627, 627, 627, 627, 627, 367, 367, 367, 1210 506, 506, 506, 506, 506, 506, 506, 506, 506, 506, 1211 745, 745, 745, 745, 341, 506, 506, 506, 506, 506, 1212 506, 506, 745, 745, 745, 745, 745, 745, 367, 367, 1213 367, 367, 367, 367, 367, 506, 506, 506, 745, 367, 1214 367, 367, 367, 367, 367, 367, 628, 628, 628, 745, 1215 745, 745, 745, 745, 745, 628, 628, 628, 628, 390, 1216 390, 390, 390, 390, 390, 390, 745, 628, 628, 628, 1217 1218 628, 628, 628, 382, 382, 382, 382, 382, 382, 382, 1219 382, 382, 382, 342, 342, 342, 342, 342, 343, 344, 1220 344, 344, 344, 344, 344, 345, 346, 347, 348, 349, 1221 350, 71, 745, 71, 382, 382, 382, 382, 382, 382, 1222 382, 382, 382, 382, 745, 745, 745, 579, 579, 579, 1223 629, 629, 629, 629, 629, 629, 629, 629, 629, 629, 1224 745, 745, 745, 745, 341, 629, 629, 629, 629, 629, 1225 629, 629, 629, 629, 382, 382, 382, 382, 382, 382, 1226 382, 382, 382, 382, 390, 390, 390, 390, 390, 390, 1227 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 1228 1229 390, 390, 390, 390, 630, 630, 630, 630, 630, 630, 1230 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, 1231 630, 630, 630, 390, 390, 390, 390, 390, 390, 390, 1232 390, 390, 390, 342, 342, 342, 580, 581, 582, 583, 1233 344, 344, 344, 344, 584, 345, 346, 347, 348, 349, 1234 350, 71, 745, 71, 539, 539, 539, 539, 539, 539, 1235 539, 745, 745, 468, 468, 468, 745, 585, 585, 585, 1236 671, 671, 671, 671, 671, 671, 585, 585, 585, 585, 1237 745, 745, 745, 745, 341, 745, 745, 745, 585, 585, 1238 585, 585, 585, 585, 539, 539, 539, 539, 539, 539, 1239 1240 539, 539, 539, 745, 745, 745, 467, 745, 745, 261, 1241 261, 261, 569, 569, 569, 569, 569, 569, 569, 262, 1242 263, 262, 569, 569, 569, 569, 569, 569, 569, 569, 1243 569, 569, 745, 262, 263, 262, 569, 569, 569, 569, 1244 569, 569, 569, 569, 569, 569, 468, 468, 468, 468, 1245 468, 468, 468, 342, 342, 342, 342, 342, 343, 344, 1246 344, 344, 344, 344, 344, 345, 346, 347, 348, 349, 1247 350, 203, 203, 203, 745, 745, 745, 745, 745, 745, 1248 203, 203, 203, 203, 367, 367, 367, 367, 367, 367, 1249 367, 745, 203, 203, 203, 203, 203, 203, 264, 265, 1250 1251 266, 267, 745, 745, 745, 745, 268, 606, 606, 606, 1252 203, 367, 367, 367, 367, 367, 367, 367, 745, 586, 1253 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 1254 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 1255 586, 586, 586, 586, 586, 586, 586, 586, 586, 586, 1256 586, 586, 586, 586, 586, 586, 586, 587, 587, 587, 1257 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1258 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1259 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 1260 587, 587, 587, 587, 587, 588, 588, 588, 588, 588, 1261 1262 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 1263 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 1264 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 1265 588, 588, 588, 71, 745, 72, 271, 271, 271, 367, 1266 367, 367, 367, 367, 367, 367, 272, 745, 272, 664, 1267 664, 664, 664, 664, 664, 664, 664, 664, 664, 745, 1268 272, 745, 272, 631, 745, 631, 73, 745, 632, 632, 1269 632, 745, 539, 539, 539, 745, 745, 745, 633, 745, 1270 633, 745, 540, 745, 540, 745, 745, 639, 745, 639, 1271 745, 640, 633, 640, 633, 641, 540, 642, 540, 643, 1272 1273 643, 745, 643, 85, 85, 85, 644, 745, 644, 683, 1274 683, 683, 683, 683, 683, 683, 683, 683, 683, 745, 1275 745, 745, 745, 647, 745, 273, 274, 275, 276, 745, 1276 745, 745, 745, 277, 745, 74, 74, 74, 74, 74, 1277 75, 76, 76, 76, 76, 76, 76, 77, 78, 79, 1278 80, 81, 82, 71, 745, 72, 745, 634, 635, 636, 1279 637, 541, 542, 543, 544, 638, 745, 745, 745, 545, 1280 207, 683, 683, 683, 683, 683, 683, 683, 683, 683, 1281 745, 745, 745, 745, 745, 745, 73, 745, 745, 745, 1282 86, 87, 88, 89, 90, 91, 745, 92, 93, 94, 1283 1284 95, 367, 367, 367, 606, 606, 606, 606, 606, 606, 1285 606, 606, 606, 606, 745, 745, 745, 207, 207, 207, 1286 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 1287 589, 589, 589, 589, 589, 589, 589, 207, 207, 207, 1288 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 1289 207, 207, 207, 207, 207, 74, 74, 74, 74, 74, 1290 75, 76, 76, 76, 76, 76, 76, 77, 78, 79, 1291 80, 81, 82, 70, 70, 70, 70, 70, 70, 70, 1292 70, 70, 70, 70, 70, 70, 74, 74, 590, 74, 1293 590, 74, 591, 74, 591, 74, 592, 74, 593, 74, 1294 1295 594, 594, 74, 594, 74, 74, 74, 595, 74, 595, 1296 74, 74, 596, 74, 74, 74, 74, 74, 74, 74, 1297 74, 74, 74, 74, 745, 745, 74, 745, 74, 745, 1298 74, 745, 74, 745, 74, 745, 74, 745, 74, 74, 1299 745, 74, 745, 745, 745, 74, 745, 74, 74, 74, 1300 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 1301 74, 745, 745, 74, 745, 74, 745, 74, 745, 74, 1302 745, 74, 745, 74, 745, 74, 74, 745, 74, 745, 1303 745, 745, 74, 745, 74, 597, 71, 745, 72, 85, 1304 85, 85, 468, 468, 468, 468, 468, 468, 468, 745, 1305 1306 745, 745, 472, 472, 472, 671, 671, 671, 671, 671, 1307 671, 671, 671, 671, 648, 745, 745, 745, 745, 73, 1308 449, 449, 449, 632, 632, 632, 632, 632, 632, 632, 1309 450, 745, 450, 745, 745, 127, 745, 330, 330, 330, 1310 745, 745, 745, 745, 450, 84, 450, 331, 332, 331, 1311 539, 539, 539, 539, 539, 539, 539, 589, 589, 589, 1312 745, 331, 332, 331, 207, 207, 207, 207, 207, 207, 1313 207, 207, 207, 207, 745, 745, 86, 87, 88, 89, 1314 90, 91, 745, 92, 93, 94, 95, 745, 74, 74, 1315 74, 473, 474, 475, 476, 76, 76, 76, 76, 477, 1316 1317 77, 78, 79, 80, 81, 82, 100, 745, 745, 451, 1318 452, 453, 454, 100, 745, 745, 745, 455, 745, 745, 1319 745, 745, 600, 600, 600, 745, 333, 334, 335, 336, 1320 745, 745, 745, 745, 337, 745, 745, 745, 745, 231, 1321 589, 589, 589, 589, 589, 589, 589, 632, 632, 632, 1322 632, 632, 632, 632, 632, 632, 207, 207, 207, 207, 1323 207, 207, 207, 207, 207, 207, 589, 589, 589, 745, 1324 745, 745, 745, 207, 207, 207, 207, 207, 207, 207, 1325 207, 207, 207, 367, 367, 367, 367, 367, 367, 367, 1326 745, 745, 745, 745, 745, 745, 684, 684, 684, 684, 1327 1328 684, 684, 684, 684, 684, 745, 745, 745, 232, 232, 1329 232, 601, 602, 603, 604, 234, 234, 234, 234, 605, 1330 235, 236, 237, 238, 239, 240, 100, 204, 204, 204, 1331 745, 745, 745, 100, 745, 745, 204, 204, 204, 204, 1332 715, 715, 715, 715, 715, 715, 715, 745, 204, 204, 1333 204, 204, 204, 204, 745, 745, 745, 745, 745, 231, 1334 367, 367, 367, 606, 606, 606, 606, 606, 606, 606, 1335 606, 606, 606, 367, 367, 367, 693, 693, 693, 693, 1336 693, 693, 693, 693, 693, 693, 745, 745, 745, 745, 1337 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 1338 1339 367, 367, 367, 606, 606, 606, 606, 606, 606, 606, 1340 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 1341 367, 367, 367, 367, 367, 367, 367, 367, 232, 232, 1342 232, 232, 232, 233, 234, 234, 234, 234, 234, 234, 1343 235, 236, 237, 238, 239, 240, 229, 229, 229, 229, 1344 229, 229, 229, 229, 229, 229, 229, 229, 229, 232, 1345 232, 607, 232, 607, 232, 608, 232, 608, 232, 609, 1346 232, 610, 232, 611, 611, 232, 611, 232, 232, 232, 1347 612, 232, 612, 232, 232, 613, 232, 232, 232, 232, 1348 232, 232, 232, 232, 232, 232, 232, 745, 745, 232, 1349 1350 745, 232, 745, 232, 745, 232, 745, 232, 745, 232, 1351 745, 232, 232, 745, 232, 745, 745, 745, 232, 745, 1352 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1353 232, 232, 232, 232, 745, 745, 232, 745, 232, 745, 1354 232, 745, 232, 745, 232, 745, 232, 745, 232, 232, 1355 745, 232, 745, 745, 745, 232, 745, 232, 614, 100, 1356 745, 745, 745, 606, 606, 606, 100, 367, 367, 367, 1357 367, 367, 367, 367, 745, 615, 615, 615, 745, 745, 1358 745, 745, 745, 745, 615, 615, 615, 615, 745, 745, 1359 745, 745, 231, 745, 745, 745, 615, 615, 615, 615, 1360 1361 615, 615, 367, 367, 367, 367, 693, 693, 693, 693, 1362 693, 693, 693, 693, 693, 367, 367, 367, 606, 606, 1363 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 1364 606, 606, 606, 606, 606, 745, 745, 745, 745, 745, 1365 745, 367, 367, 367, 367, 367, 367, 367, 367, 367, 1366 367, 618, 618, 618, 618, 618, 618, 618, 618, 618, 1367 618, 232, 232, 232, 232, 232, 233, 234, 234, 234, 1368 234, 234, 234, 235, 236, 237, 238, 239, 240, 616, 1369 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 1370 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 1371 1372 616, 616, 616, 616, 616, 616, 616, 616, 616, 616, 1373 616, 616, 616, 616, 616, 616, 616, 617, 617, 617, 1374 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 1375 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 1376 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 1377 617, 617, 617, 617, 617, 230, 745, 745, 745, 745, 1378 745, 230, 745, 745, 500, 500, 500, 745, 745, 745, 1379 229, 229, 229, 229, 229, 229, 229, 745, 745, 229, 1380 229, 229, 229, 745, 745, 229, 229, 229, 229, 229, 1381 229, 229, 229, 229, 229, 229, 229, 367, 367, 367, 1382 1383 618, 618, 618, 618, 618, 618, 618, 618, 618, 618, 1384 367, 367, 367, 695, 695, 695, 695, 695, 695, 695, 1385 695, 695, 695, 367, 367, 367, 367, 695, 695, 695, 1386 695, 695, 695, 695, 695, 695, 367, 367, 367, 618, 1387 618, 618, 618, 618, 618, 618, 618, 618, 618, 745, 1388 745, 745, 745, 501, 502, 503, 504, 745, 745, 745, 1389 745, 505, 244, 244, 244, 244, 244, 244, 244, 244, 1390 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1391 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1392 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 1393 1394 71, 745, 71, 618, 618, 618, 745, 367, 367, 367, 1395 367, 367, 367, 367, 745, 745, 665, 665, 665, 745, 1396 745, 618, 618, 618, 618, 618, 618, 618, 745, 745, 1397 745, 745, 745, 341, 367, 367, 367, 367, 367, 367, 1398 367, 618, 618, 618, 745, 367, 367, 367, 367, 367, 1399 367, 367, 241, 241, 241, 382, 382, 382, 745, 745, 1400 745, 241, 241, 241, 241, 250, 745, 250, 745, 745, 1401 390, 390, 390, 241, 241, 241, 241, 241, 241, 250, 1402 262, 250, 262, 539, 539, 539, 539, 539, 539, 539, 1403 539, 539, 539, 745, 262, 745, 262, 745, 745, 745, 1404 1405 745, 745, 342, 342, 342, 666, 667, 668, 669, 344, 1406 344, 344, 344, 670, 345, 346, 347, 348, 349, 350, 1407 71, 696, 71, 696, 745, 697, 745, 697, 745, 698, 1408 745, 699, 745, 700, 700, 745, 700, 745, 745, 745, 1409 701, 745, 701, 745, 383, 384, 385, 386, 745, 745, 1410 745, 745, 387, 341, 745, 745, 745, 745, 745, 391, 1411 392, 393, 394, 745, 745, 745, 745, 395, 539, 539, 1412 539, 539, 539, 539, 539, 539, 539, 539, 745, 745, 1413 745, 745, 745, 745, 468, 468, 468, 468, 468, 468, 1414 468, 468, 468, 468, 468, 468, 468, 671, 671, 671, 1415 1416 671, 671, 671, 671, 468, 468, 468, 468, 468, 468, 1417 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1418 468, 468, 342, 342, 342, 342, 342, 343, 344, 344, 1419 344, 344, 344, 344, 345, 346, 347, 348, 349, 350, 1420 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 1421 203, 203, 203, 342, 342, 672, 342, 672, 342, 673, 1422 342, 673, 342, 674, 342, 675, 342, 676, 676, 342, 1423 676, 342, 342, 342, 677, 342, 677, 342, 342, 678, 1424 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 1425 342, 745, 745, 342, 745, 342, 745, 342, 745, 342, 1426 1427 745, 342, 745, 342, 745, 342, 342, 745, 342, 745, 1428 745, 745, 342, 745, 342, 342, 342, 342, 342, 342, 1429 342, 342, 342, 342, 342, 342, 342, 342, 745, 745, 1430 342, 745, 342, 745, 342, 745, 342, 745, 342, 745, 1431 342, 745, 342, 342, 745, 342, 745, 745, 745, 342, 1432 745, 342, 679, 71, 745, 71, 704, 704, 704, 704, 1433 704, 704, 704, 704, 704, 704, 745, 745, 745, 680, 1434 680, 680, 745, 745, 745, 745, 745, 745, 680, 680, 1435 680, 680, 745, 745, 745, 745, 341, 745, 745, 745, 1436 680, 680, 680, 680, 680, 680, 704, 704, 704, 704, 1437 1438 704, 704, 704, 704, 704, 539, 539, 539, 539, 539, 1439 539, 539, 539, 539, 539, 203, 203, 203, 745, 745, 1440 745, 745, 745, 745, 203, 203, 203, 203, 745, 468, 1441 468, 468, 468, 468, 468, 468, 203, 203, 203, 203, 1442 203, 203, 715, 715, 715, 715, 715, 715, 715, 715, 1443 715, 745, 745, 745, 745, 342, 342, 342, 342, 342, 1444 343, 344, 344, 344, 344, 344, 344, 345, 346, 347, 1445 348, 349, 350, 681, 681, 681, 681, 681, 681, 681, 1446 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, 1447 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, 1448 1449 681, 681, 681, 681, 681, 681, 681, 681, 681, 681, 1450 681, 682, 682, 682, 682, 682, 682, 682, 682, 682, 1451 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 1452 682, 682, 682, 682, 682, 682, 682, 682, 682, 682, 1453 682, 682, 682, 682, 682, 682, 682, 682, 682, 71, 1454 745, 72, 632, 632, 632, 745, 745, 745, 468, 468, 1455 468, 745, 633, 745, 633, 671, 671, 671, 671, 671, 1456 671, 745, 745, 745, 745, 745, 633, 745, 633, 468, 1457 468, 468, 73, 449, 449, 449, 671, 671, 671, 671, 1458 671, 671, 745, 450, 745, 450, 671, 671, 671, 745, 1459 1460 468, 468, 468, 468, 468, 468, 468, 450, 84, 450, 1461 716, 745, 716, 745, 717, 745, 717, 745, 718, 745, 1462 719, 745, 720, 720, 745, 720, 745, 745, 745, 721, 1463 745, 721, 468, 468, 468, 468, 468, 468, 468, 745, 1464 745, 634, 635, 636, 637, 745, 745, 745, 745, 638, 1465 745, 74, 74, 74, 74, 74, 75, 76, 76, 76, 1466 76, 76, 76, 77, 78, 79, 80, 81, 82, 71, 1467 745, 72, 451, 452, 453, 454, 745, 745, 745, 745, 1468 455, 468, 468, 468, 724, 724, 724, 724, 724, 724, 1469 724, 724, 724, 724, 745, 745, 745, 725, 725, 725, 1470 1471 745, 745, 73, 665, 665, 665, 725, 725, 725, 725, 1472 745, 745, 203, 203, 203, 203, 745, 745, 725, 725, 1473 725, 725, 725, 725, 203, 203, 203, 203, 203, 203, 1474 745, 745, 745, 207, 207, 207, 207, 207, 207, 207, 1475 207, 207, 207, 207, 207, 207, 207, 207, 207, 589, 1476 589, 589, 589, 589, 589, 589, 589, 589, 589, 207, 1477 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 1478 207, 74, 74, 74, 74, 74, 75, 76, 76, 76, 1479 76, 76, 76, 77, 78, 79, 80, 81, 82, 71, 1480 745, 72, 666, 667, 668, 669, 745, 745, 745, 745, 1481 1482 670, 745, 745, 745, 745, 472, 472, 472, 468, 468, 1483 468, 468, 724, 724, 724, 724, 724, 724, 724, 724, 1484 724, 745, 73, 671, 671, 671, 671, 671, 671, 671, 1485 745, 745, 745, 745, 745, 745, 468, 468, 468, 468, 1486 468, 468, 468, 671, 671, 671, 745, 468, 468, 468, 1487 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, 1488 468, 229, 229, 229, 745, 745, 745, 367, 367, 367, 1489 229, 229, 229, 229, 684, 684, 684, 684, 684, 684, 1490 745, 745, 229, 229, 229, 229, 229, 229, 745, 745, 1491 745, 74, 74, 74, 473, 474, 475, 476, 76, 76, 1492 1493 76, 76, 477, 77, 78, 79, 80, 81, 82, 100, 1494 367, 367, 367, 745, 745, 745, 100, 684, 684, 684, 1495 684, 684, 684, 367, 367, 367, 726, 726, 726, 726, 1496 726, 726, 726, 726, 726, 726, 745, 745, 745, 745, 1497 745, 745, 231, 367, 367, 367, 367, 726, 726, 726, 1498 726, 726, 726, 726, 726, 726, 367, 367, 367, 745, 1499 745, 745, 745, 684, 684, 684, 684, 684, 684, 684, 1500 684, 684, 745, 367, 367, 367, 367, 367, 367, 367, 1501 684, 684, 684, 684, 684, 684, 684, 745, 745, 745, 1502 745, 745, 745, 367, 367, 367, 367, 367, 367, 367, 1503 1504 684, 684, 684, 745, 367, 367, 367, 367, 367, 367, 1505 367, 232, 232, 232, 232, 232, 233, 234, 234, 234, 1506 234, 234, 234, 235, 236, 237, 238, 239, 240, 100, 1507 364, 364, 364, 745, 745, 745, 100, 745, 745, 364, 1508 364, 364, 364, 745, 745, 745, 745, 745, 230, 745, 1509 745, 364, 364, 364, 364, 364, 364, 229, 229, 229, 1510 745, 745, 231, 745, 745, 745, 229, 229, 229, 229, 1511 632, 632, 632, 632, 632, 632, 632, 745, 229, 229, 1512 229, 229, 229, 229, 727, 727, 727, 727, 727, 727, 1513 727, 727, 727, 367, 367, 367, 367, 367, 367, 367, 1514 1515 367, 367, 367, 367, 367, 367, 684, 684, 684, 684, 1516 684, 684, 684, 367, 367, 367, 367, 367, 367, 367, 1517 367, 367, 367, 367, 367, 367, 367, 367, 367, 367, 1518 367, 232, 232, 232, 232, 232, 233, 234, 234, 234, 1519 234, 234, 234, 235, 236, 237, 238, 239, 240, 229, 1520 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 1521 229, 229, 232, 232, 685, 232, 685, 232, 686, 232, 1522 686, 232, 687, 232, 688, 232, 689, 689, 232, 689, 1523 232, 232, 232, 690, 232, 690, 232, 232, 691, 232, 1524 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1525 1526 745, 745, 232, 745, 232, 745, 232, 745, 232, 745, 1527 232, 745, 232, 745, 232, 232, 745, 232, 745, 745, 1528 745, 232, 745, 232, 232, 232, 232, 232, 232, 232, 1529 232, 232, 232, 232, 232, 232, 232, 745, 745, 232, 1530 745, 232, 745, 232, 745, 232, 745, 232, 745, 232, 1531 745, 232, 232, 745, 232, 745, 745, 745, 232, 745, 1532 232, 692, 100, 600, 600, 600, 745, 745, 745, 100, 1533 745, 745, 229, 229, 229, 229, 745, 745, 600, 600, 1534 600, 745, 745, 745, 229, 229, 229, 229, 229, 229, 1535 745, 745, 745, 745, 745, 231, 632, 632, 632, 632, 1536 1537 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 1538 632, 632, 632, 632, 632, 632, 727, 727, 727, 727, 1539 727, 727, 727, 727, 727, 727, 632, 632, 632, 632, 1540 632, 632, 632, 632, 632, 632, 745, 539, 539, 539, 1541 745, 745, 745, 745, 745, 745, 745, 540, 745, 540, 1542 745, 745, 601, 602, 603, 604, 745, 745, 745, 745, 1543 605, 540, 745, 540, 232, 232, 232, 601, 602, 603, 1544 604, 234, 234, 234, 234, 605, 235, 236, 237, 238, 1545 239, 240, 100, 745, 745, 745, 715, 715, 715, 100, 1546 468, 468, 468, 468, 468, 468, 468, 745, 694, 694, 1547 1548 694, 745, 745, 745, 745, 745, 745, 694, 694, 694, 1549 694, 745, 745, 745, 745, 231, 745, 745, 745, 694, 1550 694, 694, 694, 694, 694, 745, 541, 542, 543, 544, 1551 203, 203, 203, 745, 545, 745, 745, 745, 745, 203, 1552 203, 203, 203, 745, 745, 745, 745, 745, 745, 745, 1553 745, 203, 203, 203, 203, 203, 203, 468, 468, 468, 1554 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 1555 468, 468, 468, 715, 715, 715, 715, 715, 715, 715, 1556 715, 715, 715, 745, 232, 232, 232, 232, 232, 233, 1557 234, 234, 234, 234, 234, 234, 235, 236, 237, 238, 1558 1559 239, 240, 230, 745, 745, 465, 465, 465, 745, 745, 1560 745, 500, 500, 500, 465, 465, 465, 465, 745, 745, 1561 229, 229, 229, 229, 745, 745, 465, 465, 465, 465, 1562 465, 465, 229, 229, 229, 229, 229, 229, 468, 468, 1563 468, 735, 735, 735, 735, 735, 735, 735, 735, 735, 1564 735, 468, 468, 468, 468, 735, 735, 735, 735, 735, 1565 735, 735, 735, 735, 468, 468, 468, 715, 715, 715, 1566 715, 715, 715, 715, 715, 715, 715, 715, 715, 715, 1567 715, 715, 715, 715, 745, 745, 745, 745, 745, 745, 1568 468, 468, 468, 468, 468, 468, 468, 745, 745, 745, 1569 1570 501, 502, 503, 504, 745, 745, 745, 745, 505, 71, 1571 745, 72, 715, 715, 715, 745, 468, 468, 468, 468, 1572 468, 468, 468, 745, 745, 229, 229, 229, 745, 745, 1573 745, 745, 745, 745, 229, 229, 229, 229, 745, 745, 1574 745, 745, 73, 665, 665, 665, 229, 229, 229, 229, 1575 229, 229, 203, 203, 203, 203, 745, 745, 745, 745, 1576 632, 632, 632, 745, 203, 203, 203, 203, 203, 203, 1577 633, 745, 633, 745, 745, 745, 745, 745, 203, 203, 1578 203, 745, 745, 745, 633, 745, 633, 203, 203, 203, 1579 203, 745, 745, 745, 745, 745, 745, 745, 745, 203, 1580 1581 203, 203, 203, 203, 203, 745, 745, 745, 745, 745, 1582 745, 74, 74, 74, 74, 74, 75, 76, 76, 76, 1583 76, 76, 76, 77, 78, 79, 80, 81, 82, 745, 1584 745, 745, 666, 667, 668, 669, 745, 745, 745, 745, 1585 670, 745, 745, 745, 745, 745, 745, 745, 745, 634, 1586 635, 636, 637, 745, 745, 745, 745, 638, 65, 65, 1587 65, 65, 65, 65, 65, 65, 65, 65, 65, 70, 1588 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 1589 83, 745, 83, 83, 83, 83, 83, 83, 83, 83, 1590 83, 99, 99, 99, 99, 99, 99, 99, 99, 99, 1591 1592 99, 99, 180, 180, 745, 180, 180, 181, 181, 181, 1593 181, 181, 181, 183, 183, 183, 183, 183, 183, 194, 1594 194, 194, 196, 196, 196, 196, 196, 196, 199, 745, 1595 199, 745, 199, 199, 199, 199, 199, 199, 199, 200, 1596 745, 200, 200, 200, 200, 200, 200, 200, 200, 200, 1597 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 1598 203, 83, 745, 83, 83, 83, 83, 83, 83, 83, 1599 83, 83, 84, 84, 745, 84, 84, 211, 211, 211, 1600 211, 211, 211, 213, 213, 213, 213, 213, 213, 224, 1601 224, 224, 226, 226, 226, 226, 226, 226, 229, 229, 1602 1603 229, 229, 229, 229, 229, 229, 229, 229, 229, 260, 1604 745, 260, 260, 260, 260, 260, 260, 260, 260, 260, 1605 181, 181, 181, 181, 181, 181, 339, 339, 339, 339, 1606 339, 339, 180, 180, 180, 180, 180, 180, 340, 340, 1607 340, 340, 340, 340, 340, 340, 340, 199, 745, 199, 1608 745, 199, 199, 199, 199, 199, 199, 199, 200, 745, 1609 200, 745, 745, 200, 200, 200, 200, 200, 200, 203, 1610 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 1611 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 1612 70, 211, 211, 211, 211, 211, 211, 362, 362, 362, 1613 1614 362, 362, 362, 84, 84, 84, 84, 84, 84, 363, 1615 363, 363, 363, 363, 363, 363, 363, 363, 229, 229, 1616 229, 229, 229, 229, 229, 229, 229, 229, 229, 260, 1617 745, 260, 260, 260, 260, 260, 260, 260, 260, 260, 1618 211, 211, 211, 211, 211, 211, 213, 213, 213, 213, 1619 213, 213, 203, 203, 203, 203, 203, 203, 203, 203, 1620 203, 203, 203, 70, 70, 70, 70, 70, 70, 70, 1621 70, 70, 70, 70, 229, 229, 229, 229, 229, 229, 1622 229, 229, 229, 229, 229, 211, 211, 211, 211, 211, 1623 211, 213, 213, 213, 213, 213, 213, 203, 203, 203, 1624 1625 203, 203, 203, 203, 203, 203, 203, 203, 70, 70, 1626 70, 70, 70, 70, 70, 70, 70, 70, 70, 229, 1627 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 1628 211, 211, 211, 211, 211, 211, 203, 203, 203, 203, 1629 203, 203, 203, 203, 203, 203, 203, 70, 70, 70, 1630 70, 70, 70, 70, 70, 70, 70, 70, 229, 229, 1631 229, 229, 229, 229, 229, 229, 229, 229, 229, 5, 1632 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1633 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1634 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1635 1636 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1637 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1638 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1639 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1640 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1641 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1642 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1643 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1644 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 1645 745, 745 1646 1647 } ; 1648 1649 static yyconst flex_int16_t yy_chk[8893] = 1650 { 0, 1651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 1662 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1663 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1664 1, 1, 3, 4, 12, 12, 12, 14, 19, 36, 1665 23, 21, 3, 4, 10, 23, 10, 28, 28, 19, 1666 21, 21, 23, 14, 30, 30, 36, 37, 36, 45, 1667 38, 38, 48, 47, 45, 67, 795, 39, 38, 42, 1668 67, 40, 39, 37, 38, 48, 22, 10, 22, 22, 1669 22, 39, 40, 42, 40, 25, 47, 25, 25, 25, 1670 41, 44, 49, 40, 52, 50, 43, 25, 25, 25, 1671 25, 41, 43, 50, 41, 44, 49, 315, 169, 43, 1672 1673 167, 25, 25, 25, 35, 35, 35, 167, 25, 169, 1674 315, 12, 12, 12, 12, 12, 12, 201, 12, 12, 1675 12, 12, 201, 52, 35, 57, 57, 57, 57, 57, 1676 57, 57, 82, 82, 82, 303, 10, 10, 10, 10, 1677 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1678 10, 10, 10, 10, 15, 46, 303, 22, 22, 22, 1679 22, 15, 784, 46, 46, 22, 25, 25, 25, 25, 1680 110, 110, 110, 46, 25, 317, 46, 58, 58, 58, 1681 58, 58, 58, 58, 58, 58, 176, 15, 176, 175, 1682 317, 35, 35, 35, 35, 35, 35, 175, 35, 35, 1683 1684 35, 35, 61, 61, 61, 61, 189, 189, 189, 61, 1685 62, 62, 62, 62, 62, 64, 64, 64, 64, 64, 1686 64, 64, 64, 80, 80, 80, 80, 80, 80, 562, 1687 61, 562, 84, 84, 84, 198, 198, 198, 64, 76, 1688 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 1689 76, 76, 219, 219, 219, 308, 15, 15, 15, 15, 1690 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 1691 15, 15, 15, 15, 24, 308, 24, 24, 24, 88, 1692 88, 88, 88, 88, 88, 88, 24, 24, 24, 24, 1693 300, 24, 73, 307, 73, 228, 228, 228, 300, 73, 1694 1695 24, 24, 24, 92, 92, 92, 92, 24, 73, 73, 1696 92, 240, 240, 240, 307, 85, 85, 85, 24, 84, 1697 84, 84, 84, 84, 84, 73, 84, 84, 84, 84, 1698 73, 92, 302, 299, 73, 93, 93, 93, 93, 93, 1699 302, 73, 299, 312, 73, 760, 73, 73, 78, 78, 1700 78, 78, 78, 78, 78, 78, 78, 108, 108, 108, 1701 108, 108, 108, 321, 312, 24, 24, 24, 24, 257, 1702 257, 257, 321, 24, 59, 59, 59, 59, 59, 59, 1703 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 1704 59, 59, 59, 59, 59, 59, 59, 59, 59, 70, 1705 1706 314, 70, 85, 85, 85, 85, 85, 85, 314, 85, 1707 85, 85, 85, 89, 89, 89, 89, 89, 89, 89, 1708 89, 89, 95, 95, 95, 95, 95, 95, 95, 95, 1709 749, 101, 70, 101, 259, 259, 259, 744, 101, 238, 1710 238, 238, 238, 238, 238, 95, 304, 101, 101, 104, 1711 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 1712 104, 104, 151, 304, 101, 305, 151, 306, 306, 101, 1713 151, 305, 306, 101, 285, 285, 285, 292, 292, 292, 1714 101, 151, 309, 101, 504, 101, 101, 106, 106, 106, 1715 106, 106, 106, 106, 106, 106, 294, 294, 294, 309, 1716 1717 743, 70, 70, 70, 70, 70, 70, 70, 70, 70, 1718 70, 70, 70, 70, 70, 70, 70, 70, 70, 74, 1719 504, 74, 119, 119, 119, 119, 119, 119, 119, 120, 1720 120, 120, 120, 120, 120, 120, 120, 120, 121, 310, 1721 121, 311, 121, 318, 121, 435, 121, 325, 121, 310, 1722 121, 121, 74, 121, 435, 325, 318, 121, 311, 121, 1723 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 1724 135, 135, 135, 135, 135, 135, 140, 140, 140, 140, 1725 140, 140, 140, 74, 74, 74, 74, 74, 74, 74, 1726 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 1727 1728 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 1729 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 1730 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 1731 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 1732 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 1733 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 1734 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 1735 75, 75, 75, 75, 75, 75, 75, 77, 77, 77, 1736 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 1737 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 1738 1739 77, 77, 77, 77, 77, 77, 79, 79, 79, 79, 1740 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 1741 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 1742 79, 79, 79, 79, 79, 79, 79, 79, 81, 81, 1743 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 1744 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 1745 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 1746 81, 81, 81, 90, 90, 90, 90, 90, 90, 90, 1747 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 1748 90, 90, 90, 90, 90, 90, 90, 90, 99, 118, 1749 1750 118, 118, 320, 319, 324, 99, 319, 328, 320, 118, 1751 118, 118, 141, 141, 141, 141, 141, 141, 141, 141, 1752 141, 324, 322, 118, 118, 118, 322, 327, 328, 440, 1753 737, 99, 127, 127, 127, 190, 190, 190, 190, 190, 1754 190, 190, 127, 127, 127, 327, 440, 128, 323, 128, 1755 128, 128, 323, 270, 270, 270, 127, 127, 127, 128, 1756 128, 128, 128, 326, 131, 423, 131, 329, 419, 131, 1757 131, 131, 419, 128, 128, 128, 326, 423, 329, 131, 1758 128, 131, 348, 348, 348, 348, 348, 348, 118, 118, 1759 118, 118, 734, 131, 733, 131, 118, 350, 350, 350, 1760 1761 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 1762 99, 99, 99, 99, 99, 99, 99, 99, 102, 443, 1763 732, 127, 127, 127, 127, 102, 401, 401, 401, 127, 1764 220, 220, 220, 220, 220, 220, 220, 443, 128, 128, 1765 128, 128, 270, 270, 270, 270, 128, 403, 403, 403, 1766 270, 102, 409, 409, 409, 411, 411, 411, 131, 131, 1767 131, 131, 731, 448, 445, 427, 131, 184, 184, 184, 1768 184, 184, 184, 184, 184, 184, 184, 426, 427, 445, 1769 448, 426, 102, 102, 102, 102, 102, 102, 102, 102, 1770 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 1771 1772 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 1773 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 1774 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 1775 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 1776 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 1777 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 1778 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 1779 103, 103, 103, 103, 103, 103, 105, 105, 105, 105, 1780 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 1781 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 1782 1783 105, 105, 105, 105, 105, 107, 107, 107, 107, 107, 1784 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 1785 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 1786 107, 107, 107, 107, 107, 107, 107, 109, 109, 109, 1787 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 1788 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 1789 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 1790 109, 109, 129, 418, 129, 129, 129, 414, 133, 729, 1791 133, 133, 133, 418, 129, 129, 129, 444, 432, 133, 1792 133, 133, 133, 414, 432, 714, 444, 420, 129, 129, 1793 1794 129, 133, 133, 133, 133, 133, 133, 136, 420, 136, 1795 712, 136, 438, 136, 414, 136, 421, 136, 438, 136, 1796 136, 139, 136, 139, 139, 139, 136, 421, 136, 428, 1797 710, 442, 428, 139, 139, 139, 139, 186, 186, 186, 1798 186, 186, 186, 186, 186, 186, 186, 139, 139, 139, 1799 442, 429, 561, 561, 139, 258, 258, 258, 258, 258, 1800 258, 258, 429, 129, 129, 129, 129, 709, 142, 433, 1801 142, 129, 142, 433, 142, 439, 142, 441, 142, 439, 1802 142, 142, 182, 142, 182, 182, 182, 142, 437, 142, 1803 441, 661, 661, 437, 182, 182, 182, 192, 192, 192, 1804 1805 192, 192, 192, 192, 192, 192, 558, 447, 182, 182, 1806 182, 447, 139, 139, 139, 139, 462, 462, 462, 558, 1807 139, 214, 214, 214, 214, 214, 214, 214, 214, 214, 1808 214, 216, 216, 216, 216, 216, 216, 216, 216, 216, 1809 216, 222, 222, 222, 222, 222, 222, 222, 222, 222, 1810 231, 537, 231, 234, 234, 234, 234, 234, 234, 234, 1811 234, 234, 234, 234, 234, 234, 231, 231, 464, 464, 1812 464, 707, 537, 182, 182, 182, 182, 523, 523, 523, 1813 563, 182, 203, 563, 203, 525, 525, 525, 231, 531, 1814 531, 531, 231, 533, 533, 533, 548, 549, 647, 231, 1815 1816 548, 549, 231, 647, 231, 231, 236, 236, 236, 236, 1817 236, 236, 236, 236, 236, 203, 244, 264, 264, 264, 1818 264, 264, 264, 264, 552, 244, 244, 244, 705, 567, 1819 713, 713, 552, 567, 244, 244, 244, 244, 273, 273, 1820 273, 273, 273, 273, 273, 555, 244, 244, 244, 244, 1821 244, 244, 251, 555, 251, 553, 663, 251, 251, 251, 1822 559, 553, 663, 670, 244, 662, 651, 251, 559, 251, 1823 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 1824 651, 251, 660, 251, 203, 203, 203, 203, 203, 203, 1825 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 1826 1827 203, 203, 204, 659, 204, 253, 253, 253, 253, 253, 1828 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 1829 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 1830 255, 255, 255, 255, 658, 204, 256, 256, 256, 256, 1831 256, 256, 256, 256, 256, 256, 251, 251, 251, 251, 1832 575, 575, 575, 657, 251, 261, 261, 261, 286, 286, 1833 286, 286, 286, 286, 286, 261, 261, 261, 263, 566, 1834 263, 656, 655, 263, 263, 263, 648, 566, 708, 261, 1835 261, 261, 708, 263, 648, 263, 265, 265, 265, 265, 1836 265, 265, 265, 265, 265, 649, 654, 263, 653, 263, 1837 1838 577, 577, 577, 649, 204, 204, 204, 204, 204, 204, 1839 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 1840 204, 204, 205, 650, 205, 271, 271, 271, 293, 293, 1841 293, 293, 293, 293, 293, 271, 650, 271, 205, 205, 1842 205, 644, 644, 644, 261, 261, 261, 261, 652, 271, 1843 638, 271, 261, 730, 706, 205, 646, 646, 646, 730, 1844 738, 652, 263, 263, 263, 263, 706, 266, 738, 266, 1845 263, 266, 669, 266, 728, 266, 711, 266, 728, 266, 1846 266, 637, 266, 701, 701, 701, 266, 711, 266, 274, 1847 274, 274, 274, 274, 274, 274, 274, 274, 280, 280, 1848 1849 280, 280, 280, 280, 280, 280, 280, 280, 669, 703, 1850 703, 703, 736, 739, 271, 271, 271, 271, 739, 573, 1851 568, 736, 271, 565, 205, 205, 205, 205, 205, 205, 1852 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 1853 205, 205, 206, 564, 206, 281, 281, 281, 281, 281, 1854 281, 281, 281, 281, 281, 560, 740, 741, 206, 206, 1855 206, 740, 741, 557, 556, 554, 742, 206, 206, 206, 1856 206, 742, 551, 550, 545, 206, 544, 505, 460, 206, 1857 206, 206, 206, 206, 206, 454, 275, 450, 275, 446, 1858 275, 436, 275, 434, 275, 431, 275, 206, 275, 275, 1859 1860 430, 275, 278, 278, 278, 275, 279, 275, 279, 279, 1861 279, 278, 278, 278, 278, 425, 424, 279, 279, 279, 1862 279, 279, 279, 278, 278, 278, 278, 278, 278, 279, 1863 279, 279, 279, 279, 279, 422, 395, 394, 387, 279, 1864 386, 363, 362, 279, 206, 206, 206, 206, 206, 206, 1865 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 1866 206, 206, 207, 361, 207, 282, 282, 282, 282, 282, 1867 282, 282, 282, 282, 282, 283, 283, 283, 283, 283, 1868 283, 283, 283, 283, 284, 284, 284, 284, 284, 284, 1869 284, 284, 284, 284, 340, 207, 287, 287, 287, 287, 1870 1871 287, 287, 287, 287, 287, 287, 288, 288, 288, 288, 1872 288, 288, 288, 288, 288, 288, 289, 289, 289, 289, 1873 289, 289, 289, 289, 289, 289, 290, 290, 290, 290, 1874 290, 290, 290, 290, 290, 291, 291, 291, 291, 291, 1875 291, 291, 291, 291, 291, 339, 297, 297, 297, 333, 1876 333, 333, 333, 333, 333, 333, 358, 358, 358, 358, 1877 358, 358, 358, 336, 207, 207, 207, 207, 207, 207, 1878 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 1879 207, 207, 208, 297, 208, 334, 334, 334, 334, 334, 1880 334, 334, 334, 334, 337, 337, 337, 337, 337, 337, 1881 1882 337, 337, 344, 344, 344, 344, 344, 344, 344, 344, 1883 344, 344, 344, 344, 344, 208, 331, 337, 346, 346, 1884 346, 346, 346, 346, 346, 346, 346, 316, 313, 301, 1885 277, 276, 268, 297, 297, 297, 297, 297, 297, 267, 1886 297, 297, 297, 297, 217, 187, 208, 208, 208, 208, 1887 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1888 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1889 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1890 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1891 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 1892 1893 208, 208, 209, 209, 209, 209, 209, 209, 209, 209, 1894 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 1895 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 1896 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 1897 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 1898 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 1899 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 1900 210, 210, 210, 210, 210, 210, 210, 210, 229, 298, 1901 298, 298, 177, 174, 173, 229, 172, 171, 170, 168, 1902 341, 165, 164, 163, 162, 161, 160, 341, 383, 383, 1903 1904 383, 383, 383, 383, 383, 159, 341, 341, 158, 157, 1905 330, 229, 330, 330, 330, 156, 155, 154, 153, 152, 1906 149, 298, 330, 330, 330, 145, 144, 143, 341, 138, 1907 137, 123, 341, 122, 117, 91, 330, 330, 330, 341, 1908 68, 60, 341, 34, 341, 341, 391, 391, 391, 391, 1909 391, 391, 391, 29, 330, 381, 381, 381, 18, 389, 1910 389, 389, 13, 9, 7, 5, 298, 298, 298, 298, 1911 298, 298, 0, 298, 298, 298, 298, 0, 0, 0, 1912 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 1913 229, 229, 229, 229, 229, 229, 229, 229, 232, 0, 1914 1915 0, 330, 330, 330, 330, 232, 0, 0, 0, 330, 1916 384, 384, 384, 384, 384, 384, 384, 384, 384, 353, 1917 353, 353, 353, 353, 353, 353, 0, 0, 0, 0, 1918 0, 232, 353, 353, 353, 353, 353, 353, 353, 353, 1919 353, 0, 0, 0, 381, 381, 381, 381, 389, 389, 1920 389, 389, 381, 0, 0, 0, 389, 0, 0, 0, 1921 0, 0, 232, 232, 232, 232, 232, 232, 232, 232, 1922 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1923 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1924 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1925 1926 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 1927 232, 232, 232, 232, 232, 232, 232, 232, 233, 233, 1928 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 1929 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 1930 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 1931 233, 233, 233, 233, 233, 233, 235, 235, 235, 235, 1932 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 1933 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 1934 235, 235, 235, 235, 235, 237, 237, 237, 237, 237, 1935 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 1936 1937 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 1938 237, 237, 237, 237, 237, 237, 237, 239, 239, 239, 1939 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 1940 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 1941 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 1942 239, 239, 241, 367, 367, 367, 382, 382, 382, 241, 1943 0, 0, 367, 367, 367, 367, 382, 0, 382, 0, 1944 0, 0, 0, 0, 367, 367, 367, 367, 367, 367, 1945 382, 332, 382, 332, 0, 241, 332, 332, 332, 0, 1946 0, 0, 367, 0, 0, 0, 332, 0, 332, 0, 1947 1948 373, 373, 373, 373, 373, 373, 373, 0, 0, 0, 1949 332, 0, 332, 373, 373, 373, 373, 373, 373, 373, 1950 373, 373, 0, 385, 0, 385, 0, 385, 332, 385, 1951 0, 385, 0, 385, 0, 385, 385, 0, 385, 0, 1952 0, 0, 385, 0, 385, 382, 382, 382, 382, 0, 1953 0, 0, 0, 382, 241, 241, 241, 241, 241, 241, 1954 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 1955 241, 241, 242, 0, 0, 332, 332, 332, 332, 242, 1956 0, 0, 0, 332, 0, 377, 377, 377, 242, 242, 1957 242, 0, 0, 0, 377, 377, 377, 377, 402, 402, 1958 1959 402, 402, 402, 402, 402, 242, 377, 377, 377, 377, 1960 377, 377, 0, 0, 0, 388, 388, 388, 0, 0, 1961 0, 0, 0, 0, 377, 388, 388, 388, 392, 392, 1962 392, 392, 392, 392, 392, 392, 392, 0, 0, 388, 1963 388, 388, 0, 0, 0, 0, 390, 390, 390, 410, 1964 410, 410, 410, 410, 410, 410, 390, 0, 390, 396, 1965 396, 396, 396, 396, 396, 396, 396, 396, 396, 0, 1966 390, 0, 390, 0, 242, 242, 242, 242, 242, 242, 1967 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 1968 242, 242, 243, 0, 0, 0, 0, 0, 0, 243, 1969 1970 0, 0, 0, 0, 388, 388, 388, 388, 243, 243, 1971 243, 0, 388, 0, 0, 0, 0, 243, 243, 243, 1972 243, 0, 0, 0, 0, 243, 0, 0, 0, 243, 1973 243, 243, 243, 243, 243, 390, 390, 390, 390, 0, 1974 393, 0, 393, 390, 393, 0, 393, 243, 393, 0, 1975 393, 0, 393, 393, 0, 393, 0, 0, 0, 393, 1976 0, 393, 397, 397, 397, 397, 397, 397, 397, 397, 1977 397, 397, 398, 398, 398, 398, 398, 398, 398, 398, 1978 398, 398, 399, 399, 399, 399, 399, 399, 399, 399, 1979 399, 0, 0, 0, 243, 243, 243, 243, 243, 243, 1980 1981 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 1982 243, 243, 245, 245, 245, 245, 245, 245, 245, 245, 1983 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 1984 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 1985 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 1986 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 1987 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 1988 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 1989 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, 1990 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 1991 1992 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 1993 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 1994 247, 247, 247, 247, 247, 247, 248, 248, 248, 248, 1995 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 1996 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 1997 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 1998 248, 248, 248, 248, 335, 335, 335, 335, 335, 335, 1999 335, 335, 335, 335, 335, 335, 335, 335, 335, 335, 2000 335, 335, 335, 335, 335, 335, 335, 335, 335, 342, 2001 0, 342, 400, 400, 400, 400, 400, 400, 400, 400, 2002 2003 400, 400, 404, 404, 404, 404, 404, 404, 404, 404, 2004 404, 404, 405, 405, 405, 405, 405, 405, 405, 405, 2005 405, 405, 342, 406, 406, 406, 406, 406, 406, 406, 2006 406, 406, 406, 407, 407, 407, 407, 407, 407, 407, 2007 407, 407, 408, 408, 408, 408, 408, 408, 408, 408, 2008 408, 408, 0, 342, 342, 342, 342, 342, 342, 342, 2009 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 2010 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 2011 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 2012 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, 2013 2014 342, 342, 342, 342, 342, 342, 342, 342, 342, 343, 2015 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 2016 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 2017 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, 2018 343, 343, 343, 343, 343, 343, 343, 345, 345, 345, 2019 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 2020 345, 345, 345, 345, 345, 345, 345, 345, 345, 345, 2021 345, 345, 345, 345, 345, 345, 347, 347, 347, 347, 2022 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 2023 347, 347, 347, 347, 347, 347, 347, 347, 347, 347, 2024 2025 347, 347, 347, 347, 347, 347, 347, 347, 349, 349, 2026 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 2027 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 2028 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 2029 349, 349, 349, 351, 0, 351, 451, 451, 451, 451, 2030 451, 451, 451, 0, 0, 0, 412, 412, 412, 351, 2031 351, 351, 0, 0, 0, 412, 412, 412, 412, 0, 2032 412, 0, 0, 0, 0, 0, 351, 412, 412, 412, 2033 412, 412, 412, 413, 413, 413, 0, 0, 0, 0, 2034 0, 412, 413, 413, 413, 413, 415, 413, 415, 0, 2035 2036 0, 415, 415, 415, 413, 413, 413, 413, 413, 413, 2037 0, 415, 0, 415, 0, 0, 0, 0, 413, 0, 2038 0, 0, 0, 0, 0, 415, 0, 415, 452, 452, 2039 452, 452, 452, 452, 452, 452, 452, 463, 463, 463, 2040 463, 463, 463, 463, 0, 351, 351, 351, 351, 351, 2041 351, 351, 351, 351, 351, 351, 351, 351, 351, 351, 2042 351, 351, 351, 352, 0, 352, 455, 455, 455, 455, 2043 455, 455, 455, 455, 457, 457, 457, 457, 457, 457, 2044 457, 457, 457, 457, 0, 0, 0, 0, 0, 455, 2045 415, 415, 415, 415, 0, 0, 352, 0, 415, 459, 2046 2047 459, 459, 459, 459, 459, 459, 459, 459, 459, 479, 2048 479, 479, 479, 479, 479, 479, 479, 479, 479, 479, 2049 479, 479, 0, 0, 0, 0, 0, 352, 352, 352, 2050 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 2051 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 2052 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 2053 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 2054 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 2055 352, 352, 352, 354, 354, 354, 354, 354, 354, 354, 2056 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 2057 2058 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 2059 354, 354, 354, 354, 354, 354, 354, 354, 354, 354, 2060 354, 355, 355, 355, 355, 355, 355, 355, 355, 355, 2061 355, 355, 355, 355, 0, 0, 355, 0, 355, 0, 2062 355, 0, 355, 0, 355, 0, 355, 0, 355, 355, 2063 0, 355, 0, 0, 0, 355, 0, 355, 356, 356, 2064 356, 356, 356, 356, 356, 356, 356, 356, 356, 356, 2065 356, 0, 0, 356, 0, 356, 0, 356, 0, 356, 2066 0, 356, 0, 356, 0, 356, 356, 0, 356, 0, 2067 0, 0, 356, 0, 356, 356, 357, 0, 357, 480, 2068 2069 480, 480, 480, 480, 480, 480, 480, 480, 480, 480, 2070 480, 480, 357, 357, 357, 0, 0, 0, 0, 0, 2071 0, 357, 357, 357, 357, 0, 0, 0, 0, 357, 2072 468, 468, 468, 357, 357, 357, 357, 357, 357, 468, 2073 468, 468, 468, 0, 474, 474, 474, 474, 474, 474, 2074 474, 468, 468, 468, 468, 468, 468, 474, 474, 474, 2075 474, 474, 474, 474, 474, 474, 0, 0, 0, 468, 2076 481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 2077 481, 481, 481, 482, 482, 482, 482, 482, 482, 482, 2078 482, 482, 482, 482, 482, 482, 0, 0, 357, 357, 2079 2080 357, 357, 357, 357, 357, 357, 357, 357, 357, 357, 2081 357, 357, 357, 357, 357, 357, 359, 359, 359, 359, 2082 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 2083 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 2084 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, 2085 359, 359, 359, 359, 360, 360, 360, 360, 360, 360, 2086 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 2087 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 2088 360, 360, 360, 360, 360, 360, 360, 360, 360, 360, 2089 360, 360, 364, 416, 0, 416, 416, 416, 0, 364, 2090 2091 0, 0, 0, 0, 0, 416, 416, 416, 484, 484, 2092 484, 0, 484, 484, 484, 484, 484, 484, 484, 416, 2093 416, 416, 0, 0, 417, 364, 417, 417, 417, 488, 2094 488, 488, 488, 488, 488, 488, 417, 417, 417, 417, 2095 0, 0, 538, 538, 538, 0, 449, 449, 449, 0, 2096 417, 417, 417, 0, 0, 0, 449, 417, 449, 0, 2097 0, 0, 0, 456, 0, 456, 456, 456, 0, 0, 2098 449, 0, 449, 0, 0, 456, 456, 456, 0, 0, 2099 0, 0, 0, 0, 416, 416, 416, 416, 449, 456, 2100 456, 456, 416, 0, 364, 364, 364, 364, 364, 364, 2101 2102 364, 364, 364, 364, 364, 364, 364, 364, 364, 364, 2103 364, 364, 365, 0, 0, 417, 417, 417, 417, 365, 2104 0, 0, 0, 417, 0, 0, 0, 0, 365, 365, 2105 365, 538, 538, 538, 538, 449, 449, 449, 449, 538, 2106 0, 0, 0, 449, 0, 365, 489, 489, 489, 489, 2107 489, 489, 489, 0, 456, 456, 456, 456, 0, 0, 2108 0, 0, 456, 483, 483, 483, 483, 483, 483, 483, 2109 483, 483, 483, 483, 483, 483, 485, 485, 485, 485, 2110 485, 485, 485, 0, 0, 0, 631, 631, 631, 485, 2111 485, 485, 485, 485, 485, 485, 486, 486, 486, 0, 2112 2113 486, 486, 486, 486, 486, 486, 486, 497, 497, 497, 2114 497, 497, 497, 497, 365, 365, 365, 365, 365, 365, 2115 365, 365, 365, 365, 365, 365, 365, 365, 365, 365, 2116 365, 365, 366, 0, 0, 0, 0, 0, 0, 366, 2117 501, 501, 501, 501, 501, 501, 501, 0, 366, 366, 2118 366, 0, 0, 0, 0, 0, 0, 366, 366, 366, 2119 366, 0, 0, 0, 0, 366, 0, 0, 0, 366, 2120 366, 366, 366, 366, 366, 631, 631, 631, 631, 487, 2121 487, 487, 0, 631, 0, 0, 0, 366, 487, 487, 2122 487, 487, 0, 492, 492, 492, 492, 492, 492, 492, 2123 2124 487, 487, 487, 487, 487, 487, 492, 492, 492, 492, 2125 492, 492, 492, 492, 492, 0, 0, 0, 487, 507, 2126 507, 507, 507, 507, 507, 507, 507, 507, 507, 507, 2127 507, 507, 0, 0, 366, 366, 366, 366, 366, 366, 2128 366, 366, 366, 366, 366, 366, 366, 366, 366, 366, 2129 366, 366, 368, 368, 368, 0, 0, 0, 0, 0, 2130 0, 368, 368, 368, 368, 0, 502, 502, 502, 502, 2131 502, 502, 502, 368, 368, 368, 368, 368, 368, 502, 2132 502, 502, 502, 502, 502, 502, 502, 502, 512, 512, 2133 512, 368, 512, 512, 512, 512, 512, 512, 512, 0, 2134 2135 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 2136 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 2137 368, 368, 368, 368, 368, 368, 368, 368, 368, 368, 2138 368, 368, 368, 368, 368, 368, 368, 368, 369, 369, 2139 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 2140 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 2141 369, 369, 369, 369, 369, 369, 369, 369, 369, 369, 2142 369, 369, 369, 369, 369, 369, 370, 370, 370, 370, 2143 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 2144 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 2145 2146 370, 370, 370, 370, 370, 370, 370, 370, 370, 370, 2147 370, 370, 370, 370, 371, 0, 0, 0, 0, 0, 2148 500, 0, 0, 371, 371, 371, 0, 0, 0, 500, 2149 500, 500, 371, 371, 371, 371, 0, 0, 500, 500, 2150 500, 500, 0, 0, 371, 371, 371, 371, 371, 371, 2151 500, 500, 500, 500, 500, 500, 0, 503, 0, 503, 2152 0, 503, 371, 503, 0, 503, 0, 503, 0, 503, 2153 503, 0, 503, 0, 0, 0, 503, 0, 503, 508, 2154 508, 508, 508, 508, 508, 508, 508, 508, 508, 508, 2155 508, 508, 509, 509, 509, 509, 509, 509, 509, 509, 2156 2157 509, 509, 509, 509, 509, 524, 524, 524, 524, 524, 2158 524, 524, 371, 371, 371, 371, 0, 0, 0, 0, 2159 371, 372, 372, 372, 372, 372, 372, 372, 372, 372, 2160 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 2161 372, 372, 372, 372, 372, 372, 372, 372, 372, 372, 2162 372, 372, 372, 372, 372, 372, 372, 372, 372, 374, 2163 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 2164 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 2165 374, 374, 374, 374, 374, 374, 374, 374, 374, 374, 2166 374, 374, 374, 374, 374, 374, 374, 375, 375, 375, 2167 2168 375, 375, 375, 375, 375, 375, 375, 375, 375, 375, 2169 0, 0, 375, 0, 375, 0, 375, 0, 375, 0, 2170 375, 0, 375, 0, 375, 375, 0, 375, 0, 0, 2171 0, 375, 0, 375, 376, 376, 376, 376, 376, 376, 2172 376, 376, 376, 376, 376, 376, 376, 0, 0, 376, 2173 0, 376, 0, 376, 0, 376, 0, 376, 0, 376, 2174 0, 376, 376, 0, 376, 0, 0, 0, 376, 0, 2175 376, 376, 378, 378, 378, 378, 378, 378, 378, 378, 2176 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 2177 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 2178 2179 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 2180 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 2181 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 2182 379, 379, 379, 379, 379, 379, 379, 379, 379, 379, 2183 379, 379, 379, 379, 379, 379, 379, 379, 380, 380, 2184 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 2185 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 2186 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, 2187 380, 380, 380, 380, 380, 380, 453, 453, 453, 453, 2188 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 2189 2190 453, 453, 453, 453, 453, 453, 453, 453, 453, 453, 2191 453, 465, 0, 465, 510, 510, 510, 510, 510, 510, 2192 510, 510, 510, 510, 510, 510, 510, 511, 511, 511, 2193 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, 2194 0, 0, 0, 0, 465, 513, 513, 513, 513, 513, 2195 513, 513, 0, 0, 0, 0, 0, 0, 513, 513, 2196 513, 513, 513, 513, 513, 514, 514, 514, 0, 514, 2197 514, 514, 514, 514, 514, 514, 515, 515, 515, 0, 2198 0, 0, 0, 0, 0, 515, 515, 515, 515, 532, 2199 532, 532, 532, 532, 532, 532, 0, 515, 515, 515, 2200 2201 515, 515, 515, 518, 518, 518, 518, 518, 518, 518, 2202 518, 518, 518, 465, 465, 465, 465, 465, 465, 465, 2203 465, 465, 465, 465, 465, 465, 465, 465, 465, 465, 2204 465, 466, 0, 466, 519, 519, 519, 519, 519, 519, 2205 519, 519, 519, 519, 0, 0, 0, 466, 466, 466, 2206 520, 520, 520, 520, 520, 520, 520, 520, 520, 520, 2207 0, 0, 0, 0, 466, 521, 521, 521, 521, 521, 2208 521, 521, 521, 521, 522, 522, 522, 522, 522, 522, 2209 522, 522, 522, 522, 526, 526, 526, 526, 526, 526, 2210 526, 526, 526, 526, 527, 527, 527, 527, 527, 527, 2211 2212 527, 527, 527, 527, 528, 528, 528, 528, 528, 528, 2213 528, 528, 528, 528, 529, 529, 529, 529, 529, 529, 2214 529, 529, 529, 530, 530, 530, 530, 530, 530, 530, 2215 530, 530, 530, 466, 466, 466, 466, 466, 466, 466, 2216 466, 466, 466, 466, 466, 466, 466, 466, 466, 466, 2217 466, 467, 0, 467, 541, 541, 541, 541, 541, 541, 2218 541, 0, 0, 672, 672, 672, 0, 467, 467, 467, 2219 672, 672, 672, 672, 672, 672, 467, 467, 467, 467, 2220 0, 0, 0, 0, 467, 0, 0, 0, 467, 467, 2221 467, 467, 467, 467, 542, 542, 542, 542, 542, 542, 2222 2223 542, 542, 542, 0, 0, 0, 467, 0, 0, 534, 2224 534, 534, 576, 576, 576, 576, 576, 576, 576, 534, 2225 534, 534, 570, 570, 570, 570, 570, 570, 570, 570, 2226 570, 570, 0, 534, 534, 534, 571, 571, 571, 571, 2227 571, 571, 571, 571, 571, 571, 586, 586, 586, 586, 2228 586, 586, 586, 467, 467, 467, 467, 467, 467, 467, 2229 467, 467, 467, 467, 467, 467, 467, 467, 467, 467, 2230 467, 469, 469, 469, 0, 0, 0, 0, 0, 0, 2231 469, 469, 469, 469, 616, 616, 616, 616, 616, 616, 2232 616, 0, 469, 469, 469, 469, 469, 469, 534, 534, 2233 2234 534, 534, 0, 0, 0, 0, 534, 612, 612, 612, 2235 469, 612, 612, 612, 612, 612, 612, 612, 0, 469, 2236 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 2237 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 2238 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, 2239 469, 469, 469, 469, 469, 469, 469, 470, 470, 470, 2240 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 2241 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 2242 470, 470, 470, 470, 470, 470, 470, 470, 470, 470, 2243 470, 470, 470, 470, 470, 471, 471, 471, 471, 471, 2244 2245 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 2246 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 2247 471, 471, 471, 471, 471, 471, 471, 471, 471, 471, 2248 471, 471, 471, 472, 0, 472, 535, 535, 535, 617, 2249 617, 617, 617, 617, 617, 617, 535, 0, 535, 572, 2250 572, 572, 572, 572, 572, 572, 572, 572, 572, 0, 2251 535, 0, 535, 536, 0, 536, 472, 0, 536, 536, 2252 536, 0, 539, 539, 539, 0, 0, 0, 536, 0, 2253 536, 0, 539, 0, 539, 0, 0, 543, 0, 543, 2254 0, 543, 536, 543, 536, 543, 539, 543, 539, 543, 2255 2256 543, 0, 543, 546, 546, 546, 543, 0, 543, 592, 2257 592, 592, 592, 592, 592, 592, 592, 592, 592, 0, 2258 0, 0, 0, 546, 0, 535, 535, 535, 535, 0, 2259 0, 0, 0, 535, 0, 472, 472, 472, 472, 472, 2260 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, 2261 472, 472, 472, 473, 0, 473, 0, 536, 536, 536, 2262 536, 539, 539, 539, 539, 536, 0, 0, 0, 539, 2263 593, 593, 593, 593, 593, 593, 593, 593, 593, 593, 2264 0, 0, 0, 0, 0, 0, 473, 0, 0, 0, 2265 546, 546, 546, 546, 546, 546, 0, 546, 546, 546, 2266 2267 546, 607, 607, 607, 607, 607, 607, 607, 607, 607, 2268 607, 607, 607, 607, 0, 0, 0, 473, 473, 473, 2269 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 2270 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 2271 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 2272 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 2273 473, 473, 473, 473, 473, 473, 473, 473, 473, 473, 2274 473, 473, 473, 475, 475, 475, 475, 475, 475, 475, 2275 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, 2276 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, 2277 2278 475, 475, 475, 475, 475, 475, 475, 475, 475, 475, 2279 475, 476, 476, 476, 476, 476, 476, 476, 476, 476, 2280 476, 476, 476, 476, 0, 0, 476, 0, 476, 0, 2281 476, 0, 476, 0, 476, 0, 476, 0, 476, 476, 2282 0, 476, 0, 0, 0, 476, 0, 476, 477, 477, 2283 477, 477, 477, 477, 477, 477, 477, 477, 477, 477, 2284 477, 0, 0, 477, 0, 477, 0, 477, 0, 477, 2285 0, 477, 0, 477, 0, 477, 477, 0, 477, 0, 2286 0, 0, 477, 0, 477, 477, 478, 0, 478, 547, 2287 547, 547, 581, 581, 581, 581, 581, 581, 581, 0, 2288 2289 0, 0, 478, 478, 478, 581, 581, 581, 581, 581, 2290 581, 581, 581, 581, 547, 0, 0, 0, 0, 478, 2291 569, 569, 569, 634, 634, 634, 634, 634, 634, 634, 2292 569, 0, 569, 0, 0, 578, 0, 578, 578, 578, 2293 0, 0, 0, 0, 569, 569, 569, 578, 578, 578, 2294 645, 645, 645, 645, 645, 645, 645, 595, 595, 595, 2295 0, 578, 578, 578, 595, 595, 595, 595, 595, 595, 2296 595, 595, 595, 595, 0, 0, 547, 547, 547, 547, 2297 547, 547, 0, 547, 547, 547, 547, 0, 478, 478, 2298 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, 2299 2300 478, 478, 478, 478, 478, 478, 490, 0, 0, 569, 2301 569, 569, 569, 490, 0, 0, 0, 569, 0, 0, 2302 0, 0, 490, 490, 490, 0, 578, 578, 578, 578, 2303 0, 0, 0, 0, 578, 0, 0, 0, 0, 490, 2304 596, 596, 596, 596, 596, 596, 596, 635, 635, 635, 2305 635, 635, 635, 635, 635, 635, 596, 596, 596, 596, 2306 596, 596, 596, 596, 596, 596, 597, 597, 597, 0, 2307 0, 0, 0, 597, 597, 597, 597, 597, 597, 597, 2308 597, 597, 597, 602, 602, 602, 602, 602, 602, 602, 2309 0, 0, 0, 0, 0, 0, 602, 602, 602, 602, 2310 2311 602, 602, 602, 602, 602, 0, 0, 0, 490, 490, 2312 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 2313 490, 490, 490, 490, 490, 490, 491, 599, 599, 599, 2314 0, 0, 0, 491, 0, 0, 599, 599, 599, 599, 2315 666, 666, 666, 666, 666, 666, 666, 0, 599, 599, 2316 599, 599, 599, 599, 0, 0, 0, 0, 0, 491, 2317 608, 608, 608, 608, 608, 608, 608, 608, 608, 608, 2318 608, 608, 608, 609, 609, 609, 609, 609, 609, 609, 2319 609, 609, 609, 609, 609, 609, 0, 0, 0, 0, 2320 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 2321 2322 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 2323 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 2324 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 2325 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, 2326 491, 491, 491, 491, 491, 491, 493, 493, 493, 493, 2327 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 2328 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 2329 493, 493, 493, 493, 493, 493, 493, 493, 493, 493, 2330 493, 493, 493, 493, 494, 494, 494, 494, 494, 494, 2331 494, 494, 494, 494, 494, 494, 494, 0, 0, 494, 2332 2333 0, 494, 0, 494, 0, 494, 0, 494, 0, 494, 2334 0, 494, 494, 0, 494, 0, 0, 0, 494, 0, 2335 494, 495, 495, 495, 495, 495, 495, 495, 495, 495, 2336 495, 495, 495, 495, 0, 0, 495, 0, 495, 0, 2337 495, 0, 495, 0, 495, 0, 495, 0, 495, 495, 2338 0, 495, 0, 0, 0, 495, 0, 495, 495, 496, 2339 0, 0, 0, 614, 614, 614, 496, 614, 614, 614, 2340 614, 614, 614, 614, 0, 496, 496, 496, 0, 0, 2341 0, 0, 0, 0, 496, 496, 496, 496, 0, 0, 2342 0, 0, 496, 0, 0, 0, 496, 496, 496, 496, 2343 2344 496, 496, 610, 610, 610, 610, 610, 610, 610, 610, 2345 610, 610, 610, 610, 610, 611, 611, 611, 611, 611, 2346 611, 611, 611, 611, 611, 611, 611, 611, 613, 613, 2347 613, 613, 613, 613, 613, 0, 0, 0, 0, 0, 2348 0, 613, 613, 613, 613, 613, 613, 613, 619, 619, 2349 619, 619, 619, 619, 619, 619, 619, 619, 619, 619, 2350 619, 496, 496, 496, 496, 496, 496, 496, 496, 496, 2351 496, 496, 496, 496, 496, 496, 496, 496, 496, 498, 2352 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 2353 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 2354 2355 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 2356 498, 498, 498, 498, 498, 498, 498, 499, 499, 499, 2357 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 2358 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 2359 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 2360 499, 499, 499, 499, 499, 506, 0, 0, 0, 0, 2361 0, 618, 0, 0, 506, 506, 506, 0, 0, 0, 2362 618, 618, 618, 506, 506, 506, 506, 0, 0, 618, 2363 618, 618, 618, 0, 0, 506, 506, 506, 506, 506, 2364 506, 618, 618, 618, 618, 618, 618, 620, 620, 620, 2365 2366 620, 620, 620, 620, 620, 620, 620, 620, 620, 620, 2367 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, 2368 621, 621, 621, 622, 622, 622, 622, 622, 622, 622, 2369 622, 622, 622, 622, 622, 622, 623, 623, 623, 623, 2370 623, 623, 623, 623, 623, 623, 623, 623, 623, 0, 2371 0, 0, 0, 506, 506, 506, 506, 0, 0, 0, 2372 0, 506, 516, 516, 516, 516, 516, 516, 516, 516, 2373 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 2374 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 2375 516, 516, 516, 516, 516, 516, 516, 516, 516, 516, 2376 2377 579, 0, 579, 624, 624, 624, 0, 624, 624, 624, 2378 624, 624, 624, 624, 0, 0, 579, 579, 579, 0, 2379 0, 625, 625, 625, 625, 625, 625, 625, 0, 0, 2380 0, 0, 0, 579, 625, 625, 625, 625, 625, 625, 2381 625, 626, 626, 626, 0, 626, 626, 626, 626, 626, 2382 626, 626, 628, 628, 628, 629, 629, 629, 0, 0, 2383 0, 628, 628, 628, 628, 629, 0, 629, 0, 0, 2384 630, 630, 630, 628, 628, 628, 628, 628, 628, 629, 2385 630, 629, 630, 639, 639, 639, 639, 639, 639, 639, 2386 639, 639, 639, 0, 630, 0, 630, 0, 0, 0, 2387 2388 0, 0, 579, 579, 579, 579, 579, 579, 579, 579, 2389 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, 2390 580, 636, 580, 636, 0, 636, 0, 636, 0, 636, 2391 0, 636, 0, 636, 636, 0, 636, 0, 0, 0, 2392 636, 0, 636, 0, 629, 629, 629, 629, 0, 0, 2393 0, 0, 629, 580, 0, 0, 0, 0, 0, 630, 2394 630, 630, 630, 0, 0, 0, 0, 630, 640, 640, 2395 640, 640, 640, 640, 640, 640, 640, 640, 0, 0, 2396 0, 0, 0, 0, 580, 580, 580, 580, 580, 580, 2397 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2398 2399 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2400 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2401 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2402 580, 580, 580, 580, 580, 580, 580, 580, 580, 580, 2403 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 2404 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 2405 582, 582, 582, 582, 582, 582, 582, 582, 582, 582, 2406 582, 582, 582, 582, 582, 582, 582, 582, 583, 583, 2407 583, 583, 583, 583, 583, 583, 583, 583, 583, 583, 2408 583, 0, 0, 583, 0, 583, 0, 583, 0, 583, 2409 2410 0, 583, 0, 583, 0, 583, 583, 0, 583, 0, 2411 0, 0, 583, 0, 583, 584, 584, 584, 584, 584, 2412 584, 584, 584, 584, 584, 584, 584, 584, 0, 0, 2413 584, 0, 584, 0, 584, 0, 584, 0, 584, 0, 2414 584, 0, 584, 584, 0, 584, 0, 0, 0, 584, 2415 0, 584, 584, 585, 0, 585, 641, 641, 641, 641, 2416 641, 641, 641, 641, 641, 641, 0, 0, 0, 585, 2417 585, 585, 0, 0, 0, 0, 0, 0, 585, 585, 2418 585, 585, 0, 0, 0, 0, 585, 0, 0, 0, 2419 585, 585, 585, 585, 585, 585, 642, 642, 642, 642, 2420 2421 642, 642, 642, 642, 642, 643, 643, 643, 643, 643, 2422 643, 643, 643, 643, 643, 665, 665, 665, 0, 0, 2423 0, 0, 0, 0, 665, 665, 665, 665, 0, 667, 2424 667, 667, 667, 667, 667, 667, 665, 665, 665, 665, 2425 665, 665, 667, 667, 667, 667, 667, 667, 667, 667, 2426 667, 0, 0, 0, 0, 585, 585, 585, 585, 585, 2427 585, 585, 585, 585, 585, 585, 585, 585, 585, 585, 2428 585, 585, 585, 587, 587, 587, 587, 587, 587, 587, 2429 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2430 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2431 2432 587, 587, 587, 587, 587, 587, 587, 587, 587, 587, 2433 587, 588, 588, 588, 588, 588, 588, 588, 588, 588, 2434 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 2435 588, 588, 588, 588, 588, 588, 588, 588, 588, 588, 2436 588, 588, 588, 588, 588, 588, 588, 588, 588, 589, 2437 0, 589, 632, 632, 632, 0, 0, 0, 673, 673, 2438 673, 0, 632, 0, 632, 673, 673, 673, 673, 673, 2439 673, 0, 0, 0, 0, 0, 632, 0, 632, 676, 2440 676, 676, 589, 664, 664, 664, 676, 676, 676, 676, 2441 676, 676, 0, 664, 0, 664, 677, 677, 677, 0, 2442 2443 677, 677, 677, 677, 677, 677, 677, 664, 664, 664, 2444 668, 0, 668, 0, 668, 0, 668, 0, 668, 0, 2445 668, 0, 668, 668, 0, 668, 0, 0, 0, 668, 2446 0, 668, 681, 681, 681, 681, 681, 681, 681, 0, 2447 0, 632, 632, 632, 632, 0, 0, 0, 0, 632, 2448 0, 589, 589, 589, 589, 589, 589, 589, 589, 589, 2449 589, 589, 589, 589, 589, 589, 589, 589, 589, 590, 2450 0, 590, 664, 664, 664, 664, 0, 0, 0, 0, 2451 664, 674, 674, 674, 674, 674, 674, 674, 674, 674, 2452 674, 674, 674, 674, 0, 0, 0, 680, 680, 680, 2453 2454 0, 0, 590, 671, 671, 671, 680, 680, 680, 680, 2455 0, 0, 671, 671, 671, 671, 0, 0, 680, 680, 2456 680, 680, 680, 680, 671, 671, 671, 671, 671, 671, 2457 0, 0, 0, 590, 590, 590, 590, 590, 590, 590, 2458 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 2459 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 2460 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 2461 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 2462 590, 590, 590, 590, 590, 590, 590, 590, 590, 598, 2463 0, 598, 671, 671, 671, 671, 0, 0, 0, 0, 2464 2465 671, 0, 0, 0, 0, 598, 598, 598, 675, 675, 2466 675, 675, 675, 675, 675, 675, 675, 675, 675, 675, 2467 675, 0, 598, 678, 678, 678, 678, 678, 678, 678, 2468 0, 0, 0, 0, 0, 0, 678, 678, 678, 678, 2469 678, 678, 678, 679, 679, 679, 0, 679, 679, 679, 2470 679, 679, 679, 679, 682, 682, 682, 682, 682, 682, 2471 682, 684, 684, 684, 0, 0, 0, 685, 685, 685, 2472 684, 684, 684, 684, 685, 685, 685, 685, 685, 685, 2473 0, 0, 684, 684, 684, 684, 684, 684, 0, 0, 2474 0, 598, 598, 598, 598, 598, 598, 598, 598, 598, 2475 2476 598, 598, 598, 598, 598, 598, 598, 598, 598, 600, 2477 686, 686, 686, 0, 0, 0, 600, 686, 686, 686, 2478 686, 686, 686, 687, 687, 687, 687, 687, 687, 687, 2479 687, 687, 687, 687, 687, 687, 0, 0, 0, 0, 2480 0, 0, 600, 688, 688, 688, 688, 688, 688, 688, 2481 688, 688, 688, 688, 688, 688, 689, 689, 689, 0, 2482 0, 0, 0, 689, 689, 689, 689, 689, 689, 690, 2483 690, 690, 0, 690, 690, 690, 690, 690, 690, 690, 2484 691, 691, 691, 691, 691, 691, 691, 0, 0, 0, 2485 0, 0, 0, 691, 691, 691, 691, 691, 691, 691, 2486 2487 692, 692, 692, 0, 692, 692, 692, 692, 692, 692, 2488 692, 600, 600, 600, 600, 600, 600, 600, 600, 600, 2489 600, 600, 600, 600, 600, 600, 600, 600, 600, 601, 2490 694, 694, 694, 0, 0, 0, 601, 0, 0, 694, 2491 694, 694, 694, 0, 0, 0, 0, 0, 695, 0, 2492 0, 694, 694, 694, 694, 694, 694, 695, 695, 695, 2493 0, 0, 601, 0, 0, 0, 695, 695, 695, 695, 2494 702, 702, 702, 702, 702, 702, 702, 0, 695, 695, 2495 695, 695, 695, 695, 699, 699, 699, 699, 699, 699, 2496 699, 699, 699, 601, 601, 601, 601, 601, 601, 601, 2497 2498 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 2499 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 2500 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 2501 601, 601, 601, 601, 601, 601, 601, 601, 601, 601, 2502 601, 601, 601, 601, 601, 601, 601, 601, 601, 603, 2503 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 2504 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 2505 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 2506 603, 603, 603, 603, 603, 603, 603, 604, 604, 604, 2507 604, 604, 604, 604, 604, 604, 604, 604, 604, 604, 2508 2509 0, 0, 604, 0, 604, 0, 604, 0, 604, 0, 2510 604, 0, 604, 0, 604, 604, 0, 604, 0, 0, 2511 0, 604, 0, 604, 605, 605, 605, 605, 605, 605, 2512 605, 605, 605, 605, 605, 605, 605, 0, 0, 605, 2513 0, 605, 0, 605, 0, 605, 0, 605, 0, 605, 2514 0, 605, 605, 0, 605, 0, 0, 0, 605, 0, 2515 605, 605, 606, 693, 693, 693, 0, 0, 0, 606, 2516 0, 0, 693, 693, 693, 693, 0, 0, 606, 606, 2517 606, 0, 0, 0, 693, 693, 693, 693, 693, 693, 2518 0, 0, 0, 0, 0, 606, 696, 696, 696, 696, 2519 2520 696, 696, 696, 696, 696, 696, 697, 697, 697, 697, 2521 697, 697, 697, 697, 697, 697, 698, 698, 698, 698, 2522 698, 698, 698, 698, 698, 698, 700, 700, 700, 700, 2523 700, 700, 700, 700, 700, 700, 0, 704, 704, 704, 2524 0, 0, 0, 0, 0, 0, 0, 704, 0, 704, 2525 0, 0, 693, 693, 693, 693, 0, 0, 0, 0, 2526 693, 704, 0, 704, 606, 606, 606, 606, 606, 606, 2527 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 2528 606, 606, 615, 0, 0, 0, 721, 721, 721, 615, 2529 721, 721, 721, 721, 721, 721, 721, 0, 615, 615, 2530 2531 615, 0, 0, 0, 0, 0, 0, 615, 615, 615, 2532 615, 0, 0, 0, 0, 615, 0, 0, 0, 615, 2533 615, 615, 615, 615, 615, 0, 704, 704, 704, 704, 2534 715, 715, 715, 0, 704, 0, 0, 0, 0, 715, 2535 715, 715, 715, 0, 0, 0, 0, 0, 0, 0, 2536 0, 715, 715, 715, 715, 715, 715, 716, 716, 716, 2537 716, 716, 716, 716, 716, 716, 716, 716, 716, 716, 2538 717, 717, 717, 717, 717, 717, 717, 717, 717, 717, 2539 717, 717, 717, 0, 615, 615, 615, 615, 615, 615, 2540 615, 615, 615, 615, 615, 615, 615, 615, 615, 615, 2541 2542 615, 615, 627, 0, 0, 725, 725, 725, 0, 0, 2543 0, 627, 627, 627, 725, 725, 725, 725, 0, 0, 2544 627, 627, 627, 627, 0, 0, 725, 725, 725, 725, 2545 725, 725, 627, 627, 627, 627, 627, 627, 718, 718, 2546 718, 718, 718, 718, 718, 718, 718, 718, 718, 718, 2547 718, 719, 719, 719, 719, 719, 719, 719, 719, 719, 2548 719, 719, 719, 719, 720, 720, 720, 720, 720, 720, 2549 720, 720, 720, 720, 720, 720, 720, 722, 722, 722, 2550 722, 722, 722, 722, 0, 0, 0, 0, 0, 0, 2551 722, 722, 722, 722, 722, 722, 722, 0, 0, 0, 2552 2553 627, 627, 627, 627, 0, 0, 0, 0, 627, 683, 2554 0, 683, 723, 723, 723, 0, 723, 723, 723, 723, 2555 723, 723, 723, 0, 0, 726, 726, 726, 0, 0, 2556 0, 0, 0, 0, 726, 726, 726, 726, 0, 0, 2557 0, 0, 683, 724, 724, 724, 726, 726, 726, 726, 2558 726, 726, 724, 724, 724, 724, 0, 0, 0, 0, 2559 727, 727, 727, 0, 724, 724, 724, 724, 724, 724, 2560 727, 0, 727, 0, 0, 0, 0, 0, 735, 735, 2561 735, 0, 0, 0, 727, 0, 727, 735, 735, 735, 2562 735, 0, 0, 0, 0, 0, 0, 0, 0, 735, 2563 2564 735, 735, 735, 735, 735, 0, 0, 0, 0, 0, 2565 0, 683, 683, 683, 683, 683, 683, 683, 683, 683, 2566 683, 683, 683, 683, 683, 683, 683, 683, 683, 0, 2567 0, 0, 724, 724, 724, 724, 0, 0, 0, 0, 2568 724, 0, 0, 0, 0, 0, 0, 0, 0, 727, 2569 727, 727, 727, 0, 0, 0, 0, 727, 746, 746, 2570 746, 746, 746, 746, 746, 746, 746, 746, 746, 747, 2571 747, 747, 747, 747, 747, 747, 747, 747, 747, 747, 2572 748, 0, 748, 748, 748, 748, 748, 748, 748, 748, 2573 748, 750, 750, 750, 750, 750, 750, 750, 750, 750, 2574 2575 750, 750, 751, 751, 0, 751, 751, 752, 752, 752, 2576 752, 752, 752, 753, 753, 753, 753, 753, 753, 754, 2577 754, 754, 755, 755, 755, 755, 755, 755, 756, 0, 2578 756, 0, 756, 756, 756, 756, 756, 756, 756, 757, 2579 0, 757, 757, 757, 757, 757, 757, 757, 757, 757, 2580 758, 758, 758, 758, 758, 758, 758, 758, 758, 758, 2581 758, 759, 0, 759, 759, 759, 759, 759, 759, 759, 2582 759, 759, 761, 761, 0, 761, 761, 762, 762, 762, 2583 762, 762, 762, 763, 763, 763, 763, 763, 763, 764, 2584 764, 764, 765, 765, 765, 765, 765, 765, 766, 766, 2585 2586 766, 766, 766, 766, 766, 766, 766, 766, 766, 767, 2587 0, 767, 767, 767, 767, 767, 767, 767, 767, 767, 2588 768, 768, 768, 768, 768, 768, 769, 769, 769, 769, 2589 769, 769, 770, 770, 770, 770, 770, 770, 771, 771, 2590 771, 771, 771, 771, 772, 772, 772, 773, 0, 773, 2591 0, 773, 773, 773, 773, 773, 773, 773, 774, 0, 2592 774, 0, 0, 774, 774, 774, 774, 774, 774, 775, 2593 775, 775, 775, 775, 775, 775, 775, 775, 775, 775, 2594 776, 776, 776, 776, 776, 776, 776, 776, 776, 776, 2595 776, 777, 777, 777, 777, 777, 777, 778, 778, 778, 2596 2597 778, 778, 778, 779, 779, 779, 779, 779, 779, 780, 2598 780, 780, 780, 780, 780, 781, 781, 781, 782, 782, 2599 782, 782, 782, 782, 782, 782, 782, 782, 782, 783, 2600 0, 783, 783, 783, 783, 783, 783, 783, 783, 783, 2601 785, 785, 785, 785, 785, 785, 786, 786, 786, 786, 2602 786, 786, 787, 787, 787, 787, 787, 787, 787, 787, 2603 787, 787, 787, 788, 788, 788, 788, 788, 788, 788, 2604 788, 788, 788, 788, 789, 789, 789, 789, 789, 789, 2605 789, 789, 789, 789, 789, 790, 790, 790, 790, 790, 2606 790, 791, 791, 791, 791, 791, 791, 792, 792, 792, 2607 2608 792, 792, 792, 792, 792, 792, 792, 792, 793, 793, 2609 793, 793, 793, 793, 793, 793, 793, 793, 793, 794, 2610 794, 794, 794, 794, 794, 794, 794, 794, 794, 794, 2611 796, 796, 796, 796, 796, 796, 797, 797, 797, 797, 2612 797, 797, 797, 797, 797, 797, 797, 798, 798, 798, 2613 798, 798, 798, 798, 798, 798, 798, 798, 799, 799, 2614 799, 799, 799, 799, 799, 799, 799, 799, 799, 745, 2615 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2616 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2617 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2618 2619 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2620 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2621 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2622 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2623 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2624 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2625 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2626 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2627 745, 745, 745, 745, 745, 745, 745, 745, 745, 745, 2628 745, 745 2629 2630 } ; 2631 2632 /* The intent behind this definition is that it'll catch 2633 * any uses of REJECT which flex missed. 2634 */ 2635 #define REJECT reject_used_but_not_detected 2636 #define yymore() yymore_used_but_not_detected 2637 #define YY_MORE_ADJ 0 2638 #define YY_RESTORE_YY_MORE_OFFSET 2639 #line 1 "cc.ll" 2640 #line 2 "cc.ll" 2641 /*-- Copyright (C) 2009 Jonathan Schmidt-Dominé <devel@the-user.org> 2642 -- Derived from the KDevelop-Java-Lexer 2643 -- 2644 -- This library is free software; you can redistribute it and/or 2645 -- modify it under the terms of the GNU Library General Public 2646 -- License as published by the Free Software Foundation; either 2647 -- version 2 of the License, or (at your option) any later version. 2648 -- 2649 -- This library is distributed in the hope that it will be useful, 2650 -- but WITHOUT ANY WARRANTY; without even the implied warranty of 2651 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 2652 -- Library General Public License for more details. 2653 -- 2654 -- You should have received a copy of the GNU Library General Public License 2655 -- along with this library; see the file COPYING.LIB. If not, write to 2656 -- the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 2657 -- Boston, MA 02111-1307, USA.*/ 2658 #line 27 "cc.ll" 2659 2660 #define DONT_INCLUDE_FLEXLEXER 2661 #include "lexer.h" 2662 #include <QDebug> 2663 2664 /* UTF-8 sequences, generated with the Unicode.hs script from 2665 * http://lists.gnu.org/archive/html/help-flex/2005-01/msg00043.html */ 2666 /* \u0024, \u0041-\u005a, \u005f, \u0061-\u007a: one byte in UTF-8 */ 2667 /* \u00c0-\u00d6, \u00d8-\u00f6, \u00f8-\u00ff */ 2668 /* \u0100-\u1fff */ 2669 /* \u3040-\u318f */ 2670 /* \u3300-\u337f */ 2671 /* \u3400-\u3d2d */ 2672 /* \u4e00-\u9fff */ 2673 /* \uf900-\ufaff */ 2674 /* \u0030-\u0039: ISO-LATIN-1 digits */ 2675 /* \u0660-\u0669, \u06f0-\u06f9: Arabic-Indic and extended Ar.-Indic digits */ 2676 /* \u0966-\u096f, \u09e6-\u09ef: Devanagari digits */ 2677 /* \u0a66-\u0a6f, \u0ae6-\u0aef */ 2678 /* \u0b66-\u0b6f, \u0be7-\u0bef */ 2679 /* \u0c66-\u0c6f, \u0ce6-\u0cef, \u0d66-\u0d6f */ 2680 /* \u0e50-\u0e59, \u0ed0-\u0ed9 */ 2681 /* \u1040-\u1049 */ 2682 /* \uff10-\uff19: Fullwidth digits */ 2683 /* \u0080-\uffff */ 2684 /* \u10000-\u1fffff */ 2685 /* \u200000-\u3ffffff */ 2686 /* \u4000000-\u7fffffff */ 2687 /* Any multi-byte Unicode character. Single-byte ones are just . in lex. */ 2688 /* non-Unicode stuff */ 2689 2690 #line 2691 "cclexer.cpp" 2691 2692 #define INITIAL 0 2693 #define IN_BLOCKCOMMENT 1 2694 2695 #ifndef YY_NO_UNISTD_H 2696 /* Special case for "unistd.h", since it is non-ANSI. We include it way 2697 * down here because we want the user's section 1 to have been scanned first. 2698 * The user has a chance to override it with an option. 2699 */ 2700 #include <unistd.h> 2701 #endif 2702 2703 #ifndef YY_EXTRA_TYPE 2704 #define YY_EXTRA_TYPE void * 2705 #endif 2706 2707 #ifndef yytext_ptr 2708 static void yy_flex_strncpy (char *,yyconst char *,int ); 2709 #endif 2710 2711 #ifdef YY_NEED_STRLEN 2712 static int yy_flex_strlen (yyconst char * ); 2713 #endif 2714 2715 #ifndef YY_NO_INPUT 2716 2717 #endif 2718 2719 /* Amount of stuff to slurp up with each read. */ 2720 #ifndef YY_READ_BUF_SIZE 2721 #define YY_READ_BUF_SIZE 8192 2722 #endif 2723 2724 /* Copy whatever the last rule matched to the standard output. */ 2725 #ifndef ECHO 2726 #define ECHO LexerOutput( yytext, yyleng ) 2727 #endif 2728 2729 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 2730 * is returned in "result". 2731 */ 2732 #ifndef YY_INPUT 2733 #define YY_INPUT(buf,result,max_size) \ 2734 \ 2735 if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \ 2736 YY_FATAL_ERROR( "input in flex scanner failed" ); 2737 2738 #endif 2739 2740 /* No semi-colon after return; correct usage is to write "yyterminate();" - 2741 * we don't want an extra ';' after the "return" because that will cause 2742 * some compilers to complain about unreachable statements. 2743 */ 2744 #ifndef yyterminate 2745 #define yyterminate() return YY_NULL 2746 #endif 2747 2748 /* Number of entries by which start-condition stack grows. */ 2749 #ifndef YY_START_STACK_INCR 2750 #define YY_START_STACK_INCR 25 2751 #endif 2752 2753 /* Report a fatal error. */ 2754 #ifndef YY_FATAL_ERROR 2755 #define YY_FATAL_ERROR(msg) LexerError( msg ) 2756 #endif 2757 2758 /* end tables serialization structures and prototypes */ 2759 2760 /* Default declaration of generated scanner - a define so the user can 2761 * easily add parameters. 2762 */ 2763 #ifndef YY_DECL 2764 #define YY_DECL_IS_OURS 1 2765 #define YY_DECL int yyFlexLexer::yylex() 2766 #endif /* !YY_DECL */ 2767 2768 /* Code executed at the beginning of each rule, after yytext and yyleng 2769 * have been set up. 2770 */ 2771 #ifndef YY_USER_ACTION 2772 #define YY_USER_ACTION 2773 #endif 2774 2775 /* Code executed at the end of each rule. */ 2776 #ifndef YY_BREAK 2777 #define YY_BREAK break; 2778 #endif 2779 2780 #define YY_RULE_SETUP \ 2781 YY_USER_ACTION 2782 2783 /** The main scanner function which does all the work. 2784 */ 2785 YY_DECL 2786 { 2787 register yy_state_type yy_current_state; 2788 register char *yy_cp, *yy_bp; 2789 register int yy_act; 2790 2791 if ( !(yy_init) ) 2792 { 2793 (yy_init) = 1; 2794 2795 #ifdef YY_USER_INIT 2796 YY_USER_INIT; 2797 #endif 2798 2799 if ( ! (yy_start) ) 2800 (yy_start) = 1; /* first start state */ 2801 2802 if ( ! yyin ) 2803 yyin = & std::cin; 2804 2805 if ( ! yyout ) 2806 yyout = & std::cout; 2807 2808 if ( ! YY_CURRENT_BUFFER ) { 2809 yyensure_buffer_stack (); 2810 YY_CURRENT_BUFFER_LVALUE = 2811 yy_create_buffer( yyin, YY_BUF_SIZE ); 2812 } 2813 2814 yy_load_buffer_state( ); 2815 } 2816 2817 { 2818 #line 122 "cc.ll" 2819 2820 2821 /* whitespace, newlines, preprocessor-statements and comments */ 2822 2823 #line 2824 "cclexer.cpp" 2824 2825 while ( 1 ) /* loops until end-of-file is reached */ 2826 { 2827 yy_cp = (yy_c_buf_p); 2828 2829 /* Support of yytext. */ 2830 *yy_cp = (yy_hold_char); 2831 2832 /* yy_bp points to the position in yy_ch_buf of the start of 2833 * the current run. 2834 */ 2835 yy_bp = yy_cp; 2836 2837 yy_current_state = (yy_start); 2838 yy_match: 2839 do 2840 { 2841 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; 2842 if ( yy_accept[yy_current_state] ) 2843 { 2844 (yy_last_accepting_state) = yy_current_state; 2845 (yy_last_accepting_cpos) = yy_cp; 2846 } 2847 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 2848 { 2849 yy_current_state = (int) yy_def[yy_current_state]; 2850 if ( yy_current_state >= 746 ) 2851 yy_c = yy_meta[(unsigned int) yy_c]; 2852 } 2853 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 2854 ++yy_cp; 2855 } 2856 while ( yy_base[yy_current_state] != 8770 ); 2857 2858 yy_find_action: 2859 yy_act = yy_accept[yy_current_state]; 2860 if ( yy_act == 0 ) 2861 { /* have to back up */ 2862 yy_cp = (yy_last_accepting_cpos); 2863 yy_current_state = (yy_last_accepting_state); 2864 yy_act = yy_accept[yy_current_state]; 2865 } 2866 2867 YY_DO_BEFORE_ACTION; 2868 2869 do_action: /* This label is used only to access EOF actions. */ 2870 2871 switch ( yy_act ) 2872 { /* beginning of action switch */ 2873 case 0: /* must back up */ 2874 /* undo the effects of YY_DO_BEFORE_ACTION */ 2875 *yy_cp = (yy_hold_char); 2876 yy_cp = (yy_last_accepting_cpos); 2877 yy_current_state = (yy_last_accepting_state); 2878 goto yy_find_action; 2879 2880 case 1: 2881 YY_RULE_SETUP 2882 #line 126 "cc.ll" 2883 /* skip */ ; 2884 YY_BREAK 2885 case 2: 2886 /* rule 2 can match eol */ 2887 YY_RULE_SETUP 2888 #line 127 "cc.ll" 2889 /* skip */ ; 2890 YY_BREAK 2891 case 3: 2892 YY_RULE_SETUP 2893 #line 129 "cc.ll" 2894 /* line comments, skip */ ; 2895 YY_BREAK 2896 case 4: 2897 YY_RULE_SETUP 2898 #line 130 "cc.ll" 2899 /* preprocessor statement, skip */ ; 2900 YY_BREAK 2901 case 5: 2902 YY_RULE_SETUP 2903 #line 132 "cc.ll" 2904 BEGIN(IN_BLOCKCOMMENT); 2905 YY_BREAK 2906 2907 case 6: 2908 YY_RULE_SETUP 2909 #line 134 "cc.ll" 2910 /* eat anything that's not a '*' */ ; 2911 YY_BREAK 2912 case 7: 2913 YY_RULE_SETUP 2914 #line 135 "cc.ll" 2915 /* eat up '*'s that are not followed by slashes or newlines */; 2916 YY_BREAK 2917 case 8: 2918 /* rule 8 can match eol */ 2919 YY_RULE_SETUP 2920 #line 136 "cc.ll" 2921 /* skip */ ; 2922 YY_BREAK 2923 case 9: 2924 YY_RULE_SETUP 2925 #line 137 "cc.ll" 2926 BEGIN(INITIAL); 2927 YY_BREAK 2928 case YY_STATE_EOF(IN_BLOCKCOMMENT): 2929 #line 138 "cc.ll" 2930 { 2931 qWarning() << "Encountered end of file in an unclosed block comment"; 2932 return Parser::Token_EOF; 2933 } 2934 YY_BREAK 2935 2936 /* separators */ 2937 case 10: 2938 YY_RULE_SETUP 2939 #line 147 "cc.ll" 2940 return Parser::Token_LPAREN; 2941 YY_BREAK 2942 case 11: 2943 YY_RULE_SETUP 2944 #line 148 "cc.ll" 2945 return Parser::Token_RPAREN; 2946 YY_BREAK 2947 case 12: 2948 YY_RULE_SETUP 2949 #line 149 "cc.ll" 2950 return Parser::Token_LBRACE; 2951 YY_BREAK 2952 case 13: 2953 YY_RULE_SETUP 2954 #line 150 "cc.ll" 2955 return Parser::Token_RBRACE; 2956 YY_BREAK 2957 case 14: 2958 YY_RULE_SETUP 2959 #line 151 "cc.ll" 2960 return Parser::Token_LBRACKET; 2961 YY_BREAK 2962 case 15: 2963 YY_RULE_SETUP 2964 #line 152 "cc.ll" 2965 return Parser::Token_RBRACKET; 2966 YY_BREAK 2967 case 16: 2968 YY_RULE_SETUP 2969 #line 153 "cc.ll" 2970 return Parser::Token_COMMA; 2971 YY_BREAK 2972 case 17: 2973 YY_RULE_SETUP 2974 #line 154 "cc.ll" 2975 return Parser::Token_SEMICOLON; 2976 YY_BREAK 2977 case 18: 2978 YY_RULE_SETUP 2979 #line 155 "cc.ll" 2980 return Parser::Token_DOT; 2981 YY_BREAK 2982 case 19: 2983 YY_RULE_SETUP 2984 #line 156 "cc.ll" 2985 return Parser::Token_ARROW; 2986 YY_BREAK 2987 case 20: 2988 YY_RULE_SETUP 2989 #line 157 "cc.ll" 2990 return Parser::Token_COLON; 2991 YY_BREAK 2992 /* operators */ 2993 case 21: 2994 YY_RULE_SETUP 2995 #line 162 "cc.ll" 2996 return Parser::Token_QUESTION; 2997 YY_BREAK 2998 case 22: 2999 YY_RULE_SETUP 3000 #line 163 "cc.ll" 3001 return Parser::Token_NOT; 3002 YY_BREAK 3003 case 23: 3004 YY_RULE_SETUP 3005 #line 164 "cc.ll" 3006 return Parser::Token_TILDE; 3007 YY_BREAK 3008 case 24: 3009 YY_RULE_SETUP 3010 #line 165 "cc.ll" 3011 return Parser::Token_EQUAL_EQUAL; 3012 YY_BREAK 3013 case 25: 3014 YY_RULE_SETUP 3015 #line 166 "cc.ll" 3016 return Parser::Token_LESS; 3017 YY_BREAK 3018 case 26: 3019 YY_RULE_SETUP 3020 #line 167 "cc.ll" 3021 return Parser::Token_LESS_EQUAL; 3022 YY_BREAK 3023 case 27: 3024 YY_RULE_SETUP 3025 #line 168 "cc.ll" 3026 return Parser::Token_GREATER; 3027 YY_BREAK 3028 case 28: 3029 YY_RULE_SETUP 3030 #line 169 "cc.ll" 3031 return Parser::Token_GREATER_EQUAL; 3032 YY_BREAK 3033 case 29: 3034 YY_RULE_SETUP 3035 #line 170 "cc.ll" 3036 return Parser::Token_NOT_EQUAL; 3037 YY_BREAK 3038 case 30: 3039 YY_RULE_SETUP 3040 #line 171 "cc.ll" 3041 return Parser::Token_AND_AND; 3042 YY_BREAK 3043 case 31: 3044 YY_RULE_SETUP 3045 #line 172 "cc.ll" 3046 return Parser::Token_OR_OR; 3047 YY_BREAK 3048 case 32: 3049 YY_RULE_SETUP 3050 #line 173 "cc.ll" 3051 return Parser::Token_PLUS_PLUS; 3052 YY_BREAK 3053 case 33: 3054 YY_RULE_SETUP 3055 #line 174 "cc.ll" 3056 return Parser::Token_MINUS_MINUS; 3057 YY_BREAK 3058 case 34: 3059 YY_RULE_SETUP 3060 #line 175 "cc.ll" 3061 return Parser::Token_EQUAL; 3062 YY_BREAK 3063 case 35: 3064 YY_RULE_SETUP 3065 #line 176 "cc.ll" 3066 return Parser::Token_PLUS; 3067 YY_BREAK 3068 case 36: 3069 YY_RULE_SETUP 3070 #line 177 "cc.ll" 3071 return Parser::Token_PLUS_EQUAL; 3072 YY_BREAK 3073 case 37: 3074 YY_RULE_SETUP 3075 #line 178 "cc.ll" 3076 return Parser::Token_MINUS; 3077 YY_BREAK 3078 case 38: 3079 YY_RULE_SETUP 3080 #line 179 "cc.ll" 3081 return Parser::Token_MINUS_EQUAL; 3082 YY_BREAK 3083 case 39: 3084 YY_RULE_SETUP 3085 #line 180 "cc.ll" 3086 return Parser::Token_STAR; 3087 YY_BREAK 3088 case 40: 3089 YY_RULE_SETUP 3090 #line 181 "cc.ll" 3091 return Parser::Token_STAR_EQUAL; 3092 YY_BREAK 3093 case 41: 3094 YY_RULE_SETUP 3095 #line 182 "cc.ll" 3096 return Parser::Token_DIVIDE; 3097 YY_BREAK 3098 case 42: 3099 YY_RULE_SETUP 3100 #line 183 "cc.ll" 3101 return Parser::Token_DIVIDE_EQUAL; 3102 YY_BREAK 3103 case 43: 3104 YY_RULE_SETUP 3105 #line 184 "cc.ll" 3106 return Parser::Token_AND; 3107 YY_BREAK 3108 case 44: 3109 YY_RULE_SETUP 3110 #line 185 "cc.ll" 3111 return Parser::Token_AND_EQUAL; 3112 YY_BREAK 3113 case 45: 3114 YY_RULE_SETUP 3115 #line 186 "cc.ll" 3116 return Parser::Token_OR; 3117 YY_BREAK 3118 case 46: 3119 YY_RULE_SETUP 3120 #line 187 "cc.ll" 3121 return Parser::Token_OR_EQUAL; 3122 YY_BREAK 3123 case 47: 3124 YY_RULE_SETUP 3125 #line 188 "cc.ll" 3126 return Parser::Token_XOR; 3127 YY_BREAK 3128 case 48: 3129 YY_RULE_SETUP 3130 #line 189 "cc.ll" 3131 return Parser::Token_XOR_EQUAL; 3132 YY_BREAK 3133 case 49: 3134 YY_RULE_SETUP 3135 #line 190 "cc.ll" 3136 return Parser::Token_REMAINDER; 3137 YY_BREAK 3138 case 50: 3139 YY_RULE_SETUP 3140 #line 191 "cc.ll" 3141 return Parser::Token_REMAINDER_EQUAL; 3142 YY_BREAK 3143 case 51: 3144 YY_RULE_SETUP 3145 #line 192 "cc.ll" 3146 return Parser::Token_LSHIFT; 3147 YY_BREAK 3148 case 52: 3149 YY_RULE_SETUP 3150 #line 193 "cc.ll" 3151 return Parser::Token_LSHIFT_EQUAL; 3152 YY_BREAK 3153 case 53: 3154 YY_RULE_SETUP 3155 #line 194 "cc.ll" 3156 return Parser::Token_RSHIFT; 3157 YY_BREAK 3158 case 54: 3159 YY_RULE_SETUP 3160 #line 195 "cc.ll" 3161 return Parser::Token_RSHIFT_EQUAL; 3162 YY_BREAK 3163 case 55: 3164 YY_RULE_SETUP 3165 #line 196 "cc.ll" 3166 return Parser::Token_ELLIPSIS; 3167 YY_BREAK 3168 /* keywords */ 3169 case 56: 3170 YY_RULE_SETUP 3171 #line 200 "cc.ll" 3172 return Parser::Token_BREAK; 3173 YY_BREAK 3174 case 57: 3175 YY_RULE_SETUP 3176 #line 201 "cc.ll" 3177 return Parser::Token_CASE; 3178 YY_BREAK 3179 case 58: 3180 YY_RULE_SETUP 3181 #line 202 "cc.ll" 3182 return Parser::Token_CONTINUE; 3183 YY_BREAK 3184 case 59: 3185 YY_RULE_SETUP 3186 #line 203 "cc.ll" 3187 return Parser::Token_DEFAULT; 3188 YY_BREAK 3189 case 60: 3190 YY_RULE_SETUP 3191 #line 204 "cc.ll" 3192 return Parser::Token_DO; 3193 YY_BREAK 3194 case 61: 3195 YY_RULE_SETUP 3196 #line 205 "cc.ll" 3197 return Parser::Token_ELSE; 3198 YY_BREAK 3199 case 62: 3200 YY_RULE_SETUP 3201 #line 206 "cc.ll" 3202 return Parser::Token_ENUM; 3203 YY_BREAK 3204 case 63: 3205 YY_RULE_SETUP 3206 #line 207 "cc.ll" 3207 return Parser::Token_FOR; 3208 YY_BREAK 3209 case 64: 3210 YY_RULE_SETUP 3211 #line 208 "cc.ll" 3212 return Parser::Token_GOTO; 3213 YY_BREAK 3214 case 65: 3215 YY_RULE_SETUP 3216 #line 209 "cc.ll" 3217 return Parser::Token_IF; 3218 YY_BREAK 3219 case 66: 3220 YY_RULE_SETUP 3221 #line 210 "cc.ll" 3222 return Parser::Token_RETURN; 3223 YY_BREAK 3224 case 67: 3225 YY_RULE_SETUP 3226 #line 211 "cc.ll" 3227 return Parser::Token_SWITCH; 3228 YY_BREAK 3229 case 68: 3230 YY_RULE_SETUP 3231 #line 212 "cc.ll" 3232 return Parser::Token_WHILE; 3233 YY_BREAK 3234 case 69: 3235 YY_RULE_SETUP 3236 #line 213 "cc.ll" 3237 return Parser::Token_STATIC; 3238 YY_BREAK 3239 case 70: 3240 YY_RULE_SETUP 3241 #line 214 "cc.ll" 3242 return Parser::Token_VOLATILE; 3243 YY_BREAK 3244 case 71: 3245 YY_RULE_SETUP 3246 #line 215 "cc.ll" 3247 return Parser::Token_VOLATILE; 3248 YY_BREAK 3249 case 72: 3250 YY_RULE_SETUP 3251 #line 216 "cc.ll" 3252 return Parser::Token_CONST; 3253 YY_BREAK 3254 case 73: 3255 YY_RULE_SETUP 3256 #line 217 "cc.ll" 3257 return Parser::Token_TYPEDEF; 3258 YY_BREAK 3259 case 74: 3260 YY_RULE_SETUP 3261 #line 218 "cc.ll" 3262 return Parser::Token_EXTERN; 3263 YY_BREAK 3264 case 75: 3265 YY_RULE_SETUP 3266 #line 219 "cc.ll" 3267 return Parser::Token_AUTO; 3268 YY_BREAK 3269 case 76: 3270 YY_RULE_SETUP 3271 #line 220 "cc.ll" 3272 return Parser::Token_REGISTER; 3273 YY_BREAK 3274 case 77: 3275 YY_RULE_SETUP 3276 #line 221 "cc.ll" 3277 return Parser::Token_VOID; 3278 YY_BREAK 3279 case 78: 3280 YY_RULE_SETUP 3281 #line 222 "cc.ll" 3282 return Parser::Token_INT; 3283 YY_BREAK 3284 case 79: 3285 YY_RULE_SETUP 3286 #line 223 "cc.ll" 3287 return Parser::Token_CHAR; 3288 YY_BREAK 3289 case 80: 3290 YY_RULE_SETUP 3291 #line 224 "cc.ll" 3292 return Parser::Token_SHORT; 3293 YY_BREAK 3294 case 81: 3295 YY_RULE_SETUP 3296 #line 225 "cc.ll" 3297 return Parser::Token_LONG; 3298 YY_BREAK 3299 case 82: 3300 YY_RULE_SETUP 3301 #line 226 "cc.ll" 3302 return Parser::Token_SIGNED; 3303 YY_BREAK 3304 case 83: 3305 YY_RULE_SETUP 3306 #line 227 "cc.ll" 3307 return Parser::Token_UNSIGNED; 3308 YY_BREAK 3309 case 84: 3310 YY_RULE_SETUP 3311 #line 228 "cc.ll" 3312 return Parser::Token_FLOAT; 3313 YY_BREAK 3314 case 85: 3315 YY_RULE_SETUP 3316 #line 229 "cc.ll" 3317 return Parser::Token_DOUBLE; 3318 YY_BREAK 3319 case 86: 3320 YY_RULE_SETUP 3321 #line 230 "cc.ll" 3322 return Parser::Token_UNION; 3323 YY_BREAK 3324 case 87: 3325 YY_RULE_SETUP 3326 #line 231 "cc.ll" 3327 return Parser::Token_ASM; 3328 YY_BREAK 3329 case 88: 3330 YY_RULE_SETUP 3331 #line 232 "cc.ll" 3332 return Parser::Token_ASM; 3333 YY_BREAK 3334 case 89: 3335 YY_RULE_SETUP 3336 #line 233 "cc.ll" 3337 return Parser::Token_EXTENSION; 3338 YY_BREAK 3339 case 90: 3340 YY_RULE_SETUP 3341 #line 234 "cc.ll" 3342 return Parser::Token_INLINE; 3343 YY_BREAK 3344 case 91: 3345 YY_RULE_SETUP 3346 #line 235 "cc.ll" 3347 return Parser::Token_INLINE; 3348 YY_BREAK 3349 /* characters and strings (C with unicode-support) */ 3350 case 92: 3351 YY_RULE_SETUP 3352 #line 239 "cc.ll" 3353 return Parser::Token_X_CONSTANT; 3354 YY_BREAK 3355 case 93: 3356 /* rule 93 can match eol */ 3357 YY_RULE_SETUP 3358 #line 240 "cc.ll" 3359 { 3360 qWarning() << QString("Invalid character literal: %1").arg(yytext); 3361 return Parser::Token_X_CONSTANT; 3362 } 3363 YY_BREAK 3364 case 94: 3365 YY_RULE_SETUP 3366 #line 245 "cc.ll" 3367 return Parser::Token_STRING_LITERAL; 3368 YY_BREAK 3369 case 95: 3370 /* rule 95 can match eol */ 3371 YY_RULE_SETUP 3372 #line 246 "cc.ll" 3373 { 3374 qWarning() << QString("Invalid string literal: %1").arg(yytext); 3375 return Parser::Token_STRING_LITERAL; 3376 } 3377 YY_BREAK 3378 /* identifiers and number literals */ 3379 case 96: 3380 YY_RULE_SETUP 3381 #line 254 "cc.ll" 3382 return Parser::Token_IDENTIFIER; 3383 YY_BREAK 3384 case 97: 3385 YY_RULE_SETUP 3386 #line 256 "cc.ll" 3387 return Parser::Token_X_CONSTANT; 3388 YY_BREAK 3389 case 98: 3390 YY_RULE_SETUP 3391 #line 257 "cc.ll" 3392 return Parser::Token_X_CONSTANT; 3393 YY_BREAK 3394 /* everything else is not a valid lexeme */ 3395 case 99: 3396 YY_RULE_SETUP 3397 #line 262 "cc.ll" 3398 { 3399 qWarning() << "INVALID TOKEN"; 3400 exit(-1); 3401 } 3402 YY_BREAK 3403 case 100: 3404 YY_RULE_SETUP 3405 #line 267 "cc.ll" 3406 ECHO; 3407 YY_BREAK 3408 #line 3409 "cclexer.cpp" 3409 case YY_STATE_EOF(INITIAL): 3410 yyterminate(); 3411 3412 case YY_END_OF_BUFFER: 3413 { 3414 /* Amount of text matched not including the EOB char. */ 3415 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 3416 3417 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 3418 *yy_cp = (yy_hold_char); 3419 YY_RESTORE_YY_MORE_OFFSET 3420 3421 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 3422 { 3423 /* We're scanning a new file or input source. It's 3424 * possible that this happened because the user 3425 * just pointed yyin at a new source and called 3426 * yylex(). If so, then we have to assure 3427 * consistency between YY_CURRENT_BUFFER and our 3428 * globals. Here is the right place to do so, because 3429 * this is the first action (other than possibly a 3430 * back-up) that will match for the new input source. 3431 */ 3432 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3433 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 3434 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 3435 } 3436 3437 /* Note that here we test for yy_c_buf_p "<=" to the position 3438 * of the first EOB in the buffer, since yy_c_buf_p will 3439 * already have been incremented past the NUL character 3440 * (since all states make transitions on EOB to the 3441 * end-of-buffer state). Contrast this with the test 3442 * in input(). 3443 */ 3444 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3445 { /* This was really a NUL. */ 3446 yy_state_type yy_next_state; 3447 3448 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 3449 3450 yy_current_state = yy_get_previous_state( ); 3451 3452 /* Okay, we're now positioned to make the NUL 3453 * transition. We couldn't have 3454 * yy_get_previous_state() go ahead and do it 3455 * for us because it doesn't know how to deal 3456 * with the possibility of jamming (and we don't 3457 * want to build jamming into it because then it 3458 * will run more slowly). 3459 */ 3460 3461 yy_next_state = yy_try_NUL_trans( yy_current_state ); 3462 3463 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3464 3465 if ( yy_next_state ) 3466 { 3467 /* Consume the NUL. */ 3468 yy_cp = ++(yy_c_buf_p); 3469 yy_current_state = yy_next_state; 3470 goto yy_match; 3471 } 3472 3473 else 3474 { 3475 yy_cp = (yy_c_buf_p); 3476 goto yy_find_action; 3477 } 3478 } 3479 3480 else switch ( yy_get_next_buffer( ) ) 3481 { 3482 case EOB_ACT_END_OF_FILE: 3483 { 3484 (yy_did_buffer_switch_on_eof) = 0; 3485 3486 if ( yywrap( ) ) 3487 { 3488 /* Note: because we've taken care in 3489 * yy_get_next_buffer() to have set up 3490 * yytext, we can now set up 3491 * yy_c_buf_p so that if some total 3492 * hoser (like flex itself) wants to 3493 * call the scanner after we return the 3494 * YY_NULL, it'll still work - another 3495 * YY_NULL will get returned. 3496 */ 3497 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 3498 3499 yy_act = YY_STATE_EOF(YY_START); 3500 goto do_action; 3501 } 3502 3503 else 3504 { 3505 if ( ! (yy_did_buffer_switch_on_eof) ) 3506 YY_NEW_FILE; 3507 } 3508 break; 3509 } 3510 3511 case EOB_ACT_CONTINUE_SCAN: 3512 (yy_c_buf_p) = 3513 (yytext_ptr) + yy_amount_of_matched_text; 3514 3515 yy_current_state = yy_get_previous_state( ); 3516 3517 yy_cp = (yy_c_buf_p); 3518 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3519 goto yy_match; 3520 3521 case EOB_ACT_LAST_MATCH: 3522 (yy_c_buf_p) = 3523 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 3524 3525 yy_current_state = yy_get_previous_state( ); 3526 3527 yy_cp = (yy_c_buf_p); 3528 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 3529 goto yy_find_action; 3530 } 3531 break; 3532 } 3533 3534 default: 3535 YY_FATAL_ERROR( 3536 "fatal flex scanner internal error--no action found" ); 3537 } /* end of action switch */ 3538 } /* end of scanning one token */ 3539 } /* end of user's declarations */ 3540 } /* end of yylex */ 3541 3542 /* The contents of this function are C++ specific, so the () macro is not used. 3543 */ 3544 yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ) 3545 { 3546 yyin = arg_yyin; 3547 yyout = arg_yyout; 3548 yy_c_buf_p = 0; 3549 yy_init = 0; 3550 yy_start = 0; 3551 yy_flex_debug = 0; 3552 yylineno = 1; // this will only get updated if %option yylineno 3553 3554 yy_did_buffer_switch_on_eof = 0; 3555 3556 yy_looking_for_trail_begin = 0; 3557 yy_more_flag = 0; 3558 yy_more_len = 0; 3559 yy_more_offset = yy_prev_more_offset = 0; 3560 3561 yy_start_stack_ptr = yy_start_stack_depth = 0; 3562 yy_start_stack = NULL; 3563 3564 yy_buffer_stack = 0; 3565 yy_buffer_stack_top = 0; 3566 yy_buffer_stack_max = 0; 3567 3568 yy_state_buf = 0; 3569 3570 } 3571 3572 /* The contents of this function are C++ specific, so the () macro is not used. 3573 */ 3574 yyFlexLexer::~yyFlexLexer() 3575 { 3576 delete [] yy_state_buf; 3577 yyfree(yy_start_stack ); 3578 yy_delete_buffer( YY_CURRENT_BUFFER ); 3579 yyfree(yy_buffer_stack ); 3580 } 3581 3582 /* The contents of this function are C++ specific, so the () macro is not used. 3583 */ 3584 void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out ) 3585 { 3586 if ( new_in ) 3587 { 3588 yy_delete_buffer( YY_CURRENT_BUFFER ); 3589 yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) ); 3590 } 3591 3592 if ( new_out ) 3593 yyout = new_out; 3594 } 3595 3596 #ifdef YY_INTERACTIVE 3597 int yyFlexLexer::LexerInput( char* buf, int /* max_size */ ) 3598 #else 3599 int yyFlexLexer::LexerInput( char* buf, int max_size ) 3600 #endif 3601 { 3602 if ( yyin->eof() || yyin->fail() ) 3603 return 0; 3604 3605 #ifdef YY_INTERACTIVE 3606 yyin->get( buf[0] ); 3607 3608 if ( yyin->eof() ) 3609 return 0; 3610 3611 if ( yyin->bad() ) 3612 return -1; 3613 3614 return 1; 3615 3616 #else 3617 (void) yyin->read( buf, max_size ); 3618 3619 if ( yyin->bad() ) 3620 return -1; 3621 else 3622 return yyin->gcount(); 3623 #endif 3624 } 3625 3626 void yyFlexLexer::LexerOutput( const char* buf, int size ) 3627 { 3628 (void) yyout->write( buf, size ); 3629 } 3630 3631 /* yy_get_next_buffer - try to read in a new buffer 3632 * 3633 * Returns a code representing an action: 3634 * EOB_ACT_LAST_MATCH - 3635 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 3636 * EOB_ACT_END_OF_FILE - end of file 3637 */ 3638 int yyFlexLexer::yy_get_next_buffer() 3639 { 3640 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 3641 register char *source = (yytext_ptr); 3642 register int number_to_move, i; 3643 int ret_val; 3644 3645 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 3646 YY_FATAL_ERROR( 3647 "fatal flex scanner internal error--end of buffer missed" ); 3648 3649 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 3650 { /* Don't try to fill the buffer, so this is an EOF. */ 3651 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 3652 { 3653 /* We matched a single character, the EOB, so 3654 * treat this as a final EOF. 3655 */ 3656 return EOB_ACT_END_OF_FILE; 3657 } 3658 3659 else 3660 { 3661 /* We matched some text prior to the EOB, first 3662 * process it. 3663 */ 3664 return EOB_ACT_LAST_MATCH; 3665 } 3666 } 3667 3668 /* Try to read more data. */ 3669 3670 /* First move last chars to start of buffer. */ 3671 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 3672 3673 for ( i = 0; i < number_to_move; ++i ) 3674 *(dest++) = *(source++); 3675 3676 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 3677 /* don't do the read, it's not guaranteed to return an EOF, 3678 * just force an EOF 3679 */ 3680 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 3681 3682 else 3683 { 3684 yy_size_t num_to_read = 3685 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 3686 3687 while ( num_to_read <= 0 ) 3688 { /* Not enough room in the buffer - grow it. */ 3689 3690 /* just a shorter name for the current buffer */ 3691 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; 3692 3693 int yy_c_buf_p_offset = 3694 (int) ((yy_c_buf_p) - b->yy_ch_buf); 3695 3696 if ( b->yy_is_our_buffer ) 3697 { 3698 yy_size_t new_size = b->yy_buf_size * 2; 3699 3700 if ( new_size <= 0 ) 3701 b->yy_buf_size += b->yy_buf_size / 8; 3702 else 3703 b->yy_buf_size *= 2; 3704 3705 b->yy_ch_buf = (char *) 3706 /* Include room in for 2 EOB chars. */ 3707 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 3708 } 3709 else 3710 /* Can't grow it, we don't own it. */ 3711 b->yy_ch_buf = 0; 3712 3713 if ( ! b->yy_ch_buf ) 3714 YY_FATAL_ERROR( 3715 "fatal error - scanner input buffer overflow" ); 3716 3717 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 3718 3719 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 3720 number_to_move - 1; 3721 3722 } 3723 3724 if ( num_to_read > YY_READ_BUF_SIZE ) 3725 num_to_read = YY_READ_BUF_SIZE; 3726 3727 /* Read in more data. */ 3728 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 3729 (yy_n_chars), num_to_read ); 3730 3731 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3732 } 3733 3734 if ( (yy_n_chars) == 0 ) 3735 { 3736 if ( number_to_move == YY_MORE_ADJ ) 3737 { 3738 ret_val = EOB_ACT_END_OF_FILE; 3739 yyrestart( yyin ); 3740 } 3741 3742 else 3743 { 3744 ret_val = EOB_ACT_LAST_MATCH; 3745 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 3746 YY_BUFFER_EOF_PENDING; 3747 } 3748 } 3749 3750 else 3751 ret_val = EOB_ACT_CONTINUE_SCAN; 3752 3753 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 3754 /* Extend the array by 50%, plus the number we really need. */ 3755 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 3756 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 3757 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 3758 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 3759 } 3760 3761 (yy_n_chars) += number_to_move; 3762 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 3763 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 3764 3765 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 3766 3767 return ret_val; 3768 } 3769 3770 /* yy_get_previous_state - get the state just before the EOB char was reached */ 3771 3772 yy_state_type yyFlexLexer::yy_get_previous_state() 3773 { 3774 register yy_state_type yy_current_state; 3775 register char *yy_cp; 3776 3777 yy_current_state = (yy_start); 3778 3779 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 3780 { 3781 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 3782 if ( yy_accept[yy_current_state] ) 3783 { 3784 (yy_last_accepting_state) = yy_current_state; 3785 (yy_last_accepting_cpos) = yy_cp; 3786 } 3787 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3788 { 3789 yy_current_state = (int) yy_def[yy_current_state]; 3790 if ( yy_current_state >= 746 ) 3791 yy_c = yy_meta[(unsigned int) yy_c]; 3792 } 3793 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3794 } 3795 3796 return yy_current_state; 3797 } 3798 3799 /* yy_try_NUL_trans - try to make a transition on the NUL character 3800 * 3801 * synopsis 3802 * next_state = yy_try_NUL_trans( current_state ); 3803 */ 3804 yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state ) 3805 { 3806 register int yy_is_jam; 3807 register char *yy_cp = (yy_c_buf_p); 3808 3809 register YY_CHAR yy_c = 1; 3810 if ( yy_accept[yy_current_state] ) 3811 { 3812 (yy_last_accepting_state) = yy_current_state; 3813 (yy_last_accepting_cpos) = yy_cp; 3814 } 3815 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 3816 { 3817 yy_current_state = (int) yy_def[yy_current_state]; 3818 if ( yy_current_state >= 746 ) 3819 yy_c = yy_meta[(unsigned int) yy_c]; 3820 } 3821 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3822 yy_is_jam = (yy_current_state == 745); 3823 3824 return yy_is_jam ? 0 : yy_current_state; 3825 } 3826 3827 void yyFlexLexer::yyunput( int c, register char* yy_bp) 3828 { 3829 register char *yy_cp; 3830 3831 yy_cp = (yy_c_buf_p); 3832 3833 /* undo effects of setting up yytext */ 3834 *yy_cp = (yy_hold_char); 3835 3836 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 3837 { /* need to shift things up to make room */ 3838 /* +2 for EOB chars. */ 3839 register yy_size_t number_to_move = (yy_n_chars) + 2; 3840 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 3841 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 3842 register char *source = 3843 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 3844 3845 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 3846 *--dest = *--source; 3847 3848 yy_cp += (int) (dest - source); 3849 yy_bp += (int) (dest - source); 3850 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 3851 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 3852 3853 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 3854 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 3855 } 3856 3857 *--yy_cp = (char) c; 3858 3859 (yytext_ptr) = yy_bp; 3860 (yy_hold_char) = *yy_cp; 3861 (yy_c_buf_p) = yy_cp; 3862 } 3863 3864 int yyFlexLexer::yyinput() 3865 { 3866 int c; 3867 3868 *(yy_c_buf_p) = (yy_hold_char); 3869 3870 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 3871 { 3872 /* yy_c_buf_p now points to the character we want to return. 3873 * If this occurs *before* the EOB characters, then it's a 3874 * valid NUL; if not, then we've hit the end of the buffer. 3875 */ 3876 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 3877 /* This was really a NUL. */ 3878 *(yy_c_buf_p) = '\0'; 3879 3880 else 3881 { /* need more input */ 3882 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); 3883 ++(yy_c_buf_p); 3884 3885 switch ( yy_get_next_buffer( ) ) 3886 { 3887 case EOB_ACT_LAST_MATCH: 3888 /* This happens because yy_g_n_b() 3889 * sees that we've accumulated a 3890 * token and flags that we need to 3891 * try matching the token before 3892 * proceeding. But for input(), 3893 * there's no matching to consider. 3894 * So convert the EOB_ACT_LAST_MATCH 3895 * to EOB_ACT_END_OF_FILE. 3896 */ 3897 3898 /* Reset buffer status. */ 3899 yyrestart( yyin ); 3900 3901 /*FALLTHROUGH*/ 3902 3903 case EOB_ACT_END_OF_FILE: 3904 { 3905 if ( yywrap( ) ) 3906 return EOF; 3907 3908 if ( ! (yy_did_buffer_switch_on_eof) ) 3909 YY_NEW_FILE; 3910 #ifdef __cplusplus 3911 return yyinput(); 3912 #else 3913 return input(); 3914 #endif 3915 } 3916 3917 case EOB_ACT_CONTINUE_SCAN: 3918 (yy_c_buf_p) = (yytext_ptr) + offset; 3919 break; 3920 } 3921 } 3922 } 3923 3924 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 3925 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 3926 (yy_hold_char) = *++(yy_c_buf_p); 3927 3928 return c; 3929 } 3930 3931 /** Immediately switch to a different input stream. 3932 * @param input_file A readable stream. 3933 * 3934 * @note This function does not reset the start condition to @c INITIAL . 3935 */ 3936 void yyFlexLexer::yyrestart( std::istream* input_file ) 3937 { 3938 3939 if ( ! YY_CURRENT_BUFFER ){ 3940 yyensure_buffer_stack (); 3941 YY_CURRENT_BUFFER_LVALUE = 3942 yy_create_buffer( yyin, YY_BUF_SIZE ); 3943 } 3944 3945 yy_init_buffer( YY_CURRENT_BUFFER, input_file ); 3946 yy_load_buffer_state( ); 3947 } 3948 3949 /** Switch to a different input buffer. 3950 * @param new_buffer The new input buffer. 3951 * 3952 */ 3953 void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) 3954 { 3955 3956 /* TODO. We should be able to replace this entire function body 3957 * with 3958 * yypop_buffer_state(); 3959 * yypush_buffer_state(new_buffer); 3960 */ 3961 yyensure_buffer_stack (); 3962 if ( YY_CURRENT_BUFFER == new_buffer ) 3963 return; 3964 3965 if ( YY_CURRENT_BUFFER ) 3966 { 3967 /* Flush out information for old buffer. */ 3968 *(yy_c_buf_p) = (yy_hold_char); 3969 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 3970 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3971 } 3972 3973 YY_CURRENT_BUFFER_LVALUE = new_buffer; 3974 yy_load_buffer_state( ); 3975 3976 /* We don't actually know whether we did this switch during 3977 * EOF (yywrap()) processing, but the only time this flag 3978 * is looked at is after yywrap() is called, so it's safe 3979 * to go ahead and always set it. 3980 */ 3981 (yy_did_buffer_switch_on_eof) = 1; 3982 } 3983 3984 void yyFlexLexer::yy_load_buffer_state() 3985 { 3986 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3987 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 3988 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 3989 (yy_hold_char) = *(yy_c_buf_p); 3990 } 3991 3992 /** Allocate and initialize an input buffer state. 3993 * @param file A readable stream. 3994 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 3995 * 3996 * @return the allocated buffer state. 3997 */ 3998 YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size ) 3999 { 4000 YY_BUFFER_STATE b; 4001 4002 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 4003 if ( ! b ) 4004 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 4005 4006 b->yy_buf_size = size; 4007 4008 /* yy_ch_buf has to be 2 characters longer than the size given because 4009 * we need to put in 2 end-of-buffer characters. 4010 */ 4011 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 4012 if ( ! b->yy_ch_buf ) 4013 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 4014 4015 b->yy_is_our_buffer = 1; 4016 4017 yy_init_buffer( b, file ); 4018 4019 return b; 4020 } 4021 4022 /** Destroy the buffer. 4023 * @param b a buffer created with yy_create_buffer() 4024 * 4025 */ 4026 void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b ) 4027 { 4028 4029 if ( ! b ) 4030 return; 4031 4032 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 4033 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 4034 4035 if ( b->yy_is_our_buffer ) 4036 yyfree((void *) b->yy_ch_buf ); 4037 4038 yyfree((void *) b ); 4039 } 4040 4041 /* Initializes or reinitializes a buffer. 4042 * This function is sometimes called more than once on the same buffer, 4043 * such as during a yyrestart() or at EOF. 4044 */ 4045 void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file ) 4046 4047 { 4048 int oerrno = errno; 4049 4050 yy_flush_buffer( b ); 4051 4052 b->yy_input_file = file; 4053 b->yy_fill_buffer = 1; 4054 4055 /* If b is the current buffer, then yy_init_buffer was _probably_ 4056 * called from yyrestart() or through yy_get_next_buffer. 4057 * In that case, we don't want to reset the lineno or column. 4058 */ 4059 if (b != YY_CURRENT_BUFFER){ 4060 b->yy_bs_lineno = 1; 4061 b->yy_bs_column = 0; 4062 } 4063 4064 b->yy_is_interactive = 0; 4065 errno = oerrno; 4066 } 4067 4068 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 4069 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 4070 * 4071 */ 4072 void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b ) 4073 { 4074 if ( ! b ) 4075 return; 4076 4077 b->yy_n_chars = 0; 4078 4079 /* We always need two end-of-buffer characters. The first causes 4080 * a transition to the end-of-buffer state. The second causes 4081 * a jam in that state. 4082 */ 4083 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 4084 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 4085 4086 b->yy_buf_pos = &b->yy_ch_buf[0]; 4087 4088 b->yy_at_bol = 1; 4089 b->yy_buffer_status = YY_BUFFER_NEW; 4090 4091 if ( b == YY_CURRENT_BUFFER ) 4092 yy_load_buffer_state( ); 4093 } 4094 4095 /** Pushes the new state onto the stack. The new state becomes 4096 * the current state. This function will allocate the stack 4097 * if necessary. 4098 * @param new_buffer The new state. 4099 * 4100 */ 4101 void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer) 4102 { 4103 if (new_buffer == NULL) 4104 return; 4105 4106 yyensure_buffer_stack(); 4107 4108 /* This block is copied from yy_switch_to_buffer. */ 4109 if ( YY_CURRENT_BUFFER ) 4110 { 4111 /* Flush out information for old buffer. */ 4112 *(yy_c_buf_p) = (yy_hold_char); 4113 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 4114 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 4115 } 4116 4117 /* Only push if top exists. Otherwise, replace top. */ 4118 if (YY_CURRENT_BUFFER) 4119 (yy_buffer_stack_top)++; 4120 YY_CURRENT_BUFFER_LVALUE = new_buffer; 4121 4122 /* copied from yy_switch_to_buffer. */ 4123 yy_load_buffer_state( ); 4124 (yy_did_buffer_switch_on_eof) = 1; 4125 } 4126 4127 /** Removes and deletes the top of the stack, if present. 4128 * The next element becomes the new top. 4129 * 4130 */ 4131 void yyFlexLexer::yypop_buffer_state (void) 4132 { 4133 if (!YY_CURRENT_BUFFER) 4134 return; 4135 4136 yy_delete_buffer(YY_CURRENT_BUFFER ); 4137 YY_CURRENT_BUFFER_LVALUE = NULL; 4138 if ((yy_buffer_stack_top) > 0) 4139 --(yy_buffer_stack_top); 4140 4141 if (YY_CURRENT_BUFFER) { 4142 yy_load_buffer_state( ); 4143 (yy_did_buffer_switch_on_eof) = 1; 4144 } 4145 } 4146 4147 /* Allocates the stack if it does not exist. 4148 * Guarantees space for at least one push. 4149 */ 4150 void yyFlexLexer::yyensure_buffer_stack(void) 4151 { 4152 yy_size_t num_to_alloc; 4153 4154 if (!(yy_buffer_stack)) { 4155 4156 /* First allocation is just for 2 elements, since we don't know if this 4157 * scanner will even need a stack. We use 2 instead of 1 to avoid an 4158 * immediate realloc on the next call. 4159 */ 4160 num_to_alloc = 1; 4161 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 4162 (num_to_alloc * sizeof(struct yy_buffer_state*) 4163 ); 4164 if ( ! (yy_buffer_stack) ) 4165 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 4166 4167 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 4168 4169 (yy_buffer_stack_max) = num_to_alloc; 4170 (yy_buffer_stack_top) = 0; 4171 return; 4172 } 4173 4174 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 4175 4176 /* Increase the buffer to prepare for a possible push. */ 4177 int grow_size = 8 /* arbitrary grow size */; 4178 4179 num_to_alloc = (yy_buffer_stack_max) + grow_size; 4180 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 4181 ((yy_buffer_stack), 4182 num_to_alloc * sizeof(struct yy_buffer_state*) 4183 ); 4184 if ( ! (yy_buffer_stack) ) 4185 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 4186 4187 /* zero only the new slots.*/ 4188 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 4189 (yy_buffer_stack_max) = num_to_alloc; 4190 } 4191 } 4192 4193 void yyFlexLexer::yy_push_state( int new_state ) 4194 { 4195 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) 4196 { 4197 yy_size_t new_size; 4198 4199 (yy_start_stack_depth) += YY_START_STACK_INCR; 4200 new_size = (yy_start_stack_depth) * sizeof( int ); 4201 4202 if ( ! (yy_start_stack) ) 4203 (yy_start_stack) = (int *) yyalloc(new_size ); 4204 4205 else 4206 (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size ); 4207 4208 if ( ! (yy_start_stack) ) 4209 YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); 4210 } 4211 4212 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; 4213 4214 BEGIN(new_state); 4215 } 4216 4217 void yyFlexLexer::yy_pop_state() 4218 { 4219 if ( --(yy_start_stack_ptr) < 0 ) 4220 YY_FATAL_ERROR( "start-condition stack underflow" ); 4221 4222 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); 4223 } 4224 4225 int yyFlexLexer::yy_top_state() 4226 { 4227 return (yy_start_stack)[(yy_start_stack_ptr) - 1]; 4228 } 4229 4230 #ifndef YY_EXIT_FAILURE 4231 #define YY_EXIT_FAILURE 2 4232 #endif 4233 4234 void yyFlexLexer::LexerError( yyconst char msg[] ) 4235 { 4236 std::cerr << msg << std::endl; 4237 exit( YY_EXIT_FAILURE ); 4238 } 4239 4240 /* Redefine yyless() so it works in section 3 code. */ 4241 4242 #undef yyless 4243 #define yyless(n) \ 4244 do \ 4245 { \ 4246 /* Undo effects of setting up yytext. */ \ 4247 int yyless_macro_arg = (n); \ 4248 YY_LESS_LINENO(yyless_macro_arg);\ 4249 yytext[yyleng] = (yy_hold_char); \ 4250 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 4251 (yy_hold_char) = *(yy_c_buf_p); \ 4252 *(yy_c_buf_p) = '\0'; \ 4253 yyleng = yyless_macro_arg; \ 4254 } \ 4255 while ( 0 ) 4256 4257 /* Accessor methods (get/set functions) to struct members. */ 4258 4259 /* 4260 * Internal utility routines. 4261 */ 4262 4263 #ifndef yytext_ptr 4264 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 4265 { 4266 register int i; 4267 for ( i = 0; i < n; ++i ) 4268 s1[i] = s2[i]; 4269 } 4270 #endif 4271 4272 #ifdef YY_NEED_STRLEN 4273 static int yy_flex_strlen (yyconst char * s ) 4274 { 4275 register int n; 4276 for ( n = 0; s[n]; ++n ) 4277 ; 4278 4279 return n; 4280 } 4281 #endif 4282 4283 void *yyalloc (yy_size_t size ) 4284 { 4285 return (void *) malloc( size ); 4286 } 4287 4288 void *yyrealloc (void * ptr, yy_size_t size ) 4289 { 4290 /* The cast to (char *) in the following accommodates both 4291 * implementations that use char* generic pointers, and those 4292 * that use void* generic pointers. It works with the latter 4293 * because both ANSI C and C++ allow castless assignment from 4294 * any pointer type to void*, and deal with argument conversions 4295 * as though doing an assignment. 4296 */ 4297 return (void *) realloc( (char *) ptr, size ); 4298 } 4299 4300 void yyfree (void * ptr ) 4301 { 4302 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 4303 } 4304 4305 #define YYTABLES_NAME "yytables" 4306 4307 #line 267 "cc.ll" 4308 4309 4310 4311 namespace cc 4312 { 4313 4314 Lexer::Lexer( Parser *parser, char *contents ) 4315 { 4316 restart( parser, contents ); 4317 } 4318 4319 void Lexer::restart( Parser *parser, char *contents ) 4320 { 4321 m_parser = parser; 4322 m_locationTable = parser->tokenStream->locationTable(); 4323 m_contents = contents; 4324 m_tokenBegin = m_tokenEnd = 0; 4325 m_currentOffset = 0; 4326 4327 // check for and ignore the UTF-8 byte order mark 4328 unsigned char *ucontents = (unsigned char *) m_contents; 4329 if ( ucontents[0] == 0xEF && ucontents[1] == 0xBB && ucontents[2] == 0xBF ) 4330 { 4331 m_tokenBegin = m_tokenEnd = 3; 4332 m_currentOffset = 3; 4333 } 4334 4335 yyrestart(NULL); 4336 BEGIN(INITIAL); // is not set automatically by yyrestart() 4337 } 4338 4339 // reads a character, and returns 1 as the number of characters read 4340 // (or 0 when the end of the string is reached) 4341 int Lexer::LexerInput( char *buf, int /*max_size*/ ) 4342 { 4343 int c = m_contents[ m_currentOffset++ ]; 4344 4345 switch(c) 4346 { 4347 case '\r': 4348 c = '\n'; // only have one single line break character: '\n' 4349 if ( m_contents[m_currentOffset + 1] == '\n' ) 4350 { 4351 m_currentOffset++; 4352 m_tokenEnd++; 4353 } 4354 4355 // fall through 4356 case '\n': 4357 m_locationTable->newline( m_currentOffset - 1 ); 4358 break; 4359 4360 default: 4361 break; 4362 } 4363 4364 return (c == 0) ? 0 : (buf[0] = c, 1); 4365 } 4366 4367 } // end of namespace cc 4368