Branch data Line data Source code
1 : :
2 : : #line 3 "/usr/local/src/libreoffice/workdir/unxlngi6.pro/LexTarget/connectivity/source/parse/sqlflex.cxx"
3 : :
4 : : #define YY_INT_ALIGNED short int
5 : :
6 : : /* A lexical scanner generated by flex */
7 : :
8 : : #define yy_create_buffer SQLyy_create_buffer
9 : : #define yy_delete_buffer SQLyy_delete_buffer
10 : : #define yy_flex_debug SQLyy_flex_debug
11 : : #define yy_init_buffer SQLyy_init_buffer
12 : : #define yy_flush_buffer SQLyy_flush_buffer
13 : : #define yy_load_buffer_state SQLyy_load_buffer_state
14 : : #define yy_switch_to_buffer SQLyy_switch_to_buffer
15 : : #define yyin SQLyyin
16 : : #define yyleng SQLyyleng
17 : : #define yylex SQLyylex
18 : : #define yylineno SQLyylineno
19 : : #define yyout SQLyyout
20 : : #define yyrestart SQLyyrestart
21 : : #define yytext SQLyytext
22 : : #define yywrap SQLyywrap
23 : : #define yyalloc SQLyyalloc
24 : : #define yyrealloc SQLyyrealloc
25 : : #define yyfree SQLyyfree
26 : :
27 : : #define FLEX_SCANNER
28 : : #define YY_FLEX_MAJOR_VERSION 2
29 : : #define YY_FLEX_MINOR_VERSION 5
30 : : #define YY_FLEX_SUBMINOR_VERSION 35
31 : : #if YY_FLEX_SUBMINOR_VERSION > 0
32 : : #define FLEX_BETA
33 : : #endif
34 : :
35 : : /* First, we deal with platform-specific or compiler-specific issues. */
36 : :
37 : : /* begin standard C headers. */
38 : : #include <stdio.h>
39 : : #include <string.h>
40 : : #include <errno.h>
41 : : #include <stdlib.h>
42 : :
43 : : /* end standard C headers. */
44 : :
45 : : /* flex integer type definitions */
46 : :
47 : : #ifndef FLEXINT_H
48 : : #define FLEXINT_H
49 : :
50 : : /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
51 : :
52 : : #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
53 : :
54 : : /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 : : * if you want the limit (max/min) macros for int types.
56 : : */
57 : : #ifndef __STDC_LIMIT_MACROS
58 : : #define __STDC_LIMIT_MACROS 1
59 : : #endif
60 : :
61 : : #include <inttypes.h>
62 : : typedef int8_t flex_int8_t;
63 : : typedef uint8_t flex_uint8_t;
64 : : typedef int16_t flex_int16_t;
65 : : typedef uint16_t flex_uint16_t;
66 : : typedef int32_t flex_int32_t;
67 : : typedef uint32_t flex_uint32_t;
68 : : #else
69 : : typedef signed char flex_int8_t;
70 : : typedef short int flex_int16_t;
71 : : typedef int flex_int32_t;
72 : : typedef unsigned char flex_uint8_t;
73 : : typedef unsigned short int flex_uint16_t;
74 : : typedef unsigned int flex_uint32_t;
75 : : #endif /* ! C99 */
76 : :
77 : : /* Limits of integral types. */
78 : : #ifndef INT8_MIN
79 : : #define INT8_MIN (-128)
80 : : #endif
81 : : #ifndef INT16_MIN
82 : : #define INT16_MIN (-32767-1)
83 : : #endif
84 : : #ifndef INT32_MIN
85 : : #define INT32_MIN (-2147483647-1)
86 : : #endif
87 : : #ifndef INT8_MAX
88 : : #define INT8_MAX (127)
89 : : #endif
90 : : #ifndef INT16_MAX
91 : : #define INT16_MAX (32767)
92 : : #endif
93 : : #ifndef INT32_MAX
94 : : #define INT32_MAX (2147483647)
95 : : #endif
96 : : #ifndef UINT8_MAX
97 : : #define UINT8_MAX (255U)
98 : : #endif
99 : : #ifndef UINT16_MAX
100 : : #define UINT16_MAX (65535U)
101 : : #endif
102 : : #ifndef UINT32_MAX
103 : : #define UINT32_MAX (4294967295U)
104 : : #endif
105 : :
106 : : #endif /* ! FLEXINT_H */
107 : :
108 : : #ifdef __cplusplus
109 : :
110 : : /* The "const" storage-class-modifier is valid. */
111 : : #define YY_USE_CONST
112 : :
113 : : #else /* ! __cplusplus */
114 : :
115 : : /* C99 requires __STDC__ to be defined as 1. */
116 : : #if defined (__STDC__)
117 : :
118 : : #define YY_USE_CONST
119 : :
120 : : #endif /* defined (__STDC__) */
121 : : #endif /* ! __cplusplus */
122 : :
123 : : #ifdef YY_USE_CONST
124 : : #define yyconst const
125 : : #else
126 : : #define yyconst
127 : : #endif
128 : :
129 : : /* Returned upon end-of-file. */
130 : : #define YY_NULL 0
131 : :
132 : : /* Promotes a possibly negative, possibly signed char to an unsigned
133 : : * integer for use as an array index. If the signed char is negative,
134 : : * we want to instead treat it as an 8-bit unsigned char, hence the
135 : : * double cast.
136 : : */
137 : : #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
138 : :
139 : : /* Enter a start condition. This macro really ought to take a parameter,
140 : : * but we do it the disgusting crufty way forced on us by the ()-less
141 : : * definition of BEGIN.
142 : : */
143 : : #define BEGIN (yy_start) = 1 + 2 *
144 : :
145 : : /* Translate the current start state into a value that can be later handed
146 : : * to BEGIN to return to the state. The YYSTATE alias is for lex
147 : : * compatibility.
148 : : */
149 : : #define YY_START (((yy_start) - 1) / 2)
150 : : #define YYSTATE YY_START
151 : :
152 : : /* Action number for EOF rule of a given start state. */
153 : : #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
154 : :
155 : : /* Special action meaning "start processing a new file". */
156 : : #define YY_NEW_FILE SQLyyrestart(SQLyyin )
157 : :
158 : : #define YY_END_OF_BUFFER_CHAR 0
159 : :
160 : : /* Size of default input buffer. */
161 : : #ifndef YY_BUF_SIZE
162 : : #define YY_BUF_SIZE 16384
163 : : #endif
164 : :
165 : : /* The state buf must be large enough to hold one state per character in the main buffer.
166 : : */
167 : : #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
168 : :
169 : : #ifndef YY_TYPEDEF_YY_BUFFER_STATE
170 : : #define YY_TYPEDEF_YY_BUFFER_STATE
171 : : typedef struct yy_buffer_state *YY_BUFFER_STATE;
172 : : #endif
173 : :
174 : : extern int SQLyyleng;
175 : :
176 : : extern FILE *SQLyyin, *SQLyyout;
177 : :
178 : : #define EOB_ACT_CONTINUE_SCAN 0
179 : : #define EOB_ACT_END_OF_FILE 1
180 : : #define EOB_ACT_LAST_MATCH 2
181 : :
182 : : #define YY_LESS_LINENO(n)
183 : :
184 : : /* Return all but the first "n" matched characters back to the input stream. */
185 : : #define yyless(n) \
186 : : do \
187 : : { \
188 : : /* Undo effects of setting up SQLyytext. */ \
189 : : int yyless_macro_arg = (n); \
190 : : YY_LESS_LINENO(yyless_macro_arg);\
191 : : *yy_cp = (yy_hold_char); \
192 : : YY_RESTORE_YY_MORE_OFFSET \
193 : : (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
194 : : YY_DO_BEFORE_ACTION; /* set up SQLyytext again */ \
195 : : } \
196 : : while ( 0 )
197 : :
198 : : #define unput(c) yyunput( c, (yytext_ptr) )
199 : :
200 : : #ifndef YY_TYPEDEF_YY_SIZE_T
201 : : #define YY_TYPEDEF_YY_SIZE_T
202 : : typedef size_t yy_size_t;
203 : : #endif
204 : :
205 : : #ifndef YY_STRUCT_YY_BUFFER_STATE
206 : : #define YY_STRUCT_YY_BUFFER_STATE
207 : : struct yy_buffer_state
208 : : {
209 : : FILE *yy_input_file;
210 : :
211 : : char *yy_ch_buf; /* input buffer */
212 : : char *yy_buf_pos; /* current position in input buffer */
213 : :
214 : : /* Size of input buffer in bytes, not including room for EOB
215 : : * characters.
216 : : */
217 : : yy_size_t yy_buf_size;
218 : :
219 : : /* Number of characters read into yy_ch_buf, not including EOB
220 : : * characters.
221 : : */
222 : : int yy_n_chars;
223 : :
224 : : /* Whether we "own" the buffer - i.e., we know we created it,
225 : : * and can realloc() it to grow it, and should free() it to
226 : : * delete it.
227 : : */
228 : : int yy_is_our_buffer;
229 : :
230 : : /* Whether this is an "interactive" input source; if so, and
231 : : * if we're using stdio for input, then we want to use getc()
232 : : * instead of fread(), to make sure we stop fetching input after
233 : : * each newline.
234 : : */
235 : : int yy_is_interactive;
236 : :
237 : : /* Whether we're considered to be at the beginning of a line.
238 : : * If so, '^' rules will be active on the next match, otherwise
239 : : * not.
240 : : */
241 : : int yy_at_bol;
242 : :
243 : : int yy_bs_lineno; /**< The line count. */
244 : : int yy_bs_column; /**< The column count. */
245 : :
246 : : /* Whether to try to fill the input buffer when we reach the
247 : : * end of it.
248 : : */
249 : : int yy_fill_buffer;
250 : :
251 : : int yy_buffer_status;
252 : :
253 : : #define YY_BUFFER_NEW 0
254 : : #define YY_BUFFER_NORMAL 1
255 : : /* When an EOF's been seen but there's still some text to process
256 : : * then we mark the buffer as YY_EOF_PENDING, to indicate that we
257 : : * shouldn't try reading from the input source any more. We might
258 : : * still have a bunch of tokens to match, though, because of
259 : : * possible backing-up.
260 : : *
261 : : * When we actually see the EOF, we change the status to "new"
262 : : * (via SQLyyrestart()), so that the user can continue scanning by
263 : : * just pointing SQLyyin at a new input file.
264 : : */
265 : : #define YY_BUFFER_EOF_PENDING 2
266 : :
267 : : };
268 : : #endif /* !YY_STRUCT_YY_BUFFER_STATE */
269 : :
270 : : /* Stack of input buffers. */
271 : : static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
272 : : static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
273 : : static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
274 : :
275 : : /* We provide macros for accessing buffer states in case in the
276 : : * future we want to put the buffer states in a more general
277 : : * "scanner state".
278 : : *
279 : : * Returns the top of the stack, or NULL.
280 : : */
281 : : #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
282 : : ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
283 : : : NULL)
284 : :
285 : : /* Same as previous macro, but useful when we know that the buffer stack is not
286 : : * NULL or when we need an lvalue. For internal use only.
287 : : */
288 : : #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
289 : :
290 : : /* yy_hold_char holds the character lost when SQLyytext is formed. */
291 : : static char yy_hold_char;
292 : : static int yy_n_chars; /* number of characters read into yy_ch_buf */
293 : : int SQLyyleng;
294 : :
295 : : /* Points to current character in buffer. */
296 : : static char *yy_c_buf_p = (char *) 0;
297 : : static int yy_init = 0; /* whether we need to initialize */
298 : : static int yy_start = 0; /* start state number */
299 : :
300 : : /* Flag which is used to allow SQLyywrap()'s to do buffer switches
301 : : * instead of setting up a fresh SQLyyin. A bit of a hack ...
302 : : */
303 : : static int yy_did_buffer_switch_on_eof;
304 : :
305 : : void SQLyyrestart (FILE *input_file );
306 : : void SQLyy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
307 : : YY_BUFFER_STATE SQLyy_create_buffer (FILE *file,int size );
308 : : void SQLyy_delete_buffer (YY_BUFFER_STATE b );
309 : : void SQLyy_flush_buffer (YY_BUFFER_STATE b );
310 : : void SQLyypush_buffer_state (YY_BUFFER_STATE new_buffer );
311 : : void SQLyypop_buffer_state (void );
312 : :
313 : : static void SQLyyensure_buffer_stack (void );
314 : : static void SQLyy_load_buffer_state (void );
315 : : static void SQLyy_init_buffer (YY_BUFFER_STATE b,FILE *file );
316 : :
317 : : #define YY_FLUSH_BUFFER SQLyy_flush_buffer(YY_CURRENT_BUFFER )
318 : :
319 : : YY_BUFFER_STATE SQLyy_scan_buffer (char *base,yy_size_t size );
320 : : YY_BUFFER_STATE SQLyy_scan_string (yyconst char *yy_str );
321 : : YY_BUFFER_STATE SQLyy_scan_bytes (yyconst char *bytes,int len );
322 : :
323 : : void *SQLyyalloc (yy_size_t );
324 : : void *SQLyyrealloc (void *,yy_size_t );
325 : : void SQLyyfree (void * );
326 : :
327 : : #define yy_new_buffer SQLyy_create_buffer
328 : :
329 : : #define yy_set_interactive(is_interactive) \
330 : : { \
331 : : if ( ! YY_CURRENT_BUFFER ){ \
332 : : SQLyyensure_buffer_stack (); \
333 : : YY_CURRENT_BUFFER_LVALUE = \
334 : : SQLyy_create_buffer(SQLyyin,YY_BUF_SIZE ); \
335 : : } \
336 : : YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
337 : : }
338 : :
339 : : #define yy_set_bol(at_bol) \
340 : : { \
341 : : if ( ! YY_CURRENT_BUFFER ){\
342 : : SQLyyensure_buffer_stack (); \
343 : : YY_CURRENT_BUFFER_LVALUE = \
344 : : SQLyy_create_buffer(SQLyyin,YY_BUF_SIZE ); \
345 : : } \
346 : : YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
347 : : }
348 : :
349 : : #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
350 : :
351 : : /* Begin user sect3 */
352 : :
353 : : #define SQLyywrap(n) 1
354 : : #define YY_SKIP_YYWRAP
355 : :
356 : : typedef unsigned char YY_CHAR;
357 : :
358 : : FILE *SQLyyin = (FILE *) 0, *SQLyyout = (FILE *) 0;
359 : :
360 : : typedef int yy_state_type;
361 : :
362 : : extern int SQLyylineno;
363 : :
364 : : int SQLyylineno = 1;
365 : :
366 : : extern char *SQLyytext;
367 : : #define yytext_ptr SQLyytext
368 : :
369 : : static yy_state_type yy_get_previous_state (void );
370 : : static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
371 : : static int yy_get_next_buffer (void );
372 : : static void yy_fatal_error (yyconst char msg[] );
373 : :
374 : : /* Done after the current pattern has been matched and before the
375 : : * corresponding action - sets up SQLyytext.
376 : : */
377 : : #define YY_DO_BEFORE_ACTION \
378 : : (yytext_ptr) = yy_bp; \
379 : : SQLyyleng = (size_t) (yy_cp - yy_bp); \
380 : : (yy_hold_char) = *yy_cp; \
381 : : *yy_cp = '\0'; \
382 : : (yy_c_buf_p) = yy_cp;
383 : :
384 : : #define YY_NUM_RULES 325
385 : : #define YY_END_OF_BUFFER 326
386 : : /* This struct is not used in this scanner,
387 : : but its presence is necessary. */
388 : : struct yy_trans_info
389 : : {
390 : : flex_int32_t yy_verify;
391 : : flex_int32_t yy_nxt;
392 : : };
393 : : static yyconst flex_int16_t yy_accept[4504] =
394 : : { 0,
395 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 : : 320, 320, 326, 324, 322, 321, 324, 314, 286, 286,
397 : : 278, 280, 279, 324, 324, 324, 64, 324, 324, 324,
398 : : 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,
399 : : 324, 324, 250, 324, 324, 324, 324, 324, 324, 311,
400 : : 286, 288, 287, 287, 287, 64, 287, 287, 287, 287,
401 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
402 : : 287, 250, 287, 287, 287, 287, 287, 287, 313, 312,
403 : : 315, 286, 286, 295, 294, 294, 294, 64, 294, 294,
404 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
405 : :
406 : : 294, 294, 294, 250, 294, 294, 294, 294, 294, 294,
407 : : 286, 295, 324, 320, 320, 320, 320, 318, 286, 286,
408 : : 286, 278, 280, 279, 320, 320, 320, 64, 320, 320,
409 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
410 : : 320, 320, 320, 250, 320, 320, 320, 320, 320, 319,
411 : : 320, 322, 284, 0, 281, 283, 282, 0, 0, 0,
412 : : 0, 0, 0, 9, 13, 0, 0, 0, 0, 0,
413 : : 0, 28, 0, 0, 0, 0, 0, 0, 0, 0,
414 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415 : : 0, 0, 0, 0, 101, 0, 0, 0, 0, 0,
416 : :
417 : : 0, 0, 114, 123, 0, 0, 0, 0, 0, 0,
418 : : 137, 0, 0, 0, 0, 0, 0, 0, 0, 157,
419 : : 0, 0, 0, 0, 168, 170, 0, 172, 0, 175,
420 : : 0, 0, 0, 0, 0, 184, 0, 0, 0, 0,
421 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422 : : 0, 0, 0, 0, 0, 0, 0, 0, 242, 0,
423 : : 249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424 : : 0, 0, 0, 285, 289, 0, 290, 288, 0, 287,
425 : : 287, 287, 287, 287, 287, 287, 9, 13, 287, 287,
426 : : 287, 287, 287, 287, 28, 287, 287, 287, 287, 287,
427 : :
428 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
429 : : 287, 287, 287, 287, 287, 287, 287, 101, 287, 287,
430 : : 287, 287, 287, 287, 287, 114, 123, 287, 287, 287,
431 : : 287, 287, 287, 137, 287, 287, 287, 287, 287, 287,
432 : : 287, 287, 157, 287, 287, 287, 287, 168, 170, 287,
433 : : 172, 287, 175, 287, 287, 287, 287, 287, 184, 287,
434 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
435 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
436 : : 287, 242, 287, 249, 287, 287, 287, 287, 287, 287,
437 : : 287, 287, 287, 287, 287, 287, 310, 300, 310, 310,
438 : :
439 : : 310, 295, 310, 294, 294, 294, 294, 294, 294, 294,
440 : : 9, 13, 294, 294, 294, 294, 294, 294, 28, 294,
441 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
442 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
443 : : 294, 101, 294, 294, 294, 294, 294, 294, 294, 114,
444 : : 123, 294, 294, 294, 294, 294, 294, 137, 294, 294,
445 : : 294, 294, 294, 294, 294, 294, 157, 294, 294, 294,
446 : : 294, 168, 170, 294, 172, 294, 175, 294, 294, 294,
447 : : 294, 294, 184, 294, 294, 294, 294, 294, 294, 294,
448 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
449 : :
450 : : 294, 294, 294, 294, 294, 242, 294, 249, 294, 294,
451 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
452 : : 306, 310, 310, 310, 295, 310, 0, 316, 320, 320,
453 : : 284, 320, 281, 283, 282, 320, 320, 320, 320, 320,
454 : : 320, 9, 13, 320, 320, 320, 320, 320, 320, 28,
455 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
456 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
457 : : 320, 320, 101, 320, 320, 320, 320, 320, 320, 320,
458 : : 114, 123, 320, 320, 320, 320, 320, 320, 137, 320,
459 : : 320, 320, 320, 320, 320, 320, 320, 157, 320, 320,
460 : :
461 : : 320, 320, 168, 170, 320, 172, 320, 175, 320, 320,
462 : : 320, 320, 320, 184, 320, 320, 320, 320, 320, 320,
463 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
464 : : 320, 320, 320, 320, 320, 320, 242, 320, 249, 320,
465 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
466 : : 320, 285, 0, 323, 1, 0, 0, 4, 0, 6,
467 : : 7, 0, 10, 0, 0, 0, 0, 18, 0, 0,
468 : : 0, 0, 0, 24, 0, 0, 0, 0, 0, 0,
469 : : 0, 0, 0, 0, 0, 0, 45, 46, 0, 0,
470 : : 0, 0, 0, 0, 68, 73, 0, 0, 0, 0,
471 : :
472 : : 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
473 : : 0, 0, 93, 0, 0, 0, 0, 0, 0, 103,
474 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 : : 0, 118, 0, 125, 126, 0, 0, 0, 0, 0,
476 : : 0, 0, 0, 0, 140, 0, 0, 145, 146, 148,
477 : : 0, 0, 0, 0, 155, 0, 158, 159, 0, 0,
478 : : 0, 0, 0, 0, 0, 171, 0, 0, 0, 0,
479 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
480 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 : : 207, 0, 0, 0, 0, 0, 215, 0, 218, 0,
482 : :
483 : : 0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
484 : : 0, 232, 0, 0, 0, 0, 0, 0, 0, 0,
485 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
486 : : 0, 0, 0, 0, 0, 0, 0, 293, 290, 0,
487 : : 0, 291, 1, 287, 287, 4, 287, 6, 7, 287,
488 : : 10, 287, 287, 287, 287, 18, 287, 287, 287, 287,
489 : : 287, 24, 287, 287, 287, 287, 287, 287, 287, 287,
490 : : 287, 287, 287, 287, 45, 46, 287, 287, 287, 287,
491 : : 287, 287, 68, 73, 287, 287, 287, 287, 287, 287,
492 : : 287, 287, 287, 287, 287, 87, 287, 287, 287, 287,
493 : :
494 : : 93, 287, 287, 287, 287, 287, 287, 103, 287, 287,
495 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 118,
496 : : 287, 125, 126, 287, 287, 287, 287, 287, 287, 287,
497 : : 287, 287, 140, 287, 287, 145, 146, 148, 287, 287,
498 : : 287, 287, 155, 287, 158, 159, 287, 287, 287, 287,
499 : : 287, 287, 287, 171, 287, 287, 287, 287, 287, 287,
500 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
501 : : 287, 287, 287, 287, 287, 287, 287, 287, 207, 287,
502 : : 287, 287, 287, 287, 215, 287, 218, 287, 287, 287,
503 : : 287, 287, 287, 287, 287, 287, 228, 287, 287, 232,
504 : :
505 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
506 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
507 : : 287, 287, 287, 287, 0, 303, 310, 298, 310, 295,
508 : : 0, 301, 1, 294, 294, 4, 294, 6, 7, 294,
509 : : 10, 294, 294, 294, 294, 18, 294, 294, 294, 294,
510 : : 294, 24, 294, 294, 294, 294, 294, 294, 294, 294,
511 : : 294, 294, 294, 294, 45, 46, 294, 294, 294, 294,
512 : : 294, 294, 68, 73, 294, 294, 294, 294, 294, 294,
513 : : 294, 294, 294, 294, 294, 87, 294, 294, 294, 294,
514 : : 93, 294, 294, 294, 294, 294, 294, 103, 294, 294,
515 : :
516 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 118,
517 : : 294, 125, 126, 294, 294, 294, 294, 294, 294, 294,
518 : : 294, 294, 140, 294, 294, 145, 146, 148, 294, 294,
519 : : 294, 294, 155, 294, 158, 159, 294, 294, 294, 294,
520 : : 294, 294, 294, 171, 294, 294, 294, 294, 294, 294,
521 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
522 : : 294, 294, 294, 294, 294, 294, 294, 294, 207, 294,
523 : : 294, 294, 294, 294, 215, 294, 218, 294, 294, 294,
524 : : 294, 294, 294, 294, 294, 294, 228, 294, 294, 232,
525 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
526 : :
527 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
528 : : 294, 294, 294, 294, 0, 309, 304, 310, 310, 295,
529 : : 0, 307, 316, 0, 316, 320, 320, 1, 320, 320,
530 : : 4, 320, 6, 7, 320, 10, 320, 320, 320, 320,
531 : : 18, 320, 320, 320, 320, 320, 24, 320, 320, 320,
532 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 45,
533 : : 46, 320, 320, 320, 320, 320, 320, 68, 73, 320,
534 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
535 : : 87, 320, 320, 320, 320, 93, 320, 320, 320, 320,
536 : : 320, 320, 103, 320, 320, 320, 320, 320, 320, 320,
537 : :
538 : : 320, 320, 320, 320, 118, 320, 125, 126, 320, 320,
539 : : 320, 320, 320, 320, 320, 320, 320, 140, 320, 320,
540 : : 145, 146, 148, 320, 320, 320, 320, 155, 320, 158,
541 : : 159, 320, 320, 320, 320, 320, 320, 320, 171, 320,
542 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
543 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
544 : : 320, 320, 320, 207, 320, 320, 320, 320, 320, 215,
545 : : 320, 218, 320, 320, 320, 320, 320, 320, 320, 320,
546 : : 320, 228, 320, 320, 232, 320, 320, 320, 320, 320,
547 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
548 : :
549 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 2,
550 : : 0, 0, 0, 0, 12, 14, 0, 0, 0, 0,
551 : : 0, 0, 0, 0, 26, 27, 29, 30, 31, 0,
552 : : 33, 0, 37, 0, 0, 0, 0, 0, 0, 0,
553 : : 0, 0, 0, 0, 0, 0, 0, 65, 0, 0,
554 : : 0, 0, 0, 0, 0, 0, 80, 0, 0, 0,
555 : : 84, 85, 86, 0, 0, 0, 0, 0, 0, 0,
556 : : 0, 0, 0, 0, 0, 0, 0, 106, 107, 0,
557 : : 0, 0, 0, 112, 0, 0, 0, 0, 0, 122,
558 : : 124, 0, 128, 0, 131, 133, 0, 135, 0, 0,
559 : :
560 : : 0, 141, 0, 0, 0, 0, 0, 0, 0, 0,
561 : : 156, 0, 0, 162, 0, 0, 0, 0, 173, 0,
562 : : 0, 0, 0, 179, 0, 0, 0, 0, 0, 0,
563 : : 0, 0, 0, 0, 0, 195, 0, 197, 198, 0,
564 : : 0, 0, 0, 0, 0, 0, 208, 0, 0, 0,
565 : : 0, 0, 0, 217, 216, 0, 220, 0, 0, 223,
566 : : 0, 0, 0, 0, 0, 233, 234, 235, 0, 0,
567 : : 0, 246, 247, 0, 0, 0, 0, 0, 0, 0,
568 : : 0, 0, 259, 0, 0, 0, 0, 0, 0, 268,
569 : : 269, 270, 0, 272, 275, 276, 277, 0, 292, 2,
570 : :
571 : : 287, 287, 287, 287, 12, 14, 287, 287, 287, 287,
572 : : 287, 287, 287, 287, 26, 27, 29, 30, 31, 287,
573 : : 33, 287, 37, 287, 287, 287, 287, 287, 287, 287,
574 : : 287, 287, 287, 287, 287, 287, 287, 65, 287, 287,
575 : : 287, 287, 287, 287, 287, 287, 80, 287, 287, 287,
576 : : 84, 85, 86, 287, 287, 287, 287, 287, 287, 287,
577 : : 287, 287, 287, 287, 287, 287, 287, 106, 107, 287,
578 : : 287, 287, 287, 112, 287, 287, 287, 287, 287, 122,
579 : : 124, 287, 128, 287, 131, 133, 287, 135, 287, 287,
580 : : 287, 141, 287, 287, 287, 287, 287, 287, 287, 287,
581 : :
582 : : 156, 287, 287, 162, 287, 287, 287, 287, 173, 287,
583 : : 287, 287, 287, 179, 287, 287, 287, 287, 287, 287,
584 : : 287, 287, 287, 287, 287, 195, 287, 197, 198, 287,
585 : : 287, 287, 287, 287, 287, 287, 208, 287, 287, 287,
586 : : 287, 287, 287, 217, 216, 287, 220, 287, 287, 223,
587 : : 287, 287, 287, 287, 287, 233, 234, 235, 287, 287,
588 : : 287, 246, 247, 287, 287, 287, 287, 287, 287, 287,
589 : : 287, 287, 259, 287, 287, 287, 287, 287, 287, 268,
590 : : 269, 270, 287, 272, 275, 276, 277, 303, 310, 0,
591 : : 302, 295, 301, 2, 294, 294, 294, 294, 12, 14,
592 : :
593 : : 294, 294, 294, 294, 294, 294, 294, 294, 26, 27,
594 : : 29, 30, 31, 294, 33, 294, 37, 294, 294, 294,
595 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
596 : : 294, 65, 294, 294, 294, 294, 294, 294, 294, 294,
597 : : 80, 294, 294, 294, 84, 85, 86, 294, 294, 294,
598 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
599 : : 294, 106, 107, 294, 294, 294, 294, 112, 294, 294,
600 : : 294, 294, 294, 122, 124, 294, 128, 294, 131, 133,
601 : : 294, 135, 294, 294, 294, 141, 294, 294, 294, 294,
602 : : 294, 294, 294, 294, 156, 294, 294, 162, 294, 294,
603 : :
604 : : 294, 294, 173, 294, 294, 294, 294, 179, 294, 294,
605 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 195,
606 : : 294, 197, 198, 294, 294, 294, 294, 294, 294, 294,
607 : : 208, 294, 294, 294, 294, 294, 294, 217, 216, 294,
608 : : 220, 294, 294, 223, 294, 294, 294, 294, 294, 233,
609 : : 234, 235, 294, 294, 294, 246, 247, 294, 294, 294,
610 : : 294, 294, 294, 294, 294, 294, 259, 294, 294, 294,
611 : : 294, 294, 294, 268, 269, 270, 294, 272, 275, 276,
612 : : 277, 309, 0, 308, 310, 295, 307, 0, 316, 2,
613 : : 320, 320, 320, 320, 12, 14, 320, 320, 320, 320,
614 : :
615 : : 320, 320, 320, 320, 26, 27, 29, 30, 31, 320,
616 : : 33, 320, 37, 320, 320, 320, 320, 320, 320, 320,
617 : : 320, 320, 320, 320, 320, 320, 320, 65, 320, 320,
618 : : 320, 320, 320, 320, 320, 320, 80, 320, 320, 320,
619 : : 84, 85, 86, 320, 320, 320, 320, 320, 320, 320,
620 : : 320, 320, 320, 320, 320, 320, 320, 106, 107, 320,
621 : : 320, 320, 320, 112, 320, 320, 320, 320, 320, 122,
622 : : 124, 320, 128, 320, 131, 133, 320, 135, 320, 320,
623 : : 320, 141, 320, 320, 320, 320, 320, 320, 320, 320,
624 : : 156, 320, 320, 162, 320, 320, 320, 320, 173, 320,
625 : :
626 : : 320, 320, 320, 179, 320, 320, 320, 320, 320, 320,
627 : : 320, 320, 320, 320, 320, 195, 320, 197, 198, 320,
628 : : 320, 320, 320, 320, 320, 320, 208, 320, 320, 320,
629 : : 320, 320, 320, 217, 216, 320, 220, 320, 320, 223,
630 : : 320, 320, 320, 320, 320, 233, 234, 235, 320, 320,
631 : : 320, 246, 247, 320, 320, 320, 320, 320, 320, 320,
632 : : 320, 320, 259, 320, 320, 320, 320, 320, 320, 268,
633 : : 269, 270, 320, 272, 275, 276, 277, 3, 5, 0,
634 : : 11, 15, 0, 0, 0, 20, 0, 0, 0, 0,
635 : : 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
636 : :
637 : : 0, 47, 0, 49, 0, 0, 0, 0, 0, 0,
638 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 : : 0, 0, 0, 88, 0, 0, 0, 0, 95, 96,
640 : : 97, 99, 100, 0, 0, 105, 0, 109, 110, 0,
641 : : 0, 115, 0, 0, 0, 0, 127, 0, 130, 0,
642 : : 0, 136, 138, 0, 142, 143, 144, 0, 149, 0,
643 : : 0, 153, 154, 0, 161, 0, 164, 0, 0, 0,
644 : : 0, 0, 176, 0, 178, 0, 0, 0, 186, 0,
645 : : 0, 0, 0, 0, 0, 0, 0, 196, 0, 0,
646 : : 0, 0, 210, 0, 205, 0, 211, 0, 0, 0,
647 : :
648 : : 0, 0, 0, 222, 0, 0, 0, 0, 231, 0,
649 : : 0, 0, 0, 0, 0, 0, 251, 0, 253, 0,
650 : : 0, 0, 257, 258, 260, 266, 0, 0, 0, 0,
651 : : 0, 271, 0, 0, 3, 5, 287, 11, 15, 287,
652 : : 287, 287, 20, 287, 287, 287, 287, 287, 287, 287,
653 : : 36, 287, 287, 287, 287, 287, 287, 287, 47, 287,
654 : : 49, 287, 287, 287, 287, 287, 287, 287, 287, 287,
655 : : 287, 287, 287, 287, 287, 287, 287, 287, 287, 287,
656 : : 88, 287, 287, 287, 287, 95, 96, 97, 99, 100,
657 : : 287, 287, 105, 287, 109, 110, 287, 287, 115, 287,
658 : :
659 : : 287, 287, 287, 127, 287, 130, 287, 287, 136, 138,
660 : : 287, 142, 143, 144, 287, 149, 287, 287, 153, 154,
661 : : 287, 161, 287, 164, 287, 287, 287, 287, 287, 176,
662 : : 287, 178, 287, 287, 287, 186, 287, 287, 287, 287,
663 : : 287, 287, 287, 287, 196, 287, 287, 287, 287, 210,
664 : : 287, 205, 287, 211, 287, 287, 287, 287, 287, 287,
665 : : 222, 287, 287, 287, 287, 231, 287, 287, 287, 287,
666 : : 287, 287, 287, 251, 287, 253, 287, 287, 287, 257,
667 : : 258, 260, 266, 287, 287, 287, 287, 287, 271, 287,
668 : : 287, 296, 302, 3, 5, 294, 11, 15, 294, 294,
669 : :
670 : : 294, 20, 294, 294, 294, 294, 294, 294, 294, 36,
671 : : 294, 294, 294, 294, 294, 294, 294, 47, 294, 49,
672 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
673 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 88,
674 : : 294, 294, 294, 294, 95, 96, 97, 99, 100, 294,
675 : : 294, 105, 294, 109, 110, 294, 294, 115, 294, 294,
676 : : 294, 294, 127, 294, 130, 294, 294, 136, 138, 294,
677 : : 142, 143, 144, 294, 149, 294, 294, 153, 154, 294,
678 : : 161, 294, 164, 294, 294, 294, 294, 294, 176, 294,
679 : : 178, 294, 294, 294, 186, 294, 294, 294, 294, 294,
680 : :
681 : : 294, 294, 294, 196, 294, 294, 294, 294, 210, 294,
682 : : 205, 294, 211, 294, 294, 294, 294, 294, 294, 222,
683 : : 294, 294, 294, 294, 231, 294, 294, 294, 294, 294,
684 : : 294, 294, 251, 294, 253, 294, 294, 294, 257, 258,
685 : : 260, 266, 294, 294, 294, 294, 294, 271, 294, 294,
686 : : 308, 297, 0, 317, 3, 5, 320, 11, 15, 320,
687 : : 320, 320, 20, 320, 320, 320, 320, 320, 320, 320,
688 : : 36, 320, 320, 320, 320, 320, 320, 320, 47, 320,
689 : : 49, 320, 320, 320, 320, 320, 320, 320, 320, 320,
690 : : 320, 320, 320, 320, 320, 320, 320, 320, 320, 320,
691 : :
692 : : 88, 320, 320, 320, 320, 95, 96, 97, 99, 100,
693 : : 320, 320, 105, 320, 109, 110, 320, 320, 115, 320,
694 : : 320, 320, 320, 127, 320, 130, 320, 320, 136, 138,
695 : : 320, 142, 143, 144, 320, 149, 320, 320, 153, 154,
696 : : 320, 161, 320, 164, 320, 320, 320, 320, 320, 176,
697 : : 320, 178, 320, 320, 320, 186, 320, 320, 320, 320,
698 : : 320, 320, 320, 320, 196, 320, 320, 320, 320, 210,
699 : : 320, 205, 320, 211, 320, 320, 320, 320, 320, 320,
700 : : 222, 320, 320, 320, 320, 231, 320, 320, 320, 320,
701 : : 320, 320, 320, 251, 320, 253, 320, 320, 320, 257,
702 : :
703 : : 258, 260, 266, 320, 320, 320, 320, 320, 271, 320,
704 : : 320, 0, 16, 0, 19, 0, 22, 23, 0, 0,
705 : : 0, 0, 0, 0, 0, 41, 42, 0, 0, 48,
706 : : 0, 0, 0, 63, 0, 0, 0, 0, 0, 0,
707 : : 0, 0, 0, 0, 0, 78, 0, 0, 0, 83,
708 : : 89, 90, 0, 92, 0, 0, 0, 0, 108, 111,
709 : : 113, 116, 0, 0, 0, 0, 0, 0, 134, 139,
710 : : 147, 0, 0, 0, 0, 163, 0, 166, 0, 169,
711 : : 174, 177, 0, 0, 0, 0, 0, 0, 0, 0,
712 : : 192, 0, 0, 0, 201, 0, 0, 0, 0, 0,
713 : :
714 : : 212, 213, 214, 0, 0, 0, 0, 0, 0, 0,
715 : : 0, 0, 0, 0, 0, 0, 0, 0, 254, 0,
716 : : 256, 267, 0, 0, 0, 0, 0, 273, 0, 287,
717 : : 16, 287, 19, 287, 22, 23, 287, 287, 287, 287,
718 : : 287, 287, 287, 41, 42, 287, 287, 48, 287, 287,
719 : : 287, 63, 287, 287, 287, 287, 287, 287, 287, 287,
720 : : 287, 287, 287, 78, 287, 287, 287, 83, 89, 90,
721 : : 287, 92, 287, 287, 287, 287, 108, 111, 113, 116,
722 : : 287, 287, 287, 287, 287, 287, 134, 139, 147, 287,
723 : : 287, 287, 287, 163, 287, 166, 287, 169, 174, 177,
724 : :
725 : : 287, 287, 287, 287, 287, 287, 287, 287, 192, 287,
726 : : 287, 287, 201, 287, 287, 287, 287, 287, 212, 213,
727 : : 214, 287, 287, 287, 287, 287, 287, 287, 287, 287,
728 : : 287, 287, 287, 287, 287, 287, 254, 287, 256, 267,
729 : : 287, 287, 287, 287, 287, 273, 287, 310, 294, 16,
730 : : 294, 19, 294, 22, 23, 294, 294, 294, 294, 294,
731 : : 294, 294, 41, 42, 294, 294, 48, 294, 294, 294,
732 : : 63, 294, 294, 294, 294, 294, 294, 294, 294, 294,
733 : : 294, 294, 78, 294, 294, 294, 83, 89, 90, 294,
734 : : 92, 294, 294, 294, 294, 108, 111, 113, 116, 294,
735 : :
736 : : 294, 294, 294, 294, 294, 134, 139, 147, 294, 294,
737 : : 294, 294, 163, 294, 166, 294, 169, 174, 177, 294,
738 : : 294, 294, 294, 294, 294, 294, 294, 192, 294, 294,
739 : : 294, 201, 294, 294, 294, 294, 294, 212, 213, 214,
740 : : 294, 294, 294, 294, 294, 294, 294, 294, 294, 294,
741 : : 294, 294, 294, 294, 294, 254, 294, 256, 267, 294,
742 : : 294, 294, 294, 294, 273, 294, 310, 317, 317, 320,
743 : : 16, 320, 19, 320, 22, 23, 320, 320, 320, 320,
744 : : 320, 320, 320, 41, 42, 320, 320, 48, 320, 320,
745 : : 320, 63, 320, 320, 320, 320, 320, 320, 320, 320,
746 : :
747 : : 320, 320, 320, 78, 320, 320, 320, 83, 89, 90,
748 : : 320, 92, 320, 320, 320, 320, 108, 111, 113, 116,
749 : : 320, 320, 320, 320, 320, 320, 134, 139, 147, 320,
750 : : 320, 320, 320, 163, 320, 166, 320, 169, 174, 177,
751 : : 320, 320, 320, 320, 320, 320, 320, 320, 192, 320,
752 : : 320, 320, 201, 320, 320, 320, 320, 320, 212, 213,
753 : : 214, 320, 320, 320, 320, 320, 320, 320, 320, 320,
754 : : 320, 320, 320, 320, 320, 320, 254, 320, 256, 267,
755 : : 320, 320, 320, 320, 320, 273, 320, 0, 0, 21,
756 : : 0, 32, 0, 0, 0, 39, 40, 0, 44, 0,
757 : :
758 : : 59, 51, 61, 0, 0, 69, 0, 0, 0, 74,
759 : : 75, 76, 77, 0, 0, 0, 91, 94, 0, 0,
760 : : 104, 117, 118, 0, 0, 0, 132, 0, 0, 152,
761 : : 0, 165, 0, 0, 0, 0, 0, 0, 189, 0,
762 : : 0, 193, 194, 0, 202, 203, 0, 0, 0, 0,
763 : : 0, 221, 0, 0, 0, 0, 0, 0, 0, 0,
764 : : 0, 245, 0, 0, 255, 0, 262, 263, 264, 0,
765 : : 274, 287, 287, 21, 287, 32, 287, 287, 287, 39,
766 : : 40, 287, 44, 287, 59, 51, 61, 287, 287, 69,
767 : : 287, 287, 287, 74, 75, 76, 77, 287, 287, 287,
768 : :
769 : : 91, 94, 287, 287, 104, 117, 118, 287, 287, 287,
770 : : 132, 287, 287, 152, 287, 165, 287, 287, 287, 287,
771 : : 287, 287, 189, 287, 287, 193, 194, 287, 202, 203,
772 : : 287, 287, 287, 287, 287, 221, 287, 287, 287, 287,
773 : : 287, 287, 287, 287, 287, 245, 287, 287, 255, 287,
774 : : 262, 263, 264, 287, 274, 299, 294, 294, 21, 294,
775 : : 32, 294, 294, 294, 39, 40, 294, 44, 294, 59,
776 : : 51, 61, 294, 294, 69, 294, 294, 294, 74, 75,
777 : : 76, 77, 294, 294, 294, 91, 94, 294, 294, 104,
778 : : 117, 118, 294, 294, 294, 132, 294, 294, 152, 294,
779 : :
780 : : 165, 294, 294, 294, 294, 294, 294, 189, 294, 294,
781 : : 193, 194, 294, 202, 203, 294, 294, 294, 294, 294,
782 : : 221, 294, 294, 294, 294, 294, 294, 294, 294, 294,
783 : : 245, 294, 294, 255, 294, 262, 263, 264, 294, 274,
784 : : 305, 317, 320, 320, 21, 320, 32, 320, 320, 320,
785 : : 39, 40, 320, 44, 320, 59, 51, 61, 320, 320,
786 : : 69, 320, 320, 320, 74, 75, 76, 77, 320, 320,
787 : : 320, 91, 94, 320, 320, 104, 117, 118, 320, 320,
788 : : 320, 132, 320, 320, 152, 320, 165, 320, 320, 320,
789 : : 320, 320, 320, 189, 320, 320, 193, 194, 320, 202,
790 : :
791 : : 203, 320, 320, 320, 320, 320, 221, 320, 320, 320,
792 : : 320, 320, 320, 320, 320, 320, 245, 320, 320, 255,
793 : : 320, 262, 263, 264, 320, 274, 0, 0, 0, 0,
794 : : 0, 38, 43, 0, 0, 66, 0, 0, 0, 0,
795 : : 0, 0, 82, 0, 0, 0, 120, 0, 0, 151,
796 : : 0, 0, 0, 0, 0, 185, 0, 0, 0, 0,
797 : : 0, 204, 0, 0, 0, 219, 0, 0, 0, 0,
798 : : 0, 0, 0, 0, 243, 0, 248, 0, 0, 265,
799 : : 287, 287, 287, 287, 287, 38, 43, 287, 287, 66,
800 : : 287, 287, 287, 287, 287, 287, 82, 287, 287, 287,
801 : :
802 : : 120, 287, 287, 151, 287, 287, 287, 287, 287, 185,
803 : : 287, 287, 287, 287, 287, 204, 287, 287, 287, 219,
804 : : 287, 287, 287, 287, 287, 287, 287, 287, 243, 287,
805 : : 248, 287, 287, 265, 294, 294, 294, 294, 294, 38,
806 : : 43, 294, 294, 66, 294, 294, 294, 294, 294, 294,
807 : : 82, 294, 294, 294, 120, 294, 294, 151, 294, 294,
808 : : 294, 294, 294, 185, 294, 294, 294, 294, 294, 204,
809 : : 294, 294, 294, 219, 294, 294, 294, 294, 294, 294,
810 : : 294, 294, 243, 294, 248, 294, 294, 265, 320, 320,
811 : : 320, 320, 320, 38, 43, 320, 320, 66, 320, 320,
812 : :
813 : : 320, 320, 320, 320, 82, 320, 320, 320, 120, 320,
814 : : 320, 151, 320, 320, 320, 320, 320, 185, 320, 320,
815 : : 320, 320, 320, 204, 320, 320, 320, 219, 320, 320,
816 : : 320, 320, 320, 320, 320, 320, 243, 320, 248, 320,
817 : : 320, 265, 8, 0, 0, 34, 0, 50, 0, 0,
818 : : 0, 0, 0, 0, 0, 67, 0, 71, 72, 0,
819 : : 0, 0, 102, 119, 0, 150, 160, 0, 180, 0,
820 : : 0, 187, 188, 0, 191, 0, 0, 0, 0, 0,
821 : : 226, 0, 0, 227, 0, 236, 239, 0, 244, 252,
822 : : 261, 8, 287, 287, 34, 287, 50, 287, 287, 287,
823 : :
824 : : 287, 287, 287, 287, 67, 287, 71, 72, 287, 287,
825 : : 287, 102, 119, 287, 150, 160, 287, 180, 287, 287,
826 : : 187, 188, 287, 191, 287, 287, 287, 287, 287, 226,
827 : : 287, 287, 227, 287, 236, 239, 287, 244, 252, 261,
828 : : 8, 294, 294, 34, 294, 50, 294, 294, 294, 294,
829 : : 294, 294, 294, 67, 294, 71, 72, 294, 294, 294,
830 : : 102, 119, 294, 150, 160, 294, 180, 294, 294, 187,
831 : : 188, 294, 191, 294, 294, 294, 294, 294, 226, 294,
832 : : 294, 227, 294, 236, 239, 294, 244, 252, 261, 8,
833 : : 320, 320, 34, 320, 50, 320, 320, 320, 320, 320,
834 : :
835 : : 320, 320, 67, 320, 71, 72, 320, 320, 320, 102,
836 : : 119, 320, 150, 160, 320, 180, 320, 320, 187, 188,
837 : : 320, 191, 320, 320, 320, 320, 320, 226, 320, 320,
838 : : 227, 320, 236, 239, 320, 244, 252, 261, 0, 25,
839 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
840 : : 79, 81, 0, 0, 129, 0, 0, 0, 190, 199,
841 : : 0, 206, 209, 0, 224, 0, 0, 0, 0, 0,
842 : : 0, 287, 25, 287, 287, 287, 287, 287, 287, 287,
843 : : 287, 287, 70, 79, 81, 287, 287, 129, 287, 287,
844 : : 287, 190, 199, 287, 206, 209, 287, 224, 287, 287,
845 : :
846 : : 287, 287, 287, 287, 294, 25, 294, 294, 294, 294,
847 : : 294, 294, 294, 294, 294, 70, 79, 81, 294, 294,
848 : : 129, 294, 294, 294, 190, 199, 294, 206, 209, 294,
849 : : 224, 294, 294, 294, 294, 294, 294, 320, 25, 320,
850 : : 320, 320, 320, 320, 320, 320, 320, 320, 70, 79,
851 : : 81, 320, 320, 129, 320, 320, 320, 190, 199, 320,
852 : : 206, 209, 320, 224, 320, 320, 320, 320, 320, 320,
853 : : 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
854 : : 98, 0, 0, 0, 0, 200, 0, 225, 230, 0,
855 : : 0, 0, 0, 287, 35, 287, 287, 287, 287, 287,
856 : :
857 : : 287, 287, 287, 98, 287, 287, 287, 287, 200, 287,
858 : : 225, 230, 287, 287, 287, 287, 294, 35, 294, 294,
859 : : 294, 294, 294, 294, 294, 294, 98, 294, 294, 294,
860 : : 294, 200, 294, 225, 230, 294, 294, 294, 294, 320,
861 : : 35, 320, 320, 320, 320, 320, 320, 320, 320, 98,
862 : : 320, 320, 320, 320, 200, 320, 225, 230, 320, 320,
863 : : 320, 320, 0, 0, 52, 0, 55, 56, 0, 60,
864 : : 58, 121, 167, 0, 0, 181, 229, 237, 0, 0,
865 : : 0, 287, 287, 52, 287, 55, 56, 287, 60, 58,
866 : : 121, 167, 287, 287, 181, 229, 237, 287, 287, 287,
867 : :
868 : : 294, 294, 52, 294, 55, 56, 294, 60, 58, 121,
869 : : 167, 294, 294, 181, 229, 237, 294, 294, 294, 320,
870 : : 320, 52, 320, 55, 56, 320, 60, 58, 121, 167,
871 : : 320, 320, 181, 229, 237, 320, 320, 320, 17, 0,
872 : : 0, 0, 0, 0, 0, 238, 240, 0, 17, 287,
873 : : 287, 287, 287, 287, 287, 238, 240, 287, 17, 294,
874 : : 294, 294, 294, 294, 294, 238, 240, 294, 17, 320,
875 : : 320, 320, 320, 320, 320, 238, 240, 320, 0, 0,
876 : : 57, 0, 0, 0, 0, 287, 287, 57, 287, 287,
877 : : 287, 287, 294, 294, 57, 294, 294, 294, 294, 320,
878 : :
879 : : 320, 57, 320, 320, 320, 320, 53, 0, 0, 182,
880 : : 183, 241, 53, 287, 287, 182, 183, 241, 53, 294,
881 : : 294, 182, 183, 241, 53, 320, 320, 182, 183, 241,
882 : : 0, 0, 287, 287, 294, 294, 320, 320, 0, 62,
883 : : 287, 62, 294, 62, 320, 62, 0, 287, 294, 320,
884 : : 0, 287, 294, 320, 0, 287, 294, 320, 0, 287,
885 : : 294, 320, 0, 287, 294, 320, 0, 287, 294, 320,
886 : : 0, 287, 294, 320, 0, 287, 294, 320, 0, 287,
887 : : 294, 320, 0, 287, 294, 320, 0, 287, 294, 320,
888 : : 0, 287, 294, 320, 0, 287, 294, 320, 54, 54,
889 : :
890 : : 54, 54, 0
891 : : } ;
892 : :
893 : : static yyconst flex_int32_t yy_ec[256] =
894 : : { 0,
895 : : 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
896 : : 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
897 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
898 : : 1, 4, 5, 6, 7, 1, 8, 1, 9, 10,
899 : : 10, 11, 12, 13, 14, 15, 10, 16, 17, 18,
900 : : 19, 19, 19, 19, 19, 19, 19, 20, 10, 21,
901 : : 22, 23, 24, 1, 25, 26, 27, 28, 29, 30,
902 : : 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
903 : : 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
904 : : 51, 1, 1, 1, 52, 53, 54, 55, 56, 57,
905 : :
906 : : 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
907 : : 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
908 : : 78, 79, 10, 80, 10, 1, 1, 81, 81, 81,
909 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
910 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
911 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
912 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
913 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
914 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
915 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
916 : :
917 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
918 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
919 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
920 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
921 : : 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
922 : : 81, 81, 81, 1, 1
923 : : } ;
924 : :
925 : : static yyconst flex_int32_t yy_meta[82] =
926 : : { 0,
927 : : 1, 1, 1, 2, 1, 3, 1, 4, 3, 1,
928 : : 5, 1, 4, 1, 4, 6, 6, 6, 6, 3,
929 : : 1, 1, 1, 7, 6, 6, 6, 6, 6, 6,
930 : : 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
931 : : 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
932 : : 3, 6, 1, 6, 6, 6, 6, 6, 6, 6,
933 : : 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
934 : : 6, 6, 6, 6, 6, 6, 6, 6, 6, 1,
935 : : 8
936 : : } ;
937 : :
938 : : static yyconst flex_int16_t yy_base[4512] =
939 : : { 0,
940 : : 0, 0, 81, 0, 162, 0, 231, 238, 245, 252,
941 : : 271, 0, 1216, 9485, 351, 9485, 1180, 9485, 9485, 1184,
942 : : 334, 9485, 1170, 332, 353, 407, 383, 428, 481, 312,
943 : : 341, 395, 322, 335, 531, 459, 532, 581, 589, 320,
944 : : 591, 638, 541, 469, 394, 600, 338, 330, 1072, 9485,
945 : : 441, 472, 691, 637, 742, 715, 763, 816, 329, 477,
946 : : 754, 333, 352, 866, 765, 867, 916, 814, 339, 920,
947 : : 967, 876, 930, 647, 652, 0, 356, 395, 9485, 9485,
948 : : 9485, 0, 1001, 1031, 1064, 1085, 1139, 1115, 1050, 1189,
949 : : 398, 479, 967, 405, 421, 1239, 769, 1240, 1289, 1137,
950 : :
951 : : 441, 999, 1338, 1187, 1118, 697, 1213, 0, 479, 472,
952 : : 1047, 1373, 707, 0, 426, 0, 1127, 9485, 0, 1132,
953 : : 9485, 401, 0, 1111, 1406, 1427, 1481, 1457, 1392, 1531,
954 : : 480, 528, 1129, 495, 521, 1581, 809, 1582, 1631, 1479,
955 : : 517, 1293, 1680, 1529, 1460, 706, 1555, 536, 529, 9485,
956 : : 1052, 481, 9485, 1092, 9485, 9485, 9485, 529, 542, 625,
957 : : 800, 704, 632, 762, 821, 646, 710, 1024, 1286, 704,
958 : : 732, 9485, 814, 758, 873, 754, 1734, 868, 1014, 1038,
959 : : 1696, 1069, 806, 861, 876, 908, 927, 936, 937, 1341,
960 : : 977, 1008, 1032, 1062, 9485, 1179, 1074, 1237, 1126, 1080,
961 : :
962 : : 1114, 1165, 1722, 9485, 1173, 1160, 1268, 1208, 1484, 1306,
963 : : 9485, 1398, 1219, 1228, 1253, 1367, 1248, 1348, 1454, 1501,
964 : : 1571, 1594, 1335, 1349, 1388, 9485, 1398, 1403, 1397, 1415,
965 : : 1475, 1490, 1528, 1524, 1570, 9485, 1575, 1633, 1589, 1599,
966 : : 1636, 1744, 1603, 1634, 1626, 1650, 1737, 1754, 1658, 1677,
967 : : 1664, 1673, 1758, 1785, 1673, 1779, 1699, 1789, 9485, 1794,
968 : : 9485, 1708, 1797, 1796, 1812, 1789, 1718, 1738, 1762, 1784,
969 : : 1787, 1810, 1800, 9485, 1859, 1867, 1873, 1878, 1887, 0,
970 : : 1799, 1804, 1800, 1864, 1870, 1838, 1883, 1886, 1868, 1882,
971 : : 1884, 1915, 1879, 1876, 0, 1890, 1888, 1909, 1883, 1964,
972 : :
973 : : 1927, 1927, 1921, 1983, 1931, 1878, 1919, 1941, 1933, 1949,
974 : : 1956, 1957, 1984, 1955, 1952, 1962, 1977, 0, 1999, 1983,
975 : : 1991, 2022, 1977, 2004, 2016, 2022, 0, 2025, 2010, 2037,
976 : : 2037, 2044, 2040, 0, 2054, 2025, 2023, 2046, 2064, 2042,
977 : : 2080, 2070, 2075, 2091, 2089, 2065, 2061, 2077, 0, 2092,
978 : : 2091, 2085, 2104, 2101, 2091, 2108, 2096, 2097, 0, 2097,
979 : : 2141, 2116, 2118, 2122, 2151, 2126, 2148, 2117, 2131, 2171,
980 : : 2152, 2150, 2163, 2152, 2140, 2193, 2191, 2144, 2200, 2167,
981 : : 2203, 0, 2208, 0, 2176, 2216, 2220, 2239, 2216, 2205,
982 : : 2216, 2225, 2212, 2217, 2240, 2228, 0, 2286, 2294, 1270,
983 : :
984 : : 2300, 2307, 2316, 0, 2249, 2259, 2265, 2295, 2312, 2272,
985 : : 2314, 2312, 2298, 2314, 2318, 2315, 2311, 2308, 0, 2320,
986 : : 2321, 2364, 2316, 2398, 2328, 2358, 2353, 2389, 2374, 2327,
987 : : 2360, 2381, 2366, 2382, 2384, 2386, 2433, 2385, 2386, 2405,
988 : : 2412, 0, 2433, 2414, 2419, 2442, 2411, 2413, 2430, 2450,
989 : : 0, 2441, 2430, 2469, 2460, 2488, 2455, 0, 2478, 2457,
990 : : 2453, 2477, 2499, 2472, 2488, 2484, 2489, 2518, 2521, 2501,
991 : : 2495, 2513, 0, 2518, 2512, 2508, 2531, 2531, 2523, 2540,
992 : : 2528, 2529, 0, 2531, 2556, 2547, 2551, 2555, 2576, 2551,
993 : : 2568, 2549, 2562, 2607, 2579, 2572, 2591, 2583, 2567, 2624,
994 : :
995 : : 2627, 2582, 2621, 2598, 2603, 0, 2641, 0, 2606, 2642,
996 : : 2627, 2658, 2656, 2612, 2642, 2644, 2641, 2647, 2665, 2656,
997 : : 2712, 2720, 2726, 1562, 2733, 2742, 1962, 2749, 0, 540,
998 : : 0, 2768, 0, 0, 0, 2668, 2696, 2703, 2737, 2729,
999 : : 2727, 2752, 2750, 2736, 2751, 2769, 2786, 2744, 2743, 0,
1000 : : 2760, 2760, 2798, 2758, 2835, 2776, 2796, 2791, 2827, 2818,
1001 : : 2775, 2782, 2810, 2796, 2817, 2820, 2826, 2870, 2839, 2838,
1002 : : 2846, 2852, 0, 2870, 2854, 2862, 2891, 2849, 2851, 2875,
1003 : : 2885, 0, 2885, 2870, 2907, 2906, 2926, 2918, 0, 2934,
1004 : : 2891, 2889, 2902, 2935, 2902, 2936, 2923, 2930, 2954, 2952,
1005 : :
1006 : : 2920, 2932, 2961, 0, 2967, 2960, 2954, 2976, 2975, 2964,
1007 : : 2980, 2969, 2970, 0, 2976, 2993, 2987, 2989, 2993, 3004,
1008 : : 2997, 3009, 2988, 3003, 3026, 3034, 3014, 3030, 3024, 3024,
1009 : : 3052, 3053, 3028, 3055, 3057, 3060, 0, 3078, 0, 3062,
1010 : : 3079, 3089, 3095, 3085, 3073, 3078, 3096, 3086, 3091, 3110,
1011 : : 3099, 0, 1089, 9485, 9485, 3095, 3110, 9485, 3113, 9485,
1012 : : 9485, 3119, 3112, 3109, 3110, 3114, 3123, 9485, 3121, 3128,
1013 : : 3116, 3132, 3144, 1027, 3144, 3140, 3139, 3149, 3143, 3139,
1014 : : 3155, 3157, 3149, 3150, 3150, 3173, 9485, 9485, 3153, 3170,
1015 : : 3153, 3168, 3190, 3173, 3189, 3173, 3188, 3179, 3194, 3187,
1016 : :
1017 : : 3209, 3207, 3195, 3214, 3201, 3211, 3215, 9485, 3220, 3207,
1018 : : 3222, 3210, 9485, 3212, 3212, 3233, 3221, 3242, 3235, 3246,
1019 : : 3238, 3240, 3243, 3252, 3248, 3243, 3257, 3249, 3253, 3265,
1020 : : 3268, 3270, 3257, 9485, 9485, 3267, 3257, 3259, 3275, 3263,
1021 : : 3280, 3284, 3283, 3293, 3305, 3296, 3296, 9485, 3288, 9485,
1022 : : 3290, 3304, 3314, 3304, 9485, 3300, 9485, 9485, 1026, 3310,
1023 : : 3312, 3321, 3322, 3323, 3310, 9485, 3306, 3323, 3328, 3330,
1024 : : 3331, 3319, 3321, 3340, 3336, 3341, 3344, 3337, 3349, 3351,
1025 : : 3349, 3359, 3373, 3357, 3366, 3373, 3357, 3374, 3371, 3372,
1026 : : 3371, 3378, 3384, 3376, 3388, 3375, 9485, 3381, 9485, 3396,
1027 : :
1028 : : 3391, 3399, 3391, 3405, 3390, 3397, 3417, 3406, 9485, 3406,
1029 : : 3415, 9485, 3414, 3410, 3426, 3426, 3429, 3433, 3422, 3428,
1030 : : 3434, 3430, 3444, 3443, 3445, 3435, 3445, 3440, 3481, 3439,
1031 : : 3452, 3461, 3458, 3457, 3467, 3481, 2691, 3506, 3524, 3532,
1032 : : 3538, 3544, 0, 3475, 3500, 0, 3506, 0, 0, 3520,
1033 : : 3519, 3527, 3528, 3530, 3536, 0, 3530, 3537, 3524, 3539,
1034 : : 3548, 1025, 3549, 3544, 3541, 3549, 3543, 3538, 3556, 3558,
1035 : : 3549, 3550, 3550, 3583, 0, 0, 3550, 3564, 3547, 3562,
1036 : : 3593, 3574, 3585, 3592, 3586, 3584, 3601, 3588, 3606, 3604,
1037 : : 3594, 3615, 3602, 3611, 3615, 0, 3620, 3604, 3632, 3604,
1038 : :
1039 : : 0, 3606, 3606, 3624, 3626, 3654, 3645, 3653, 3645, 3647,
1040 : : 3649, 3653, 3649, 3643, 3656, 3649, 3653, 3665, 3675, 3666,
1041 : : 3658, 0, 0, 3668, 3656, 3658, 3674, 3659, 3675, 3678,
1042 : : 3676, 3701, 3710, 3708, 3706, 0, 3696, 0, 3698, 3711,
1043 : : 3718, 3706, 0, 3702, 0, 0, 1021, 3711, 3713, 3721,
1044 : : 3722, 3723, 3710, 0, 3705, 3724, 3729, 3730, 3731, 3719,
1045 : : 3718, 3736, 3731, 3736, 3740, 3758, 3750, 3748, 3755, 3765,
1046 : : 3772, 3763, 3772, 3773, 3765, 3776, 3774, 3773, 3769, 3781,
1047 : : 3786, 3777, 3788, 3775, 0, 3781, 0, 3791, 3786, 3794,
1048 : : 3787, 3808, 3798, 3806, 3825, 3812, 0, 3812, 3821, 0,
1049 : :
1050 : : 3820, 3816, 3831, 3828, 3831, 3834, 3822, 3828, 3834, 3831,
1051 : : 3845, 3845, 3845, 3835, 3840, 3835, 3884, 3836, 3858, 3875,
1052 : : 3868, 3873, 3872, 3886, 3902, 3907, 3931, 3935, 3949, 3956,
1053 : : 3939, 3960, 0, 3873, 3901, 0, 3902, 0, 0, 3916,
1054 : : 3947, 3943, 3944, 3946, 3952, 0, 3947, 3954, 3941, 3956,
1055 : : 3965, 1019, 3965, 3960, 3958, 3978, 3959, 3954, 3970, 3972,
1056 : : 3963, 3964, 3964, 4004, 0, 0, 3965, 3979, 3962, 3977,
1057 : : 4010, 3979, 4001, 4008, 4017, 4001, 4016, 4003, 4020, 4019,
1058 : : 4011, 4030, 4017, 4026, 4030, 0, 4036, 4020, 4060, 4020,
1059 : : 0, 4022, 4022, 4039, 4037, 4072, 4062, 4070, 4062, 4064,
1060 : :
1061 : : 4066, 4070, 4066, 4060, 4073, 4065, 4069, 4081, 4094, 4083,
1062 : : 4075, 0, 0, 4083, 4071, 4073, 4089, 4075, 4089, 4092,
1063 : : 4091, 4122, 4138, 4125, 4123, 0, 4112, 0, 4114, 4126,
1064 : : 4135, 4122, 0, 4118, 0, 0, 1018, 4127, 4128, 4136,
1065 : : 4137, 4140, 4127, 0, 4123, 4140, 4145, 4146, 4148, 4136,
1066 : : 4135, 4153, 4148, 4153, 4157, 4159, 4185, 4178, 4173, 4183,
1067 : : 4189, 4182, 4190, 4192, 4182, 4191, 4190, 4189, 4186, 4197,
1068 : : 4202, 4193, 4204, 4192, 0, 4198, 0, 4208, 4203, 4211,
1069 : : 4204, 4227, 4219, 4223, 4242, 4229, 0, 4229, 4238, 0,
1070 : : 4237, 4233, 4248, 4246, 4249, 4249, 4238, 4243, 4249, 4247,
1071 : :
1072 : : 4264, 4262, 4262, 4252, 4257, 4252, 4301, 4253, 4277, 4292,
1073 : : 4293, 4296, 4290, 4304, 4319, 4326, 4348, 4356, 4330, 4365,
1074 : : 4369, 4373, 4391, 4380, 4396, 4413, 0, 0, 4297, 4347,
1075 : : 0, 4372, 0, 0, 4377, 4370, 4373, 4380, 4383, 4389,
1076 : : 0, 4385, 4392, 4379, 4394, 4403, 1017, 4403, 4402, 4400,
1077 : : 4415, 4402, 4397, 4414, 4416, 4407, 4409, 4409, 4433, 0,
1078 : : 0, 4413, 4427, 4418, 4433, 4441, 4437, 4448, 4460, 4451,
1079 : : 4436, 4453, 4449, 4467, 4467, 4455, 4474, 4461, 4470, 4474,
1080 : : 0, 4479, 4467, 4481, 4475, 0, 4477, 4477, 4497, 4484,
1081 : : 4511, 4498, 4506, 4499, 4503, 4505, 4509, 4505, 4499, 4512,
1082 : :
1083 : : 4509, 4513, 4525, 4531, 4528, 4517, 0, 0, 4527, 4515,
1084 : : 4518, 4534, 4524, 4545, 4548, 4545, 4557, 4568, 4563, 4560,
1085 : : 0, 4549, 0, 4551, 4567, 4574, 4562, 0, 4558, 0,
1086 : : 0, 1010, 4567, 4572, 4580, 4581, 4584, 4571, 0, 4566,
1087 : : 4583, 4588, 4589, 4590, 4578, 4581, 4599, 4600, 4605, 4608,
1088 : : 4613, 4609, 4604, 4609, 4619, 4625, 4621, 4629, 4632, 4626,
1089 : : 4635, 4634, 4633, 4631, 4639, 4644, 4636, 4647, 4634, 0,
1090 : : 4640, 0, 4655, 4655, 4663, 4655, 4667, 4654, 4664, 4681,
1091 : : 4667, 0, 4667, 4676, 0, 4676, 4672, 4687, 4686, 4694,
1092 : : 4688, 4675, 4689, 4691, 4691, 4708, 4705, 4704, 4694, 4704,
1093 : :
1094 : : 4704, 4724, 4705, 4721, 4728, 4735, 4733, 4727, 4743, 9485,
1095 : : 4732, 4733, 4728, 4749, 9485, 1040, 4750, 4745, 4744, 4749,
1096 : : 4759, 4751, 4748, 4755, 9485, 9485, 9485, 9485, 9485, 4759,
1097 : : 4775, 4758, 9485, 4765, 4780, 4774, 4783, 4777, 4785, 4780,
1098 : : 4781, 4783, 979, 4803, 4801, 4792, 4799, 4805, 4810, 4810,
1099 : : 4804, 4817, 4799, 4816, 4802, 4818, 9485, 4819, 4816, 4814,
1100 : : 9485, 9485, 9485, 4812, 4807, 4818, 4818, 4821, 4841, 4838,
1101 : : 4836, 4828, 4838, 4841, 4845, 4853, 4860, 9485, 9485, 4850,
1102 : : 4846, 4851, 4855, 9485, 4856, 4857, 4858, 4873, 4872, 9485,
1103 : : 9485, 4875, 974, 4876, 4873, 9485, 4863, 9485, 4864, 4880,
1104 : :
1105 : : 1006, 9485, 4867, 4873, 4877, 4891, 4886, 4884, 4888, 4914,
1106 : : 9485, 4895, 4913, 4913, 4902, 4920, 4904, 4920, 9485, 4912,
1107 : : 4915, 4916, 4918, 9485, 4928, 4933, 4919, 4922, 4939, 4940,
1108 : : 4933, 4938, 4941, 4935, 4956, 9485, 4953, 9485, 9485, 4941,
1109 : : 4959, 4963, 4969, 4955, 4974, 4974, 9485, 4966, 4968, 4969,
1110 : : 4969, 4982, 4981, 9485, 9485, 4979, 9485, 4988, 4989, 9485,
1111 : : 4990, 4991, 4977, 4993, 4994, 9485, 9485, 4996, 4988, 4982,
1112 : : 4995, 9485, 9485, 5003, 5003, 4992, 5002, 4996, 5017, 5013,
1113 : : 5016, 5031, 9485, 5031, 5034, 5031, 5033, 5034, 5033, 9485,
1114 : : 9485, 9485, 5043, 5041, 9485, 9485, 9485, 5065, 5081, 0,
1115 : :
1116 : : 5035, 5036, 5030, 5055, 0, 1003, 5057, 5056, 5062, 5072,
1117 : : 5082, 5074, 5071, 5078, 0, 0, 0, 0, 0, 5082,
1118 : : 5093, 5085, 0, 5092, 5097, 5090, 5100, 5094, 5099, 5085,
1119 : : 5086, 5088, 963, 5107, 5105, 5096, 5103, 5120, 5113, 5116,
1120 : : 5116, 5137, 5123, 5140, 5126, 5142, 0, 5143, 5140, 5138,
1121 : : 0, 0, 0, 5136, 5129, 5139, 5135, 5137, 5158, 5155,
1122 : : 5153, 5142, 5143, 5146, 5150, 5157, 5164, 0, 0, 5154,
1123 : : 5150, 5156, 5166, 0, 5164, 5169, 5178, 5195, 5195, 0,
1124 : : 0, 5198, 962, 5199, 5196, 0, 5186, 0, 5187, 5198,
1125 : : 993, 0, 5190, 5199, 5194, 5207, 5202, 5201, 5202, 5219,
1126 : :
1127 : : 0, 5200, 5218, 5219, 5206, 5223, 5207, 5225, 0, 5225,
1128 : : 5227, 5236, 5240, 0, 5251, 5256, 5242, 5245, 5259, 5264,
1129 : : 5257, 5265, 5262, 5252, 5272, 0, 5270, 0, 0, 5258,
1130 : : 5276, 5277, 5274, 5260, 5279, 5278, 0, 5270, 5272, 5273,
1131 : : 5274, 5293, 5289, 0, 0, 5291, 0, 5308, 5311, 0,
1132 : : 5313, 5314, 5300, 5316, 5317, 0, 0, 5304, 5312, 5309,
1133 : : 5322, 0, 0, 5328, 5328, 5313, 5321, 5315, 5322, 5318,
1134 : : 5321, 5335, 0, 5335, 5338, 5335, 5338, 5345, 5358, 0,
1135 : : 0, 0, 5351, 5361, 0, 0, 0, 5386, 5394, 5398,
1136 : : 5402, 5416, 5420, 0, 5380, 5382, 5376, 5393, 0, 985,
1137 : :
1138 : : 5395, 5401, 5399, 5404, 5414, 5406, 5404, 5411, 0, 0,
1139 : : 0, 0, 0, 5415, 5427, 5414, 0, 5427, 5433, 5426,
1140 : : 5435, 5428, 5434, 5420, 5421, 5423, 949, 5442, 5439, 5441,
1141 : : 5449, 5455, 5459, 5456, 5461, 5474, 5455, 5473, 5459, 5475,
1142 : : 0, 5476, 5473, 5471, 0, 0, 0, 5468, 5461, 5474,
1143 : : 5471, 5473, 5493, 5490, 5488, 5477, 5478, 5481, 5485, 5492,
1144 : : 5498, 0, 0, 5499, 5496, 5501, 5504, 0, 5502, 5514,
1145 : : 5515, 5529, 5530, 0, 0, 5530, 925, 5531, 5529, 0,
1146 : : 5519, 0, 5520, 5530, 960, 0, 5523, 5531, 5531, 5544,
1147 : : 5538, 5536, 5537, 5554, 0, 5535, 5553, 5569, 5542, 5569,
1148 : :
1149 : : 5554, 5570, 0, 5561, 5572, 5573, 5574, 0, 5584, 5589,
1150 : : 5575, 5578, 5593, 5596, 5590, 5595, 5597, 5588, 5608, 0,
1151 : : 5605, 0, 0, 5593, 5611, 5612, 5609, 5595, 5614, 5614,
1152 : : 0, 5616, 5619, 5620, 5620, 5633, 5637, 0, 0, 5636,
1153 : : 0, 5645, 5645, 0, 5646, 5647, 5633, 5649, 5650, 0,
1154 : : 0, 5638, 5644, 5639, 5659, 0, 0, 5664, 5663, 5648,
1155 : : 5656, 5650, 5657, 5653, 5656, 5671, 0, 5681, 5685, 5682,
1156 : : 5684, 5685, 5688, 0, 0, 0, 5701, 5699, 0, 0,
1157 : : 0, 5717, 5732, 5736, 5746, 5753, 5757, 5761, 5777, 0,
1158 : : 5697, 5714, 5709, 5750, 0, 951, 5751, 5747, 5746, 5751,
1159 : :
1160 : : 5761, 5753, 5750, 5761, 0, 0, 0, 0, 0, 5765,
1161 : : 5776, 5765, 0, 5773, 5778, 5771, 5780, 5773, 5779, 5765,
1162 : : 5766, 5771, 915, 5791, 5793, 5784, 5791, 5812, 5800, 5811,
1163 : : 5805, 5819, 5801, 5818, 5804, 5820, 0, 5821, 5822, 5820,
1164 : : 0, 0, 0, 5817, 5810, 5820, 5816, 5818, 5838, 5835,
1165 : : 5833, 5822, 5823, 5826, 5833, 5841, 5852, 0, 0, 5842,
1166 : : 5838, 5843, 5860, 0, 5857, 5858, 5860, 5875, 5874, 0,
1167 : : 0, 5877, 913, 5878, 5875, 0, 5869, 0, 5870, 5879,
1168 : : 901, 0, 5875, 5881, 5875, 5888, 5882, 5880, 5882, 5899,
1169 : : 0, 5880, 5901, 5923, 5890, 5911, 5895, 5911, 0, 5902,
1170 : :
1171 : : 5915, 5916, 5918, 0, 5929, 5934, 5920, 5923, 5942, 5947,
1172 : : 5940, 5945, 5943, 5933, 5953, 0, 5950, 0, 0, 5938,
1173 : : 5956, 5957, 5954, 5940, 5962, 5962, 0, 5958, 5960, 5961,
1174 : : 5961, 5987, 5982, 0, 0, 5980, 0, 5990, 5991, 0,
1175 : : 5992, 5993, 5979, 5995, 6000, 0, 0, 5987, 5995, 5989,
1176 : : 6003, 0, 0, 6008, 6007, 5993, 6001, 5995, 6002, 5998,
1177 : : 6004, 6019, 0, 6023, 6026, 6023, 6025, 6039, 6033, 0,
1178 : : 0, 0, 6045, 6048, 0, 0, 0, 9485, 9485, 864,
1179 : : 9485, 9485, 6051, 6037, 6051, 9485, 6053, 6044, 6040, 6061,
1180 : : 6053, 6065, 6057, 9485, 6051, 6051, 6069, 6053, 6054, 6061,
1181 : :
1182 : : 6058, 9485, 6075, 9485, 6064, 6068, 6075, 6072, 6078, 6097,
1183 : : 6106, 6095, 6099, 6109, 6095, 6102, 6110, 6111, 862, 6103,
1184 : : 6109, 6120, 6121, 9485, 6107, 6124, 6110, 6127, 9485, 9485,
1185 : : 861, 9485, 9485, 6108, 6125, 9485, 6119, 9485, 9485, 6127,
1186 : : 6133, 9485, 6120, 6145, 6142, 6146, 9485, 6126, 9485, 6135,
1187 : : 6156, 9485, 9485, 6161, 9485, 9485, 9485, 6165, 6157, 6158,
1188 : : 6172, 9485, 9485, 6173, 9485, 6173, 9485, 6171, 6161, 814,
1189 : : 6162, 6169, 9485, 6165, 9485, 6165, 6172, 6178, 9485, 6184,
1190 : : 6170, 6172, 6179, 6188, 6193, 6193, 6190, 9485, 6200, 6186,
1191 : : 6204, 6219, 9485, 6222, 6211, 6205, 9485, 6227, 6225, 6210,
1192 : :
1193 : : 6216, 6223, 6232, 9485, 6225, 6217, 6222, 6228, 9485, 6222,
1194 : : 6242, 6229, 6236, 6234, 6242, 6247, 9485, 6235, 9485, 6245,
1195 : : 6231, 6251, 9485, 9485, 9485, 6243, 6249, 6263, 6251, 6265,
1196 : : 6280, 9485, 6268, 6263, 0, 0, 780, 0, 0, 6283,
1197 : : 6269, 6283, 0, 6284, 6270, 6270, 6291, 6283, 6295, 6287,
1198 : : 0, 6281, 6281, 6299, 6283, 6284, 6291, 6288, 0, 6302,
1199 : : 0, 6290, 6292, 6300, 6302, 6308, 6313, 6322, 6325, 6331,
1200 : : 6338, 6322, 6330, 6340, 6341, 777, 6329, 6334, 6348, 6350,
1201 : : 0, 6337, 6354, 6340, 6357, 0, 0, 773, 0, 0,
1202 : : 6338, 6355, 0, 6349, 0, 0, 6357, 6360, 0, 6346,
1203 : :
1204 : : 6369, 6367, 6359, 0, 6357, 0, 6366, 6388, 0, 0,
1205 : : 6392, 0, 0, 0, 6393, 6386, 6388, 6402, 0, 0,
1206 : : 6403, 0, 6399, 0, 6397, 6391, 763, 6392, 6399, 0,
1207 : : 6395, 0, 6395, 6402, 6408, 0, 6414, 6400, 6402, 6409,
1208 : : 6418, 6420, 6419, 6414, 0, 6425, 6416, 6434, 6435, 0,
1209 : : 6438, 6441, 6434, 0, 6455, 6454, 6440, 6446, 6453, 6458,
1210 : : 0, 6451, 6447, 6452, 6458, 0, 6452, 6472, 6459, 6466,
1211 : : 6464, 6472, 6477, 0, 6465, 0, 6475, 6458, 6477, 0,
1212 : : 0, 0, 6467, 6474, 6493, 6481, 6481, 6496, 0, 6498,
1213 : : 6492, 849, 6526, 0, 0, 760, 0, 0, 6511, 6498,
1214 : :
1215 : : 6517, 0, 6522, 6508, 6504, 6525, 6517, 6529, 6521, 0,
1216 : : 6515, 6515, 6533, 6517, 6518, 6525, 6522, 0, 6539, 0,
1217 : : 6528, 6527, 6534, 6531, 6537, 6543, 6552, 6541, 6561, 6569,
1218 : : 6553, 6560, 6575, 6580, 728, 6569, 6574, 6584, 6585, 0,
1219 : : 6571, 6588, 6574, 6591, 0, 0, 727, 0, 0, 6572,
1220 : : 6589, 0, 6583, 0, 0, 6591, 6597, 0, 6584, 6604,
1221 : : 6601, 6588, 0, 6586, 0, 6597, 6604, 0, 0, 6623,
1222 : : 0, 0, 0, 6624, 6616, 6618, 6637, 0, 0, 6641,
1223 : : 0, 6637, 0, 6635, 6625, 723, 6626, 6633, 0, 6629,
1224 : : 0, 6629, 6636, 6642, 0, 6648, 6634, 6636, 6643, 6652,
1225 : :
1226 : : 6657, 6657, 6649, 0, 6659, 6645, 6663, 6665, 0, 6668,
1227 : : 6657, 6665, 0, 6686, 6684, 6670, 6681, 6691, 6696, 0,
1228 : : 6689, 6681, 6686, 6692, 0, 6686, 6706, 6693, 6700, 6698,
1229 : : 6706, 6711, 0, 6699, 0, 6709, 6695, 6715, 0, 0,
1230 : : 0, 6702, 6708, 6722, 6710, 6711, 6726, 0, 6714, 6723,
1231 : : 6766, 854, 6770, 6774, 0, 0, 703, 0, 0, 6742,
1232 : : 6728, 6743, 0, 6749, 6750, 6746, 6767, 6762, 6775, 6767,
1233 : : 0, 6761, 6761, 6779, 6764, 6765, 6772, 6769, 0, 6783,
1234 : : 0, 6771, 6770, 6777, 6774, 6780, 6785, 6794, 6783, 6813,
1235 : : 6797, 6784, 6791, 6799, 6801, 700, 6794, 6814, 6824, 6825,
1236 : :
1237 : : 0, 6814, 6833, 6820, 6837, 0, 0, 697, 0, 0,
1238 : : 6819, 6836, 0, 6830, 0, 0, 6838, 6841, 0, 6827,
1239 : : 6847, 6844, 6831, 0, 6829, 0, 6838, 6846, 0, 0,
1240 : : 6851, 0, 0, 0, 6855, 6847, 6848, 6863, 0, 0,
1241 : : 6869, 0, 6878, 0, 6877, 6867, 693, 6868, 6878, 0,
1242 : : 6875, 0, 6875, 6882, 6888, 0, 6894, 6881, 6883, 6890,
1243 : : 6899, 6901, 6900, 6892, 0, 6902, 6888, 6906, 6907, 0,
1244 : : 6910, 6899, 6893, 0, 6917, 6915, 6900, 6907, 6919, 6937,
1245 : : 0, 6931, 6923, 6928, 6937, 0, 6932, 6952, 6939, 6946,
1246 : : 6944, 6953, 6958, 0, 6946, 0, 6956, 6939, 6958, 0,
1247 : :
1248 : : 0, 0, 6945, 6951, 6965, 6953, 6953, 6968, 0, 6956,
1249 : : 6951, 6975, 9485, 6968, 9485, 6964, 9485, 9485, 6966, 6979,
1250 : : 6980, 6997, 7000, 6999, 6988, 9485, 9485, 6989, 6991, 9485,
1251 : : 7011, 7008, 6994, 9485, 7011, 7011, 7006, 7014, 7005, 7016,
1252 : : 7017, 7011, 7019, 7005, 7007, 9485, 7009, 7023, 7027, 9485,
1253 : : 9485, 9485, 7029, 9485, 7015, 7014, 7029, 7030, 9485, 9485,
1254 : : 9485, 9485, 7054, 7042, 7056, 7061, 7065, 7061, 9485, 9485,
1255 : : 9485, 7068, 7069, 7059, 7060, 9485, 7071, 9485, 7063, 9485,
1256 : : 9485, 9485, 7067, 7057, 7063, 7070, 7071, 7056, 7077, 7062,
1257 : : 9485, 7066, 7066, 7072, 9485, 7083, 7072, 7090, 7093, 7083,
1258 : :
1259 : : 9485, 9485, 9485, 7088, 7102, 7094, 7114, 690, 7111, 686,
1260 : : 7123, 7114, 7113, 7114, 7128, 7112, 7112, 7129, 9485, 7120,
1261 : : 9485, 9485, 7134, 7118, 7130, 7122, 7126, 9485, 7120, 7140,
1262 : : 0, 7133, 0, 7129, 0, 0, 7130, 7139, 7130, 7146,
1263 : : 7149, 7149, 7140, 0, 0, 7153, 7156, 0, 7176, 7173,
1264 : : 7162, 0, 7179, 7179, 7174, 7182, 7173, 7185, 7186, 7180,
1265 : : 7188, 7174, 7176, 0, 7178, 7192, 7195, 0, 0, 0,
1266 : : 7194, 0, 7180, 7179, 7193, 7190, 0, 0, 0, 0,
1267 : : 7204, 7191, 7205, 7211, 7217, 7225, 0, 0, 0, 7233,
1268 : : 7234, 7224, 7228, 0, 7239, 0, 7231, 0, 0, 0,
1269 : :
1270 : : 7235, 7225, 7231, 7239, 7240, 7225, 7246, 7231, 0, 7235,
1271 : : 7235, 7241, 0, 7251, 7237, 7255, 7258, 7247, 0, 0,
1272 : : 0, 7248, 7252, 7243, 7263, 676, 7261, 645, 7275, 7278,
1273 : : 7278, 7279, 7293, 7280, 7280, 7297, 0, 7288, 0, 0,
1274 : : 7302, 7286, 7299, 7291, 7295, 0, 7289, 7318, 7313, 0,
1275 : : 7306, 0, 7302, 0, 0, 7303, 7311, 7300, 7319, 7322,
1276 : : 7321, 7308, 0, 0, 7313, 7319, 0, 7339, 7336, 7322,
1277 : : 0, 7343, 7344, 7339, 7347, 7341, 7353, 7354, 7348, 7356,
1278 : : 7342, 7345, 0, 7347, 7361, 7364, 0, 0, 0, 7367,
1279 : : 0, 7353, 7352, 7366, 7362, 0, 0, 0, 0, 7374,
1280 : :
1281 : : 7364, 7378, 7383, 7385, 7385, 0, 0, 0, 7396, 7397,
1282 : : 7387, 7388, 0, 7403, 0, 7396, 0, 0, 0, 7400,
1283 : : 7390, 7399, 7407, 7408, 7393, 7414, 7399, 0, 7404, 7404,
1284 : : 7410, 0, 7420, 7410, 7428, 7431, 7420, 0, 0, 0,
1285 : : 7420, 7422, 7416, 7436, 641, 7433, 640, 7443, 7438, 7441,
1286 : : 7442, 7456, 7440, 7444, 7462, 0, 7453, 0, 0, 7467,
1287 : : 7454, 7467, 7459, 7463, 0, 7457, 7488, 7496, 7515, 7491,
1288 : : 0, 7485, 0, 7484, 0, 0, 7485, 7493, 7482, 7506,
1289 : : 7509, 7508, 7494, 0, 0, 7494, 7496, 0, 7516, 7513,
1290 : : 7499, 0, 7515, 7516, 7512, 7520, 7511, 7525, 7527, 7521,
1291 : :
1292 : : 7529, 7515, 7517, 0, 7519, 7533, 7536, 0, 0, 0,
1293 : : 7545, 0, 7532, 7534, 7548, 7544, 0, 0, 0, 0,
1294 : : 7556, 7551, 7565, 7570, 7571, 7566, 0, 0, 0, 7573,
1295 : : 7574, 7564, 7565, 0, 7575, 0, 7568, 0, 0, 0,
1296 : : 7573, 7563, 7569, 7579, 7581, 7566, 7587, 7572, 0, 7576,
1297 : : 7576, 7582, 0, 7592, 7588, 7607, 7613, 7602, 0, 0,
1298 : : 0, 7602, 7604, 7603, 7623, 637, 7620, 636, 7629, 7619,
1299 : : 7618, 7619, 7633, 7617, 7616, 7634, 0, 7626, 0, 0,
1300 : : 7640, 7624, 7639, 7632, 7636, 0, 7630, 7644, 7626, 9485,
1301 : : 7646, 9485, 7649, 7641, 7661, 9485, 9485, 7663, 9485, 7658,
1302 : :
1303 : : 9485, 590, 9485, 7667, 7653, 9485, 7662, 7680, 7685, 9485,
1304 : : 9485, 9485, 9485, 7686, 7674, 7669, 9485, 9485, 7689, 7677,
1305 : : 9485, 9485, 9485, 7689, 7681, 7682, 9485, 7683, 7686, 9485,
1306 : : 7678, 9485, 7695, 7689, 7698, 7692, 7694, 7694, 9485, 7703,
1307 : : 7693, 9485, 9485, 7709, 9485, 9485, 7702, 7717, 7728, 589,
1308 : : 7711, 9485, 7718, 7727, 7720, 7723, 7732, 7726, 7743, 7742,
1309 : : 7730, 9485, 7746, 7747, 9485, 7736, 9485, 9485, 9485, 7739,
1310 : : 9485, 7749, 7731, 0, 7751, 0, 7757, 7750, 7760, 0,
1311 : : 0, 7761, 0, 7753, 0, 586, 0, 7762, 7748, 0,
1312 : : 7756, 7766, 7781, 0, 0, 0, 0, 7787, 7775, 7770,
1313 : :
1314 : : 0, 0, 7791, 7787, 0, 0, 0, 7799, 7791, 7792,
1315 : : 0, 7792, 7794, 0, 7786, 0, 7803, 7794, 7801, 7798,
1316 : : 7799, 7799, 0, 7808, 7798, 0, 0, 7817, 0, 0,
1317 : : 7811, 7816, 7822, 540, 7805, 0, 7812, 7831, 7813, 7807,
1318 : : 7827, 7825, 7843, 7851, 7839, 0, 7855, 7856, 0, 7844,
1319 : : 0, 0, 0, 7847, 0, 7872, 7861, 7844, 0, 7864,
1320 : : 0, 7867, 7859, 7869, 0, 0, 7873, 0, 7866, 0,
1321 : : 526, 0, 7875, 7861, 0, 7869, 7879, 7884, 0, 0,
1322 : : 0, 0, 7885, 7879, 7874, 0, 0, 7894, 7882, 0,
1323 : : 0, 0, 7895, 7892, 7893, 0, 7893, 7896, 0, 7895,
1324 : :
1325 : : 0, 7912, 7903, 7910, 7906, 7907, 7911, 0, 7921, 7911,
1326 : : 0, 0, 7927, 0, 0, 7920, 7925, 7934, 502, 7919,
1327 : : 0, 7926, 7925, 7928, 7922, 7938, 7931, 7948, 7947, 7936,
1328 : : 0, 7957, 7958, 0, 7946, 0, 0, 0, 7950, 0,
1329 : : 7982, 7994, 7960, 7952, 0, 7972, 0, 7979, 7976, 7989,
1330 : : 0, 0, 7992, 0, 7984, 0, 480, 0, 7993, 7979,
1331 : : 0, 7987, 7997, 8002, 0, 0, 0, 0, 8003, 7991,
1332 : : 7986, 0, 0, 8008, 7996, 0, 0, 0, 8008, 8000,
1333 : : 8002, 0, 8002, 8004, 0, 7996, 0, 8013, 8005, 8027,
1334 : : 8007, 8008, 8009, 0, 8018, 8019, 0, 0, 8039, 0,
1335 : :
1336 : : 0, 8037, 8045, 8054, 477, 8037, 0, 8044, 8043, 8046,
1337 : : 8040, 8050, 8043, 8062, 8061, 8049, 0, 8065, 8067, 0,
1338 : : 8055, 0, 0, 0, 8058, 0, 8068, 8075, 8058, 8061,
1339 : : 8073, 9485, 9485, 8071, 8109, 9485, 8089, 8075, 8095, 8092,
1340 : : 8100, 8112, 9485, 8104, 8110, 8098, 9485, 8098, 8115, 9485,
1341 : : 8116, 8108, 8112, 8119, 8114, 9485, 8126, 8120, 8131, 8132,
1342 : : 8159, 9485, 8129, 8135, 8131, 9485, 8133, 8155, 8170, 8165,
1343 : : 8154, 8158, 8170, 476, 9485, 8171, 9485, 8173, 8153, 9485,
1344 : : 8172, 8179, 8163, 8166, 8178, 0, 0, 8175, 8213, 0,
1345 : : 8184, 8170, 8180, 8174, 8180, 8192, 0, 8184, 8191, 8190,
1346 : :
1347 : : 0, 8190, 8217, 0, 8221, 8214, 8216, 8223, 8218, 0,
1348 : : 8230, 8224, 8236, 8237, 8238, 0, 8235, 8243, 8228, 0,
1349 : : 8230, 8237, 8252, 8247, 8237, 8252, 8264, 472, 0, 8269,
1350 : : 0, 8271, 8255, 0, 8277, 8285, 8267, 8270, 8282, 0,
1351 : : 0, 8279, 8317, 0, 8288, 8274, 8284, 8278, 8285, 8297,
1352 : : 0, 8289, 8295, 8285, 0, 8289, 8306, 0, 8307, 8300,
1353 : : 8312, 8315, 8314, 0, 8335, 8330, 8340, 8341, 8342, 0,
1354 : : 8339, 8347, 8332, 0, 8334, 8342, 8357, 8352, 8341, 8347,
1355 : : 8363, 445, 0, 8364, 0, 8366, 8347, 0, 8371, 8378,
1356 : : 8364, 8367, 8383, 0, 0, 8380, 8418, 0, 8389, 8375,
1357 : :
1358 : : 8385, 8382, 8388, 8400, 0, 8392, 8399, 8391, 0, 8391,
1359 : : 8410, 0, 8411, 8403, 8404, 8414, 8409, 0, 8421, 8416,
1360 : : 8437, 8438, 8443, 0, 8440, 8448, 8433, 0, 8438, 8445,
1361 : : 8460, 8455, 8445, 8453, 8465, 442, 0, 8468, 0, 8470,
1362 : : 8450, 0, 9485, 8456, 8471, 428, 8460, 9485, 8483, 8487,
1363 : : 8484, 8471, 8491, 8486, 8477, 9485, 8489, 9485, 9485, 8489,
1364 : : 8496, 8485, 9485, 8498, 8505, 9485, 9485, 8504, 9485, 8507,
1365 : : 8515, 9485, 9485, 8499, 9485, 8500, 8506, 8519, 8509, 8509,
1366 : : 9485, 8515, 8519, 9485, 8528, 8533, 9485, 8530, 9485, 9485,
1367 : : 9485, 0, 8522, 8536, 425, 8526, 0, 8549, 8553, 8551,
1368 : :
1369 : : 8538, 8552, 8550, 8545, 0, 8557, 0, 0, 8557, 8564,
1370 : : 8549, 0, 8565, 8571, 0, 0, 8570, 0, 8573, 8579,
1371 : : 0, 0, 8566, 0, 8567, 8575, 8587, 8573, 8573, 0,
1372 : : 8579, 8583, 0, 8595, 8600, 0, 8600, 0, 0, 0,
1373 : : 0, 8582, 8602, 395, 8591, 0, 8611, 8621, 8615, 8602,
1374 : : 8620, 8618, 8609, 0, 8624, 0, 0, 8623, 8630, 8615,
1375 : : 0, 8629, 8638, 0, 0, 8637, 0, 8642, 8647, 0,
1376 : : 0, 8630, 0, 8631, 8639, 8651, 8640, 8640, 0, 8644,
1377 : : 8649, 0, 8661, 8667, 0, 8661, 0, 0, 0, 0,
1378 : : 8650, 8667, 390, 8660, 0, 8680, 8685, 8683, 8670, 8689,
1379 : :
1380 : : 8684, 8675, 0, 8688, 0, 0, 8690, 8697, 8684, 0,
1381 : : 8697, 8702, 0, 0, 8701, 0, 8706, 8711, 0, 0,
1382 : : 8697, 0, 8698, 8704, 8717, 8706, 8707, 0, 8711, 8715,
1383 : : 0, 8724, 8738, 0, 8725, 0, 0, 0, 8723, 9485,
1384 : : 8735, 8724, 8728, 8744, 8731, 8740, 8746, 8746, 8755, 9485,
1385 : : 9485, 9485, 8758, 8749, 9485, 8745, 383, 8752, 9485, 9485,
1386 : : 8762, 9485, 9485, 8765, 9485, 8758, 8757, 8772, 8769, 8767,
1387 : : 8775, 8776, 0, 8778, 8767, 8770, 8785, 8776, 8785, 8792,
1388 : : 8788, 8797, 0, 0, 0, 8801, 8793, 0, 8789, 377,
1389 : : 8796, 0, 0, 8805, 0, 0, 8812, 0, 8802, 8803,
1390 : :
1391 : : 8818, 8814, 8809, 8818, 8819, 0, 8824, 8813, 8814, 8830,
1392 : : 8820, 8830, 8835, 8831, 8840, 0, 0, 0, 8843, 8834,
1393 : : 0, 8834, 368, 8841, 0, 0, 8851, 0, 0, 8854,
1394 : : 0, 8844, 8846, 8862, 8858, 8853, 8861, 8866, 0, 8868,
1395 : : 8859, 8860, 8875, 8862, 8873, 8878, 8877, 8886, 0, 0,
1396 : : 0, 8887, 8879, 0, 8878, 365, 8886, 0, 0, 8894,
1397 : : 0, 0, 8897, 0, 8887, 8888, 8903, 8903, 8898, 8907,
1398 : : 8902, 9485, 8917, 8917, 8923, 8917, 8921, 8923, 8928, 8916,
1399 : : 9485, 8923, 8930, 8936, 8932, 9485, 8926, 9485, 9485, 8944,
1400 : : 8943, 8929, 8938, 8941, 0, 8957, 8954, 8959, 8953, 8959,
1401 : :
1402 : : 8960, 8965, 8953, 0, 8960, 8967, 8979, 8965, 0, 8962,
1403 : : 0, 0, 8980, 8980, 8970, 8978, 8980, 0, 8995, 8992,
1404 : : 8997, 8993, 8997, 9001, 9002, 8990, 0, 8996, 9006, 9013,
1405 : : 9007, 0, 9001, 0, 0, 9018, 9017, 9007, 9015, 9017,
1406 : : 0, 9032, 9029, 9037, 9032, 9036, 9037, 9039, 9031, 0,
1407 : : 9036, 9045, 9051, 9045, 0, 9041, 0, 0, 9056, 9058,
1408 : : 9044, 9052, 9054, 9060, 9485, 9053, 9485, 9485, 9062, 9057,
1409 : : 9485, 9485, 9485, 9062, 9071, 9485, 9485, 9485, 9075, 9068,
1410 : : 9066, 9076, 9079, 0, 9071, 0, 0, 9083, 9079, 0,
1411 : : 0, 0, 9084, 9091, 0, 0, 0, 9096, 9089, 9087,
1412 : :
1413 : : 9097, 9100, 0, 9092, 0, 0, 9101, 9098, 0, 0,
1414 : : 0, 9103, 9113, 0, 0, 0, 9117, 9106, 9105, 9116,
1415 : : 9120, 0, 9112, 0, 0, 9121, 9116, 0, 0, 0,
1416 : : 9123, 9130, 0, 0, 0, 9138, 9127, 9127, 9485, 9134,
1417 : : 9138, 9153, 9136, 9143, 9139, 9485, 9485, 9140, 0, 9150,
1418 : : 9154, 9168, 9150, 9157, 9153, 0, 0, 9155, 0, 9161,
1419 : : 9168, 9180, 9162, 9170, 9169, 0, 0, 9170, 0, 9176,
1420 : : 9180, 9192, 9176, 9183, 9183, 0, 0, 9183, 9199, 9187,
1421 : : 9485, 9207, 9192, 9211, 9210, 9209, 9198, 0, 9222, 9204,
1422 : : 9224, 9223, 9222, 9210, 0, 9232, 9214, 9235, 9234, 9233,
1423 : :
1424 : : 9222, 0, 9245, 9228, 9246, 9245, 9485, 327, 9238, 9485,
1425 : : 9485, 9485, 0, 321, 9241, 0, 0, 0, 0, 311,
1426 : : 9242, 0, 0, 0, 0, 308, 9247, 0, 0, 0,
1427 : : 9241, 9248, 9245, 9250, 9250, 9256, 9253, 9258, 9258, 9485,
1428 : : 9263, 0, 9264, 0, 9267, 0, 9285, 9286, 9287, 9290,
1429 : : 9278, 9282, 9283, 9284, 9281, 9285, 9287, 9288, 9302, 9303,
1430 : : 9306, 9307, 9303, 9304, 9307, 9308, 9306, 9310, 9312, 9313,
1431 : : 9319, 9321, 9326, 9327, 214, 207, 200, 193, 9336, 9337,
1432 : : 9338, 9339, 9331, 9332, 9336, 9337, 9341, 9343, 9347, 9349,
1433 : : 9344, 9345, 9346, 9349, 9355, 9360, 9361, 9364, 9485, 0,
1434 : :
1435 : : 0, 0, 9485, 9428, 9433, 9436, 9444, 9452, 9460, 9468,
1436 : : 9476
1437 : : } ;
1438 : :
1439 : : static yyconst flex_int16_t yy_def[4512] =
1440 : : { 0,
1441 : : 4503, 1, 4503, 3, 4503, 5, 5, 5, 5, 5,
1442 : : 4503, 11, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1443 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1444 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1445 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1446 : : 4503, 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1447 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1448 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4503, 4503,
1449 : : 4503, 4505, 4505, 4505, 4506, 4506, 4506, 4506, 4506, 4506,
1450 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1451 : :
1452 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1453 : : 4505, 4505, 4507, 4508, 4508, 4508, 4508, 4503, 4508, 4508,
1454 : : 4503, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1455 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1456 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4503,
1457 : : 4508, 4503, 4503, 4509, 4503, 4503, 4503, 4503, 4503, 4503,
1458 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1459 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1460 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1461 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1462 : :
1463 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1464 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1465 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1466 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1467 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1468 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1469 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1470 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4504,
1471 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1472 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1473 : :
1474 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1475 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1476 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1477 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1478 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1479 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1480 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1481 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1482 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1483 : : 4504, 4504, 4504, 4504, 4504, 4504, 4505, 4505, 4505, 4505,
1484 : :
1485 : : 4505, 4505, 4505, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1486 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1487 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1488 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1489 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1490 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1491 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1492 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1493 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1494 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1495 : :
1496 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1497 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1498 : : 4505, 4505, 4505, 4505, 4505, 4505, 4507, 4507, 4508, 4508,
1499 : : 4508, 4510, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1500 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1501 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1502 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1503 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1504 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1505 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1506 : :
1507 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1508 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1509 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1510 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1511 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1512 : : 4508, 4508, 4509, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1513 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1514 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1515 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1516 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1517 : :
1518 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1519 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1520 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1521 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1522 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1523 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1524 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1525 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1526 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1527 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1528 : :
1529 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1530 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1531 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1532 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1533 : : 4503, 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1534 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1535 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1536 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1537 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1538 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1539 : :
1540 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1541 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1542 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1543 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1544 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1545 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1546 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1547 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1548 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1549 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1550 : :
1551 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1552 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1553 : : 4504, 4504, 4504, 4504, 4503, 4505, 4505, 4505, 4505, 4505,
1554 : : 4503, 4505, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1555 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1556 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1557 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1558 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1559 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1560 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1561 : :
1562 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1563 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1564 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1565 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1566 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1567 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1568 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1569 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1570 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1571 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1572 : :
1573 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1574 : : 4506, 4506, 4506, 4506, 4503, 4505, 4505, 4505, 4505, 4505,
1575 : : 4503, 4505, 4507, 4503, 4507, 4510, 4508, 4508, 4508, 4508,
1576 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1577 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1578 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1579 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1580 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1581 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1582 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1583 : :
1584 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1585 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1586 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1587 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1588 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1589 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1590 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1591 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1592 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1593 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1594 : :
1595 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4503,
1596 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1597 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1598 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1599 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1600 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1601 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1602 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1603 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1604 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1605 : :
1606 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1607 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1608 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1609 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1610 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1611 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1612 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1613 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1614 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1615 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4504,
1616 : :
1617 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1618 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1619 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1620 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1621 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1622 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1623 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1624 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1625 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1626 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1627 : :
1628 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1629 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1630 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1631 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1632 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1633 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1634 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1635 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1636 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4503, 4505, 4503,
1637 : : 4505, 4505, 4503, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1638 : :
1639 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1640 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1641 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1642 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1643 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1644 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1645 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1646 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1647 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1648 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1649 : :
1650 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1651 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1652 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1653 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1654 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1655 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1656 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1657 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1658 : : 4506, 4503, 4503, 4505, 4505, 4505, 4503, 4511, 4507, 4508,
1659 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1660 : :
1661 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1662 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1663 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1664 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1665 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1666 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1667 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1668 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1669 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1670 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1671 : :
1672 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1673 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1674 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1675 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1676 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1677 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1678 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1679 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4503, 4503, 4503,
1680 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1681 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1682 : :
1683 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1684 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1685 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1686 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1687 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1688 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1689 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1690 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1691 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1692 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1693 : :
1694 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1695 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1696 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1697 : : 4503, 4503, 4503, 4503, 4504, 4504, 4504, 4504, 4504, 4504,
1698 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1699 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1700 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1701 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1702 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1703 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1704 : :
1705 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1706 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1707 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1708 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1709 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1710 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1711 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1712 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1713 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1714 : : 4504, 4505, 4503, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1715 : :
1716 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1717 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1718 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1719 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1720 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1721 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1722 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1723 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1724 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1725 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1726 : :
1727 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1728 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1729 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1730 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1731 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1732 : : 4503, 4505, 4511, 4511, 4508, 4508, 4508, 4508, 4508, 4508,
1733 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1734 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1735 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1736 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1737 : :
1738 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1739 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1740 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1741 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1742 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1743 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1744 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1745 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1746 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1747 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1748 : :
1749 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1750 : : 4508, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1751 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1752 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1753 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1754 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1755 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1756 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1757 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1758 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1759 : :
1760 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1761 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1762 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4504,
1763 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1764 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1765 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1766 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1767 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1768 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1769 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1770 : :
1771 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1772 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1773 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1774 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1775 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4505, 4506, 4506,
1776 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1777 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1778 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1779 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1780 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1781 : :
1782 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1783 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1784 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1785 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1786 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1787 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1788 : : 4506, 4506, 4506, 4506, 4506, 4506, 4505, 4511, 4511, 4508,
1789 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1790 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1791 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1792 : :
1793 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1794 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1795 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1796 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1797 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1798 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1799 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1800 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1801 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4503, 4503, 4503,
1802 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1803 : :
1804 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1805 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1806 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1807 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1808 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1809 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1810 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1811 : : 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1812 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1813 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1814 : :
1815 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1816 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1817 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1818 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1819 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1820 : : 4504, 4504, 4504, 4504, 4504, 4505, 4506, 4506, 4506, 4506,
1821 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1822 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1823 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1824 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1825 : :
1826 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1827 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1828 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1829 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1830 : : 4505, 4511, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1831 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1832 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1833 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1834 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1835 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1836 : :
1837 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1838 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1839 : : 4508, 4508, 4508, 4508, 4508, 4508, 4503, 4503, 4503, 4503,
1840 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1841 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1842 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1843 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1844 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1845 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1846 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1847 : :
1848 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1849 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1850 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1851 : : 4504, 4504, 4504, 4504, 4506, 4506, 4506, 4506, 4506, 4506,
1852 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1853 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1854 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1855 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1856 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4508, 4508,
1857 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1858 : :
1859 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1860 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1861 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1862 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1863 : : 4508, 4508, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1864 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1865 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1866 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1867 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1868 : : 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1869 : :
1870 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1871 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1872 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1873 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1874 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1875 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1876 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1877 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1878 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4508,
1879 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1880 : :
1881 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1882 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1883 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1884 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4503, 4503,
1885 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1886 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1887 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1888 : : 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1889 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1890 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1891 : :
1892 : : 4504, 4504, 4504, 4504, 4506, 4506, 4506, 4506, 4506, 4506,
1893 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1894 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1895 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4508, 4508, 4508,
1896 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1897 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1898 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1899 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1900 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1901 : : 4503, 4503, 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1902 : :
1903 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1904 : : 4504, 4504, 4504, 4504, 4504, 4504, 4506, 4506, 4506, 4506,
1905 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1906 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4508,
1907 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1908 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1909 : : 4508, 4508, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1910 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1911 : : 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1912 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504,
1913 : :
1914 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506,
1915 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4508,
1916 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508,
1917 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4503, 4503,
1918 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4504, 4504,
1919 : : 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4504, 4506, 4506,
1920 : : 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4508, 4508,
1921 : : 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4508, 4503, 4503,
1922 : : 4503, 4503, 4503, 4503, 4503, 4504, 4504, 4504, 4504, 4504,
1923 : : 4504, 4504, 4506, 4506, 4506, 4506, 4506, 4506, 4506, 4508,
1924 : :
1925 : : 4508, 4508, 4508, 4508, 4508, 4508, 4503, 4503, 4503, 4503,
1926 : : 4503, 4503, 4504, 4504, 4504, 4504, 4504, 4504, 4506, 4506,
1927 : : 4506, 4506, 4506, 4506, 4508, 4508, 4508, 4508, 4508, 4508,
1928 : : 4503, 4503, 4504, 4504, 4506, 4506, 4508, 4508, 4503, 4503,
1929 : : 4504, 4504, 4506, 4506, 4508, 4508, 4503, 4504, 4506, 4508,
1930 : : 4503, 4504, 4506, 4508, 4503, 4504, 4506, 4508, 4503, 4504,
1931 : : 4506, 4508, 4503, 4504, 4506, 4508, 4503, 4504, 4506, 4508,
1932 : : 4503, 4504, 4506, 4508, 4503, 4504, 4506, 4508, 4503, 4504,
1933 : : 4506, 4508, 4503, 4504, 4506, 4508, 4503, 4504, 4506, 4508,
1934 : : 4503, 4504, 4506, 4508, 4503, 4504, 4506, 4508, 4503, 4504,
1935 : :
1936 : : 4506, 4508, 0, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
1937 : : 4503
1938 : : } ;
1939 : :
1940 : : static yyconst flex_int16_t yy_nxt[9567] =
1941 : : { 0,
1942 : : 14, 15, 16, 15, 17, 14, 14, 14, 18, 19,
1943 : : 19, 19, 19, 20, 19, 14, 14, 14, 14, 19,
1944 : : 21, 22, 23, 19, 24, 25, 26, 27, 28, 29,
1945 : : 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1946 : : 40, 41, 42, 43, 44, 45, 46, 14, 47, 48,
1947 : : 14, 14, 14, 24, 25, 26, 27, 28, 29, 30,
1948 : : 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1949 : : 41, 42, 43, 44, 45, 46, 14, 47, 48, 49,
1950 : : 14, 14, 15, 16, 15, 17, 50, 14, 14, 18,
1951 : : 19, 19, 19, 19, 20, 51, 52, 52, 52, 52,
1952 : :
1953 : : 19, 21, 22, 23, 19, 53, 54, 55, 56, 57,
1954 : : 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1955 : : 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1956 : : 78, 79, 14, 80, 53, 54, 55, 56, 57, 58,
1957 : : 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1958 : : 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1959 : : 49, 76, 14, 15, 16, 15, 17, 14, 81, 14,
1960 : : 18, 19, 19, 19, 82, 20, 83, 84, 84, 84,
1961 : : 84, 19, 21, 22, 23, 19, 85, 86, 87, 88,
1962 : : 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1963 : :
1964 : : 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1965 : : 109, 110, 79, 14, 14, 85, 86, 87, 88, 89,
1966 : : 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1967 : : 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1968 : : 110, 49, 108, 111, 4482, 82, 112, 112, 112, 112,
1969 : : 111, 4481, 82, 112, 112, 112, 112, 19, 4480, 19,
1970 : : 113, 113, 113, 113, 19, 4479, 19, 113, 113, 113,
1971 : : 113, 114, 115, 116, 15, 117, 118, 114, 114, 18,
1972 : : 119, 119, 119, 119, 120, 119, 114, 114, 114, 114,
1973 : : 121, 122, 123, 124, 121, 125, 126, 127, 128, 129,
1974 : :
1975 : : 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1976 : : 140, 141, 142, 143, 144, 145, 146, 147, 114, 148,
1977 : : 149, 150, 114, 114, 125, 126, 127, 128, 129, 130,
1978 : : 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1979 : : 141, 142, 143, 144, 145, 146, 147, 114, 148, 149,
1980 : : 151, 114, 152, 199, 152, 155, 156, 158, 159, 4437,
1981 : : 205, 160, 4435, 206, 240, 200, 272, 161, 273, 162,
1982 : : 322, 328, 4433, 163, 164, 165, 166, 167, 4431, 201,
1983 : : 329, 168, 199, 363, 395, 169, 158, 159, 170, 205,
1984 : : 160, 171, 206, 240, 200, 272, 161, 273, 162, 322,
1985 : :
1986 : : 328, 172, 163, 164, 165, 166, 167, 180, 201, 329,
1987 : : 168, 181, 363, 395, 169, 182, 4253, 170, 266, 4230,
1988 : : 171, 183, 533, 534, 184, 202, 267, 530, 4207, 152,
1989 : : 172, 173, 203, 396, 4184, 174, 180, 204, 175, 446,
1990 : : 181, 2670, 176, 452, 182, 177, 2509, 266, 178, 453,
1991 : : 183, 179, 185, 184, 202, 267, 275, 275, 275, 275,
1992 : : 173, 203, 396, 186, 174, 187, 204, 175, 446, 276,
1993 : : 188, 176, 452, 189, 177, 190, 2350, 178, 453, 2193,
1994 : : 179, 185, 152, 214, 152, 487, 277, 278, 278, 278,
1995 : : 278, 215, 186, 4035, 187, 262, 3986, 216, 276, 188,
1996 : :
1997 : : 279, 323, 189, 447, 190, 191, 263, 519, 264, 192,
1998 : : 520, 265, 214, 193, 487, 324, 194, 448, 195, 196,
1999 : : 215, 577, 197, 3937, 262, 198, 216, 3888, 3827, 279,
2000 : : 323, 3797, 447, 583, 191, 263, 519, 264, 192, 520,
2001 : : 265, 530, 193, 152, 324, 194, 448, 195, 196, 584,
2002 : : 577, 197, 578, 3773, 198, 207, 217, 208, 218, 209,
2003 : : 219, 618, 583, 210, 650, 256, 579, 651, 211, 212,
2004 : : 220, 655, 257, 258, 213, 221, 222, 3743, 584, 259,
2005 : : 656, 578, 260, 261, 207, 217, 208, 218, 209, 219,
2006 : : 618, 3719, 210, 650, 256, 579, 651, 211, 212, 220,
2007 : :
2008 : : 655, 257, 258, 213, 221, 222, 223, 224, 259, 656,
2009 : : 225, 260, 261, 234, 226, 241, 227, 235, 228, 242,
2010 : : 229, 236, 230, 243, 231, 232, 233, 237, 268, 244,
2011 : : 238, 269, 270, 239, 245, 223, 224, 3689, 271, 225,
2012 : : 3665, 3635, 234, 226, 241, 227, 235, 228, 242, 229,
2013 : : 236, 230, 243, 231, 232, 233, 237, 268, 244, 238,
2014 : : 269, 270, 239, 245, 246, 291, 247, 271, 657, 292,
2015 : : 248, 389, 293, 662, 249, 294, 250, 251, 252, 390,
2016 : : 391, 253, 254, 392, 393, 295, 255, 3611, 3609, 667,
2017 : : 394, 3525, 3523, 246, 291, 247, 3440, 657, 292, 248,
2018 : :
2019 : : 389, 293, 662, 249, 294, 250, 251, 252, 390, 391,
2020 : : 253, 254, 392, 393, 295, 255, 281, 282, 667, 394,
2021 : : 283, 513, 528, 528, 528, 528, 284, 3438, 285, 514,
2022 : : 644, 660, 286, 287, 288, 289, 290, 3356, 645, 303,
2023 : : 668, 3354, 675, 304, 3237, 281, 282, 305, 3214, 283,
2024 : : 513, 3205, 661, 306, 3170, 284, 307, 285, 514, 644,
2025 : : 660, 286, 287, 288, 289, 290, 296, 645, 303, 668,
2026 : : 297, 675, 304, 298, 3116, 676, 305, 299, 3093, 3084,
2027 : : 300, 661, 306, 301, 325, 307, 302, 308, 663, 337,
2028 : : 679, 326, 682, 461, 664, 296, 327, 338, 309, 297,
2029 : :
2030 : : 310, 462, 298, 339, 676, 311, 299, 463, 312, 300,
2031 : : 313, 3049, 301, 325, 2997, 302, 308, 663, 337, 679,
2032 : : 326, 682, 461, 664, 2974, 327, 338, 309, 2965, 310,
2033 : : 462, 2930, 339, 592, 311, 658, 463, 312, 357, 313,
2034 : : 314, 593, 358, 659, 315, 665, 359, 594, 316, 677,
2035 : : 704, 317, 360, 318, 319, 361, 678, 320, 362, 666,
2036 : : 321, 400, 592, 3048, 658, 2879, 3167, 357, 524, 314,
2037 : : 593, 358, 659, 315, 665, 359, 594, 316, 677, 704,
2038 : : 317, 360, 318, 319, 361, 678, 320, 362, 666, 321,
2039 : : 330, 340, 331, 341, 332, 342, 690, 680, 333, 705,
2040 : :
2041 : : 379, 681, 706, 334, 335, 343, 691, 380, 381, 336,
2042 : : 344, 345, 2856, 2847, 382, 2812, 2732, 383, 384, 330,
2043 : : 340, 331, 341, 332, 342, 690, 680, 333, 705, 379,
2044 : : 681, 706, 334, 335, 343, 691, 380, 381, 336, 344,
2045 : : 345, 346, 347, 382, 364, 348, 383, 384, 365, 349,
2046 : : 707, 350, 366, 351, 708, 352, 385, 353, 367, 354,
2047 : : 355, 356, 709, 368, 2725, 710, 2682, 386, 2659, 387,
2048 : : 346, 347, 388, 364, 348, 2571, 2564, 365, 349, 707,
2049 : : 350, 366, 351, 708, 352, 385, 353, 367, 354, 355,
2050 : : 356, 709, 368, 369, 710, 370, 386, 449, 387, 371,
2051 : :
2052 : : 2521, 388, 2498, 372, 450, 373, 374, 375, 2412, 451,
2053 : : 376, 377, 715, 2405, 2362, 378, 398, 398, 398, 398,
2054 : : 2339, 2255, 369, 488, 370, 2248, 449, 489, 371, 399,
2055 : : 2205, 490, 372, 450, 373, 374, 375, 491, 451, 376,
2056 : : 377, 715, 492, 400, 378, 401, 402, 402, 402, 402,
2057 : : 692, 716, 488, 669, 670, 693, 489, 2182, 399, 403,
2058 : : 490, 2092, 521, 521, 521, 521, 491, 671, 2004, 1896,
2059 : : 1808, 492, 1702, 717, 432, 522, 1614, 1512, 1424, 692,
2060 : : 716, 694, 669, 670, 693, 433, 695, 434, 403, 405,
2061 : : 406, 654, 435, 407, 654, 436, 671, 437, 702, 408,
2062 : :
2063 : : 718, 409, 717, 432, 522, 410, 411, 412, 413, 414,
2064 : : 694, 703, 722, 415, 433, 695, 434, 416, 405, 406,
2065 : : 417, 435, 407, 418, 436, 727, 437, 702, 408, 718,
2066 : : 409, 652, 535, 419, 410, 411, 412, 413, 414, 427,
2067 : : 703, 722, 415, 428, 509, 532, 416, 429, 531, 417,
2068 : : 725, 274, 418, 430, 727, 510, 431, 511, 728, 580,
2069 : : 512, 481, 419, 420, 726, 482, 581, 421, 427, 483,
2070 : : 422, 582, 428, 509, 423, 484, 429, 424, 485, 725,
2071 : : 425, 486, 430, 426, 510, 431, 511, 728, 580, 512,
2072 : : 481, 157, 420, 726, 482, 581, 421, 154, 483, 422,
2073 : :
2074 : : 582, 153, 729, 423, 484, 733, 424, 485, 734, 425,
2075 : : 486, 503, 426, 438, 719, 4503, 4503, 439, 504, 505,
2076 : : 720, 440, 4503, 721, 441, 506, 442, 443, 507, 508,
2077 : : 444, 729, 738, 445, 733, 4503, 4503, 734, 4503, 4503,
2078 : : 503, 515, 438, 719, 516, 517, 439, 504, 505, 720,
2079 : : 440, 518, 721, 441, 506, 442, 443, 507, 508, 444,
2080 : : 747, 738, 445, 454, 464, 455, 465, 456, 466, 4503,
2081 : : 515, 457, 723, 516, 517, 748, 458, 459, 467, 724,
2082 : : 518, 4503, 460, 468, 469, 1027, 1027, 1027, 1027, 747,
2083 : : 749, 752, 454, 464, 455, 465, 456, 466, 735, 4503,
2084 : :
2085 : : 457, 723, 4503, 4503, 748, 458, 459, 467, 724, 736,
2086 : : 737, 460, 468, 469, 470, 471, 672, 619, 472, 749,
2087 : : 752, 620, 473, 673, 474, 621, 475, 735, 476, 674,
2088 : : 477, 622, 478, 479, 480, 4503, 623, 4503, 736, 737,
2089 : : 742, 4503, 743, 470, 471, 672, 619, 472, 4503, 4503,
2090 : : 620, 473, 673, 474, 621, 475, 4503, 476, 674, 477,
2091 : : 622, 478, 479, 480, 493, 623, 494, 711, 763, 742,
2092 : : 495, 743, 4503, 712, 496, 4503, 497, 498, 499, 753,
2093 : : 713, 500, 501, 754, 714, 523, 502, 524, 525, 525,
2094 : : 525, 525, 764, 493, 750, 494, 711, 763, 4503, 495,
2095 : :
2096 : : 4503, 526, 712, 496, 751, 497, 498, 499, 753, 713,
2097 : : 500, 501, 754, 714, 4503, 502, 563, 765, 4503, 4503,
2098 : : 4503, 764, 4503, 750, 744, 766, 4503, 564, 745, 565,
2099 : : 526, 536, 537, 751, 566, 538, 4503, 567, 767, 568,
2100 : : 768, 539, 769, 540, 746, 563, 765, 541, 542, 543,
2101 : : 544, 545, 4503, 744, 766, 546, 564, 745, 565, 547,
2102 : : 536, 537, 548, 566, 538, 549, 567, 767, 568, 768,
2103 : : 539, 769, 540, 746, 4503, 550, 541, 542, 543, 544,
2104 : : 545, 558, 4503, 4503, 546, 559, 640, 4503, 547, 560,
2105 : : 4503, 548, 4503, 4503, 549, 561, 4503, 641, 562, 642,
2106 : :
2107 : : 755, 756, 643, 612, 550, 551, 770, 613, 739, 552,
2108 : : 558, 614, 553, 740, 559, 640, 554, 615, 560, 555,
2109 : : 616, 741, 556, 617, 561, 557, 641, 562, 642, 755,
2110 : : 756, 643, 612, 771, 551, 770, 613, 739, 552, 4503,
2111 : : 614, 553, 740, 4503, 757, 554, 615, 758, 555, 616,
2112 : : 741, 556, 617, 634, 557, 569, 772, 4503, 4503, 570,
2113 : : 635, 636, 771, 571, 4503, 773, 572, 637, 573, 574,
2114 : : 638, 639, 575, 757, 4503, 576, 758, 1219, 1219, 1219,
2115 : : 1219, 4503, 634, 646, 569, 772, 647, 648, 570, 635,
2116 : : 636, 4503, 571, 649, 773, 572, 637, 573, 574, 638,
2117 : :
2118 : : 639, 575, 759, 760, 576, 585, 595, 586, 596, 587,
2119 : : 597, 774, 646, 588, 780, 647, 648, 775, 589, 590,
2120 : : 598, 776, 649, 781, 591, 599, 600, 4503, 4503, 761,
2121 : : 762, 759, 760, 788, 585, 595, 586, 596, 587, 597,
2122 : : 774, 4503, 588, 780, 4503, 4503, 775, 589, 590, 598,
2123 : : 776, 4503, 781, 591, 599, 600, 601, 602, 761, 762,
2124 : : 603, 777, 788, 782, 604, 778, 605, 792, 606, 789,
2125 : : 607, 779, 608, 783, 609, 610, 611, 4503, 790, 4503,
2126 : : 791, 793, 801, 4503, 4503, 601, 602, 4503, 804, 603,
2127 : : 777, 4503, 782, 604, 778, 605, 792, 606, 789, 607,
2128 : :
2129 : : 779, 608, 783, 609, 610, 611, 624, 790, 625, 791,
2130 : : 793, 801, 626, 802, 805, 810, 627, 804, 628, 629,
2131 : : 630, 803, 696, 631, 632, 697, 698, 813, 633, 4503,
2132 : : 4503, 699, 819, 700, 4503, 624, 4503, 625, 701, 4503,
2133 : : 4503, 626, 802, 805, 810, 627, 830, 628, 629, 630,
2134 : : 803, 696, 631, 632, 697, 698, 813, 633, 683, 730,
2135 : : 699, 819, 700, 794, 731, 732, 831, 701, 784, 684,
2136 : : 685, 686, 795, 785, 4503, 830, 687, 688, 689, 796,
2137 : : 797, 4503, 806, 786, 798, 807, 787, 683, 730, 4503,
2138 : : 832, 799, 794, 731, 732, 831, 4503, 784, 684, 685,
2139 : :
2140 : : 686, 795, 785, 800, 811, 687, 688, 689, 796, 797,
2141 : : 808, 806, 786, 798, 807, 787, 812, 814, 816, 832,
2142 : : 799, 809, 820, 823, 828, 815, 817, 833, 834, 821,
2143 : : 829, 822, 800, 811, 835, 824, 825, 836, 818, 808,
2144 : : 826, 843, 844, 845, 827, 812, 814, 816, 4503, 4503,
2145 : : 809, 820, 823, 828, 815, 817, 833, 834, 821, 829,
2146 : : 822, 4503, 4503, 835, 824, 825, 836, 818, 4503, 826,
2147 : : 843, 844, 845, 827, 275, 275, 275, 275, 837, 850,
2148 : : 837, 4503, 838, 838, 838, 838, 4503, 276, 839, 839,
2149 : : 839, 839, 277, 278, 278, 278, 278, 848, 841, 846,
2150 : :
2151 : : 841, 840, 842, 842, 842, 842, 279, 847, 850, 851,
2152 : : 853, 855, 856, 857, 858, 852, 276, 863, 849, 864,
2153 : : 867, 870, 892, 4503, 854, 865, 848, 859, 846, 4503,
2154 : : 840, 4503, 866, 868, 4503, 279, 847, 869, 851, 853,
2155 : : 855, 856, 857, 858, 852, 860, 863, 849, 864, 867,
2156 : : 870, 892, 861, 854, 865, 878, 859, 893, 862, 4503,
2157 : : 890, 866, 868, 880, 882, 879, 869, 894, 881, 883,
2158 : : 4503, 4503, 4503, 891, 860, 895, 896, 1223, 1223, 1223,
2159 : : 1223, 861, 897, 4503, 878, 898, 893, 862, 871, 890,
2160 : : 903, 4503, 880, 882, 879, 904, 894, 881, 883, 872,
2161 : :
2162 : : 873, 874, 891, 905, 895, 896, 875, 876, 877, 884,
2163 : : 899, 897, 885, 886, 898, 906, 900, 871, 887, 903,
2164 : : 888, 910, 915, 901, 904, 889, 911, 902, 872, 873,
2165 : : 874, 4503, 905, 912, 907, 875, 876, 877, 884, 899,
2166 : : 908, 885, 886, 909, 906, 900, 913, 887, 916, 888,
2167 : : 910, 915, 901, 917, 889, 911, 902, 921, 922, 918,
2168 : : 914, 926, 912, 907, 919, 920, 935, 923, 927, 908,
2169 : : 936, 4503, 909, 928, 930, 913, 931, 916, 924, 925,
2170 : : 932, 929, 917, 937, 933, 940, 921, 922, 918, 914,
2171 : : 926, 938, 4503, 919, 920, 935, 923, 927, 951, 936,
2172 : :
2173 : : 934, 939, 928, 930, 952, 931, 953, 924, 925, 932,
2174 : : 929, 941, 937, 933, 940, 942, 943, 944, 945, 954,
2175 : : 938, 946, 947, 948, 949, 950, 955, 951, 956, 934,
2176 : : 939, 957, 958, 952, 959, 953, 960, 961, 962, 963,
2177 : : 941, 968, 969, 964, 942, 943, 944, 945, 954, 970,
2178 : : 946, 947, 948, 949, 950, 955, 976, 956, 980, 971,
2179 : : 957, 958, 981, 959, 4503, 960, 961, 962, 963, 965,
2180 : : 968, 969, 964, 966, 989, 972, 992, 4503, 970, 967,
2181 : : 973, 993, 986, 977, 4503, 976, 998, 980, 971, 987,
2182 : : 974, 981, 978, 975, 979, 1001, 4503, 982, 965, 990,
2183 : :
2184 : : 1007, 988, 966, 989, 972, 992, 983, 991, 967, 973,
2185 : : 993, 986, 977, 984, 985, 998, 996, 994, 987, 974,
2186 : : 995, 978, 975, 979, 1001, 999, 982, 997, 990, 1007,
2187 : : 988, 1002, 1004, 1018, 4503, 983, 991, 1000, 4503, 1003,
2188 : : 1005, 1008, 984, 985, 1019, 996, 994, 1011, 1009, 995,
2189 : : 1010, 1016, 1006, 1020, 999, 1021, 997, 1017, 1022, 1012,
2190 : : 1002, 1004, 1018, 1013, 1023, 1024, 1000, 1014, 1003, 1005,
2191 : : 1008, 1015, 4503, 1019, 4503, 4503, 1011, 1009, 4503, 1010,
2192 : : 1016, 1006, 1020, 4503, 1021, 4503, 1017, 1022, 1012, 4503,
2193 : : 4503, 1033, 1013, 1023, 1024, 4503, 1014, 1034, 4503, 4503,
2194 : :
2195 : : 1015, 398, 398, 398, 398, 1025, 4503, 1025, 1035, 1026,
2196 : : 1026, 1026, 1026, 1040, 399, 1028, 1028, 1028, 1028, 400,
2197 : : 1033, 401, 1030, 1030, 1030, 1030, 1034, 1031, 1029, 1031,
2198 : : 1036, 1032, 1032, 1032, 1032, 403, 1043, 1035, 1037, 1038,
2199 : : 1041, 1045, 1040, 399, 1046, 1050, 1042, 1047, 1048, 1053,
2200 : : 1044, 1054, 1051, 1057, 1060, 1055, 1068, 1029, 1052, 1036,
2201 : : 1039, 1049, 1056, 4503, 403, 1043, 1069, 1037, 1038, 1041,
2202 : : 1045, 1082, 4503, 1046, 1050, 1042, 1047, 1048, 1053, 1044,
2203 : : 1054, 1051, 1057, 1060, 1055, 1068, 4503, 1052, 1058, 1039,
2204 : : 1049, 1056, 1059, 4503, 1070, 1069, 1072, 4503, 1083, 1071,
2205 : :
2206 : : 1082, 1073, 4503, 1080, 4503, 4503, 4503, 1084, 1085, 1086,
2207 : : 1087, 4503, 4503, 4503, 1088, 1074, 1081, 1058, 1075, 1076,
2208 : : 1093, 1059, 1061, 1070, 1077, 1072, 1078, 1083, 1071, 1094,
2209 : : 1073, 1079, 1080, 1062, 1063, 1064, 1084, 1085, 1086, 1087,
2210 : : 1065, 1066, 1067, 1088, 1074, 1081, 1095, 1075, 1076, 1093,
2211 : : 1096, 1061, 1100, 1077, 1101, 1078, 1105, 1106, 1094, 1089,
2212 : : 1079, 1102, 1062, 1063, 1064, 1090, 1103, 1107, 1097, 1065,
2213 : : 1066, 1067, 1091, 1111, 1098, 1095, 1092, 1099, 1112, 1096,
2214 : : 1104, 1100, 4503, 1101, 1116, 1105, 1106, 1108, 1089, 1120,
2215 : : 1102, 1121, 1109, 1110, 1090, 1103, 1107, 1097, 1125, 1113,
2216 : :
2217 : : 1126, 1091, 1111, 1098, 1122, 1092, 1099, 1112, 1123, 1104,
2218 : : 1114, 1115, 1117, 1116, 1127, 1130, 1108, 1118, 1120, 1131,
2219 : : 1121, 1109, 1110, 1132, 1124, 1119, 1128, 1125, 1113, 1126,
2220 : : 1133, 1134, 1135, 1122, 1141, 1136, 1129, 1123, 1142, 1114,
2221 : : 1115, 1117, 1143, 1127, 1130, 1144, 1118, 1145, 1131, 1137,
2222 : : 1138, 1146, 1132, 1124, 1119, 1128, 1139, 1140, 1147, 1133,
2223 : : 1134, 1135, 1148, 1141, 1136, 1129, 1149, 1142, 1150, 1151,
2224 : : 1152, 1143, 1158, 1153, 1144, 1159, 1145, 1154, 1137, 1138,
2225 : : 1146, 1166, 1160, 4503, 1155, 1139, 1140, 1147, 1156, 4503,
2226 : : 1170, 1148, 1161, 1171, 1157, 1149, 1179, 1150, 1151, 1152,
2227 : :
2228 : : 1162, 1158, 1153, 1167, 1159, 1163, 1154, 1182, 1183, 1176,
2229 : : 1166, 1160, 1168, 1155, 1169, 1164, 1177, 1156, 1165, 1170,
2230 : : 4503, 1161, 1171, 1157, 1188, 1179, 1191, 1180, 1178, 1162,
2231 : : 1197, 1192, 1167, 1172, 1163, 1181, 1182, 1183, 1176, 1193,
2232 : : 1208, 1168, 1173, 1169, 1164, 1177, 1189, 1165, 1184, 1174,
2233 : : 1175, 1185, 1186, 1188, 1201, 1191, 1180, 1178, 1190, 1197,
2234 : : 1192, 4503, 1172, 1187, 1181, 1194, 1202, 1198, 1193, 1208,
2235 : : 1209, 1173, 1210, 1195, 1199, 1189, 1200, 1184, 1174, 1175,
2236 : : 1185, 1186, 1203, 1201, 1211, 1196, 1204, 1190, 1212, 1213,
2237 : : 1205, 1206, 1187, 1214, 1194, 1202, 1198, 1207, 4503, 1209,
2238 : :
2239 : : 4503, 1210, 1195, 1199, 4503, 1200, 838, 838, 838, 838,
2240 : : 1228, 1203, 4503, 1211, 1196, 1204, 4503, 1212, 1213, 1205,
2241 : : 1206, 4503, 1214, 4503, 4503, 4503, 1207, 521, 521, 521,
2242 : : 521, 1215, 4503, 1215, 1229, 1216, 1216, 1216, 1216, 1228,
2243 : : 522, 1217, 1217, 1217, 1217, 523, 1230, 524, 1220, 1220,
2244 : : 1220, 1220, 1224, 1221, 1218, 1221, 1233, 1222, 1222, 1222,
2245 : : 1222, 526, 4503, 1229, 1225, 1225, 1225, 1225, 1235, 522,
2246 : : 1227, 653, 1231, 653, 1238, 1230, 653, 1234, 1236, 1240,
2247 : : 1232, 1241, 1248, 1218, 1237, 1233, 1249, 653, 1239, 4503,
2248 : : 526, 653, 1252, 4503, 4503, 1250, 1255, 1235, 1242, 1243,
2249 : :
2250 : : 4503, 1231, 1251, 1238, 1263, 4503, 1234, 1236, 1240, 1232,
2251 : : 1241, 1248, 1244, 1237, 1264, 1249, 1245, 1239, 653, 1277,
2252 : : 1278, 1252, 1253, 1246, 1250, 1255, 1254, 1242, 1243, 1247,
2253 : : 4503, 1251, 1265, 1263, 1267, 4503, 1279, 1266, 1280, 1268,
2254 : : 4503, 1244, 4503, 1264, 1281, 1245, 1282, 1275, 1277, 1278,
2255 : : 4503, 1253, 1246, 1269, 1283, 1254, 1270, 1271, 1247, 1256,
2256 : : 1276, 1265, 1272, 1267, 1273, 1279, 1266, 1280, 1268, 1274,
2257 : : 1257, 1258, 1259, 1281, 1288, 1282, 1275, 1260, 1261, 1262,
2258 : : 4503, 1289, 1269, 1283, 4503, 1270, 1271, 1290, 1256, 1276,
2259 : : 1291, 1272, 1295, 1273, 1300, 1301, 1284, 1296, 1274, 1257,
2260 : :
2261 : : 1258, 1259, 1285, 1288, 1297, 1292, 1260, 1261, 1262, 1286,
2262 : : 1289, 1293, 1302, 1287, 1294, 1298, 1290, 1306, 1307, 1291,
2263 : : 4503, 1295, 1303, 1300, 1301, 1284, 1296, 1304, 1305, 1299,
2264 : : 1311, 1285, 1320, 1297, 1292, 4503, 1321, 1308, 1286, 1322,
2265 : : 1293, 1302, 1287, 1294, 1298, 1325, 1306, 1307, 1309, 1310,
2266 : : 1312, 1303, 1315, 1336, 1316, 1313, 1304, 1305, 1299, 1311,
2267 : : 1317, 1320, 1323, 1314, 1318, 1321, 1308, 1326, 1322, 1328,
2268 : : 1329, 1327, 1324, 1330, 1325, 1337, 1331, 1309, 1310, 1312,
2269 : : 1319, 1315, 1336, 1316, 1313, 1332, 1333, 1334, 1335, 1317,
2270 : : 1338, 1323, 1314, 1318, 1339, 1340, 1326, 1341, 1328, 1329,
2271 : :
2272 : : 1327, 1324, 1330, 1342, 1337, 1331, 1343, 1344, 1345, 1319,
2273 : : 1346, 1347, 1353, 1354, 1332, 1333, 1334, 1335, 1348, 1338,
2274 : : 1355, 1350, 1349, 1339, 1340, 1351, 1341, 1361, 1357, 1365,
2275 : : 1356, 1352, 1342, 1358, 1366, 1343, 1344, 1345, 1374, 1346,
2276 : : 1347, 1353, 1354, 1359, 1362, 4503, 1360, 1348, 1377, 1355,
2277 : : 1350, 1349, 1367, 1363, 1351, 1364, 1361, 1357, 1365, 1356,
2278 : : 1352, 1368, 1358, 1366, 1371, 1378, 1375, 1374, 1369, 1370,
2279 : : 1383, 1372, 1359, 1362, 1376, 1360, 1379, 1377, 1381, 1380,
2280 : : 1384, 1367, 1363, 1373, 1364, 1386, 1392, 4503, 1387, 1382,
2281 : : 1368, 4503, 1385, 1371, 1378, 1375, 1388, 1369, 1370, 1383,
2282 : :
2283 : : 1372, 1403, 1389, 1376, 1393, 1379, 1404, 1381, 1380, 1384,
2284 : : 1390, 1394, 1373, 1395, 1386, 1392, 1396, 1387, 1382, 1398,
2285 : : 1401, 1385, 1391, 1399, 1405, 1388, 1402, 1400, 1397, 1406,
2286 : : 1403, 1389, 1407, 1393, 1408, 1404, 1409, 1410, 1411, 1390,
2287 : : 1394, 1412, 1395, 1413, 1414, 1396, 1415, 1416, 1398, 1401,
2288 : : 1417, 1391, 1399, 1405, 1418, 1402, 1400, 1397, 1406, 1419,
2289 : : 1420, 1407, 1421, 1408, 1422, 1409, 1410, 1411, 1423, 1425,
2290 : : 1412, 1426, 1413, 1414, 1427, 1415, 1416, 1428, 1430, 1417,
2291 : : 1431, 1432, 1433, 1418, 1434, 1435, 1436, 4503, 1419, 1420,
2292 : : 1440, 1421, 1429, 1422, 1441, 1442, 1443, 1423, 1425, 1437,
2293 : :
2294 : : 1426, 1448, 4503, 1427, 4503, 1451, 1428, 1430, 1452, 1431,
2295 : : 1432, 1433, 1453, 1434, 1435, 1436, 1438, 1444, 1439, 1440,
2296 : : 1454, 1429, 1455, 1441, 1442, 1443, 1449, 1450, 1437, 1456,
2297 : : 1448, 1445, 1446, 1447, 1451, 1457, 1458, 1452, 1459, 1460,
2298 : : 1461, 1453, 1462, 1463, 1464, 1438, 1444, 1439, 1465, 1454,
2299 : : 1466, 1455, 1468, 1469, 1470, 1449, 1450, 1467, 1456, 1471,
2300 : : 1445, 1446, 1447, 1472, 1457, 1458, 1473, 1459, 1460, 1461,
2301 : : 1475, 1462, 1463, 1464, 1476, 1477, 1478, 1465, 1479, 1466,
2302 : : 1474, 1468, 1469, 1470, 1480, 1481, 1467, 1482, 1471, 1483,
2303 : : 1484, 1485, 1472, 1486, 1491, 1473, 1487, 1492, 1489, 1475,
2304 : :
2305 : : 1493, 1494, 1495, 1476, 1477, 1478, 1496, 1479, 1490, 1474,
2306 : : 1497, 1488, 1498, 1480, 1481, 1499, 1482, 1500, 1483, 1484,
2307 : : 1485, 1501, 1486, 1491, 1503, 1487, 1492, 1489, 1504, 1493,
2308 : : 1494, 1495, 1505, 1506, 1502, 1496, 1507, 1490, 1509, 1497,
2309 : : 1488, 1498, 1510, 1511, 1499, 1513, 1500, 1514, 1508, 1515,
2310 : : 1516, 1517, 1518, 1503, 1519, 1520, 1521, 1504, 1522, 1523,
2311 : : 1524, 1505, 1506, 1502, 1525, 1507, 1526, 1509, 1527, 1528,
2312 : : 1529, 1510, 1511, 1530, 1513, 1532, 1514, 1508, 1515, 1516,
2313 : : 1517, 1518, 1531, 1519, 1520, 1521, 1533, 1522, 1523, 1524,
2314 : : 1534, 1535, 1539, 1525, 1540, 1526, 1543, 1527, 1528, 1529,
2315 : :
2316 : : 1536, 1541, 1530, 1537, 1532, 1544, 1545, 1538, 1542, 1546,
2317 : : 1549, 1531, 1550, 1547, 1551, 1533, 1552, 1553, 1554, 1534,
2318 : : 1535, 1539, 1548, 1540, 1555, 1543, 1556, 1557, 1558, 1536,
2319 : : 1541, 1559, 1537, 1560, 1544, 1545, 1538, 1542, 1546, 1549,
2320 : : 1561, 1550, 1547, 1551, 1562, 1552, 1553, 1554, 1563, 1564,
2321 : : 1565, 1566, 1567, 1555, 1568, 1556, 1557, 1558, 1569, 1571,
2322 : : 1559, 1573, 1560, 1570, 1575, 1572, 1576, 1579, 1580, 1561,
2323 : : 1574, 1581, 1577, 1562, 1578, 1582, 1583, 1563, 1564, 1565,
2324 : : 1566, 1567, 1584, 1568, 1585, 1590, 1591, 1569, 1571, 1594,
2325 : : 1573, 1595, 1570, 1575, 1572, 1576, 1579, 1580, 1592, 1574,
2326 : :
2327 : : 1581, 1577, 1593, 1578, 1582, 1583, 1586, 1587, 1596, 1597,
2328 : : 4503, 1584, 4503, 1585, 1590, 1591, 4503, 1600, 1594, 4503,
2329 : : 1595, 838, 838, 838, 838, 4503, 4503, 1592, 1601, 1588,
2330 : : 4503, 1593, 1589, 4503, 1602, 1586, 1587, 1596, 1597, 839,
2331 : : 839, 839, 839, 1598, 1603, 1598, 1600, 1599, 1599, 1599,
2332 : : 1599, 1604, 840, 842, 842, 842, 842, 1601, 1588, 842,
2333 : : 842, 842, 842, 1602, 1605, 1606, 1607, 1608, 1609, 1610,
2334 : : 1611, 1612, 1613, 1603, 1615, 1616, 1617, 1618, 1620, 1621,
2335 : : 1604, 840, 1622, 1623, 1624, 1625, 1626, 1630, 1631, 1632,
2336 : : 1633, 4503, 1619, 1605, 1606, 1607, 1608, 1609, 1610, 1611,
2337 : :
2338 : : 1612, 1613, 1638, 1615, 1616, 1617, 1618, 1620, 1621, 1627,
2339 : : 1643, 1622, 1623, 1624, 1625, 1626, 1630, 1631, 1632, 1633,
2340 : : 1634, 1619, 1639, 1640, 1641, 1644, 1628, 1642, 1629, 1645,
2341 : : 1646, 1638, 1647, 1648, 1635, 1636, 1637, 1649, 1627, 1643,
2342 : : 1650, 1651, 1652, 1653, 1654, 1655, 1658, 1659, 1660, 1634,
2343 : : 1661, 1639, 1640, 1641, 1644, 1628, 1642, 1629, 1645, 1646,
2344 : : 1656, 1647, 1648, 1635, 1636, 1637, 1649, 1657, 1662, 1650,
2345 : : 1651, 1652, 1653, 1654, 1655, 1658, 1659, 1660, 1663, 1661,
2346 : : 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1656,
2347 : : 1674, 1675, 1664, 1676, 1679, 1681, 1657, 1662, 1682, 1683,
2348 : :
2349 : : 1684, 1685, 1686, 1677, 1680, 1687, 1688, 1663, 1689, 1665,
2350 : : 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1678, 1674,
2351 : : 1675, 1664, 1676, 1679, 1681, 1690, 1691, 1682, 1683, 1684,
2352 : : 1685, 1686, 1677, 1680, 1687, 1688, 1693, 1689, 1694, 1692,
2353 : : 1695, 1696, 1699, 1697, 1700, 1701, 1703, 1678, 1704, 1705,
2354 : : 1706, 1707, 1708, 1709, 1690, 1698, 1710, 1711, 1712, 1713,
2355 : : 1714, 1715, 1716, 1717, 1718, 1693, 1719, 1694, 1692, 1695,
2356 : : 1696, 1699, 1697, 1700, 1701, 1703, 1722, 1704, 1705, 1706,
2357 : : 1707, 1708, 1709, 1723, 1698, 1710, 1711, 1712, 1713, 1714,
2358 : : 1715, 1716, 1717, 1718, 1720, 1719, 1724, 1725, 1729, 1726,
2359 : :
2360 : : 1730, 1731, 1727, 1721, 1733, 1722, 1728, 1734, 1732, 1735,
2361 : : 1736, 1737, 1723, 1739, 1740, 1741, 1742, 1743, 1744, 1745,
2362 : : 1738, 1746, 1747, 1720, 1748, 1724, 1725, 1729, 1726, 1730,
2363 : : 1731, 1727, 1721, 1733, 1749, 1728, 1734, 1732, 1735, 1736,
2364 : : 1737, 1750, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1751,
2365 : : 1746, 1747, 1752, 1748, 1753, 1754, 1755, 1756, 1757, 1758,
2366 : : 1759, 1761, 1763, 1749, 1765, 1760, 1766, 1762, 1769, 1770,
2367 : : 1750, 1764, 1767, 1771, 1768, 1772, 1773, 1774, 1751, 1775,
2368 : : 4503, 1752, 1780, 1753, 1754, 1755, 1756, 1757, 1758, 1759,
2369 : : 1761, 1763, 1781, 1765, 1760, 1766, 1762, 1769, 1770, 1784,
2370 : :
2371 : : 1764, 1767, 1771, 1768, 1772, 1773, 1774, 1785, 1775, 1776,
2372 : : 1777, 1780, 1782, 1786, 1787, 1794, 1783, 1788, 1788, 1788,
2373 : : 1788, 1781, 1026, 1026, 1026, 1026, 4503, 4503, 1784, 1795,
2374 : : 1796, 4503, 1778, 4503, 4503, 1779, 1785, 4503, 1776, 1777,
2375 : : 1797, 1782, 1786, 1787, 1794, 1783, 1789, 1789, 1789, 1789,
2376 : : 1028, 1028, 1028, 1028, 1793, 1793, 1793, 1793, 1795, 1796,
2377 : : 1790, 1778, 1790, 1029, 1791, 1791, 1791, 1791, 400, 1797,
2378 : : 401, 1792, 1792, 1792, 1792, 1032, 1032, 1032, 1032, 1798,
2379 : : 1799, 1800, 1801, 1802, 403, 1803, 1804, 1805, 1806, 1807,
2380 : : 1809, 1810, 1029, 1811, 1814, 1815, 1816, 1817, 1818, 1819,
2381 : :
2382 : : 1820, 4503, 1824, 1825, 1826, 1827, 1812, 1832, 1798, 1799,
2383 : : 1800, 1801, 1802, 403, 1803, 1804, 1805, 1806, 1807, 1809,
2384 : : 1810, 1813, 1811, 1814, 1815, 1816, 1817, 1818, 1819, 1820,
2385 : : 1821, 1824, 1825, 1826, 1827, 1812, 1832, 1828, 1833, 1834,
2386 : : 1835, 1837, 1838, 1836, 1839, 1840, 1841, 1822, 1842, 1823,
2387 : : 1813, 1829, 1830, 1831, 1843, 1844, 1845, 1846, 1847, 1821,
2388 : : 1848, 1849, 1852, 1853, 1854, 1855, 1828, 1833, 1834, 1835,
2389 : : 1837, 1838, 1836, 1839, 1840, 1841, 1822, 1842, 1823, 1856,
2390 : : 1829, 1830, 1831, 1843, 1844, 1845, 1846, 1847, 1850, 1848,
2391 : : 1849, 1852, 1853, 1854, 1855, 1851, 1857, 1859, 1860, 1861,
2392 : :
2393 : : 1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1856, 1870,
2394 : : 1858, 1873, 1875, 1876, 1877, 1878, 1879, 1850, 1880, 1881,
2395 : : 1882, 1874, 1871, 1883, 1851, 1857, 1859, 1860, 1861, 1862,
2396 : : 1863, 1864, 1865, 1866, 1867, 1868, 1869, 1872, 1870, 1858,
2397 : : 1873, 1875, 1876, 1877, 1878, 1879, 1884, 1880, 1881, 1882,
2398 : : 1874, 1871, 1883, 1887, 1885, 1888, 1889, 1890, 1891, 1893,
2399 : : 1894, 1895, 1897, 1898, 1899, 1900, 1872, 1886, 1901, 1902,
2400 : : 1892, 1903, 1904, 1905, 1906, 1884, 1907, 1908, 1909, 1910,
2401 : : 1911, 1912, 1887, 1913, 1888, 1889, 1890, 1891, 1893, 1894,
2402 : : 1895, 1897, 1898, 1899, 1900, 1914, 1886, 1901, 1902, 1892,
2403 : :
2404 : : 1903, 1904, 1905, 1906, 1915, 1907, 1908, 1909, 1910, 1911,
2405 : : 1912, 1916, 1913, 1917, 1918, 1919, 1920, 1923, 1924, 1921,
2406 : : 1925, 1927, 1928, 1922, 1914, 1929, 1930, 1926, 1931, 1933,
2407 : : 1934, 1935, 1936, 1915, 1937, 1938, 1939, 1932, 1940, 1941,
2408 : : 1916, 1942, 1917, 1918, 1919, 1920, 1923, 1924, 1921, 1925,
2409 : : 1927, 1928, 1922, 1943, 1929, 1930, 1926, 1931, 1933, 1934,
2410 : : 1935, 1936, 1944, 1937, 1938, 1939, 1945, 1940, 1941, 1946,
2411 : : 1942, 1947, 1948, 1949, 1950, 1951, 1952, 1957, 1953, 1955,
2412 : : 1959, 1960, 1943, 1954, 1963, 1956, 1958, 1961, 1964, 1962,
2413 : : 1965, 1944, 1966, 1967, 1968, 1945, 1969, 4503, 1946, 1974,
2414 : :
2415 : : 1947, 1948, 1949, 1950, 1951, 1952, 1957, 1953, 1955, 1959,
2416 : : 1960, 1975, 1954, 1963, 1956, 1958, 1961, 1964, 1962, 1965,
2417 : : 4503, 1966, 1967, 1968, 1978, 1969, 1970, 1971, 1974, 1976,
2418 : : 1979, 1980, 1981, 1977, 1982, 1982, 1982, 1982, 4503, 1990,
2419 : : 1975, 1216, 1216, 1216, 1216, 1985, 1985, 1985, 1985, 1972,
2420 : : 4503, 4503, 1973, 1978, 4503, 1970, 1971, 4503, 1976, 1979,
2421 : : 1980, 1981, 1977, 1217, 1217, 1217, 1217, 1983, 1990, 1983,
2422 : : 4503, 1984, 1984, 1984, 1984, 1991, 1218, 523, 1972, 524,
2423 : : 1986, 1986, 1986, 1986, 1987, 1987, 1987, 1987, 1222, 1222,
2424 : : 1222, 1222, 4503, 526, 1224, 1988, 1988, 1988, 1988, 1224,
2425 : :
2426 : : 1992, 1993, 1994, 4503, 1991, 1218, 1223, 1223, 1223, 1223,
2427 : : 1995, 1989, 1989, 1989, 1989, 1227, 653, 1996, 653, 1997,
2428 : : 1998, 653, 526, 1999, 2000, 2001, 2002, 2003, 2005, 1992,
2429 : : 1993, 1994, 653, 2006, 4503, 2007, 653, 2010, 2011, 1995,
2430 : : 2012, 2013, 2014, 2008, 2015, 2016, 1996, 4503, 1997, 1998,
2431 : : 2020, 2021, 1999, 2000, 2001, 2002, 2003, 2005, 2009, 2017,
2432 : : 2022, 2023, 2006, 653, 2007, 2028, 2010, 2011, 2024, 2012,
2433 : : 2013, 2014, 2008, 2015, 2016, 2033, 2018, 2034, 2019, 2020,
2434 : : 2021, 2035, 2025, 2026, 2027, 2029, 2030, 2009, 2017, 2022,
2435 : : 2023, 2036, 2031, 2037, 2028, 2032, 2038, 2024, 2039, 2040,
2436 : :
2437 : : 2041, 2042, 2043, 2044, 2033, 2018, 2034, 2019, 2045, 2046,
2438 : : 2035, 2025, 2026, 2027, 2029, 2030, 2047, 2048, 2049, 2050,
2439 : : 2036, 2031, 2037, 2051, 2032, 2038, 2052, 2039, 2040, 2041,
2440 : : 2042, 2043, 2044, 2055, 2056, 2053, 2057, 2045, 2046, 2058,
2441 : : 2059, 2060, 2061, 2062, 2063, 2047, 2048, 2049, 2050, 2054,
2442 : : 2064, 2065, 2051, 2066, 2071, 2052, 2069, 2072, 2073, 2067,
2443 : : 2074, 2075, 2055, 2056, 2053, 2057, 2070, 2076, 2058, 2059,
2444 : : 2060, 2061, 2062, 2063, 2068, 2077, 2078, 2079, 2054, 2064,
2445 : : 2065, 2080, 2066, 2071, 2081, 2069, 2072, 2073, 2067, 2074,
2446 : : 2075, 2083, 2084, 2085, 2086, 2070, 2076, 2082, 2089, 2087,
2447 : :
2448 : : 2090, 2091, 2093, 2068, 2077, 2078, 2079, 2094, 2095, 2096,
2449 : : 2080, 2088, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104,
2450 : : 2083, 2084, 2085, 2086, 2105, 2106, 2082, 2089, 2087, 2090,
2451 : : 2091, 2093, 2107, 2108, 2109, 2112, 2094, 2095, 2096, 2113,
2452 : : 2088, 2097, 2098, 2099, 2100, 2101, 2102, 2103, 2104, 2110,
2453 : : 2114, 2115, 2116, 2105, 2106, 2117, 2119, 2120, 2111, 2118,
2454 : : 2121, 2107, 2108, 2109, 2112, 2123, 2124, 2122, 2113, 2125,
2455 : : 2126, 2129, 2130, 2127, 2131, 2132, 2133, 2134, 2110, 2114,
2456 : : 2115, 2116, 2128, 2135, 2117, 2119, 2120, 2111, 2118, 2121,
2457 : : 2136, 2137, 2138, 2139, 2123, 2124, 2122, 2140, 2125, 2126,
2458 : :
2459 : : 2129, 2130, 2127, 2131, 2132, 2133, 2134, 2141, 2142, 2143,
2460 : : 2144, 2145, 2135, 2146, 2147, 2148, 2153, 2155, 2149, 2136,
2461 : : 2137, 2138, 2139, 2150, 2151, 2154, 2140, 2156, 2159, 2157,
2462 : : 2152, 2158, 2160, 2161, 2162, 2163, 2141, 2142, 2143, 2144,
2463 : : 2145, 2164, 2146, 2147, 2148, 2153, 2155, 2149, 2165, 2166,
2464 : : 2167, 2170, 2150, 2151, 2154, 2171, 2156, 2159, 2157, 2152,
2465 : : 2158, 2160, 2161, 2162, 2163, 2172, 2174, 2175, 2176, 2173,
2466 : : 2164, 2177, 2168, 2178, 2179, 2169, 2180, 2165, 2166, 2167,
2467 : : 2170, 2181, 2183, 2184, 2171, 2185, 2186, 2187, 2188, 2189,
2468 : : 2190, 2191, 2194, 2195, 2172, 2174, 2175, 2176, 2173, 2192,
2469 : :
2470 : : 2177, 2168, 2178, 2179, 2196, 2180, 2198, 2199, 2197, 2200,
2471 : : 2181, 2183, 2184, 2201, 2185, 2186, 2187, 2188, 2189, 2190,
2472 : : 2191, 2194, 2195, 2202, 2203, 2204, 2193, 2206, 2192, 2207,
2473 : : 2208, 2209, 2210, 2196, 2212, 2198, 2199, 2197, 2200, 2213,
2474 : : 2214, 2215, 2201, 2216, 2217, 2218, 2219, 2220, 2221, 2222,
2475 : : 2211, 2223, 2202, 2203, 2204, 2224, 2206, 2225, 2207, 2208,
2476 : : 2209, 2210, 2226, 2212, 2227, 2228, 2229, 2230, 2213, 2214,
2477 : : 2215, 2231, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2211,
2478 : : 2223, 2232, 2233, 2234, 2224, 2235, 2225, 2236, 2237, 2238,
2479 : : 2239, 2226, 2240, 2227, 2228, 2229, 2230, 2241, 2242, 2243,
2480 : :
2481 : : 2231, 2244, 2245, 2247, 2249, 2250, 2251, 2252, 2256, 2257,
2482 : : 2232, 2233, 2234, 2246, 2235, 2253, 2236, 2237, 2238, 2239,
2483 : : 2258, 2240, 2259, 2254, 2260, 2261, 2241, 2242, 2243, 2262,
2484 : : 2244, 2245, 2247, 2249, 2250, 2251, 2252, 2256, 2257, 2263,
2485 : : 2264, 2265, 2246, 2268, 2253, 2266, 2269, 2270, 2271, 2258,
2486 : : 2272, 2259, 2254, 2260, 2261, 2267, 2273, 2274, 2262, 2275,
2487 : : 2276, 2277, 2278, 2279, 2282, 2283, 2284, 2280, 2263, 2264,
2488 : : 2265, 2281, 2268, 2285, 2266, 2269, 2270, 2271, 2286, 2272,
2489 : : 2287, 2288, 2289, 2290, 2267, 2273, 2274, 2291, 2275, 2276,
2490 : : 2277, 2278, 2279, 2282, 2283, 2284, 2280, 2292, 2293, 2294,
2491 : :
2492 : : 2281, 2295, 2285, 2296, 2297, 2298, 2299, 2286, 2300, 2287,
2493 : : 2288, 2289, 2290, 2301, 2302, 2303, 2291, 2304, 2305, 2306,
2494 : : 2307, 2308, 2309, 2313, 2314, 2315, 2292, 2293, 2294, 2316,
2495 : : 2295, 2317, 2296, 2297, 2298, 2299, 2318, 2300, 2310, 2319,
2496 : : 2320, 2311, 2301, 2302, 2303, 2312, 2304, 2305, 2306, 2307,
2497 : : 2308, 2309, 2313, 2314, 2315, 2321, 2322, 2323, 2316, 2324,
2498 : : 2317, 2325, 2326, 2327, 2328, 2318, 2329, 2310, 2319, 2320,
2499 : : 2311, 2332, 2330, 2333, 2312, 2331, 2335, 2336, 2337, 2334,
2500 : : 1599, 1599, 1599, 1599, 2321, 2322, 2323, 2338, 2324, 2340,
2501 : : 2325, 2326, 2327, 2328, 2341, 2329, 1599, 1599, 1599, 1599,
2502 : :
2503 : : 2332, 2330, 2333, 2342, 2331, 2335, 2336, 2337, 2334, 2343,
2504 : : 2344, 2345, 2346, 2347, 2348, 4503, 2338, 2349, 2340, 2351,
2505 : : 2352, 2353, 2355, 2341, 2356, 2354, 2357, 2358, 2359, 2360,
2506 : : 2361, 2363, 2342, 2364, 2365, 2366, 4503, 2369, 2343, 2344,
2507 : : 2345, 2346, 2347, 2348, 2350, 2370, 2349, 2367, 2351, 2352,
2508 : : 2353, 2355, 2371, 2356, 2354, 2357, 2358, 2359, 2360, 2361,
2509 : : 2363, 2372, 2364, 2365, 2366, 2368, 2369, 2373, 2374, 2375,
2510 : : 2376, 2377, 2378, 2379, 2370, 2380, 2367, 2381, 2382, 2383,
2511 : : 2384, 2371, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392,
2512 : : 2372, 2393, 2394, 2395, 2368, 2396, 2373, 2374, 2375, 2376,
2513 : :
2514 : : 2377, 2378, 2379, 2397, 2380, 2398, 2381, 2382, 2383, 2384,
2515 : : 2399, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2400,
2516 : : 2393, 2394, 2395, 2401, 2396, 2402, 2404, 2406, 2407, 2408,
2517 : : 2409, 2413, 2397, 2410, 2398, 2414, 2403, 2415, 2416, 2399,
2518 : : 2417, 2411, 2418, 2419, 2420, 2421, 2422, 2425, 2400, 2426,
2519 : : 2427, 2423, 2401, 2428, 2402, 2404, 2406, 2407, 2408, 2409,
2520 : : 2413, 2424, 2410, 2429, 2414, 2403, 2415, 2416, 2430, 2417,
2521 : : 2411, 2418, 2419, 2420, 2421, 2422, 2425, 2431, 2426, 2427,
2522 : : 2423, 2432, 2428, 2433, 2434, 2435, 2436, 2437, 2439, 2440,
2523 : : 2424, 2438, 2429, 2441, 2442, 2443, 2444, 2430, 2445, 2446,
2524 : :
2525 : : 2447, 2448, 2449, 2450, 2451, 2452, 2431, 2453, 2454, 2455,
2526 : : 2432, 2456, 2433, 2434, 2435, 2436, 2437, 2439, 2440, 2457,
2527 : : 2438, 2458, 2441, 2442, 2443, 2444, 2459, 2445, 2446, 2447,
2528 : : 2448, 2449, 2450, 2451, 2452, 2460, 2453, 2454, 2455, 2461,
2529 : : 2456, 2462, 2463, 2464, 2465, 2466, 2467, 2470, 2457, 2468,
2530 : : 2458, 2471, 2472, 2469, 2473, 2459, 2474, 2475, 2476, 2477,
2531 : : 2478, 2479, 2480, 2481, 2460, 2482, 2483, 2484, 2461, 2485,
2532 : : 2462, 2463, 2464, 2465, 2466, 2467, 2470, 2486, 2468, 2489,
2533 : : 2471, 2472, 2469, 2473, 4503, 2474, 2475, 2476, 2477, 2478,
2534 : : 2479, 2480, 2481, 2490, 2482, 2483, 2484, 2487, 2485, 2491,
2535 : :
2536 : : 2488, 1788, 1788, 1788, 1788, 4503, 2486, 4503, 2489, 2492,
2537 : : 2492, 2492, 2492, 2493, 2493, 2493, 2493, 1791, 1791, 1791,
2538 : : 1791, 2494, 2490, 2495, 2496, 2497, 2487, 2499, 2491, 2488,
2539 : : 401, 1792, 1792, 1792, 1792, 1793, 1793, 1793, 1793, 2500,
2540 : : 2501, 2502, 2503, 2504, 403, 2505, 2506, 2507, 2510, 4503,
2541 : : 2494, 2508, 2495, 2496, 2497, 2511, 2499, 2512, 2514, 2515,
2542 : : 2516, 2513, 2517, 2518, 2519, 2520, 2522, 2523, 2500, 2501,
2543 : : 2502, 2503, 2504, 403, 2505, 2506, 2507, 2510, 2509, 2524,
2544 : : 2508, 2525, 2526, 2528, 2511, 2529, 2512, 2514, 2515, 2516,
2545 : : 2513, 2517, 2518, 2519, 2520, 2522, 2523, 2530, 2531, 2532,
2546 : :
2547 : : 2527, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2524, 2540,
2548 : : 2525, 2526, 2528, 2541, 2529, 2542, 2543, 2544, 2545, 2546,
2549 : : 2547, 2548, 2549, 2550, 2551, 2552, 2530, 2531, 2532, 2527,
2550 : : 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2553, 2540, 2554,
2551 : : 2555, 2556, 2541, 2557, 2542, 2543, 2544, 2545, 2546, 2547,
2552 : : 2548, 2549, 2550, 2551, 2552, 2558, 2559, 2560, 2563, 2565,
2553 : : 2561, 2566, 2567, 2568, 2572, 2569, 2553, 2573, 2554, 2555,
2554 : : 2556, 2562, 2557, 2570, 2574, 2575, 2576, 2577, 2578, 2579,
2555 : : 2580, 2581, 4503, 2584, 2558, 2559, 2560, 2563, 2565, 2561,
2556 : : 2566, 2567, 2568, 2572, 2569, 2585, 2573, 2586, 2587, 2588,
2557 : :
2558 : : 2562, 2582, 2570, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2559 : : 2581, 2583, 2584, 2589, 2590, 2591, 2592, 2593, 2594, 2595,
2560 : : 2598, 2596, 2599, 2600, 2585, 2597, 2586, 2587, 2588, 2601,
2561 : : 2582, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610,
2562 : : 2583, 2611, 2589, 2590, 2591, 2592, 2593, 2594, 2595, 2598,
2563 : : 2596, 2599, 2600, 2612, 2597, 2613, 2614, 2615, 2601, 2616,
2564 : : 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2617,
2565 : : 2611, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2629,
2566 : : 2626, 2630, 2612, 2627, 2613, 2614, 2615, 2628, 2616, 2631,
2567 : : 2632, 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2617, 2640,
2568 : :
2569 : : 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2629, 2626,
2570 : : 2630, 2641, 2627, 2642, 2643, 2644, 2628, 2645, 2631, 2632,
2571 : : 2633, 2634, 2635, 2636, 2637, 2638, 2639, 2646, 2640, 2648,
2572 : : 2647, 2649, 1982, 1982, 1982, 1982, 4503, 2650, 2655, 4503,
2573 : : 2641, 4503, 2642, 2643, 2644, 4503, 2645, 2651, 2651, 2651,
2574 : : 2651, 1984, 1984, 1984, 1984, 2656, 2646, 2657, 2648, 2647,
2575 : : 2649, 2652, 2652, 2652, 2652, 523, 2650, 2655, 1986, 1986,
2576 : : 1986, 1986, 1987, 1987, 1987, 1987, 2654, 2654, 2654, 2654,
2577 : : 1224, 526, 2658, 2660, 2656, 2661, 2657, 2662, 2663, 2664,
2578 : : 2665, 2666, 1223, 1223, 1223, 1223, 2667, 2668, 4503, 2671,
2579 : :
2580 : : 2669, 2672, 2673, 2675, 2676, 2677, 2674, 2678, 2679, 2680,
2581 : : 526, 2658, 2660, 2681, 2661, 2683, 2662, 2663, 2664, 2665,
2582 : : 2666, 2684, 2685, 2686, 2689, 2667, 2668, 2670, 2671, 2669,
2583 : : 2672, 2673, 2675, 2676, 2677, 2674, 2678, 2679, 2680, 2687,
2584 : : 2690, 2691, 2681, 2692, 2683, 2693, 2694, 2695, 2696, 2697,
2585 : : 2684, 2685, 2686, 2689, 2698, 2699, 2700, 2688, 2701, 2702,
2586 : : 2703, 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2687, 2690,
2587 : : 2691, 2711, 2692, 2712, 2693, 2694, 2695, 2696, 2697, 2713,
2588 : : 2714, 2715, 2716, 2698, 2699, 2700, 2688, 2701, 2702, 2703,
2589 : : 2704, 2705, 2706, 2707, 2708, 2709, 2710, 2717, 2718, 2719,
2590 : :
2591 : : 2711, 2720, 2712, 2721, 2722, 2724, 2726, 2727, 2713, 2714,
2592 : : 2715, 2716, 2728, 2729, 2730, 2723, 2733, 2734, 2735, 2736,
2593 : : 2737, 2738, 2731, 2739, 2740, 2741, 2717, 2718, 2719, 2742,
2594 : : 2720, 2745, 2721, 2722, 2724, 2726, 2727, 2746, 2747, 2748,
2595 : : 2749, 2728, 2729, 2730, 2723, 2733, 2734, 2735, 2736, 2737,
2596 : : 2738, 2731, 2739, 2740, 2741, 2743, 2750, 2751, 2742, 2752,
2597 : : 2745, 2753, 2754, 2755, 2756, 2744, 2746, 2747, 2748, 2749,
2598 : : 2757, 2759, 2760, 2761, 2758, 2762, 2763, 2764, 2765, 2766,
2599 : : 2767, 2768, 2769, 2770, 2743, 2750, 2751, 2771, 2752, 2772,
2600 : : 2753, 2754, 2755, 2756, 2744, 2773, 2774, 2775, 2776, 2757,
2601 : :
2602 : : 2759, 2760, 2761, 2758, 2762, 2763, 2764, 2765, 2766, 2767,
2603 : : 2768, 2769, 2770, 2777, 2778, 2779, 2771, 2780, 2772, 2781,
2604 : : 2782, 2783, 2784, 2785, 2773, 2774, 2775, 2776, 2786, 2787,
2605 : : 2790, 2791, 2788, 2792, 2793, 2794, 2789, 2795, 2796, 2797,
2606 : : 2798, 2799, 2777, 2778, 2779, 2800, 2780, 2801, 2781, 2782,
2607 : : 2783, 2784, 2785, 2802, 2803, 2804, 2805, 2786, 2787, 2790,
2608 : : 2791, 2788, 2792, 2793, 2794, 2789, 2795, 2796, 2797, 2798,
2609 : : 2799, 2806, 2807, 2809, 2800, 2808, 2801, 2813, 2814, 2815,
2610 : : 2810, 2816, 2802, 2803, 2804, 2805, 2811, 2817, 2818, 2819,
2611 : : 2820, 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829,
2612 : :
2613 : : 2806, 2807, 2809, 2830, 2808, 2831, 2813, 2814, 2815, 2810,
2614 : : 2816, 2832, 2833, 2834, 2835, 2811, 2817, 2818, 2819, 2820,
2615 : : 2821, 2822, 2823, 2824, 2825, 2826, 2827, 2828, 2829, 2836,
2616 : : 2837, 2838, 2830, 2842, 2831, 2839, 2843, 2844, 2845, 2846,
2617 : : 2832, 2833, 2834, 2835, 2848, 2840, 2849, 2841, 2850, 2851,
2618 : : 2852, 2853, 2854, 2855, 2857, 2858, 2859, 2860, 2836, 2837,
2619 : : 2838, 2861, 2842, 2862, 2839, 2843, 2844, 2845, 2846, 2863,
2620 : : 2864, 2867, 2868, 2848, 2840, 2849, 2841, 2850, 2851, 2852,
2621 : : 2853, 2854, 2855, 2857, 2858, 2859, 2860, 2869, 2865, 2870,
2622 : : 2861, 2866, 2862, 2871, 2872, 2873, 2874, 2875, 2863, 2864,
2623 : :
2624 : : 2867, 2868, 2876, 2877, 2878, 2880, 2881, 2882, 2883, 2884,
2625 : : 2885, 2886, 2887, 2888, 2889, 2890, 2869, 2865, 2870, 2891,
2626 : : 2866, 2892, 2871, 2872, 2873, 2874, 2875, 2893, 2894, 2895,
2627 : : 2896, 2876, 2877, 2878, 2880, 2881, 2882, 2883, 2884, 2885,
2628 : : 2886, 2887, 2888, 2889, 2890, 2897, 2898, 2899, 2891, 2900,
2629 : : 2892, 2901, 2902, 2903, 2904, 2905, 2893, 2894, 2895, 2896,
2630 : : 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915,
2631 : : 2916, 2917, 2918, 2919, 2897, 2898, 2899, 2920, 2900, 2921,
2632 : : 2901, 2902, 2903, 2904, 2905, 2922, 2923, 2924, 2925, 2906,
2633 : : 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916,
2634 : :
2635 : : 2917, 2918, 2919, 2926, 2927, 2928, 2920, 2929, 2921, 2931,
2636 : : 2932, 2933, 2934, 2935, 2922, 2923, 2924, 2925, 2936, 2937,
2637 : : 2938, 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947,
2638 : : 2948, 2949, 2926, 2927, 2928, 2950, 2929, 2951, 2931, 2932,
2639 : : 2933, 2934, 2935, 2952, 2953, 2954, 2955, 2936, 2937, 2938,
2640 : : 2939, 2940, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948,
2641 : : 2949, 2956, 2960, 2961, 2950, 2962, 2951, 2957, 2963, 2964,
2642 : : 2966, 2967, 2952, 2953, 2954, 2955, 2968, 2958, 2969, 2959,
2643 : : 2970, 2971, 2972, 2973, 2975, 2976, 2977, 2978, 2979, 2980,
2644 : : 2956, 2960, 2961, 2981, 2962, 2982, 2957, 2963, 2964, 2966,
2645 : :
2646 : : 2967, 2983, 2985, 2986, 2984, 2968, 2958, 2969, 2959, 2970,
2647 : : 2971, 2972, 2973, 2975, 2976, 2977, 2978, 2979, 2980, 2987,
2648 : : 2988, 2989, 2981, 2990, 2982, 2991, 2992, 2993, 2994, 2995,
2649 : : 2983, 2985, 2986, 2984, 2996, 2998, 2999, 3000, 3001, 3002,
2650 : : 3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 2987, 2988,
2651 : : 2989, 3011, 2990, 3012, 2991, 2992, 2993, 2994, 2995, 3013,
2652 : : 3014, 3015, 3016, 2996, 2998, 2999, 3000, 3001, 3002, 3003,
2653 : : 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3017, 3018, 3019,
2654 : : 3011, 3020, 3012, 3021, 3022, 3023, 3024, 3025, 3013, 3014,
2655 : : 3015, 3016, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033,
2656 : :
2657 : : 3034, 3035, 3036, 3037, 3038, 3039, 3017, 3018, 3019, 3040,
2658 : : 3020, 3041, 3021, 3022, 3023, 3024, 3025, 3042, 3043, 3044,
2659 : : 3045, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034,
2660 : : 3035, 3036, 3037, 3038, 3039, 3046, 3047, 3050, 3040, 3051,
2661 : : 3041, 2493, 2493, 2493, 2493, 3052, 3042, 3043, 3044, 3045,
2662 : : 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062,
2663 : : 3063, 3064, 3065, 3066, 3046, 3047, 3050, 3067, 3051, 3068,
2664 : : 3069, 3070, 3071, 3072, 3052, 3073, 3074, 3075, 4503, 3053,
2665 : : 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063,
2666 : : 3064, 3065, 3066, 3079, 3080, 3081, 3067, 3076, 3068, 3069,
2667 : :
2668 : : 3070, 3071, 3072, 3082, 3073, 3074, 3075, 3077, 3083, 3078,
2669 : : 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3094, 3095,
2670 : : 3096, 3097, 3079, 3080, 3081, 3098, 3076, 3099, 3100, 3101,
2671 : : 3102, 3104, 3082, 3103, 3105, 3106, 3077, 3083, 3078, 3085,
2672 : : 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3094, 3095, 3096,
2673 : : 3097, 3107, 3108, 3109, 3098, 3110, 3099, 3100, 3101, 3102,
2674 : : 3104, 3111, 3103, 3105, 3106, 3112, 3113, 3114, 3115, 3117,
2675 : : 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127,
2676 : : 3107, 3108, 3109, 3128, 3110, 3129, 3130, 3131, 3132, 3133,
2677 : : 3111, 3134, 3135, 3136, 3112, 3113, 3114, 3115, 3117, 3118,
2678 : :
2679 : : 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3137,
2680 : : 3138, 3139, 3128, 3140, 3129, 3130, 3131, 3132, 3133, 3141,
2681 : : 3134, 3135, 3136, 3142, 3143, 3144, 3145, 3146, 3147, 3148,
2682 : : 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3137, 3138,
2683 : : 3139, 3157, 3140, 3158, 3159, 3160, 3161, 3162, 3141, 3163,
2684 : : 3164, 3165, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149,
2685 : : 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3166, 3171, 3172,
2686 : : 3157, 3173, 3158, 3159, 3160, 3161, 3162, 3174, 3163, 3164,
2687 : : 3165, 2651, 2651, 2651, 2651, 3168, 3168, 3168, 3168, 3169,
2688 : : 3169, 3169, 3169, 3175, 3176, 3177, 3166, 3171, 3172, 3178,
2689 : :
2690 : : 3173, 3179, 3180, 3181, 3182, 3183, 3174, 3184, 3185, 3186,
2691 : : 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196,
2692 : : 4503, 3200, 3175, 3176, 3177, 3201, 3202, 3203, 3178, 3204,
2693 : : 3179, 3180, 3181, 3182, 3183, 3206, 3184, 3185, 3186, 3187,
2694 : : 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197,
2695 : : 3200, 3207, 3208, 3209, 3201, 3202, 3203, 3210, 3204, 3198,
2696 : : 3211, 3199, 3212, 3213, 3206, 3215, 3216, 3217, 3218, 3219,
2697 : : 3220, 3221, 3222, 3223, 3225, 3226, 3224, 3227, 3197, 3228,
2698 : : 3207, 3208, 3209, 3229, 3230, 3231, 3210, 3232, 3198, 3211,
2699 : : 3199, 3212, 3213, 3233, 3215, 3216, 3217, 3218, 3219, 3220,
2700 : :
2701 : : 3221, 3222, 3223, 3225, 3226, 3224, 3227, 3234, 3228, 3235,
2702 : : 3236, 3238, 3229, 3230, 3231, 3239, 3232, 3240, 3241, 3242,
2703 : : 3243, 3244, 3233, 3245, 3246, 3247, 3248, 3249, 3250, 3251,
2704 : : 3252, 3253, 3254, 3255, 3256, 3257, 3234, 3258, 3235, 3236,
2705 : : 3238, 3259, 3260, 3261, 3239, 3262, 3240, 3241, 3242, 3243,
2706 : : 3244, 3263, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252,
2707 : : 3253, 3254, 3255, 3256, 3257, 3264, 3258, 3265, 3266, 3267,
2708 : : 3259, 3260, 3261, 3268, 3262, 3269, 3270, 3271, 3272, 3273,
2709 : : 3263, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282,
2710 : : 3283, 3284, 3285, 3286, 3264, 3287, 3265, 3266, 3267, 3288,
2711 : :
2712 : : 3289, 3290, 3268, 3291, 3269, 3270, 3271, 3272, 3273, 3292,
2713 : : 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283,
2714 : : 3284, 3285, 3286, 3293, 3287, 3294, 3295, 3296, 3288, 3289,
2715 : : 3290, 3297, 3291, 3298, 3299, 3300, 3301, 3302, 3292, 3303,
2716 : : 3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313,
2717 : : 3314, 3315, 3293, 3316, 3294, 3295, 3296, 3317, 3318, 3319,
2718 : : 3297, 3320, 3298, 3299, 3300, 3301, 3302, 3321, 3303, 3304,
2719 : : 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312, 3313, 3314,
2720 : : 3315, 3322, 3316, 3323, 3324, 3325, 3317, 3318, 3319, 3326,
2721 : : 3320, 3327, 3328, 3329, 3330, 3331, 3321, 3332, 3333, 3334,
2722 : :
2723 : : 3335, 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344,
2724 : : 3322, 3345, 3323, 3324, 3325, 3346, 3347, 3348, 3326, 3349,
2725 : : 3327, 3328, 3329, 3330, 3331, 3350, 3332, 3333, 3334, 3335,
2726 : : 3336, 3337, 3338, 3339, 3340, 3341, 3342, 3343, 3344, 3351,
2727 : : 3345, 3352, 3353, 3355, 3346, 3347, 3348, 3357, 3349, 3358,
2728 : : 3359, 3360, 3361, 3362, 3350, 3363, 3364, 3365, 3366, 3367,
2729 : : 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3351, 3376,
2730 : : 3352, 3353, 3355, 3377, 3378, 3379, 3357, 3380, 3358, 3359,
2731 : : 3360, 3361, 3362, 3381, 3363, 3364, 3365, 3366, 3367, 3368,
2732 : : 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3382, 3376, 3383,
2733 : :
2734 : : 3384, 3385, 3377, 3378, 3379, 3386, 3380, 3387, 3388, 3389,
2735 : : 3390, 3391, 3381, 3392, 3393, 3394, 3395, 3396, 3397, 3398,
2736 : : 3399, 3400, 3401, 3402, 3403, 3404, 3382, 3405, 3383, 3384,
2737 : : 3385, 3406, 3407, 3408, 3386, 3409, 3387, 3388, 3389, 3390,
2738 : : 3391, 3410, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399,
2739 : : 3400, 3401, 3402, 3403, 3404, 3411, 3405, 3412, 3413, 3414,
2740 : : 3406, 3407, 3408, 3415, 3409, 3416, 3417, 3418, 3419, 3420,
2741 : : 3410, 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429,
2742 : : 3430, 3431, 3432, 3433, 3411, 3434, 3412, 3413, 3414, 3435,
2743 : : 3436, 3437, 3415, 3439, 3416, 3417, 3418, 3419, 3420, 3441,
2744 : :
2745 : : 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430,
2746 : : 3431, 3432, 3433, 3442, 3434, 3443, 3444, 3445, 3435, 3436,
2747 : : 3437, 3446, 3439, 3447, 3448, 3449, 3450, 3451, 3441, 3452,
2748 : : 3453, 3454, 3455, 3456, 3456, 3456, 3456, 3457, 3458, 3459,
2749 : : 3460, 3461, 3442, 3462, 3443, 3444, 3445, 3463, 3464, 3465,
2750 : : 3446, 3466, 3447, 3448, 3449, 3450, 3451, 3467, 3452, 3453,
2751 : : 3454, 3455, 3468, 3469, 3470, 3471, 3457, 3458, 3459, 3460,
2752 : : 3461, 3472, 3462, 3473, 3474, 3475, 3463, 3464, 3465, 3476,
2753 : : 3466, 3477, 3478, 3479, 3480, 3481, 3467, 3482, 3483, 3484,
2754 : : 3485, 3468, 3469, 3470, 3471, 3486, 3487, 3488, 3489, 3490,
2755 : :
2756 : : 3472, 3491, 3473, 3474, 3475, 3492, 3493, 3494, 3476, 3495,
2757 : : 3477, 3478, 3479, 3480, 3481, 3496, 3482, 3483, 3484, 3485,
2758 : : 3497, 3498, 3499, 3500, 3486, 3487, 3488, 3489, 3490, 3501,
2759 : : 3491, 3502, 3503, 3504, 3492, 3493, 3494, 3505, 3495, 3506,
2760 : : 3507, 3508, 3509, 3510, 3496, 3511, 3512, 3513, 3514, 3497,
2761 : : 3498, 3499, 3500, 3515, 3516, 3517, 3518, 3519, 3501, 3520,
2762 : : 3502, 3503, 3504, 3521, 3522, 3524, 3505, 3526, 3506, 3507,
2763 : : 3508, 3509, 3510, 3527, 3511, 3512, 3513, 3514, 3528, 3529,
2764 : : 3530, 3531, 3515, 3516, 3517, 3518, 3519, 3532, 3520, 3533,
2765 : : 3534, 3535, 3521, 3522, 3524, 3536, 3526, 3537, 3538, 3539,
2766 : :
2767 : : 3540, 4503, 3527, 3541, 3541, 3541, 3541, 3528, 3529, 3530,
2768 : : 3531, 3168, 3168, 3168, 3168, 3543, 3532, 3544, 3533, 3534,
2769 : : 3535, 3545, 3546, 3547, 3536, 3548, 3537, 3538, 3539, 3540,
2770 : : 3542, 3542, 3542, 3542, 3549, 3550, 3551, 3552, 3553, 3554,
2771 : : 3555, 3556, 3557, 3558, 3543, 3559, 3544, 3560, 3561, 3562,
2772 : : 3545, 3546, 3547, 3563, 3548, 3564, 3565, 3566, 3567, 3568,
2773 : : 3569, 3570, 3571, 3549, 3550, 3551, 3552, 3553, 3554, 3555,
2774 : : 3556, 3557, 3558, 3572, 3559, 3573, 3560, 3561, 3562, 3574,
2775 : : 3575, 3576, 3563, 3577, 3564, 3565, 3566, 3567, 3568, 3569,
2776 : : 3570, 3571, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585,
2777 : :
2778 : : 3586, 3587, 3572, 3588, 3573, 3589, 3590, 3591, 3574, 3575,
2779 : : 3576, 3592, 3577, 3593, 3594, 3595, 3596, 3597, 3598, 3599,
2780 : : 3600, 3578, 3579, 3580, 3581, 3582, 3583, 3584, 3585, 3586,
2781 : : 3587, 3601, 3588, 3602, 3589, 3590, 3591, 3603, 3604, 3605,
2782 : : 3592, 3606, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600,
2783 : : 3607, 3608, 3610, 3612, 3613, 3614, 3615, 3616, 3617, 3618,
2784 : : 3601, 3619, 3602, 3620, 3621, 3622, 3603, 3604, 3605, 3623,
2785 : : 3606, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3607,
2786 : : 3608, 3610, 3612, 3613, 3614, 3615, 3616, 3617, 3618, 3632,
2787 : : 3619, 3633, 3620, 3621, 3622, 3634, 3636, 3637, 3623, 3638,
2788 : :
2789 : : 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3639, 3640,
2790 : : 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3632, 3649,
2791 : : 3633, 3650, 3651, 3652, 3634, 3636, 3637, 3653, 3638, 3656,
2792 : : 3654, 3657, 3658, 3659, 3660, 3661, 3662, 3639, 3640, 3641,
2793 : : 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3663, 3649, 3655,
2794 : : 3650, 3651, 3652, 3664, 3666, 3667, 3653, 3670, 3656, 3654,
2795 : : 3657, 3658, 3659, 3660, 3661, 3662, 3668, 3671, 3672, 3669,
2796 : : 3673, 3674, 3675, 3676, 3677, 3678, 3663, 3679, 3680, 3681,
2797 : : 3682, 3683, 3664, 3666, 3667, 3684, 3670, 3685, 3686, 3687,
2798 : : 3688, 3690, 3691, 3692, 3693, 3668, 3671, 3672, 3669, 3673,
2799 : :
2800 : : 3674, 3675, 3676, 3677, 3678, 3694, 3679, 3680, 3681, 3682,
2801 : : 3683, 3695, 3696, 3697, 3684, 3698, 3685, 3686, 3687, 3688,
2802 : : 3690, 3691, 3692, 3693, 3699, 3700, 3701, 3702, 3703, 3704,
2803 : : 3705, 3706, 3707, 3708, 3694, 3710, 3711, 3712, 3713, 3714,
2804 : : 3695, 3696, 3697, 3715, 3698, 3716, 3717, 3718, 3720, 3721,
2805 : : 3724, 3725, 3709, 3699, 3700, 3701, 3702, 3703, 3704, 3705,
2806 : : 3706, 3707, 3708, 3726, 3710, 3711, 3712, 3713, 3714, 3727,
2807 : : 3722, 3728, 3715, 3723, 3716, 3717, 3718, 3720, 3721, 3724,
2808 : : 3725, 3729, 3730, 3731, 3732, 3733, 3734, 3456, 3456, 3456,
2809 : : 3456, 3735, 3726, 3736, 3737, 3738, 3739, 3740, 3727, 3722,
2810 : :
2811 : : 3728, 3741, 3723, 3742, 3744, 3745, 3746, 3747, 3748, 3749,
2812 : : 3729, 3730, 3731, 3732, 3733, 3734, 3750, 3751, 3752, 3753,
2813 : : 3735, 3754, 3736, 3737, 3738, 3739, 3740, 3755, 3756, 3757,
2814 : : 3741, 3758, 3742, 3744, 3745, 3746, 3747, 3748, 3749, 3759,
2815 : : 3760, 3761, 3762, 3764, 3765, 3750, 3751, 3752, 3753, 3766,
2816 : : 3754, 3767, 3768, 3769, 3770, 3771, 3755, 3756, 3757, 3772,
2817 : : 3758, 3763, 3774, 3775, 3776, 3778, 3779, 3777, 3759, 3760,
2818 : : 3761, 3762, 3764, 3765, 3780, 3781, 3782, 3783, 3766, 3784,
2819 : : 3767, 3768, 3769, 3770, 3771, 3785, 3786, 3787, 3772, 3788,
2820 : : 3789, 3774, 3775, 3776, 3778, 3779, 3777, 3541, 3541, 3541,
2821 : :
2822 : : 3541, 3790, 3791, 3780, 3781, 3782, 3783, 3792, 3784, 3168,
2823 : : 3168, 3168, 3168, 3793, 3785, 3786, 3787, 3794, 3788, 3789,
2824 : : 3795, 3796, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805,
2825 : : 3790, 3791, 3806, 3807, 3808, 3809, 3792, 3810, 3811, 3812,
2826 : : 3813, 3814, 3793, 3815, 3818, 3819, 3794, 3820, 3821, 3795,
2827 : : 3796, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3816,
2828 : : 3822, 3806, 3807, 3808, 3809, 3823, 3810, 3811, 3812, 3813,
2829 : : 3814, 3824, 3815, 3818, 3819, 3825, 3820, 3821, 3817, 3826,
2830 : : 3828, 3829, 3830, 3832, 3833, 3831, 3834, 3835, 3816, 3822,
2831 : : 3836, 3837, 3838, 3839, 3823, 3840, 3841, 3842, 3843, 3844,
2832 : :
2833 : : 3824, 3845, 3846, 3847, 3825, 3848, 4503, 4503, 3826, 3828,
2834 : : 3829, 3830, 3832, 3833, 3831, 3834, 3835, 3856, 3857, 3836,
2835 : : 3837, 3838, 3839, 4503, 3840, 3841, 3842, 3843, 3844, 3858,
2836 : : 3845, 3846, 3847, 3859, 3848, 3849, 3850, 3860, 3861, 3862,
2837 : : 3863, 3864, 3865, 3866, 3867, 3868, 3856, 3857, 3851, 3869,
2838 : : 3852, 3853, 3854, 3855, 3870, 3871, 3872, 3873, 3858, 3874,
2839 : : 3875, 3878, 3859, 3879, 3849, 3850, 3860, 3861, 3862, 3863,
2840 : : 3864, 3865, 3866, 3867, 3868, 3880, 3881, 3851, 3869, 3852,
2841 : : 3853, 3854, 3855, 3870, 3871, 3872, 3873, 3876, 3874, 3875,
2842 : : 3878, 3877, 3879, 3882, 3883, 3884, 3885, 3886, 3887, 3889,
2843 : :
2844 : : 3890, 3891, 3892, 3893, 3880, 3881, 3894, 3895, 3896, 3897,
2845 : : 4503, 4503, 3905, 3906, 3907, 3908, 3876, 3909, 3910, 3911,
2846 : : 3877, 3912, 3882, 3883, 3884, 3885, 3886, 3887, 3889, 3890,
2847 : : 3891, 3892, 3893, 3913, 3914, 3894, 3895, 3896, 3897, 3898,
2848 : : 3899, 3905, 3906, 3907, 3908, 3915, 3909, 3910, 3911, 3916,
2849 : : 3912, 3917, 3900, 3918, 3901, 3902, 3903, 3904, 3919, 3920,
2850 : : 3921, 3922, 3913, 3914, 3923, 3924, 3925, 3927, 3898, 3899,
2851 : : 3926, 3928, 3929, 3930, 3915, 3931, 3932, 3933, 3916, 3934,
2852 : : 3917, 3900, 3918, 3901, 3902, 3903, 3904, 3919, 3920, 3921,
2853 : : 3922, 3935, 3936, 3923, 3924, 3925, 3927, 3938, 3939, 3926,
2854 : :
2855 : : 3928, 3929, 3930, 3940, 3931, 3932, 3933, 3941, 3934, 3942,
2856 : : 3943, 3944, 3945, 3946, 4503, 4503, 3954, 3955, 3956, 3957,
2857 : : 3935, 3936, 3958, 3959, 3960, 3961, 3938, 3939, 3962, 4503,
2858 : : 4503, 4503, 3940, 3963, 3964, 3965, 3941, 3966, 3942, 3943,
2859 : : 3944, 3945, 3946, 3947, 3948, 3954, 3955, 3956, 3957, 3967,
2860 : : 3968, 3958, 3959, 3960, 3961, 3969, 3949, 3962, 3950, 3951,
2861 : : 3952, 3953, 3963, 3964, 3965, 3970, 3966, 3971, 3972, 3973,
2862 : : 3974, 3976, 3947, 3948, 3975, 3977, 3978, 3979, 3967, 3968,
2863 : : 3980, 3981, 3982, 3983, 3969, 3949, 3984, 3950, 3951, 3952,
2864 : : 3953, 3985, 3987, 3988, 3970, 3989, 3971, 3972, 3973, 3974,
2865 : :
2866 : : 3976, 3990, 3991, 3975, 3977, 3978, 3979, 3992, 3993, 3980,
2867 : : 3981, 3982, 3983, 3994, 3995, 3984, 4503, 4003, 4004, 4005,
2868 : : 3985, 3987, 3988, 4006, 3989, 4007, 4008, 4009, 4503, 4010,
2869 : : 3990, 3991, 4503, 4503, 4011, 4012, 3992, 3993, 4013, 4014,
2870 : : 4015, 4016, 3994, 3995, 3996, 3997, 4003, 4004, 4005, 4017,
2871 : : 4018, 4019, 4006, 4020, 4007, 4008, 4009, 3998, 4010, 3999,
2872 : : 4000, 4001, 4002, 4011, 4012, 4021, 4022, 4013, 4014, 4015,
2873 : : 4016, 4023, 4025, 3996, 3997, 4024, 4026, 4027, 4017, 4018,
2874 : : 4019, 4028, 4020, 4029, 4030, 4031, 3998, 4032, 3999, 4000,
2875 : : 4001, 4002, 4033, 4034, 4021, 4022, 4036, 4037, 4038, 4039,
2876 : :
2877 : : 4023, 4025, 4040, 4041, 4024, 4026, 4027, 4042, 4045, 4046,
2878 : : 4028, 4043, 4029, 4030, 4031, 4044, 4032, 4047, 4048, 4049,
2879 : : 4050, 4033, 4034, 4051, 4052, 4036, 4037, 4038, 4039, 4053,
2880 : : 4054, 4040, 4041, 4055, 4056, 4057, 4042, 4045, 4046, 4058,
2881 : : 4043, 4059, 4060, 4061, 4044, 4062, 4047, 4048, 4049, 4050,
2882 : : 4063, 4064, 4051, 4052, 4065, 4066, 4067, 4068, 4053, 4054,
2883 : : 4069, 4070, 4055, 4056, 4057, 4072, 4071, 4073, 4058, 4074,
2884 : : 4059, 4060, 4061, 4075, 4062, 4078, 4079, 4076, 4080, 4063,
2885 : : 4064, 4077, 4081, 4065, 4066, 4067, 4068, 4082, 4083, 4069,
2886 : : 4070, 4084, 4085, 4086, 4072, 4071, 4073, 4087, 4074, 4088,
2887 : :
2888 : : 4089, 4090, 4075, 4091, 4078, 4079, 4076, 4080, 4092, 4093,
2889 : : 4077, 4081, 4094, 4095, 4096, 4097, 4082, 4083, 4098, 4099,
2890 : : 4084, 4085, 4086, 4100, 4101, 4105, 4087, 4102, 4088, 4089,
2891 : : 4090, 4103, 4091, 4106, 4107, 4108, 4104, 4092, 4093, 4111,
2892 : : 4112, 4094, 4095, 4096, 4097, 4109, 4113, 4098, 4099, 4110,
2893 : : 4114, 4115, 4100, 4101, 4105, 4116, 4102, 4117, 4118, 4119,
2894 : : 4103, 4120, 4106, 4107, 4108, 4104, 4121, 4122, 4111, 4112,
2895 : : 4123, 4124, 4125, 4126, 4109, 4113, 4127, 4128, 4110, 4114,
2896 : : 4115, 4129, 4130, 4131, 4116, 4132, 4117, 4118, 4119, 4133,
2897 : : 4120, 4134, 4136, 4138, 4135, 4121, 4122, 4137, 4139, 4123,
2898 : :
2899 : : 4124, 4125, 4126, 4140, 4141, 4127, 4128, 4144, 4145, 4142,
2900 : : 4129, 4130, 4131, 4143, 4132, 4146, 4147, 4148, 4133, 4149,
2901 : : 4134, 4136, 4138, 4135, 4150, 4151, 4137, 4139, 4152, 4153,
2902 : : 4154, 4155, 4140, 4141, 4156, 4157, 4144, 4145, 4142, 4158,
2903 : : 4159, 4160, 4143, 4161, 4146, 4147, 4148, 4162, 4149, 4163,
2904 : : 4164, 4165, 4166, 4150, 4151, 4171, 4169, 4152, 4153, 4154,
2905 : : 4155, 4170, 4167, 4156, 4157, 4168, 4172, 4173, 4158, 4159,
2906 : : 4160, 4174, 4161, 4175, 4176, 4177, 4162, 4178, 4163, 4164,
2907 : : 4165, 4166, 4179, 4180, 4171, 4169, 4181, 4182, 4183, 4185,
2908 : : 4170, 4167, 4186, 4187, 4168, 4172, 4173, 4188, 4189, 4190,
2909 : :
2910 : : 4174, 4191, 4175, 4176, 4177, 4192, 4178, 4193, 4194, 4195,
2911 : : 4196, 4179, 4180, 4197, 4198, 4181, 4182, 4183, 4185, 4199,
2912 : : 4200, 4186, 4187, 4201, 4202, 4203, 4188, 4189, 4190, 4204,
2913 : : 4191, 4205, 4206, 4208, 4192, 4209, 4193, 4194, 4195, 4196,
2914 : : 4210, 4211, 4197, 4198, 4212, 4213, 4214, 4215, 4199, 4200,
2915 : : 4216, 4217, 4201, 4202, 4203, 4218, 4219, 4220, 4204, 4221,
2916 : : 4205, 4206, 4208, 4222, 4209, 4223, 4224, 4225, 4226, 4210,
2917 : : 4211, 4227, 4228, 4212, 4213, 4214, 4215, 4229, 4231, 4216,
2918 : : 4217, 4232, 4233, 4234, 4218, 4219, 4220, 4235, 4221, 4236,
2919 : : 4237, 4238, 4222, 4239, 4223, 4224, 4225, 4226, 4240, 4241,
2920 : :
2921 : : 4227, 4228, 4242, 4243, 4244, 4245, 4229, 4231, 4246, 4247,
2922 : : 4232, 4233, 4234, 4248, 4249, 4250, 4235, 4251, 4236, 4237,
2923 : : 4238, 4252, 4239, 4254, 4255, 4256, 4257, 4240, 4241, 4258,
2924 : : 4259, 4242, 4243, 4244, 4245, 4260, 4261, 4246, 4247, 4262,
2925 : : 4263, 4264, 4248, 4249, 4250, 4265, 4251, 4266, 4267, 4268,
2926 : : 4252, 4269, 4254, 4255, 4256, 4257, 4270, 4271, 4258, 4259,
2927 : : 4272, 4273, 4274, 4275, 4260, 4261, 4276, 4277, 4262, 4263,
2928 : : 4264, 4278, 4279, 4280, 4265, 4281, 4266, 4267, 4268, 4282,
2929 : : 4269, 4283, 4284, 4285, 4286, 4270, 4271, 4287, 4288, 4272,
2930 : : 4273, 4274, 4275, 4289, 4290, 4276, 4277, 4291, 4292, 4295,
2931 : :
2932 : : 4278, 4279, 4280, 4296, 4281, 4293, 4294, 4297, 4282, 4298,
2933 : : 4283, 4284, 4285, 4286, 4299, 4300, 4287, 4288, 4301, 4302,
2934 : : 4303, 4304, 4289, 4290, 4305, 4306, 4291, 4292, 4295, 4307,
2935 : : 4308, 4309, 4296, 4310, 4293, 4294, 4297, 4311, 4298, 4312,
2936 : : 4313, 4314, 4315, 4299, 4300, 4316, 4317, 4301, 4302, 4303,
2937 : : 4304, 4318, 4319, 4305, 4306, 4320, 4321, 4322, 4307, 4308,
2938 : : 4309, 4323, 4310, 4324, 4325, 4326, 4311, 4327, 4312, 4313,
2939 : : 4314, 4315, 4328, 4329, 4316, 4317, 4330, 4331, 4332, 4333,
2940 : : 4318, 4319, 4334, 4335, 4320, 4321, 4322, 4336, 4337, 4338,
2941 : : 4323, 4339, 4324, 4325, 4326, 4340, 4327, 4341, 4342, 4343,
2942 : :
2943 : : 4344, 4328, 4329, 4345, 4346, 4330, 4331, 4332, 4333, 4347,
2944 : : 4348, 4334, 4335, 4349, 4350, 4351, 4336, 4337, 4338, 4352,
2945 : : 4339, 4353, 4354, 4355, 4340, 4356, 4341, 4342, 4343, 4344,
2946 : : 4357, 4358, 4345, 4346, 4359, 4360, 4361, 4362, 4347, 4348,
2947 : : 4363, 4364, 4349, 4350, 4351, 4365, 4366, 4367, 4352, 4368,
2948 : : 4353, 4354, 4355, 4369, 4356, 4370, 4371, 4372, 4373, 4357,
2949 : : 4358, 4374, 4375, 4359, 4360, 4361, 4362, 4376, 4377, 4363,
2950 : : 4364, 4378, 4379, 4380, 4365, 4366, 4367, 4381, 4368, 4382,
2951 : : 4383, 4384, 4369, 4385, 4370, 4371, 4372, 4373, 4386, 4387,
2952 : : 4374, 4375, 4388, 4389, 4390, 4391, 4376, 4377, 4392, 4393,
2953 : :
2954 : : 4378, 4379, 4380, 4394, 4395, 4396, 4381, 4397, 4382, 4383,
2955 : : 4384, 4398, 4385, 4399, 4400, 4401, 4402, 4386, 4387, 4403,
2956 : : 4404, 4388, 4389, 4390, 4391, 4405, 4406, 4392, 4393, 4407,
2957 : : 4408, 4409, 4394, 4395, 4396, 4410, 4397, 4411, 4412, 4413,
2958 : : 4398, 4414, 4399, 4400, 4401, 4402, 4415, 4416, 4403, 4404,
2959 : : 4417, 4418, 4419, 4420, 4405, 4406, 4421, 4422, 4407, 4408,
2960 : : 4409, 4423, 4424, 4425, 4410, 4426, 4411, 4412, 4413, 4427,
2961 : : 4414, 4428, 4429, 4430, 4432, 4415, 4416, 4434, 4436, 4417,
2962 : : 4418, 4419, 4420, 4438, 4439, 4421, 4422, 4440, 4441, 4442,
2963 : : 4423, 4424, 4425, 4443, 4426, 4444, 4445, 4446, 4427, 4447,
2964 : :
2965 : : 4428, 4429, 4430, 4432, 4448, 4449, 4434, 4436, 4450, 4451,
2966 : : 4452, 4453, 4438, 4439, 4454, 4455, 4440, 4441, 4442, 4456,
2967 : : 4457, 4458, 4443, 4459, 4444, 4445, 4446, 4460, 4447, 4461,
2968 : : 4462, 4463, 4464, 4448, 4449, 4465, 4466, 4450, 4451, 4452,
2969 : : 4453, 4467, 4468, 4454, 4455, 4469, 4470, 4471, 4456, 4457,
2970 : : 4458, 4472, 4459, 4473, 4474, 4475, 4460, 4476, 4461, 4462,
2971 : : 4463, 4464, 4477, 4478, 4465, 4466, 4483, 4484, 4485, 4486,
2972 : : 4467, 4468, 4487, 4488, 4469, 4470, 4471, 4489, 4490, 4491,
2973 : : 4472, 4492, 4473, 4474, 4475, 4493, 4476, 4494, 4495, 4496,
2974 : : 4497, 4477, 4478, 4498, 4499, 4483, 4484, 4485, 4486, 4500,
2975 : :
2976 : : 4501, 4487, 4488, 4502, 4503, 4503, 4489, 4490, 4491, 4503,
2977 : : 4492, 4503, 4503, 4503, 4493, 4503, 4494, 4495, 4496, 4497,
2978 : : 4503, 4503, 4498, 4499, 4503, 4503, 4503, 4503, 4500, 4501,
2979 : : 4503, 4503, 4502, 280, 4503, 280, 397, 4503, 397, 404,
2980 : : 404, 404, 404, 404, 527, 4503, 527, 527, 527, 527,
2981 : : 527, 527, 529, 4503, 4503, 529, 529, 529, 4503, 529,
2982 : : 653, 653, 653, 653, 653, 653, 653, 653, 1226, 1226,
2983 : : 1226, 1226, 1226, 1226, 1226, 1226, 2653, 4503, 2653, 2653,
2984 : : 2653, 2653, 2653, 2653, 13, 4503, 4503, 4503, 4503, 4503,
2985 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
2986 : :
2987 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
2988 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
2989 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
2990 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
2991 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
2992 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
2993 : : 4503, 4503, 4503, 4503, 4503, 4503
2994 : : } ;
2995 : :
2996 : : static yyconst flex_int16_t yy_chk[9567] =
2997 : : { 0,
2998 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2999 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3000 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3001 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3002 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3003 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3004 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3005 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3006 : : 1, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3007 : : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3008 : :
3009 : : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3010 : : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3011 : : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3012 : : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3013 : : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3014 : : 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3015 : : 3, 3, 5, 5, 5, 5, 5, 5, 5, 5,
3016 : : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3017 : : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3018 : : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3019 : :
3020 : : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3021 : : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3022 : : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3023 : : 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
3024 : : 5, 5, 5, 7, 4478, 7, 7, 7, 7, 7,
3025 : : 8, 4477, 8, 8, 8, 8, 8, 9, 4476, 9,
3026 : : 9, 9, 9, 9, 10, 4475, 10, 10, 10, 10,
3027 : : 10, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3028 : : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3029 : : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3030 : :
3031 : : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3032 : : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3033 : : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3034 : : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3035 : : 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
3036 : : 11, 11, 15, 30, 15, 21, 21, 24, 24, 4426,
3037 : : 33, 24, 4420, 34, 40, 31, 47, 24, 48, 24,
3038 : : 59, 62, 4414, 24, 24, 24, 24, 24, 4408, 31,
3039 : : 63, 25, 30, 69, 77, 25, 24, 24, 25, 33,
3040 : : 24, 25, 34, 40, 31, 47, 24, 48, 24, 59,
3041 : :
3042 : : 62, 25, 24, 24, 24, 24, 24, 27, 31, 63,
3043 : : 25, 27, 69, 77, 25, 27, 4156, 25, 45, 4123,
3044 : : 25, 27, 122, 122, 27, 32, 45, 115, 4090, 115,
3045 : : 25, 26, 32, 78, 4057, 26, 27, 32, 26, 91,
3046 : : 27, 3993, 26, 94, 27, 26, 3944, 45, 26, 95,
3047 : : 27, 26, 28, 27, 32, 45, 51, 51, 51, 51,
3048 : : 26, 32, 78, 28, 26, 28, 32, 26, 91, 51,
3049 : : 28, 26, 94, 28, 26, 28, 3895, 26, 95, 3846,
3050 : : 26, 28, 152, 36, 152, 101, 52, 52, 52, 52,
3051 : : 52, 36, 28, 3836, 28, 44, 3782, 36, 51, 28,
3052 : :
3053 : : 52, 60, 28, 92, 28, 29, 44, 109, 44, 29,
3054 : : 110, 44, 36, 29, 101, 60, 29, 92, 29, 29,
3055 : : 36, 131, 29, 3728, 44, 29, 36, 3674, 3605, 52,
3056 : : 60, 3557, 92, 134, 29, 44, 109, 44, 29, 110,
3057 : : 44, 530, 29, 530, 60, 29, 92, 29, 29, 135,
3058 : : 131, 29, 132, 3519, 29, 35, 37, 35, 37, 35,
3059 : : 37, 141, 134, 35, 148, 43, 132, 149, 35, 35,
3060 : : 37, 158, 43, 43, 35, 37, 37, 3471, 135, 43,
3061 : : 159, 132, 43, 43, 35, 37, 35, 37, 35, 37,
3062 : : 141, 3434, 35, 148, 43, 132, 149, 35, 35, 37,
3063 : :
3064 : : 158, 43, 43, 35, 37, 37, 38, 38, 43, 159,
3065 : : 38, 43, 43, 39, 38, 41, 38, 39, 38, 41,
3066 : : 38, 39, 38, 41, 38, 38, 38, 39, 46, 41,
3067 : : 39, 46, 46, 39, 41, 38, 38, 3386, 46, 38,
3068 : : 3350, 3302, 39, 38, 41, 38, 39, 38, 41, 38,
3069 : : 39, 38, 41, 38, 38, 38, 39, 46, 41, 39,
3070 : : 46, 46, 39, 41, 42, 54, 42, 46, 160, 54,
3071 : : 42, 74, 54, 163, 42, 54, 42, 42, 42, 74,
3072 : : 75, 42, 42, 75, 75, 54, 42, 3268, 3266, 166,
3073 : : 75, 3147, 3145, 42, 54, 42, 3028, 160, 54, 42,
3074 : :
3075 : : 74, 54, 163, 42, 54, 42, 42, 42, 74, 75,
3076 : : 42, 42, 75, 75, 54, 42, 53, 53, 166, 75,
3077 : : 53, 106, 113, 113, 113, 113, 53, 3026, 53, 106,
3078 : : 146, 162, 53, 53, 53, 53, 53, 2910, 146, 56,
3079 : : 167, 2908, 170, 56, 2747, 53, 53, 56, 2708, 53,
3080 : : 106, 2696, 162, 56, 2657, 53, 56, 53, 106, 146,
3081 : : 162, 53, 53, 53, 53, 53, 55, 146, 56, 167,
3082 : : 55, 170, 56, 55, 2586, 171, 56, 55, 2547, 2535,
3083 : : 55, 162, 56, 55, 61, 56, 55, 57, 164, 65,
3084 : : 174, 61, 176, 97, 164, 55, 61, 65, 57, 55,
3085 : :
3086 : : 57, 97, 55, 65, 171, 57, 55, 97, 57, 55,
3087 : : 57, 2496, 55, 61, 2427, 55, 57, 164, 65, 174,
3088 : : 61, 176, 97, 164, 2388, 61, 65, 57, 2376, 57,
3089 : : 97, 2337, 65, 137, 57, 161, 97, 57, 68, 57,
3090 : : 58, 137, 68, 161, 58, 165, 68, 137, 58, 173,
3091 : : 183, 58, 68, 58, 58, 68, 173, 58, 68, 165,
3092 : : 58, 2492, 137, 2492, 161, 2270, 2652, 68, 2652, 58,
3093 : : 137, 68, 161, 58, 165, 68, 137, 58, 173, 183,
3094 : : 58, 68, 58, 58, 68, 173, 58, 68, 165, 58,
3095 : : 64, 66, 64, 66, 64, 66, 178, 175, 64, 184,
3096 : :
3097 : : 72, 175, 185, 64, 64, 66, 178, 72, 72, 64,
3098 : : 66, 66, 2231, 2219, 72, 2180, 2081, 72, 72, 64,
3099 : : 66, 64, 66, 64, 66, 178, 175, 64, 184, 72,
3100 : : 175, 185, 64, 64, 66, 178, 72, 72, 64, 66,
3101 : : 66, 67, 67, 72, 70, 67, 72, 72, 70, 67,
3102 : : 186, 67, 70, 67, 187, 67, 73, 67, 70, 67,
3103 : : 67, 67, 188, 70, 2073, 189, 2023, 73, 1996, 73,
3104 : : 67, 67, 73, 70, 67, 1885, 1877, 70, 67, 186,
3105 : : 67, 70, 67, 187, 67, 73, 67, 70, 67, 67,
3106 : : 67, 188, 70, 71, 189, 71, 73, 93, 73, 71,
3107 : :
3108 : : 1827, 73, 1800, 71, 93, 71, 71, 71, 1691, 93,
3109 : : 71, 71, 191, 1683, 1633, 71, 83, 83, 83, 83,
3110 : : 1606, 1501, 71, 102, 71, 1493, 93, 102, 71, 83,
3111 : : 1443, 102, 71, 93, 71, 71, 71, 102, 93, 71,
3112 : : 71, 191, 102, 84, 71, 84, 84, 84, 84, 84,
3113 : : 179, 192, 102, 168, 168, 179, 102, 1416, 83, 84,
3114 : : 102, 1332, 111, 111, 111, 111, 102, 168, 1247, 1137,
3115 : : 1052, 102, 947, 193, 89, 111, 862, 759, 674, 179,
3116 : : 192, 180, 168, 168, 179, 89, 180, 89, 84, 85,
3117 : : 85, 653, 89, 85, 154, 89, 168, 89, 182, 85,
3118 : :
3119 : : 194, 85, 193, 89, 111, 85, 85, 85, 85, 85,
3120 : : 180, 182, 197, 86, 89, 180, 89, 86, 85, 85,
3121 : : 86, 89, 85, 86, 89, 200, 89, 182, 85, 194,
3122 : : 85, 151, 124, 86, 85, 85, 85, 85, 85, 88,
3123 : : 182, 197, 86, 88, 105, 120, 86, 88, 117, 86,
3124 : : 199, 49, 86, 88, 200, 105, 88, 105, 201, 133,
3125 : : 105, 100, 86, 87, 199, 100, 133, 87, 88, 100,
3126 : : 87, 133, 88, 105, 87, 100, 88, 87, 100, 199,
3127 : : 87, 100, 88, 87, 105, 88, 105, 201, 133, 105,
3128 : : 100, 23, 87, 199, 100, 133, 87, 20, 100, 87,
3129 : :
3130 : : 133, 17, 202, 87, 100, 205, 87, 100, 206, 87,
3131 : : 100, 104, 87, 90, 196, 13, 0, 90, 104, 104,
3132 : : 196, 90, 0, 196, 90, 104, 90, 90, 104, 104,
3133 : : 90, 202, 208, 90, 205, 0, 0, 206, 0, 0,
3134 : : 104, 107, 90, 196, 107, 107, 90, 104, 104, 196,
3135 : : 90, 107, 196, 90, 104, 90, 90, 104, 104, 90,
3136 : : 213, 208, 90, 96, 98, 96, 98, 96, 98, 0,
3137 : : 107, 96, 198, 107, 107, 214, 96, 96, 98, 198,
3138 : : 107, 0, 96, 98, 98, 400, 400, 400, 400, 213,
3139 : : 215, 217, 96, 98, 96, 98, 96, 98, 207, 0,
3140 : :
3141 : : 96, 198, 0, 0, 214, 96, 96, 98, 198, 207,
3142 : : 207, 96, 98, 98, 99, 99, 169, 142, 99, 215,
3143 : : 217, 142, 99, 169, 99, 142, 99, 207, 99, 169,
3144 : : 99, 142, 99, 99, 99, 0, 142, 0, 207, 207,
3145 : : 210, 0, 210, 99, 99, 169, 142, 99, 0, 0,
3146 : : 142, 99, 169, 99, 142, 99, 0, 99, 169, 99,
3147 : : 142, 99, 99, 99, 103, 142, 103, 190, 223, 210,
3148 : : 103, 210, 0, 190, 103, 0, 103, 103, 103, 218,
3149 : : 190, 103, 103, 218, 190, 112, 103, 112, 112, 112,
3150 : : 112, 112, 224, 103, 216, 103, 190, 223, 0, 103,
3151 : :
3152 : : 0, 112, 190, 103, 216, 103, 103, 103, 218, 190,
3153 : : 103, 103, 218, 190, 0, 103, 129, 225, 0, 0,
3154 : : 0, 224, 0, 216, 212, 227, 0, 129, 212, 129,
3155 : : 112, 125, 125, 216, 129, 125, 0, 129, 228, 129,
3156 : : 229, 125, 230, 125, 212, 129, 225, 125, 125, 125,
3157 : : 125, 125, 0, 212, 227, 126, 129, 212, 129, 126,
3158 : : 125, 125, 126, 129, 125, 126, 129, 228, 129, 229,
3159 : : 125, 230, 125, 212, 0, 126, 125, 125, 125, 125,
3160 : : 125, 128, 0, 0, 126, 128, 145, 0, 126, 128,
3161 : : 0, 126, 0, 0, 126, 128, 0, 145, 128, 145,
3162 : :
3163 : : 219, 219, 145, 140, 126, 127, 231, 140, 209, 127,
3164 : : 128, 140, 127, 209, 128, 145, 127, 140, 128, 127,
3165 : : 140, 209, 127, 140, 128, 127, 145, 128, 145, 219,
3166 : : 219, 145, 140, 232, 127, 231, 140, 209, 127, 0,
3167 : : 140, 127, 209, 0, 220, 127, 140, 220, 127, 140,
3168 : : 209, 127, 140, 144, 127, 130, 233, 0, 0, 130,
3169 : : 144, 144, 232, 130, 0, 234, 130, 144, 130, 130,
3170 : : 144, 144, 130, 220, 0, 130, 220, 524, 524, 524,
3171 : : 524, 0, 144, 147, 130, 233, 147, 147, 130, 144,
3172 : : 144, 0, 130, 147, 234, 130, 144, 130, 130, 144,
3173 : :
3174 : : 144, 130, 221, 221, 130, 136, 138, 136, 138, 136,
3175 : : 138, 235, 147, 136, 239, 147, 147, 237, 136, 136,
3176 : : 138, 237, 147, 240, 136, 138, 138, 0, 0, 222,
3177 : : 222, 221, 221, 243, 136, 138, 136, 138, 136, 138,
3178 : : 235, 0, 136, 239, 0, 0, 237, 136, 136, 138,
3179 : : 237, 0, 240, 136, 138, 138, 139, 139, 222, 222,
3180 : : 139, 238, 243, 241, 139, 238, 139, 245, 139, 244,
3181 : : 139, 238, 139, 241, 139, 139, 139, 0, 244, 0,
3182 : : 244, 246, 249, 0, 0, 139, 139, 0, 251, 139,
3183 : : 238, 0, 241, 139, 238, 139, 245, 139, 244, 139,
3184 : :
3185 : : 238, 139, 241, 139, 139, 139, 143, 244, 143, 244,
3186 : : 246, 249, 143, 250, 252, 255, 143, 251, 143, 143,
3187 : : 143, 250, 181, 143, 143, 181, 181, 257, 143, 0,
3188 : : 0, 181, 262, 181, 0, 143, 0, 143, 181, 0,
3189 : : 0, 143, 250, 252, 255, 143, 267, 143, 143, 143,
3190 : : 250, 181, 143, 143, 181, 181, 257, 143, 177, 203,
3191 : : 181, 262, 181, 247, 203, 203, 268, 181, 242, 177,
3192 : : 177, 177, 247, 242, 0, 267, 177, 177, 177, 247,
3193 : : 247, 0, 253, 242, 248, 253, 242, 177, 203, 0,
3194 : : 269, 248, 247, 203, 203, 268, 0, 242, 177, 177,
3195 : :
3196 : : 177, 247, 242, 248, 256, 177, 177, 177, 247, 247,
3197 : : 254, 253, 242, 248, 253, 242, 256, 258, 260, 269,
3198 : : 248, 254, 263, 264, 266, 258, 260, 270, 271, 263,
3199 : : 266, 263, 248, 256, 272, 264, 265, 273, 260, 254,
3200 : : 265, 281, 282, 283, 265, 256, 258, 260, 0, 0,
3201 : : 254, 263, 264, 266, 258, 260, 270, 271, 263, 266,
3202 : : 263, 0, 0, 272, 264, 265, 273, 260, 0, 265,
3203 : : 281, 282, 283, 265, 275, 275, 275, 275, 276, 286,
3204 : : 276, 0, 276, 276, 276, 276, 0, 275, 277, 277,
3205 : : 277, 277, 278, 278, 278, 278, 278, 285, 279, 284,
3206 : :
3207 : : 279, 277, 279, 279, 279, 279, 278, 284, 286, 287,
3208 : : 288, 289, 290, 291, 291, 287, 275, 293, 285, 294,
3209 : : 297, 299, 306, 0, 288, 296, 285, 291, 284, 0,
3210 : : 277, 0, 296, 298, 0, 278, 284, 298, 287, 288,
3211 : : 289, 290, 291, 291, 287, 292, 293, 285, 294, 297,
3212 : : 299, 306, 292, 288, 296, 301, 291, 307, 292, 0,
3213 : : 305, 296, 298, 302, 303, 301, 298, 308, 302, 303,
3214 : : 0, 0, 0, 305, 292, 309, 310, 527, 527, 527,
3215 : : 527, 292, 311, 0, 301, 312, 307, 292, 300, 305,
3216 : : 314, 0, 302, 303, 301, 315, 308, 302, 303, 300,
3217 : :
3218 : : 300, 300, 305, 316, 309, 310, 300, 300, 300, 304,
3219 : : 313, 311, 304, 304, 312, 317, 313, 300, 304, 314,
3220 : : 304, 320, 323, 313, 315, 304, 321, 313, 300, 300,
3221 : : 300, 0, 316, 321, 319, 300, 300, 300, 304, 313,
3222 : : 319, 304, 304, 319, 317, 313, 322, 304, 324, 304,
3223 : : 320, 323, 313, 325, 304, 321, 313, 328, 329, 326,
3224 : : 322, 331, 321, 319, 326, 326, 336, 330, 332, 319,
3225 : : 337, 0, 319, 332, 333, 322, 333, 324, 330, 330,
3226 : : 335, 332, 325, 338, 335, 340, 328, 329, 326, 322,
3227 : : 331, 339, 0, 326, 326, 336, 330, 332, 346, 337,
3228 : :
3229 : : 335, 339, 332, 333, 347, 333, 348, 330, 330, 335,
3230 : : 332, 341, 338, 335, 340, 341, 342, 342, 343, 350,
3231 : : 339, 343, 344, 344, 345, 345, 351, 346, 352, 335,
3232 : : 339, 353, 354, 347, 355, 348, 356, 357, 358, 360,
3233 : : 341, 362, 363, 360, 341, 342, 342, 343, 350, 364,
3234 : : 343, 344, 344, 345, 345, 351, 366, 352, 368, 364,
3235 : : 353, 354, 369, 355, 0, 356, 357, 358, 360, 361,
3236 : : 362, 363, 360, 361, 372, 365, 374, 0, 364, 361,
3237 : : 365, 375, 371, 367, 0, 366, 378, 368, 364, 371,
3238 : : 365, 369, 367, 365, 367, 380, 0, 370, 361, 373,
3239 : :
3240 : : 385, 371, 361, 372, 365, 374, 370, 373, 361, 365,
3241 : : 375, 371, 367, 370, 370, 378, 377, 376, 371, 365,
3242 : : 376, 367, 365, 367, 380, 379, 370, 377, 373, 385,
3243 : : 371, 381, 383, 390, 0, 370, 373, 379, 0, 381,
3244 : : 383, 386, 370, 370, 391, 377, 376, 387, 386, 376,
3245 : : 386, 389, 383, 392, 379, 393, 377, 389, 394, 387,
3246 : : 381, 383, 390, 388, 395, 396, 379, 388, 381, 383,
3247 : : 386, 388, 0, 391, 0, 0, 387, 386, 0, 386,
3248 : : 389, 383, 392, 0, 393, 0, 389, 394, 387, 0,
3249 : : 0, 405, 388, 395, 396, 0, 388, 406, 0, 0,
3250 : :
3251 : : 388, 398, 398, 398, 398, 399, 0, 399, 407, 399,
3252 : : 399, 399, 399, 410, 398, 401, 401, 401, 401, 402,
3253 : : 405, 402, 402, 402, 402, 402, 406, 403, 401, 403,
3254 : : 408, 403, 403, 403, 403, 402, 412, 407, 408, 409,
3255 : : 411, 413, 410, 398, 414, 416, 411, 415, 415, 417,
3256 : : 412, 418, 416, 421, 423, 420, 425, 401, 416, 408,
3257 : : 409, 415, 420, 0, 402, 412, 425, 408, 409, 411,
3258 : : 413, 430, 0, 414, 416, 411, 415, 415, 417, 412,
3259 : : 418, 416, 421, 423, 420, 425, 0, 416, 422, 409,
3260 : : 415, 420, 422, 0, 426, 425, 427, 0, 431, 426,
3261 : :
3262 : : 430, 427, 0, 429, 0, 0, 0, 432, 433, 434,
3263 : : 435, 0, 0, 0, 436, 428, 429, 422, 428, 428,
3264 : : 438, 422, 424, 426, 428, 427, 428, 431, 426, 439,
3265 : : 427, 428, 429, 424, 424, 424, 432, 433, 434, 435,
3266 : : 424, 424, 424, 436, 428, 429, 440, 428, 428, 438,
3267 : : 441, 424, 444, 428, 445, 428, 447, 448, 439, 437,
3268 : : 428, 445, 424, 424, 424, 437, 446, 449, 443, 424,
3269 : : 424, 424, 437, 452, 443, 440, 437, 443, 453, 441,
3270 : : 446, 444, 0, 445, 455, 447, 448, 450, 437, 457,
3271 : : 445, 457, 450, 450, 437, 446, 449, 443, 460, 454,
3272 : :
3273 : : 461, 437, 452, 443, 459, 437, 443, 453, 459, 446,
3274 : : 454, 454, 456, 455, 462, 464, 450, 456, 457, 465,
3275 : : 457, 450, 450, 465, 459, 456, 463, 460, 454, 461,
3276 : : 466, 466, 467, 459, 470, 467, 463, 459, 471, 454,
3277 : : 454, 456, 472, 462, 464, 474, 456, 475, 465, 468,
3278 : : 468, 476, 465, 459, 456, 463, 469, 469, 477, 466,
3279 : : 466, 467, 478, 470, 467, 463, 479, 471, 480, 481,
3280 : : 482, 472, 486, 484, 474, 487, 475, 484, 468, 468,
3281 : : 476, 490, 488, 0, 485, 469, 469, 477, 485, 0,
3282 : : 492, 478, 488, 493, 485, 479, 496, 480, 481, 482,
3283 : :
3284 : : 489, 486, 484, 491, 487, 489, 484, 498, 499, 495,
3285 : : 490, 488, 491, 485, 491, 489, 495, 485, 489, 492,
3286 : : 0, 488, 493, 485, 502, 496, 504, 497, 495, 489,
3287 : : 509, 505, 491, 494, 489, 497, 498, 499, 495, 505,
3288 : : 514, 491, 494, 491, 489, 495, 503, 489, 500, 494,
3289 : : 494, 500, 501, 502, 511, 504, 497, 495, 503, 509,
3290 : : 505, 0, 494, 501, 497, 507, 511, 510, 505, 514,
3291 : : 515, 494, 516, 507, 510, 503, 510, 500, 494, 494,
3292 : : 500, 501, 512, 511, 517, 507, 512, 503, 518, 519,
3293 : : 512, 513, 501, 520, 507, 511, 510, 513, 0, 515,
3294 : :
3295 : : 0, 516, 507, 510, 0, 510, 837, 837, 837, 837,
3296 : : 536, 512, 0, 517, 507, 512, 0, 518, 519, 512,
3297 : : 513, 0, 520, 0, 0, 0, 513, 521, 521, 521,
3298 : : 521, 522, 0, 522, 537, 522, 522, 522, 522, 536,
3299 : : 521, 523, 523, 523, 523, 525, 538, 525, 525, 525,
3300 : : 525, 525, 528, 526, 523, 526, 540, 526, 526, 526,
3301 : : 526, 525, 0, 537, 528, 528, 528, 528, 541, 521,
3302 : : 532, 532, 539, 532, 543, 538, 532, 540, 542, 544,
3303 : : 539, 545, 548, 523, 542, 540, 549, 532, 543, 0,
3304 : : 525, 532, 552, 0, 0, 551, 554, 541, 546, 546,
3305 : :
3306 : : 0, 539, 551, 543, 556, 0, 540, 542, 544, 539,
3307 : : 545, 548, 546, 542, 556, 549, 547, 543, 532, 561,
3308 : : 562, 552, 553, 547, 551, 554, 553, 546, 546, 547,
3309 : : 0, 551, 557, 556, 558, 0, 563, 557, 564, 558,
3310 : : 0, 546, 0, 556, 565, 547, 566, 560, 561, 562,
3311 : : 0, 553, 547, 559, 567, 553, 559, 559, 547, 555,
3312 : : 560, 557, 559, 558, 559, 563, 557, 564, 558, 559,
3313 : : 555, 555, 555, 565, 569, 566, 560, 555, 555, 555,
3314 : : 0, 570, 559, 567, 0, 559, 559, 571, 555, 560,
3315 : : 572, 559, 575, 559, 578, 579, 568, 576, 559, 555,
3316 : :
3317 : : 555, 555, 568, 569, 576, 574, 555, 555, 555, 568,
3318 : : 570, 574, 580, 568, 574, 577, 571, 583, 584, 572,
3319 : : 0, 575, 581, 578, 579, 568, 576, 581, 581, 577,
3320 : : 586, 568, 591, 576, 574, 0, 592, 585, 568, 593,
3321 : : 574, 580, 568, 574, 577, 595, 583, 584, 585, 585,
3322 : : 587, 581, 588, 601, 588, 587, 581, 581, 577, 586,
3323 : : 590, 591, 594, 587, 590, 592, 585, 596, 593, 597,
3324 : : 597, 596, 594, 598, 595, 602, 598, 585, 585, 587,
3325 : : 590, 588, 601, 588, 587, 599, 599, 600, 600, 590,
3326 : : 603, 594, 587, 590, 605, 606, 596, 607, 597, 597,
3327 : :
3328 : : 596, 594, 598, 608, 602, 598, 609, 610, 611, 590,
3329 : : 612, 613, 617, 618, 599, 599, 600, 600, 615, 603,
3330 : : 619, 616, 615, 605, 606, 616, 607, 621, 620, 623,
3331 : : 619, 616, 608, 620, 624, 609, 610, 611, 627, 612,
3332 : : 613, 617, 618, 620, 622, 0, 620, 615, 629, 619,
3333 : : 616, 615, 625, 622, 616, 622, 621, 620, 623, 619,
3334 : : 616, 625, 620, 624, 626, 630, 628, 627, 625, 625,
3335 : : 633, 626, 620, 622, 628, 620, 631, 629, 632, 631,
3336 : : 634, 625, 622, 626, 622, 635, 640, 0, 636, 632,
3337 : : 625, 0, 634, 626, 630, 628, 636, 625, 625, 633,
3338 : :
3339 : : 626, 645, 638, 628, 641, 631, 646, 632, 631, 634,
3340 : : 638, 641, 626, 641, 635, 640, 642, 636, 632, 643,
3341 : : 644, 634, 638, 643, 647, 636, 644, 643, 642, 648,
3342 : : 645, 638, 649, 641, 650, 646, 651, 656, 657, 638,
3343 : : 641, 659, 641, 662, 663, 642, 664, 665, 643, 644,
3344 : : 666, 638, 643, 647, 667, 644, 643, 642, 648, 669,
3345 : : 670, 649, 671, 650, 672, 651, 656, 657, 673, 675,
3346 : : 659, 676, 662, 663, 677, 664, 665, 678, 679, 666,
3347 : : 680, 681, 682, 667, 683, 684, 685, 0, 669, 670,
3348 : : 689, 671, 678, 672, 690, 691, 692, 673, 675, 686,
3349 : :
3350 : : 676, 694, 0, 677, 0, 696, 678, 679, 696, 680,
3351 : : 681, 682, 697, 683, 684, 685, 686, 693, 686, 689,
3352 : : 698, 678, 699, 690, 691, 692, 695, 695, 686, 700,
3353 : : 694, 693, 693, 693, 696, 701, 702, 696, 703, 704,
3354 : : 705, 697, 706, 707, 709, 686, 693, 686, 710, 698,
3355 : : 711, 699, 712, 714, 715, 695, 695, 711, 700, 716,
3356 : : 693, 693, 693, 717, 701, 702, 718, 703, 704, 705,
3357 : : 719, 706, 707, 709, 720, 721, 722, 710, 723, 711,
3358 : : 718, 712, 714, 715, 724, 725, 711, 726, 716, 727,
3359 : : 728, 729, 717, 730, 733, 718, 731, 736, 732, 719,
3360 : :
3361 : : 737, 738, 739, 720, 721, 722, 740, 723, 732, 718,
3362 : : 741, 731, 742, 724, 725, 743, 726, 744, 727, 728,
3363 : : 729, 745, 730, 733, 746, 731, 736, 732, 747, 737,
3364 : : 738, 739, 749, 751, 745, 740, 752, 732, 753, 741,
3365 : : 731, 742, 754, 756, 743, 760, 744, 761, 752, 762,
3366 : : 763, 764, 765, 746, 767, 768, 769, 747, 770, 771,
3367 : : 772, 749, 751, 745, 773, 752, 774, 753, 775, 776,
3368 : : 777, 754, 756, 778, 760, 779, 761, 752, 762, 763,
3369 : : 764, 765, 778, 767, 768, 769, 780, 770, 771, 772,
3370 : : 781, 782, 784, 773, 785, 774, 787, 775, 776, 777,
3371 : :
3372 : : 783, 786, 778, 783, 779, 788, 789, 783, 786, 790,
3373 : : 792, 778, 793, 791, 794, 780, 795, 796, 798, 781,
3374 : : 782, 784, 791, 785, 800, 787, 801, 802, 803, 783,
3375 : : 786, 804, 783, 805, 788, 789, 783, 786, 790, 792,
3376 : : 806, 793, 791, 794, 807, 795, 796, 798, 808, 810,
3377 : : 811, 813, 814, 800, 815, 801, 802, 803, 816, 817,
3378 : : 804, 818, 805, 816, 819, 817, 820, 822, 823, 806,
3379 : : 818, 824, 821, 807, 821, 825, 826, 808, 810, 811,
3380 : : 813, 814, 827, 815, 828, 830, 831, 816, 817, 833,
3381 : : 818, 834, 816, 819, 817, 820, 822, 823, 832, 818,
3382 : :
3383 : : 824, 821, 832, 821, 825, 826, 829, 829, 835, 836,
3384 : : 0, 827, 0, 828, 830, 831, 0, 844, 833, 0,
3385 : : 834, 838, 838, 838, 838, 0, 0, 832, 845, 829,
3386 : : 0, 832, 829, 0, 847, 829, 829, 835, 836, 839,
3387 : : 839, 839, 839, 840, 850, 840, 844, 840, 840, 840,
3388 : : 840, 851, 839, 841, 841, 841, 841, 845, 829, 842,
3389 : : 842, 842, 842, 847, 852, 853, 854, 855, 857, 858,
3390 : : 859, 860, 861, 850, 863, 864, 865, 866, 867, 868,
3391 : : 851, 839, 869, 870, 871, 872, 873, 877, 878, 879,
3392 : : 880, 0, 866, 852, 853, 854, 855, 857, 858, 859,
3393 : :
3394 : : 860, 861, 882, 863, 864, 865, 866, 867, 868, 874,
3395 : : 885, 869, 870, 871, 872, 873, 877, 878, 879, 880,
3396 : : 881, 866, 883, 883, 884, 886, 874, 884, 874, 887,
3397 : : 888, 882, 889, 890, 881, 881, 881, 891, 874, 885,
3398 : : 892, 893, 894, 895, 897, 898, 900, 902, 903, 881,
3399 : : 904, 883, 883, 884, 886, 874, 884, 874, 887, 888,
3400 : : 899, 889, 890, 881, 881, 881, 891, 899, 905, 892,
3401 : : 893, 894, 895, 897, 898, 900, 902, 903, 906, 904,
3402 : : 907, 908, 909, 910, 911, 912, 913, 914, 915, 899,
3403 : : 916, 917, 906, 918, 920, 921, 899, 905, 924, 925,
3404 : :
3405 : : 926, 927, 928, 919, 920, 929, 930, 906, 931, 907,
3406 : : 908, 909, 910, 911, 912, 913, 914, 915, 919, 916,
3407 : : 917, 906, 918, 920, 921, 932, 933, 924, 925, 926,
3408 : : 927, 928, 919, 920, 929, 930, 934, 931, 935, 933,
3409 : : 937, 939, 941, 940, 942, 944, 948, 919, 949, 950,
3410 : : 951, 952, 953, 955, 932, 940, 956, 957, 958, 959,
3411 : : 960, 961, 962, 963, 964, 934, 965, 935, 933, 937,
3412 : : 939, 941, 940, 942, 944, 948, 967, 949, 950, 951,
3413 : : 952, 953, 955, 968, 940, 956, 957, 958, 959, 960,
3414 : : 961, 962, 963, 964, 966, 965, 969, 970, 972, 971,
3415 : :
3416 : : 973, 974, 971, 966, 975, 967, 971, 976, 974, 977,
3417 : : 978, 979, 968, 980, 981, 982, 983, 984, 986, 988,
3418 : : 979, 989, 990, 966, 991, 969, 970, 972, 971, 973,
3419 : : 974, 971, 966, 975, 992, 971, 976, 974, 977, 978,
3420 : : 979, 993, 980, 981, 982, 983, 984, 986, 988, 994,
3421 : : 989, 990, 995, 991, 996, 998, 999, 1001, 1002, 1003,
3422 : : 1004, 1005, 1006, 992, 1007, 1004, 1008, 1005, 1010, 1011,
3423 : : 993, 1006, 1009, 1012, 1009, 1013, 1014, 1015, 994, 1016,
3424 : : 0, 995, 1018, 996, 998, 999, 1001, 1002, 1003, 1004,
3425 : : 1005, 1006, 1019, 1007, 1004, 1008, 1005, 1010, 1011, 1021,
3426 : :
3427 : : 1006, 1009, 1012, 1009, 1013, 1014, 1015, 1022, 1016, 1017,
3428 : : 1017, 1018, 1020, 1023, 1024, 1034, 1020, 1025, 1025, 1025,
3429 : : 1025, 1019, 1026, 1026, 1026, 1026, 0, 0, 1021, 1035,
3430 : : 1037, 0, 1017, 0, 0, 1017, 1022, 0, 1017, 1017,
3431 : : 1040, 1020, 1023, 1024, 1034, 1020, 1027, 1027, 1027, 1027,
3432 : : 1028, 1028, 1028, 1028, 1031, 1031, 1031, 1031, 1035, 1037,
3433 : : 1029, 1017, 1029, 1028, 1029, 1029, 1029, 1029, 1030, 1040,
3434 : : 1030, 1030, 1030, 1030, 1030, 1032, 1032, 1032, 1032, 1041,
3435 : : 1042, 1043, 1044, 1045, 1030, 1047, 1048, 1049, 1050, 1051,
3436 : : 1053, 1054, 1028, 1055, 1057, 1058, 1059, 1060, 1061, 1062,
3437 : :
3438 : : 1063, 0, 1067, 1068, 1069, 1070, 1056, 1072, 1041, 1042,
3439 : : 1043, 1044, 1045, 1030, 1047, 1048, 1049, 1050, 1051, 1053,
3440 : : 1054, 1056, 1055, 1057, 1058, 1059, 1060, 1061, 1062, 1063,
3441 : : 1064, 1067, 1068, 1069, 1070, 1056, 1072, 1071, 1073, 1073,
3442 : : 1074, 1075, 1076, 1074, 1077, 1078, 1079, 1064, 1080, 1064,
3443 : : 1056, 1071, 1071, 1071, 1081, 1082, 1083, 1084, 1085, 1064,
3444 : : 1087, 1088, 1090, 1092, 1093, 1094, 1071, 1073, 1073, 1074,
3445 : : 1075, 1076, 1074, 1077, 1078, 1079, 1064, 1080, 1064, 1095,
3446 : : 1071, 1071, 1071, 1081, 1082, 1083, 1084, 1085, 1089, 1087,
3447 : : 1088, 1090, 1092, 1093, 1094, 1089, 1096, 1097, 1098, 1099,
3448 : :
3449 : : 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1095, 1108,
3450 : : 1096, 1110, 1111, 1114, 1115, 1116, 1117, 1089, 1118, 1119,
3451 : : 1120, 1110, 1109, 1121, 1089, 1096, 1097, 1098, 1099, 1100,
3452 : : 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1109, 1108, 1096,
3453 : : 1110, 1111, 1114, 1115, 1116, 1117, 1122, 1118, 1119, 1120,
3454 : : 1110, 1109, 1121, 1124, 1123, 1125, 1127, 1129, 1130, 1131,
3455 : : 1132, 1134, 1138, 1139, 1140, 1141, 1109, 1123, 1142, 1143,
3456 : : 1130, 1145, 1146, 1147, 1148, 1122, 1149, 1150, 1151, 1152,
3457 : : 1153, 1154, 1124, 1155, 1125, 1127, 1129, 1130, 1131, 1132,
3458 : : 1134, 1138, 1139, 1140, 1141, 1156, 1123, 1142, 1143, 1130,
3459 : :
3460 : : 1145, 1146, 1147, 1148, 1156, 1149, 1150, 1151, 1152, 1153,
3461 : : 1154, 1157, 1155, 1158, 1159, 1160, 1161, 1162, 1163, 1161,
3462 : : 1164, 1165, 1166, 1161, 1156, 1167, 1168, 1164, 1169, 1170,
3463 : : 1171, 1172, 1173, 1156, 1174, 1176, 1178, 1169, 1179, 1180,
3464 : : 1157, 1181, 1158, 1159, 1160, 1161, 1162, 1163, 1161, 1164,
3465 : : 1165, 1166, 1161, 1182, 1167, 1168, 1164, 1169, 1170, 1171,
3466 : : 1172, 1173, 1183, 1174, 1176, 1178, 1184, 1179, 1180, 1185,
3467 : : 1181, 1186, 1188, 1189, 1191, 1192, 1193, 1196, 1194, 1195,
3468 : : 1197, 1198, 1182, 1194, 1200, 1195, 1196, 1199, 1201, 1199,
3469 : : 1202, 1183, 1203, 1204, 1205, 1184, 1206, 0, 1185, 1208,
3470 : :
3471 : : 1186, 1188, 1189, 1191, 1192, 1193, 1196, 1194, 1195, 1197,
3472 : : 1198, 1209, 1194, 1200, 1195, 1196, 1199, 1201, 1199, 1202,
3473 : : 0, 1203, 1204, 1205, 1211, 1206, 1207, 1207, 1208, 1210,
3474 : : 1212, 1213, 1214, 1210, 1215, 1215, 1215, 1215, 0, 1229,
3475 : : 1209, 1216, 1216, 1216, 1216, 1219, 1219, 1219, 1219, 1207,
3476 : : 0, 0, 1207, 1211, 0, 1207, 1207, 0, 1210, 1212,
3477 : : 1213, 1214, 1210, 1217, 1217, 1217, 1217, 1218, 1229, 1218,
3478 : : 0, 1218, 1218, 1218, 1218, 1230, 1217, 1220, 1207, 1220,
3479 : : 1220, 1220, 1220, 1220, 1221, 1221, 1221, 1221, 1222, 1222,
3480 : : 1222, 1222, 0, 1220, 1223, 1224, 1224, 1224, 1224, 1225,
3481 : :
3482 : : 1232, 1235, 1236, 0, 1230, 1217, 1223, 1223, 1223, 1223,
3483 : : 1237, 1225, 1225, 1225, 1225, 1226, 1226, 1238, 1226, 1239,
3484 : : 1240, 1226, 1220, 1242, 1243, 1244, 1245, 1246, 1248, 1232,
3485 : : 1235, 1236, 1226, 1249, 0, 1250, 1226, 1252, 1253, 1237,
3486 : : 1254, 1255, 1256, 1251, 1257, 1258, 1238, 0, 1239, 1240,
3487 : : 1262, 1263, 1242, 1243, 1244, 1245, 1246, 1248, 1251, 1259,
3488 : : 1264, 1265, 1249, 1226, 1250, 1267, 1252, 1253, 1266, 1254,
3489 : : 1255, 1256, 1251, 1257, 1258, 1270, 1259, 1271, 1259, 1262,
3490 : : 1263, 1272, 1266, 1266, 1266, 1268, 1268, 1251, 1259, 1264,
3491 : : 1265, 1273, 1269, 1274, 1267, 1269, 1275, 1266, 1276, 1277,
3492 : :
3493 : : 1278, 1279, 1280, 1282, 1270, 1259, 1271, 1259, 1283, 1284,
3494 : : 1272, 1266, 1266, 1266, 1268, 1268, 1284, 1285, 1287, 1288,
3495 : : 1273, 1269, 1274, 1289, 1269, 1275, 1290, 1276, 1277, 1278,
3496 : : 1279, 1280, 1282, 1292, 1293, 1291, 1294, 1283, 1284, 1295,
3497 : : 1296, 1297, 1298, 1299, 1300, 1284, 1285, 1287, 1288, 1291,
3498 : : 1301, 1302, 1289, 1303, 1306, 1290, 1305, 1309, 1310, 1304,
3499 : : 1311, 1312, 1292, 1293, 1291, 1294, 1305, 1313, 1295, 1296,
3500 : : 1297, 1298, 1299, 1300, 1304, 1314, 1315, 1316, 1291, 1301,
3501 : : 1302, 1317, 1303, 1306, 1318, 1305, 1309, 1310, 1304, 1311,
3502 : : 1312, 1319, 1320, 1322, 1324, 1305, 1313, 1318, 1326, 1325,
3503 : :
3504 : : 1327, 1329, 1333, 1304, 1314, 1315, 1316, 1334, 1335, 1336,
3505 : : 1317, 1325, 1337, 1338, 1340, 1341, 1342, 1343, 1344, 1345,
3506 : : 1319, 1320, 1322, 1324, 1346, 1347, 1318, 1326, 1325, 1327,
3507 : : 1329, 1333, 1348, 1349, 1350, 1352, 1334, 1335, 1336, 1353,
3508 : : 1325, 1337, 1338, 1340, 1341, 1342, 1343, 1344, 1345, 1351,
3509 : : 1354, 1355, 1356, 1346, 1347, 1356, 1357, 1358, 1351, 1356,
3510 : : 1359, 1348, 1349, 1350, 1352, 1360, 1361, 1359, 1353, 1362,
3511 : : 1363, 1365, 1366, 1364, 1367, 1368, 1369, 1371, 1351, 1354,
3512 : : 1355, 1356, 1364, 1373, 1356, 1357, 1358, 1351, 1356, 1359,
3513 : : 1374, 1375, 1376, 1377, 1360, 1361, 1359, 1378, 1362, 1363,
3514 : :
3515 : : 1365, 1366, 1364, 1367, 1368, 1369, 1371, 1379, 1380, 1381,
3516 : : 1383, 1384, 1373, 1386, 1387, 1388, 1391, 1392, 1389, 1374,
3517 : : 1375, 1376, 1377, 1389, 1390, 1391, 1378, 1393, 1395, 1394,
3518 : : 1390, 1394, 1396, 1397, 1398, 1399, 1379, 1380, 1381, 1383,
3519 : : 1384, 1400, 1386, 1387, 1388, 1391, 1392, 1389, 1401, 1402,
3520 : : 1402, 1403, 1389, 1390, 1391, 1404, 1393, 1395, 1394, 1390,
3521 : : 1394, 1396, 1397, 1398, 1399, 1405, 1406, 1407, 1408, 1405,
3522 : : 1400, 1409, 1402, 1411, 1412, 1402, 1413, 1401, 1402, 1402,
3523 : : 1403, 1414, 1417, 1418, 1404, 1419, 1420, 1421, 1422, 1423,
3524 : : 1424, 1430, 1432, 1434, 1405, 1406, 1407, 1408, 1405, 1431,
3525 : :
3526 : : 1409, 1402, 1411, 1412, 1435, 1413, 1436, 1437, 1435, 1438,
3527 : : 1414, 1417, 1418, 1439, 1419, 1420, 1421, 1422, 1423, 1424,
3528 : : 1430, 1432, 1434, 1440, 1441, 1442, 1431, 1444, 1431, 1445,
3529 : : 1446, 1447, 1448, 1435, 1449, 1436, 1437, 1435, 1438, 1450,
3530 : : 1451, 1452, 1439, 1453, 1454, 1455, 1456, 1458, 1459, 1460,
3531 : : 1448, 1464, 1440, 1441, 1442, 1465, 1444, 1466, 1445, 1446,
3532 : : 1447, 1448, 1467, 1449, 1468, 1469, 1470, 1471, 1450, 1451,
3533 : : 1452, 1472, 1453, 1454, 1455, 1456, 1458, 1459, 1460, 1448,
3534 : : 1464, 1473, 1474, 1475, 1465, 1476, 1466, 1477, 1480, 1481,
3535 : : 1482, 1467, 1483, 1468, 1469, 1470, 1471, 1485, 1486, 1487,
3536 : :
3537 : : 1472, 1488, 1489, 1492, 1494, 1495, 1497, 1499, 1503, 1504,
3538 : : 1473, 1474, 1475, 1489, 1476, 1500, 1477, 1480, 1481, 1482,
3539 : : 1505, 1483, 1506, 1500, 1507, 1508, 1485, 1486, 1487, 1509,
3540 : : 1488, 1489, 1492, 1494, 1495, 1497, 1499, 1503, 1504, 1510,
3541 : : 1512, 1513, 1489, 1515, 1500, 1514, 1516, 1517, 1518, 1505,
3542 : : 1520, 1506, 1500, 1507, 1508, 1514, 1521, 1522, 1509, 1523,
3543 : : 1525, 1526, 1527, 1528, 1530, 1531, 1532, 1529, 1510, 1512,
3544 : : 1513, 1529, 1515, 1533, 1514, 1516, 1517, 1518, 1534, 1520,
3545 : : 1535, 1537, 1540, 1541, 1514, 1521, 1522, 1542, 1523, 1525,
3546 : : 1526, 1527, 1528, 1530, 1531, 1532, 1529, 1543, 1544, 1545,
3547 : :
3548 : : 1529, 1546, 1533, 1548, 1549, 1550, 1551, 1534, 1552, 1535,
3549 : : 1537, 1540, 1541, 1553, 1556, 1558, 1542, 1559, 1561, 1562,
3550 : : 1563, 1564, 1565, 1569, 1570, 1571, 1543, 1544, 1545, 1574,
3551 : : 1546, 1575, 1548, 1549, 1550, 1551, 1576, 1552, 1568, 1577,
3552 : : 1578, 1568, 1553, 1556, 1558, 1568, 1559, 1561, 1562, 1563,
3553 : : 1564, 1565, 1569, 1570, 1571, 1579, 1580, 1581, 1574, 1582,
3554 : : 1575, 1584, 1585, 1586, 1587, 1576, 1588, 1568, 1577, 1578,
3555 : : 1568, 1593, 1589, 1594, 1568, 1589, 1601, 1602, 1603, 1594,
3556 : : 1598, 1598, 1598, 1598, 1579, 1580, 1581, 1604, 1582, 1607,
3557 : : 1584, 1585, 1586, 1587, 1608, 1588, 1599, 1599, 1599, 1599,
3558 : :
3559 : : 1593, 1589, 1594, 1609, 1589, 1601, 1602, 1603, 1594, 1610,
3560 : : 1611, 1612, 1613, 1614, 1620, 0, 1604, 1621, 1607, 1622,
3561 : : 1624, 1625, 1626, 1608, 1627, 1625, 1628, 1629, 1630, 1631,
3562 : : 1632, 1634, 1609, 1635, 1636, 1637, 0, 1639, 1610, 1611,
3563 : : 1612, 1613, 1614, 1620, 1621, 1640, 1621, 1638, 1622, 1624,
3564 : : 1625, 1626, 1641, 1627, 1625, 1628, 1629, 1630, 1631, 1632,
3565 : : 1634, 1642, 1635, 1636, 1637, 1638, 1639, 1643, 1644, 1645,
3566 : : 1646, 1648, 1649, 1650, 1640, 1654, 1638, 1655, 1656, 1657,
3567 : : 1658, 1641, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666,
3568 : : 1642, 1667, 1670, 1671, 1638, 1672, 1643, 1644, 1645, 1646,
3569 : :
3570 : : 1648, 1649, 1650, 1673, 1654, 1675, 1655, 1656, 1657, 1658,
3571 : : 1676, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1677,
3572 : : 1667, 1670, 1671, 1678, 1672, 1679, 1682, 1684, 1685, 1687,
3573 : : 1689, 1693, 1673, 1690, 1675, 1694, 1679, 1695, 1696, 1676,
3574 : : 1697, 1690, 1698, 1699, 1700, 1702, 1703, 1705, 1677, 1706,
3575 : : 1707, 1704, 1678, 1708, 1679, 1682, 1684, 1685, 1687, 1689,
3576 : : 1693, 1704, 1690, 1710, 1694, 1679, 1695, 1696, 1711, 1697,
3577 : : 1690, 1698, 1699, 1700, 1702, 1703, 1705, 1712, 1706, 1707,
3578 : : 1704, 1713, 1708, 1715, 1716, 1717, 1718, 1719, 1720, 1721,
3579 : : 1704, 1719, 1710, 1722, 1723, 1724, 1725, 1711, 1727, 1730,
3580 : :
3581 : : 1731, 1732, 1733, 1734, 1735, 1736, 1712, 1738, 1739, 1740,
3582 : : 1713, 1741, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1742,
3583 : : 1719, 1743, 1722, 1723, 1724, 1725, 1746, 1727, 1730, 1731,
3584 : : 1732, 1733, 1734, 1735, 1736, 1748, 1738, 1739, 1740, 1749,
3585 : : 1741, 1751, 1752, 1753, 1754, 1755, 1758, 1759, 1742, 1758,
3586 : : 1743, 1760, 1761, 1758, 1764, 1746, 1765, 1766, 1767, 1768,
3587 : : 1769, 1770, 1771, 1772, 1748, 1774, 1775, 1776, 1749, 1777,
3588 : : 1751, 1752, 1753, 1754, 1755, 1758, 1759, 1778, 1758, 1783,
3589 : : 1760, 1761, 1758, 1764, 0, 1765, 1766, 1767, 1768, 1769,
3590 : : 1770, 1771, 1772, 1784, 1774, 1775, 1776, 1779, 1777, 1784,
3591 : :
3592 : : 1779, 1788, 1788, 1788, 1788, 0, 1778, 0, 1783, 1789,
3593 : : 1789, 1789, 1789, 1790, 1790, 1790, 1790, 1791, 1791, 1791,
3594 : : 1791, 1795, 1784, 1796, 1797, 1798, 1779, 1801, 1784, 1779,
3595 : : 1792, 1792, 1792, 1792, 1792, 1793, 1793, 1793, 1793, 1802,
3596 : : 1803, 1804, 1805, 1806, 1792, 1807, 1808, 1814, 1816, 0,
3597 : : 1795, 1815, 1796, 1797, 1798, 1818, 1801, 1819, 1820, 1821,
3598 : : 1822, 1819, 1823, 1824, 1825, 1826, 1828, 1829, 1802, 1803,
3599 : : 1804, 1805, 1806, 1792, 1807, 1808, 1814, 1816, 1815, 1830,
3600 : : 1815, 1831, 1832, 1833, 1818, 1834, 1819, 1820, 1821, 1822,
3601 : : 1819, 1823, 1824, 1825, 1826, 1828, 1829, 1835, 1836, 1837,
3602 : :
3603 : : 1832, 1838, 1839, 1840, 1842, 1843, 1844, 1848, 1830, 1849,
3604 : : 1831, 1832, 1833, 1850, 1834, 1851, 1852, 1853, 1854, 1855,
3605 : : 1856, 1857, 1858, 1859, 1860, 1861, 1835, 1836, 1837, 1832,
3606 : : 1838, 1839, 1840, 1842, 1843, 1844, 1848, 1864, 1849, 1865,
3607 : : 1866, 1867, 1850, 1869, 1851, 1852, 1853, 1854, 1855, 1856,
3608 : : 1857, 1858, 1859, 1860, 1861, 1870, 1871, 1872, 1876, 1878,
3609 : : 1873, 1879, 1881, 1883, 1887, 1884, 1864, 1888, 1865, 1866,
3610 : : 1867, 1873, 1869, 1884, 1889, 1890, 1891, 1892, 1893, 1894,
3611 : : 1896, 1897, 0, 1899, 1870, 1871, 1872, 1876, 1878, 1873,
3612 : : 1879, 1881, 1883, 1887, 1884, 1900, 1888, 1901, 1902, 1904,
3613 : :
3614 : : 1873, 1898, 1884, 1889, 1890, 1891, 1892, 1893, 1894, 1896,
3615 : : 1897, 1898, 1899, 1905, 1906, 1907, 1909, 1910, 1911, 1912,
3616 : : 1914, 1913, 1915, 1916, 1900, 1913, 1901, 1902, 1904, 1917,
3617 : : 1898, 1918, 1919, 1921, 1924, 1925, 1926, 1927, 1928, 1929,
3618 : : 1898, 1930, 1905, 1906, 1907, 1909, 1910, 1911, 1912, 1914,
3619 : : 1913, 1915, 1916, 1932, 1913, 1933, 1934, 1935, 1917, 1936,
3620 : : 1918, 1919, 1921, 1924, 1925, 1926, 1927, 1928, 1929, 1937,
3621 : : 1930, 1940, 1942, 1943, 1945, 1946, 1947, 1948, 1949, 1953,
3622 : : 1952, 1954, 1932, 1952, 1933, 1934, 1935, 1952, 1936, 1955,
3623 : : 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1937, 1966,
3624 : :
3625 : : 1940, 1942, 1943, 1945, 1946, 1947, 1948, 1949, 1953, 1952,
3626 : : 1954, 1968, 1952, 1969, 1970, 1971, 1952, 1972, 1955, 1958,
3627 : : 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1973, 1966, 1977,
3628 : : 1973, 1978, 1982, 1982, 1982, 1982, 0, 1978, 1991, 0,
3629 : : 1968, 0, 1969, 1970, 1971, 0, 1972, 1983, 1983, 1983,
3630 : : 1983, 1984, 1984, 1984, 1984, 1992, 1973, 1993, 1977, 1973,
3631 : : 1978, 1985, 1985, 1985, 1985, 1986, 1978, 1991, 1986, 1986,
3632 : : 1986, 1986, 1987, 1987, 1987, 1987, 1988, 1988, 1988, 1988,
3633 : : 1989, 1986, 1994, 1997, 1992, 1998, 1993, 1999, 2000, 2001,
3634 : : 2002, 2003, 1989, 1989, 1989, 1989, 2004, 2010, 0, 2012,
3635 : :
3636 : : 2011, 2014, 2015, 2016, 2017, 2018, 2015, 2019, 2020, 2021,
3637 : : 1986, 1994, 1997, 2022, 1998, 2024, 1999, 2000, 2001, 2002,
3638 : : 2003, 2025, 2026, 2027, 2029, 2004, 2010, 2011, 2012, 2011,
3639 : : 2014, 2015, 2016, 2017, 2018, 2015, 2019, 2020, 2021, 2028,
3640 : : 2030, 2031, 2022, 2032, 2024, 2033, 2034, 2035, 2036, 2038,
3641 : : 2025, 2026, 2027, 2029, 2039, 2040, 2044, 2028, 2045, 2046,
3642 : : 2047, 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2028, 2030,
3643 : : 2031, 2055, 2032, 2056, 2033, 2034, 2035, 2036, 2038, 2057,
3644 : : 2060, 2061, 2062, 2039, 2040, 2044, 2028, 2045, 2046, 2047,
3645 : : 2048, 2049, 2050, 2051, 2052, 2053, 2054, 2063, 2065, 2066,
3646 : :
3647 : : 2055, 2067, 2056, 2068, 2069, 2072, 2074, 2075, 2057, 2060,
3648 : : 2061, 2062, 2077, 2079, 2080, 2069, 2083, 2084, 2085, 2086,
3649 : : 2087, 2088, 2080, 2089, 2090, 2092, 2063, 2065, 2066, 2093,
3650 : : 2067, 2095, 2068, 2069, 2072, 2074, 2075, 2096, 2097, 2098,
3651 : : 2100, 2077, 2079, 2080, 2069, 2083, 2084, 2085, 2086, 2087,
3652 : : 2088, 2080, 2089, 2090, 2092, 2094, 2101, 2102, 2093, 2103,
3653 : : 2095, 2105, 2106, 2107, 2108, 2094, 2096, 2097, 2098, 2100,
3654 : : 2109, 2110, 2111, 2112, 2109, 2113, 2114, 2115, 2117, 2120,
3655 : : 2121, 2122, 2123, 2124, 2094, 2101, 2102, 2125, 2103, 2126,
3656 : : 2105, 2106, 2107, 2108, 2094, 2128, 2129, 2130, 2131, 2109,
3657 : :
3658 : : 2110, 2111, 2112, 2109, 2113, 2114, 2115, 2117, 2120, 2121,
3659 : : 2122, 2123, 2124, 2132, 2133, 2136, 2125, 2138, 2126, 2139,
3660 : : 2141, 2142, 2143, 2144, 2128, 2129, 2130, 2131, 2145, 2148,
3661 : : 2149, 2150, 2148, 2151, 2154, 2155, 2148, 2156, 2157, 2158,
3662 : : 2159, 2160, 2132, 2133, 2136, 2161, 2138, 2162, 2139, 2141,
3663 : : 2142, 2143, 2144, 2164, 2165, 2166, 2167, 2145, 2148, 2149,
3664 : : 2150, 2148, 2151, 2154, 2155, 2148, 2156, 2157, 2158, 2159,
3665 : : 2160, 2168, 2169, 2173, 2161, 2169, 2162, 2183, 2184, 2185,
3666 : : 2174, 2187, 2164, 2165, 2166, 2167, 2174, 2188, 2189, 2190,
3667 : : 2191, 2192, 2193, 2195, 2196, 2197, 2198, 2199, 2200, 2201,
3668 : :
3669 : : 2168, 2169, 2173, 2203, 2169, 2205, 2183, 2184, 2185, 2174,
3670 : : 2187, 2206, 2207, 2208, 2209, 2174, 2188, 2189, 2190, 2191,
3671 : : 2192, 2193, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2210,
3672 : : 2211, 2212, 2203, 2214, 2205, 2213, 2215, 2216, 2217, 2218,
3673 : : 2206, 2207, 2208, 2209, 2220, 2213, 2221, 2213, 2222, 2223,
3674 : : 2225, 2226, 2227, 2228, 2234, 2235, 2237, 2240, 2210, 2211,
3675 : : 2212, 2241, 2214, 2243, 2213, 2215, 2216, 2217, 2218, 2244,
3676 : : 2245, 2248, 2250, 2220, 2213, 2221, 2213, 2222, 2223, 2225,
3677 : : 2226, 2227, 2228, 2234, 2235, 2237, 2240, 2251, 2246, 2254,
3678 : : 2241, 2246, 2243, 2258, 2259, 2260, 2261, 2264, 2244, 2245,
3679 : :
3680 : : 2248, 2250, 2266, 2268, 2269, 2271, 2272, 2274, 2276, 2277,
3681 : : 2278, 2280, 2281, 2282, 2283, 2284, 2251, 2246, 2254, 2285,
3682 : : 2246, 2286, 2258, 2259, 2260, 2261, 2264, 2287, 2289, 2290,
3683 : : 2291, 2266, 2268, 2269, 2271, 2272, 2274, 2276, 2277, 2278,
3684 : : 2280, 2281, 2282, 2283, 2284, 2292, 2294, 2295, 2285, 2296,
3685 : : 2286, 2298, 2299, 2300, 2301, 2302, 2287, 2289, 2290, 2291,
3686 : : 2303, 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314,
3687 : : 2315, 2316, 2318, 2320, 2292, 2294, 2295, 2321, 2296, 2322,
3688 : : 2298, 2299, 2300, 2301, 2302, 2326, 2327, 2328, 2329, 2303,
3689 : : 2305, 2306, 2307, 2308, 2310, 2311, 2312, 2313, 2314, 2315,
3690 : :
3691 : : 2316, 2318, 2320, 2330, 2331, 2333, 2321, 2334, 2322, 2340,
3692 : : 2341, 2342, 2344, 2345, 2326, 2327, 2328, 2329, 2346, 2347,
3693 : : 2348, 2349, 2350, 2352, 2353, 2354, 2355, 2356, 2357, 2358,
3694 : : 2360, 2362, 2330, 2331, 2333, 2363, 2334, 2364, 2340, 2341,
3695 : : 2342, 2344, 2345, 2365, 2366, 2367, 2368, 2346, 2347, 2348,
3696 : : 2349, 2350, 2352, 2353, 2354, 2355, 2356, 2357, 2358, 2360,
3697 : : 2362, 2369, 2371, 2372, 2363, 2373, 2364, 2370, 2374, 2375,
3698 : : 2377, 2378, 2365, 2366, 2367, 2368, 2379, 2370, 2380, 2370,
3699 : : 2382, 2383, 2384, 2385, 2391, 2392, 2394, 2397, 2398, 2400,
3700 : : 2369, 2371, 2372, 2401, 2373, 2402, 2370, 2374, 2375, 2377,
3701 : :
3702 : : 2378, 2403, 2405, 2407, 2403, 2379, 2370, 2380, 2370, 2382,
3703 : : 2383, 2384, 2385, 2391, 2392, 2394, 2397, 2398, 2400, 2408,
3704 : : 2411, 2415, 2401, 2416, 2402, 2417, 2418, 2421, 2423, 2425,
3705 : : 2403, 2405, 2407, 2403, 2426, 2428, 2429, 2431, 2433, 2434,
3706 : : 2435, 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2408, 2411,
3707 : : 2415, 2444, 2416, 2446, 2417, 2418, 2421, 2423, 2425, 2447,
3708 : : 2448, 2449, 2451, 2426, 2428, 2429, 2431, 2433, 2434, 2435,
3709 : : 2437, 2438, 2439, 2440, 2441, 2442, 2443, 2452, 2453, 2455,
3710 : : 2444, 2456, 2446, 2457, 2458, 2459, 2460, 2462, 2447, 2448,
3711 : : 2449, 2451, 2463, 2464, 2465, 2467, 2468, 2469, 2470, 2471,
3712 : :
3713 : : 2472, 2473, 2475, 2477, 2478, 2479, 2452, 2453, 2455, 2483,
3714 : : 2456, 2484, 2457, 2458, 2459, 2460, 2462, 2485, 2486, 2487,
3715 : : 2488, 2463, 2464, 2465, 2467, 2468, 2469, 2470, 2471, 2472,
3716 : : 2473, 2475, 2477, 2478, 2479, 2490, 2491, 2499, 2483, 2500,
3717 : : 2484, 2493, 2493, 2493, 2493, 2501, 2485, 2486, 2487, 2488,
3718 : : 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2511, 2512, 2513,
3719 : : 2514, 2515, 2516, 2517, 2490, 2491, 2499, 2519, 2500, 2521,
3720 : : 2522, 2523, 2524, 2525, 2501, 2526, 2527, 2528, 0, 2503,
3721 : : 2504, 2505, 2506, 2507, 2508, 2509, 2511, 2512, 2513, 2514,
3722 : : 2515, 2516, 2517, 2530, 2531, 2532, 2519, 2529, 2521, 2522,
3723 : :
3724 : : 2523, 2524, 2525, 2533, 2526, 2527, 2528, 2529, 2534, 2529,
3725 : : 2536, 2537, 2538, 2539, 2541, 2542, 2543, 2544, 2550, 2551,
3726 : : 2553, 2556, 2530, 2531, 2532, 2557, 2529, 2559, 2560, 2561,
3727 : : 2562, 2564, 2533, 2562, 2566, 2567, 2529, 2534, 2529, 2536,
3728 : : 2537, 2538, 2539, 2541, 2542, 2543, 2544, 2550, 2551, 2553,
3729 : : 2556, 2570, 2574, 2575, 2557, 2576, 2559, 2560, 2561, 2562,
3730 : : 2564, 2577, 2562, 2566, 2567, 2580, 2582, 2584, 2585, 2587,
3731 : : 2588, 2590, 2592, 2593, 2594, 2596, 2597, 2598, 2599, 2600,
3732 : : 2570, 2574, 2575, 2601, 2576, 2602, 2603, 2605, 2606, 2607,
3733 : : 2577, 2608, 2610, 2611, 2580, 2582, 2584, 2585, 2587, 2588,
3734 : :
3735 : : 2590, 2592, 2593, 2594, 2596, 2597, 2598, 2599, 2600, 2612,
3736 : : 2614, 2615, 2601, 2616, 2602, 2603, 2605, 2606, 2607, 2617,
3737 : : 2608, 2610, 2611, 2618, 2619, 2621, 2622, 2623, 2624, 2626,
3738 : : 2627, 2628, 2629, 2630, 2631, 2632, 2634, 2636, 2612, 2614,
3739 : : 2615, 2637, 2616, 2638, 2642, 2643, 2644, 2645, 2617, 2646,
3740 : : 2647, 2649, 2618, 2619, 2621, 2622, 2623, 2624, 2626, 2627,
3741 : : 2628, 2629, 2630, 2631, 2632, 2634, 2636, 2650, 2660, 2661,
3742 : : 2637, 2662, 2638, 2642, 2643, 2644, 2645, 2664, 2646, 2647,
3743 : : 2649, 2651, 2651, 2651, 2651, 2653, 2653, 2653, 2653, 2654,
3744 : : 2654, 2654, 2654, 2665, 2666, 2667, 2650, 2660, 2661, 2668,
3745 : :
3746 : : 2662, 2669, 2670, 2672, 2673, 2674, 2664, 2675, 2676, 2677,
3747 : : 2678, 2680, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689,
3748 : : 0, 2691, 2665, 2666, 2667, 2692, 2693, 2694, 2668, 2695,
3749 : : 2669, 2670, 2672, 2673, 2674, 2697, 2675, 2676, 2677, 2678,
3750 : : 2680, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2690,
3751 : : 2691, 2698, 2699, 2700, 2692, 2693, 2694, 2702, 2695, 2690,
3752 : : 2703, 2690, 2704, 2705, 2697, 2711, 2712, 2714, 2717, 2718,
3753 : : 2720, 2721, 2722, 2723, 2725, 2727, 2723, 2728, 2690, 2731,
3754 : : 2698, 2699, 2700, 2735, 2736, 2737, 2702, 2738, 2690, 2703,
3755 : : 2690, 2704, 2705, 2741, 2711, 2712, 2714, 2717, 2718, 2720,
3756 : :
3757 : : 2721, 2722, 2723, 2725, 2727, 2723, 2728, 2743, 2731, 2745,
3758 : : 2746, 2748, 2735, 2736, 2737, 2749, 2738, 2751, 2753, 2754,
3759 : : 2755, 2757, 2741, 2758, 2759, 2760, 2761, 2762, 2763, 2764,
3760 : : 2766, 2767, 2768, 2769, 2771, 2772, 2743, 2773, 2745, 2746,
3761 : : 2748, 2775, 2776, 2777, 2749, 2778, 2751, 2753, 2754, 2755,
3762 : : 2757, 2779, 2758, 2759, 2760, 2761, 2762, 2763, 2764, 2766,
3763 : : 2767, 2768, 2769, 2771, 2772, 2780, 2773, 2782, 2783, 2784,
3764 : : 2775, 2776, 2777, 2785, 2778, 2787, 2788, 2789, 2790, 2791,
3765 : : 2779, 2792, 2793, 2795, 2797, 2798, 2799, 2803, 2804, 2805,
3766 : : 2806, 2807, 2808, 2810, 2780, 2811, 2782, 2783, 2784, 2812,
3767 : :
3768 : : 2814, 2816, 2785, 2819, 2787, 2788, 2789, 2790, 2791, 2820,
3769 : : 2792, 2793, 2795, 2797, 2798, 2799, 2803, 2804, 2805, 2806,
3770 : : 2807, 2808, 2810, 2821, 2811, 2822, 2823, 2824, 2812, 2814,
3771 : : 2816, 2825, 2819, 2828, 2829, 2831, 2832, 2833, 2820, 2835,
3772 : : 2836, 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845,
3773 : : 2847, 2848, 2821, 2849, 2822, 2823, 2824, 2853, 2855, 2856,
3774 : : 2825, 2857, 2828, 2829, 2831, 2832, 2833, 2858, 2835, 2836,
3775 : : 2837, 2838, 2839, 2840, 2841, 2842, 2843, 2844, 2845, 2847,
3776 : : 2848, 2863, 2849, 2864, 2865, 2866, 2853, 2855, 2856, 2867,
3777 : : 2857, 2868, 2872, 2873, 2874, 2875, 2858, 2877, 2879, 2883,
3778 : :
3779 : : 2884, 2885, 2886, 2887, 2888, 2889, 2890, 2892, 2893, 2894,
3780 : : 2863, 2896, 2864, 2865, 2866, 2897, 2898, 2899, 2867, 2900,
3781 : : 2868, 2872, 2873, 2874, 2875, 2904, 2877, 2879, 2883, 2884,
3782 : : 2885, 2886, 2887, 2888, 2889, 2890, 2892, 2893, 2894, 2905,
3783 : : 2896, 2906, 2907, 2909, 2897, 2898, 2899, 2911, 2900, 2912,
3784 : : 2913, 2914, 2915, 2916, 2904, 2917, 2918, 2920, 2923, 2924,
3785 : : 2925, 2926, 2927, 2929, 2930, 2932, 2934, 2937, 2905, 2938,
3786 : : 2906, 2907, 2909, 2939, 2940, 2941, 2911, 2942, 2912, 2913,
3787 : : 2914, 2915, 2916, 2943, 2917, 2918, 2920, 2923, 2924, 2925,
3788 : : 2926, 2927, 2929, 2930, 2932, 2934, 2937, 2946, 2938, 2947,
3789 : :
3790 : : 2949, 2950, 2939, 2940, 2941, 2951, 2942, 2953, 2954, 2955,
3791 : : 2956, 2957, 2943, 2958, 2959, 2960, 2961, 2962, 2963, 2965,
3792 : : 2966, 2967, 2971, 2973, 2974, 2975, 2946, 2976, 2947, 2949,
3793 : : 2950, 2981, 2982, 2983, 2951, 2984, 2953, 2954, 2955, 2956,
3794 : : 2957, 2985, 2958, 2959, 2960, 2961, 2962, 2963, 2965, 2966,
3795 : : 2967, 2971, 2973, 2974, 2975, 2986, 2976, 2990, 2991, 2992,
3796 : : 2981, 2982, 2983, 2993, 2984, 2995, 2997, 3001, 3002, 3003,
3797 : : 2985, 3004, 3005, 3006, 3007, 3008, 3010, 3011, 3012, 3014,
3798 : : 3015, 3016, 3017, 3018, 2986, 3022, 2990, 2991, 2992, 3023,
3799 : : 3024, 3025, 2993, 3027, 2995, 2997, 3001, 3002, 3003, 3029,
3800 : :
3801 : : 3004, 3005, 3006, 3007, 3008, 3010, 3011, 3012, 3014, 3015,
3802 : : 3016, 3017, 3018, 3030, 3022, 3031, 3032, 3033, 3023, 3024,
3803 : : 3025, 3034, 3027, 3035, 3036, 3038, 3041, 3042, 3029, 3043,
3804 : : 3044, 3045, 3047, 3048, 3048, 3048, 3048, 3049, 3051, 3053,
3805 : : 3056, 3057, 3030, 3058, 3031, 3032, 3033, 3059, 3060, 3061,
3806 : : 3034, 3062, 3035, 3036, 3038, 3041, 3042, 3065, 3043, 3044,
3807 : : 3045, 3047, 3066, 3068, 3069, 3070, 3049, 3051, 3053, 3056,
3808 : : 3057, 3072, 3058, 3073, 3074, 3075, 3059, 3060, 3061, 3076,
3809 : : 3062, 3077, 3078, 3079, 3080, 3081, 3065, 3082, 3084, 3085,
3810 : : 3086, 3066, 3068, 3069, 3070, 3090, 3092, 3093, 3094, 3095,
3811 : :
3812 : : 3072, 3100, 3073, 3074, 3075, 3101, 3102, 3103, 3076, 3104,
3813 : : 3077, 3078, 3079, 3080, 3081, 3105, 3082, 3084, 3085, 3086,
3814 : : 3109, 3110, 3111, 3112, 3090, 3092, 3093, 3094, 3095, 3114,
3815 : : 3100, 3116, 3120, 3121, 3101, 3102, 3103, 3122, 3104, 3123,
3816 : : 3124, 3125, 3126, 3127, 3105, 3129, 3130, 3131, 3133, 3109,
3817 : : 3110, 3111, 3112, 3134, 3135, 3136, 3137, 3141, 3114, 3142,
3818 : : 3116, 3120, 3121, 3143, 3144, 3146, 3122, 3148, 3123, 3124,
3819 : : 3125, 3126, 3127, 3149, 3129, 3130, 3131, 3133, 3150, 3151,
3820 : : 3152, 3153, 3134, 3135, 3136, 3137, 3141, 3154, 3142, 3155,
3821 : : 3157, 3160, 3143, 3144, 3146, 3161, 3148, 3162, 3163, 3164,
3822 : :
3823 : : 3166, 0, 3149, 3167, 3167, 3167, 3167, 3150, 3151, 3152,
3824 : : 3153, 3168, 3168, 3168, 3168, 3170, 3154, 3172, 3155, 3157,
3825 : : 3160, 3174, 3177, 3178, 3161, 3179, 3162, 3163, 3164, 3166,
3826 : : 3169, 3169, 3169, 3169, 3180, 3181, 3182, 3183, 3186, 3187,
3827 : : 3189, 3190, 3191, 3193, 3170, 3194, 3172, 3195, 3196, 3197,
3828 : : 3174, 3177, 3178, 3198, 3179, 3199, 3200, 3201, 3202, 3203,
3829 : : 3205, 3206, 3207, 3180, 3181, 3182, 3183, 3186, 3187, 3189,
3830 : : 3190, 3191, 3193, 3211, 3194, 3213, 3195, 3196, 3197, 3214,
3831 : : 3215, 3216, 3198, 3221, 3199, 3200, 3201, 3202, 3203, 3205,
3832 : : 3206, 3207, 3222, 3223, 3224, 3225, 3226, 3230, 3231, 3232,
3833 : :
3834 : : 3233, 3235, 3211, 3237, 3213, 3241, 3242, 3243, 3214, 3215,
3835 : : 3216, 3244, 3221, 3245, 3246, 3247, 3248, 3250, 3251, 3252,
3836 : : 3254, 3222, 3223, 3224, 3225, 3226, 3230, 3231, 3232, 3233,
3837 : : 3235, 3255, 3237, 3256, 3241, 3242, 3243, 3257, 3258, 3262,
3838 : : 3244, 3263, 3245, 3246, 3247, 3248, 3250, 3251, 3252, 3254,
3839 : : 3264, 3265, 3267, 3269, 3270, 3271, 3272, 3273, 3274, 3275,
3840 : : 3255, 3276, 3256, 3278, 3281, 3282, 3257, 3258, 3262, 3283,
3841 : : 3263, 3284, 3285, 3287, 3288, 3289, 3291, 3293, 3294, 3264,
3842 : : 3265, 3267, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3295,
3843 : : 3276, 3298, 3278, 3281, 3282, 3300, 3304, 3305, 3283, 3307,
3844 : :
3845 : : 3284, 3285, 3287, 3288, 3289, 3291, 3293, 3294, 3308, 3309,
3846 : : 3314, 3315, 3316, 3319, 3320, 3324, 3325, 3326, 3295, 3328,
3847 : : 3298, 3329, 3331, 3333, 3300, 3304, 3305, 3334, 3307, 3336,
3848 : : 3335, 3337, 3338, 3340, 3341, 3344, 3347, 3308, 3309, 3314,
3849 : : 3315, 3316, 3319, 3320, 3324, 3325, 3326, 3348, 3328, 3335,
3850 : : 3329, 3331, 3333, 3349, 3351, 3353, 3334, 3355, 3336, 3335,
3851 : : 3337, 3338, 3340, 3341, 3344, 3347, 3354, 3356, 3357, 3354,
3852 : : 3358, 3359, 3360, 3361, 3363, 3364, 3348, 3366, 3370, 3372,
3853 : : 3373, 3375, 3349, 3351, 3353, 3377, 3355, 3378, 3379, 3382,
3854 : : 3384, 3388, 3389, 3391, 3392, 3354, 3356, 3357, 3354, 3358,
3855 : :
3856 : : 3359, 3360, 3361, 3363, 3364, 3393, 3366, 3370, 3372, 3373,
3857 : : 3375, 3398, 3399, 3400, 3377, 3403, 3378, 3379, 3382, 3384,
3858 : : 3388, 3389, 3391, 3392, 3404, 3408, 3409, 3410, 3412, 3413,
3859 : : 3415, 3417, 3418, 3419, 3393, 3420, 3421, 3422, 3424, 3425,
3860 : : 3398, 3399, 3400, 3428, 3403, 3431, 3432, 3433, 3435, 3437,
3861 : : 3439, 3440, 3419, 3404, 3408, 3409, 3410, 3412, 3413, 3415,
3862 : : 3417, 3418, 3419, 3441, 3420, 3421, 3422, 3424, 3425, 3442,
3863 : : 3438, 3443, 3428, 3438, 3431, 3432, 3433, 3435, 3437, 3439,
3864 : : 3440, 3444, 3445, 3447, 3448, 3450, 3454, 3456, 3456, 3456,
3865 : : 3456, 3457, 3441, 3458, 3460, 3462, 3463, 3464, 3442, 3438,
3866 : :
3867 : : 3443, 3467, 3438, 3469, 3473, 3474, 3476, 3477, 3478, 3483,
3868 : : 3444, 3445, 3447, 3448, 3450, 3454, 3484, 3485, 3488, 3489,
3869 : : 3457, 3493, 3458, 3460, 3462, 3463, 3464, 3494, 3495, 3497,
3870 : : 3467, 3498, 3469, 3473, 3474, 3476, 3477, 3478, 3483, 3500,
3871 : : 3502, 3503, 3504, 3505, 3506, 3484, 3485, 3488, 3489, 3507,
3872 : : 3493, 3509, 3510, 3513, 3516, 3517, 3494, 3495, 3497, 3518,
3873 : : 3498, 3504, 3520, 3522, 3523, 3524, 3525, 3523, 3500, 3502,
3874 : : 3503, 3504, 3505, 3506, 3526, 3527, 3528, 3529, 3507, 3530,
3875 : : 3509, 3510, 3513, 3516, 3517, 3532, 3533, 3535, 3518, 3539,
3876 : : 3543, 3520, 3522, 3523, 3524, 3525, 3523, 3541, 3541, 3541,
3877 : :
3878 : : 3541, 3544, 3546, 3526, 3527, 3528, 3529, 3548, 3530, 3542,
3879 : : 3542, 3542, 3542, 3549, 3532, 3533, 3535, 3550, 3539, 3543,
3880 : : 3553, 3555, 3559, 3560, 3562, 3563, 3564, 3569, 3570, 3571,
3881 : : 3544, 3546, 3574, 3575, 3579, 3580, 3548, 3581, 3583, 3584,
3882 : : 3586, 3588, 3549, 3589, 3591, 3592, 3550, 3593, 3595, 3553,
3883 : : 3555, 3559, 3560, 3562, 3563, 3564, 3569, 3570, 3571, 3590,
3884 : : 3596, 3574, 3575, 3579, 3580, 3599, 3581, 3583, 3584, 3586,
3885 : : 3588, 3602, 3589, 3591, 3592, 3603, 3593, 3595, 3590, 3604,
3886 : : 3606, 3608, 3609, 3610, 3611, 3609, 3612, 3613, 3590, 3596,
3887 : : 3614, 3615, 3616, 3618, 3599, 3619, 3621, 3625, 3627, 3628,
3888 : :
3889 : : 3602, 3629, 3630, 3631, 3603, 3634, 0, 0, 3604, 3606,
3890 : : 3608, 3609, 3610, 3611, 3609, 3612, 3613, 3637, 3638, 3614,
3891 : : 3615, 3616, 3618, 0, 3619, 3621, 3625, 3627, 3628, 3639,
3892 : : 3629, 3630, 3631, 3640, 3634, 3635, 3635, 3641, 3642, 3644,
3893 : : 3645, 3646, 3648, 3649, 3651, 3652, 3637, 3638, 3635, 3653,
3894 : : 3635, 3635, 3635, 3635, 3654, 3655, 3657, 3658, 3639, 3659,
3895 : : 3660, 3663, 3640, 3664, 3635, 3635, 3641, 3642, 3644, 3645,
3896 : : 3646, 3648, 3649, 3651, 3652, 3665, 3667, 3635, 3653, 3635,
3897 : : 3635, 3635, 3635, 3654, 3655, 3657, 3658, 3661, 3659, 3660,
3898 : : 3663, 3661, 3664, 3668, 3669, 3670, 3671, 3672, 3673, 3676,
3899 : :
3900 : : 3678, 3679, 3681, 3682, 3665, 3667, 3683, 3684, 3685, 3688,
3901 : : 0, 0, 3691, 3692, 3693, 3694, 3661, 3695, 3696, 3698,
3902 : : 3661, 3699, 3668, 3669, 3670, 3671, 3672, 3673, 3676, 3678,
3903 : : 3679, 3681, 3682, 3700, 3702, 3683, 3684, 3685, 3688, 3689,
3904 : : 3689, 3691, 3692, 3693, 3694, 3703, 3695, 3696, 3698, 3705,
3905 : : 3699, 3706, 3689, 3707, 3689, 3689, 3689, 3689, 3708, 3709,
3906 : : 3711, 3712, 3700, 3702, 3713, 3714, 3715, 3717, 3689, 3689,
3907 : : 3715, 3718, 3719, 3721, 3703, 3722, 3723, 3724, 3705, 3725,
3908 : : 3706, 3689, 3707, 3689, 3689, 3689, 3689, 3708, 3709, 3711,
3909 : : 3712, 3726, 3727, 3713, 3714, 3715, 3717, 3730, 3732, 3715,
3910 : :
3911 : : 3718, 3719, 3721, 3733, 3722, 3723, 3724, 3735, 3725, 3736,
3912 : : 3737, 3738, 3739, 3742, 0, 0, 3745, 3746, 3747, 3748,
3913 : : 3726, 3727, 3749, 3750, 3752, 3753, 3730, 3732, 3754, 0,
3914 : : 0, 0, 3733, 3756, 3757, 3759, 3735, 3760, 3736, 3737,
3915 : : 3738, 3739, 3742, 3743, 3743, 3745, 3746, 3747, 3748, 3761,
3916 : : 3762, 3749, 3750, 3752, 3753, 3763, 3743, 3754, 3743, 3743,
3917 : : 3743, 3743, 3756, 3757, 3759, 3765, 3760, 3766, 3767, 3768,
3918 : : 3769, 3771, 3743, 3743, 3769, 3772, 3773, 3775, 3761, 3762,
3919 : : 3776, 3777, 3778, 3779, 3763, 3743, 3780, 3743, 3743, 3743,
3920 : : 3743, 3781, 3784, 3786, 3765, 3787, 3766, 3767, 3768, 3769,
3921 : :
3922 : : 3771, 3789, 3790, 3769, 3772, 3773, 3775, 3791, 3792, 3776,
3923 : : 3777, 3778, 3779, 3793, 3796, 3780, 0, 3799, 3800, 3801,
3924 : : 3781, 3784, 3786, 3802, 3787, 3803, 3804, 3806, 0, 3807,
3925 : : 3789, 3790, 0, 0, 3808, 3810, 3791, 3792, 3811, 3813,
3926 : : 3814, 3815, 3793, 3796, 3797, 3797, 3799, 3800, 3801, 3816,
3927 : : 3817, 3819, 3802, 3820, 3803, 3804, 3806, 3797, 3807, 3797,
3928 : : 3797, 3797, 3797, 3808, 3810, 3821, 3822, 3811, 3813, 3814,
3929 : : 3815, 3823, 3825, 3797, 3797, 3823, 3826, 3827, 3816, 3817,
3930 : : 3819, 3829, 3820, 3830, 3831, 3832, 3797, 3833, 3797, 3797,
3931 : : 3797, 3797, 3834, 3835, 3821, 3822, 3838, 3840, 3841, 3844,
3932 : :
3933 : : 3823, 3825, 3845, 3847, 3823, 3826, 3827, 3849, 3851, 3852,
3934 : : 3829, 3850, 3830, 3831, 3832, 3850, 3833, 3853, 3854, 3855,
3935 : : 3857, 3834, 3835, 3860, 3861, 3838, 3840, 3841, 3844, 3862,
3936 : : 3864, 3845, 3847, 3865, 3868, 3870, 3849, 3851, 3852, 3871,
3937 : : 3850, 3874, 3876, 3877, 3850, 3878, 3853, 3854, 3855, 3857,
3938 : : 3879, 3880, 3860, 3861, 3882, 3883, 3885, 3886, 3862, 3864,
3939 : : 3886, 3888, 3865, 3868, 3870, 3893, 3888, 3894, 3871, 3896,
3940 : : 3874, 3876, 3877, 3898, 3878, 3900, 3901, 3899, 3902, 3879,
3941 : : 3880, 3899, 3903, 3882, 3883, 3885, 3886, 3904, 3906, 3886,
3942 : : 3888, 3909, 3910, 3911, 3893, 3888, 3894, 3913, 3896, 3914,
3943 : :
3944 : : 3917, 3919, 3898, 3920, 3900, 3901, 3899, 3902, 3923, 3925,
3945 : : 3899, 3903, 3926, 3927, 3928, 3929, 3904, 3906, 3931, 3932,
3946 : : 3909, 3910, 3911, 3934, 3935, 3942, 3913, 3935, 3914, 3917,
3947 : : 3919, 3937, 3920, 3943, 3945, 3947, 3937, 3923, 3925, 3949,
3948 : : 3950, 3926, 3927, 3928, 3929, 3948, 3951, 3931, 3932, 3948,
3949 : : 3952, 3953, 3934, 3935, 3942, 3955, 3935, 3958, 3959, 3960,
3950 : : 3937, 3962, 3943, 3945, 3947, 3937, 3963, 3966, 3949, 3950,
3951 : : 3968, 3969, 3972, 3974, 3948, 3951, 3975, 3976, 3948, 3952,
3952 : : 3953, 3977, 3978, 3980, 3955, 3981, 3958, 3959, 3960, 3983,
3953 : : 3962, 3984, 3986, 3991, 3984, 3963, 3966, 3986, 3992, 3968,
3954 : :
3955 : : 3969, 3972, 3974, 3994, 3996, 3975, 3976, 3998, 3999, 3997,
3956 : : 3977, 3978, 3980, 3997, 3981, 4000, 4001, 4002, 3983, 4004,
3957 : : 3984, 3986, 3991, 3984, 4007, 4008, 3986, 3992, 4009, 4011,
3958 : : 4012, 4015, 3994, 3996, 4017, 4018, 3998, 3999, 3997, 4021,
3959 : : 4023, 4024, 3997, 4025, 4000, 4001, 4002, 4026, 4004, 4027,
3960 : : 4029, 4030, 4032, 4007, 4008, 4039, 4035, 4009, 4011, 4012,
3961 : : 4015, 4035, 4033, 4017, 4018, 4033, 4041, 4042, 4021, 4023,
3962 : : 4024, 4043, 4025, 4044, 4045, 4046, 4026, 4047, 4027, 4029,
3963 : : 4030, 4032, 4048, 4049, 4039, 4035, 4053, 4054, 4056, 4058,
3964 : : 4035, 4033, 4061, 4064, 4033, 4041, 4042, 4066, 4067, 4068,
3965 : :
3966 : : 4043, 4069, 4044, 4045, 4046, 4070, 4047, 4071, 4072, 4074,
3967 : : 4075, 4048, 4049, 4076, 4077, 4053, 4054, 4056, 4058, 4078,
3968 : : 4079, 4061, 4064, 4080, 4081, 4082, 4066, 4067, 4068, 4086,
3969 : : 4069, 4087, 4089, 4091, 4070, 4094, 4071, 4072, 4074, 4075,
3970 : : 4097, 4099, 4076, 4077, 4100, 4101, 4102, 4103, 4078, 4079,
3971 : : 4104, 4105, 4080, 4081, 4082, 4107, 4108, 4109, 4086, 4110,
3972 : : 4087, 4089, 4091, 4111, 4094, 4112, 4113, 4114, 4115, 4097,
3973 : : 4099, 4119, 4120, 4100, 4101, 4102, 4103, 4122, 4124, 4104,
3974 : : 4105, 4127, 4130, 4132, 4107, 4108, 4109, 4133, 4110, 4134,
3975 : : 4135, 4136, 4111, 4137, 4112, 4113, 4114, 4115, 4138, 4140,
3976 : :
3977 : : 4119, 4120, 4141, 4142, 4143, 4144, 4122, 4124, 4145, 4146,
3978 : : 4127, 4130, 4132, 4147, 4148, 4152, 4133, 4153, 4134, 4135,
3979 : : 4136, 4155, 4137, 4157, 4160, 4163, 4165, 4138, 4140, 4166,
3980 : : 4167, 4141, 4142, 4143, 4144, 4168, 4169, 4145, 4146, 4170,
3981 : : 4171, 4173, 4147, 4148, 4152, 4174, 4153, 4175, 4176, 4177,
3982 : : 4155, 4178, 4157, 4160, 4163, 4165, 4179, 4180, 4166, 4167,
3983 : : 4182, 4183, 4184, 4184, 4168, 4169, 4185, 4187, 4170, 4171,
3984 : : 4173, 4190, 4191, 4192, 4174, 4193, 4175, 4176, 4177, 4194,
3985 : : 4178, 4196, 4197, 4198, 4199, 4179, 4180, 4200, 4201, 4182,
3986 : : 4183, 4184, 4184, 4202, 4203, 4185, 4187, 4205, 4206, 4208,
3987 : :
3988 : : 4190, 4191, 4192, 4210, 4193, 4207, 4207, 4213, 4194, 4214,
3989 : : 4196, 4197, 4198, 4199, 4215, 4216, 4200, 4201, 4217, 4219,
3990 : : 4220, 4221, 4202, 4203, 4222, 4223, 4205, 4206, 4208, 4224,
3991 : : 4225, 4226, 4210, 4228, 4207, 4207, 4213, 4229, 4214, 4230,
3992 : : 4230, 4231, 4233, 4215, 4216, 4236, 4237, 4217, 4219, 4220,
3993 : : 4221, 4238, 4239, 4222, 4223, 4240, 4242, 4243, 4224, 4225,
3994 : : 4226, 4244, 4228, 4245, 4246, 4247, 4229, 4248, 4230, 4230,
3995 : : 4231, 4233, 4249, 4251, 4236, 4237, 4252, 4253, 4253, 4254,
3996 : : 4238, 4239, 4256, 4259, 4240, 4242, 4243, 4260, 4261, 4262,
3997 : : 4244, 4263, 4245, 4246, 4247, 4264, 4248, 4266, 4269, 4270,
3998 : :
3999 : : 4274, 4249, 4251, 4275, 4279, 4252, 4253, 4253, 4254, 4280,
4000 : : 4281, 4256, 4259, 4282, 4283, 4285, 4260, 4261, 4262, 4288,
4001 : : 4263, 4289, 4293, 4294, 4264, 4298, 4266, 4269, 4270, 4274,
4002 : : 4299, 4300, 4275, 4279, 4301, 4302, 4304, 4307, 4280, 4281,
4003 : : 4308, 4312, 4282, 4283, 4285, 4313, 4317, 4318, 4288, 4319,
4004 : : 4289, 4293, 4294, 4320, 4298, 4321, 4323, 4326, 4327, 4299,
4005 : : 4300, 4331, 4332, 4301, 4302, 4304, 4307, 4336, 4337, 4308,
4006 : : 4312, 4338, 4340, 4341, 4313, 4317, 4318, 4342, 4319, 4343,
4007 : : 4344, 4345, 4320, 4348, 4321, 4323, 4326, 4327, 4350, 4351,
4008 : : 4331, 4332, 4352, 4353, 4354, 4355, 4336, 4337, 4358, 4360,
4009 : :
4010 : : 4338, 4340, 4341, 4361, 4362, 4363, 4342, 4364, 4343, 4344,
4011 : : 4345, 4365, 4348, 4368, 4370, 4371, 4372, 4350, 4351, 4373,
4012 : : 4374, 4352, 4353, 4354, 4355, 4375, 4378, 4358, 4360, 4379,
4013 : : 4380, 4382, 4361, 4362, 4363, 4383, 4364, 4384, 4385, 4386,
4014 : : 4365, 4387, 4368, 4370, 4371, 4372, 4389, 4390, 4373, 4374,
4015 : : 4391, 4392, 4393, 4394, 4375, 4378, 4396, 4397, 4379, 4380,
4016 : : 4382, 4398, 4399, 4400, 4383, 4401, 4384, 4385, 4386, 4403,
4017 : : 4387, 4404, 4405, 4406, 4409, 4389, 4390, 4415, 4421, 4391,
4018 : : 4392, 4393, 4394, 4427, 4431, 4396, 4397, 4432, 4433, 4434,
4019 : : 4398, 4399, 4400, 4435, 4401, 4436, 4437, 4438, 4403, 4439,
4020 : :
4021 : : 4404, 4405, 4406, 4409, 4441, 4443, 4415, 4421, 4445, 4447,
4022 : : 4448, 4449, 4427, 4431, 4450, 4451, 4432, 4433, 4434, 4452,
4023 : : 4453, 4454, 4435, 4455, 4436, 4437, 4438, 4456, 4439, 4457,
4024 : : 4458, 4459, 4460, 4441, 4443, 4461, 4462, 4445, 4447, 4448,
4025 : : 4449, 4463, 4464, 4450, 4451, 4465, 4466, 4467, 4452, 4453,
4026 : : 4454, 4468, 4455, 4469, 4470, 4471, 4456, 4472, 4457, 4458,
4027 : : 4459, 4460, 4473, 4474, 4461, 4462, 4479, 4480, 4481, 4482,
4028 : : 4463, 4464, 4483, 4484, 4465, 4466, 4467, 4485, 4486, 4487,
4029 : : 4468, 4488, 4469, 4470, 4471, 4489, 4472, 4490, 4491, 4492,
4030 : : 4493, 4473, 4474, 4494, 4495, 4479, 4480, 4481, 4482, 4496,
4031 : :
4032 : : 4497, 4483, 4484, 4498, 0, 0, 4485, 4486, 4487, 0,
4033 : : 4488, 0, 0, 0, 4489, 0, 4490, 4491, 4492, 4493,
4034 : : 0, 0, 4494, 4495, 0, 0, 0, 0, 4496, 4497,
4035 : : 0, 0, 4498, 4504, 0, 4504, 4505, 0, 4505, 4506,
4036 : : 4506, 4506, 4506, 4506, 4507, 0, 4507, 4507, 4507, 4507,
4037 : : 4507, 4507, 4508, 0, 0, 4508, 4508, 4508, 0, 4508,
4038 : : 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4509, 4510, 4510,
4039 : : 4510, 4510, 4510, 4510, 4510, 4510, 4511, 0, 4511, 4511,
4040 : : 4511, 4511, 4511, 4511, 4503, 4503, 4503, 4503, 4503, 4503,
4041 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
4042 : :
4043 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
4044 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
4045 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
4046 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
4047 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
4048 : : 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503, 4503,
4049 : : 4503, 4503, 4503, 4503, 4503, 4503
4050 : : } ;
4051 : :
4052 : : static yy_state_type yy_last_accepting_state;
4053 : : static char *yy_last_accepting_cpos;
4054 : :
4055 : : extern int SQLyy_flex_debug;
4056 : : int SQLyy_flex_debug = 0;
4057 : :
4058 : : /* The intent behind this definition is that it'll catch
4059 : : * any uses of REJECT which flex missed.
4060 : : */
4061 : : #define REJECT reject_used_but_not_detected
4062 : : #define yymore() yymore_used_but_not_detected
4063 : : #define YY_MORE_ADJ 0
4064 : : #define YY_RESTORE_YY_MORE_OFFSET
4065 : : char *SQLyytext;
4066 : :
4067 : : //
4068 : : // This file is part of the LibreOffice project.
4069 : : //
4070 : : // This Source Code Form is subject to the terms of the Mozilla Public
4071 : : // License, v. 2.0. If a copy of the MPL was not distributed with this
4072 : : // file, You can obtain one at http://mozilla.org/MPL/2.0/.
4073 : : //
4074 : : // This file incorporates work covered by the following license notice:
4075 : : //
4076 : : // Licensed to the Apache Software Foundation (ASF) under one or more
4077 : : // contributor license agreements. See the NOTICE file distributed
4078 : : // with this work for additional information regarding copyright
4079 : : // ownership. The ASF licenses this file to you under the Apache
4080 : : // License, Version 2.0 (the "License"); you may not use this file
4081 : : // except in compliance with the License. You may obtain a copy of
4082 : : // the License at http://www.apache.org/licenses/LICENSE-2.0 .
4083 : : //
4084 : :
4085 : : #define YY_EXIT 1 // YY_FATAL will not halt the application
4086 : :
4087 : : #ifndef _CSTDARG_
4088 : : #include <cstdarg> // std::va_list
4089 : : #endif
4090 : :
4091 : : #ifndef _INC_STRING
4092 : : #include <string.h>
4093 : : #endif
4094 : :
4095 : : #include "internalnode.hxx"
4096 : :
4097 : : #ifndef _CONNECTIVITY_SQLYACC_HXX
4098 : : #define _CONNECTIVITY_SQLYACC_HXX
4099 : :
4100 : : #ifndef SQLYYDEBUG
4101 : : #define SQLYYDEBUG 1
4102 : : #endif
4103 : :
4104 : : #include "sqlbison.hxx"
4105 : : #endif
4106 : : #include "sqlscan.hxx"
4107 : : #include <osl/diagnose.h>
4108 : : #include <rtl/strbuf.hxx>
4109 : : #include <connectivity/sqlparse.hxx>
4110 : :
4111 : : #if defined __GNUC__
4112 : : #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
4113 : : # pragma GCC diagnostic ignored "-Wwrite-strings"
4114 : : # pragma GCC diagnostic ignored "-Wunused-function"
4115 : : #endif
4116 : : #elif defined __SUNPRO_CC
4117 : : #pragma disable_warn
4118 : : #elif defined _MSC_VER
4119 : : #pragma warning(push, 1)
4120 : : /**/
4121 : : #ifdef SQLyywrap
4122 : : #undef SQLyywrap
4123 : : #define SQLyywrap() 1
4124 : : #endif
4125 : : /**/
4126 : : #endif
4127 : :
4128 : : using namespace connectivity;
4129 : :
4130 : : //=============================================================================
4131 : : //
4132 : : // Erzeugung der Blaetter fuer die Token
4133 : : // Blaetter werden generell vom Lexer erzeugt
4134 : :
4135 : 56 : static ::rtl::OUString aEmptyString;
4136 : :
4137 : : static sal_Int32 gatherString(int delim, sal_Int32 nTyp);
4138 : : static sal_Int32 gatherName(const sal_Char*);
4139 : : static sal_Int32 gatherNamePre(const sal_Char* );
4140 : : // has to be set before the parser starts
4141 : : OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL;
4142 : :
4143 : : #define SQL_NEW_NODE(text, token) \
4144 : : SQLyylval.pParseNode = new OSQLInternalNode(text, token);
4145 : :
4146 : : #define SQL_NEW_KEYWORD(token) \
4147 : : SQLyylval.pParseNode = new OSQLInternalNode(aEmptyString, SQL_NODE_KEYWORD, (token)); return token;
4148 : :
4149 : : #define SQL_NEW_INTNUM SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_INTNUM); return SQL_TOKEN_INTNUM;
4150 : : #define SQL_NEW_APPROXNUM SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_APPROXNUM); return SQL_TOKEN_APPROXNUM;
4151 : : #define SQL_NEW_DATE SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_ACCESS_DATE); return SQL_TOKEN_ACCESS_DATE;
4152 : :
4153 : : #define YY_INPUT(buf,result,max_size) \
4154 : : { \
4155 : : int c = xxx_pGLOBAL_SQLSCAN->SQLyygetc(); \
4156 : : result = (c == EOF) ? YY_NULL : (buf[0] = c, 1);\
4157 : : }
4158 : :
4159 : : #define YY_FATAL_ERROR(msg) \
4160 : : { \
4161 : : xxx_pGLOBAL_SQLSCAN->SQLyyerror(msg); \
4162 : : }
4163 : :
4164 : : //
4165 : : //=============================================================================
4166 : :
4167 : : #define INITIAL 0
4168 : : #define SQL 1
4169 : : #define PREDICATE_ENG 2
4170 : : #define PREDICATE_GER 3
4171 : : #define DATE 4
4172 : : #define STRING 5
4173 : :
4174 : : #ifndef YY_NO_UNISTD_H
4175 : : /* Special case for "unistd.h", since it is non-ANSI. We include it way
4176 : : * down here because we want the user's section 1 to have been scanned first.
4177 : : * The user has a chance to override it with an option.
4178 : : */
4179 : : #include <unistd.h>
4180 : : #endif
4181 : :
4182 : : #ifndef YY_EXTRA_TYPE
4183 : : #define YY_EXTRA_TYPE void *
4184 : : #endif
4185 : :
4186 : : static int yy_init_globals (void );
4187 : :
4188 : : /* Accessor methods to globals.
4189 : : These are made visible to non-reentrant scanners for convenience. */
4190 : :
4191 : : int SQLyylex_destroy (void );
4192 : :
4193 : : int SQLyyget_debug (void );
4194 : :
4195 : : void SQLyyset_debug (int debug_flag );
4196 : :
4197 : : YY_EXTRA_TYPE SQLyyget_extra (void );
4198 : :
4199 : : void SQLyyset_extra (YY_EXTRA_TYPE user_defined );
4200 : :
4201 : : FILE *SQLyyget_in (void );
4202 : :
4203 : : void SQLyyset_in (FILE * in_str );
4204 : :
4205 : : FILE *SQLyyget_out (void );
4206 : :
4207 : : void SQLyyset_out (FILE * out_str );
4208 : :
4209 : : int SQLyyget_leng (void );
4210 : :
4211 : : char *SQLyyget_text (void );
4212 : :
4213 : : int SQLyyget_lineno (void );
4214 : :
4215 : : void SQLyyset_lineno (int line_number );
4216 : :
4217 : : /* Macros after this point can all be overridden by user definitions in
4218 : : * section 1.
4219 : : */
4220 : :
4221 : : #ifndef YY_SKIP_YYWRAP
4222 : : #ifdef __cplusplus
4223 : : extern "C" int SQLyywrap (void );
4224 : : #else
4225 : : extern int SQLyywrap (void );
4226 : : #endif
4227 : : #endif
4228 : :
4229 : : static void yyunput (int c,char *buf_ptr );
4230 : :
4231 : : #ifndef yytext_ptr
4232 : : static void yy_flex_strncpy (char *,yyconst char *,int );
4233 : : #endif
4234 : :
4235 : : #ifdef YY_NEED_STRLEN
4236 : : static int yy_flex_strlen (yyconst char * );
4237 : : #endif
4238 : :
4239 : : #ifndef YY_NO_INPUT
4240 : :
4241 : : #ifdef __cplusplus
4242 : : static int yyinput (void );
4243 : : #else
4244 : : static int input (void );
4245 : : #endif
4246 : :
4247 : : #endif
4248 : :
4249 : : /* Amount of stuff to slurp up with each read. */
4250 : : #ifndef YY_READ_BUF_SIZE
4251 : : #define YY_READ_BUF_SIZE 8192
4252 : : #endif
4253 : :
4254 : : /* Copy whatever the last rule matched to the standard output. */
4255 : : #ifndef ECHO
4256 : : /* This used to be an fputs(), but since the string might contain NUL's,
4257 : : * we now use fwrite().
4258 : : */
4259 : : #define ECHO do { if (fwrite( SQLyytext, SQLyyleng, 1, SQLyyout )) {} } while (0)
4260 : : #endif
4261 : :
4262 : : /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
4263 : : * is returned in "result".
4264 : : */
4265 : : #ifndef YY_INPUT
4266 : : #define YY_INPUT(buf,result,max_size) \
4267 : : if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
4268 : : { \
4269 : : int c = '*'; \
4270 : : unsigned n; \
4271 : : for ( n = 0; n < max_size && \
4272 : : (c = getc( SQLyyin )) != EOF && c != '\n'; ++n ) \
4273 : : buf[n] = (char) c; \
4274 : : if ( c == '\n' ) \
4275 : : buf[n++] = (char) c; \
4276 : : if ( c == EOF && ferror( SQLyyin ) ) \
4277 : : YY_FATAL_ERROR( "input in flex scanner failed" ); \
4278 : : result = n; \
4279 : : } \
4280 : : else \
4281 : : { \
4282 : : errno=0; \
4283 : : while ( (result = fread(buf, 1, max_size, SQLyyin))==0 && ferror(SQLyyin)) \
4284 : : { \
4285 : : if( errno != EINTR) \
4286 : : { \
4287 : : YY_FATAL_ERROR( "input in flex scanner failed" ); \
4288 : : break; \
4289 : : } \
4290 : : errno=0; \
4291 : : clearerr(SQLyyin); \
4292 : : } \
4293 : : }\
4294 : : \
4295 : :
4296 : : #endif
4297 : :
4298 : : /* No semi-colon after return; correct usage is to write "yyterminate();" -
4299 : : * we don't want an extra ';' after the "return" because that will cause
4300 : : * some compilers to complain about unreachable statements.
4301 : : */
4302 : : #ifndef yyterminate
4303 : : #define yyterminate() return YY_NULL
4304 : : #endif
4305 : :
4306 : : /* Number of entries by which start-condition stack grows. */
4307 : : #ifndef YY_START_STACK_INCR
4308 : : #define YY_START_STACK_INCR 25
4309 : : #endif
4310 : :
4311 : : /* Report a fatal error. */
4312 : : #ifndef YY_FATAL_ERROR
4313 : : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4314 : : #endif
4315 : :
4316 : : /* end tables serialization structures and prototypes */
4317 : :
4318 : : /* Default declaration of generated scanner - a define so the user can
4319 : : * easily add parameters.
4320 : : */
4321 : : #ifndef YY_DECL
4322 : : #define YY_DECL_IS_OURS 1
4323 : :
4324 : : extern int SQLyylex (void);
4325 : :
4326 : : #define YY_DECL int SQLyylex (void)
4327 : : #endif /* !YY_DECL */
4328 : :
4329 : : /* Code executed at the beginning of each rule, after SQLyytext and SQLyyleng
4330 : : * have been set up.
4331 : : */
4332 : : #ifndef YY_USER_ACTION
4333 : : #define YY_USER_ACTION
4334 : : #endif
4335 : :
4336 : : /* Code executed at the end of each rule. */
4337 : : #ifndef YY_BREAK
4338 : : #define YY_BREAK break;
4339 : : #endif
4340 : :
4341 : : #define YY_RULE_SETUP \
4342 : : YY_USER_ACTION
4343 : :
4344 : : /** The main scanner function which does all the work.
4345 : : */
4346 : 11662 : YY_DECL
4347 : : {
4348 : : register yy_state_type yy_current_state;
4349 : : register char *yy_cp, *yy_bp;
4350 : : register int yy_act;
4351 : :
4352 [ + + ]: 11662 : if ( !(yy_init) )
4353 : : {
4354 : 9 : (yy_init) = 1;
4355 : :
4356 : : #ifdef YY_USER_INIT
4357 : : YY_USER_INIT;
4358 : : #endif
4359 : :
4360 [ - + ]: 9 : if ( ! (yy_start) )
4361 : 0 : (yy_start) = 1; /* first start state */
4362 : :
4363 [ + - ]: 9 : if ( ! SQLyyin )
4364 : 9 : SQLyyin = stdin;
4365 : :
4366 [ + - ]: 9 : if ( ! SQLyyout )
4367 : 9 : SQLyyout = stdout;
4368 : :
4369 [ - + ][ # # ]: 9 : if ( ! YY_CURRENT_BUFFER ) {
4370 : 9 : SQLyyensure_buffer_stack ();
4371 : 9 : YY_CURRENT_BUFFER_LVALUE =
4372 : 9 : SQLyy_create_buffer(SQLyyin,YY_BUF_SIZE );
4373 : : }
4374 : :
4375 : 9 : SQLyy_load_buffer_state( );
4376 : : }
4377 : :
4378 : 21526 : while ( 1 ) /* loops until end-of-file is reached */
4379 : : {
4380 : 21526 : yy_cp = (yy_c_buf_p);
4381 : :
4382 : : /* Support of SQLyytext. */
4383 : 21526 : *yy_cp = (yy_hold_char);
4384 : :
4385 : : /* yy_bp points to the position in yy_ch_buf of the start of
4386 : : * the current run.
4387 : : */
4388 : 21526 : yy_bp = yy_cp;
4389 : :
4390 : 21526 : yy_current_state = (yy_start);
4391 : : yy_match:
4392 [ + + ]: 113200 : do
4393 : : {
4394 : 113200 : register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
4395 [ + + ]: 113200 : if ( yy_accept[yy_current_state] )
4396 : : {
4397 : 91330 : (yy_last_accepting_state) = yy_current_state;
4398 : 91330 : (yy_last_accepting_cpos) = yy_cp;
4399 : : }
4400 [ + + ]: 181380 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4401 : : {
4402 : 68180 : yy_current_state = (int) yy_def[yy_current_state];
4403 [ + + ]: 68180 : if ( yy_current_state >= 4504 )
4404 : 16310 : yy_c = yy_meta[(unsigned int) yy_c];
4405 : : }
4406 : 113200 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
4407 : 113200 : ++yy_cp;
4408 : : }
4409 : : while ( yy_current_state != 4503 );
4410 : 51870 : yy_cp = (yy_last_accepting_cpos);
4411 : 51870 : yy_current_state = (yy_last_accepting_state);
4412 : :
4413 : : yy_find_action:
4414 : 52192 : yy_act = yy_accept[yy_current_state];
4415 : :
4416 : 52192 : YY_DO_BEFORE_ACTION;
4417 : :
4418 : : do_action: /* This label is used only to access EOF actions. */
4419 : :
4420 [ - - - - : 52750 : switch ( yy_act )
- - + - -
- - - - -
- - - - -
- - - - -
- - - - +
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - + - -
- + + - -
- - - - -
- - - - +
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - + -
- - - - -
- - - - -
- + + - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
+ - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - - - -
- - + - -
- - - - -
- + - - -
- - + + +
- - - - -
- - - - -
+ - - + -
- - - + -
+ - - - +
+ - ]
4421 : : { /* beginning of action switch */
4422 : : case 0: /* must back up */
4423 : : /* undo the effects of YY_DO_BEFORE_ACTION */
4424 : 0 : *yy_cp = (yy_hold_char);
4425 : 0 : yy_cp = (yy_last_accepting_cpos);
4426 : 0 : yy_current_state = (yy_last_accepting_state);
4427 : 0 : goto yy_find_action;
4428 : :
4429 : : case 1:
4430 : : YY_RULE_SETUP
4431 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ABS); }
4432 : : YY_BREAK
4433 : : case 2:
4434 : : YY_RULE_SETUP
4435 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ACOS); }
4436 : : YY_BREAK
4437 : : case 3:
4438 : : YY_RULE_SETUP
4439 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_AFTER); }
4440 : : YY_BREAK
4441 : : case 4:
4442 : : YY_RULE_SETUP
4443 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ALL); }
4444 : : YY_BREAK
4445 : : case 5:
4446 : : YY_RULE_SETUP
4447 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ALTER); }
4448 : : YY_BREAK
4449 : : case 6:
4450 : : YY_RULE_SETUP
4451 [ + - ]: 588 : {SQL_NEW_KEYWORD(SQL_TOKEN_AND); }
4452 : : YY_BREAK
4453 : : case 7:
4454 : : YY_RULE_SETUP
4455 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ANY); }
4456 : : YY_BREAK
4457 : : case 8:
4458 : : YY_RULE_SETUP
4459 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ARRAY_AGG); }
4460 : : YY_BREAK
4461 : : case 9:
4462 : : YY_RULE_SETUP
4463 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_AS); }
4464 : : YY_BREAK
4465 : : case 10:
4466 : : YY_RULE_SETUP
4467 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ASC); }
4468 : : YY_BREAK
4469 : : case 11:
4470 : : YY_RULE_SETUP
4471 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ASCII); }
4472 : : YY_BREAK
4473 : : case 12:
4474 : : YY_RULE_SETUP
4475 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ASIN); }
4476 : : YY_BREAK
4477 : : case 13:
4478 : : YY_RULE_SETUP
4479 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_AT); }
4480 : : YY_BREAK
4481 : : case 14:
4482 : : YY_RULE_SETUP
4483 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ATAN); }
4484 : : YY_BREAK
4485 : : case 15:
4486 : : YY_RULE_SETUP
4487 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ATAN2); }
4488 : : YY_BREAK
4489 : : case 16:
4490 : : YY_RULE_SETUP
4491 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ATOMIC); }
4492 : : YY_BREAK
4493 : : case 17:
4494 : : YY_RULE_SETUP
4495 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_AUTHORIZATION); }
4496 : : YY_BREAK
4497 : : case 18:
4498 : : YY_RULE_SETUP
4499 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_AVG); }
4500 : : YY_BREAK
4501 : : case 19:
4502 : : YY_RULE_SETUP
4503 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BEFORE); }
4504 : : YY_BREAK
4505 : : case 20:
4506 : : YY_RULE_SETUP
4507 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BEGIN); }
4508 : : YY_BREAK
4509 : : case 21:
4510 : : YY_RULE_SETUP
4511 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BETWEEN); }
4512 : : YY_BREAK
4513 : : case 22:
4514 : : YY_RULE_SETUP
4515 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BIGINT); }
4516 : : YY_BREAK
4517 : : case 23:
4518 : : YY_RULE_SETUP
4519 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BINARY); }
4520 : : YY_BREAK
4521 : : case 24:
4522 : : YY_RULE_SETUP
4523 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BIT); }
4524 : : YY_BREAK
4525 : : case 25:
4526 : : YY_RULE_SETUP
4527 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BIT_LENGTH); }
4528 : : YY_BREAK
4529 : : case 26:
4530 : : YY_RULE_SETUP
4531 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BLOB); }
4532 : : YY_BREAK
4533 : : case 27:
4534 : : YY_RULE_SETUP
4535 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_BOTH); }
4536 : : YY_BREAK
4537 : : case 28:
4538 : : YY_RULE_SETUP
4539 [ + - ]: 86 : {SQL_NEW_KEYWORD(SQL_TOKEN_BY); }
4540 : : YY_BREAK
4541 : : case 29:
4542 : : YY_RULE_SETUP
4543 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CALL); }
4544 : : YY_BREAK
4545 : : case 30:
4546 : : YY_RULE_SETUP
4547 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CASE); }
4548 : : YY_BREAK
4549 : : case 31:
4550 : : YY_RULE_SETUP
4551 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CAST); }
4552 : : YY_BREAK
4553 : : case 32:
4554 : : YY_RULE_SETUP
4555 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CEILING); }
4556 : : YY_BREAK
4557 : : case 33:
4558 : : YY_RULE_SETUP
4559 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CHAR); }
4560 : : YY_BREAK
4561 : : case 34:
4562 : : YY_RULE_SETUP
4563 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CHARACTER); }
4564 : : YY_BREAK
4565 : : case 35:
4566 : : YY_RULE_SETUP
4567 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CHAR_LENGTH); }
4568 : : YY_BREAK
4569 : : case 36:
4570 : : YY_RULE_SETUP
4571 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CHECK); }
4572 : : YY_BREAK
4573 : : case 37:
4574 : : YY_RULE_SETUP
4575 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CLOB); }
4576 : : YY_BREAK
4577 : : case 38:
4578 : : YY_RULE_SETUP
4579 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_COALESCE); }
4580 : : YY_BREAK
4581 : : case 39:
4582 : : YY_RULE_SETUP
4583 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_COLLATE); }
4584 : : YY_BREAK
4585 : : case 40:
4586 : : YY_RULE_SETUP
4587 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_COLLECT); }
4588 : : YY_BREAK
4589 : : case 41:
4590 : : YY_RULE_SETUP
4591 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_COMMIT); }
4592 : : YY_BREAK
4593 : : case 42:
4594 : : YY_RULE_SETUP
4595 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CONCAT); }
4596 : : YY_BREAK
4597 : : case 43:
4598 : : YY_RULE_SETUP
4599 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CONTINUE); }
4600 : : YY_BREAK
4601 : : case 44:
4602 : : YY_RULE_SETUP
4603 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CONVERT); }
4604 : : YY_BREAK
4605 : : case 45:
4606 : : YY_RULE_SETUP
4607 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_COS); }
4608 : : YY_BREAK
4609 : : case 46:
4610 : : YY_RULE_SETUP
4611 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_COT); }
4612 : : YY_BREAK
4613 : : case 47:
4614 : : YY_RULE_SETUP
4615 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_COUNT); }
4616 : : YY_BREAK
4617 : : case 48:
4618 : : YY_RULE_SETUP
4619 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CREATE); }
4620 : : YY_BREAK
4621 : : case 49:
4622 : : YY_RULE_SETUP
4623 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CROSS); }
4624 : : YY_BREAK
4625 : : case 50:
4626 : : YY_RULE_SETUP
4627 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CUME_DIST); }
4628 : : YY_BREAK
4629 : : case 51:
4630 : : YY_RULE_SETUP
4631 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT); }
4632 : : YY_BREAK
4633 : : case 52:
4634 : : YY_RULE_SETUP
4635 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_DATE); }
4636 : : YY_BREAK
4637 : : case 53:
4638 : : YY_RULE_SETUP
4639 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_CATALOG); }
4640 : : YY_BREAK
4641 : : case 54:
4642 : : YY_RULE_SETUP
4643 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_DEFAULT_TRANSFORM_GROUP); }
4644 : : YY_BREAK
4645 : : case 55:
4646 : : YY_RULE_SETUP
4647 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_PATH); }
4648 : : YY_BREAK
4649 : : case 56:
4650 : : YY_RULE_SETUP
4651 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_ROLE); }
4652 : : YY_BREAK
4653 : : case 57:
4654 : : YY_RULE_SETUP
4655 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_SCHEMA); }
4656 : : YY_BREAK
4657 : : case 58:
4658 : : YY_RULE_SETUP
4659 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_USER); }
4660 : : YY_BREAK
4661 : : case 59:
4662 : : YY_RULE_SETUP
4663 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURDATE); }
4664 : : YY_BREAK
4665 : : case 60:
4666 : : YY_RULE_SETUP
4667 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_TIME); }
4668 : : YY_BREAK
4669 : : case 61:
4670 : : YY_RULE_SETUP
4671 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURTIME); }
4672 : : YY_BREAK
4673 : : case 62:
4674 : : YY_RULE_SETUP
4675 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURRENT_TIMESTAMP); }
4676 : : YY_BREAK
4677 : : case 63:
4678 : : YY_RULE_SETUP
4679 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_CURSOR); }
4680 : : YY_BREAK
4681 : : case 64:
4682 : : YY_RULE_SETUP
4683 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_D); }
4684 : : YY_BREAK
4685 : : case 65:
4686 : : YY_RULE_SETUP
4687 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DATE); }
4688 : : YY_BREAK
4689 : : case 66:
4690 : : YY_RULE_SETUP
4691 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DATEDIFF); }
4692 : : YY_BREAK
4693 : : case 67:
4694 : : YY_RULE_SETUP
4695 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DATEVALUE); }
4696 : : YY_BREAK
4697 : : case 68:
4698 : : YY_RULE_SETUP
4699 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DAY); }
4700 : : YY_BREAK
4701 : : case 69:
4702 : : YY_RULE_SETUP
4703 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DAYNAME); }
4704 : : YY_BREAK
4705 : : case 70:
4706 : : YY_RULE_SETUP
4707 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DAYOFMONTH); }
4708 : : YY_BREAK
4709 : : case 71:
4710 : : YY_RULE_SETUP
4711 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DAYOFWEEK); }
4712 : : YY_BREAK
4713 : : case 72:
4714 : : YY_RULE_SETUP
4715 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DAYOFYEAR); }
4716 : : YY_BREAK
4717 : : case 73:
4718 : : YY_RULE_SETUP
4719 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DEC); }
4720 : : YY_BREAK
4721 : : case 74:
4722 : : YY_RULE_SETUP
4723 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DECIMAL); }
4724 : : YY_BREAK
4725 : : case 75:
4726 : : YY_RULE_SETUP
4727 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DECLARE); }
4728 : : YY_BREAK
4729 : : case 76:
4730 : : YY_RULE_SETUP
4731 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DEFAULT); }
4732 : : YY_BREAK
4733 : : case 77:
4734 : : YY_RULE_SETUP
4735 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DEGREES); }
4736 : : YY_BREAK
4737 : : case 78:
4738 : : YY_RULE_SETUP
4739 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DELETE); }
4740 : : YY_BREAK
4741 : : case 79:
4742 : : YY_RULE_SETUP
4743 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DENSE_RANK); }
4744 : : YY_BREAK
4745 : : case 80:
4746 : : YY_RULE_SETUP
4747 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DESC); }
4748 : : YY_BREAK
4749 : : case 81:
4750 : : YY_RULE_SETUP
4751 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DIFFERENCE); }
4752 : : YY_BREAK
4753 : : case 82:
4754 : : YY_RULE_SETUP
4755 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DISTINCT); }
4756 : : YY_BREAK
4757 : : case 83:
4758 : : YY_RULE_SETUP
4759 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DOUBLE); }
4760 : : YY_BREAK
4761 : : case 84:
4762 : : YY_RULE_SETUP
4763 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_DROP); }
4764 : : YY_BREAK
4765 : : case 85:
4766 : : YY_RULE_SETUP
4767 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_EACH); }
4768 : : YY_BREAK
4769 : : case 86:
4770 : : YY_RULE_SETUP
4771 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ELSE); }
4772 : : YY_BREAK
4773 : : case 87:
4774 : : YY_RULE_SETUP
4775 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_END); }
4776 : : YY_BREAK
4777 : : case 88:
4778 : : YY_RULE_SETUP
4779 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_EVERY); }
4780 : : YY_BREAK
4781 : : case 89:
4782 : : YY_RULE_SETUP
4783 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ESCAPE); }
4784 : : YY_BREAK
4785 : : case 90:
4786 : : YY_RULE_SETUP
4787 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_EXCEPT); }
4788 : : YY_BREAK
4789 : : case 91:
4790 : : YY_RULE_SETUP
4791 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_EXCLUDE); }
4792 : : YY_BREAK
4793 : : case 92:
4794 : : YY_RULE_SETUP
4795 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_EXISTS); }
4796 : : YY_BREAK
4797 : : case 93:
4798 : : YY_RULE_SETUP
4799 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_EXP); }
4800 : : YY_BREAK
4801 : : case 94:
4802 : : YY_RULE_SETUP
4803 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_EXTRACT); }
4804 : : YY_BREAK
4805 : : case 95:
4806 : : YY_RULE_SETUP
4807 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FALSE); }
4808 : : YY_BREAK
4809 : : case 96:
4810 : : YY_RULE_SETUP
4811 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FETCH); }
4812 : : YY_BREAK
4813 : : case 97:
4814 : : YY_RULE_SETUP
4815 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FIRST); }
4816 : : YY_BREAK
4817 : : case 98:
4818 : : YY_RULE_SETUP
4819 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FIRST_VALUE); }
4820 : : YY_BREAK
4821 : : case 99:
4822 : : YY_RULE_SETUP
4823 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FLOAT); }
4824 : : YY_BREAK
4825 : : case 100:
4826 : : YY_RULE_SETUP
4827 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FLOOR); }
4828 : : YY_BREAK
4829 : : case 101:
4830 : : YY_RULE_SETUP
4831 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FN); }
4832 : : YY_BREAK
4833 : : case 102:
4834 : : YY_RULE_SETUP
4835 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FOLLOWING); }
4836 : : YY_BREAK
4837 : : case 103:
4838 : : YY_RULE_SETUP
4839 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FOR); }
4840 : : YY_BREAK
4841 : : case 104:
4842 : : YY_RULE_SETUP
4843 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FOREIGN); }
4844 : : YY_BREAK
4845 : : case 105:
4846 : : YY_RULE_SETUP
4847 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FOUND); }
4848 : : YY_BREAK
4849 : : case 106:
4850 : : YY_RULE_SETUP
4851 [ + - ]: 486 : {SQL_NEW_KEYWORD(SQL_TOKEN_FROM); }
4852 : : YY_BREAK
4853 : : case 107:
4854 : : YY_RULE_SETUP
4855 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FULL); }
4856 : : YY_BREAK
4857 : : case 108:
4858 : : YY_RULE_SETUP
4859 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_FUSION); }
4860 : : YY_BREAK
4861 : : case 109:
4862 : : YY_RULE_SETUP
4863 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_GRANT); }
4864 : : YY_BREAK
4865 : : case 110:
4866 : : YY_RULE_SETUP
4867 [ + - ]: 60 : {SQL_NEW_KEYWORD(SQL_TOKEN_GROUP); }
4868 : : YY_BREAK
4869 : : case 111:
4870 : : YY_RULE_SETUP
4871 [ + - ]: 40 : {SQL_NEW_KEYWORD(SQL_TOKEN_HAVING); }
4872 : : YY_BREAK
4873 : : case 112:
4874 : : YY_RULE_SETUP
4875 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_HOUR); }
4876 : : YY_BREAK
4877 : : case 113:
4878 : : YY_RULE_SETUP
4879 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_IGNORE); }
4880 : : YY_BREAK
4881 : : case 114:
4882 : : YY_RULE_SETUP
4883 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_IN); }
4884 : : YY_BREAK
4885 : : case 115:
4886 : : YY_RULE_SETUP
4887 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INNER); }
4888 : : YY_BREAK
4889 : : case 116:
4890 : : YY_RULE_SETUP
4891 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INSERT); }
4892 : : YY_BREAK
4893 : : case 117:
4894 : : YY_RULE_SETUP
4895 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INSTEAD); }
4896 : : YY_BREAK
4897 : : case 118:
4898 : : YY_RULE_SETUP
4899 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INTEGER); }
4900 : : YY_BREAK
4901 : : case 119:
4902 : : YY_RULE_SETUP
4903 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INTERSECT); }
4904 : : YY_BREAK
4905 : : case 120:
4906 : : YY_RULE_SETUP
4907 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INTERVAL); }
4908 : : YY_BREAK
4909 : : case 121:
4910 : : YY_RULE_SETUP
4911 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INTERSECTION); }
4912 : : YY_BREAK
4913 : : case 122:
4914 : : YY_RULE_SETUP
4915 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_INTO); }
4916 : : YY_BREAK
4917 : : case 123:
4918 : : YY_RULE_SETUP
4919 [ + - ]: 122 : {SQL_NEW_KEYWORD(SQL_TOKEN_IS); }
4920 : : YY_BREAK
4921 : : case 124:
4922 : : YY_RULE_SETUP
4923 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_JOIN); }
4924 : : YY_BREAK
4925 : : case 125:
4926 : : YY_RULE_SETUP
4927 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_KEY); }
4928 : : YY_BREAK
4929 : : case 126:
4930 : : YY_RULE_SETUP
4931 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LAG); }
4932 : : YY_BREAK
4933 : : case 127:
4934 : : YY_RULE_SETUP
4935 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LARGE); }
4936 : : YY_BREAK
4937 : : case 128:
4938 : : YY_RULE_SETUP
4939 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LAST); }
4940 : : YY_BREAK
4941 : : case 129:
4942 : : YY_RULE_SETUP
4943 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LAST_VALUE); }
4944 : : YY_BREAK
4945 : : case 130:
4946 : : YY_RULE_SETUP
4947 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LCASE); }
4948 : : YY_BREAK
4949 : : case 131:
4950 : : YY_RULE_SETUP
4951 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LEAD); }
4952 : : YY_BREAK
4953 : : case 132:
4954 : : YY_RULE_SETUP
4955 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LEADING); }
4956 : : YY_BREAK
4957 : : case 133:
4958 : : YY_RULE_SETUP
4959 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LEFT); }
4960 : : YY_BREAK
4961 : : case 134:
4962 : : YY_RULE_SETUP
4963 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LENGTH); }
4964 : : YY_BREAK
4965 : : case 135:
4966 : : YY_RULE_SETUP
4967 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LIKE); }
4968 : : YY_BREAK
4969 : : case 136:
4970 : : YY_RULE_SETUP
4971 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LIMIT); }
4972 : : YY_BREAK
4973 : : case 137:
4974 : : YY_RULE_SETUP
4975 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LN); }
4976 : : YY_BREAK
4977 : : case 138:
4978 : : YY_RULE_SETUP
4979 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LOCAL); }
4980 : : YY_BREAK
4981 : : case 139:
4982 : : YY_RULE_SETUP
4983 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LOCATE); }
4984 : : YY_BREAK
4985 : : case 140:
4986 : : YY_RULE_SETUP
4987 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LOG); }
4988 : : YY_BREAK
4989 : : case 141:
4990 : : YY_RULE_SETUP
4991 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LOGF); }
4992 : : YY_BREAK
4993 : : case 142:
4994 : : YY_RULE_SETUP
4995 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LOG10); }
4996 : : YY_BREAK
4997 : : case 143:
4998 : : YY_RULE_SETUP
4999 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LOWER); }
5000 : : YY_BREAK
5001 : : case 144:
5002 : : YY_RULE_SETUP
5003 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_LTRIM); }
5004 : : YY_BREAK
5005 : : case 145:
5006 : : YY_RULE_SETUP
5007 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_MAX); }
5008 : : YY_BREAK
5009 : : case 146:
5010 : : YY_RULE_SETUP
5011 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_MIN); }
5012 : : YY_BREAK
5013 : : case 147:
5014 : : YY_RULE_SETUP
5015 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_MINUTE); }
5016 : : YY_BREAK
5017 : : case 148:
5018 : : YY_RULE_SETUP
5019 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_MOD); }
5020 : : YY_BREAK
5021 : : case 149:
5022 : : YY_RULE_SETUP
5023 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_MONTH); }
5024 : : YY_BREAK
5025 : : case 150:
5026 : : YY_RULE_SETUP
5027 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_MONTHNAME); }
5028 : : YY_BREAK
5029 : : case 151:
5030 : : YY_RULE_SETUP
5031 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NATIONAL); }
5032 : : YY_BREAK
5033 : : case 152:
5034 : : YY_RULE_SETUP
5035 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NATURAL); }
5036 : : YY_BREAK
5037 : : case 153:
5038 : : YY_RULE_SETUP
5039 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NCHAR); }
5040 : : YY_BREAK
5041 : : case 154:
5042 : : YY_RULE_SETUP
5043 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NCLOB); }
5044 : : YY_BREAK
5045 : : case 155:
5046 : : YY_RULE_SETUP
5047 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NEW); }
5048 : : YY_BREAK
5049 : : case 156:
5050 : : YY_RULE_SETUP
5051 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NEXT); }
5052 : : YY_BREAK
5053 : : case 157:
5054 : : YY_RULE_SETUP
5055 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NO); }
5056 : : YY_BREAK
5057 : : case 158:
5058 : : YY_RULE_SETUP
5059 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NOT); }
5060 : : YY_BREAK
5061 : : case 159:
5062 : : YY_RULE_SETUP
5063 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NOW); }
5064 : : YY_BREAK
5065 : : case 160:
5066 : : YY_RULE_SETUP
5067 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NTH_VALUE); }
5068 : : YY_BREAK
5069 : : case 161:
5070 : : YY_RULE_SETUP
5071 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NTILE); }
5072 : : YY_BREAK
5073 : : case 162:
5074 : : YY_RULE_SETUP
5075 [ + - ]: 120 : {SQL_NEW_KEYWORD(SQL_TOKEN_NULL); }
5076 : : YY_BREAK
5077 : : case 163:
5078 : : YY_RULE_SETUP
5079 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NULLIF); }
5080 : : YY_BREAK
5081 : : case 164:
5082 : : YY_RULE_SETUP
5083 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NULLS); }
5084 : : YY_BREAK
5085 : : case 165:
5086 : : YY_RULE_SETUP
5087 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_NUMERIC); }
5088 : : YY_BREAK
5089 : : case 166:
5090 : : YY_RULE_SETUP
5091 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OBJECT); }
5092 : : YY_BREAK
5093 : : case 167:
5094 : : YY_RULE_SETUP
5095 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OCTET_LENGTH); }
5096 : : YY_BREAK
5097 : : case 168:
5098 : : YY_RULE_SETUP
5099 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OF); }
5100 : : YY_BREAK
5101 : : case 169:
5102 : : YY_RULE_SETUP
5103 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OFFSET); }
5104 : : YY_BREAK
5105 : : case 170:
5106 : : YY_RULE_SETUP
5107 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OJ); }
5108 : : YY_BREAK
5109 : : case 171:
5110 : : YY_RULE_SETUP
5111 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OLD); }
5112 : : YY_BREAK
5113 : : case 172:
5114 : : YY_RULE_SETUP
5115 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ON); }
5116 : : YY_BREAK
5117 : : case 173:
5118 : : YY_RULE_SETUP
5119 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ONLY); }
5120 : : YY_BREAK
5121 : : case 174:
5122 : : YY_RULE_SETUP
5123 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OPTION); }
5124 : : YY_BREAK
5125 : : case 175:
5126 : : YY_RULE_SETUP
5127 [ + - ]: 548 : {SQL_NEW_KEYWORD(SQL_TOKEN_OR); }
5128 : : YY_BREAK
5129 : : case 176:
5130 : : YY_RULE_SETUP
5131 [ + - ]: 26 : {SQL_NEW_KEYWORD(SQL_TOKEN_ORDER); }
5132 : : YY_BREAK
5133 : : case 177:
5134 : : YY_RULE_SETUP
5135 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OTHERS); }
5136 : : YY_BREAK
5137 : : case 178:
5138 : : YY_RULE_SETUP
5139 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OUTER); }
5140 : : YY_BREAK
5141 : : case 179:
5142 : : YY_RULE_SETUP
5143 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_OVER); }
5144 : : YY_BREAK
5145 : : case 180:
5146 : : YY_RULE_SETUP
5147 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PARTITION); }
5148 : : YY_BREAK
5149 : : case 181:
5150 : : YY_RULE_SETUP
5151 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PERCENT_RANK); }
5152 : : YY_BREAK
5153 : : case 182:
5154 : : YY_RULE_SETUP
5155 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PERCENTILE_CONT); }
5156 : : YY_BREAK
5157 : : case 183:
5158 : : YY_RULE_SETUP
5159 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PERCENTILE_DISC); }
5160 : : YY_BREAK
5161 : : case 184:
5162 : : YY_RULE_SETUP
5163 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PI); }
5164 : : YY_BREAK
5165 : : case 185:
5166 : : YY_RULE_SETUP
5167 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_POSITION); }
5168 : : YY_BREAK
5169 : : case 186:
5170 : : YY_RULE_SETUP
5171 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_POWER); }
5172 : : YY_BREAK
5173 : : case 187:
5174 : : YY_RULE_SETUP
5175 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PRECEDING); }
5176 : : YY_BREAK
5177 : : case 188:
5178 : : YY_RULE_SETUP
5179 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PRECISION); }
5180 : : YY_BREAK
5181 : : case 189:
5182 : : YY_RULE_SETUP
5183 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PRIMARY); }
5184 : : YY_BREAK
5185 : : case 190:
5186 : : YY_RULE_SETUP
5187 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PRIVILEGES); }
5188 : : YY_BREAK
5189 : : case 191:
5190 : : YY_RULE_SETUP
5191 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PROCEDURE); }
5192 : : YY_BREAK
5193 : : case 192:
5194 : : YY_RULE_SETUP
5195 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_PUBLIC); }
5196 : : YY_BREAK
5197 : : case 193:
5198 : : YY_RULE_SETUP
5199 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_QUARTER); }
5200 : : YY_BREAK
5201 : : case 194:
5202 : : YY_RULE_SETUP
5203 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_RADIANS); }
5204 : : YY_BREAK
5205 : : case 195:
5206 : : YY_RULE_SETUP
5207 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_RAND); }
5208 : : YY_BREAK
5209 : : case 196:
5210 : : YY_RULE_SETUP
5211 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_RANGE); }
5212 : : YY_BREAK
5213 : : case 197:
5214 : : YY_RULE_SETUP
5215 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_RANK); }
5216 : : YY_BREAK
5217 : : case 198:
5218 : : YY_RULE_SETUP
5219 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_REAL); }
5220 : : YY_BREAK
5221 : : case 199:
5222 : : YY_RULE_SETUP
5223 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_REFERENCES); }
5224 : : YY_BREAK
5225 : : case 200:
5226 : : YY_RULE_SETUP
5227 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_REFERENCING); }
5228 : : YY_BREAK
5229 : : case 201:
5230 : : YY_RULE_SETUP
5231 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_REPEAT); }
5232 : : YY_BREAK
5233 : : case 202:
5234 : : YY_RULE_SETUP
5235 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_REPLACE); }
5236 : : YY_BREAK
5237 : : case 203:
5238 : : YY_RULE_SETUP
5239 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_RESPECT); }
5240 : : YY_BREAK
5241 : : case 204:
5242 : : YY_RULE_SETUP
5243 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ROLLBACK); }
5244 : : YY_BREAK
5245 : : case 205:
5246 : : YY_RULE_SETUP
5247 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ROUND); }
5248 : : YY_BREAK
5249 : : case 206:
5250 : : YY_RULE_SETUP
5251 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ROUNDMAGIC); }
5252 : : YY_BREAK
5253 : : case 207:
5254 : : YY_RULE_SETUP
5255 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ROW); }
5256 : : YY_BREAK
5257 : : case 208:
5258 : : YY_RULE_SETUP
5259 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ROWS); }
5260 : : YY_BREAK
5261 : : case 209:
5262 : : YY_RULE_SETUP
5263 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ROW_NUMBER); }
5264 : : YY_BREAK
5265 : : case 210:
5266 : : YY_RULE_SETUP
5267 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_RIGHT); }
5268 : : YY_BREAK
5269 : : case 211:
5270 : : YY_RULE_SETUP
5271 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_RTRIM); }
5272 : : YY_BREAK
5273 : : case 212:
5274 : : YY_RULE_SETUP
5275 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SCHEMA); }
5276 : : YY_BREAK
5277 : : case 213:
5278 : : YY_RULE_SETUP
5279 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SECOND); }
5280 : : YY_BREAK
5281 : : case 214:
5282 : : YY_RULE_SETUP
5283 [ + - ]: 486 : {SQL_NEW_KEYWORD(SQL_TOKEN_SELECT); }
5284 : : YY_BREAK
5285 : : case 215:
5286 : : YY_RULE_SETUP
5287 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SET); }
5288 : : YY_BREAK
5289 : : case 216:
5290 : : YY_RULE_SETUP
5291 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SIZE); }
5292 : : YY_BREAK
5293 : : case 217:
5294 : : YY_RULE_SETUP
5295 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SIGN); }
5296 : : YY_BREAK
5297 : : case 218:
5298 : : YY_RULE_SETUP
5299 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SIN); }
5300 : : YY_BREAK
5301 : : case 219:
5302 : : YY_RULE_SETUP
5303 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SMALLINT); }
5304 : : YY_BREAK
5305 : : case 220:
5306 : : YY_RULE_SETUP
5307 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SOME); }
5308 : : YY_BREAK
5309 : : case 221:
5310 : : YY_RULE_SETUP
5311 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SOUNDEX); }
5312 : : YY_BREAK
5313 : : case 222:
5314 : : YY_RULE_SETUP
5315 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SPACE); }
5316 : : YY_BREAK
5317 : : case 223:
5318 : : YY_RULE_SETUP
5319 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SQRT); }
5320 : : YY_BREAK
5321 : : case 224:
5322 : : YY_RULE_SETUP
5323 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_STDDEV_POP); }
5324 : : YY_BREAK
5325 : : case 225:
5326 : : YY_RULE_SETUP
5327 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_STDDEV_SAMP); }
5328 : : YY_BREAK
5329 : : case 226:
5330 : : YY_RULE_SETUP
5331 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_STATEMENT); }
5332 : : YY_BREAK
5333 : : case 227:
5334 : : YY_RULE_SETUP
5335 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SUBSTRING); }
5336 : : YY_BREAK
5337 : : case 228:
5338 : : YY_RULE_SETUP
5339 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SUM); }
5340 : : YY_BREAK
5341 : : case 229:
5342 : : YY_RULE_SETUP
5343 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SESSION_USER); }
5344 : : YY_BREAK
5345 : : case 230:
5346 : : YY_RULE_SETUP
5347 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_SYSTEM_USER); }
5348 : : YY_BREAK
5349 : : case 231:
5350 : : YY_RULE_SETUP
5351 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TABLE); }
5352 : : YY_BREAK
5353 : : case 232:
5354 : : YY_RULE_SETUP
5355 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TAN); }
5356 : : YY_BREAK
5357 : : case 233:
5358 : : YY_RULE_SETUP
5359 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_THEN); }
5360 : : YY_BREAK
5361 : : case 234:
5362 : : YY_RULE_SETUP
5363 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIES); }
5364 : : YY_BREAK
5365 : : case 235:
5366 : : YY_RULE_SETUP
5367 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIME); }
5368 : : YY_BREAK
5369 : : case 236:
5370 : : YY_RULE_SETUP
5371 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIMESTAMP); }
5372 : : YY_BREAK
5373 : : case 237:
5374 : : YY_RULE_SETUP
5375 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIMESTAMPADD); }
5376 : : YY_BREAK
5377 : : case 238:
5378 : : YY_RULE_SETUP
5379 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIMESTAMPDIFF); }
5380 : : YY_BREAK
5381 : : case 239:
5382 : : YY_RULE_SETUP
5383 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIMEVALUE); }
5384 : : YY_BREAK
5385 : : case 240:
5386 : : YY_RULE_SETUP
5387 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIMEZONE_HOUR); }
5388 : : YY_BREAK
5389 : : case 241:
5390 : : YY_RULE_SETUP
5391 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TIMEZONE_MINUTE); }
5392 : : YY_BREAK
5393 : : case 242:
5394 : : YY_RULE_SETUP
5395 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TO); }
5396 : : YY_BREAK
5397 : : case 243:
5398 : : YY_RULE_SETUP
5399 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TRAILING); }
5400 : : YY_BREAK
5401 : : case 244:
5402 : : YY_RULE_SETUP
5403 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TRANSLATE); }
5404 : : YY_BREAK
5405 : : case 245:
5406 : : YY_RULE_SETUP
5407 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TRIGGER); }
5408 : : YY_BREAK
5409 : : case 246:
5410 : : YY_RULE_SETUP
5411 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TRIM); }
5412 : : YY_BREAK
5413 : : case 247:
5414 : : YY_RULE_SETUP
5415 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TRUE); }
5416 : : YY_BREAK
5417 : : case 248:
5418 : : YY_RULE_SETUP
5419 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TRUNCATE); }
5420 : : YY_BREAK
5421 : : case 249:
5422 : : YY_RULE_SETUP
5423 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_TS); }
5424 : : YY_BREAK
5425 : : case 250:
5426 : : YY_RULE_SETUP
5427 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_T); }
5428 : : YY_BREAK
5429 : : case 251:
5430 : : YY_RULE_SETUP
5431 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_UCASE); }
5432 : : YY_BREAK
5433 : : case 252:
5434 : : YY_RULE_SETUP
5435 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_UNBOUNDED); }
5436 : : YY_BREAK
5437 : : case 253:
5438 : : YY_RULE_SETUP
5439 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_UNION); }
5440 : : YY_BREAK
5441 : : case 254:
5442 : : YY_RULE_SETUP
5443 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_UNIQUE); }
5444 : : YY_BREAK
5445 : : case 255:
5446 : : YY_RULE_SETUP
5447 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_UNKNOWN); }
5448 : : YY_BREAK
5449 : : case 256:
5450 : : YY_RULE_SETUP
5451 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_UPDATE); }
5452 : : YY_BREAK
5453 : : case 257:
5454 : : YY_RULE_SETUP
5455 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_UPPER); }
5456 : : YY_BREAK
5457 : : case 258:
5458 : : YY_RULE_SETUP
5459 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_USAGE); }
5460 : : YY_BREAK
5461 : : case 259:
5462 : : YY_RULE_SETUP
5463 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_USER); }
5464 : : YY_BREAK
5465 : : case 260:
5466 : : YY_RULE_SETUP
5467 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_USING); }
5468 : : YY_BREAK
5469 : : case 261:
5470 : : YY_RULE_SETUP
5471 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VARBINARY); }
5472 : : YY_BREAK
5473 : : case 262:
5474 : : YY_RULE_SETUP
5475 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VARCHAR); }
5476 : : YY_BREAK
5477 : : case 263:
5478 : : YY_RULE_SETUP
5479 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VARYING); }
5480 : : YY_BREAK
5481 : : case 264:
5482 : : YY_RULE_SETUP
5483 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VAR_POP); }
5484 : : YY_BREAK
5485 : : case 265:
5486 : : YY_RULE_SETUP
5487 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VAR_SAMP); }
5488 : : YY_BREAK
5489 : : case 266:
5490 : : YY_RULE_SETUP
5491 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VALUE); }
5492 : : YY_BREAK
5493 : : case 267:
5494 : : YY_RULE_SETUP
5495 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VALUES); }
5496 : : YY_BREAK
5497 : : case 268:
5498 : : YY_RULE_SETUP
5499 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_VIEW); }
5500 : : YY_BREAK
5501 : : case 269:
5502 : : YY_RULE_SETUP
5503 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_WEEK); }
5504 : : YY_BREAK
5505 : : case 270:
5506 : : YY_RULE_SETUP
5507 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_WHEN); }
5508 : : YY_BREAK
5509 : : case 271:
5510 : : YY_RULE_SETUP
5511 [ + - ]: 288 : {SQL_NEW_KEYWORD(SQL_TOKEN_WHERE); }
5512 : : YY_BREAK
5513 : : case 272:
5514 : : YY_RULE_SETUP
5515 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_WITH); }
5516 : : YY_BREAK
5517 : : case 273:
5518 : : YY_RULE_SETUP
5519 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_WITHIN); }
5520 : : YY_BREAK
5521 : : case 274:
5522 : : YY_RULE_SETUP
5523 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_WITHOUT); }
5524 : : YY_BREAK
5525 : : case 275:
5526 : : YY_RULE_SETUP
5527 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_WORK); }
5528 : : YY_BREAK
5529 : : case 276:
5530 : : YY_RULE_SETUP
5531 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_YEAR); }
5532 : : YY_BREAK
5533 : : case 277:
5534 : : YY_RULE_SETUP
5535 [ # # ]: 0 : {SQL_NEW_KEYWORD(SQL_TOKEN_ZONE); }
5536 : : YY_BREAK
5537 : : case 278:
5538 : : YY_RULE_SETUP
5539 [ # # ][ # # ]: 0 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_LESS);return SQL_LESS;}
5540 : : YY_BREAK
5541 : : case 279:
5542 : : YY_RULE_SETUP
5543 [ # # ][ # # ]: 0 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_GREAT);return SQL_GREAT;}
5544 : : YY_BREAK
5545 : : case 280:
5546 : : YY_RULE_SETUP
5547 [ + - ][ + - ]: 1344 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_EQUAL);return SQL_EQUAL;}
5548 : : YY_BREAK
5549 : : case 281:
5550 : : YY_RULE_SETUP
5551 [ # # ][ # # ]: 0 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_LESSEQ);return SQL_LESSEQ;}
5552 : : YY_BREAK
5553 : : case 282:
5554 : : YY_RULE_SETUP
5555 [ # # ][ # # ]: 0 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_GREATEQ);return SQL_GREATEQ;}
5556 : : YY_BREAK
5557 : : case 283:
5558 : : YY_RULE_SETUP
5559 [ # # ][ # # ]: 0 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_NOTEQUAL);return SQL_NOTEQUAL;}
5560 : : YY_BREAK
5561 : : case 284:
5562 : : YY_RULE_SETUP
5563 [ # # ][ # # ]: 0 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_NOTEQUAL);return SQL_NOTEQUAL;}
5564 : : YY_BREAK
5565 : : case 285:
5566 : : YY_RULE_SETUP
5567 [ # # ][ # # ]: 0 : { SQL_NEW_NODE(::rtl::OUString(SQLyytext,strlen(SQLyytext),RTL_TEXTENCODING_UTF8), SQL_NODE_CONCAT);return SQL_CONCAT;}
5568 : : YY_BREAK
5569 : : case 286:
5570 : : YY_RULE_SETUP
5571 : 2754 : { return SQLyytext[0]; }
5572 : : YY_BREAK
5573 : : case 287:
5574 : : YY_RULE_SETUP
5575 : 218 : {return gatherName( SQLyytext);}
5576 : : YY_BREAK
5577 : : case 288:
5578 : : YY_RULE_SETUP
5579 [ + - ][ + - ]: 324 : {SQL_NEW_INTNUM; }
5580 : : YY_BREAK
5581 : : case 289:
5582 : : case 290:
5583 : : case 291:
5584 : : case 292:
5585 : : case 293:
5586 : : YY_RULE_SETUP
5587 [ # # ][ # # ]: 0 : {SQL_NEW_APPROXNUM; }
5588 : : YY_BREAK
5589 : : case 294:
5590 : : YY_RULE_SETUP
5591 : 0 : {return gatherNamePre(SQLyytext);}
5592 : : YY_BREAK
5593 : : case 295:
5594 : : YY_RULE_SETUP
5595 [ # # ][ # # ]: 0 : {SQL_NEW_INTNUM; }
5596 : : YY_BREAK
5597 : : case 296:
5598 : : YY_RULE_SETUP
5599 [ # # ][ # # ]: 0 : {SQL_NEW_INTNUM; }
5600 : : YY_BREAK
5601 : : case 297:
5602 : : YY_RULE_SETUP
5603 [ # # ][ # # ]: 0 : {SQL_NEW_INTNUM; }
5604 : : YY_BREAK
5605 : : case 298:
5606 : : case 299:
5607 : : case 300:
5608 : : YY_RULE_SETUP
5609 [ # # ][ # # ]: 0 : {SQL_NEW_APPROXNUM; }
5610 : : YY_BREAK
5611 : : case 301:
5612 : : case 302:
5613 : : case 303:
5614 : : YY_RULE_SETUP
5615 [ # # ][ # # ]: 0 : {SQL_NEW_APPROXNUM; }
5616 : : YY_BREAK
5617 : : case 304:
5618 : : case 305:
5619 : : case 306:
5620 : : YY_RULE_SETUP
5621 [ # # ][ # # ]: 0 : {SQL_NEW_APPROXNUM; }
5622 : : YY_BREAK
5623 : : case 307:
5624 : : case 308:
5625 : : case 309:
5626 : : YY_RULE_SETUP
5627 [ # # ][ # # ]: 0 : {SQL_NEW_APPROXNUM; }
5628 : : YY_BREAK
5629 : : case 310:
5630 : : YY_RULE_SETUP
5631 : 0 : {return gatherNamePre(SQLyytext);}
5632 : : YY_BREAK
5633 : : case 311:
5634 : : YY_RULE_SETUP
5635 : 2410 : { return gatherString('\"',0); }
5636 : : YY_BREAK
5637 : : case 312:
5638 : : YY_RULE_SETUP
5639 : 0 : { return gatherString('`' ,0); }
5640 : : YY_BREAK
5641 : : case 313:
5642 : : YY_RULE_SETUP
5643 : 0 : { return gatherString(']' ,0);}
5644 : : YY_BREAK
5645 : : case 314:
5646 : : YY_RULE_SETUP
5647 : 1132 : { return gatherString('\'',1); }
5648 : : YY_BREAK
5649 : : case 315:
5650 : : YY_RULE_SETUP
5651 : 0 : { return gatherString('#' ,2); }
5652 : : YY_BREAK
5653 : : case 316:
5654 : : /* rule 316 can match eol */
5655 : : case 317:
5656 : : /* rule 317 can match eol */
5657 : : YY_RULE_SETUP
5658 [ # # ][ # # ]: 0 : { SQL_NEW_DATE; }
5659 : : YY_BREAK
5660 : : case 318:
5661 : : YY_RULE_SETUP
5662 : 0 : { return SQLyytext[0]; } /* */
5663 : : YY_BREAK
5664 : : case 319:
5665 : : YY_RULE_SETUP
5666 : 0 : { return gatherString(']' ,0); }
5667 : : YY_BREAK
5668 : : case 320:
5669 : : /* rule 320 can match eol */
5670 : : YY_RULE_SETUP
5671 : 72 : { return gatherNamePre(SQLyytext); }
5672 : : YY_BREAK
5673 : : case 321:
5674 : : /* rule 321 can match eol */
5675 : : YY_RULE_SETUP
5676 : : {}
5677 : 0 : YY_BREAK
5678 : : case 322:
5679 : : YY_RULE_SETUP
5680 : : {}
5681 : 9864 : YY_BREAK
5682 : : case 323:
5683 : 0 : *yy_cp = (yy_hold_char); /* undo effects of setting up SQLyytext */
5684 : 0 : (yy_c_buf_p) = yy_cp -= 1;
5685 : 0 : YY_DO_BEFORE_ACTION; /* set up SQLyytext again */
5686 : : YY_RULE_SETUP
5687 : : {}
5688 : 0 : YY_BREAK
5689 : : case 324:
5690 : : YY_RULE_SETUP
5691 : 0 : {YY_FATAL_ERROR("Invalid symbol"); return SQL_TOKEN_INVALIDSYMBOL;}
5692 : : YY_BREAK
5693 : : case 325:
5694 : : YY_RULE_SETUP
5695 : 0 : ECHO;
5696 : 0 : YY_BREAK
5697 : : case YY_STATE_EOF(INITIAL):
5698 : : case YY_STATE_EOF(SQL):
5699 : : case YY_STATE_EOF(PREDICATE_ENG):
5700 : : case YY_STATE_EOF(PREDICATE_GER):
5701 : : case YY_STATE_EOF(DATE):
5702 : : case YY_STATE_EOF(STRING):
5703 : 558 : yyterminate();
5704 : :
5705 : : case YY_END_OF_BUFFER:
5706 : : {
5707 : : /* Amount of text matched not including the EOB char. */
5708 : 31224 : int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
5709 : :
5710 : : /* Undo the effects of YY_DO_BEFORE_ACTION. */
5711 : 31224 : *yy_cp = (yy_hold_char);
5712 : : YY_RESTORE_YY_MORE_OFFSET
5713 : :
5714 [ + + ]: 31224 : if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
5715 : : {
5716 : : /* We're scanning a new file or input source. It's
5717 : : * possible that this happened because the user
5718 : : * just pointed SQLyyin at a new source and called
5719 : : * SQLyylex(). If so, then we have to assure
5720 : : * consistency between YY_CURRENT_BUFFER and our
5721 : : * globals. Here is the right place to do so, because
5722 : : * this is the first action (other than possibly a
5723 : : * back-up) that will match for the new input source.
5724 : : */
5725 : 796 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
5726 : 796 : YY_CURRENT_BUFFER_LVALUE->yy_input_file = SQLyyin;
5727 : 796 : YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
5728 : : }
5729 : :
5730 : : /* Note that here we test for yy_c_buf_p "<=" to the position
5731 : : * of the first EOB in the buffer, since yy_c_buf_p will
5732 : : * already have been incremented past the NUL character
5733 : : * (since all states make transitions on EOB to the
5734 : : * end-of-buffer state). Contrast this with the test
5735 : : * in input().
5736 : : */
5737 [ - + ]: 31224 : if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
5738 : : { /* This was really a NUL. */
5739 : : yy_state_type yy_next_state;
5740 : :
5741 : 0 : (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
5742 : :
5743 : 0 : yy_current_state = yy_get_previous_state( );
5744 : :
5745 : : /* Okay, we're now positioned to make the NUL
5746 : : * transition. We couldn't have
5747 : : * yy_get_previous_state() go ahead and do it
5748 : : * for us because it doesn't know how to deal
5749 : : * with the possibility of jamming (and we don't
5750 : : * want to build jamming into it because then it
5751 : : * will run more slowly).
5752 : : */
5753 : :
5754 : 0 : yy_next_state = yy_try_NUL_trans( yy_current_state );
5755 : :
5756 : 0 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5757 : :
5758 [ # # ]: 0 : if ( yy_next_state )
5759 : : {
5760 : : /* Consume the NUL. */
5761 : 0 : yy_cp = ++(yy_c_buf_p);
5762 : 0 : yy_current_state = yy_next_state;
5763 : 0 : goto yy_match;
5764 : : }
5765 : :
5766 : : else
5767 : : {
5768 : 0 : yy_cp = (yy_last_accepting_cpos);
5769 : 0 : yy_current_state = (yy_last_accepting_state);
5770 : 0 : goto yy_find_action;
5771 : : }
5772 : : }
5773 : :
5774 [ + + + - ]: 31224 : else switch ( yy_get_next_buffer( ) )
5775 : : {
5776 : : case EOB_ACT_END_OF_FILE:
5777 : : {
5778 : 558 : (yy_did_buffer_switch_on_eof) = 0;
5779 : :
5780 : : if ( SQLyywrap( ) )
5781 : : {
5782 : : /* Note: because we've taken care in
5783 : : * yy_get_next_buffer() to have set up
5784 : : * SQLyytext, we can now set up
5785 : : * yy_c_buf_p so that if some total
5786 : : * hoser (like flex itself) wants to
5787 : : * call the scanner after we return the
5788 : : * YY_NULL, it'll still work - another
5789 : : * YY_NULL will get returned.
5790 : : */
5791 : 558 : (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
5792 : :
5793 : 558 : yy_act = YY_STATE_EOF(YY_START);
5794 : 558 : goto do_action;
5795 : : }
5796 : :
5797 : : else
5798 : : {
5799 : : if ( ! (yy_did_buffer_switch_on_eof) )
5800 : : YY_NEW_FILE;
5801 : : }
5802 : : break;
5803 : : }
5804 : :
5805 : : case EOB_ACT_CONTINUE_SCAN:
5806 : : (yy_c_buf_p) =
5807 : 30344 : (yytext_ptr) + yy_amount_of_matched_text;
5808 : :
5809 : 30344 : yy_current_state = yy_get_previous_state( );
5810 : :
5811 : 30344 : yy_cp = (yy_c_buf_p);
5812 : 30344 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5813 : 30344 : goto yy_match;
5814 : :
5815 : : case EOB_ACT_LAST_MATCH:
5816 : : (yy_c_buf_p) =
5817 : 322 : &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
5818 : :
5819 : 322 : yy_current_state = yy_get_previous_state( );
5820 : :
5821 : 322 : yy_cp = (yy_c_buf_p);
5822 : 322 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
5823 : 322 : goto yy_find_action;
5824 : : }
5825 : 0 : break;
5826 : : }
5827 : :
5828 : : default:
5829 : 0 : YY_FATAL_ERROR(
5830 : : "fatal flex scanner internal error--no action found" );
5831 : : } /* end of action switch */
5832 : : } /* end of scanning one token */
5833 : : } /* end of SQLyylex */
5834 : :
5835 : : /* yy_get_next_buffer - try to read in a new buffer
5836 : : *
5837 : : * Returns a code representing an action:
5838 : : * EOB_ACT_LAST_MATCH -
5839 : : * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
5840 : : * EOB_ACT_END_OF_FILE - end of file
5841 : : */
5842 : 53112 : static int yy_get_next_buffer (void)
5843 : : {
5844 : 53112 : register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
5845 : 53112 : register char *source = (yytext_ptr);
5846 : : register int number_to_move, i;
5847 : : int ret_val;
5848 : :
5849 [ - + ]: 53112 : if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
5850 : 0 : YY_FATAL_ERROR(
5851 : : "fatal flex scanner internal error--end of buffer missed" );
5852 : :
5853 [ - + ]: 53112 : if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
5854 : : { /* Don't try to fill the buffer, so this is an EOF. */
5855 [ # # ]: 0 : if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
5856 : : {
5857 : : /* We matched a single character, the EOB, so
5858 : : * treat this as a final EOF.
5859 : : */
5860 : 0 : return EOB_ACT_END_OF_FILE;
5861 : : }
5862 : :
5863 : : else
5864 : : {
5865 : : /* We matched some text prior to the EOB, first
5866 : : * process it.
5867 : : */
5868 : 0 : return EOB_ACT_LAST_MATCH;
5869 : : }
5870 : : }
5871 : :
5872 : : /* Try to read more data. */
5873 : :
5874 : : /* First move last chars to start of buffer. */
5875 : 53112 : number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
5876 : :
5877 [ + + ]: 227992 : for ( i = 0; i < number_to_move; ++i )
5878 : 174880 : *(dest++) = *(source++);
5879 : :
5880 [ + + ]: 53112 : if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
5881 : : /* don't do the read, it's not guaranteed to return an EOF,
5882 : : * just force an EOF
5883 : : */
5884 : 322 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
5885 : :
5886 : : else
5887 : : {
5888 : : int num_to_read =
5889 : 52790 : YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
5890 : :
5891 [ - + ]: 52790 : while ( num_to_read <= 0 )
5892 : : { /* Not enough room in the buffer - grow it. */
5893 : :
5894 : : /* just a shorter name for the current buffer */
5895 [ # # ]: 0 : YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
5896 : :
5897 : : int yy_c_buf_p_offset =
5898 : 0 : (int) ((yy_c_buf_p) - b->yy_ch_buf);
5899 : :
5900 [ # # ]: 0 : if ( b->yy_is_our_buffer )
5901 : : {
5902 : 0 : int new_size = b->yy_buf_size * 2;
5903 : :
5904 [ # # ]: 0 : if ( new_size <= 0 )
5905 : 0 : b->yy_buf_size += b->yy_buf_size / 8;
5906 : : else
5907 : 0 : b->yy_buf_size *= 2;
5908 : :
5909 : : b->yy_ch_buf = (char *)
5910 : : /* Include room in for 2 EOB chars. */
5911 : 0 : SQLyyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
5912 : : }
5913 : : else
5914 : : /* Can't grow it, we don't own it. */
5915 : 0 : b->yy_ch_buf = 0;
5916 : :
5917 [ # # ]: 0 : if ( ! b->yy_ch_buf )
5918 : 0 : YY_FATAL_ERROR(
5919 : : "fatal error - scanner input buffer overflow" );
5920 : :
5921 : 0 : (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
5922 : :
5923 : 0 : num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
5924 : 0 : number_to_move - 1;
5925 : :
5926 : : }
5927 : :
5928 [ + - ]: 52790 : if ( num_to_read > YY_READ_BUF_SIZE )
5929 : 52790 : num_to_read = YY_READ_BUF_SIZE;
5930 : :
5931 : : /* Read in more data. */
5932 [ + + ]: 52790 : YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
5933 : : (yy_n_chars), (size_t) num_to_read );
5934 : :
5935 : 52790 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
5936 : : }
5937 : :
5938 [ + + ]: 53112 : if ( (yy_n_chars) == 0 )
5939 : : {
5940 [ + + ]: 1116 : if ( number_to_move == YY_MORE_ADJ )
5941 : : {
5942 : 558 : ret_val = EOB_ACT_END_OF_FILE;
5943 : 558 : SQLyyrestart(SQLyyin );
5944 : : }
5945 : :
5946 : : else
5947 : : {
5948 : 558 : ret_val = EOB_ACT_LAST_MATCH;
5949 : 558 : YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
5950 : 558 : YY_BUFFER_EOF_PENDING;
5951 : : }
5952 : : }
5953 : :
5954 : : else
5955 : 51996 : ret_val = EOB_ACT_CONTINUE_SCAN;
5956 : :
5957 [ - + ]: 53112 : if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
5958 : : /* Extend the array by 50%, plus the number we really need. */
5959 : 0 : yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
5960 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) SQLyyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
5961 [ # # ]: 0 : if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
5962 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
5963 : : }
5964 : :
5965 : 53112 : (yy_n_chars) += number_to_move;
5966 : 53112 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
5967 : 53112 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
5968 : :
5969 : 53112 : (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
5970 : :
5971 : 53112 : return ret_val;
5972 : : }
5973 : :
5974 : : /* yy_get_previous_state - get the state just before the EOB char was reached */
5975 : :
5976 : 30666 : static yy_state_type yy_get_previous_state (void)
5977 : : {
5978 : : register yy_state_type yy_current_state;
5979 : : register char *yy_cp;
5980 : :
5981 : 30666 : yy_current_state = (yy_start);
5982 : :
5983 [ + + ]: 83040 : for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
5984 : : {
5985 [ + - ]: 52374 : register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
5986 [ + + ]: 52374 : if ( yy_accept[yy_current_state] )
5987 : : {
5988 : 22340 : (yy_last_accepting_state) = yy_current_state;
5989 : 22340 : (yy_last_accepting_cpos) = yy_cp;
5990 : : }
5991 [ + + ]: 56206 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
5992 : : {
5993 : 3832 : yy_current_state = (int) yy_def[yy_current_state];
5994 [ + - ]: 3832 : if ( yy_current_state >= 4504 )
5995 : 3832 : yy_c = yy_meta[(unsigned int) yy_c];
5996 : : }
5997 : 52374 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
5998 : : }
5999 : :
6000 : 30666 : return yy_current_state;
6001 : : }
6002 : :
6003 : : /* yy_try_NUL_trans - try to make a transition on the NUL character
6004 : : *
6005 : : * synopsis
6006 : : * next_state = yy_try_NUL_trans( current_state );
6007 : : */
6008 : 0 : static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
6009 : : {
6010 : : register int yy_is_jam;
6011 : 0 : register char *yy_cp = (yy_c_buf_p);
6012 : :
6013 : 0 : register YY_CHAR yy_c = 1;
6014 [ # # ]: 0 : if ( yy_accept[yy_current_state] )
6015 : : {
6016 : 0 : (yy_last_accepting_state) = yy_current_state;
6017 : 0 : (yy_last_accepting_cpos) = yy_cp;
6018 : : }
6019 [ # # ]: 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
6020 : : {
6021 : 0 : yy_current_state = (int) yy_def[yy_current_state];
6022 [ # # ]: 0 : if ( yy_current_state >= 4504 )
6023 : 0 : yy_c = yy_meta[(unsigned int) yy_c];
6024 : : }
6025 : 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
6026 : 0 : yy_is_jam = (yy_current_state == 4503);
6027 : :
6028 [ # # ]: 0 : return yy_is_jam ? 0 : yy_current_state;
6029 : : }
6030 : :
6031 : 3306 : static void yyunput (int c, register char * yy_bp )
6032 : : {
6033 : : register char *yy_cp;
6034 : :
6035 : 3306 : yy_cp = (yy_c_buf_p);
6036 : :
6037 : : /* undo effects of setting up SQLyytext */
6038 : 3306 : *yy_cp = (yy_hold_char);
6039 : :
6040 [ - + ]: 3306 : if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
6041 : : { /* need to shift things up to make room */
6042 : : /* +2 for EOB chars. */
6043 : 0 : register int number_to_move = (yy_n_chars) + 2;
6044 : 0 : register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
6045 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
6046 : : register char *source =
6047 : 0 : &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
6048 : :
6049 [ # # ]: 0 : while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
6050 : 0 : *--dest = *--source;
6051 : :
6052 : 0 : yy_cp += (int) (dest - source);
6053 : 0 : yy_bp += (int) (dest - source);
6054 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
6055 : 0 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
6056 : :
6057 [ # # ]: 0 : if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
6058 : 0 : YY_FATAL_ERROR( "flex scanner push-back overflow" );
6059 : : }
6060 : :
6061 : 3306 : *--yy_cp = (char) c;
6062 : :
6063 : 3306 : (yytext_ptr) = yy_bp;
6064 : 3306 : (yy_hold_char) = *yy_cp;
6065 : 3306 : (yy_c_buf_p) = yy_cp;
6066 : 3306 : }
6067 : :
6068 : : #ifndef YY_NO_INPUT
6069 : : #ifdef __cplusplus
6070 : 25430 : static int yyinput (void)
6071 : : #else
6072 : : static int input (void)
6073 : : #endif
6074 : :
6075 : : {
6076 : : int c;
6077 : :
6078 : 25430 : *(yy_c_buf_p) = (yy_hold_char);
6079 : :
6080 [ + + ]: 25430 : if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
6081 : : {
6082 : : /* yy_c_buf_p now points to the character we want to return.
6083 : : * If this occurs *before* the EOB characters, then it's a
6084 : : * valid NUL; if not, then we've hit the end of the buffer.
6085 : : */
6086 [ - + ]: 21888 : if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
6087 : : /* This was really a NUL. */
6088 : 0 : *(yy_c_buf_p) = '\0';
6089 : :
6090 : : else
6091 : : { /* need more input */
6092 : 21888 : int offset = (yy_c_buf_p) - (yytext_ptr);
6093 : 21888 : ++(yy_c_buf_p);
6094 : :
6095 [ + - + - ]: 21888 : switch ( yy_get_next_buffer( ) )
6096 : : {
6097 : : case EOB_ACT_LAST_MATCH:
6098 : : /* This happens because yy_g_n_b()
6099 : : * sees that we've accumulated a
6100 : : * token and flags that we need to
6101 : : * try matching the token before
6102 : : * proceeding. But for input(),
6103 : : * there's no matching to consider.
6104 : : * So convert the EOB_ACT_LAST_MATCH
6105 : : * to EOB_ACT_END_OF_FILE.
6106 : : */
6107 : :
6108 : : /* Reset buffer status. */
6109 : 236 : SQLyyrestart(SQLyyin );
6110 : :
6111 : : /*FALLTHROUGH*/
6112 : :
6113 : : case EOB_ACT_END_OF_FILE:
6114 : : {
6115 : : if ( SQLyywrap( ) )
6116 : 236 : return EOF;
6117 : :
6118 : : if ( ! (yy_did_buffer_switch_on_eof) )
6119 : : YY_NEW_FILE;
6120 : : #ifdef __cplusplus
6121 : : return yyinput();
6122 : : #else
6123 : : return input();
6124 : : #endif
6125 : : }
6126 : :
6127 : : case EOB_ACT_CONTINUE_SCAN:
6128 : 21652 : (yy_c_buf_p) = (yytext_ptr) + offset;
6129 : 21652 : break;
6130 : : }
6131 : : }
6132 : : }
6133 : :
6134 : 25194 : c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
6135 : 25194 : *(yy_c_buf_p) = '\0'; /* preserve SQLyytext */
6136 : 25194 : (yy_hold_char) = *++(yy_c_buf_p);
6137 : :
6138 : 25430 : return c;
6139 : : }
6140 : : #endif /* ifndef YY_NO_INPUT */
6141 : :
6142 : : /** Immediately switch to a different input stream.
6143 : : * @param input_file A readable stream.
6144 : : *
6145 : : * @note This function does not reset the start condition to @c INITIAL .
6146 : : */
6147 : 794 : void SQLyyrestart (FILE * input_file )
6148 : : {
6149 : :
6150 [ + - ][ - + ]: 794 : if ( ! YY_CURRENT_BUFFER ){
6151 : 0 : SQLyyensure_buffer_stack ();
6152 : 0 : YY_CURRENT_BUFFER_LVALUE =
6153 : 0 : SQLyy_create_buffer(SQLyyin,YY_BUF_SIZE );
6154 : : }
6155 : :
6156 [ + - ]: 794 : SQLyy_init_buffer(YY_CURRENT_BUFFER,input_file );
6157 : 794 : SQLyy_load_buffer_state( );
6158 : 794 : }
6159 : :
6160 : : /** Switch to a different input buffer.
6161 : : * @param new_buffer The new input buffer.
6162 : : *
6163 : : */
6164 : 0 : void SQLyy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
6165 : : {
6166 : :
6167 : : /* TODO. We should be able to replace this entire function body
6168 : : * with
6169 : : * SQLyypop_buffer_state();
6170 : : * SQLyypush_buffer_state(new_buffer);
6171 : : */
6172 : 0 : SQLyyensure_buffer_stack ();
6173 [ # # ][ # # ]: 0 : if ( YY_CURRENT_BUFFER == new_buffer )
6174 : 0 : return;
6175 : :
6176 [ # # ][ # # ]: 0 : if ( YY_CURRENT_BUFFER )
6177 : : {
6178 : : /* Flush out information for old buffer. */
6179 : 0 : *(yy_c_buf_p) = (yy_hold_char);
6180 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6181 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6182 : : }
6183 : :
6184 : 0 : YY_CURRENT_BUFFER_LVALUE = new_buffer;
6185 : 0 : SQLyy_load_buffer_state( );
6186 : :
6187 : : /* We don't actually know whether we did this switch during
6188 : : * EOF (SQLyywrap()) processing, but the only time this flag
6189 : : * is looked at is after SQLyywrap() is called, so it's safe
6190 : : * to go ahead and always set it.
6191 : : */
6192 : 0 : (yy_did_buffer_switch_on_eof) = 1;
6193 : : }
6194 : :
6195 : 2148 : static void SQLyy_load_buffer_state (void)
6196 : : {
6197 : 2148 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
6198 : 2148 : (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
6199 : 2148 : SQLyyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
6200 : 2148 : (yy_hold_char) = *(yy_c_buf_p);
6201 : 2148 : }
6202 : :
6203 : : /** Allocate and initialize an input buffer state.
6204 : : * @param file A readable stream.
6205 : : * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
6206 : : *
6207 : : * @return the allocated buffer state.
6208 : : */
6209 : 9 : YY_BUFFER_STATE SQLyy_create_buffer (FILE * file, int size )
6210 : : {
6211 : : YY_BUFFER_STATE b;
6212 : :
6213 : 9 : b = (YY_BUFFER_STATE) SQLyyalloc(sizeof( struct yy_buffer_state ) );
6214 [ - + ]: 9 : if ( ! b )
6215 : 0 : YY_FATAL_ERROR( "out of dynamic memory in SQLyy_create_buffer()" );
6216 : :
6217 : 9 : b->yy_buf_size = size;
6218 : :
6219 : : /* yy_ch_buf has to be 2 characters longer than the size given because
6220 : : * we need to put in 2 end-of-buffer characters.
6221 : : */
6222 : 9 : b->yy_ch_buf = (char *) SQLyyalloc(b->yy_buf_size + 2 );
6223 [ - + ]: 9 : if ( ! b->yy_ch_buf )
6224 : 0 : YY_FATAL_ERROR( "out of dynamic memory in SQLyy_create_buffer()" );
6225 : :
6226 : 9 : b->yy_is_our_buffer = 1;
6227 : :
6228 : 9 : SQLyy_init_buffer(b,file );
6229 : :
6230 : 9 : return b;
6231 : : }
6232 : :
6233 : : /** Destroy the buffer.
6234 : : * @param b a buffer created with SQLyy_create_buffer()
6235 : : *
6236 : : */
6237 : 0 : void SQLyy_delete_buffer (YY_BUFFER_STATE b )
6238 : : {
6239 : :
6240 [ # # ]: 0 : if ( ! b )
6241 : 0 : return;
6242 : :
6243 [ # # ][ # # ]: 0 : if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
6244 : 0 : YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
6245 : :
6246 [ # # ]: 0 : if ( b->yy_is_our_buffer )
6247 : 0 : SQLyyfree((void *) b->yy_ch_buf );
6248 : :
6249 : 0 : SQLyyfree((void *) b );
6250 : : }
6251 : :
6252 : : /* Initializes or reinitializes a buffer.
6253 : : * This function is sometimes called more than once on the same buffer,
6254 : : * such as during a SQLyyrestart() or at EOF.
6255 : : */
6256 : 803 : static void SQLyy_init_buffer (YY_BUFFER_STATE b, FILE * file )
6257 : :
6258 : : {
6259 : 803 : int oerrno = errno;
6260 : :
6261 : 803 : SQLyy_flush_buffer(b );
6262 : :
6263 : 803 : b->yy_input_file = file;
6264 : 803 : b->yy_fill_buffer = 1;
6265 : :
6266 : : /* If b is the current buffer, then SQLyy_init_buffer was _probably_
6267 : : * called from SQLyyrestart() or through yy_get_next_buffer.
6268 : : * In that case, we don't want to reset the lineno or column.
6269 : : */
6270 [ + + ][ + - ]: 803 : if (b != YY_CURRENT_BUFFER){
6271 : 9 : b->yy_bs_lineno = 1;
6272 : 9 : b->yy_bs_column = 0;
6273 : : }
6274 : :
6275 : 803 : b->yy_is_interactive = 0;
6276 : :
6277 : 803 : errno = oerrno;
6278 : 803 : }
6279 : :
6280 : : /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
6281 : : * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
6282 : : *
6283 : : */
6284 : 1363 : void SQLyy_flush_buffer (YY_BUFFER_STATE b )
6285 : : {
6286 [ + + ]: 1363 : if ( ! b )
6287 : 1363 : return;
6288 : :
6289 : 1354 : b->yy_n_chars = 0;
6290 : :
6291 : : /* We always need two end-of-buffer characters. The first causes
6292 : : * a transition to the end-of-buffer state. The second causes
6293 : : * a jam in that state.
6294 : : */
6295 : 1354 : b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
6296 : 1354 : b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
6297 : :
6298 : 1354 : b->yy_buf_pos = &b->yy_ch_buf[0];
6299 : :
6300 : 1354 : b->yy_at_bol = 1;
6301 : 1354 : b->yy_buffer_status = YY_BUFFER_NEW;
6302 : :
6303 [ + - ][ + + ]: 1354 : if ( b == YY_CURRENT_BUFFER )
6304 : 1345 : SQLyy_load_buffer_state( );
6305 : : }
6306 : :
6307 : : /** Pushes the new state onto the stack. The new state becomes
6308 : : * the current state. This function will allocate the stack
6309 : : * if necessary.
6310 : : * @param new_buffer The new state.
6311 : : *
6312 : : */
6313 : 0 : void SQLyypush_buffer_state (YY_BUFFER_STATE new_buffer )
6314 : : {
6315 [ # # ]: 0 : if (new_buffer == NULL)
6316 : 0 : return;
6317 : :
6318 : 0 : SQLyyensure_buffer_stack();
6319 : :
6320 : : /* This block is copied from SQLyy_switch_to_buffer. */
6321 [ # # ][ # # ]: 0 : if ( YY_CURRENT_BUFFER )
6322 : : {
6323 : : /* Flush out information for old buffer. */
6324 : 0 : *(yy_c_buf_p) = (yy_hold_char);
6325 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
6326 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
6327 : : }
6328 : :
6329 : : /* Only push if top exists. Otherwise, replace top. */
6330 [ # # ][ # # ]: 0 : if (YY_CURRENT_BUFFER)
6331 : 0 : (yy_buffer_stack_top)++;
6332 : 0 : YY_CURRENT_BUFFER_LVALUE = new_buffer;
6333 : :
6334 : : /* copied from SQLyy_switch_to_buffer. */
6335 : 0 : SQLyy_load_buffer_state( );
6336 : 0 : (yy_did_buffer_switch_on_eof) = 1;
6337 : : }
6338 : :
6339 : : /** Removes and deletes the top of the stack, if present.
6340 : : * The next element becomes the new top.
6341 : : *
6342 : : */
6343 : 0 : void SQLyypop_buffer_state (void)
6344 : : {
6345 [ # # ][ # # ]: 0 : if (!YY_CURRENT_BUFFER)
6346 : 0 : return;
6347 : :
6348 [ # # ]: 0 : SQLyy_delete_buffer(YY_CURRENT_BUFFER );
6349 : 0 : YY_CURRENT_BUFFER_LVALUE = NULL;
6350 [ # # ]: 0 : if ((yy_buffer_stack_top) > 0)
6351 : 0 : --(yy_buffer_stack_top);
6352 : :
6353 [ # # ][ # # ]: 0 : if (YY_CURRENT_BUFFER) {
6354 : 0 : SQLyy_load_buffer_state( );
6355 : 0 : (yy_did_buffer_switch_on_eof) = 1;
6356 : : }
6357 : : }
6358 : :
6359 : : /* Allocates the stack if it does not exist.
6360 : : * Guarantees space for at least one push.
6361 : : */
6362 : 9 : static void SQLyyensure_buffer_stack (void)
6363 : : {
6364 : : int num_to_alloc;
6365 : :
6366 [ + - ]: 9 : if (!(yy_buffer_stack)) {
6367 : :
6368 : : /* First allocation is just for 2 elements, since we don't know if this
6369 : : * scanner will even need a stack. We use 2 instead of 1 to avoid an
6370 : : * immediate realloc on the next call.
6371 : : */
6372 : 9 : num_to_alloc = 1;
6373 : : (yy_buffer_stack) = (struct yy_buffer_state**)SQLyyalloc
6374 : : (num_to_alloc * sizeof(struct yy_buffer_state*)
6375 : 9 : );
6376 [ - + ]: 9 : if ( ! (yy_buffer_stack) )
6377 : 0 : YY_FATAL_ERROR( "out of dynamic memory in SQLyyensure_buffer_stack()" );
6378 : :
6379 : 9 : memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
6380 : :
6381 : 9 : (yy_buffer_stack_max) = num_to_alloc;
6382 : 9 : (yy_buffer_stack_top) = 0;
6383 : 9 : return;
6384 : : }
6385 : :
6386 [ # # ]: 0 : if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
6387 : :
6388 : : /* Increase the buffer to prepare for a possible push. */
6389 : 0 : int grow_size = 8 /* arbitrary grow size */;
6390 : :
6391 : 0 : num_to_alloc = (yy_buffer_stack_max) + grow_size;
6392 : : (yy_buffer_stack) = (struct yy_buffer_state**)SQLyyrealloc
6393 : : ((yy_buffer_stack),
6394 : : num_to_alloc * sizeof(struct yy_buffer_state*)
6395 : 0 : );
6396 [ # # ]: 0 : if ( ! (yy_buffer_stack) )
6397 : 0 : YY_FATAL_ERROR( "out of dynamic memory in SQLyyensure_buffer_stack()" );
6398 : :
6399 : : /* zero only the new slots.*/
6400 : 0 : memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
6401 : 0 : (yy_buffer_stack_max) = num_to_alloc;
6402 : : }
6403 : : }
6404 : :
6405 : : /** Setup the input buffer state to scan directly from a user-specified character buffer.
6406 : : * @param base the character buffer
6407 : : * @param size the size in bytes of the character buffer
6408 : : *
6409 : : * @return the newly allocated buffer state object.
6410 : : */
6411 : 0 : YY_BUFFER_STATE SQLyy_scan_buffer (char * base, yy_size_t size )
6412 : : {
6413 : : YY_BUFFER_STATE b;
6414 : :
6415 [ # # ][ # # ]: 0 : if ( size < 2 ||
[ # # ]
6416 : 0 : base[size-2] != YY_END_OF_BUFFER_CHAR ||
6417 : 0 : base[size-1] != YY_END_OF_BUFFER_CHAR )
6418 : : /* They forgot to leave room for the EOB's. */
6419 : 0 : return 0;
6420 : :
6421 : 0 : b = (YY_BUFFER_STATE) SQLyyalloc(sizeof( struct yy_buffer_state ) );
6422 [ # # ]: 0 : if ( ! b )
6423 : 0 : YY_FATAL_ERROR( "out of dynamic memory in SQLyy_scan_buffer()" );
6424 : :
6425 : 0 : b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
6426 : 0 : b->yy_buf_pos = b->yy_ch_buf = base;
6427 : 0 : b->yy_is_our_buffer = 0;
6428 : 0 : b->yy_input_file = 0;
6429 : 0 : b->yy_n_chars = b->yy_buf_size;
6430 : 0 : b->yy_is_interactive = 0;
6431 : 0 : b->yy_at_bol = 1;
6432 : 0 : b->yy_fill_buffer = 0;
6433 : 0 : b->yy_buffer_status = YY_BUFFER_NEW;
6434 : :
6435 : 0 : SQLyy_switch_to_buffer(b );
6436 : :
6437 : 0 : return b;
6438 : : }
6439 : :
6440 : : /** Setup the input buffer state to scan a string. The next call to SQLyylex() will
6441 : : * scan from a @e copy of @a str.
6442 : : * @param yystr a NUL-terminated string to scan
6443 : : *
6444 : : * @return the newly allocated buffer state object.
6445 : : * @note If you want to scan bytes that may contain NUL values, then use
6446 : : * SQLyy_scan_bytes() instead.
6447 : : */
6448 : 0 : YY_BUFFER_STATE SQLyy_scan_string (yyconst char * yystr )
6449 : : {
6450 : :
6451 : 0 : return SQLyy_scan_bytes(yystr,strlen(yystr) );
6452 : : }
6453 : :
6454 : : /** Setup the input buffer state to scan the given bytes. The next call to SQLyylex() will
6455 : : * scan from a @e copy of @a bytes.
6456 : : * @param bytes the byte buffer to scan
6457 : : * @param len the number of bytes in the buffer pointed to by @a bytes.
6458 : : *
6459 : : * @return the newly allocated buffer state object.
6460 : : */
6461 : 0 : YY_BUFFER_STATE SQLyy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
6462 : : {
6463 : : YY_BUFFER_STATE b;
6464 : : char *buf;
6465 : : yy_size_t n;
6466 : : int i;
6467 : :
6468 : : /* Get memory for full buffer, including space for trailing EOB's. */
6469 : 0 : n = _yybytes_len + 2;
6470 : 0 : buf = (char *) SQLyyalloc(n );
6471 [ # # ]: 0 : if ( ! buf )
6472 : 0 : YY_FATAL_ERROR( "out of dynamic memory in SQLyy_scan_bytes()" );
6473 : :
6474 [ # # ]: 0 : for ( i = 0; i < _yybytes_len; ++i )
6475 : 0 : buf[i] = yybytes[i];
6476 : :
6477 : 0 : buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
6478 : :
6479 : 0 : b = SQLyy_scan_buffer(buf,n );
6480 [ # # ]: 0 : if ( ! b )
6481 : 0 : YY_FATAL_ERROR( "bad buffer in SQLyy_scan_bytes()" );
6482 : :
6483 : : /* It's okay to grow etc. this buffer, and we should throw it
6484 : : * away when we're done.
6485 : : */
6486 : 0 : b->yy_is_our_buffer = 1;
6487 : :
6488 : 0 : return b;
6489 : : }
6490 : :
6491 : : #ifndef YY_EXIT_FAILURE
6492 : : #define YY_EXIT_FAILURE 2
6493 : : #endif
6494 : :
6495 : 0 : static void yy_fatal_error (yyconst char* msg )
6496 : : {
6497 : 0 : (void) fprintf( stderr, "%s\n", msg );
6498 : 0 : exit( YY_EXIT_FAILURE );
6499 : : }
6500 : :
6501 : : /* Redefine yyless() so it works in section 3 code. */
6502 : :
6503 : : #undef yyless
6504 : : #define yyless(n) \
6505 : : do \
6506 : : { \
6507 : : /* Undo effects of setting up SQLyytext. */ \
6508 : : int yyless_macro_arg = (n); \
6509 : : YY_LESS_LINENO(yyless_macro_arg);\
6510 : : SQLyytext[SQLyyleng] = (yy_hold_char); \
6511 : : (yy_c_buf_p) = SQLyytext + yyless_macro_arg; \
6512 : : (yy_hold_char) = *(yy_c_buf_p); \
6513 : : *(yy_c_buf_p) = '\0'; \
6514 : : SQLyyleng = yyless_macro_arg; \
6515 : : } \
6516 : : while ( 0 )
6517 : :
6518 : : /* Accessor methods (get/set functions) to struct members. */
6519 : :
6520 : : /** Get the current line number.
6521 : : *
6522 : : */
6523 : 0 : int SQLyyget_lineno (void)
6524 : : {
6525 : :
6526 : 0 : return SQLyylineno;
6527 : : }
6528 : :
6529 : : /** Get the input stream.
6530 : : *
6531 : : */
6532 : 0 : FILE *SQLyyget_in (void)
6533 : : {
6534 : 0 : return SQLyyin;
6535 : : }
6536 : :
6537 : : /** Get the output stream.
6538 : : *
6539 : : */
6540 : 0 : FILE *SQLyyget_out (void)
6541 : : {
6542 : 0 : return SQLyyout;
6543 : : }
6544 : :
6545 : : /** Get the length of the current token.
6546 : : *
6547 : : */
6548 : 0 : int SQLyyget_leng (void)
6549 : : {
6550 : 0 : return SQLyyleng;
6551 : : }
6552 : :
6553 : : /** Get the current token.
6554 : : *
6555 : : */
6556 : :
6557 : 0 : char *SQLyyget_text (void)
6558 : : {
6559 : 0 : return SQLyytext;
6560 : : }
6561 : :
6562 : : /** Set the current line number.
6563 : : * @param line_number
6564 : : *
6565 : : */
6566 : 0 : void SQLyyset_lineno (int line_number )
6567 : : {
6568 : :
6569 : 0 : SQLyylineno = line_number;
6570 : 0 : }
6571 : :
6572 : : /** Set the input stream. This does not discard the current
6573 : : * input buffer.
6574 : : * @param in_str A readable stream.
6575 : : *
6576 : : * @see SQLyy_switch_to_buffer
6577 : : */
6578 : 0 : void SQLyyset_in (FILE * in_str )
6579 : : {
6580 : 0 : SQLyyin = in_str ;
6581 : 0 : }
6582 : :
6583 : 0 : void SQLyyset_out (FILE * out_str )
6584 : : {
6585 : 0 : SQLyyout = out_str ;
6586 : 0 : }
6587 : :
6588 : 0 : int SQLyyget_debug (void)
6589 : : {
6590 : 0 : return SQLyy_flex_debug;
6591 : : }
6592 : :
6593 : 0 : void SQLyyset_debug (int bdebug )
6594 : : {
6595 : 0 : SQLyy_flex_debug = bdebug ;
6596 : 0 : }
6597 : :
6598 : 0 : static int yy_init_globals (void)
6599 : : {
6600 : : /* Initialization is the same as for the non-reentrant scanner.
6601 : : * This function is called from SQLyylex_destroy(), so don't allocate here.
6602 : : */
6603 : :
6604 : 0 : (yy_buffer_stack) = 0;
6605 : 0 : (yy_buffer_stack_top) = 0;
6606 : 0 : (yy_buffer_stack_max) = 0;
6607 : 0 : (yy_c_buf_p) = (char *) 0;
6608 : 0 : (yy_init) = 0;
6609 : 0 : (yy_start) = 0;
6610 : :
6611 : : /* Defined in main.c */
6612 : : #ifdef YY_STDINIT
6613 : : SQLyyin = stdin;
6614 : : SQLyyout = stdout;
6615 : : #else
6616 : 0 : SQLyyin = (FILE *) 0;
6617 : 0 : SQLyyout = (FILE *) 0;
6618 : : #endif
6619 : :
6620 : : /* For future reference: Set errno on error, since we are called by
6621 : : * SQLyylex_init()
6622 : : */
6623 : 0 : return 0;
6624 : : }
6625 : :
6626 : : /* SQLyylex_destroy is for both reentrant and non-reentrant scanners. */
6627 : 0 : int SQLyylex_destroy (void)
6628 : : {
6629 : :
6630 : : /* Pop the buffer stack, destroying each element. */
6631 [ # # ][ # # ]: 0 : while(YY_CURRENT_BUFFER){
[ # # ]
6632 [ # # ]: 0 : SQLyy_delete_buffer(YY_CURRENT_BUFFER );
6633 : 0 : YY_CURRENT_BUFFER_LVALUE = NULL;
6634 : 0 : SQLyypop_buffer_state();
6635 : : }
6636 : :
6637 : : /* Destroy the stack itself. */
6638 : 0 : SQLyyfree((yy_buffer_stack) );
6639 : 0 : (yy_buffer_stack) = NULL;
6640 : :
6641 : : /* Reset the globals. This is important in a non-reentrant scanner so the next time
6642 : : * SQLyylex() is called, initialization will occur. */
6643 : 0 : yy_init_globals( );
6644 : :
6645 : 0 : return 0;
6646 : : }
6647 : :
6648 : : /*
6649 : : * Internal utility routines.
6650 : : */
6651 : :
6652 : : #ifndef yytext_ptr
6653 : : static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
6654 : : {
6655 : : register int i;
6656 : : for ( i = 0; i < n; ++i )
6657 : : s1[i] = s2[i];
6658 : : }
6659 : : #endif
6660 : :
6661 : : #ifdef YY_NEED_STRLEN
6662 : : static int yy_flex_strlen (yyconst char * s )
6663 : : {
6664 : : register int n;
6665 : : for ( n = 0; s[n]; ++n )
6666 : : ;
6667 : :
6668 : : return n;
6669 : : }
6670 : : #endif
6671 : :
6672 : 27 : void *SQLyyalloc (yy_size_t size )
6673 : : {
6674 : 27 : return (void *) malloc( size );
6675 : : }
6676 : :
6677 : 0 : void *SQLyyrealloc (void * ptr, yy_size_t size )
6678 : : {
6679 : : /* The cast to (char *) in the following accommodates both
6680 : : * implementations that use char* generic pointers, and those
6681 : : * that use void* generic pointers. It works with the latter
6682 : : * because both ANSI C and C++ allow castless assignment from
6683 : : * any pointer type to void*, and deal with argument conversions
6684 : : * as though doing an assignment.
6685 : : */
6686 : 0 : return (void *) realloc( (char *) ptr, size );
6687 : : }
6688 : :
6689 : 0 : void SQLyyfree (void * ptr )
6690 : : {
6691 : 0 : free( (char *) ptr ); /* see SQLyyrealloc() for (char *) cast */
6692 : 0 : }
6693 : :
6694 : : #define YYTABLES_NAME "yytables"
6695 : :
6696 : : // Kludge around a bug (well, Posix incompatibility) in flex 2.5.x
6697 : : // http://bugs.debian.org/cgi-bin/bugreport.cgi?archive=no&bug=189332
6698 : : #if YY_FLEX_MAJOR_VERSION >= 2 && YY_FLEX_MINOR_VERSION >= 5
6699 : :
6700 : : #ifndef YY_FLUSH_BUFFER
6701 : : #define YY_FLUSH_BUFFER SQLyy_flush_buffer(YY_CURRENT_BUFFER )
6702 : : #endif
6703 : :
6704 : : #ifndef yytext_ptr
6705 : : #define yytext_ptr SQLyytext
6706 : : #endif
6707 : :
6708 : : #endif
6709 : :
6710 : : // Versions of flex apparently differ in whether input() resp. yyinput() returns
6711 : : // zero or EOF upon end of file:
6712 [ + - ][ + + ]: 25430 : inline bool checkeof(int c) { return c == 0 || c == EOF; }
6713 : :
6714 : : /*
6715 : : * Read SQL string literal
6716 : : * Valid strings:
6717 : : * '' 'a string' 'quote '' within string'
6718 : : * "" "a string" "quote "" within string"
6719 : : * nTyp == 0 -> SQL_NODE_NAME
6720 : : * nTyp == 1 -> SQL_NODE_STRING
6721 : : * nTyp == 2 -> SQL_NODE_ACCESS_DATE
6722 : : */
6723 : 3542 : sal_Int32 gatherString(int delim, sal_Int32 nTyp)
6724 : : {
6725 : : int ch;
6726 : 3542 : ::rtl::OStringBuffer sBuffer(256);
6727 : :
6728 [ + - ][ + - ]: 21888 : while (!checkeof(ch = yyinput()))
6729 : : {
6730 [ + + ]: 21888 : if (ch == delim)
6731 : : {
6732 [ + - ][ + - ]: 3542 : if ((ch = yyinput()) != delim)
6733 : : {
6734 [ + + ]: 3542 : if (!checkeof(ch))
6735 [ + - ]: 3306 : unput(ch);
6736 : :
6737 [ + + - - ]: 3542 : switch(nTyp)
6738 : : {
6739 : : case 0:
6740 [ + - ][ + - ]: 2410 : SQL_NEW_NODE(::rtl::OStringToOUString(sBuffer.makeStringAndClear(),RTL_TEXTENCODING_UTF8), SQL_NODE_NAME);
[ + - ]
6741 : 2410 : return SQL_TOKEN_NAME;
6742 : : case 1:
6743 [ + - ][ + - ]: 1132 : SQL_NEW_NODE(::rtl::OStringToOUString(sBuffer.makeStringAndClear(),RTL_TEXTENCODING_UTF8), SQL_NODE_STRING);
[ + - ]
6744 : 1132 : return SQL_TOKEN_STRING;
6745 : : case 2:
6746 [ # # ][ # # ]: 0 : SQL_NEW_NODE(::rtl::OStringToOUString(sBuffer.makeStringAndClear(),RTL_TEXTENCODING_UTF8), SQL_NODE_ACCESS_DATE);
[ # # ]
6747 : 0 : return SQL_TOKEN_ACCESS_DATE;
6748 : : }
6749 : : }
6750 : : else
6751 : : {
6752 [ # # ]: 0 : sBuffer.append(static_cast<sal_Char>(ch));
6753 : : }
6754 : :
6755 : : }
6756 [ + + ][ + - ]: 18346 : else if (nTyp != 1 && (ch == '\r' || ch == '\n') )
[ - + ]
6757 : 0 : break;
6758 : : else
6759 : : {
6760 [ + - ]: 18346 : sBuffer.append(static_cast<sal_Char>(ch));
6761 : : }
6762 : : }
6763 [ # # ]: 0 : YY_FATAL_ERROR("Unterminated name string");
6764 : 3542 : return SQL_TOKEN_INVALIDSYMBOL;
6765 : : }
6766 : :
6767 : 0 : sal_Int32 mapEnumToToken(IParseContext::InternationalKeyCode _eKeyCode )
6768 : : {
6769 : 0 : sal_Int32 nTokenID = 0;
6770 [ # # # # : 0 : switch( _eKeyCode )
# # # # #
# # # # #
# # # # #
# # # # #
# ]
6771 : : {
6772 : 0 : case IParseContext::KEY_LIKE: nTokenID = SQL_TOKEN_LIKE; break;
6773 : 0 : case IParseContext::KEY_NOT: nTokenID = SQL_TOKEN_NOT; break;
6774 : 0 : case IParseContext::KEY_NULL: nTokenID = SQL_TOKEN_NULL; break;
6775 : 0 : case IParseContext::KEY_TRUE: nTokenID = SQL_TOKEN_TRUE; break;
6776 : 0 : case IParseContext::KEY_FALSE: nTokenID = SQL_TOKEN_FALSE; break;
6777 : 0 : case IParseContext::KEY_IS: nTokenID = SQL_TOKEN_IS; break;
6778 : 0 : case IParseContext::KEY_BETWEEN: nTokenID = SQL_TOKEN_BETWEEN; break;
6779 : 0 : case IParseContext::KEY_OR: nTokenID = SQL_TOKEN_OR; break;
6780 : 0 : case IParseContext::KEY_AND: nTokenID = SQL_TOKEN_AND; break;
6781 : 0 : case IParseContext::KEY_AVG: nTokenID = SQL_TOKEN_AVG; break;
6782 : 0 : case IParseContext::KEY_COUNT: nTokenID = SQL_TOKEN_COUNT; break;
6783 : 0 : case IParseContext::KEY_MAX: nTokenID = SQL_TOKEN_MAX; break;
6784 : 0 : case IParseContext::KEY_MIN: nTokenID = SQL_TOKEN_MIN; break;
6785 : 0 : case IParseContext::KEY_SUM: nTokenID = SQL_TOKEN_SUM; break;
6786 : 0 : case IParseContext::KEY_EVERY: nTokenID = SQL_TOKEN_EVERY; break;
6787 : 0 : case IParseContext::KEY_ANY: nTokenID = SQL_TOKEN_ANY; break;
6788 : 0 : case IParseContext::KEY_SOME: nTokenID = SQL_TOKEN_SOME; break;
6789 : 0 : case IParseContext::KEY_STDDEV_POP: nTokenID = SQL_TOKEN_STDDEV_POP; break;
6790 : 0 : case IParseContext::KEY_STDDEV_SAMP: nTokenID = SQL_TOKEN_STDDEV_SAMP; break;
6791 : 0 : case IParseContext::KEY_VAR_SAMP: nTokenID = SQL_TOKEN_VAR_SAMP; break;
6792 : 0 : case IParseContext::KEY_VAR_POP: nTokenID = SQL_TOKEN_VAR_POP; break;
6793 : 0 : case IParseContext::KEY_COLLECT: nTokenID = SQL_TOKEN_COLLECT; break;
6794 : 0 : case IParseContext::KEY_FUSION: nTokenID = SQL_TOKEN_FUSION; break;
6795 : 0 : case IParseContext::KEY_INTERSECTION: nTokenID = SQL_TOKEN_INTERSECTION; break;
6796 : : default:
6797 : : OSL_FAIL( "mapEnumToToken: unsupported key!" );
6798 : : }
6799 : 0 : return nTokenID;
6800 : : }
6801 : : /*
6802 : : * Read SQL Name literal
6803 : : * Valid Names or international keywords:
6804 : : * As we have international keywords, we test first on them
6805 : : */
6806 : 218 : sal_Int32 gatherName(const sal_Char* text)
6807 : : {
6808 : : sal_Int32 nToken;
6809 : : OSL_ENSURE(xxx_pGLOBAL_SQLSCAN,"You forgot to set the scanner!");
6810 : 218 : IParseContext::InternationalKeyCode eKeyCode = xxx_pGLOBAL_SQLSCAN->getInternationalTokenID(text);
6811 [ - + ]: 218 : switch (eKeyCode)
6812 : : {
6813 : : case IParseContext::KEY_LIKE:
6814 : : case IParseContext::KEY_NOT:
6815 : : case IParseContext::KEY_NULL:
6816 : : case IParseContext::KEY_TRUE:
6817 : : case IParseContext::KEY_FALSE:
6818 : : case IParseContext::KEY_IS:
6819 : : case IParseContext::KEY_BETWEEN:
6820 : : case IParseContext::KEY_OR:
6821 : : case IParseContext::KEY_AND:
6822 : : case IParseContext::KEY_COUNT:
6823 : : case IParseContext::KEY_AVG:
6824 : : case IParseContext::KEY_MAX:
6825 : : case IParseContext::KEY_MIN:
6826 : : case IParseContext::KEY_SUM:
6827 : : case IParseContext::KEY_EVERY:
6828 : : case IParseContext::KEY_ANY:
6829 : : case IParseContext::KEY_SOME:
6830 : : case IParseContext::KEY_STDDEV_POP:
6831 : : case IParseContext::KEY_STDDEV_SAMP:
6832 : : case IParseContext::KEY_VAR_SAMP:
6833 : : case IParseContext::KEY_VAR_POP:
6834 : : case IParseContext::KEY_COLLECT:
6835 : : case IParseContext::KEY_FUSION:
6836 : : case IParseContext::KEY_INTERSECTION:
6837 : 0 : nToken = mapEnumToToken(eKeyCode);
6838 [ # # ]: 0 : SQL_NEW_KEYWORD(nToken);
6839 : : break;
6840 : : default:
6841 [ + - ][ + - ]: 218 : SQL_NEW_NODE(::rtl::OUString(text,strlen(text),RTL_TEXTENCODING_UTF8), SQL_NODE_NAME);
6842 : 218 : return SQL_TOKEN_NAME;
6843 : : }
6844 : : }
6845 : : /**
6846 : : Read SQL Name literal for predicate check
6847 : : Valid Names or internatioanl keywords:
6848 : : As we have international keywords, we test first on them
6849 : : */
6850 : 72 : sal_Int32 gatherNamePre(const sal_Char* text)
6851 : : {
6852 : : sal_Int32 nToken;
6853 : : OSL_ENSURE(xxx_pGLOBAL_SQLSCAN,"You forgot to set the scanner!");
6854 : 72 : IParseContext::InternationalKeyCode eKeyCode = xxx_pGLOBAL_SQLSCAN->getInternationalTokenID(text);
6855 [ - + ]: 72 : switch (eKeyCode)
6856 : : {
6857 : : case IParseContext::KEY_LIKE:
6858 : : case IParseContext::KEY_NOT:
6859 : : case IParseContext::KEY_NULL:
6860 : : case IParseContext::KEY_TRUE:
6861 : : case IParseContext::KEY_FALSE:
6862 : : case IParseContext::KEY_IS:
6863 : : case IParseContext::KEY_BETWEEN:
6864 : : case IParseContext::KEY_OR:
6865 : : case IParseContext::KEY_AND:
6866 : : case IParseContext::KEY_COUNT:
6867 : : case IParseContext::KEY_AVG:
6868 : : case IParseContext::KEY_MAX:
6869 : : case IParseContext::KEY_MIN:
6870 : : case IParseContext::KEY_SUM:
6871 : : case IParseContext::KEY_EVERY:
6872 : : case IParseContext::KEY_ANY:
6873 : : case IParseContext::KEY_SOME:
6874 : : case IParseContext::KEY_STDDEV_POP:
6875 : : case IParseContext::KEY_STDDEV_SAMP:
6876 : : case IParseContext::KEY_VAR_SAMP:
6877 : : case IParseContext::KEY_VAR_POP:
6878 : : case IParseContext::KEY_COLLECT:
6879 : : case IParseContext::KEY_FUSION:
6880 : : case IParseContext::KEY_INTERSECTION:
6881 : 0 : nToken = mapEnumToToken(eKeyCode);
6882 [ # # ]: 0 : SQL_NEW_KEYWORD(nToken);
6883 : : break;
6884 : : default:
6885 : : // we need a special handling for parameter
6886 : : {
6887 : 72 : ::rtl::OString sStmt = xxx_pGLOBAL_SQLSCAN->getStatement();
6888 : 72 : sal_Int32 nLength = strlen(text);
6889 : 72 : sal_Int32 nPos = xxx_pGLOBAL_SQLSCAN->GetCurrentPos() - nLength - 2;
6890 [ - + ]: 72 : if (sStmt.getStr()[nPos] == ':')
6891 : : {
6892 [ # # ][ # # ]: 0 : SQL_NEW_NODE(::rtl::OUString(text,nLength,RTL_TEXTENCODING_UTF8), SQL_NODE_NAME);
[ # # ]
6893 : 0 : nToken = SQL_TOKEN_NAME;
6894 : : }
6895 : : else
6896 : : {
6897 [ + - ][ + - ]: 72 : SQL_NEW_NODE(::rtl::OUString(text,nLength,RTL_TEXTENCODING_UTF8), SQL_NODE_STRING);
[ + - ]
6898 : 72 : nToken = SQL_TOKEN_STRING;
6899 : 72 : }
6900 : : }
6901 : : }
6902 : 72 : return nToken;
6903 : : }
6904 : :
6905 : : using namespace connectivity;
6906 : :
6907 : : static bool IN_SQLyyerror;
6908 : : //------------------------------------------------------------------------------
6909 : 52 : OSQLScanner::OSQLScanner()
6910 : : : m_pContext(NULL)
6911 : : , m_nCurrentPos(0)
6912 : : , m_bInternational(sal_False)
6913 : 52 : , m_nRule(0) // 0 is INITIAL
6914 : : {
6915 : 52 : IN_SQLyyerror = false;
6916 : 52 : }
6917 : :
6918 : : //------------------------------------------------------------------------------
6919 : 52 : OSQLScanner::~OSQLScanner()
6920 : : {
6921 [ - + ]: 104 : }
6922 : : //------------------------------------------------------------------------------
6923 : 0 : void OSQLScanner::SQLyyerror(sal_Char *fmt)
6924 : : {
6925 : :
6926 [ # # ]: 0 : if(IN_SQLyyerror)
6927 : 0 : return;
6928 : 0 : IN_SQLyyerror = true;
6929 : :
6930 : : OSL_ENSURE(m_pContext, "OSQLScanner::SQLyyerror: No Context set");
6931 : 0 : m_sErrorMessage = ::rtl::OUString(fmt,strlen(fmt),RTL_TEXTENCODING_UTF8);
6932 [ # # ]: 0 : if (m_nCurrentPos < m_sStatement.getLength())
6933 : : {
6934 : 0 : m_sErrorMessage += ::rtl::OUString(": ");
6935 : :
6936 : 0 : ::rtl::OUString aError;
6937 : : static sal_Int32 BUFFERSIZE = 256;
6938 : : static sal_Char* Buffer = 0;
6939 [ # # ]: 0 : if(!Buffer)
6940 [ # # ]: 0 : Buffer = new sal_Char[BUFFERSIZE];
6941 : :
6942 : 0 : sal_Char *s = Buffer;
6943 : 0 : sal_Int32 nPos = 1;
6944 [ # # ][ # # ]: 0 : int ch = SQLyytext ? (SQLyytext[0] == 0 ? ' ' : SQLyytext[0]): ' ';
6945 : 0 : *s++ = ch;
6946 [ # # ][ # # ]: 0 : while (!checkeof(ch = yyinput()))
6947 : : {
6948 [ # # ]: 0 : if (ch == ' ')
6949 : : {
6950 [ # # ][ # # ]: 0 : if ((ch = yyinput()) != ' ')
6951 : : {
6952 [ # # ]: 0 : if (!checkeof(ch))
6953 [ # # ]: 0 : unput(ch);
6954 : : }
6955 : 0 : *s = '\0';
6956 [ # # ]: 0 : aError = ::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8);
6957 : 0 : break;
6958 : : }
6959 : : else
6960 : : {
6961 : 0 : *s++ = ch;
6962 [ # # ]: 0 : if (++nPos == BUFFERSIZE)
6963 : : {
6964 : 0 : ::rtl::OString aBuf(Buffer);
6965 [ # # ]: 0 : delete[] Buffer;
6966 : 0 : BUFFERSIZE *=2;
6967 [ # # ]: 0 : Buffer = new sal_Char[BUFFERSIZE];
6968 [ # # ]: 0 : for(sal_Int32 i=0;i<aBuf.getLength();++i,++Buffer)
6969 : 0 : *Buffer = aBuf.getStr()[i];
6970 : 0 : s = &Buffer[nPos];
6971 : : }
6972 : : }
6973 : : }
6974 : 0 : m_sErrorMessage += aError;
6975 [ # # ]: 0 : delete[] Buffer;
6976 : 0 : Buffer = NULL;
6977 : : }
6978 : 0 : IN_SQLyyerror = false;
6979 [ # # ]: 0 : YY_FLUSH_BUFFER;
6980 : : }
6981 : :
6982 : : //------------------------------------------------------------------------------
6983 : 560 : void OSQLScanner::prepareScan(const ::rtl::OUString & rNewStatement, const IParseContext* pContext, sal_Bool bInternational)
6984 : : {
6985 [ + + ]: 560 : YY_FLUSH_BUFFER;
6986 : 560 : BEGIN(m_nRule);
6987 : :
6988 : 560 : m_sErrorMessage = ::rtl::OUString();
6989 : 560 : m_sStatement = ::rtl::OUStringToOString(rNewStatement, RTL_TEXTENCODING_UTF8);
6990 : 560 : m_nCurrentPos = 0;
6991 : 560 : m_bInternational = bInternational;
6992 : 560 : m_pContext = pContext;
6993 : 560 : }
6994 : :
6995 : : //------------------------------------------------------------------------------
6996 : 52790 : sal_Int32 OSQLScanner::SQLyygetc(void)
6997 : : {
6998 [ + + ]: 52790 : sal_Int32 nPos = (m_nCurrentPos >= m_sStatement.getLength()) ? EOF : m_sStatement.getStr()[m_nCurrentPos];
6999 : 52790 : m_nCurrentPos++;
7000 : 52790 : return nPos;
7001 : : }
7002 : :
7003 : : //------------------------------------------------------------------------------
7004 : 290 : IParseContext::InternationalKeyCode OSQLScanner::getInternationalTokenID(const sal_Char* sToken) const
7005 : : {
7006 : : OSL_ENSURE(m_pContext, "OSQLScanner::getInternationalTokenID: No Context set");
7007 [ + + ][ + - ]: 290 : return (m_bInternational) ? m_pContext->getIntlKeyCode(::rtl::OString(sToken) ) : IParseContext::KEY_NONE;
[ + + ][ + + ]
[ # # # # ]
7008 : : }
7009 : : // -------------------------------------------------------------------------
7010 : 0 : sal_Int32 OSQLScanner::GetGERRule() const { return PREDICATE_GER; }
7011 : 0 : sal_Int32 OSQLScanner::GetENGRule() const { return PREDICATE_ENG; }
7012 : 488 : sal_Int32 OSQLScanner::GetSQLRule() const { return SQL; }
7013 : 0 : sal_Int32 OSQLScanner::GetDATERule() const { return DATE; }
7014 : 72 : sal_Int32 OSQLScanner::GetSTRINGRule() const { return STRING; }
7015 : : // -------------------------------------------------------------------------
7016 : 104 : void OSQLScanner::setScanner(sal_Bool _bNull)
7017 : : {
7018 [ + + ]: 104 : xxx_pGLOBAL_SQLSCAN = _bNull ? NULL : this;
7019 : 104 : }
7020 : : // -------------------------------------------------------------------------
7021 : 11662 : sal_Int32 OSQLScanner::SQLlex()
7022 : : {
7023 : 11662 : return SQLyylex();
7024 [ + - ][ + - ]: 168 : }
7025 : :
7026 : : #if defined __SUNPRO_CC
7027 : : #pragma enable_warn
7028 : : #elif defined _MSC_VER
7029 : : #pragma warning(pop)
7030 : : #endif
7031 : :
|